From 895a376c7dedeafa1dc5e25beca6000b0f40f41b Mon Sep 17 00:00:00 2001 From: Abdul Rahim Date: Mon, 23 Mar 2026 19:07:38 +0530 Subject: [PATCH 001/133] FISH-13115 update nexus registry creds --- .github/dependabot.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index bb4d4ab7031..08819c5eef6 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,8 +1,18 @@ version: 2 + +registries: + payara-private-nexus: + type: maven-repository + url: https://nexus.dev.payara.fish/repository/payara-enterprise-artifacts-private + username: ${{secrets.PAYARA_NEXUS_USERNAME}} + password: ${{secrets.PAYARA_NEXUS_PASSWORD}} + updates: # Configuration for Maven - package-ecosystem: "maven" directory: "/" # Location of package manifests + registries: + - payara-private-nexus schedule: interval: "daily" open-pull-requests-limit: 5 From 86359db1aeedcc6add112390b3de41fda44f46ef Mon Sep 17 00:00:00 2001 From: Abdul Rahim Date: Thu, 2 Apr 2026 18:51:09 +0530 Subject: [PATCH 002/133] FISH-13115 update ignore rule --- .github/dependabot.yml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 08819c5eef6..e194871b369 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,18 +1,8 @@ version: 2 - -registries: - payara-private-nexus: - type: maven-repository - url: https://nexus.dev.payara.fish/repository/payara-enterprise-artifacts-private - username: ${{secrets.PAYARA_NEXUS_USERNAME}} - password: ${{secrets.PAYARA_NEXUS_PASSWORD}} - updates: # Configuration for Maven - package-ecosystem: "maven" directory: "/" # Location of package manifests - registries: - - payara-private-nexus schedule: interval: "daily" open-pull-requests-limit: 5 @@ -30,6 +20,12 @@ updates: - dependency-name: "fish.payara.*" update-types: ["version-update:semver-major"] + - dependency-name: "*payara-px*" + update-types: + - "version-update:semver-major" + - "version-update:semver-minor" + - "version-update:semver-patch" + # Ignore major version updates for individual dependencies within the org.eclipse.persistence group - dependency-name: "org.eclipse.persistence:org.eclipse.persistence.core" update-types: ["version-update:semver-major"] From 619b32681f707391e61a5221001618b63301bfb6 Mon Sep 17 00:00:00 2001 From: adrian Date: Wed, 8 Apr 2026 06:58:34 +0300 Subject: [PATCH 003/133] FISH-13275: when a stage is unstable don't fail the whole build. --- Jenkinsfile | 238 ++++++++++++++++++++++++++++------------------------ 1 file changed, 130 insertions(+), 108 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 50e37c1d696..d65e1a17767 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -131,16 +131,18 @@ pipeline { } steps { echo '*#*#*#*#*#*#*#*#*#*#*#*# Running MP Config TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - build job: 'TCKs/MP-TCKs', - parameters: [ - string(name: 'buildProject', value: "Build"), - string(name: 'payaraBuildNumber', value: buildId), - string(name: 'repoOrg', value: 'payara'), - string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), - string(name: 'suites', value: 'Config'), - string(name: 'jdkVer', value: 'zulu-21'), - string(name: 'distribution', value: 'full') - ] + catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') { + build job: 'TCKs/MP-TCKs', + parameters: [ + string(name: 'buildProject', value: "Build"), + string(name: 'payaraBuildNumber', value: buildId), + string(name: 'repoOrg', value: 'payara'), + string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), + string(name: 'suites', value: 'Config'), + string(name: 'jdkVer', value: 'zulu-21'), + string(name: 'distribution', value: 'full') + ] + } echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran MP Config TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } } @@ -150,16 +152,18 @@ pipeline { } steps { echo '*#*#*#*#*#*#*#*#*#*#*#*# Running MP Fault Tolerance TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - build job: 'TCKs/MP-TCKs', - parameters: [ - string(name: 'buildProject', value: 'Build'), - string(name: 'payaraBuildNumber', value: buildId), - string(name: 'repoOrg', value: 'payara'), - string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), - string(name: 'suites', value: 'Fault-Tolerance'), - string(name: 'jdkVer', value: 'zulu-21'), - string(name: 'distribution', value: 'full') - ] + catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') { + build job: 'TCKs/MP-TCKs', + parameters: [ + string(name: 'buildProject', value: 'Build'), + string(name: 'payaraBuildNumber', value: buildId), + string(name: 'repoOrg', value: 'payara'), + string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), + string(name: 'suites', value: 'Fault-Tolerance'), + string(name: 'jdkVer', value: 'zulu-21'), + string(name: 'distribution', value: 'full') + ] + } echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran MP Fault Tolerance TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } } @@ -169,16 +173,18 @@ pipeline { } steps { echo '*#*#*#*#*#*#*#*#*#*#*#*# Running MP Health TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - build job: 'TCKs/MP-TCKs', - parameters: [ - string(name: 'buildProject', value: 'Build'), - string(name: 'payaraBuildNumber', value: buildId), - string(name: 'repoOrg', value: 'payara'), - string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), - string(name: 'suites', value: 'Health'), - string(name: 'jdkVer', value: 'zulu-21'), - string(name: 'distribution', value: 'full') - ] + catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') { + build job: 'TCKs/MP-TCKs', + parameters: [ + string(name: 'buildProject', value: 'Build'), + string(name: 'payaraBuildNumber', value: buildId), + string(name: 'repoOrg', value: 'payara'), + string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), + string(name: 'suites', value: 'Health'), + string(name: 'jdkVer', value: 'zulu-21'), + string(name: 'distribution', value: 'full') + ] + } echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran MP Health TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } } @@ -188,16 +194,18 @@ pipeline { } steps { echo '*#*#*#*#*#*#*#*#*#*#*#*# Running MP JWT Auth TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - build job: 'TCKs/MP-TCKs', - parameters: [ - string(name: 'buildProject', value: 'Build'), - string(name: 'payaraBuildNumber', value: buildId), - string(name: 'repoOrg', value: 'payara'), - string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), - string(name: 'suites', value: 'JWT-Auth'), - string(name: 'jdkVer', value: 'zulu-21'), - string(name: 'distribution', value: 'full') - ] + catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') { + build job: 'TCKs/MP-TCKs', + parameters: [ + string(name: 'buildProject', value: 'Build'), + string(name: 'payaraBuildNumber', value: buildId), + string(name: 'repoOrg', value: 'payara'), + string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), + string(name: 'suites', value: 'JWT-Auth'), + string(name: 'jdkVer', value: 'zulu-21'), + string(name: 'distribution', value: 'full') + ] + } echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran MP JWT Auth TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } } @@ -207,16 +215,18 @@ pipeline { } steps { echo '*#*#*#*#*#*#*#*#*#*#*#*# Running MP Metrics TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - build job: 'TCKs/MP-TCKs', - parameters: [ - string(name: 'buildProject', value: 'Build'), - string(name: 'payaraBuildNumber', value: buildId), - string(name: 'repoOrg', value: 'payara'), - string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), - string(name: 'suites', value: 'Metrics'), - string(name: 'jdkVer', value: 'zulu-21'), - string(name: 'distribution', value: 'full') - ] + catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') { + build job: 'TCKs/MP-TCKs', + parameters: [ + string(name: 'buildProject', value: 'Build'), + string(name: 'payaraBuildNumber', value: buildId), + string(name: 'repoOrg', value: 'payara'), + string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), + string(name: 'suites', value: 'Metrics'), + string(name: 'jdkVer', value: 'zulu-21'), + string(name: 'distribution', value: 'full') + ] + } echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran MP Metrics TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } } @@ -226,16 +236,18 @@ pipeline { } steps { echo '*#*#*#*#*#*#*#*#*#*#*#*# Running MP OpenAPI TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - build job: 'TCKs/MP-TCKs', - parameters: [ - string(name: 'buildProject', value: 'Build'), - string(name: 'payaraBuildNumber', value: buildId), - string(name: 'repoOrg', value: 'payara'), - string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), - string(name: 'suites', value: 'OpenAPI'), - string(name: 'jdkVer', value: 'zulu-21'), - string(name: 'distribution', value: 'full') - ] + catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') { + build job: 'TCKs/MP-TCKs', + parameters: [ + string(name: 'buildProject', value: 'Build'), + string(name: 'payaraBuildNumber', value: buildId), + string(name: 'repoOrg', value: 'payara'), + string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), + string(name: 'suites', value: 'OpenAPI'), + string(name: 'jdkVer', value: 'zulu-21'), + string(name: 'distribution', value: 'full') + ] + } echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran MP OpenAPI TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } } @@ -245,16 +257,18 @@ pipeline { } steps { echo '*#*#*#*#*#*#*#*#*#*#*#*# Running MP OpenTelemetry Tracing TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - build job: 'TCKs/MP-TCKs', - parameters: [ - string(name: 'buildProject', value: 'Build'), - string(name: 'payaraBuildNumber', value: buildId), - string(name: 'repoOrg', value: 'payara'), - string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), - string(name: 'suites', value: 'OpenTelemetry-Tracing'), - string(name: 'jdkVer', value: 'zulu-21'), - string(name: 'distribution', value: 'full') - ] + catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') { + build job: 'TCKs/MP-TCKs', + parameters: [ + string(name: 'buildProject', value: 'Build'), + string(name: 'payaraBuildNumber', value: buildId), + string(name: 'repoOrg', value: 'payara'), + string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), + string(name: 'suites', value: 'OpenTelemetry-Tracing'), + string(name: 'jdkVer', value: 'zulu-21'), + string(name: 'distribution', value: 'full') + ] + } echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran MP OpenTelemetry Tracing TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } } @@ -264,16 +278,18 @@ pipeline { } steps { echo '*#*#*#*#*#*#*#*#*#*#*#*# Running MP OpenTracing TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - build job: 'TCKs/MP-TCKs', - parameters: [ - string(name: 'buildProject', value: 'Build'), - string(name: 'payaraBuildNumber', value: buildId), - string(name: 'repoOrg', value: 'payara'), - string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), - string(name: 'suites', value: 'OpenTracing'), - string(name: 'jdkVer', value: 'zulu-21'), - string(name: 'distribution', value: 'full') - ] + catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') { + build job: 'TCKs/MP-TCKs', + parameters: [ + string(name: 'buildProject', value: 'Build'), + string(name: 'payaraBuildNumber', value: buildId), + string(name: 'repoOrg', value: 'payara'), + string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), + string(name: 'suites', value: 'OpenTracing'), + string(name: 'jdkVer', value: 'zulu-21'), + string(name: 'distribution', value: 'full') + ] + } echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran MP OpenTracing TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } } @@ -283,16 +299,18 @@ pipeline { } steps { echo '*#*#*#*#*#*#*#*#*#*#*#*# Running MP REST Client TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - build job: 'TCKs/MP-TCKs', - parameters: [ - string(name: 'buildProject', value: 'Build'), - string(name: 'payaraBuildNumber', value: buildId), - string(name: 'repoOrg', value: 'payara'), - string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), - string(name: 'suites', value: 'Rest-Client'), - string(name: 'jdkVer', value: 'zulu-21'), - string(name: 'distribution', value: 'full') - ] + catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') { + build job: 'TCKs/MP-TCKs', + parameters: [ + string(name: 'buildProject', value: 'Build'), + string(name: 'payaraBuildNumber', value: buildId), + string(name: 'repoOrg', value: 'payara'), + string(name: 'testBranchCommitOrTag', value: 'microprofile-6.1-Payara7'), + string(name: 'suites', value: 'Rest-Client'), + string(name: 'jdkVer', value: 'zulu-21'), + string(name: 'distribution', value: 'full') + ] + } echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran MP REST Client TCK *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } } @@ -305,15 +323,17 @@ pipeline { } steps { echo '*#*#*#*#*#*#*#*#*#*#*#*# Running EE8 tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - build job: 'Miscellaneous/Run-EE8-Samples', - parameters: [ - string(name: 'payaraBuildNumber', value: "${buildId}"), - string(name: 'buildProject', value: "Build/Build"), - string(name: 'repoOrg', value: 'Payara'), - string(name: 'buildSpecificBranchCommitOrTag', value: 'Payara7'), - string(name: 'jdkChoice', value: 'zulu-21'), - string(name: 'arquillianProfile', value: 'payara-server-remote') - ] + catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') { + build job: 'Miscellaneous/Run-EE8-Samples', + parameters: [ + string(name: 'payaraBuildNumber', value: "${buildId}"), + string(name: 'buildProject', value: "Build/Build"), + string(name: 'repoOrg', value: 'Payara'), + string(name: 'buildSpecificBranchCommitOrTag', value: 'Payara7'), + string(name: 'jdkChoice', value: 'zulu-21'), + string(name: 'arquillianProfile', value: 'payara-server-remote') + ] + } echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran test *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } } @@ -347,15 +367,17 @@ pipeline { } steps { echo '*#*#*#*#*#*#*#*#*#*#*#*# Running EE7 tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - build job: 'Miscellaneous/Run-EE7-Samples', - parameters: [ - string(name: 'payaraBuildNumber', value: "${buildId}"), - string(name: 'buildProject', value: "Build/Build"), - string(name: 'repoOrg', value: 'Payara'), - string(name: 'buildSpecificBranchCommitOrTag', value: 'Payara7'), - string(name: 'jdkChoice', value: 'zulu-21'), - string(name: 'arquillianProfile', value: 'payara-server-remote') - ] + catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') { + build job: 'Miscellaneous/Run-EE7-Samples', + parameters: [ + string(name: 'payaraBuildNumber', value: "${buildId}"), + string(name: 'buildProject', value: "Build/Build"), + string(name: 'repoOrg', value: 'Payara'), + string(name: 'buildSpecificBranchCommitOrTag', value: 'Payara7'), + string(name: 'jdkChoice', value: 'zulu-21'), + string(name: 'arquillianProfile', value: 'payara-server-remote') + ] + } echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran test *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } } From a157c7703d8cbc2f8f9b137fbd8c419eb21fbe30 Mon Sep 17 00:00:00 2001 From: adrian Date: Wed, 8 Apr 2026 09:38:04 +0300 Subject: [PATCH 004/133] FISH-13275: added post stage to handle unstable statuses --- Jenkinsfile | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index d65e1a17767..cea0bab5dd1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -438,6 +438,16 @@ pipeline { } } } + post { + unsuccessful { + script { + if (currentBuild.result == 'UNSTABLE') { + currentBuild.result = 'SUCCESS' + echo "Build result changed from UNSTABLE to SUCCESS for GitHub reporting" + } + } + } + } } void makeDomain() { From 3f470309aa847ad1a12b4a705e30c8c9eb702adc Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Thu, 9 Apr 2026 16:25:23 +0100 Subject: [PATCH 005/133] Make Data sample a WAR Signed-off-by: Andrew Pielage --- appserver/tests/payara-samples/samples/data/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/payara-samples/samples/data/pom.xml b/appserver/tests/payara-samples/samples/data/pom.xml index 078185be375..14b6228d681 100644 --- a/appserver/tests/payara-samples/samples/data/pom.xml +++ b/appserver/tests/payara-samples/samples/data/pom.xml @@ -51,7 +51,7 @@ data Payara Samples - Data (Arquillian/H2) - jar + war 6.0.3 From 7dd52b965ddd929f3ca0a734e48b355faf3f3ede Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Thu, 9 Apr 2026 16:56:59 +0100 Subject: [PATCH 006/133] FISH-13090 Lower log level of Data "processing" messages Signed-off-by: Andrew Pielage --- .../core/cdi/extension/DynamicInterfaceDataProducer.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java index eaf5261951d..56c100d53cc 100644 --- a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java +++ b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) 2025 Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2025-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -181,17 +181,17 @@ public String getId() { } private void processQueriesForEntity() { - logger.info("Processing query for entity class: " + repository); + logger.fine("Processing query for entity class: " + repository); //get entity type Class declaredEntityClass = getEntityTypeFromGenerics(this.repository); // If entity type is not declared via generics, infer it from lifecycle method parameters if (declaredEntityClass == null) { declaredEntityClass = inferEntityTypeFromLifecycleMethods(this.repository); } - logger.info("Processing entity class " + (declaredEntityClass != null ? declaredEntityClass.getName() : "null")); + logger.fine("Processing entity class " + (declaredEntityClass != null ? declaredEntityClass.getName() : "null")); try (EntityManager entityManager = getEntityManagerSupplier(this.jakartaDataExtension.getApplicationName(), this.dataStore).get()) { for (Method method : this.repository.getMethods()) { - logger.info("Processing query for " + (declaredEntityClass != null ? declaredEntityClass.getName() : "null") + "." + method.getName()); + logger.fine("Processing query for " + (declaredEntityClass != null ? declaredEntityClass.getName() : "null") + "." + method.getName()); //skip if method is default if (method.isDefault()) { continue; From 0491fade5155f5bc626b7bf1c3639de470034d88 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:30:33 +0000 Subject: [PATCH 007/133] Bump smallrye-common.version from 2.17.0 to 2.17.1 Bumps `smallrye-common.version` from 2.17.0 to 2.17.1. Updates `io.smallrye.common:smallrye-common-annotation` from 2.17.0 to 2.17.1 - [Release notes](https://github.com/smallrye/smallrye-common/releases) - [Commits](https://github.com/smallrye/smallrye-common/compare/2.17.0...2.17.1) Updates `io.smallrye.common:smallrye-common-expression` from 2.17.0 to 2.17.1 - [Release notes](https://github.com/smallrye/smallrye-common/releases) - [Commits](https://github.com/smallrye/smallrye-common/compare/2.17.0...2.17.1) Updates `io.smallrye.common:smallrye-common-function` from 2.17.0 to 2.17.1 - [Release notes](https://github.com/smallrye/smallrye-common/releases) - [Commits](https://github.com/smallrye/smallrye-common/compare/2.17.0...2.17.1) Updates `io.smallrye.common:smallrye-common-constraint` from 2.17.0 to 2.17.1 - [Release notes](https://github.com/smallrye/smallrye-common/releases) - [Commits](https://github.com/smallrye/smallrye-common/compare/2.17.0...2.17.1) Updates `io.smallrye.common:smallrye-common-classloader` from 2.17.0 to 2.17.1 - [Release notes](https://github.com/smallrye/smallrye-common/releases) - [Commits](https://github.com/smallrye/smallrye-common/compare/2.17.0...2.17.1) --- updated-dependencies: - dependency-name: io.smallrye.common:smallrye-common-annotation dependency-version: 2.17.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.smallrye.common:smallrye-common-expression dependency-version: 2.17.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.smallrye.common:smallrye-common-function dependency-version: 2.17.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.smallrye.common:smallrye-common-constraint dependency-version: 2.17.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.smallrye.common:smallrye-common-classloader dependency-version: 2.17.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- appserver/tests/payara-samples/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/payara-samples/pom.xml b/appserver/tests/payara-samples/pom.xml index 1a8730b7279..7c2c7436ede 100644 --- a/appserver/tests/payara-samples/pom.xml +++ b/appserver/tests/payara-samples/pom.xml @@ -71,7 +71,7 @@ 1.1 3.16.0 - 2.17.0 + 2.17.1 0.3 1.2.6 3.3.4 From 5eab069b40f4da6a1546531dd48cdc0b9703dbc4 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Fri, 10 Apr 2026 16:43:31 +0100 Subject: [PATCH 008/133] FISH-13351 Downgrade Eclipselink to B11 Downgrading to B13 fixes the persistence TCK, but breaks the JAX-WS TCK Signed-off-by: Andrew Pielage --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ec6997b6ac3..7249d9bb1fc 100644 --- a/pom.xml +++ b/pom.xml @@ -247,7 +247,7 @@ 3.0.0 4.0.1.payara-p1 3.0.4 - 5.0.0-B13.payara-p1 + 5.0.0-B11.payara-p1 9.9.0 6.8.0.payara-p1 2.1.1 From fd47255e2d737cab6f61bf992eaaea0be55a7863 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:25:21 +0000 Subject: [PATCH 009/133] Bump org.apache.ant:ant-apache-regexp from 1.10.16 to 1.10.17 Bumps org.apache.ant:ant-apache-regexp from 1.10.16 to 1.10.17. --- updated-dependencies: - dependency-name: org.apache.ant:ant-apache-regexp dependency-version: 1.10.17 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- appserver/tests/quicklook/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/quicklook/pom.xml b/appserver/tests/quicklook/pom.xml index 4d800c0df84..e486fa25ac5 100644 --- a/appserver/tests/quicklook/pom.xml +++ b/appserver/tests/quicklook/pom.xml @@ -234,7 +234,7 @@ org.apache.ant ant-apache-regexp - 1.10.16 + 1.10.17 runtime From 4e28d615d32f76b3f8ee79a14e3ec2e6510bd427 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:26:49 +0000 Subject: [PATCH 010/133] Bump org.glassfish.build:command-security-maven-plugin Bumps [org.glassfish.build:command-security-maven-plugin](https://github.com/eclipse-ee4j/glassfish-security-plugin) from 1.0.20 to 1.0.21. - [Release notes](https://github.com/eclipse-ee4j/glassfish-security-plugin/releases) - [Commits](https://github.com/eclipse-ee4j/glassfish-security-plugin/compare/1.0.20...1.0.21) --- updated-dependencies: - dependency-name: org.glassfish.build:command-security-maven-plugin dependency-version: 1.0.21 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- nucleus/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nucleus/pom.xml b/nucleus/pom.xml index bf47393d5f9..a0108d16013 100644 --- a/nucleus/pom.xml +++ b/nucleus/pom.xml @@ -136,7 +136,7 @@ 3.2.20.payara-p3 1.10 - 1.0.20 + 1.0.21 false nucleus 1.10.16 From 3e50ee2c3c2cee52ee061c9cecd5fd8ad8eda077 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:27:42 +0000 Subject: [PATCH 011/133] Bump ant.version from 1.10.16 to 1.10.17 Bumps `ant.version` from 1.10.16 to 1.10.17. Updates `org.apache.ant:ant` from 1.10.16 to 1.10.17 Updates `org.apache.ant:ant-launcher` from 1.10.16 to 1.10.17 --- updated-dependencies: - dependency-name: org.apache.ant:ant dependency-version: 1.10.17 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.apache.ant:ant-launcher dependency-version: 1.10.17 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- appserver/tests/quicklook/pom.xml | 2 +- nucleus/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/appserver/tests/quicklook/pom.xml b/appserver/tests/quicklook/pom.xml index 4d800c0df84..afa460efa66 100644 --- a/appserver/tests/quicklook/pom.xml +++ b/appserver/tests/quicklook/pom.xml @@ -224,7 +224,7 @@ org.apache.ant ant - 1.10.16 + 1.10.17 org.apache.ant diff --git a/nucleus/pom.xml b/nucleus/pom.xml index bf47393d5f9..c12d83066a6 100644 --- a/nucleus/pom.xml +++ b/nucleus/pom.xml @@ -139,7 +139,7 @@ 1.0.20 false nucleus - 1.10.16 + 1.10.17 1.11 -Xdoclint:none From a3c3668bc2fd3308be9f3093f6631108d6403257 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 16:32:51 +0000 Subject: [PATCH 012/133] Bump org.apache.ant:ant-junit from 1.10.16 to 1.10.17 Bumps org.apache.ant:ant-junit from 1.10.16 to 1.10.17. --- updated-dependencies: - dependency-name: org.apache.ant:ant-junit dependency-version: 1.10.17 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- appserver/tests/quicklook/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/quicklook/pom.xml b/appserver/tests/quicklook/pom.xml index 4d800c0df84..96156aa11e1 100644 --- a/appserver/tests/quicklook/pom.xml +++ b/appserver/tests/quicklook/pom.xml @@ -229,7 +229,7 @@ org.apache.ant ant-junit - 1.10.16 + 1.10.17 org.apache.ant From c07cdfc9c3d5d530c8dbc44712ee9601d3b655a0 Mon Sep 17 00:00:00 2001 From: Kalin Chan Date: Mon, 13 Apr 2026 12:16:01 +0100 Subject: [PATCH 013/133] FISH-11069 Remove audit-modules --- .../src/test/resources/UpgradeTest.xml | 5 +- .../src/main/resources/config/domain.xml | 8 +- .../src/main/resources/config/domain.xml | 8 +- .../common/admingui/Strings_de.properties | 20 +- .../common/admingui/Strings_es.properties | 20 +- .../common/admingui/Strings_fr.properties | 20 +- .../common/admingui/Strings_it.properties | 20 +- .../common/admingui/Strings_ja.properties | 20 +- .../common/admingui/Strings_ko.properties | 20 +- .../common/admingui/Strings_pt_BR.properties | 20 +- .../common/admingui/Strings_zh_CN.properties | 19 - .../common/admingui/Strings_zh_TW.properties | 20 +- .../common/src/main/help/en/help/idx-1.html | 14 +- .../common/src/main/help/en/help/idx-3.html | 3 +- .../common/src/main/help/en/help/index.xml | 13 - .../help/en/help/ref-auditmoduleedit.html | 84 --- .../main/help/en/help/ref-auditmodulenew.html | 83 --- .../help/en/help/ref-auditmoduleprop.html | 34 - .../main/help/en/help/ref-auditmodules.html | 65 -- .../help/en/help/ref-group-auditmodules.html | 24 - .../src/main/help/en/help/ref-security.html | 13 +- .../help/en/help/task-auditmoduledelete.html | 75 --- .../help/en/help/task-auditmoduleedit.html | 95 --- .../help/en/help/task-auditmodulenew.html | 90 --- .../en/help/task-enabledisableauditmod.html | 73 -- .../help/en/help/task-securitysettings.html | 7 +- .../help/en/help/task-setactiveauditmod.html | 73 -- .../help/en/help/task-usedefaultauditmod.html | 103 --- .../common/src/main/help/en/help/toc.xml | 9 - .../common/admingui/Helplinks.properties | 8 - .../common/admingui/Strings.properties | 17 - .../main/resources/pluginTreeNodeSecurity.jsf | 21 +- .../security/adminAudit/adminaudit.jsf | 3 +- .../security/auditModules/auditModule.inc | 63 -- .../security/auditModules/auditModuleEdit.jsf | 90 --- .../security/auditModules/auditModuleNew.jsf | 83 --- .../security/auditModules/auditModules.jsf | 121 ---- .../src/main/resources/security/security.jsf | 5 +- .../main/resources/security/securityAttrs.inc | 20 +- .../admingui/core/Strings_de.properties | 2 - .../admingui/core/Strings_es.properties | 2 - .../admingui/core/Strings_fr.properties | 2 - .../admingui/core/Strings_it.properties | 2 - .../admingui/core/Strings_ja.properties | 2 - .../admingui/core/Strings_ko.properties | 2 - .../admingui/core/Strings_pt_BR.properties | 2 - .../admingui/core/Strings_zh_CN.properties | 2 - .../admingui/core/Strings_zh_TW.properties | 2 - .../admingui/core/Strings.properties | 2 - .../src/main/resources/templates/menu.inc | 1 - .../admingui/devtests/SecurityTest.java | 34 +- .../reference/create-application-ref.html | 14 - .../help/reference/create-audit-module.html | 268 -------- .../en/help/reference/create-auth-realm.html | 16 +- .../reference/delete-application-ref.html | 14 - .../help/reference/delete-audit-module.html | 235 ------- .../en/help/reference/delete-auth-realm.html | 16 +- .../en/help/reference/list-applications.html | 16 +- .../en/help/reference/list-audit-modules.html | 232 ------- .../en/help/reference/list-auth-realms.html | 16 +- .../help/en/help/reference/list-commands.html | 6 +- .../src/main/help/en/help/reference/toc.html | 9 - .../src/main/help/en/help/toc.xml | 3 - .../com/sun/appserv/security/AuditModule.java | 102 --- .../VirtualThreadsUnprocessedEventsTest.xml | 8 +- .../admin/src/test/resources/DomainTest.xml | 5 +- .../src/test/resources/DomainTest.xml | 5 +- .../src/test/resources/PasswordAliasTest.xml | 5 +- .../application/EJBSecurityManager.java | 19 +- .../factory/EJBSecurityManagerFactory.java | 10 +- .../all/src/main/resources/config/domain.xml | 5 +- .../web/src/main/resources/config/domain.xml | 5 +- .../resources/MICRO-INF/domain/domain.xml | 5 +- .../admin/src/test/resources/DomainTest.xml | 5 +- .../src/test/resources/DomainTest.xml | 5 +- .../src/test/resources/DomainTest.xml | 5 +- .../src/test/resources/DomainTest.xml | 5 +- .../src/test/resources/DomainTest.xml | 5 +- .../com/sun/enterprise/security/ee/Audit.java | 637 ------------------ .../security/ee/JavaEESecurityLifecycle.java | 7 +- .../ee/audit/AppServerAuditManager.java | 193 ------ .../security/ee/audit/LocalStrings.properties | 44 -- .../WebAuthorizationManagerService.java | 23 +- .../config/SoapAuthenticationService.java | 33 +- .../webservices/CommonServerSecurityPipe.java | 3 +- .../webservices/CommonServerSecurityTube.java | 5 +- .../webservices/SecurityServiceImpl.java | 11 +- .../sun/enterprise/admin/cli/list-commands.1 | 6 +- .../resources/supported-legacy-command-names | 3 - .../config/serverbeans/AuditModule.java | 123 ---- .../config/serverbeans/SecurityService.java | 60 -- .../config/serverbeans/ServerTags.java | 6 - .../config/util/ConfigApiLoggerInfo.java | 26 - .../dvt/SecurityServiceDefaultsTest.java | 2 - .../src/test/resources/ClusterDomain.xml | 11 +- .../src/test/resources/DGDomain.xml | 11 +- .../src/test/resources/DomainTest.xml | 5 +- .../src/test/resources/parser/c1i1.xml | 23 +- .../src/test/resources/parser/c1i1c1i2.xml | 23 +- .../src/test/resources/parser/i1.xml | 11 +- .../src/test/resources/parser/i1i2.xml | 14 +- .../test/resources/parser/noconfigfori1.xml | 11 +- .../src/test/resources/parser/stock.xml | 8 +- .../domains/baddomain/config/domain.xml | 3 - .../domains/domain1/config/domain.xml | 3 - .../domains/domain2/config/domain.xml | 3 - .../domains/domain3/config/domain.xml | 3 - .../domains/domainNoLog/config/domain.xml | 3 - .../generator/ResourcesGeneratorBase.java | 4 +- .../resources/GlassFishI18NData.properties | 11 - .../src/test/resources/adminport.xml | 3 - .../src/test/resources/adminport2.xml | 3 - .../common-util/src/test/resources/big.xml | 5 +- .../src/test/resources/clusters1.xml | 20 +- .../src/test/resources/manysysprops.xml | 20 +- .../src/test/resources/monitoringFalse.xml | 5 +- .../src/test/resources/monitoringNone.xml | 5 +- .../src/test/resources/monitoringTrue.xml | 5 +- .../src/test/resources/noconfig.xml | 3 - .../src/test/resources/nodomainname.xml | 3 - .../src/test/resources/olddomain.xml | 5 +- .../src/test/resources/rightorder.xml | 3 - .../resources/rightordernoclosedomain.xml | 5 +- .../src/test/resources/v2domain.xml | 5 +- .../src/test/resources/wrongorder.xml | 3 - .../resources/wrongordernoclosedomain.xml | 5 +- .../v3/admin/LocalStrings_de.properties | 9 +- .../v3/admin/LocalStrings_es.properties | 9 +- .../v3/admin/LocalStrings_fr.properties | 9 +- .../v3/admin/LocalStrings_it.properties | 9 +- .../v3/admin/LocalStrings_ja.properties | 9 +- .../v3/admin/LocalStrings_ko.properties | 9 +- .../v3/admin/LocalStrings_pt_BR.properties | 9 +- .../v3/admin/LocalStrings_zh_CN.properties | 9 +- .../v3/admin/LocalStrings_zh_TW.properties | 9 +- .../v3/admin/LocalStrings.properties | 10 +- .../kernel/src/test/resources/DomainTest.xml | 5 +- .../security/audit/LocalStrings_de.properties | 52 -- .../security/audit/LocalStrings_es.properties | 52 -- .../security/audit/LocalStrings_fr.properties | 52 -- .../security/audit/LocalStrings_it.properties | 52 -- .../security/audit/LocalStrings_ja.properties | 52 -- .../security/audit/LocalStrings_ko.properties | 52 -- .../audit/LocalStrings_pt_BR.properties | 52 -- .../audit/LocalStrings_zh_CN.properties | 52 -- .../audit/LocalStrings_zh_TW.properties | 52 -- .../enterprise/security/BaseAuditModule.java | 92 --- .../security/SecurityConfigListener.java | 75 +-- .../security/SecurityLifecycle.java | 53 +- .../security/SecurityServicesUtil.java | 10 +- .../security/audit/AuditManager.java | 82 --- .../security/audit/BaseAuditManager.java | 366 ---------- .../security/audit/LocalStrings.properties | 47 -- .../security/auth/JaspicToJaasBridge.java | 201 ------ .../security/auth/WebAndEjbToJaasBridge.java | 38 +- .../auth/login/LoginContextDriver.java | 56 +- .../security/cli/CreateAuditModule.java | 209 ------ .../security/cli/DeleteAuditModule.java | 176 ----- .../security/cli/ListAuditModule.java | 139 ---- .../security/cli/create-audit-module.1 | 86 --- .../security/cli/delete-audit-module.1 | 59 -- .../security/cli/list-audit-modules.1 | 56 -- .../security/audit/LocalStrings.properties | 47 -- 163 files changed, 106 insertions(+), 6260 deletions(-) delete mode 100644 appserver/admingui/common/src/main/help/en/help/ref-auditmoduleedit.html delete mode 100644 appserver/admingui/common/src/main/help/en/help/ref-auditmodulenew.html delete mode 100644 appserver/admingui/common/src/main/help/en/help/ref-auditmoduleprop.html delete mode 100644 appserver/admingui/common/src/main/help/en/help/ref-auditmodules.html delete mode 100644 appserver/admingui/common/src/main/help/en/help/ref-group-auditmodules.html delete mode 100644 appserver/admingui/common/src/main/help/en/help/task-auditmoduledelete.html delete mode 100644 appserver/admingui/common/src/main/help/en/help/task-auditmoduleedit.html delete mode 100644 appserver/admingui/common/src/main/help/en/help/task-auditmodulenew.html delete mode 100644 appserver/admingui/common/src/main/help/en/help/task-enabledisableauditmod.html delete mode 100644 appserver/admingui/common/src/main/help/en/help/task-setactiveauditmod.html delete mode 100644 appserver/admingui/common/src/main/help/en/help/task-usedefaultauditmod.html delete mode 100644 appserver/admingui/common/src/main/resources/security/auditModules/auditModule.inc delete mode 100644 appserver/admingui/common/src/main/resources/security/auditModules/auditModuleEdit.jsf delete mode 100644 appserver/admingui/common/src/main/resources/security/auditModules/auditModuleNew.jsf delete mode 100644 appserver/admingui/common/src/main/resources/security/auditModules/auditModules.jsf delete mode 100644 appserver/admingui/reference-manual/src/main/help/en/help/reference/create-audit-module.html delete mode 100644 appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-audit-module.html delete mode 100644 appserver/admingui/reference-manual/src/main/help/en/help/reference/list-audit-modules.html delete mode 100644 appserver/common/glassfish-ee-api/src/main/java/com/sun/appserv/security/AuditModule.java delete mode 100644 appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/Audit.java delete mode 100644 appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/audit/AppServerAuditManager.java delete mode 100644 appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/audit/LocalStrings.properties delete mode 100644 nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/AuditModule.java delete mode 100644 nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_de.properties delete mode 100644 nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_es.properties delete mode 100644 nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_fr.properties delete mode 100644 nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_it.properties delete mode 100644 nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_ja.properties delete mode 100644 nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_ko.properties delete mode 100644 nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_pt_BR.properties delete mode 100644 nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_zh_CN.properties delete mode 100644 nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_zh_TW.properties delete mode 100644 nucleus/security/core/src/main/java/com/sun/enterprise/security/BaseAuditModule.java delete mode 100644 nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/AuditManager.java delete mode 100644 nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/BaseAuditManager.java delete mode 100644 nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/LocalStrings.properties delete mode 100644 nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/JaspicToJaasBridge.java delete mode 100644 nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/CreateAuditModule.java delete mode 100644 nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/DeleteAuditModule.java delete mode 100644 nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/ListAuditModule.java delete mode 100644 nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/create-audit-module.1 delete mode 100644 nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/delete-audit-module.1 delete mode 100644 nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/list-audit-modules.1 delete mode 100644 nucleus/security/core/src/main/resources/com/sun/enterprise/security/audit/LocalStrings.properties diff --git a/appserver/admin/admin-core/src/test/resources/UpgradeTest.xml b/appserver/admin/admin-core/src/test/resources/UpgradeTest.xml index 30c7d75a74d..99136d1195f 100644 --- a/appserver/admin/admin-core/src/test/resources/UpgradeTest.xml +++ b/appserver/admin/admin-core/src/test/resources/UpgradeTest.xml @@ -40,7 +40,7 @@ --> - + @@ -168,9 +168,6 @@ - - - diff --git a/appserver/admin/gf_template/src/main/resources/config/domain.xml b/appserver/admin/gf_template/src/main/resources/config/domain.xml index cfdcbd1bcac..13281763a31 100644 --- a/appserver/admin/gf_template/src/main/resources/config/domain.xml +++ b/appserver/admin/gf_template/src/main/resources/config/domain.xml @@ -41,7 +41,7 @@ holder. --> - + @@ -147,9 +147,6 @@ - - - @@ -381,9 +378,6 @@ - - - diff --git a/appserver/admin/gf_template_web/src/main/resources/config/domain.xml b/appserver/admin/gf_template_web/src/main/resources/config/domain.xml index 070b629c6d9..d64d78672ff 100644 --- a/appserver/admin/gf_template_web/src/main/resources/config/domain.xml +++ b/appserver/admin/gf_template_web/src/main/resources/config/domain.xml @@ -41,7 +41,7 @@ holder. --> - + @@ -146,9 +146,6 @@ - - - @@ -376,9 +373,6 @@ - - - diff --git a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_de.properties b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_de.properties index 4fb48779a35..00f01409deb 100644 --- a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_de.properties +++ b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_de.properties @@ -46,7 +46,6 @@ tree.domain=Domain ## All the msg.JS.xxx strings are showed by JavaScript in a popup window. Ensure that no ' (apostrophe) is included in them msg.JS.confirmDeleteRealms=Die ausgew\u00E4hlten Realms werden gel\u00F6scht. Fortfahren? msg.JS.confirmDeleteJaccProviders=Die ausgew\u00E4hlten JACC-Provider werden gel\u00F6scht. Fortfahren? -msg.JS.confirmDeleteAuditModules=Die ausgew\u00E4hlten Auditmodule werden gel\u00F6scht. Fortfahren? msg.JS.confirmDeleteMsgSecurities=Die ausgew\u00E4hlten Nachrichtensicherheitskonfigurationen werden gel\u00F6scht. Fortfahren? msg.JS.confirmDeleteMsgProviders=Die ausgew\u00E4hlten Provider werden gel\u00F6scht. Fortfahren? msg.JS.confirmDeleteUser=Die ausgew\u00E4hlten Benutzer werden gel\u00F6scht. Fortfahren? @@ -74,8 +73,6 @@ security.Security=Sicherheit security.SecurityPageHelp=Sicherheitseigenschaften f\u00FCr den gesamten Server festlegen. security.SecurityManager=Security Manager security.SecurityManagerHelp=Aktivieren Sie den Security Manager f\u00FCr die Domain, indem Sie eine Option in den JVM-Einstellungen hinzuf\u00FCgen -security.AuditLogging=Audit-Logging -security.AuditLoggingHelp=Erm\u00F6glichen Sie dem Server das Laden und Ausf\u00FChren aller Auditmodule, die in der Einstellung "Auditmodule" angegeben sind security.DefaultRealm=Standard-Realm security.DefaultRealmHelp=Standard-Realm, die von allen Anwendungen zur Authentifizierung verwendet wird security.DefaultPrincipal=Standard-Principal @@ -84,13 +81,10 @@ security.DefaultPrincipalPassword=Standard-Principal-Kennwort security.DefaultPrincipalPasswordHelp=Erforderlich, wenn "Standard-Principal" einen Wert enth\u00E4lt security.Jacc=JACC security.JaccHelp=Name des jacc-provider-Elements f\u00FCr die Konfiguration der JACC-Infrastruktur -security.AuditModules=Auditmodule -security.AuditModulesHelp=Liste der Auditprovidermodule, die vom Audit-Subsystem verwendet werden. Halten Sie f\u00FCr die Mehrfachauswahl die STRG-Taste gedr\u00FCckt security.RoleMapping=Zuordnung von Standard-Principal zu Rolle security.RoleMappingHelp=Wenden Sie beim Deployment die Zuordnung von Standard-Principal zu Rolle an, wenn keine anwendungsspezifische Zuordnung definiert ist. Dies wirkt sich nicht auf derzeit bereitgestellte Anwendungen aus security.MappedPrincipalClass=Zugeordnete Principal-Klasse security.MappedPrincipalClassHelp=Passen Sie die f\u00FCr die Zuordnung von Standard-Principal zu Rolle verwendete java.security.Principal-Implementierungsklasse an -security.AuditModule.auditOn=Audit aktiviert security.secureAdmin=Sichere Administration security.secureAdmin.newPageTitleHelp=Die Aktivierung oder Deaktivierung der sicheren Administration wirkt sich auf die gesamte Domain aus, einschlie\u00DFlich DAS und aller Instanzen. security.secureAdmin.adminalias=Administrationsalias: @@ -149,19 +143,7 @@ realm.encoding=Codierung: realm.encodingHelp=Codierung (zul\u00E4ssige Werte: Hex und Base64) realm.charset=Zeichensatz: realm.charsetHelp=Zeichensatz f\u00FCr den Digest-Algorithmus -realm.internalError=Interner Fehler. Es wurde kein Realm-Name angegeben. - -## Audit Modules -auditModule.TableTitle=Module -auditModule.PageTitle=Auditmodule -auditModule.PageHelp=Verwenden Sie Auditmodule zur Entwicklung eines Audit-Trails f\u00FCr alle Authentifizierungs- und Autorisierungsentscheidungen. -auditModule.Classname=Klassenname: -auditModule.ClassnameHelp=Name der Auditmodulklasse -auditModule.EditPageTitle=Auditmodul bearbeiten -auditModule.EditPageTitleHelp=Entwickelt ein Audit-Trail f\u00FCr alle Authentifizierungs- und Autorisierungsentscheidungen. -auditModule.NewPageTitle=Neues Auditmodul -auditModule.NewPageTitleHelp=Verwenden Sie Auditmodule zur Entwicklung eines Audit-Trails f\u00FCr alle Authentifizierungs- und Autorisierungsentscheidungen. - +realm.internalError=Interner Fehler. Es wurde kein Realm-Name angegeben. ## Manage Users manageUsers.UserID=Benutzer-ID: diff --git a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_es.properties b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_es.properties index ea5a60246c9..6028957f839 100644 --- a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_es.properties +++ b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_es.properties @@ -46,7 +46,6 @@ tree.domain=Dominio ## All the msg.JS.xxx strings are showed by JavaScript in a popup window. Ensure that no ' (apostrophe) is included in them msg.JS.confirmDeleteRealms=Se suprimir\u00E1n los dominios seleccionados. \u00BFDesea continuar? msg.JS.confirmDeleteJaccProviders=Se suprimir\u00E1n los proveedores JACC seleccionados. \u00BFDesea continuar? -msg.JS.confirmDeleteAuditModules=Se suprimir\u00E1n los m\u00F3dulos de auditor\u00EDa seleccionados. \u00BFDesea continuar? msg.JS.confirmDeleteMsgSecurities=Se suprimir\u00E1n las configuraciones de seguridad de mensajes seleccionadas. \u00BFDesea continuar? msg.JS.confirmDeleteMsgProviders=Se suprimir\u00E1n los proveedores seleccionados. \u00BFDesea continuar? msg.JS.confirmDeleteUser=Se suprimir\u00E1n los usuarios seleccionados. \u00BFDesea continuar? @@ -74,8 +73,6 @@ security.Security=Seguridad security.SecurityPageHelp=Defina las propiedades de seguridad para todo el servidor. security.SecurityManager=Gestor de Seguridad security.SecurityManagerHelp=Active el gestor de seguridad del dominio agregando una opci\u00F3n en la configuraci\u00F3n de JVM -security.AuditLogging=Registro de Auditor\u00EDa -security.AuditLoggingHelp=Active el servidor para cargar y ejecutar todos los m\u00F3dulos de auditor\u00EDa especificados en la opci\u00F3n M\u00F3dulos de Auditor\u00EDa security.DefaultRealm=Dominio por Defecto security.DefaultRealmHelp=Dominio por defecto utilizado por todas las aplicaciones para la autenticaci\u00F3n security.DefaultPrincipal=Principal por Defecto @@ -84,13 +81,10 @@ security.DefaultPrincipalPassword=Contrase\u00F1a Principal por Defecto security.DefaultPrincipalPasswordHelp=Necesaria si la opci\u00F3n Principal por Defecto contiene un valor security.Jacc=JACC security.JaccHelp=Nombre del elemento jacc-provider que se utiliza para configurar la infraestructura de JACC -security.AuditModules=M\u00F3dulos de Auditor\u00EDa -security.AuditModulesHelp=Lista de m\u00F3dulos del proveedor de auditor\u00EDa que utilizar\u00E1 el subsistema de auditor\u00EDa; pulse la tecla Control y haga clic para seleccionar varios elementos security.RoleMapping=Asignaci\u00F3n de Principal por Defecto a Rol security.RoleMappingHelp=Aplique la asignaci\u00F3n de principal por defecto a rol en el despliegue si no est\u00E1 definida ninguna asignaci\u00F3n espec\u00EDfica de aplicaci\u00F3n; no afecta a las aplicaciones que est\u00E9n desplegadas actualmente security.MappedPrincipalClass=Clase Principal Asignada security.MappedPrincipalClassHelp=Personalice la clase de implantaci\u00F3n java.security.Principal utilizada en la asignaci\u00F3n de principal por defecto a rol -security.AuditModule.auditOn=Auditor\u00EDa Activa security.secureAdmin=Administraci\u00F3n Segura security.secureAdmin.newPageTitleHelp=La activaci\u00F3n o desactivaci\u00F3n de la administraci\u00F3n segura afecta a todo el dominio, lo que incluye DAS y todas las instancias. security.secureAdmin.adminalias=Alias de Administraci\u00F3n: @@ -149,19 +143,7 @@ realm.encoding=Codificaci\u00F3n: realm.encodingHelp=Codificaci\u00F3n (los valores permitidos son Hex y Base64) realm.charset=Juego de Caracteres: realm.charsetHelp=Juego de caracteres del algoritmo de resumen -realm.internalError=Error interno. No se ha especificado ning\u00FAn nombre para el dominio. - -## Audit Modules -auditModule.TableTitle=M\u00F3dulos -auditModule.PageTitle=M\u00F3dulos de Auditor\u00EDa -auditModule.PageHelp=Utilice m\u00F3dulos de auditor\u00EDa para crear una pista de auditor\u00EDa de todas las decisiones de autorizaci\u00F3n y autenticaci\u00F3n. -auditModule.Classname=Nombre de Clase: -auditModule.ClassnameHelp=Nombre de la clase de m\u00F3dulo de auditor\u00EDa -auditModule.EditPageTitle=Editar M\u00F3dulo de Auditor\u00EDa -auditModule.EditPageTitleHelp=Crea una pista de auditor\u00EDa de todas las decisiones de autenticaci\u00F3n y autorizaci\u00F3n. -auditModule.NewPageTitle=Nuevo M\u00F3dulo de Auditor\u00EDa -auditModule.NewPageTitleHelp=Utilice m\u00F3dulos de auditor\u00EDa para crear una pista de auditor\u00EDa de todas las decisiones de autorizaci\u00F3n y autenticaci\u00F3n. - +realm.internalError=Error interno. No se ha especificado ning\u00FAn nombre para el dominio. ## Manage Users manageUsers.UserID=ID de Usuario: diff --git a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_fr.properties b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_fr.properties index 9a4d42e599b..f46b018d503 100644 --- a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_fr.properties +++ b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_fr.properties @@ -46,7 +46,6 @@ tree.domain=Domaine ## All the msg.JS.xxx strings are showed by JavaScript in a popup window. Ensure that no ' (apostrophe) is included in them msg.JS.confirmDeleteRealms=Les domaines s\u00E9lectionn\u00E9s vont \u00EAtre supprim\u00E9s. Voulez-vous continuer ? msg.JS.confirmDeleteJaccProviders=Les fournisseurs JACC s\u00E9lectionn\u00E9s vont \u00EAtre supprim\u00E9s. Voulez-vous continuer ? -msg.JS.confirmDeleteAuditModules=Les modules d\u2019audit s\u00E9lectionn\u00E9s vont \u00EAtre supprim\u00E9s. Voulez-vous continuer ? msg.JS.confirmDeleteMsgSecurities=Les configurations de s\u00E9curit\u00E9 des messages s\u00E9lectionn\u00E9es vont \u00EAtre supprim\u00E9es. Voulez-vous continuer ? msg.JS.confirmDeleteMsgProviders=Les fournisseurs s\u00E9lectionn\u00E9s vont \u00EAtre supprim\u00E9s. Voulez-vous continuer ? msg.JS.confirmDeleteUser=Les utilisateurs s\u00E9lectionn\u00E9s vont \u00EAtre supprim\u00E9s. Voulez-vous continuer ? @@ -74,8 +73,6 @@ security.Security=S\u00E9curit\u00E9 security.SecurityPageHelp=D\u00E9finissez les propri\u00E9t\u00E9s de s\u00E9curit\u00E9 du serveur. security.SecurityManager=Gestionnaire de s\u00E9curit\u00E9 security.SecurityManagerHelp=Activez le gestionnaire de s\u00E9curit\u00E9 pour le domaine en ajoutant une option dans les param\u00E8tres JVM -security.AuditLogging=Journalisation d'audit -security.AuditLoggingHelp=Activez le serveur pour charger et ex\u00E9cuter tous les modules d'audit sp\u00E9cifi\u00E9s dans le param\u00E8tre Modules d'audit security.DefaultRealm=Domaine par d\u00E9faut security.DefaultRealmHelp=Domaine par d\u00E9faut utilis\u00E9 par toutes les applications pour l'authentification security.DefaultPrincipal=Principal par d\u00E9faut @@ -84,13 +81,10 @@ security.DefaultPrincipalPassword=Mot de passe du principal par d\u00E9faut security.DefaultPrincipalPasswordHelp=Obligatoire si l'option Principal par d\u00E9faut est renseign\u00E9e security.Jacc=JACC security.JaccHelp=Nom de l'\u00E9l\u00E9ment jacc-provider \u00E0 utiliser pour la configuration de l'infrastructure JACC -security.AuditModules=Modules d'audit -security.AuditModulesHelp=Liste des modules de fournisseur d'audit utilis\u00E9s par le sous-syst\u00E8me d'audit. Pour s\u00E9lectionner plusieurs modules simultan\u00E9ment, cliquez sur ces derniers en maintenant la touche Ctrl enfonc\u00E9e security.RoleMapping=Mise en correspondance par d\u00E9faut des principaux avec des r\u00F4les security.RoleMappingHelp=Appliquez une mise en correspondance par d\u00E9faut des principaux avec des r\u00F4les lorsque la correspondance propre \u00E0 l'application n'est pas d\u00E9finie. Les applications d\u00E9ploy\u00E9es ne sont pas affect\u00E9es pour l'instant security.MappedPrincipalClass=Classe de principal mise en correspondance security.MappedPrincipalClassHelp=Personnalisez la classe d'impl\u00E9mentation java.security.Principal utilis\u00E9e pour la mise en correspondance par d\u00E9faut des principaux avec des r\u00F4les -security.AuditModule.auditOn=Audit activ\u00E9 security.secureAdmin=Administration s\u00E9curis\u00E9e security.secureAdmin.newPageTitleHelp=L'activation ou la d\u00E9sactivation de l'administration s\u00E9curis\u00E9e affecte l'ensemble du domaine, y compris le DAS et toutes les instances. security.secureAdmin.adminalias=Alias d'administration : @@ -149,19 +143,7 @@ realm.encoding=Codage : realm.encodingHelp=Codage (valeurs autoris\u00E9es : Hex et Base64) realm.charset=Jeu de caract\u00E8res : realm.charsetHelp=Jeu de caract\u00E8res pour l'algorithme condens\u00E9 -realm.internalError=Erreur interne. Aucun nom de domaine sp\u00E9cifi\u00E9. - -## Audit Modules -auditModule.TableTitle=Modules -auditModule.PageTitle=Modules d'audit -auditModule.PageHelp=Les modules d'audit permettent de cr\u00E9er une trace d'audit de toutes les d\u00E9cisions d'authentification et d'autorisation. -auditModule.Classname=Nom de classe : -auditModule.ClassnameHelp=Nom de la classe du module d'audit -auditModule.EditPageTitle=Modifier le module d'audit -auditModule.EditPageTitleHelp=Cr\u00E9e une trace d'audit de toutes les d\u00E9cisions d'authentification et d'autorisation. -auditModule.NewPageTitle=Nouveau module d'audit -auditModule.NewPageTitleHelp=Les modules d'audit permettent de cr\u00E9er une trace d'audit de toutes les d\u00E9cisions d'authentification et d'autorisation. - +realm.internalError=Erreur interne. Aucun nom de domaine sp\u00E9cifi\u00E9. ## Manage Users manageUsers.UserID=ID utilisateur : diff --git a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_it.properties b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_it.properties index 7ebfd4a70bc..e256d25428f 100644 --- a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_it.properties +++ b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_it.properties @@ -46,7 +46,6 @@ tree.domain=Dominio ## All the msg.JS.xxx strings are showed by JavaScript in a popup window. Ensure that no ' (apostrophe) is included in them msg.JS.confirmDeleteRealms=I realm selezionati verranno eliminati. Continuare? msg.JS.confirmDeleteJaccProviders=Il provider o i provider JACC selezionati verranno eliminati. Continuare? -msg.JS.confirmDeleteAuditModules=Il modulo o i moduli di audit selezionati verranno eliminati. Continuare? msg.JS.confirmDeleteMsgSecurities=La configurazione o le configurazioni della sicurezza dei messaggi selezionate verranno eliminate. Continuare? msg.JS.confirmDeleteMsgProviders=Il provider o i provider selezionati verranno eliminati. Continuare? msg.JS.confirmDeleteUser=L\u2019utente o gli utenti selezionati verranno eliminati. Continuare? @@ -74,8 +73,6 @@ security.Security=Sicurezza security.SecurityPageHelp=Imposta le propriet\u00E0 di sicurezza per l'intero server. security.SecurityManager=Security Manager security.SecurityManagerHelp=Abilita Security Manager per il dominio aggiungendo un'opzione nelle impostazioni JVM -security.AuditLogging=Log di audit -security.AuditLoggingHelp=Abilita il server affinch\u00E9 vengano caricati ed eseguiti tutti i moduli di audit specificati nell'impostazione Moduli di audit security.DefaultRealm=Realm predefinito security.DefaultRealmHelp=Realm predefinito usato da tutte le applicazioni per l'autenticazione security.DefaultPrincipal=Principal predefinito @@ -84,13 +81,10 @@ security.DefaultPrincipalPassword=Password principal predefinito security.DefaultPrincipalPasswordHelp=Richiesta se il principal predefinito contiene un valore security.Jacc=JACC security.JaccHelp=Nome dell'elemento jacc-provider da usare per la configurazione dell'infrastruttura JACC -security.AuditModules=Moduli di audit -security.AuditModulesHelp=Lista di moduli provider di audit utilizzati dal sottosistema di audit. Usare CTRL+clic per selezionarne pi\u00F9 di uno. security.RoleMapping=Mapping principal/ruolo predefinito security.RoleMappingHelp=Applica il mapping principal/ruolo predefinito in fase di distribuzione se non \u00E8 definito un mapping specifico dell'applicazione. Non influisce sulle applicazioni attualmente distribuite. security.MappedPrincipalClass=Classe principal mappata security.MappedPrincipalClassHelp=Personalizza la classe di implementazione java.security.Principal usata per il mapping principal/ruolo predefinito -security.AuditModule.auditOn=Audit attivato security.secureAdmin=Amministrazione sicura security.secureAdmin.newPageTitleHelp=L'abilitazione o la disabilitazione dell'amministrazione sicura influisce sull'intero dominio, inclusi DAS e tutte le istanze. security.secureAdmin.adminalias=Alias di amministrazione: @@ -149,19 +143,7 @@ realm.encoding=Codifica: realm.encodingHelp=Codifica (i valori consentiti sono Hex e Base64) realm.charset=Set di caratteri: realm.charsetHelp=Set di caratteri dell'algoritmo Digest -realm.internalError=Errore interno. Nessun nome di realm specificato. - -## Audit Modules -auditModule.TableTitle=Moduli -auditModule.PageTitle=Moduli di audit -auditModule.PageHelp=Consente di utilizzare i moduli di audit per sviluppare un audit trail di tutte le decisioni di autenticazione e autorizzazione. -auditModule.Classname=Nome classe: -auditModule.ClassnameHelp=Nome della classe dei moduli di audit -auditModule.EditPageTitle=Modifica modulo di audit -auditModule.EditPageTitleHelp=Sviluppa un audit trail di tutte le decisioni di autenticazione e autorizzazione. -auditModule.NewPageTitle=Nuovo modulo di audit -auditModule.NewPageTitleHelp=Consente di utilizzare i moduli di audit per sviluppare un audit trail di tutte le decisioni di autenticazione e autorizzazione. - +realm.internalError=Errore interno. Nessun nome di realm specificato. ## Manage Users manageUsers.UserID=ID utente: diff --git a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_ja.properties b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_ja.properties index d31b2596312..b1cd4b6c927 100644 --- a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_ja.properties +++ b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_ja.properties @@ -46,7 +46,6 @@ tree.domain=\u30C9\u30E1\u30A4\u30F3 ## All the msg.JS.xxx strings are showed by JavaScript in a popup window. Ensure that no ' (apostrophe) is included in them msg.JS.confirmDeleteRealms=\u9078\u629E\u3057\u305F\u30EC\u30EB\u30E0\u306F\u524A\u9664\u3055\u308C\u307E\u3059\u3002\u7D9A\u884C\u3057\u307E\u3059\u304B\u3002 msg.JS.confirmDeleteJaccProviders=\u9078\u629E\u3057\u305FJACC\u30D7\u30ED\u30D0\u30A4\u30C0\u306F\u524A\u9664\u3055\u308C\u307E\u3059\u3002\u7D9A\u884C\u3057\u307E\u3059\u304B\u3002 -msg.JS.confirmDeleteAuditModules=\u9078\u629E\u3057\u305F\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u524A\u9664\u3055\u308C\u307E\u3059\u3002\u7D9A\u884C\u3057\u307E\u3059\u304B\u3002 msg.JS.confirmDeleteMsgSecurities=\u9078\u629E\u3057\u305F\u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u69CB\u6210\u306F\u524A\u9664\u3055\u308C\u307E\u3059\u3002\u7D9A\u884C\u3057\u307E\u3059\u304B\u3002 msg.JS.confirmDeleteMsgProviders=\u9078\u629E\u3057\u305F\u30D7\u30ED\u30D0\u30A4\u30C0\u306F\u524A\u9664\u3055\u308C\u307E\u3059\u3002\u7D9A\u884C\u3057\u307E\u3059\u304B\u3002 msg.JS.confirmDeleteUser=\u9078\u629E\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u306F\u524A\u9664\u3055\u308C\u307E\u3059\u3002\u7D9A\u884C\u3057\u307E\u3059\u304B\u3002 @@ -76,8 +75,6 @@ security.Security=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3 security.SecurityPageHelp=\u30B5\u30FC\u30D0\u30FC\u5168\u4F53\u306E\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002 security.SecurityManager=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u30FB\u30DE\u30CD\u30FC\u30B8\u30E3 security.SecurityManagerHelp=\u300CJVM\u8A2D\u5B9A\u300D\u3067\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8FFD\u52A0\u3057\u3066\u3001\u30C9\u30E1\u30A4\u30F3\u3067\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u30FB\u30DE\u30CD\u30FC\u30B8\u30E3\u3092\u6709\u52B9\u306B\u3057\u307E\u3059 -security.AuditLogging=\u76E3\u67FB\u30ED\u30AE\u30F3\u30B0 -security.AuditLoggingHelp=\u30B5\u30FC\u30D0\u30FC\u306B\u3088\u308B\u3001\u300C\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB\u300D\u8A2D\u5B9A\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u3059\u3079\u3066\u306E\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30ED\u30FC\u30C9\u3068\u5B9F\u884C\u3092\u6709\u52B9\u306B\u3057\u307E\u3059 security.DefaultRealm=\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30EC\u30EB\u30E0 security.DefaultRealmHelp=\u3059\u3079\u3066\u306E\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u304C\u8A8D\u8A3C\u306B\u4F7F\u7528\u3059\u308B\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30EC\u30EB\u30E0 security.DefaultPrincipal=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB @@ -86,13 +83,10 @@ security.DefaultPrincipalPassword=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30D7\u30 security.DefaultPrincipalPasswordHelp=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306B\u5024\u304C\u542B\u307E\u308C\u308B\u5834\u5408\u306B\u5FC5\u9808 security.Jacc=JACC security.JaccHelp=JACC\u30A4\u30F3\u30D5\u30E9\u30B9\u30C8\u30E9\u30AF\u30C1\u30E3\u306E\u69CB\u6210\u306B\u4F7F\u7528\u3059\u308Bjacc-provider\u8981\u7D20\u306E\u540D\u524D -security.AuditModules=\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB -security.AuditModulesHelp=\u76E3\u67FB\u30B5\u30D6\u30B7\u30B9\u30C6\u30E0\u306B\u3088\u3063\u3066\u4F7F\u7528\u3055\u308C\u308B\u76E3\u67FB\u30D7\u30ED\u30D0\u30A4\u30C0\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30EA\u30B9\u30C8(\u8907\u6570\u3092\u9078\u629E\u3059\u308B\u3068\u304D\u306F\u3001Ctrl\u30AD\u30FC\u3092\u62BC\u3057\u306A\u304C\u3089\u30AF\u30EA\u30C3\u30AF\u3057\u307E\u3059) security.RoleMapping=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30ED\u30FC\u30EB\u30FB\u30DE\u30C3\u30D4\u30F3\u30B0\u306E\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB security.RoleMappingHelp=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u3068\u30ED\u30FC\u30EB\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u306F\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u56FA\u6709\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u306B\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u3067\u9069\u7528\u3055\u308C\u307E\u3059\u3002\u73FE\u5728\u30C7\u30D7\u30ED\u30A4\u4E2D\u306E\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u306F\u5F71\u97FF\u3057\u307E\u305B\u3093 security.MappedPrincipalClass=\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u305F\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u306E\u30AF\u30E9\u30B9 security.MappedPrincipalClassHelp=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30D7\u30EA\u30F3\u30B7\u30D1\u30EB\u3068\u30ED\u30FC\u30EB\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u306B\u4F7F\u7528\u3055\u308C\u308Bjava.security.Principal\u5B9F\u88C5\u30AF\u30E9\u30B9\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA\u3057\u307E\u3059 -security.AuditModule.auditOn=\u76E3\u67FB\u30AA\u30F3 security.secureAdmin=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u4FDD\u8B77\u3055\u308C\u305F\u7BA1\u7406 security.secureAdmin.newPageTitleHelp=\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u4FDD\u8B77\u3055\u308C\u305F\u7BA1\u7406\u3092\u6709\u52B9\u307E\u305F\u306F\u7121\u52B9\u306B\u3059\u308B\u3068\u3001DAS\u304A\u3088\u3073\u3059\u3079\u3066\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u542B\u3080\u30C9\u30E1\u30A4\u30F3\u5168\u4F53\u306B\u5F71\u97FF\u304C\u3042\u308A\u307E\u3059\u3002 security.secureAdmin.adminalias=\u7BA1\u7406\u30A8\u30A4\u30EA\u30A2\u30B9: @@ -151,19 +145,7 @@ realm.encoding=\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0: realm.encodingHelp=\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0(\u4F7F\u7528\u53EF\u80FD\u306A\u5024\u306FHex\u307E\u305F\u306FBase64) realm.charset=\u6587\u5B57\u30BB\u30C3\u30C8: realm.charsetHelp=\u30C0\u30A4\u30B8\u30A7\u30B9\u30C8\u30FB\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u3067\u4F7F\u7528\u3059\u308B\u6587\u5B57\u30BB\u30C3\u30C8 -realm.internalError=\u5185\u90E8\u30A8\u30E9\u30FC\u3002\u30EC\u30EB\u30E0\u540D\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 - -## Audit Modules -auditModule.TableTitle=\u30E2\u30B8\u30E5\u30FC\u30EB -auditModule.PageTitle=\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB -auditModule.PageHelp=\u3059\u3079\u3066\u306E\u8A8D\u8A3C\u304A\u3088\u3073\u8A8D\u53EF\u30C7\u30B7\u30B8\u30E7\u30F3\u306E\u76E3\u67FB\u8A3C\u8DE1\u3092\u958B\u767A\u3059\u308B\u306B\u306F\u3001\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002 -auditModule.Classname=\u30AF\u30E9\u30B9\u540D: -auditModule.ClassnameHelp=\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30AF\u30E9\u30B9\u306E\u540D\u524D -auditModule.EditPageTitle=\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u7DE8\u96C6 -auditModule.EditPageTitleHelp=\u3059\u3079\u3066\u306E\u8A8D\u8A3C\u304A\u3088\u3073\u8A8D\u53EF\u30C7\u30B7\u30B8\u30E7\u30F3\u306E\u76E3\u67FB\u8A3C\u8DE1\u3092\u958B\u767A\u3057\u307E\u3059\u3002 -auditModule.NewPageTitle=\u65B0\u898F\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB -auditModule.NewPageTitleHelp=\u3059\u3079\u3066\u306E\u8A8D\u8A3C\u304A\u3088\u3073\u8A8D\u53EF\u30C7\u30B7\u30B8\u30E7\u30F3\u306E\u76E3\u67FB\u8A3C\u8DE1\u3092\u958B\u767A\u3059\u308B\u306B\u306F\u3001\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002 - +realm.internalError=\u5185\u90E8\u30A8\u30E9\u30FC\u3002\u30EC\u30EB\u30E0\u540D\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 ## Manage Users manageUsers.UserID=\u30E6\u30FC\u30B6\u30FCID: diff --git a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_ko.properties b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_ko.properties index 9c4f05f0ad2..688c6993a53 100644 --- a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_ko.properties +++ b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_ko.properties @@ -46,7 +46,6 @@ tree.domain=\uB3C4\uBA54\uC778 ## All the msg.JS.xxx strings are showed by JavaScript in a popup window. Ensure that no ' (apostrophe) is included in them msg.JS.confirmDeleteRealms=\uC120\uD0DD\uD55C \uC601\uC5ED\uC774 \uC0AD\uC81C\uB429\uB2C8\uB2E4. \uACC4\uC18D\uD558\uACA0\uC2B5\uB2C8\uAE4C? msg.JS.confirmDeleteJaccProviders=\uC120\uD0DD\uD55C JACC \uC81C\uACF5\uC790\uAC00 \uC0AD\uC81C\uB429\uB2C8\uB2E4. \uACC4\uC18D\uD558\uACA0\uC2B5\uB2C8\uAE4C? -msg.JS.confirmDeleteAuditModules=\uC120\uD0DD\uD55C \uAC10\uC0AC \uBAA8\uB4C8\uC774 \uC0AD\uC81C\uB429\uB2C8\uB2E4. \uACC4\uC18D\uD558\uACA0\uC2B5\uB2C8\uAE4C? msg.JS.confirmDeleteMsgSecurities=\uC120\uD0DD\uD55C \uBA54\uC2DC\uC9C0 \uBCF4\uC548 \uAD6C\uC131\uC774 \uC0AD\uC81C\uB429\uB2C8\uB2E4. \uACC4\uC18D\uD558\uACA0\uC2B5\uB2C8\uAE4C? msg.JS.confirmDeleteMsgProviders=\uC120\uD0DD\uD55C \uC81C\uACF5\uC790\uAC00 \uC0AD\uC81C\uB429\uB2C8\uB2E4. \uACC4\uC18D\uD558\uACA0\uC2B5\uB2C8\uAE4C? msg.JS.confirmDeleteUser=\uC120\uD0DD\uD55C \uC0AC\uC6A9\uC790\uAC00 \uC0AD\uC81C\uB429\uB2C8\uB2E4. \uACC4\uC18D\uD558\uACA0\uC2B5\uB2C8\uAE4C? @@ -74,8 +73,6 @@ security.Security=\uBCF4\uC548 security.SecurityPageHelp=\uC804\uCCB4 \uC11C\uBC84\uC758 \uBCF4\uC548 \uC18D\uC131\uC744 \uC124\uC815\uD569\uB2C8\uB2E4. security.SecurityManager=\uBCF4\uC548 \uAD00\uB9AC\uC790 security.SecurityManagerHelp=JVM \uC124\uC815\uC5D0\uC11C \uC635\uC158\uC744 \uCD94\uAC00\uD558\uC5EC \uB3C4\uBA54\uC778\uC6A9 \uBCF4\uC548 \uAD00\uB9AC\uC790\uB97C \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4. -security.AuditLogging=\uAC10\uC0AC \uB85C\uAE45 -security.AuditLoggingHelp=\uC11C\uBC84\uC5D0\uC11C \uAC10\uC0AC \uBAA8\uB4C8 \uC124\uC815\uC5D0 \uC9C0\uC815\uB41C \uBAA8\uB4E0 \uAC10\uC0AC \uBAA8\uB4C8\uC744 \uB85C\uB4DC\uD558\uACE0 \uC2E4\uD589\uD560 \uC218 \uC788\uAC8C \uD569\uB2C8\uB2E4. security.DefaultRealm=\uAE30\uBCF8 \uC601\uC5ED security.DefaultRealmHelp=\uBAA8\uB4E0 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC5D0\uC11C \uC778\uC99D\uC5D0 \uC0AC\uC6A9\uD558\uB294 \uAE30\uBCF8 \uC601\uC5ED\uC785\uB2C8\uB2E4. security.DefaultPrincipal=\uAE30\uBCF8 \uC8FC\uCCB4 @@ -84,13 +81,10 @@ security.DefaultPrincipalPassword=\uAE30\uBCF8 \uC8FC\uCCB4 \uBE44\uBC00\uBC88\u security.DefaultPrincipalPasswordHelp=\uAE30\uBCF8 \uC8FC\uCCB4\uC5D0 \uAC12\uC774 \uD3EC\uD568\uB418\uC5B4 \uC788\uB294 \uACBD\uC6B0 \uD544\uC694\uD569\uB2C8\uB2E4. security.Jacc=JACC security.JaccHelp=JACC \uAE30\uBC18 \uAD6C\uC870\uB97C \uAD6C\uC131\uD558\uB294 \uB370 \uC0AC\uC6A9\uD560 jacc-provider \uC694\uC18C\uC758 \uC774\uB984\uC785\uB2C8\uB2E4. -security.AuditModules=\uAC10\uC0AC \uBAA8\uB4C8 -security.AuditModulesHelp=\uAC10\uC0AC \uD558\uC704 \uC2DC\uC2A4\uD15C\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uAC10\uC0AC \uC81C\uACF5\uC790 \uBAA8\uB4C8\uC758 \uBAA9\uB85D\uC785\uB2C8\uB2E4. \uC5EC\uB7EC \uAC1C\uB97C \uC120\uD0DD\uD558\uB824\uBA74 Ctrl \uD0A4\uB97C \uB204\uB978 \uCC44\uB85C \uB204\uB974\uC2ED\uC2DC\uC624. security.RoleMapping=\uAE30\uBCF8 \uC8FC\uCCB4-\uB864 \uB9E4\uD551 security.RoleMappingHelp=\uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 \uC804\uC6A9 \uB9E4\uD551\uC774 \uC815\uC758\uB418\uC9C0 \uC54A\uC740 \uACBD\uC6B0 \uBC30\uCE58 \uC2DC \uAE30\uBCF8 \uC8FC\uCCB4-\uB864 \uB9E4\uD551\uC744 \uC801\uC6A9\uD569\uB2C8\uB2E4. \uC774\uB294 \uD604\uC7AC \uBC30\uCE58\uB41C \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC5D0\uB294 \uC601\uD5A5\uC744 \uC8FC\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. security.MappedPrincipalClass=\uB9E4\uD551\uB41C \uAE30\uBCF8 \uD074\uB798\uC2A4 security.MappedPrincipalClassHelp=\uAE30\uBCF8 \uC8FC\uCCB4-\uB864 \uB9E4\uD551\uC5D0 \uC0AC\uC6A9\uB418\uB294 java.security.Principal \uAD6C\uD604 \uD074\uB798\uC2A4\uB97C \uC0AC\uC6A9\uC790 \uC815\uC758\uD569\uB2C8\uB2E4. -security.AuditModule.auditOn=\uAC10\uC0AC \uC124\uC815 security.secureAdmin=\uBCF4\uC548 \uAD00\uB9AC security.secureAdmin.newPageTitleHelp=\uBCF4\uC548 \uAD00\uB9AC\uB97C \uC0AC\uC6A9 \uB610\uB294 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uD558\uBA74 DAS\uC640 \uBAA8\uB4E0 \uC778\uC2A4\uD134\uC2A4\uB97C \uD3EC\uD568\uD55C \uC804\uCCB4 \uB3C4\uBA54\uC778\uC5D0 \uC601\uD5A5\uC744 \uC90D\uB2C8\uB2E4. security.secureAdmin.adminalias=\uAD00\uB9AC \uBCC4\uCE6D: @@ -149,19 +143,7 @@ realm.encoding=\uC778\uCF54\uB529: realm.encodingHelp=\uC778\uCF54\uB529(\uD5C8\uC6A9\uB418\uB294 \uAC12\uC740 Hex \uBC0F Base64) realm.charset=\uBB38\uC790 \uC9D1\uD569: realm.charsetHelp=Digest \uC54C\uACE0\uB9AC\uC998\uC5D0 \uB300\uD55C \uBB38\uC790 \uC9D1\uD569 -realm.internalError=\uB0B4\uBD80 \uC624\uB958. \uC601\uC5ED \uC774\uB984\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. - -## Audit Modules -auditModule.TableTitle=\uBAA8\uB4C8 -auditModule.PageTitle=\uAC10\uC0AC \uBAA8\uB4C8 -auditModule.PageHelp=\uAC10\uC0AC \uBAA8\uB4C8\uC744 \uC0AC\uC6A9\uD558\uC5EC \uBAA8\uB4E0 \uC778\uC99D \uBC0F \uAD8C\uD55C \uBD80\uC5EC \uACB0\uC815\uC5D0 \uB300\uD55C \uAC10\uC0AC \uAE30\uB85D\uC744 \uC0DD\uC131\uD558\uC2ED\uC2DC\uC624. -auditModule.Classname=\uD074\uB798\uC2A4 \uC774\uB984: -auditModule.ClassnameHelp=\uAC10\uC0AC \uBAA8\uB4C8 \uD074\uB798\uC2A4\uC758 \uC774\uB984 -auditModule.EditPageTitle=\uAC10\uC0AC \uBAA8\uB4C8 \uD3B8\uC9D1 -auditModule.EditPageTitleHelp=\uBAA8\uB4E0 \uC778\uC99D \uBC0F \uAD8C\uD55C \uBD80\uC5EC \uACB0\uC815\uC5D0 \uB300\uD55C \uAC10\uC0AC \uAE30\uB85D\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4. -auditModule.NewPageTitle=\uC0C8 \uAC10\uC0AC \uBAA8\uB4C8 -auditModule.NewPageTitleHelp=\uAC10\uC0AC \uBAA8\uB4C8\uC744 \uC0AC\uC6A9\uD558\uC5EC \uBAA8\uB4E0 \uC778\uC99D \uBC0F \uAD8C\uD55C \uBD80\uC5EC \uACB0\uC815\uC5D0 \uB300\uD55C \uAC10\uC0AC \uAE30\uB85D\uC744 \uC0DD\uC131\uD558\uC2ED\uC2DC\uC624. - +realm.internalError=\uB0B4\uBD80 \uC624\uB958. \uC601\uC5ED \uC774\uB984\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. ## Manage Users manageUsers.UserID=\uC0AC\uC6A9\uC790 ID: diff --git a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_pt_BR.properties b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_pt_BR.properties index d28b7c13d24..d54bda3657c 100644 --- a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_pt_BR.properties +++ b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_pt_BR.properties @@ -46,7 +46,6 @@ tree.domain=Dom\u00EDnio ## All the msg.JS.xxx strings are showed by JavaScript in a popup window. Ensure that no ' (apostrophe) is included in them msg.JS.confirmDeleteRealms=Os realms selecionados ser\u00E3o deletados. Continuar? msg.JS.confirmDeleteJaccProviders=Provedores JACC Selecionados ser\u00E3o deletados. Continuar? -msg.JS.confirmDeleteAuditModules=M\u00F3dulos de Auditoria Selecionados ser\u00E3o deletados. Continuar? msg.JS.confirmDeleteMsgSecurities=Configura\u00E7\u00F5es Selecionadas de Seguran\u00E7a de Mensagens ser\u00E3o deletadas. Continuar? msg.JS.confirmDeleteMsgProviders=Provedores Selecionados ser\u00E3o deletados. Continuar? msg.JS.confirmDeleteUser=Usu\u00E1rios Selecionados ser\u00E3o deletados. Continuar? @@ -74,8 +73,6 @@ security.Security=Seguran\u00E7a security.SecurityPageHelp=Defina as propriedades de seguran\u00E7a para todo o servidor. security.SecurityManager=Gerenciador de Seguran\u00E7a security.SecurityManagerHelp=Ative o gerenciador de seguran\u00E7a para o dom\u00EDnio, adicionando uma op\u00E7\u00E3o nas configura\u00E7\u00F5es de JVM -security.AuditLogging=Log de Auditoria -security.AuditLoggingHelp=Permite que o servidor carregue e execute todos os m\u00F3dulos de auditoria especificados na defini\u00E7\u00E3o de M\u00F3dulos de Auditoria security.DefaultRealm=Realm Default security.DefaultRealmHelp=Realm default usado por todas as aplica\u00E7\u00F5es para autentica\u00E7\u00E3o security.DefaultPrincipal=Principal Default @@ -84,13 +81,10 @@ security.DefaultPrincipalPassword=Senha Principal Default security.DefaultPrincipalPasswordHelp=Obrigat\u00F3ria se Principal Default conter um valor security.Jacc=JACC security.JaccHelp=O nome do elemento jacc-provider a ser utilizado para configurar a infraestrutura JACC -security.AuditModules=M\u00F3dulos de Auditoria -security.AuditModulesHelp=Lista de m\u00F3dulos do provedor de auditoria utilizada pelo subsistema de auditoria, clique com a tecla Control pressionada para efetuar a sele\u00E7\u00E3o m\u00FAltipla security.RoleMapping=Mapeamento Default de Principal para Atribui\u00E7\u00E3o security.RoleMappingHelp=Aplique o mapeamento default de principal para a atribui\u00E7\u00E3o durante a implanta\u00E7\u00E3o quando o mapeamento espec\u00EDfico da aplica\u00E7\u00E3o n\u00E3o tiver sido definido, isso n\u00E3o afeta as aplica\u00E7\u00F5es implantadas atualmente security.MappedPrincipalClass=Classe Principal Mapeada security.MappedPrincipalClassHelp=Personalize a classe de implementa\u00E7\u00E3o java.security.Principal utilizada para mapeamento default de principal para atribui\u00E7\u00E3o -security.AuditModule.auditOn=Auditoria Ativada security.secureAdmin=Administra\u00E7\u00E3o Segura security.secureAdmin.newPageTitleHelp=Ativando ou desativando o admin seguro afeta todo o dom\u00EDnio, incluindo o DAS e todas as inst\u00E2ncias. security.secureAdmin.adminalias=Alias de Administra\u00E7\u00E3o: @@ -149,19 +143,7 @@ realm.encoding=Codifica\u00E7\u00E3o: realm.encodingHelp=Codifica\u00E7\u00E3o (os valores permitidos s\u00E3o Hex e Base64) realm.charset=Conjunto de caracteres: realm.charsetHelp=Conjunto de caracteres para o algoritmo de s\u00EDntese -realm.internalError=Erro interno. Nenhum nome de realm especificado. - -## Audit Modules -auditModule.TableTitle=M\u00F3dulos -auditModule.PageTitle=M\u00F3dulos de Auditoria -auditModule.PageHelp=Use os m\u00F3dulos de auditoria para desenvolver uma trilha de auditoria de todas as decis\u00F5es de autentica\u00E7\u00E3o e de autoriza\u00E7\u00E3o. -auditModule.Classname=Nome da Classe: -auditModule.ClassnameHelp=Nome da classe do m\u00F3dulo de auditoria -auditModule.EditPageTitle=Editar M\u00F3dulo de Auditoria -auditModule.EditPageTitleHelp=Desenvolve uma trilha de auditoria de todas as decis\u00F5es de autentica\u00E7\u00E3o e de autoriza\u00E7\u00E3o. -auditModule.NewPageTitle=Novo M\u00F3dulo de Auditoria -auditModule.NewPageTitleHelp=Use os m\u00F3dulos de auditoria para desenvolver uma trilha de auditoria de todas as decis\u00F5es de autentica\u00E7\u00E3o e de autoriza\u00E7\u00E3o. - +realm.internalError=Erro interno. Nenhum nome de realm especificado. ## Manage Users manageUsers.UserID=ID do Usu\u00E1rio: diff --git a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_zh_CN.properties b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_zh_CN.properties index 39b2cb972a0..285e49123ba 100644 --- a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_zh_CN.properties +++ b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_zh_CN.properties @@ -46,7 +46,6 @@ tree.domain=\u57DF ## All the msg.JS.xxx strings are showed by JavaScript in a popup window. Ensure that no ' (apostrophe) is included in them msg.JS.confirmDeleteRealms=\u6240\u9009\u9886\u57DF\u5C06\u88AB\u5220\u9664\u3002\u662F\u5426\u7EE7\u7EED? msg.JS.confirmDeleteJaccProviders=\u6240\u9009 JACC \u63D0\u4F9B\u65B9\u5C06\u88AB\u5220\u9664\u3002\u662F\u5426\u7EE7\u7EED? -msg.JS.confirmDeleteAuditModules=\u6240\u9009\u5BA1\u8BA1\u6A21\u5757\u5C06\u88AB\u5220\u9664\u3002\u662F\u5426\u7EE7\u7EED? msg.JS.confirmDeleteMsgSecurities=\u6240\u9009\u6D88\u606F\u5B89\u5168\u914D\u7F6E\u5C06\u88AB\u5220\u9664\u3002\u662F\u5426\u7EE7\u7EED? msg.JS.confirmDeleteMsgProviders=\u6240\u9009\u63D0\u4F9B\u65B9\u5C06\u88AB\u5220\u9664\u3002\u662F\u5426\u7EE7\u7EED? msg.JS.confirmDeleteUser=\u6240\u9009\u7528\u6237\u5C06\u88AB\u5220\u9664\u3002\u662F\u5426\u7EE7\u7EED? @@ -74,8 +73,6 @@ security.Security=\u5B89\u5168\u6027 security.SecurityPageHelp=\u8BBE\u7F6E\u6574\u4E2A\u670D\u52A1\u5668\u7684\u5B89\u5168\u6027\u5C5E\u6027\u3002 security.SecurityManager=\u5B89\u5168\u7BA1\u7406\u5668 security.SecurityManagerHelp=\u901A\u8FC7\u5728 JVM \u8BBE\u7F6E\u4E2D\u6DFB\u52A0\u9009\u9879\u542F\u7528\u57DF\u7684\u5B89\u5168\u7BA1\u7406\u5668 -security.AuditLogging=\u5BA1\u8BA1\u65E5\u5FD7\u8BB0\u5F55 -security.AuditLoggingHelp=\u4F7F\u670D\u52A1\u5668\u53EF\u4EE5\u52A0\u8F7D\u5E76\u8FD0\u884C\u201C\u5BA1\u8BA1\u6A21\u5757\u201D\u8BBE\u7F6E\u4E2D\u6307\u5B9A\u7684\u6240\u6709\u5BA1\u8BA1\u6A21\u5757 security.DefaultRealm=\u9ED8\u8BA4\u9886\u57DF security.DefaultRealmHelp=\u6240\u6709\u5E94\u7528\u7A0B\u5E8F\u9A8C\u8BC1\u65F6\u6240\u4F7F\u7528\u7684\u9ED8\u8BA4\u9886\u57DF security.DefaultPrincipal=\u9ED8\u8BA4\u4E3B\u7528\u6237 @@ -84,14 +81,10 @@ security.DefaultPrincipalPassword=\u9ED8\u8BA4\u4E3B\u7528\u6237\u53E3\u4EE4 security.DefaultPrincipalPasswordHelp=\u9ED8\u8BA4\u4E3B\u7528\u6237\u5305\u542B\u4E00\u4E2A\u503C\u65F6\u9700\u8981 security.Jacc=JACC security.JaccHelp=\u7528\u4E8E\u914D\u7F6E JACC \u57FA\u7840\u7ED3\u6784\u7684 jacc-provider \u5143\u7D20\u7684\u540D\u79F0 -security.AuditModules=\u5BA1\u8BA1\u6A21\u5757 -security.AuditModulesHelp=\u7531\u5BA1\u8BA1\u5B50\u7CFB\u7EDF\u4F7F\u7528\u7684\u5BA1\u8BA1\u63D0\u4F9B\u65B9\u6A21\u5757\u5217\u8868; \u6309\u4F4F Ctrl \u952E\u5E76\u5355\u51FB\u53EF\u9009\u62E9\u591A\u4E2A\u5BA1\u8BA1\u63D0\u4F9B\u65B9\u6A21\u5757 security.RoleMapping=\u4E3B\u7528\u6237\u5230\u89D2\u8272\u7684\u9ED8\u8BA4\u6620\u5C04 security.RoleMappingHelp=\u5728\u6CA1\u6709\u5B9A\u4E49\u7279\u5B9A\u4E8E\u5E94\u7528\u7A0B\u5E8F\u7684\u6620\u5C04\u65F6\u5728\u90E8\u7F72\u4E0A\u5E94\u7528\u4E3B\u7528\u6237\u5230\u89D2\u8272\u7684\u9ED8\u8BA4\u6620\u5C04; \u4E0D\u5F71\u54CD\u5F53\u524D\u90E8\u7F72\u7684\u5E94\u7528\u7A0B\u5E8F security.MappedPrincipalClass=\u6620\u5C04\u7684\u4E3B\u7528\u6237\u7C7B security.MappedPrincipalClassHelp=\u5B9A\u5236\u4E3B\u7528\u6237\u5230\u89D2\u8272\u7684\u9ED8\u8BA4\u6620\u5C04\u4E2D\u4F7F\u7528\u7684 java.security.Principal \u5B9E\u73B0\u7C7B -security.AuditModule.auditOn=\u6253\u5F00\u5BA1\u8BA1 -security.secureAdmin=\u5B89\u5168\u7BA1\u7406 security.secureAdmin.newPageTitleHelp=\u542F\u7528\u6216\u7981\u7528\u5B89\u5168\u7BA1\u7406\u4F1A\u5F71\u54CD\u6574\u4E2A\u57DF, \u5305\u62EC DAS \u548C\u6240\u6709\u5B9E\u4F8B\u3002 security.secureAdmin.adminalias=\u7BA1\u7406\u522B\u540D: security.secureAdmin.adminaliasHelp=\u5F15\u7528 DAS \u4E0A\u7684 SSL/TLS \u8BC1\u4E66\u7684\u522B\u540D\u3002\u6B64\u522B\u540D\u7531\u5B9E\u4F8B\u7528\u4E8E\u5BF9 DAS \u8FDB\u884C\u9A8C\u8BC1\u3002 @@ -151,18 +144,6 @@ realm.charset=\u5B57\u7B26\u96C6: realm.charsetHelp=\u6458\u8981\u7B97\u6CD5\u7684\u5B57\u7B26\u96C6 realm.internalError=\u5185\u90E8\u9519\u8BEF\u3002\u6CA1\u6709\u6307\u5B9A\u9886\u57DF\u540D\u3002 -## Audit Modules -auditModule.TableTitle=\u6A21\u5757 -auditModule.PageTitle=\u5BA1\u8BA1\u6A21\u5757 -auditModule.PageHelp=\u4F7F\u7528\u5BA1\u8BA1\u6A21\u5757\u5BF9\u6240\u6709\u9A8C\u8BC1\u548C\u6388\u6743\u51B3\u7B56\u8FDB\u884C\u5BA1\u8BA1\u8DDF\u8E2A\u3002 -auditModule.Classname=\u7C7B\u540D: -auditModule.ClassnameHelp=\u5BA1\u8BA1\u6A21\u5757\u7C7B\u7684\u540D\u79F0 -auditModule.EditPageTitle=\u7F16\u8F91\u5BA1\u8BA1\u6A21\u5757 -auditModule.EditPageTitleHelp=\u5BF9\u6240\u6709\u9A8C\u8BC1\u548C\u6388\u6743\u51B3\u7B56\u8FDB\u884C\u5BA1\u8BA1\u8DDF\u8E2A\u3002 -auditModule.NewPageTitle=\u65B0\u5EFA\u5BA1\u8BA1\u6A21\u5757 -auditModule.NewPageTitleHelp=\u4F7F\u7528\u5BA1\u8BA1\u6A21\u5757\u5BF9\u6240\u6709\u9A8C\u8BC1\u548C\u6388\u6743\u51B3\u7B56\u8FDB\u884C\u5BA1\u8BA1\u8DDF\u8E2A\u3002 - - ## Manage Users manageUsers.UserID=\u7528\u6237 ID: manageUsers.UserIDHelp=\u540D\u79F0\u6700\u591A\u53EF\u4EE5\u5305\u542B 255 \u4E2A\u5B57\u7B26, \u5E76\u4E14\u53EA\u80FD\u5305\u542B\u5B57\u6BCD, \u6570\u5B57, \u4E0B\u5212\u7EBF, \u77ED\u5212\u7EBF\u6216\u70B9\u5B57\u7B26 diff --git a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_zh_TW.properties b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_zh_TW.properties index 46a7ae15352..136f9560eb0 100644 --- a/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_zh_TW.properties +++ b/appserver/admingui/common-l10n/src/main/resources/org/glassfish/common/admingui/Strings_zh_TW.properties @@ -46,7 +46,6 @@ tree.domain=\u7DB2\u57DF ## All the msg.JS.xxx strings are showed by JavaScript in a popup window. Ensure that no ' (apostrophe) is included in them msg.JS.confirmDeleteRealms=\u5C07\u522A\u9664\u6240\u9078\u53D6\u7684\u7BC4\u570D\u3002\u662F\u5426\u7E7C\u7E8C\uFF1F msg.JS.confirmDeleteJaccProviders=\u5C07\u522A\u9664\u6240\u9078\u53D6\u7684 JACC \u63D0\u4F9B\u8005\u3002\u662F\u5426\u7E7C\u7E8C\uFF1F -msg.JS.confirmDeleteAuditModules=\u5C07\u522A\u9664\u6240\u9078\u53D6\u7684\u7A3D\u6838\u6A21\u7D44\u3002\u662F\u5426\u7E7C\u7E8C\uFF1F msg.JS.confirmDeleteMsgSecurities=\u5C07\u522A\u9664\u6240\u9078\u53D6\u7684\u8A0A\u606F\u5B89\u5168\u6027\u7D44\u614B\u3002\u662F\u5426\u7E7C\u7E8C\uFF1F msg.JS.confirmDeleteMsgProviders=\u5C07\u522A\u9664\u6240\u9078\u53D6\u7684\u63D0\u4F9B\u8005\u3002\u662F\u5426\u7E7C\u7E8C\uFF1F msg.JS.confirmDeleteUser=\u5C07\u522A\u9664\u6240\u9078\u53D6\u7684\u4F7F\u7528\u8005\u3002\u662F\u5426\u7E7C\u7E8C\uFF1F @@ -74,8 +73,6 @@ security.Security=\u5B89\u5168\u6027 security.SecurityPageHelp=\u8A2D\u5B9A\u6574\u500B\u4F3A\u670D\u5668\u7684\u5B89\u5168\u6027\u7279\u6027\u3002 security.SecurityManager=\u5B89\u5168\u6027\u7BA1\u7406\u7A0B\u5F0F security.SecurityManagerHelp=\u5728 JVM \u8A2D\u5B9A\u4E2D\u589E\u52A0\u9078\u9805\uFF0C\u70BA\u7DB2\u57DF\u555F\u7528\u5B89\u5168\u6027\u7BA1\u7406\u7A0B\u5F0F -security.AuditLogging=\u7A3D\u6838\u65E5\u8A8C -security.AuditLoggingHelp=\u4F7F\u4F3A\u670D\u5668\u53EF\u8F09\u5165\u4E26\u57F7\u884C\u5728\u300C\u7A3D\u6838\u6A21\u7D44\u300D\u8A2D\u5B9A\u4E2D\u6307\u5B9A\u7684\u6240\u6709\u7A3D\u6838\u6A21\u7D44 security.DefaultRealm=\u9810\u8A2D\u7BC4\u570D security.DefaultRealmHelp=\u6240\u6709\u61C9\u7528\u7A0B\u5F0F\u7528\u65BC\u8A8D\u8B49\u7684\u9810\u8A2D\u7BC4\u570D security.DefaultPrincipal=\u9810\u8A2D\u4E3B\u9AD4 @@ -84,13 +81,10 @@ security.DefaultPrincipalPassword=\u9810\u8A2D\u4E3B\u9AD4\u5BC6\u78BC security.DefaultPrincipalPasswordHelp=\u9810\u8A2D\u4E3B\u9AD4\u5305\u542B\u503C\u6642\u9700\u8981 security.Jacc=JACC security.JaccHelp=\u7528\u4EE5\u7D44\u614B JACC \u57FA\u790E\u67B6\u69CB\u7684 jacc-provider \u5143\u7D20\u7684\u540D\u7A31 -security.AuditModules=\u7A3D\u6838\u6A21\u7D44 -security.AuditModulesHelp=\u7531\u7A3D\u6838\u5B50\u7CFB\u7D71\u4F7F\u7528\u7684\u7A3D\u6838\u63D0\u4F9B\u8005\u6A21\u7D44\u6E05\u55AE\uFF1B\u6309\u4F4F Ctrl \u9375\u4E26\u4EE5\u6ED1\u9F20\u9078\u53D6\u591A\u9805 security.RoleMapping=\u9810\u8A2D\u4E3B\u9AD4\u81F3\u89D2\u8272\u7684\u5C0D\u61C9 security.RoleMappingHelp=\u672A\u5B9A\u7FA9\u61C9\u7528\u7A0B\u5F0F\u7279\u5B9A\u7684\u5C0D\u61C9\u6642\uFF0C\u65BC\u5EFA\u7F6E\u6642\u5957\u7528\u9810\u8A2D\u4E3B\u9AD4\u81F3\u89D2\u8272\u7684\u5C0D\u61C9\uFF1B\u4E0D\u6703\u5F71\u97FF\u76EE\u524D\u5EFA\u7F6E\u7684\u61C9\u7528\u7A0B\u5F0F security.MappedPrincipalClass=\u5C0D\u61C9\u7684\u4E3B\u9AD4\u985E\u5225 security.MappedPrincipalClassHelp=\u81EA\u8A02\u9810\u8A2D\u4E3B\u9AD4\u81F3\u89D2\u8272\u7684\u5C0D\u61C9\u4E2D\u4F7F\u7528\u7684 java.security.Principal \u5BE6\u884C\u985E\u5225 -security.AuditModule.auditOn=\u7A3D\u6838\u65BC security.secureAdmin=\u5B89\u5168\u7BA1\u7406 security.secureAdmin.newPageTitleHelp=\u555F\u7528\u6216\u505C\u7528\u5B89\u5168\u7BA1\u7406\u6703\u5F71\u97FF\u6574\u500B\u7DB2\u57DF\uFF0C\u5305\u62EC DAS \u53CA\u6240\u6709\u57F7\u884C\u8655\u7406\u3002 security.secureAdmin.adminalias=\u7BA1\u7406\u5225\u540D\uFF1A @@ -149,19 +143,7 @@ realm.encoding=\u7DE8\u78BC\uFF1A realm.encodingHelp=\u7DE8\u78BC (\u5141\u8A31\u7684\u503C\u70BA Hex \u548C Base64) realm.charset=\u5B57\u5143\u96C6\uFF1A realm.charsetHelp=\u6458\u8981\u6F14\u7B97\u6CD5\u7684\u5B57\u5143\u96C6 -realm.internalError=\u5167\u90E8\u932F\u8AA4\u3002\u672A\u6307\u5B9A\u4EFB\u4F55\u7BC4\u570D\u540D\u7A31\u3002 - -## Audit Modules -auditModule.TableTitle=\u6A21\u7D44 -auditModule.PageTitle=\u7A3D\u6838\u6A21\u7D44 -auditModule.PageHelp=\u4F7F\u7528\u7A3D\u6838\u6A21\u7D44\u958B\u767C\u6240\u6709\u8A8D\u8B49\u548C\u6388\u6B0A\u6C7A\u7B56\u7684\u7A3D\u6838\u8FFD\u8E64\u3002 -auditModule.Classname=\u985E\u5225\u540D\u7A31\uFF1A -auditModule.ClassnameHelp=\u7A3D\u6838\u6A21\u7D44\u985E\u5225\u7684\u540D\u7A31 -auditModule.EditPageTitle=\u7DE8\u8F2F\u7A3D\u6838\u6A21\u7D44 -auditModule.EditPageTitleHelp=\u958B\u767C\u6240\u6709\u8A8D\u8B49\u548C\u6388\u6B0A\u6C7A\u7B56\u7684\u7A3D\u6838\u8FFD\u8E64\u3002 -auditModule.NewPageTitle=\u65B0\u5EFA\u7A3D\u6838\u6A21\u7D44 -auditModule.NewPageTitleHelp=\u4F7F\u7528\u7A3D\u6838\u6A21\u7D44\u958B\u767C\u6240\u6709\u8A8D\u8B49\u548C\u6388\u6B0A\u6C7A\u7B56\u7684\u7A3D\u6838\u8FFD\u8E64\u3002 - +realm.internalError=\u5167\u90E8\u932F\u8AA4\u3002\u672A\u6307\u5B9A\u4EFB\u4F55\u7BC4\u570D\u540D\u7A31\u3002 ## Manage Users manageUsers.UserID=\u4F7F\u7528\u8005 ID\uFF1A diff --git a/appserver/admingui/common/src/main/help/en/help/idx-1.html b/appserver/admingui/common/src/main/help/en/help/idx-1.html index 125a11b8e6f..d4ec26ea5b1 100644 --- a/appserver/admingui/common/src/main/help/en/help/idx-1.html +++ b/appserver/admingui/common/src/main/help/en/help/idx-1.html @@ -1,7 +1,6 @@ +

Index

A

@@ -83,18 +83,6 @@
-
audit modules
-
creating (reference), New Audit Module
-
creating (task), To Create an Audit Module
-
deleting, To Delete an Audit Module
-
editing (reference), Edit Audit Module
-
editing (task), To Edit an Audit Module
-
enabling and disabling, To Enable or Disable Audit Logging
-
properties, Properties Specific to Audit Modules
-
setting active, To Set the Active Audit Module
-
using the default, To Use the Default Audit Module
-
viewing and configuring, Audit Modules
-
diff --git a/appserver/admingui/common/src/main/help/en/help/idx-3.html b/appserver/admingui/common/src/main/help/en/help/idx-3.html index 10c397aa25e..7e30fb5c3af 100644 --- a/appserver/admingui/common/src/main/help/en/help/idx-3.html +++ b/appserver/admingui/common/src/main/help/en/help/idx-3.html @@ -1,7 +1,6 @@ +

P

@@ -44,7 +44,6 @@

P

properties
-
audit modules, Properties Specific to Audit Modules
certificate realm, Properties Specific to the CertificateRealm Class
file realm, Properties Specific to the FileRealm Class
JACC providers, Properties Specific to JACC Providers
diff --git a/appserver/admingui/common/src/main/help/en/help/index.xml b/appserver/admingui/common/src/main/help/en/help/index.xml index eeb4b8bc601..7d9ff4be149 100644 --- a/appserver/admingui/common/src/main/help/en/help/index.xml +++ b/appserver/admingui/common/src/main/help/en/help/index.xml @@ -68,18 +68,6 @@ - - - - - - - - - - - - @@ -279,7 +267,6 @@ - diff --git a/appserver/admingui/common/src/main/help/en/help/ref-auditmoduleedit.html b/appserver/admingui/common/src/main/help/en/help/ref-auditmoduleedit.html deleted file mode 100644 index 1dfd0342639..00000000000 --- a/appserver/admingui/common/src/main/help/en/help/ref-auditmoduleedit.html +++ /dev/null @@ -1,84 +0,0 @@ - - - -

- -

Edit Audit Module

- -

Use the Edit Audit Module page to modify an audit module.

-

The Edit Audit Module page contains the following options.

-
-
Configuration Name
-
-

The name of the configuration to which the settings on this page apply. This field is read only.

-
-
Name
-
-

The name of the audit module. This is a read-only field. You can only specify the name when you create a new audit module.

-
-
Class Name
-
-

The fully qualified name of the class that implements this module. The class name for the default audit module is com.sun.enterprise.security.Audit.

-
-
Additional Properties
-
-

Additional properties for the audit module.

-
-
- -
Related Tasks
- - -
Related asadmin Commands
- - - - -Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. Legal Notices -Portions Copyright © [2017-2020] Payara Foundation and/or affiliates. diff --git a/appserver/admingui/common/src/main/help/en/help/ref-auditmodulenew.html b/appserver/admingui/common/src/main/help/en/help/ref-auditmodulenew.html deleted file mode 100644 index 5c54496d813..00000000000 --- a/appserver/admingui/common/src/main/help/en/help/ref-auditmodulenew.html +++ /dev/null @@ -1,83 +0,0 @@ - - - -

- -

New Audit Module

- -

Use the New Audit Module page to define a new audit module.

-

The New Audit Module page contains the following options.

-
-
Configuration Name
-
-

The name of the configuration to which the settings on this page apply. This field is read only.

-
-
Name
-
-

Name for the new audit module.

-
-
Class Name
-
-

The fully qualified name of the class that implements this module. The class name for the default audit module is com.sun.enterprise.security.Audit.

-
-
Additional Properties
-
-

Additional properties for the audit module.

-
-
- -
Related Tasks
- - -
Related asadmin Commands
- - - -Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. Legal Notices -Portions Copyright © [2017-2020] Payara Foundation and/or affiliates. diff --git a/appserver/admingui/common/src/main/help/en/help/ref-auditmoduleprop.html b/appserver/admingui/common/src/main/help/en/help/ref-auditmoduleprop.html deleted file mode 100644 index b2eeb7ed460..00000000000 --- a/appserver/admingui/common/src/main/help/en/help/ref-auditmoduleprop.html +++ /dev/null @@ -1,34 +0,0 @@ - - -

- -

Properties Specific to Audit Modules

- -

The following property is available for an audit module.

-
-
auditOn
-
-

A value of true causes the loading of the audit module and ensures that it is called by the Payara Server's audit library at audit points. A value of false disables audit logging for the module.

-
-
- - -Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. Legal Notices -Portions Copyright © [2017-2020] Payara Foundation and/or affiliates. diff --git a/appserver/admingui/common/src/main/help/en/help/ref-auditmodules.html b/appserver/admingui/common/src/main/help/en/help/ref-auditmodules.html deleted file mode 100644 index defa8079af8..00000000000 --- a/appserver/admingui/common/src/main/help/en/help/ref-auditmodules.html +++ /dev/null @@ -1,65 +0,0 @@ - - - -

- -

Audit Modules

- -

Use the Audit Modules page to configure audit modules.

-

Auditing is how Payara Server records significant events, such as errors or security breaches. Payara Server records all authentication events in log files. A complete access log provides a sequential trail of Payara Server access events.

-

For each audit module, the following information is provided.

-
-
Name
-
-

The name of the audit module.

-
-
Class Name
-
-

The fully qualified name of the class that implements this module. The class name for the default audit module is com.sun.enterprise.security.Audit.

-
-
-

The Modules table also contains the following options.

-
-
New
-
-

Button to create a new audit module.

-
-
Delete
-
-

Button to delete one or more selected audit modules.

-
-
- -
Related asadmin Commands
- - - -Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. Legal Notices -Portions Copyright © [2017-2020] Payara Foundation and/or affiliates. diff --git a/appserver/admingui/common/src/main/help/en/help/ref-group-auditmodules.html b/appserver/admingui/common/src/main/help/en/help/ref-group-auditmodules.html deleted file mode 100644 index 14b54a468b0..00000000000 --- a/appserver/admingui/common/src/main/help/en/help/ref-group-auditmodules.html +++ /dev/null @@ -1,24 +0,0 @@ - - -

- -

Audit Modules

-Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. Legal Notices -Portions Copyright © [2017-2020] Payara Foundation and/or affiliates. diff --git a/appserver/admingui/common/src/main/help/en/help/ref-security.html b/appserver/admingui/common/src/main/help/en/help/ref-security.html index 0269e5b2966..66104f7d7c3 100644 --- a/appserver/admingui/common/src/main/help/en/help/ref-security.html +++ b/appserver/admingui/common/src/main/help/en/help/ref-security.html @@ -16,7 +16,7 @@ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 --> - +

@@ -35,10 +35,6 @@

When this option is enabled, a JVM option, -Djava.security.manager, will be added to the JVM setting of the Payara Server. See To Configure the JVM Options. You must restart the server to enable this change.

Ensure that you have granted correct permissions for all applications. You can turn off the security manager to enhance performance.

-
Audit Logging
-
-

If this option is enabled, the server will load and run all the audit modules specified in the Audit Modules setting. If the option is disabled, the server will not access audit modules. This option is disabled by default.

-
Default Realm

The active (default) realm that the server uses for authentication. Applications use this realm unless their deployment descriptor specifies a different realm. All configured realms appear in the list. The default value is file.

@@ -56,10 +52,6 @@

The class name of a configured JACC provider. The default value is default.

-
Audit Modules
-
-

The audit provider modules that will be used by the audit subsystem if audit logging is enabled. By default, the server uses an audit module named default.

-
Default Principal To Role Mapping Enabled

If this option is selected, default principal-to-role mapping is applied to applications that do not have an application-specific mapping.

@@ -98,9 +90,6 @@
Related Tasks

To Configure Security Settings

  • -

    To Create an Audit Module

    -
  • -
  • To Change the Password for a User in the Admin Realm

  • diff --git a/appserver/admingui/common/src/main/help/en/help/task-auditmoduledelete.html b/appserver/admingui/common/src/main/help/en/help/task-auditmoduledelete.html deleted file mode 100644 index 4344c309423..00000000000 --- a/appserver/admingui/common/src/main/help/en/help/task-auditmoduledelete.html +++ /dev/null @@ -1,75 +0,0 @@ - - -

    - -

    To Delete an Audit Module

    - -
      -
    1. -

      In the navigation tree, expand the Configuration node.

      -
    2. -
    3. -

      Select the instance to configure:

      -
        -
      • -

        To configure a particular instance, expand the instance's config node. For example, the default instance, server, expand the server-config node.

        -
      • -
      • -

        To configure the default settings for all instances, expand the default-config node.

        -
      • -
      -
    4. -
    5. -

      Under the Configuration node, expand the Security node.

      -
    6. -
    7. -

      Under the Security node, select the Audit Modules node.

      -

      The Audit Modules page opens.

      -
    8. -
    9. -

      On the Audit Modules page, select the checkbox to the left of the audit module that you are deleting.

      -
    10. -
    11. -

      Click Delete.

      -
    12. -
    - -
    See Also
    - - - -Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. Legal Notices -Portions Copyright © [2017-2020] Payara Foundation and/or affiliates. diff --git a/appserver/admingui/common/src/main/help/en/help/task-auditmoduleedit.html b/appserver/admingui/common/src/main/help/en/help/task-auditmoduleedit.html deleted file mode 100644 index 5bf183e8134..00000000000 --- a/appserver/admingui/common/src/main/help/en/help/task-auditmoduleedit.html +++ /dev/null @@ -1,95 +0,0 @@ - - - -

    - -

    To Edit an Audit Module

    - -

    Audit modules are not turned on by default.

    -
      -
    1. -

      In the navigation tree, expand the Configuration node.

      -
    2. -
    3. -

      Select the instance to configure:

      -
        -
      • -

        To configure a particular instance, expand the instance's config node. For example, the default instance, server, expand the server-config node.

        -
      • -
      • -

        To configure the default settings for all instances, expand the default-config node.

        -
      • -
      -
    4. -
    5. -

      Under the Configuration node, expand the Security node.

      -
    6. -
    7. -

      Under the Security node, select the Audit Modules node.

      -

      The Audit Modules page opens.

      -
    8. -
    9. -

      On the Audit Modules page, click the name of the audit module that you are editing.

      -

      The Edit Audit Module page opens.

      -
    10. -
    11. -

      On the Edit Audit Module page, type a new value in the Class Name field to modify the class name.

      -
    12. -
    13. -

      In the Additional Properties section, specify additional properties.

      -
        -
      • -

        To add a property, click the Add Property button. In the blank row that appears, type the property name in the Name field, and type the property value in the Value field.

        -
      • -
      • -

        To modify a property, edit that property's Value field.

        -
      • -
      • -

        To delete a property, select the checkbox to the left of the Name field of the property that you are deleting, then click the Delete Properties button.

        -
      • -
      -
    14. -
    15. -

      Click Save.

      -
    16. -
    - -
    See Also
    - - - -Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. Legal Notices -Portions Copyright © [2017-2020] Payara Foundation and/or affiliates. diff --git a/appserver/admingui/common/src/main/help/en/help/task-auditmodulenew.html b/appserver/admingui/common/src/main/help/en/help/task-auditmodulenew.html deleted file mode 100644 index 5749583ca46..00000000000 --- a/appserver/admingui/common/src/main/help/en/help/task-auditmodulenew.html +++ /dev/null @@ -1,90 +0,0 @@ - - - -

    - -

    To Create an Audit Module

    - -

    Auditing is how Payara Server records significant events, such as errors or security breaches. Payara Server records all authentication events in log files. A complete access log provides a sequential trail of Payara Server access events.

    -

    The Payara Server provides a simple default audit module; for more information, see To Use the Default Audit Module.

    -
      -
    1. -

      In the navigation tree, expand the Configuration node.

      -
    2. -
    3. -

      Select the instance to configure:

      -
        -
      • -

        To configure a particular instance, expand the instance's config node. For example, the default instance, server, expand the server-config node.

        -
      • -
      • -

        To configure the default settings for all instances, expand the default-config node.

        -
      • -
      -
    4. -
    5. -

      Under the Configuration node, expand the Security node.

      -
    6. -
    7. -

      Under the Security node, select the Audit Modules node.

      -

      The Audit Modules page opens.

      -
    8. -
    9. -

      On the Audit Modules page, click New.

      -

      The New Audit Module page opens.

      -
    10. -
    11. -

      On the New Audit Module page, in the Name field, type the name of the audit module.

      -
    12. -
    13. -

      In the Class Name field, type the fully qualified name of the class that implements this module.

      -

      The class name for the default audit module is com.sun.enterprise.security.Audit.

      -
    14. -
    15. -

      In the Additional Properties section, specify additional properties.

      -

      To add a property, click the Add Property button. In the blank row that appears, type the property name in the Name field, and type the property value in the Value field.

      -
    16. -
    17. -

      Click OK.

      -
    18. -
    - -
    See Also
    - - - -Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. Legal Notices -Portions Copyright © [2017-2020] Payara Foundation and/or affiliates. diff --git a/appserver/admingui/common/src/main/help/en/help/task-enabledisableauditmod.html b/appserver/admingui/common/src/main/help/en/help/task-enabledisableauditmod.html deleted file mode 100644 index 10e97fa88b0..00000000000 --- a/appserver/admingui/common/src/main/help/en/help/task-enabledisableauditmod.html +++ /dev/null @@ -1,73 +0,0 @@ - - -

    - -

    To Enable or Disable Audit Logging

    - -
      -
    1. -

      In the navigation tree, expand the Configuration node.

      -
    2. -
    3. -

      Select the instance to configure:

      -
        -
      • -

        To configure a particular instance, expand the instance's config node. For example, the default instance, server, expand the server-config node.

        -
      • -
      • -

        To configure the default settings for all instances, expand the default-config node.

        -
      • -
      -
    4. -
    5. -

      Under the Configuration node, select the Security node.

      -

      The Security page opens.

      -
    6. -
    7. -

      On the Security page, select the Audit Logging Enabled checkbox to enable audit logging.

      -

      To activate audit logging, you must also set the auditOn property for the active audit module to true.

      -
    8. -
    9. -

      Click Save.

      -
    10. -
    - -
    See Also
    - - - -Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. Legal Notices -Portions Copyright © [2017-2020] Payara Foundation and/or affiliates. diff --git a/appserver/admingui/common/src/main/help/en/help/task-securitysettings.html b/appserver/admingui/common/src/main/help/en/help/task-securitysettings.html index 09ef8007524..2b957515f02 100644 --- a/appserver/admingui/common/src/main/help/en/help/task-securitysettings.html +++ b/appserver/admingui/common/src/main/help/en/help/task-securitysettings.html @@ -16,7 +16,7 @@ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 --> - +

    @@ -41,10 +41,6 @@

    To

    Ensure that you have granted correct permissions for all applications. You can turn off the security manager to enhance performance. This option is disabled by default.

  • -

    Select the Audit Logging Enabled checkbox to turn on audit logging.

    -

    If this option is enabled, the server will load and run all the audit modules selected in the Audit Modules list. If this option is disabled, the server will not access audit modules. This option is disabled by default.

    -
  • -
  • From the Default Realm drop-down list, select an active realm that the server will use for authentication.

    Applications will use this realm unless their deployment descriptor specifies a different realm. All configured realms appear in the list. The default value is file.

  • @@ -64,7 +60,6 @@

    To
  • From the JACC drop-down list, select the name of a configured JACC provider.

    The default choices are default and simple. The default option is default.

    -

    By default, the server uses an audit module named default.

  • Select the Default Principal To Role Mapping Enabled checkbox to apply a default principal-to-role mapping to applications that do not have an application-specific mapping.

    diff --git a/appserver/admingui/common/src/main/help/en/help/task-setactiveauditmod.html b/appserver/admingui/common/src/main/help/en/help/task-setactiveauditmod.html deleted file mode 100644 index dc46030ad40..00000000000 --- a/appserver/admingui/common/src/main/help/en/help/task-setactiveauditmod.html +++ /dev/null @@ -1,73 +0,0 @@ - - -

    - -

    To Set the Active Audit Module

    - -
      -
    1. -

      In the navigation tree, expand the Configuration node.

      -
    2. -
    3. -

      Select the instance to configure:

      -
        -
      • -

        To configure a particular instance, expand the instance's config node. For example, the default instance, server, expand the server-config node.

        -
      • -
      • -

        To configure the default settings for all instances, expand the default-config node.

        -
      • -
      -
    4. -
    5. -

      Under the Configuration node, select the Security node.

      -

      The Security page opens.

      -
    6. -
    7. -

      From the Audit Modules drop-down list, select the name of the audit module to be used by the server.

      -

      By default, there is only one available audit module, named default.

      -
    8. -
    9. -

      Click Save.

      -
    10. -
    - -
    See Also
    - - - -Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. Legal Notices -Portions Copyright © [2017-2020] Payara Foundation and/or affiliates. diff --git a/appserver/admingui/common/src/main/help/en/help/task-usedefaultauditmod.html b/appserver/admingui/common/src/main/help/en/help/task-usedefaultauditmod.html deleted file mode 100644 index e9a6384c669..00000000000 --- a/appserver/admingui/common/src/main/help/en/help/task-usedefaultauditmod.html +++ /dev/null @@ -1,103 +0,0 @@ - - - -

    - -

    To Use the Default Audit Module

    - -

    The default audit module logs authentication and authorization requests to the server log file.

    -

    Authentication log entries include the following information:

    -
      -
    • -

      Names of users who attempted to authenticate

      -
    • -
    • -

      The realm that processed the access request

      -
    • -
    • -

      The requested Web module URI or EJB component

      -
    • -
    • -

      Success or failure of the request

      -
    • -
    -

    Regardless of whether audit logging is enabled, the Payara Server logs all denied authentication events.

    -

    Authorization log entries include the following information:

    -
      -
    • -

      Names of authenticated users, if any

      -
    • -
    • -

      The requested Web URI or EJB component

      -
    • -
    • -

      Success or failure of the requests

      -
    • -
    -
      -
    1. -

      In the navigation tree, expand the Configuration node.

      -
    2. -
    3. -

      Select the instance to configure:

      -
        -
      • -

        To configure a particular instance, expand the instance's config node. For example, the default instance, server, expand the server-config node.

        -
      • -
      • -

        To configure the default settings for all instances, expand the default-config node.

        -
      • -
      -
    4. -
    5. -

      Under the Configuration node, select the Security node.

      -

      The Security page opens.

      -
    6. -
    7. -

      From the Audit Modules drop-down list, select the audit module named default.

      -
    8. -
    9. -

      Click Save.

      -
    10. -
    - -
    See Also
    - - - - -Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. Legal Notices -Portions Copyright © [2017-2020] Payara Foundation and/or affiliates. diff --git a/appserver/admingui/common/src/main/help/en/help/toc.xml b/appserver/admingui/common/src/main/help/en/help/toc.xml index 64825c586c7..9e531235a66 100644 --- a/appserver/admingui/common/src/main/help/en/help/toc.xml +++ b/appserver/admingui/common/src/main/help/en/help/toc.xml @@ -92,14 +92,6 @@ - - - - - - - - @@ -195,7 +187,6 @@ - diff --git a/appserver/admingui/common/src/main/resources/org/glassfish/common/admingui/Helplinks.properties b/appserver/admingui/common/src/main/resources/org/glassfish/common/admingui/Helplinks.properties index 7a7d60aa4fb..5a8caf1e171 100644 --- a/appserver/admingui/common/src/main/resources/org/glassfish/common/admingui/Helplinks.properties +++ b/appserver/admingui/common/src/main/resources/org/glassfish/common/admingui/Helplinks.properties @@ -45,14 +45,6 @@ jmxConnectorEdit=ref-jmxconnectoredit.html jmxSSLEdit=ref-jmxconnectorssledit.html - -############################## -# AUDIT MODULES -############################## -auditModules=ref-auditmodules.html -auditModuleNew=ref-auditmodulenew.html -auditModuleEdit=ref-auditmoduleedit.html - ############################## # FILE-REALM ############################## diff --git a/appserver/admingui/common/src/main/resources/org/glassfish/common/admingui/Strings.properties b/appserver/admingui/common/src/main/resources/org/glassfish/common/admingui/Strings.properties index 22a2412a083..ece10ef6c4e 100644 --- a/appserver/admingui/common/src/main/resources/org/glassfish/common/admingui/Strings.properties +++ b/appserver/admingui/common/src/main/resources/org/glassfish/common/admingui/Strings.properties @@ -46,7 +46,6 @@ tree.domain=Domain ## All the msg.JS.xxx strings are showed by JavaScript in a popup window. Ensure that no ' (apostrophe) is included in them msg.JS.confirmDeleteRealms=Selected Realm(s) will be deleted. Continue? msg.JS.confirmDeleteJaccProviders=Selected JACC Provider(s) will be deleted. Continue? -msg.JS.confirmDeleteAuditModules=Selected Audit Module(s) will be deleted. Continue? msg.JS.confirmDeleteMsgSecurities=Selected Message Security Configuration(s) will be deleted. Continue? msg.JS.confirmDeleteMsgProviders=Selected Provider(s) will be deleted. Continue? msg.JS.confirmDeleteUser=Selected User(s) will be deleted. Continue? @@ -78,8 +77,6 @@ security.SecurityManager=Security Manager security.SecurityManagerHelp=Enable the security manager for the domain by adding an option in the JVM Settings security.AdminAudit=Admin Audit security.AdminAuditHelp=Audit admin commands -security.AuditLogging=Enable Audit Modules -security.AuditLoggingHelp=Enable server to load and run all audit modules specified in the Audit Modules setting security.DefaultRealm=Default Realm security.DefaultRealmHelp=Default realm used by all applications for authentication security.DefaultPrincipal=Default Principal @@ -88,13 +85,10 @@ security.DefaultPrincipalPassword=Default Principal Password security.DefaultPrincipalPasswordHelp=Required if Default Principal contains a value security.Jacc=JACC security.JaccHelp=Name of the jacc-provider element to use for configuring the JACC infrastructure -security.AuditModules=Audit Modules -security.AuditModulesHelp=List of audit provider modules used by the audit subsystem; Control-click to multiple-select security.RoleMapping=Default Principal To Role Mapping security.RoleMappingHelp=Apply default principal-to-role mapping at deployment when application-specific mapping is not defined; does not affect currently deployed applications security.MappedPrincipalClass=Mapped Principal Class security.MappedPrincipalClassHelp=Customize the java.security.Principal implementation class used for default principal-to-role mapping -security.AuditModule.auditOn=Audit On security.secureAdmin=Secure Administration security.secureAdmin.newPageTitleHelp=Enabling or Disabling secure admin affects the entire domain, including the DAS and all instances. security.secureAdmin.adminalias=Administration Alias: @@ -159,17 +153,6 @@ realm.loginmodule.jaaxNote=(passed as property jaas-context to real realm.loginmodule.class=Login Module Class: realm.loginmodule.classHelp=Class name of the login module -## Audit Modules -auditModule.TableTitle=Modules -auditModule.PageTitle=Audit Modules -auditModule.PageHelp=Use audit modules to develop an audit trail of all authentication and authorization decisions. -auditModule.Classname=Class Name: -auditModule.ClassnameHelp=Name of audit module class -auditModule.EditPageTitle=Edit Audit Module -auditModule.EditPageTitleHelp=Develops an audit trail of all authentication and authorization decisions. -auditModule.NewPageTitle=New Audit Module -auditModule.NewPageTitleHelp=Use audit modules to develop an audit trail of all authentication and authorization decisions. - ## Manage Users manageUsers.UserID=User ID: diff --git a/appserver/admingui/common/src/main/resources/pluginTreeNodeSecurity.jsf b/appserver/admingui/common/src/main/resources/pluginTreeNodeSecurity.jsf index 5a40b11e8be..5f8770cbed3 100644 --- a/appserver/admingui/common/src/main/resources/pluginTreeNodeSecurity.jsf +++ b/appserver/admingui/common/src/main/resources/pluginTreeNodeSecurity.jsf @@ -39,7 +39,7 @@ holder. --> - + @@ -89,25 +89,6 @@ - - - gf.restRequest(endpoint="#{sessionScope.REST_URL}/configs/config/${configName}/security-service/audit-module.json" method="get" result="#{requestScope.resp}"); - setAttribute(key="children" value="#{requestScope.resp.data.extraProperties.childResources}"); - - - - - - - diff --git a/appserver/admingui/common/src/main/resources/security/auditModules/auditModule.inc b/appserver/admingui/common/src/main/resources/security/auditModules/auditModule.inc deleted file mode 100644 index 58f474d26e1..00000000000 --- a/appserver/admingui/common/src/main/resources/security/auditModules/auditModule.inc +++ /dev/null @@ -1,63 +0,0 @@ - - - - -#include "/common/shared/configNameSection.inc" - - - - - - - - - - - - - - - - - - diff --git a/appserver/admingui/common/src/main/resources/security/auditModules/auditModuleEdit.jsf b/appserver/admingui/common/src/main/resources/security/auditModules/auditModuleEdit.jsf deleted file mode 100644 index 634d29b3d22..00000000000 --- a/appserver/admingui/common/src/main/resources/security/auditModules/auditModuleEdit.jsf +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - $page{configName} default="server-config"); - getRequestValue(key="name" value="#{pageSession.Name}"); - urlencode(value="#{pageSession.Name}" encoding="UTF-8" result="#{pageSession.encodedName}"); - urlencode(value="#{pageSession.configName}" encoding="UTF-8" result="#{pageSession.encodedConfigName}"); - setPageSessionAttribute(key="selfPage" value="#{request.contextPath}/common/security/auditModules/auditModuleEdit.jsf?name=#{pageSession.encodedName}&configName=#{pageSession.encodedConfigName}"); - setPageSessionAttribute(key="parentPage" value="#{request.contextPath}/common/security/auditModules/auditModules.jsf"); - setPageSessionAttribute(key="childType" value="audit-modules"); - setPageSessionAttribute(key="parentUrl", value="#{sessionScope.REST_URL}/configs/config/#{pageSession.configName}/security-service"); - setPageSessionAttribute(key="selfUrl", value="#{pageSession.parentUrl}/audit-module/#{pageSession.encodedName}"); - setPageSessionAttribute(key="rest-api" value="true"); - gf.getEntityAttrs(endpoint="#{pageSession.selfUrl}.json", valueMap="#{pageSession.valueMap}"); - gf.restRequest(endpoint="#{pageSession.selfUrl}/property.json" method="GET" result="#{requestScope.propTable}"); - setPageSessionAttribute(key="tableList" value="#{requestScope.propTable.data.extraProperties.properties}"); - //set the following for including buttons.inc - setPageSessionAttribute(key="edit" value="#{true}" ); - setPageSessionAttribute(key="showDefaultButton" value="#{false}" ); - setPageSessionAttribute(key="showCancelButton" value="#{true}" ); - setPageSessionAttribute(key="hasPropertySheet" value="#{true}" ); - setPageSessionAttribute(key="hasPropertyTable" value="#{true}" ); - /> - - - -#include "/common/shared/alertMsg.inc" - - - -#include "/common/shared/editPageButtons.inc" - -#include "/common/security/auditModules/auditModule.inc" -#include "/common/shared/propertyDescTable.inc" - - - -#include "/common/shared/changeButtonsJS.inc" - - diff --git a/appserver/admingui/common/src/main/resources/security/auditModules/auditModuleNew.jsf b/appserver/admingui/common/src/main/resources/security/auditModules/auditModuleNew.jsf deleted file mode 100644 index beb0e5b112f..00000000000 --- a/appserver/admingui/common/src/main/resources/security/auditModules/auditModuleNew.jsf +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - $page{configName} default="server-config"); - setPageSessionAttribute(key="parentPage" value="#{request.contextPath}/common/security/auditModules/auditModules.jsf"); - setPageSessionAttribute(key="childType" value="audit-module"); - setPageSessionAttribute(key="parentUrl", value="#{sessionScope.REST_URL}/configs/config/#{pageSession.configName}/security-service"); - setPageSessionAttribute(key="selfUrl", value="#{pageSession.parentUrl}/audit-module"); - setPageSessionAttribute(key="rest-api" value="true"); - gf.getDefaultValues(endpoint="#{pageSession.selfUrl}", valueMap="#{pageSession.valueMap}"); - mapPut(map="#{pageSession.valueMap}" key="target" value="#{pageSession.configName}"); - createList(size="0", result="#{pageSession.tableList}"); - //set the following for including buttons.inc - setPageSessionAttribute(key="edit" value="#{false}" ); - setPageSessionAttribute(key="showDefaultButton" value="#{false}" ); - setPageSessionAttribute(key="showCancelButton" value="#{true}" ); - setPageSessionAttribute(key="hasPropertySheet" value="#{true}" ); - setPageSessionAttribute(key="hasPropertyTable" value="#{true}" ); - /> - - - -#include "/common/shared/alertMsg.inc" - - - -#include "/common/shared/editPageButtons.inc" - -#include "/common/security/auditModules/auditModule.inc" -#include "/common/shared/propertyDescTable.inc" - - - -#include "/common/shared/changeButtonsJS.inc" - - diff --git a/appserver/admingui/common/src/main/resources/security/auditModules/auditModules.jsf b/appserver/admingui/common/src/main/resources/security/auditModules/auditModules.jsf deleted file mode 100644 index 44c33c165e4..00000000000 --- a/appserver/admingui/common/src/main/resources/security/auditModules/auditModules.jsf +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - $page{configName} ); - urlencode(value="#{pageSession.configName}" encoding="UTF-8" result="#{pageSession.encodedConfigName}"); - setPageSessionAttribute(key="childType" value="audit-module"); - setPageSessionAttribute(key="parentUrl", value="#{sessionScope.REST_URL}/configs/config/#{pageSession.configName}/security-service"); - setPageSessionAttribute(key="selfUrl", value="#{pageSession.parentUrl}/audit-module"); - setPageSessionAttribute(key="rest-api" value="true"); - gf.getChildList(parentEndpoint="#{pageSession.parentUrl}", childType="#{pageSession.childType}", result="#{requestScope.listOfRows}"); - createMap(result="#{pageSession.valueMap}"); - mapPut(map="#{pageSession.valueMap}" key="target" value="#{pageSession.configName}"); - setPageSessionAttribute(key="confirmDeleteMsg" value="$resource{i18nc.msg.JS.confirmDeleteAuditModules}"); - setPageSessionAttribute(key="createLink" value="#{request.contextPath}/common/security/auditModules/auditModuleNew.jsf?configName=#{pageSession.configName}"); - setPageSessionAttribute(key="listLink" value="#{request.contextPath}/common/security/auditModules/auditModules.jsf?configName=#{pageSession.configName}"); - setPageSessionAttribute(key="editLink" value="#{request.contextPath}/common/security/auditModules/auditModuleEdit.jsf?configName=#{pageSession.configName}"); - setPageSessionAttribute(key="tableTitle" value="$resource{i18nc.auditModule.TableTitle}"); - /> - -" - - -#include "/common/shared/alertMsg.inc" - - "

    -#include "/common/shared/configNameSection.inc" - - - $page{tableId}); - /> - -#include "/common/shared/listTableConfigButtons.inc" - - - $page{tableRowGroupId}); - /> - - - - - - - - - - - - - - - - -
    -//#include "/common/shared/changeButtonsJS.inc" - - - - diff --git a/appserver/admingui/common/src/main/resources/security/security.jsf b/appserver/admingui/common/src/main/resources/security/security.jsf index 657de03391f..b30d40bb704 100644 --- a/appserver/admingui/common/src/main/resources/security/security.jsf +++ b/appserver/admingui/common/src/main/resources/security/security.jsf @@ -39,6 +39,7 @@ holder. --> + @@ -71,8 +72,6 @@ + @@ -54,9 +55,6 @@ /> - - - @@ -78,22 +76,6 @@ result="#{pageSession.jaccs}"); /> - - - - - diff --git a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_de.properties b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_de.properties index 0a96f475566..7fdfcd4f066 100644 --- a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_de.properties +++ b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_de.properties @@ -133,7 +133,6 @@ tree.availabilityService=Verf\u00fcgbarkeitsservice tree.availabilityService.tooltip=Verf\u00fcgbarkeitsservice tree.realms=Realms tree.jaccProviders=JACC-Provider -tree.auditModules=Auditmodule tree.msgSecurityConfigs=Nachrichtensicherheit tree.iiopListeners=IIOP-Listener @@ -501,7 +500,6 @@ common.WebContainer=Webcontainer common.Jacc=JACC common.ThreadPool=Threadpool common.EjbContainer=EJB-Container -common.AuditModules=Auditmodule common.MdbContainer=MDB-Container common.TransactionService=Transaktionsservice common.NodeAgent=Knoten-Agent diff --git a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_es.properties b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_es.properties index 99a6973b012..5d9f726d50c 100644 --- a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_es.properties +++ b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_es.properties @@ -133,7 +133,6 @@ tree.availabilityService=Servicio de Disponibilidad tree.availabilityService.tooltip=Servicio de Disponibilidad tree.realms=Dominios tree.jaccProviders=Proveedores JACC -tree.auditModules=M\u00f3dulos de Auditor\u00eda tree.msgSecurityConfigs=Seguridad de Mensajes tree.iiopListeners=Listeners IIOP @@ -501,7 +500,6 @@ common.WebContainer=Contenedor Web common.Jacc=JACC common.ThreadPool=Pool de Threads common.EjbContainer=Contenedor EJB -common.AuditModules=M\u00f3dulos de Auditor\u00eda common.MdbContainer=Contenedor de Beans Controlados por Mensajes common.TransactionService=Servicio de Transacci\u00f3n common.NodeAgent=Agente de Nodo diff --git a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_fr.properties b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_fr.properties index 3928cffd164..61108df685c 100644 --- a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_fr.properties +++ b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_fr.properties @@ -133,7 +133,6 @@ tree.availabilityService=Service de disponibilit\u00e9 tree.availabilityService.tooltip=Service de disponibilit\u00e9 tree.realms=Domaines tree.jaccProviders=Fournisseurs JACC -tree.auditModules=Modules d'audit tree.msgSecurityConfigs=S\u00e9curit\u00e9 des messages tree.iiopListeners=Processus d'\u00e9coute IIOP @@ -501,7 +500,6 @@ common.WebContainer=Conteneur Web common.Jacc=JACC common.ThreadPool=Pool de threads common.EjbContainer=Conteneur EJB -common.AuditModules=Modules d'audit common.MdbContainer=Conteneur MDB common.TransactionService=Service de transaction common.NodeAgent=Agent de noeud diff --git a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_it.properties b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_it.properties index d0964ec4caf..98b1f4ba5f3 100644 --- a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_it.properties +++ b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_it.properties @@ -132,7 +132,6 @@ tree.availabilityService=Servizio disponibilit\u00e0 tree.availabilityService.tooltip=Servizio disponibilit\u00e0 tree.realms=Realm tree.jaccProviders=Provider JACC -tree.auditModules=Moduli di audit tree.msgSecurityConfigs=Sicurezza messaggi tree.iiopListeners=Listener IIOP @@ -500,7 +499,6 @@ common.WebContainer=Contenitore Web common.Jacc=JACC common.ThreadPool=Pool di thread common.EjbContainer=Contenitore EJB -common.AuditModules=Moduli di audit common.MdbContainer=Contenitore MDB common.TransactionService=Servizio transazioni common.NodeAgent=Agente nodo diff --git a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_ja.properties b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_ja.properties index c71e82c7daa..8662a1ac2be 100644 --- a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_ja.properties +++ b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_ja.properties @@ -133,7 +133,6 @@ tree.availabilityService=\u53ef\u7528\u6027\u30b5\u30fc\u30d3\u30b9 tree.availabilityService.tooltip=\u53ef\u7528\u6027\u30b5\u30fc\u30d3\u30b9 tree.realms=\u30ec\u30eb\u30e0 tree.jaccProviders=JACC\u30d7\u30ed\u30d0\u30a4\u30c0 -tree.auditModules=\u76e3\u67fb\u30e2\u30b8\u30e5\u30fc\u30eb tree.msgSecurityConfigs=\u30e1\u30c3\u30bb\u30fc\u30b8\u30fb\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3 tree.iiopListeners=IIOP\u30ea\u30b9\u30ca\u30fc @@ -514,7 +513,6 @@ common.WebContainer=Web\u30b3\u30f3\u30c6\u30ca common.Jacc=JACC common.ThreadPool=\u30b9\u30ec\u30c3\u30c9\u30fb\u30d7\u30fc\u30eb common.EjbContainer=EJB\u30b3\u30f3\u30c6\u30ca -common.AuditModules=\u76e3\u67fb\u30e2\u30b8\u30e5\u30fc\u30eb common.MdbContainer=MDB\u30b3\u30f3\u30c6\u30ca common.TransactionService=\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u30fb\u30b5\u30fc\u30d3\u30b9 common.NodeAgent=\u30ce\u30fc\u30c9\u30fb\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8 diff --git a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_ko.properties b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_ko.properties index a944158d944..33807f92a5a 100644 --- a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_ko.properties +++ b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_ko.properties @@ -133,7 +133,6 @@ tree.availabilityService=\uac00\uc6a9\uc131 \uc11c\ube44\uc2a4 tree.availabilityService.tooltip=\uac00\uc6a9\uc131 \uc11c\ube44\uc2a4 tree.realms=\uc601\uc5ed tree.jaccProviders=JACC \uc81c\uacf5\uc790 -tree.auditModules=\uac10\uc0ac \ubaa8\ub4c8 tree.msgSecurityConfigs=\uba54\uc2dc\uc9c0 \ubcf4\uc548 tree.iiopListeners=IIOP \ub9ac\uc2a4\ub108 @@ -501,7 +500,6 @@ common.WebContainer=\uc6f9 \ucee8\ud14c\uc774\ub108 common.Jacc=JACC common.ThreadPool=\uc2a4\ub808\ub4dc \ud480 common.EjbContainer=EJB \ucee8\ud14c\uc774\ub108 -common.AuditModules=\uac10\uc0ac \ubaa8\ub4c8 common.MdbContainer=MDB \ucee8\ud14c\uc774\ub108 common.TransactionService=\ud2b8\ub79c\uc7ad\uc158 \uc11c\ube44\uc2a4 common.NodeAgent=\ub178\ub4dc \uc5d0\uc774\uc804\ud2b8 diff --git a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_pt_BR.properties b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_pt_BR.properties index d1b99bdf19c..709a6c95fed 100644 --- a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_pt_BR.properties +++ b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_pt_BR.properties @@ -133,7 +133,6 @@ tree.availabilityService=Servi\u00e7o de Disponibilidade tree.availabilityService.tooltip=Servi\u00e7o de Disponibilidade tree.realms=Realms tree.jaccProviders=Provedores JACC -tree.auditModules=M\u00f3dulos de Auditoria tree.msgSecurityConfigs=Seguran\u00e7a de Mensagem tree.iiopListeners=Listeners IIOP @@ -501,7 +500,6 @@ common.WebContainer=Cont\u00eainer Web common.Jacc=JACC common.ThreadPool=Pool de Threads common.EjbContainer=Cont\u00eainer EJB -common.AuditModules=M\u00f3dulos de Auditoria common.MdbContainer=Cont\u00eainer MDB common.TransactionService=Servi\u00e7o de Transa\u00e7\u00e3o common.NodeAgent=Agente de N\u00f3 diff --git a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_zh_CN.properties b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_zh_CN.properties index 58de0f8c186..596a018e70f 100644 --- a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_zh_CN.properties +++ b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_zh_CN.properties @@ -133,7 +133,6 @@ tree.availabilityService=\u53ef\u7528\u6027\u670d\u52a1 tree.availabilityService.tooltip=\u53ef\u7528\u6027\u670d\u52a1 tree.realms=\u9886\u57df tree.jaccProviders=JACC \u63d0\u4f9b\u65b9 -tree.auditModules=\u5ba1\u8ba1\u6a21\u5757 tree.msgSecurityConfigs=\u6d88\u606f\u5b89\u5168 tree.iiopListeners=IIOP \u76d1\u542c\u7a0b\u5e8f @@ -501,7 +500,6 @@ common.WebContainer=Web \u5bb9\u5668 common.Jacc=JACC common.ThreadPool=\u7ebf\u7a0b\u6c60 common.EjbContainer=EJB \u5bb9\u5668 -common.AuditModules=\u5ba1\u8ba1\u6a21\u5757 common.MdbContainer=MDB \u5bb9\u5668 common.TransactionService=\u4e8b\u52a1\u5904\u7406\u670d\u52a1 common.NodeAgent=\u8282\u70b9\u4ee3\u7406 diff --git a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_zh_TW.properties b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_zh_TW.properties index 0bcd5ec4aac..805cacedf75 100644 --- a/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_zh_TW.properties +++ b/appserver/admingui/core-l10n/src/main/resources/org/glassfish/admingui/core/Strings_zh_TW.properties @@ -133,7 +133,6 @@ tree.availabilityService=\u53ef\u7528\u6027\u670d\u52d9 tree.availabilityService.tooltip=\u53ef\u7528\u6027\u670d\u52d9 tree.realms=\u7bc4\u570d tree.jaccProviders=JACC \u63d0\u4f9b\u8005 -tree.auditModules=\u7a3d\u6838\u6a21\u7d44 tree.msgSecurityConfigs=\u8a0a\u606f\u5b89\u5168\u6027 tree.iiopListeners=IIOP \u76e3\u807d\u7a0b\u5f0f @@ -501,7 +500,6 @@ common.WebContainer=Web \u5bb9\u5668 common.Jacc=JACC common.ThreadPool=\u7e6b\u7dda\u96c6\u5340 common.EjbContainer=EJB \u5bb9\u5668 -common.AuditModules=\u7a3d\u6838\u6a21\u7d44 common.MdbContainer=MDB \u5bb9\u5668 common.TransactionService=\u4f5c\u696d\u4e8b\u4ef6\u670d\u52d9 common.NodeAgent=\u7bc0\u9ede\u4ee3\u7406\u7a0b\u5f0f diff --git a/appserver/admingui/core/src/main/resources/org/glassfish/admingui/core/Strings.properties b/appserver/admingui/core/src/main/resources/org/glassfish/admingui/core/Strings.properties index e96a80400ca..27bb1a93e93 100644 --- a/appserver/admingui/core/src/main/resources/org/glassfish/admingui/core/Strings.properties +++ b/appserver/admingui/core/src/main/resources/org/glassfish/admingui/core/Strings.properties @@ -133,7 +133,6 @@ tree.availabilityService.tooltip=Availability Service tree.adminAudit=Admin Audit tree.realms=Realms tree.jaccProviders=JACC Providers -tree.auditModules=Audit Modules tree.msgSecurityConfigs=Message Security tree.iiopListeners=IIOP Listeners @@ -521,7 +520,6 @@ common.WebContainer=Web Container common.Jacc=JACC common.ThreadPool=Thread Pool common.EjbContainer=EJB Container -common.AuditModules=Audit Modules common.MdbContainer=MDB Container common.TransactionService=Transaction Service common.NodeAgent=Node Agent diff --git a/appserver/admingui/core/src/main/resources/templates/menu.inc b/appserver/admingui/core/src/main/resources/templates/menu.inc index 38870f01870..0354d42a4aa 100644 --- a/appserver/admingui/core/src/main/resources/templates/menu.inc +++ b/appserver/admingui/core/src/main/resources/templates/menu.inc @@ -77,7 +77,6 @@ - diff --git a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/SecurityTest.java b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/SecurityTest.java index d7085700155..d0d0458d81a 100644 --- a/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/SecurityTest.java +++ b/appserver/admingui/devtests/src/test/java/org/glassfish/admingui/devtests/SecurityTest.java @@ -37,6 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates package org.glassfish.admingui.devtests; @@ -52,10 +53,6 @@ public class SecurityTest extends BaseSeleniumTestClass { public static final String TRIGGER_EDIT_REALM = "i18nc.realm.EditPageTitleHelp"; public static final String TRIGGER_FILE_USERS = "i18nc.manageUsers.TablePageHelp"; public static final String TRIGGER_NEW_FILE_REALM_USER = "i18nc.manageUsers.NewPageTitle"; - public static final String TRIGGER_AUDIT_MODULES = "com.sun.enterprise.security.Audit"; - //"Use audit modules to develop an audit trail of all authentication and authorization decisions."; - public static final String TRIGGER_NEW_AUDIT_MODULE = "i18nc.auditModule.NewPageTitle"; - public static final String TRIGGER_EDIT_AUDIT_MODULE = "i18nc.auditModule.EditPageTitle"; public static final String TRIGGER_JACC_PROVIDERS = "i18nc.jacc.PageHelp"; public static final String TRIGGER_NEW_JACC_PROVIDER = "i18nc.jacc.NewPageTitle"; public static final String TRIGGER_EDIT_JACC_PROVIDER = "i18nc.jacc.EditTitle"; @@ -125,35 +122,6 @@ public void testAddUserToFileRealm() { } } - @Test - public void testAddAuditModule() { - final String auditModuleName = "auditModule" + generateRandomString(); - final String className = "org.glassfish.NonexistentModule"; - - createConfig("new-config"); - for (String configName : list) { - clickAndWait("treeForm:tree:configurations:" + configName + ":security:auditModules:auditModules_link", TRIGGER_AUDIT_MODULES); - clickAndWait("propertyForm:configs:topActionsGroup1:newButton", TRIGGER_NEW_AUDIT_MODULE); - setFieldValue("propertyForm:propertySheet:propertSectionTextField:IdTextProp:IdText", auditModuleName); - setFieldValue("propertyForm:propertySheet:propertSectionTextField:classNameProp:ClassName", className); - int count = addTableRow("propertyForm:basicTable", "propertyForm:basicTable:topActionsGroup1:addSharedTableButton"); - - setFieldValue("propertyForm:basicTable:rowGroup1:0:col2:col1St", "property"); - setFieldValue("propertyForm:basicTable:rowGroup1:0:col3:col1St", "value"); - setFieldValue("propertyForm:basicTable:rowGroup1:0:col4:col1St", "description"); - - clickAndWait("propertyForm:propertyContentPage:topButtons:newButton", TRIGGER_AUDIT_MODULES); - assertTrue(isTextPresent(auditModuleName)); - - clickAndWait(getLinkIdByLinkText("propertyForm:configs", auditModuleName), TRIGGER_EDIT_AUDIT_MODULE); - assertTableRowCount("propertyForm:basicTable", count); - - clickAndWait("propertyForm:propertyContentPage:topButtons:cancelButton", TRIGGER_AUDIT_MODULES); - - deleteRow("propertyForm:configs:topActionsGroup1:button1", "propertyForm:configs", auditModuleName); - } - } - @Test public void testAddJaccModule() { final String providerName = "testJaccProvider" + generateRandomString(); diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/create-application-ref.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/create-application-ref.html index b8db973badc..8b9f265e135 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/create-application-ref.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/create-application-ref.html @@ -51,13 +51,6 @@ - - - - Next - - - @@ -260,13 +253,6 @@

    create-application-ref

    - - - - Next - - - diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/create-audit-module.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/create-audit-module.html deleted file mode 100644 index 2ecedbdb1ec..00000000000 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/create-audit-module.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - create-audit-module - - - - - - - - - -
    - create-audit-module
    -
    -
    - - - - - - - - - - - - - - -
    - - - Previous - - - - - Next - - - - - Contents - -
    - - -
    -
    -
    -

    -
    -
    -
    -
    -

    create-audit-module

    -
    -
    -

    adds an audit module

    -
    -
    -

    Synopsis

    -
    -
    -
    -
    asadmin [asadmin-options] create-audit-module [--help]
    ---classname classname
    -[--property(name=value)[:name=value]*]
    -[--target target]
    -audit_module_name
    -
    -
    -
    -

    Description

    -
    -
    -

    The create-audit-module subcommand adds the named audit module for the -Java class that implements the audit capabilities. Audit modules collect -and store information on incoming requests (from, for example, servlets -and EJB components) and outgoing responses.

    -
    -
    -

    This subcommand is supported in remote mode only.

    -
    -
    -

    Options

    -
    -
    -
    -
    asadmin-options
    -
    -

    Options for the asadmin utility. For information about these -options, see the asadmin(1M) help page.

    -
    -
    --classname
    -
    -

    The name of the Java class that implements this audit module. If not -specified, this option defaults to -com.sun.enterprise.security.Audit.

    -
    -
    --help
    -
    -?
    -
    -

    Displays the help text for the subcommand.

    -
    -
    --property
    -
    -

    Optional keyword-value pairs that specify additional properties for -the audit module.
    -Audit module properties that are defined by \{product---name} are as -follows:

    -
    -
    -
    auditOn
    -
    -

    If true, specifies that the audit module is loaded and called by - the \{product---name} audit library at audit points.
    -Other available properties are determined by the implementation of the -audit module.

    -
    -
    -
    -
    -
    --target
    -
    -

    Specifies the target on which you are creating the audit module. Valid -values are as follows:

    -
    -
    -
    server
    -
    -

    Creates the audit module for the default server instance server -and is the default value.

    -
    -
    configuration_name
    -
    -

    Creates the audit module for the named configuration.

    -
    -
    cluster_name
    -
    -

    Creates the audit module for every server instance in the cluster.

    -
    -
    instance_name
    -
    -

    Creates the audit module for a particular server instance.

    -
    -
    -
    -
    -
    -
    -
    -

    Operands

    -
    -
    -
    -
    audit_module_name
    -
    -

    The name of this audit module.

    -
    -
    -
    -
    -

    Examples

    -
    -
    -

    -
    -
    -

    Example 1   Creating an audit module

    -
    -
    -
    -
    asadmin> create-audit-module
    ---classname com.sun.appserv.auditmodule
    ---property defaultuser=admin:Password=admin sampleAuditModule
    -Command create-audit-module executed successfully
    -
    -
    -
    -

    Exit Status

    -
    -
    -
    -
    0
    -
    -

    command executed successfully

    -
    -
    1
    -
    -

    error in executing the command

    -
    -
    -
    -
    -

    See Also

    -
    - - -
    -
    - -
    - - - - - - - - - - - - - - -
    - - - Previous - - - - - Next - - - - - Contents - -
    - - - Eclipse Foundation Logo  - Copyright © 2019, Oracle and/or its affiliates. All rights reserved. - - - - diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/create-auth-realm.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/create-auth-realm.html index ff7f9031410..89c26bc269d 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/create-auth-realm.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/create-auth-realm.html @@ -17,7 +17,7 @@ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 --> - + @@ -43,12 +43,6 @@ - - - - Previous - - @@ -477,13 +471,7 @@

    create-auth-realm

    - - -
    - - Previous - - + diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-application-ref.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-application-ref.html index dfaee798718..93d3aaf2311 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-application-ref.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-application-ref.html @@ -51,13 +51,6 @@ - - - - Next - - - @@ -248,13 +241,6 @@

    delete-application-ref

    - - - - Next - - - diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-audit-module.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-audit-module.html deleted file mode 100644 index 21dfe93f329..00000000000 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-audit-module.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - delete-audit-module - - - - - - - - - -
    - delete-audit-module
    -
    -
    - - - - - - - - - - - - - - -
    - - - Previous - - - - - Next - - - - - Contents - -
    - - -
    -
    -
    -

    -
    -
    -
    -
    -

    delete-audit-module

    -
    -
    -

    removes the named audit-module

    -
    -
    -

    Synopsis

    -
    -
    -
    -
    asadmin [asadmin-options] delete-audit-module [--help]
    -[--target target]
    -audit_module_name
    -
    -
    -
    -

    Description

    -
    -
    -

    This subcommand removes the named audit module. This subcommand is -supported in remote mode only.

    -
    -
    -

    Options

    -
    -
    -
    -
    asadmin-options
    -
    -

    Options for the asadmin utility. For information about these -options, see the asadmin(1M) help page.

    -
    -
    --help
    -
    -?
    -
    -

    Displays the help text for the subcommand.

    -
    -
    --target
    -
    -

    Specifies the target on which you are deleting the audit module. Valid -values are as follows:

    -
    -
    -
    server
    -
    -

    Deletes the audit module for the default server instance server -and is the default value.

    -
    -
    configuration_name
    -
    -

    Deletes the audit module for the named configuration.

    -
    -
    cluster_name
    -
    -

    Deletes the audit module for every server instance in the cluster.

    -
    -
    instance_name
    -
    -

    Deletes the audit module for a particular server instance.

    -
    -
    -
    -
    -
    -
    -
    -

    Operands

    -
    -
    -
    -
    audit_module_name
    -
    -

    The name of the audit module to be deleted.

    -
    -
    -
    -
    -

    Examples

    -
    -
    -

    -
    -
    -

    Example 1   Deleting an audit module

    -
    -
    -
    -
    asadmin> delete-audit-module sampleAuditModule
    -Command delete-audit-module executed successfully
    -
    -
    -
    -

    Exit Status

    -
    -
    -
    -
    0
    -
    -

    command executed successfully

    -
    -
    1
    -
    -

    error in executing the command

    -
    -
    -
    -
    -

    See Also

    -
    - - -
    -
    - -
    - - - - - - - - - - - - - - -
    - - - Previous - - - - - Next - - - - - Contents - -
    - - - Eclipse Foundation Logo  - Copyright © 2019, Oracle and/or its affiliates. All rights reserved. - - - - diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-auth-realm.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-auth-realm.html index 346ffba416e..a85910fb884 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-auth-realm.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/delete-auth-realm.html @@ -17,7 +17,7 @@ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 --> - + @@ -43,12 +43,6 @@ - - - - Previous - - @@ -205,13 +199,7 @@

    delete-auth-realm

    - - -
    - - Previous - - + diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-applications.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-applications.html index 0559b8b3428..ae734727141 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-applications.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-applications.html @@ -17,7 +17,7 @@ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 --> - + @@ -50,13 +50,6 @@ - - - - Next - - - @@ -273,13 +266,6 @@

    list-applications

    - - - - Next - - - diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-audit-modules.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-audit-modules.html deleted file mode 100644 index 1c61ae0b9b6..00000000000 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-audit-modules.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - - list-audit-modules - - - - - - - - - -
    - list-audit-modules
    -
    -
    - - - - - - - - - - - - - - -
    - - - Previous - - - - - Next - - - - - Contents - -
    - - -
    -
    -
    -

    -
    -
    -
    -
    -

    list-audit-modules

    -
    -
    -

    gets all audit modules and displays them

    -
    -
    -

    Synopsis

    -
    -
    -
    -
    asadmin [asadmin-options] list-audit-modules [--help]
    -[target]
    -
    -
    -
    -

    Description

    -
    -
    -

    The list-audit-modules subcommand lists all the audit modules. This -subcommand is supported in remote mode only.

    -
    -
    -

    Options

    -
    -
    -
    -
    asadmin-options
    -
    -

    Options for the asadmin utility. For information about these -options, see the asadmin(1M) help page.

    -
    -
    --help
    -
    -?
    -
    -

    Displays the help text for the subcommand.

    -
    -
    -
    -
    -

    Operands

    -
    -
    -
    -
    target
    -
    -

    Specifies the target on which you are listing the audit modules. Valid -values are as follows:

    -
    -
    -
    server
    -
    -

    Lists the audit modules for the default server instance server and -is the default value.

    -
    -
    configuration_name
    -
    -

    Lists the audit modules for the named configuration.

    -
    -
    cluster_name
    -
    -

    Lists the audit modules for every server instance in the cluster.

    -
    -
    instance_name
    -
    -

    Lists the audit modules for a particular server instance.

    -
    -
    -
    -
    -
    -
    -
    -

    Examples

    -
    -
    -

    -
    -
    -

    Example 1   Listing Audit Modules

    -
    -
    -
    -
    asadmin> list-audit-modules
    -sampleAuditModule1
    -sampleAuditModule2
    -Command list-audit-modules executed successfully
    -
    -
    -
    -

    Exit Status

    -
    -
    -
    -
    0
    -
    -

    command executed successfully

    -
    -
    1
    -
    -

    error in executing the command

    -
    -
    -
    -
    -

    See Also

    -
    - - -
    -
    - -
    - - - - - - - - - - - - - - -
    - - - Previous - - - - - Next - - - - - Contents - -
    - - - Eclipse Foundation Logo  - Copyright © 2019, Oracle and/or its affiliates. All rights reserved. - - - - diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-auth-realms.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-auth-realms.html index 328b5618dc4..31a1eee4652 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-auth-realms.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-auth-realms.html @@ -17,7 +17,7 @@ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 --> - + @@ -43,12 +43,6 @@ - - - - Previous - - @@ -205,13 +199,7 @@

    list-auth-realms

    - - -
    - - Previous - - + diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-commands.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-commands.html index 149a649f719..ae69ff5f165 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-commands.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-commands.html @@ -250,7 +250,7 @@

    list-commands

    add-resources enable-monitoring configure-ldap-for-admin flush-jmsdest create-admin-object freeze-transaction-service -create-audit-module generate-jvm-report + generate-jvm-report create-auth-realm get create-connector-connection-pool get-client-stubs create-connector-resource get-host-and-port @@ -259,7 +259,7 @@

    list-commands

    create-custom-resource list-admin-objects create-file-user list-app-refs create-http list-applications -create-http-listener list-audit-modules +create-http-listener create-iiop-listener list-auth-realms create-javamail-resource create-jdbc-connection-pool list-connector-connection-pools @@ -282,7 +282,7 @@

    list-commands

    create-threadpool list-jndi-resources create-transport list-jvm-options delete-admin-object list-logger-levels -delete-audit-module list-message-security-providers + list-message-security-providers ...
  • diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/toc.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/toc.html index d7aae535270..41ae3827318 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/toc.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/toc.html @@ -126,9 +126,6 @@

    create-application-ref

  • -

    create-audit-module

    -
  • -
  • create-auth-realm

  • @@ -273,9 +270,6 @@

    delete-application-ref

  • -

    delete-audit-module

    -
  • -
  • delete-auth-realm

  • @@ -501,9 +495,6 @@

    list-applications

  • -

    list-audit-modules

    -
  • -
  • list-auth-realms

  • diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/toc.xml b/appserver/admingui/reference-manual/src/main/help/en/help/toc.xml index 917c1075b76..ad14ff97819 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/toc.xml +++ b/appserver/admingui/reference-manual/src/main/help/en/help/toc.xml @@ -60,7 +60,6 @@ - @@ -112,7 +111,6 @@ - @@ -199,7 +197,6 @@ - diff --git a/appserver/common/glassfish-ee-api/src/main/java/com/sun/appserv/security/AuditModule.java b/appserver/common/glassfish-ee-api/src/main/java/com/sun/appserv/security/AuditModule.java deleted file mode 100644 index ead0a78f73c..00000000000 --- a/appserver/common/glassfish-ee-api/src/main/java/com/sun/appserv/security/AuditModule.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * AuditModule.java - * - * Created on July 27, 2003, 11:32 PM - */ - -package com.sun.appserv.security; - -import com.sun.enterprise.security.BaseAuditModule; -import java.util.Properties; -import jakarta.servlet.http.HttpServletRequest; -/** - * Base class that should be extended by all classes that wish to provide their - * own Audit support. - *

    - * Note that the methods inherited from BaseAuditModule are repeated here - * so developers see the whole API available to their custom AuditModule - * implementations by looking just at this one abstract class. - * - * @author Harpreet Singh - * @version - */ -public abstract class AuditModule extends BaseAuditModule { - - /** - * Invoked post web authorization request. - * @param user the username for whom the authorization was performed - * @param req the HttpRequest object for the web request - * @param type the permission type, hasUserDataPermission - * or hasResourcePermission. - * @param success the status of the web authorization request - */ - public void webInvocation(String user, HttpServletRequest req, - String type, boolean success) { - } - /** - * Invoked post ejb authorization request. - * @param user the username for whom the authorization was performed - * @param ejb the ejb name for which this authorization was performed - * @param method the method name for which this authorization was performed - * @param success the status of the ejb authorization request - */ - public void ejbInvocation(String user, String ejb, String method, boolean success) { - } - - /** - * Invoked during validation of the web service request - * @param uri The URL representation of the web service endpoint - * @param endpoint The name of the endpoint representation - * @param success the status of the web service request validation - */ - public void webServiceInvocation(String uri, String endpoint, boolean success) { - } - - /** - * Invoked during validation of the web service request - * @param endpoint The representation of the web service endpoint - * @param success the status of the web service request validation - */ - public void ejbAsWebServiceInvocation(String endpoint, boolean success) { - } -} diff --git a/appserver/concurrent/concurrent-impl/src/test/resources/VirtualThreadsUnprocessedEventsTest.xml b/appserver/concurrent/concurrent-impl/src/test/resources/VirtualThreadsUnprocessedEventsTest.xml index aa6677bf717..9ebbf238a73 100644 --- a/appserver/concurrent/concurrent-impl/src/test/resources/VirtualThreadsUnprocessedEventsTest.xml +++ b/appserver/concurrent/concurrent-impl/src/test/resources/VirtualThreadsUnprocessedEventsTest.xml @@ -4,7 +4,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - Copyright (c) 2025 Payara Foundation and/or its affiliates. All rights reserved. + Copyright (c) 2025-2026 Payara Foundation and/or its affiliates. All rights reserved. The contents of this file are subject to the terms of either the GNU General Public License Version 2 only ("GPL") or the Common Development @@ -148,9 +148,6 @@ - - - @@ -382,9 +379,6 @@ - - - diff --git a/appserver/connectors/admin/src/test/resources/DomainTest.xml b/appserver/connectors/admin/src/test/resources/DomainTest.xml index e1e818326ff..ee11517a5fb 100644 --- a/appserver/connectors/admin/src/test/resources/DomainTest.xml +++ b/appserver/connectors/admin/src/test/resources/DomainTest.xml @@ -40,7 +40,7 @@ --> - + @@ -104,9 +104,6 @@ - - - diff --git a/appserver/connectors/connectors-internal-api/src/test/resources/DomainTest.xml b/appserver/connectors/connectors-internal-api/src/test/resources/DomainTest.xml index 5914ca97c66..d393c963109 100644 --- a/appserver/connectors/connectors-internal-api/src/test/resources/DomainTest.xml +++ b/appserver/connectors/connectors-internal-api/src/test/resources/DomainTest.xml @@ -39,7 +39,7 @@ holder. --> - + @@ -103,9 +103,6 @@ - - - diff --git a/appserver/connectors/connectors-internal-api/src/test/resources/PasswordAliasTest.xml b/appserver/connectors/connectors-internal-api/src/test/resources/PasswordAliasTest.xml index 1368688b286..b2b4fb3a183 100644 --- a/appserver/connectors/connectors-internal-api/src/test/resources/PasswordAliasTest.xml +++ b/appserver/connectors/connectors-internal-api/src/test/resources/PasswordAliasTest.xml @@ -39,7 +39,7 @@ holder. --> - + @@ -111,9 +111,6 @@ - - - diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/security/application/EJBSecurityManager.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/security/application/EJBSecurityManager.java index d2d938d9971..2201fb0de57 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/security/application/EJBSecurityManager.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/security/application/EJBSecurityManager.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright 2016-2025 Payara Foundation and/or its affiliates +// Portions Copyright 2016-2026 Payara Foundation and/or its affiliates // Payara Foundation and/or its affiliates elects to include this software in this distribution under the GPL Version 2 license. package org.glassfish.ejb.security.application; @@ -50,7 +50,6 @@ import com.sun.enterprise.security.auth.WebAndEjbToJaasBridge; import com.sun.enterprise.security.common.AppservAccessController; import com.sun.enterprise.security.ee.SecurityUtil; -import com.sun.enterprise.security.ee.audit.AppServerAuditManager; import com.sun.enterprise.security.ee.authorization.WebAuthorizationManagerService; import com.sun.enterprise.security.ee.authorization.cache.PermissionCache; import com.sun.enterprise.security.ee.authorization.cache.PermissionCacheFactory; @@ -103,8 +102,7 @@ public final class EJBSecurityManager implements SecurityManager { private static final Logger _logger = LogDomains.getLogger(EJBSecurityManager.class, LogDomains.EJB_LOGGER); - private AppServerAuditManager auditManager; - + private final SecurityRoleMapperFactory roleMapperFactory; private final EjbDescriptor deploymentDescriptor; @@ -168,8 +166,6 @@ public EJBSecurityManager(EjbDescriptor ejbDescriptor, InvocationManager invocat uncheckedMethodPermissionCache = PermissionCacheFactory.createPermissionCache(this.contextId, EJBMethodPermission.class, this.ejbName); - auditManager = this.securityManagerFactory.getAuditManager(); - authorizationService = new AuthorizationService( getContextID(ejbDescriptor), () -> SecurityContext.getCurrent().getSubject(), @@ -321,8 +317,6 @@ public boolean authorize(ComponentInvocation componentInvocation) { ejbInvocation.setAuth(authorized); - doAuditAuthorize(securityContext, ejbInvocation, authorized); - if (authorized && ejbInvocation.isWebService && !ejbInvocation.isPreInvokeDone()) { preInvoke(ejbInvocation); } @@ -336,15 +330,6 @@ public boolean authorize(ComponentInvocation componentInvocation) { return authorized; } - private void doAuditAuthorize(SecurityContext securityContext, EjbInvocation ejbInvocation, boolean authorized) { - if (auditManager.isAuditOn()) { - String caller = securityContext.getCallerPrincipal().getName(); - auditManager.ejbInvocation(caller, ejbName, ejbInvocation.method.toString(), authorized); - - _logger.fine(() -> " (Caller) = " + caller); - } - } - /** * This method returns a boolean value indicating whether or not the caller is in the specified role. * diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/security/factory/EJBSecurityManagerFactory.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/security/factory/EJBSecurityManagerFactory.java index 020dc2c0e7d..4b5f5b707c6 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/security/factory/EJBSecurityManagerFactory.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/security/factory/EJBSecurityManagerFactory.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2016-2021] [Payara Foundation and/or its affiliates] +// Portions Copyright 2016-2026 Payara Foundation and/or its affiliates package org.glassfish.ejb.security.factory; import static java.util.logging.Level.FINE; @@ -56,7 +56,6 @@ import org.glassfish.ejb.security.application.EjbSecurityProbeProvider; import org.jvnet.hk2.annotations.Service; -import com.sun.enterprise.security.ee.audit.AppServerAuditManager; import com.sun.enterprise.security.factory.SecurityManagerFactory; import com.sun.logging.LogDomains; @@ -74,9 +73,6 @@ public final class EJBSecurityManagerFactory extends SecurityManagerFactory { @Inject private InvocationManager invocationManager; - @Inject - private AppServerAuditManager auditManager; - private EjbSecurityProbeProvider probeProvider = new EjbSecurityProbeProvider(); // stores the context ids to appnames for apps @@ -131,8 +127,4 @@ public String[] getContextsForApp(String appName, boolean remove) { public void addManagerToApp(String ctxId, String name, String appName, EJBSecurityManager manager) { addManagerToApp(SECURITY_MANAGERS, CONTEXT_IDS, ctxId, name, appName, manager); } - - public final AppServerAuditManager getAuditManager() { - return auditManager; - } } diff --git a/appserver/extras/embedded/all/src/main/resources/config/domain.xml b/appserver/extras/embedded/all/src/main/resources/config/domain.xml index 4c199ac2476..1338039530c 100644 --- a/appserver/extras/embedded/all/src/main/resources/config/domain.xml +++ b/appserver/extras/embedded/all/src/main/resources/config/domain.xml @@ -42,7 +42,7 @@ --> - + @@ -145,9 +145,6 @@ - - - diff --git a/appserver/extras/embedded/web/src/main/resources/config/domain.xml b/appserver/extras/embedded/web/src/main/resources/config/domain.xml index 1599eb0b111..05acb616590 100644 --- a/appserver/extras/embedded/web/src/main/resources/config/domain.xml +++ b/appserver/extras/embedded/web/src/main/resources/config/domain.xml @@ -3,7 +3,7 @@ @@ -116,9 +116,6 @@ Portions Copyright [2016-2025] [Payara Foundation and/or its affiliates] - - - diff --git a/appserver/jdbc/admin/src/test/resources/DomainTest.xml b/appserver/jdbc/admin/src/test/resources/DomainTest.xml index 55a5cb8e364..0b8031113a4 100644 --- a/appserver/jdbc/admin/src/test/resources/DomainTest.xml +++ b/appserver/jdbc/admin/src/test/resources/DomainTest.xml @@ -39,7 +39,7 @@ holder. --> - + @@ -90,9 +90,6 @@ - - - diff --git a/appserver/jdbc/jdbc-runtime/src/test/resources/DomainTest.xml b/appserver/jdbc/jdbc-runtime/src/test/resources/DomainTest.xml index d5fe5334e85..e53e082a3c3 100644 --- a/appserver/jdbc/jdbc-runtime/src/test/resources/DomainTest.xml +++ b/appserver/jdbc/jdbc-runtime/src/test/resources/DomainTest.xml @@ -39,7 +39,7 @@ holder. --> - + @@ -111,9 +111,6 @@ - - - diff --git a/appserver/orb/orb-connector/src/test/resources/DomainTest.xml b/appserver/orb/orb-connector/src/test/resources/DomainTest.xml index 10e9bcbeffc..435ec165da2 100644 --- a/appserver/orb/orb-connector/src/test/resources/DomainTest.xml +++ b/appserver/orb/orb-connector/src/test/resources/DomainTest.xml @@ -40,7 +40,7 @@ --> - + @@ -105,9 +105,6 @@ - - - diff --git a/appserver/resources/javamail/javamail-connector/src/test/resources/DomainTest.xml b/appserver/resources/javamail/javamail-connector/src/test/resources/DomainTest.xml index b85fc74ec0f..275a06039da 100644 --- a/appserver/resources/javamail/javamail-connector/src/test/resources/DomainTest.xml +++ b/appserver/resources/javamail/javamail-connector/src/test/resources/DomainTest.xml @@ -40,7 +40,7 @@ --> - + @@ -104,9 +104,6 @@ - - - diff --git a/appserver/resources/resources-connector/src/test/resources/DomainTest.xml b/appserver/resources/resources-connector/src/test/resources/DomainTest.xml index ca4ab1a3430..337376f83cc 100644 --- a/appserver/resources/resources-connector/src/test/resources/DomainTest.xml +++ b/appserver/resources/resources-connector/src/test/resources/DomainTest.xml @@ -39,7 +39,7 @@ holder. --> - + @@ -103,9 +103,6 @@ - - - diff --git a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/Audit.java b/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/Audit.java deleted file mode 100644 index 0b3eb7ae71c..00000000000 --- a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/Audit.java +++ /dev/null @@ -1,637 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018-2021] [Payara Foundation and/or its affiliates] -package com.sun.enterprise.security.ee; - -import java.util.*; - -import java.util.logging.Logger; -import java.util.logging.Level; - -//V3:Commented import com.sun.enterprise.config.serverbeans.ServerBeansFactory; - -import com.sun.logging.LogDomains; - -import com.sun.enterprise.deployment.Application; -import com.sun.enterprise.deployment.EjbBundleDescriptor; -import com.sun.enterprise.deployment.EjbDescriptor; -import com.sun.enterprise.deployment.MethodPermission; -import com.sun.enterprise.deployment.MethodDescriptor; -import com.sun.enterprise.deployment.RunAsIdentityDescriptor; -import com.sun.enterprise.deployment.EjbIORConfigurationDescriptor; -import com.sun.enterprise.deployment.WebBundleDescriptor; -import com.sun.enterprise.deployment.web.SecurityConstraint; -import com.sun.enterprise.deployment.web.AuthorizationConstraint; -import com.sun.enterprise.deployment.web.LoginConfiguration; -import com.sun.enterprise.deployment.web.UserDataConstraint; -import com.sun.enterprise.deployment.web.SecurityRole; -import com.sun.enterprise.deployment.web.WebResourceCollection; -import com.sun.enterprise.deployment.WebComponentDescriptor; - -import org.glassfish.security.common.Role; -import org.glassfish.deployment.common.SecurityRoleMapper; -import jakarta.servlet.http.HttpServletRequest; - -import com.sun.appserv.security.AuditModule; - -/** - * Audit support class. - * - *

    - * This class provides convenience methods for producing audit output. Audit output is logged using the standard iAS - * logger SECURITYLOGGER. However, audit output is only produced if auditing is active. Auditing is configured in - * server.xml in the security-service element. - * - *

    - * Audit output if logged with Level.WARNING. - * - *

    - * Some diagnostic methods are also provided for debugging. - * - */ -public class Audit extends AuditModule { - private static final String AUDIT_ON = "auditOn"; - private static boolean auditFlag = false; - private static Logger logger = LogDomains.getLogger(Audit.class, LogDomains.SECURITY_LOGGER); - /* - * private static String strPrivateAudit = null; private static String strDenied = null; private static String strOK = - * null; private static String strMethodName = null; private static String strSession = null; - */ - - /** - * Check auditing state. - * - * @returns True if auditing is active currently. - * - */ - public static boolean isActive() { - return auditFlag; - } - - @Override - public void init(Properties props) { - super.init(props); - String audit = props.getProperty(AUDIT_ON); - auditFlag = (audit == null) ? false : Boolean.valueOf(audit).booleanValue(); - } - - /** - * Invoked post authentication request for a user in a given realm - * - * @param user username for whom the authentication request was made - * @param realm the realm name under which the user is authenticated. - * @param success the status of the authentication - */ - @Override - public void authentication(String user, String realm, boolean success) { - if (auditFlag) { - StringBuilder sbuf = new StringBuilder("Audit: Authentication for user = ("); - sbuf.append(user); - sbuf.append(") under realm = ("); - sbuf.append(realm).append(") returned = ").append(success); - logger.log(Level.INFO, sbuf.toString()); - } - } - - /** - * Invoked post web authorization request. - * - * @param user the username for whom the authorization was performed - * @param req the HttpRequest object for the web request - * @param type either hasResourcePermission, hasUserDataPermission or hasRoleRefPermission - * @param success the status of the web authorization request - */ - @Override - public void webInvocation(String user, HttpServletRequest req, - String type, boolean success) { - if (auditFlag) { - StringBuilder sbuf = new StringBuilder("Audit: [Web] Authorization for user = ("); - sbuf.append(user).append(") and permission type = (").append(type).append(") for request "); - sbuf.append(req.getMethod()).append(" ").append(req.getRequestURI()).append(" returned =").append(success); - logger.log(Level.INFO, sbuf.toString()); - } - } - - /** - * Invoked post ejb authorization request. - * - * @param user the username for whom the authorization was performed - * @param ejb the ejb name for which this authorization was performed - * @param method the method name for which this authorization was performed - * @param success the status of the ejb authorization request - */ - @Override - public void ejbInvocation(String user, String ejb, String method, boolean success) { - if (auditFlag) { - // Modified from StringBuilder to StringBuilder - StringBuilder sbuf = new StringBuilder("Audit: [EJB] Authorization for user ="); - sbuf.append(user).append(" for ejb = ("); - sbuf.append(ejb).append(") method = (").append(method).append(") returned =").append(success); - logger.log(Level.INFO, sbuf.toString()); - } - } - - /** - * Invoked post ejb authorization request. - * - * @param user the username for whom the authorization was performed - * @param ejb the ejb name for which this authorization was performed - * @param method the method name for which this authorization was performed - * @param success the status of the ejb authorization request - */ - - /** - * Invoked during validation of the web service request - * - * @param uri The URL representation of the web service endpoint - * @param endpoint The name of the endpoint representation - * @param success the status of the web service request validation - */ - @Override - public void webServiceInvocation(String uri, String endpoint, boolean success) { - - if (auditFlag) { - StringBuilder sbuf = new StringBuilder("Audit: [WebService] "); - sbuf.append("uri: ").append(uri); - sbuf.append("endpoint: ").append(endpoint); - sbuf.append(", valid request =").append(success); - logger.log(Level.INFO, sbuf.toString()); - } - } - - /** - * Invoked during validation of the web service request - * - * @param endpoint The URL representation of the web service endpoint - * @param success the status of the web service request validation - */ - @Override - public void ejbAsWebServiceInvocation(String endpoint, boolean success) { - - if (auditFlag) { - StringBuilder sbuf = new StringBuilder("Audit: [EjbAsWebService] "); - sbuf.append("endpoint : ").append(endpoint).append(", valid request =").append(success); - logger.log(Level.INFO, sbuf.toString()); - } - } - - /** - * Invoked upon completion of the server startup - */ - @Override - public void serverStarted() { - if (auditFlag) { - logger.log(Level.INFO, "Audit: Application server startup complete"); - } - } - - /** - * Invoked upon completion of the server shutdown - */ - @Override - public void serverShutdown() { - if (auditFlag) { - logger.log(Level.INFO, "Audit: Application server shutdown complete"); - } - } - - /** - * Initialize auditing. This reads the server.xml configuration to determine whether audit is turned on or off. - * - */ - /* - * public static void init() { try { ConfigContext configContext = - * ApplicationServer.getServerContext().getConfigContext(); assert(configContext != null); Server configBean = - * ServerBeansFactory.getServerBean(configContext); assert(configBean != null); SecurityService securityBean = - * ServerBeansFactory.getSecurityServiceBean(configContext); assert(securityBean != null); auditFlag = - * securityBean.isAuditEnabled(); } catch (Exception e) { logger.log(Level.WARNING, "audit.badinit", e); } if - * (auditFlag) { logger.info("audit.enabled"); } // load i18n message bits for audit entries ResourceBundle resBundle = - * logger.getResourceBundle(); strPrivateAudit = resBundle.getString("audit.string_private_audit"); strDenied = " " + - * resBundle.getString("audit.denied"); strOK = " " + resBundle.getString("audit.ok"); strMethodName = " " + - * resBundle.getString("audit.methodname"); strSession = " " + resBundle.getString("audit.session"); } - */ - /** - * Log an EJB method invocation. - * - * @param user Effective user for the invocation. - * @param ejb EJB name. - * @param method Method name. - * @param success True if the invocation was allowed, false if denied. - * - */ - /* - * public static void ejbMethodInvocation(SecurityContext secCtx, EJBLocalRemoteObject ejbObj, Method method, boolean - * success) { if (!logger.isLoggable(Level.INFO)) { return; } String user = "(null)"; if (secCtx != null) { Principal p - * = secCtx.getCallerPrincipal(); if (p!=null) { user = p.getName(); } } String ejb = "(N/A)"; if (ejbObj != null) { ejb - * = ejbObj.toString(); } String meth = "(N/A)"; if (method != null) { meth = method.toString(); } StringBuilder sb = new - * StringBuilder(); sb.append(strPrivateAudit); // "Audit: principal=" if(user != null) { sb.append(user); } else { - * sb.append("(null)"); } sb.append(" ejb="); sb.append(ejb); sb.append(strMethodName); // " method=" sb.append(method); - * if (success) { sb.append(strOK); // " OK" } else { sb.append(strDenied); // " DENIED" } logger.info(sb.toString()); } - */ - /** - * Log a servlet invocation. - * - * @param req The HttpRequest. - * @param success True if the invocation was allowed, false if denied. - * - */ - - /* - * public static void webInvocation(HttpRequest req, boolean success) { /// DO NOTHING FOR NOW. //if - * (!logger.isLoggable(Level.INFO) || !auditFlag) { // return; //} //if (req == null) { // - * logger.fine("Audit: No HttpRequest available."); // return; //} //if (!(req instanceof HttpRequestBase)) { // - * logger.fine("Audit internal error, class: " + req.getClass()); // return; //} //HttpRequestBase reqs = - * (HttpRequestBase)req; //StringBuilder sb = new StringBuilder(); //sb.append(strPrivateAudit); // "Audit: principal=" - * //String user = reqs.getRemoteUser(); //if (user != null) { // sb.append(user); //} else { // sb.append("(null)"); - * //} //sb.append(" "); //sb.append(reqs.getMethod()); //sb.append(" "); //sb.append(reqs.getRequestURI()); - * //sb.append(strSession); // " session=" //sb.append(reqs.getRequestedSessionId()); //if (success) { // - * sb.append(strOK); // " OK" //} else { // sb.append(strDenied); // " DENIED" //} //logger.info(sb.toString()); } - */ - /** - * Diagnostic method. Read roles and ACLs from the given Application and dump a somewhat organized summary of what has - * been set. This can be used to diagnose deployment or runtime deployment errors as well as to help in configuring - * application descriptors. - * - *

    - * Implementation is not particularly efficient but this is only called for debugging purposes at startup. All errors - * are ignored. - * - * @param app Application object to analyze. - * - */ - public static void showACL(Application app) { - if (!isActive() || !logger.isLoggable(Level.FINEST)) { - return; - } - - try { - dumpDiagnostics(app); - - } catch (Throwable e) { - logger.fine("Error while showing ACL diagnostics: " + - e.toString()); - } - } - - /** - * Do the work for showACL(). - * - */ - private static void dumpDiagnostics(Application app) { - logger.finest("====[ Role and ACL Summary ]=========="); - if (!app.isVirtual()) { - logger.finest("Summary for application: " + - app.getRegistrationName()); - } else { - logger.finest("Standalone module."); - } - logger.finest("EJB components: " + - getEjbComponentCount(app)); - logger.finest("Web components: " + - getWebComponentCount(app)); - - Iterator i; - StringBuilder sb; - - // show all roles with associated group & user mappings - Set allRoles = app.getRoles(); - if (allRoles == null) { - logger.finest("- No roles present."); - return; - } - SecurityRoleMapper rmap = app.getRoleMapper(); - if (rmap == null) { - logger.finest("- No role mappings present."); - return; - } - - i = allRoles.iterator(); - logger.finest("--[ Configured roles and mappings ]--"); - HashMap allRoleMap = new HashMap(); - - while (i.hasNext()) { - Role r = (Role) i.next(); - logger.finest(" [" + r.getName() + "]"); - allRoleMap.put(r.getName(), new HashSet()); - - sb = new StringBuilder(); - sb.append(" is mapped to groups: "); - Enumeration grps = rmap.getGroupsAssignedTo(r); - while (grps.hasMoreElements()) { - sb.append(grps.nextElement()); - sb.append(" "); - } - logger.finest(sb.toString()); - - sb = new StringBuilder(); - sb.append(" is mapped to principals: "); - Enumeration users = rmap.getUsersAssignedTo(r); - while (users.hasMoreElements()) { - sb.append(users.nextElement()); - sb.append(" "); - } - logger.finest(sb.toString()); - } - - // Process all EJB modules - - Set ejbDescriptorSet = app.getBundleDescriptors(EjbBundleDescriptor.class); - - i = ejbDescriptorSet.iterator(); - while (i.hasNext()) { - - EjbBundleDescriptor bundle = (EjbBundleDescriptor) i.next(); - - logger.finest("--[ EJB module: " + bundle.getName() + " ]--"); - Set ejbs = bundle.getEjbs(); - Iterator it = ejbs.iterator(); - while (it.hasNext()) { - - EjbDescriptor ejb = (EjbDescriptor) it.next(); - logger.finest("EJB: " + ejb.getEjbClassName()); - - // check and show run-as if present - if (!ejb.getUsesCallerIdentity()) { - RunAsIdentityDescriptor runas = ejb.getRunAsIdentity(); - if (runas == null) { - logger.finest(" (ejb does not use caller " + - "identity)"); - } else { - String role = runas.getRoleName(); - String user = runas.getPrincipal(); - logger.finest(" Will run-as: Role: " + role + - " Principal: " + user); - if (role == null || "".equals(role) || - user == null || "".equals(user)) { - if (logger.isLoggable(Level.FINEST)) { - logger.finest("*** Configuration error!"); - } - } - } - } - - // iterate through available methods - logger.finest(" Method to Role restriction list:"); - Set methods = ejb.getMethodDescriptors(); - Iterator si = methods.iterator(); - - while (si.hasNext()) { - - MethodDescriptor md = (MethodDescriptor) si.next(); - logger.finest(" " + md.getFormattedString()); - - Set perms = ejb.getMethodPermissionsFor(md); - StringBuilder rbuf = new StringBuilder(); - rbuf.append(" can only be invoked by: "); - Iterator sip = perms.iterator(); - boolean unchecked = false, excluded = false, roleBased = false; - - while (sip.hasNext()) { - MethodPermission p = (MethodPermission) sip.next(); - if (p.isExcluded()) { - excluded = true; - logger.finest(" excluded - can not " + - "be invoked"); - } else if (p.isUnchecked()) { - unchecked = true; - logger.finest(" unchecked - can be " + - "invoked by all"); - } else if (p.isRoleBased()) { - roleBased = true; - Role r = p.getRole(); - rbuf.append(r.getName()); - rbuf.append(" "); - // add to role's accessible list - HashSet ram = (HashSet) allRoleMap.get(r.getName()); - ram.add(bundle.getName() + ":" + - ejb.getEjbClassName() + "." + - md.getFormattedString()); - } - } - - if (roleBased) { - logger.finest(rbuf.toString()); - if (excluded || unchecked) { - logger.finest("*** Configuration error!"); - } - } else if (unchecked) { - if (excluded) { - logger.finest("*** Configuration error!"); - } - Set rks = allRoleMap.keySet(); - Iterator rksi = rks.iterator(); - while (rksi.hasNext()) { - HashSet ram = (HashSet) allRoleMap.get(rksi.next()); - ram.add(bundle.getName() + ":" + - ejb.getEjbClassName() + "." + - md.getFormattedString()); - } - } else if (!excluded) { - logger.finest("*** Configuration error!"); - } - } - - // IOR config for this ejb - logger.finest(" IOR configuration:"); - Set iors = ejb.getIORConfigurationDescriptors(); - if (iors != null) { - Iterator iorsi = iors.iterator(); - while (iorsi.hasNext()) { - EjbIORConfigurationDescriptor ior = (EjbIORConfigurationDescriptor) iorsi.next(); - StringBuilder iorsb = new StringBuilder(); - iorsb.append("realm="); - iorsb.append(ior.getRealmName()); - iorsb.append(", integrity="); - iorsb.append(ior.getIntegrity()); - iorsb.append(", trust-in-target="); - iorsb.append(ior.getEstablishTrustInTarget()); - iorsb.append(", trust-in-client="); - iorsb.append(ior.getEstablishTrustInClient()); - iorsb.append(", propagation="); - iorsb.append(ior.getCallerPropagation()); - iorsb.append(", auth-method="); - iorsb.append(ior.getAuthenticationMethod()); - logger.finest(iorsb.toString()); - } - } - } - } - - // show role->accessible methods list - logger.finest("--[ EJB methods accessible by role ]--"); - - Set rks = allRoleMap.keySet(); - Iterator rksi = rks.iterator(); - while (rksi.hasNext()) { - String roleName = (String) rksi.next(); - logger.finest(" [" + roleName + "]"); - HashSet ram = (HashSet) allRoleMap.get(roleName); - Iterator rami = ram.iterator(); - while (rami.hasNext()) { - String meth = (String) rami.next(); - logger.finest(" " + meth); - } - } - - // Process all Web modules - - Set webDescriptorSet = app.getBundleDescriptors(WebBundleDescriptor.class); - - i = webDescriptorSet.iterator(); - while (i.hasNext()) { - WebBundleDescriptor wbd = (WebBundleDescriptor) i.next(); - logger.finest("--[ Web module: " + wbd.getContextRoot() + " ]--"); - - // login config - LoginConfiguration lconf = wbd.getLoginConfiguration(); - if (lconf != null) { - logger.finest(" Login config: realm=" + - lconf.getRealmName() + ", method=" + - lconf.getAuthenticationMethod() + ", form=" + - lconf.getFormLoginPage() + ", error=" + - lconf.getFormErrorPage()); - } - - // get WebComponentDescriptorsSet() info - logger.finest(" Contains components:"); - Set webComps = wbd.getWebComponentDescriptors(); - Iterator webCompsIt = webComps.iterator(); - while (webCompsIt.hasNext()) { - WebComponentDescriptor wcd = (WebComponentDescriptor) webCompsIt.next(); - StringBuilder name = new StringBuilder(); - name.append(" - " + wcd.getCanonicalName()); - name.append(" [ "); - Enumeration urlPs = wcd.getUrlPatterns(); - while (urlPs.hasMoreElements()) { - name.append(urlPs.nextElement().toString()); - name.append(" "); - } - name.append("]"); - logger.finest(name.toString()); - - RunAsIdentityDescriptor runas = wcd.getRunAsIdentity(); - if (runas != null) { - String role = runas.getRoleName(); - String user = runas.getPrincipal(); - logger.finest(" Will run-as: Role: " + role + - " Principal: " + user); - if (role == null || "".equals(role) || - user == null || "".equals(user)) { - logger.finest("*** Configuration error!"); - } - } - - } - - // security constraints - logger.finest(" Security constraints:"); - Enumeration scEnum = wbd.getSecurityConstraints(); - while (scEnum.hasMoreElements()) { - - SecurityConstraint sc = (SecurityConstraint) scEnum.nextElement(); - - for (WebResourceCollection wrc : sc.getWebResourceCollections()) { - // show list of methods for this collection - StringBuilder sbm = new StringBuilder(); - for (String httpMethod : wrc.getHttpMethods()) { - sbm.append(httpMethod); - sbm.append(" "); - } - logger.finest(" Using method: " + sbm.toString()); - - // and then list of url patterns - for (String urlPattern : wrc.getUrlPatterns()) { - logger.finest(" " + urlPattern); - } - } // end res.collection iterator - - // show roles which apply to above set of collections - AuthorizationConstraint authCons = sc.getAuthorizationConstraint(); - Enumeration rolesEnum = authCons.getSecurityRoles(); - StringBuilder rsb = new StringBuilder(); - rsb.append(" Accessible by roles: "); - while (rolesEnum.hasMoreElements()) { - SecurityRole sr = (SecurityRole) rolesEnum.nextElement(); - rsb.append(sr.getName()); - rsb.append(" "); - } - logger.finest(rsb.toString()); - - // show transport guarantee - UserDataConstraint udc = sc.getUserDataConstraint(); - if (udc != null) { - logger.finest(" Transport guarantee: " + - udc.getTransportGuarantee()); - } - - } // end sec.constraint - - } // end webDescriptorSet.iterator - - logger.finest("======================================"); - } - - /** - * The number of Web Components in this application. Current implementation only return the number of servlets inside - * the application, and not the JSPs since we cannot get that information from deployment descriptors. - * - * @return the number of Web Components - */ - private static int getWebComponentCount(Application app) { - int count = 0; - for (WebBundleDescriptor wbd : app.getBundleDescriptors(WebBundleDescriptor.class)) { - count = count + wbd.getWebComponentDescriptors().size(); - } - return count; - } - - /** - * The number of EJB JARs in this application. - * - * @return the number of EJB JARS - */ - private static int getEjbComponentCount(Application app) { - int count = 0; - for (EjbBundleDescriptor ejbd : app.getBundleDescriptors(EjbBundleDescriptor.class)) { - count = count + ejbd.getEjbs().size(); - } - return count; - } -} diff --git a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/JavaEESecurityLifecycle.java b/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/JavaEESecurityLifecycle.java index 8c90dfb5371..a7d4fd35edb 100644 --- a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/JavaEESecurityLifecycle.java +++ b/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/JavaEESecurityLifecycle.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2024] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.security.ee; import com.sun.enterprise.security.ContainerSecurityLifecycle; @@ -46,8 +46,8 @@ import com.sun.enterprise.security.ee.authentication.jakarta.ConfigDomainParser; import com.sun.enterprise.security.ee.authentication.jakarta.WebServicesDelegate; import com.sun.logging.LogDomains; +import jakarta.ejb.Singleton; import jakarta.inject.Inject; -import jakarta.inject.Singleton; import jakarta.security.auth.message.MessageInfo; import jakarta.security.auth.message.MessagePolicy; import java.security.Provider; @@ -61,6 +61,7 @@ import org.glassfish.epicyro.config.module.configprovider.GFServerConfigProvider; import org.glassfish.hk2.api.PostConstruct; import org.glassfish.hk2.api.Rank; +import org.glassfish.hk2.runlevel.RunLevel; import org.glassfish.internal.api.Globals; import org.glassfish.internal.api.InitRunLevel; import org.jvnet.hk2.annotations.Service; @@ -73,7 +74,7 @@ * @author vbkumarjayanti * @author David Matejcek */ -@InitRunLevel +@RunLevel(InitRunLevel.VAL) @Rank(Constants.IMPORTANT_RUN_LEVEL_SERVICE) @Service @Singleton diff --git a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/audit/AppServerAuditManager.java b/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/audit/AppServerAuditManager.java deleted file mode 100644 index 5a3309cb24f..00000000000 --- a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/audit/AppServerAuditManager.java +++ /dev/null @@ -1,193 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -// Portions Copyright [2016-2021] [Payara Foundation] - -package com.sun.enterprise.security.ee.audit; - -import static java.util.logging.Level.INFO; - -import java.util.List; -import java.util.Properties; -import java.util.logging.Level; -import java.util.logging.Logger; - -import jakarta.inject.Singleton; -import jakarta.servlet.http.HttpServletRequest; - -import org.glassfish.hk2.api.Rank; -import org.jvnet.hk2.annotations.Service; - -import com.sun.appserv.security.AuditModule; -import com.sun.enterprise.security.BaseAuditModule; -import com.sun.enterprise.security.audit.BaseAuditManager; -import com.sun.enterprise.util.LocalStringManagerImpl; -import com.sun.logging.LogDomains; - -/** - * An EE-specific implementation of the audit manager. - *

    - * This class delegates the nucleus-based work of handling server start-up and shutdown and user authentication to its - * superclass, adding only the work specific to EE auditing here. - * - * @author Harpreet Singh - * @author Shing Wai Chan - * @author tjquinn - */ -@Service -@Singleton -@Rank(20) // so the app server prefers this impl to the non-EE one in nucleus -public final class AppServerAuditManager extends BaseAuditManager { - - private static final Logger _logger = LogDomains.getLogger(AppServerAuditManager.class, LogDomains.SECURITY_LOGGER, false); - private static final LocalStringManagerImpl _localStrings = new LocalStringManagerImpl(AppServerAuditManager.class); - - private static final String AUDIT_MGR_WS_INVOCATION_KEY = "auditmgr.webServiceInvocation"; - private static final String AUDIT_MGR_EJB_AS_WS_INVOCATION_KEY = "auditmgr.ejbAsWebServiceInvocation"; - - private List myAuditModules; - - @Override - public BaseAuditModule addAuditModule(String name, String classname, Properties props) throws Exception { - BaseAuditModule auditModule = super.addAuditModule(name, classname, props); - if (AuditModule.class.isAssignableFrom(auditModule.getClass())) { - myAuditModules().add((AuditModule) auditModule); - } - - return auditModule; - } - - @Override - public BaseAuditModule removeAuditModule(String name) { - BaseAuditModule auditModule = super.removeAuditModule(name); - if (AuditModule.class.isAssignableFrom(auditModule.getClass())) { - myAuditModules().remove((AuditModule) auditModule); - } - - return auditModule; - } - - /** - * logs the web authorization call for all loaded modules - * - * @see com.sun.appserv.security.AuditModule.webInvocation - */ - public void webInvocation(String user, HttpServletRequest request, String type, boolean success) { - if (auditOn) { - for (AuditModule auditModule : myAuditModules()) { - try { - auditModule.webInvocation(user, request, type, success); - } catch (Exception ex) { - _logger.log(INFO, - _localStrings.getLocalString( - "auditmgr.webinvocation", - " Audit Module {0} threw the following exception during web invocation :", - moduleName(auditModule)), ex); - } - } - } - } - - /** - * logs the ejb authorization call for all ejb modules - * - * @see com.sun.appserv.security.AuditModule.ejbInvocation - */ - public void ejbInvocation(String user, String ejb, String method, boolean success) { - if (auditOn) { - for (AuditModule auditModule : myAuditModules()) { - try { - auditModule.ejbInvocation(user, ejb, method, success); - } catch (Exception ex) { - _logger.log(INFO, _localStrings.getLocalString("auditmgr.ejbinvocation", - " Audit Module {0} threw the following exception during ejb invocation :", moduleName(auditModule)), ex); - } - } - } - } - - /** - * This method is called for the web service calls with MLS set and the endpoints deployed as servlets - * - * @see com.sun.appserv.security.AuditModule.webServiceInvocation - */ - public void webServiceInvocation(String uri, String endpoint, boolean validRequest) { - if (auditOn) { - for (AuditModule auditModule : myAuditModules()) { - try { - auditModule.webServiceInvocation(uri, endpoint, validRequest); - } catch (Exception ex) { - final String name = moduleName(auditModule); - final String msg = _localStrings.getLocalString(AUDIT_MGR_WS_INVOCATION_KEY, - " Audit Module {0} threw the following exception during web service invocation :", name); - _logger.log(INFO, msg, ex); - } - } - } - } - - /** - * This method is called for the web service calls with MLS set and the endpoints deployed as servlets - * - * @see com.sun.appserv.security.AuditModule.webServiceInvocation - */ - public void ejbAsWebServiceInvocation(String endpoint, boolean validRequest) { - if (auditOn) { - for (AuditModule auditModule : myAuditModules()) { - try { - auditModule.ejbAsWebServiceInvocation(endpoint, validRequest); - } catch (Exception ex) { - final String name = moduleName(auditModule); - final String msg = _localStrings.getLocalString(AUDIT_MGR_EJB_AS_WS_INVOCATION_KEY, - " Audit Module {0} threw the following exception during ejb as web service invocation :", name); - _logger.log(INFO, msg, ex); - } - } - } - } - - private synchronized List myAuditModules() { - if (myAuditModules == null) { - myAuditModules = instances(AuditModule.class); - } - - return myAuditModules; - } -} diff --git a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/audit/LocalStrings.properties b/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/audit/LocalStrings.properties deleted file mode 100644 index 68c10f4bad3..00000000000 --- a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/audit/LocalStrings.properties +++ /dev/null @@ -1,44 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -auditmgr.webinvocation=Audit: Audit Module {0} threw the following exception during web invocation : -auditmgr.ejbinvocation=Audit: Audit Module {0} threw the following exception during ejb invocation : -auditmgr.webServiceInvocation=Audit: Audit Module {0} threw the following exception during web service invocation : -auditmgr.ejbAsWebServiceInvocation=Audit: Audit Module {0} threw the following exception during ejb web service invocation : diff --git a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/authorization/WebAuthorizationManagerService.java b/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/authorization/WebAuthorizationManagerService.java index c147c9a721e..e5650f74266 100644 --- a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/authorization/WebAuthorizationManagerService.java +++ b/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/ee/authorization/WebAuthorizationManagerService.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright 2016-2025 Payara Foundation and/or its affiliates +// Portions Copyright 2016-2026 Payara Foundation and/or its affiliates // Payara Foundation and/or its affiliates elects to include this software in this distribution under the GPL Version 2 license. package com.sun.enterprise.security.ee.authorization; @@ -45,14 +45,9 @@ import com.sun.enterprise.deployment.WebBundleDescriptor; import com.sun.enterprise.security.SecurityContext; import com.sun.enterprise.security.SecurityRoleMapperFactoryGen; -import com.sun.enterprise.security.SecurityServicesUtil; import com.sun.enterprise.security.WebSecurityDeployerProbeProvider; -import com.sun.enterprise.security.audit.AuditManager; -import org.glassfish.exousia.modules.def.DefaultPolicy; -import org.glassfish.exousia.modules.def.DefaultPolicyFactory; import org.glassfish.security.common.Role; import com.sun.enterprise.security.ee.SecurityUtil; -import com.sun.enterprise.security.ee.audit.AppServerAuditManager; import com.sun.enterprise.security.ee.authorization.cache.CachedPermission; import com.sun.enterprise.security.ee.authorization.cache.CachedPermissionImpl; import com.sun.enterprise.security.ee.authorization.cache.PermissionCache; @@ -325,8 +320,6 @@ public int hasUserDataPermission(HttpServletRequest servletRequest, String uri, logger.log(FINE, "[Web-Security] hasUserDataPermission isGranted: {0}", isGranted); } - // Audit the grant - recordWebInvocation(servletRequest, USERDATA, isGranted); if (!isGranted && !servletRequest.isSecure()) { @@ -417,8 +410,6 @@ public boolean hasResourcePermission(HttpServletRequest servletRequest) { logger.log(Level.FINE, "[Web-Security] hasResource perm: {0}", getUriMinusContextPath(servletRequest)); } - recordWebInvocation(servletRequest, RESOURCE, isGranted); - return isGranted; } @@ -492,18 +483,6 @@ private SecurityContext getSecurityContext(Principal principal) { return securityContext; } - - private void recordWebInvocation(HttpServletRequest servletRequest, String type, boolean isGranted) { - AuditManager auditManager = SecurityServicesUtil.getInstance().getAuditManager(); - - if (auditManager != null && auditManager.isAuditOn() && (auditManager instanceof AppServerAuditManager)) { - AppServerAuditManager appServerAuditManager = (AppServerAuditManager) auditManager; - Principal principal = servletRequest.getUserPrincipal(); - String user = (principal != null) ? principal.getName() : null; - - appServerAuditManager.webInvocation(user, servletRequest, type, isGranted); - } - } private static String getUriMinusContextPath(HttpServletRequest request) { String uri = request.getRequestURI(); diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jauth/jaspic/provider/config/SoapAuthenticationService.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jauth/jaspic/provider/config/SoapAuthenticationService.java index 39d41fed0ac..40a8146a3cc 100644 --- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jauth/jaspic/provider/config/SoapAuthenticationService.java +++ b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jauth/jaspic/provider/config/SoapAuthenticationService.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2024] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.security.jauth.jaspic.provider.config; import com.sun.enterprise.deployment.Application; @@ -50,9 +50,7 @@ import com.sun.enterprise.security.SecurityContext; import com.sun.enterprise.security.SecurityServicesUtil; import com.sun.enterprise.security.appclient.ConfigXMLParser; -import com.sun.enterprise.security.audit.AuditManager; import com.sun.enterprise.security.common.ClientSecurityContext; -import com.sun.enterprise.security.ee.audit.AppServerAuditManager; import com.sun.enterprise.security.ee.authentication.jakarta.AuthMessagePolicy; import com.sun.enterprise.security.ee.authentication.jakarta.ConfigDomainParser; import com.sun.enterprise.security.ee.authentication.jakarta.WebServicesDelegate; @@ -104,7 +102,6 @@ public class SoapAuthenticationService extends BaseAuthenticationService { protected static final LocalStringManagerImpl localStrings = new LocalStringManagerImpl(PipeConstants.class); - private AppServerAuditManager auditManager; private boolean isEjbEndpoint; private SEIModel seiModel; private SOAPVersion soapVersion; @@ -126,8 +123,6 @@ public SoapAuthenticationService(String layer, Map properties, C } soapVersion = binding != null ? binding.getSOAPVersion() : SOAP_11; - AuditManager am = SecurityServicesUtil.getInstance() != null ? SecurityServicesUtil.getInstance().getAuditManager() : null; - auditManager = am instanceof AppServerAuditManager ? (AppServerAuditManager) am : new AppServerAuditManager();// workaround // habitat invManager = SecurityServicesUtil.getInstance() != null ? SecurityServicesUtil.getInstance().getHabitat().getService(InvocationManager.class) @@ -276,32 +271,6 @@ public void authorize(Packet request) throws Exception { } } - public void auditInvocation(Packet request, AuthStatus status) { - - if (auditManager.isAuditOn()) { - String uri = null; - if (!isEjbEndpoint && request != null && request.supports(MessageContext.SERVLET_REQUEST)) { - HttpServletRequest httpServletRequest = (HttpServletRequest) request.get(MessageContext.SERVLET_REQUEST); - uri = httpServletRequest.getRequestURI(); - } - String endpointName = null; - if (map != null) { - WebServiceEndpoint endpoint = (WebServiceEndpoint) map.get(PipeConstants.SERVICE_ENDPOINT); - if (endpoint != null) { - endpointName = endpoint.getEndpointName(); - } - } - if (endpointName == null) { - endpointName = "(no endpoint)"; - } - - if (isEjbEndpoint) { - auditManager.ejbAsWebServiceInvocation(endpointName, AuthStatus.SUCCESS.equals(status)); - } else { - auditManager.webServiceInvocation(((uri == null) ? "(no uri)" : uri), endpointName, AuthStatus.SUCCESS.equals(status)); - } - } - } public Object getModelName() { WSDLPort wsdlModel = (WSDLPort) getProperty(PipeConstants.WSDL_MODEL); diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/CommonServerSecurityPipe.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/CommonServerSecurityPipe.java index 401bc0a42e4..4f48e6afe87 100644 --- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/CommonServerSecurityPipe.java +++ b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/CommonServerSecurityPipe.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2024] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.security.webservices; import java.security.PrivilegedActionException; @@ -172,7 +172,6 @@ private Packet processRequest(Packet request) throws Exception { } finally { validatedRequest = info.getRequestPacket(); - helper.auditInvocation(validatedRequest, status); } Packet response = null; diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/CommonServerSecurityTube.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/CommonServerSecurityTube.java index 93ed11fc185..69db4a68561 100644 --- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/CommonServerSecurityTube.java +++ b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/CommonServerSecurityTube.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2024] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.security.webservices; import java.security.PrivilegedActionException; @@ -136,15 +136,12 @@ public NextAction processRequest(Packet request) { WebServiceException wse = new WebServiceException(localStrings.getLocalString("enterprise.webservice.cantValidateRequest", "Cannot validate request for {0}", new Object[] { helper.getModelName() }), e); - // set status for audit - status = AuthStatus.SEND_FAILURE; // if unable to determine if two-way will return empty response Packet ret = helper.getFaultResponse(info.getRequestPacket(), info.getResponsePacket(), wse); return doReturnWith(ret); } finally { validatedRequest = info.getRequestPacket(); - helper.auditInvocation(validatedRequest, status); } Packet response = null; diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/SecurityServiceImpl.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/SecurityServiceImpl.java index 045abd13878..ac7798961fb 100644 --- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/SecurityServiceImpl.java +++ b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/SecurityServiceImpl.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2024] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates // Portions Copyright [2024] Contributors to the Eclipse Foundation // Payara Foundation and/or its affiliates elects to include this software in this distribution under the GPL Version 2 license package com.sun.enterprise.security.webservices; @@ -45,12 +45,10 @@ import com.sun.enterprise.deployment.ServiceReferenceDescriptor; import com.sun.enterprise.deployment.WebServiceEndpoint; import com.sun.enterprise.security.SecurityContext; -import com.sun.enterprise.security.ee.audit.AppServerAuditManager; import com.sun.enterprise.security.web.integration.WebPrincipal; import com.sun.enterprise.web.WebModule; import com.sun.web.security.RealmAdapter; import com.sun.xml.ws.assembler.metro.dev.ClientPipelineHook; -import jakarta.inject.Inject; import jakarta.inject.Singleton; import jakarta.security.jacc.PolicyContext; import jakarta.servlet.http.HttpServletRequest; @@ -90,9 +88,6 @@ public class SecurityServiceImpl implements SecurityService { private static ThreadLocal> req = new ThreadLocal>(); - @Inject - private AppServerAuditManager auditManager; - @Override public boolean doSecurity(HttpServletRequest hreq, EjbRuntimeEndpointInfo epInfo, String realmName, WebServiceContextImpl context) { // BUG2263 - Clear the value of UserPrincipal from previous request @@ -169,10 +164,6 @@ public boolean doSecurity(HttpServletRequest hreq, EjbRuntimeEndpointInfo epInfo } catch (Exception e) { throw new RuntimeException(e); - } finally { - if (auditManager != null && auditManager.isAuditOn()) { - auditManager.ejbAsWebServiceInvocation(epInfo.getEndpoint().getEndpointName(), authenticated); - } } return authenticated; } diff --git a/nucleus/admin/cli/src/main/manpages/com/sun/enterprise/admin/cli/list-commands.1 b/nucleus/admin/cli/src/main/manpages/com/sun/enterprise/admin/cli/list-commands.1 index bf90db93b9e..b59210fdf36 100644 --- a/nucleus/admin/cli/src/main/manpages/com/sun/enterprise/admin/cli/list-commands.1 +++ b/nucleus/admin/cli/src/main/manpages/com/sun/enterprise/admin/cli/list-commands.1 @@ -121,7 +121,7 @@ EXAMPLES add-resources enable-monitoring configure-ldap-for-admin flush-jmsdest create-admin-object freeze-transaction-service - create-audit-module generate-jvm-report + generate-jvm-report create-auth-realm get create-connector-connection-pool get-client-stubs create-connector-resource get-host-and-port @@ -130,7 +130,7 @@ EXAMPLES create-custom-resource list-admin-objects create-file-user list-app-refs create-http list-applications - create-http-listener list-audit-modules + create-http-listener create-iiop-listener list-auth-realms create-javamail-resource create-jdbc-connection-pool list-connector-connection-pools @@ -140,7 +140,7 @@ EXAMPLES create-jmsdest list-containers create-jndi-resource list-custom-resources create-jvm-options list-file-groups - delete-audit-module list-file-users + list-file-users create-message-security-provider list-http-listeners create-network-listener list-iiop-listeners create-password-alias list-javamail-resources diff --git a/nucleus/admin/cli/src/main/resources/supported-legacy-command-names b/nucleus/admin/cli/src/main/resources/supported-legacy-command-names index 36b28427507..5e00b620d66 100644 --- a/nucleus/admin/cli/src/main/resources/supported-legacy-command-names +++ b/nucleus/admin/cli/src/main/resources/supported-legacy-command-names @@ -67,9 +67,6 @@ delete-ssl R create-jvm-options R delete-jvm-options R # no list-jvm-options (it's a new command I added in v3) -create-audit-module R -delete-audit-module R -list-audit-modules R create-file-user R delete-file-user R list-file-users R diff --git a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/AuditModule.java b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/AuditModule.java deleted file mode 100644 index 3e98d9b94db..00000000000 --- a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/AuditModule.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018-2021] Payara Foundation and/or affiliates - -package com.sun.enterprise.config.serverbeans; - -import org.jvnet.hk2.config.Attribute; -import org.jvnet.hk2.config.ConfigBeanProxy; -import org.jvnet.hk2.config.Configured; -import org.jvnet.hk2.config.Element; - -import java.beans.PropertyVetoException; -import java.util.List; - -import org.glassfish.api.admin.config.PropertiesDesc; -import org.jvnet.hk2.config.types.Property; -import org.jvnet.hk2.config.types.PropertyBag; -import org.glassfish.api.admin.RestRedirects; -import org.glassfish.api.admin.RestRedirect; -import org.glassfish.quality.ToDo; -import static org.glassfish.config.support.Constants.NAME_REGEX; - -import jakarta.validation.constraints.Pattern; -import jakarta.validation.constraints.NotNull; - -import com.sun.enterprise.config.serverbeans.customvalidators.JavaClassName; - -/** - * An audit-module specifies an optional plug-in module which implements audit - * capabilities. - */ -@Configured -@RestRedirects({ - @RestRedirect(opType = RestRedirect.OpType.POST, commandName = "create-audit-module"), - @RestRedirect(opType = RestRedirect.OpType.DELETE, commandName = "delete-audit-module") -}) -public interface AuditModule extends ConfigBeanProxy, PropertyBag { - - /** - * Gets the value of the name property. - * Defines the name of this realm - * - * @return possible object is - * {@link String } - */ - @Attribute(key=true) - @NotNull - @Pattern(regexp=NAME_REGEX) - String getName(); - - /** - * Sets the value of the name property. - * - * @param value allowed object is {@link String } - * @throws PropertyVetoException - */ - void setName(String value) throws PropertyVetoException; - - /** - * Gets the value of the classname property. - * Defines the java class which implements this audit module - * - * @return possible object is {@link String } - */ - @Attribute - @NotNull - @JavaClassName - String getClassname(); - - /** - * Sets the value of the classname property. - * - * @param value allowed object is {@link String } - * @throws PropertyVetoException - */ - void setClassname(String value) throws PropertyVetoException; - - /** - Properties as per {@link PropertyBag} - */ - @ToDo(priority=ToDo.Priority.IMPORTANT, details="Provide PropertyDesc for legal props" ) - @PropertiesDesc(props={}) - @Element - @Override - List getProperty(); -} diff --git a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/SecurityService.java b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/SecurityService.java index ed7830544f0..899b9806c99 100644 --- a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/SecurityService.java +++ b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/SecurityService.java @@ -123,24 +123,6 @@ public interface SecurityService extends ConfigBeanProxy, PropertyBag { */ public void setDefaultPrincipalPassword(String value) throws PropertyVetoException; - /** - * Gets the value of the auditEnabled property. - * - * If true, additional access logging is performed to provide audit information - * - * @return possible object is {@link String } - */ - @Attribute(defaultValue = "false", dataType = Boolean.class) - public String getAuditEnabled(); - - /** - * Sets the value of the auditEnabled property. - * - * @param value allowed object is {@link String } - * @throws PropertyVetoException - */ - public void setAuditEnabled(String value) throws PropertyVetoException; - /** * Gets the value of the jacc property. Specifies the name of the jacc-provider element to use for setting up the JACC infrastructure. The default value * "default" does not need to be changed unless adding a custom JACC provider. @@ -160,25 +142,6 @@ public interface SecurityService extends ConfigBeanProxy, PropertyBag { */ public void setJacc(String value) throws PropertyVetoException; - /** - * Gets the value of the auditModules property. - * - * Optional list of audit provider modules which will be used by the audit subsystem. Default value refers to the internal log-based audit module - * - * @return possible object is {@link String } - */ - @Attribute(defaultValue = "default") - public String getAuditModules(); - - /** - * Sets the value of the auditModules property. - * - * @param value allowed object is {@link String } - * Sets the username for this authorized internal admin user entry. - * @throws PropertyVetoException - */ - public void setAuditModules(String value) throws PropertyVetoException; - /** * Gets the value of the activateDefaultPrincipalToRoleMapping property. * @@ -278,29 +241,6 @@ public interface SecurityService extends ConfigBeanProxy, PropertyBag { @Element(required = true) public List getJaccProvider(); - /** - * Gets the value of the auditModule property. - *

    - *

    - * This accessor method returns a reference to the live list, - * not a snapshot. Therefore any modification you make to the - * returned list will be present inside the JAXB object. - * This is why there is not a set method for the auditModule property. - *

    - *

    - * For example, to add a new item, do as follows: - *

    -     *    getAuditModule().add(newItem);
    -     * 
    - *

    - *

    - *

    - * Objects of the following type(s) are allowed in the list {@link AuditModule } - * @return - */ - @Element - public List getAuditModule(); - /** * Gets the value of the messageSecurityConfig property. * diff --git a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ServerTags.java b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ServerTags.java index 18331b0c168..90881999464 100644 --- a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ServerTags.java +++ b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ServerTags.java @@ -263,9 +263,7 @@ public class ServerTags { public static final String DEFAULT_PRINCIPAL = "default-principal"; public static final String DEFAULT_PRINCIPAL_PASSWORD = "default-principal-password"; public static final String ANONYMOUS_ROLE = "anonymous-role"; - public static final String AUDIT_ENABLED = "audit-enabled"; public static final String JACC = "jacc"; - public static final String AUDIT_MODULES = "audit-modules"; public static final String ACTIVATE_DEFAULT_PRINCIPAL_TO_ROLE_MAPPING = "activate-default-principal-to-role-mapping"; public static final String MAPPED_PRINCIPAL_CLASS = "mapped-principal-class"; /** Tags for Element transaction-service */ @@ -405,10 +403,6 @@ public class ServerTags { //public static final String NAME = "name"; public static final String POLICY_PROVIDER = "policy-provider"; public static final String POLICY_CONFIGURATION_FACTORY_PROVIDER = "policy-configuration-factory-provider"; - /** Tags for Element audit-module */ - public static final String AUDIT_MODULE = "audit-module"; - //public static final String NAME = "name"; - //public static final String CLASSNAME = "classname"; /** Tags for Element message-security-config */ public static final String MESSAGE_SECURITY_CONFIG = "message-security-config"; public static final String AUTH_LAYER = "auth-layer"; diff --git a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/util/ConfigApiLoggerInfo.java b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/util/ConfigApiLoggerInfo.java index f1cf8389dc6..4157c4360c2 100644 --- a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/util/ConfigApiLoggerInfo.java +++ b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/util/ConfigApiLoggerInfo.java @@ -392,32 +392,6 @@ public static String getString(String message, Object[] parameters) { level = "SEVERE") public final static String problemParsingJaacProviderAttr = LOGMSG_PREFIX + "-00044"; - @LogMessageInfo( - message = "Failure creating AuditModule config object", - cause = "unknown", - action = "unknown", - publish = true, - level = "SEVERE") - public final static String failureCreatingAuditModule = LOGMSG_PREFIX + "-00045"; - - - @LogMessageInfo( - message = "Create AuditModule Property failed.", - cause = "unknown", - action = "unknown", - publish = true, - level = "SEVERE") - public final static String failureCreatingAuditModuleAttr = LOGMSG_PREFIX + "-00046"; - - - @LogMessageInfo( - message = "Problem parsing audit-module property", - cause = "unknown", - action = "unknown", - publish = true, - level = "SEVERE") - public final static String failureParsingAuditModuleProp = LOGMSG_PREFIX + "-00047"; - @LogMessageInfo( message = "Failure creating ProviderConfig", cause = "unknown", diff --git a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/SecurityServiceDefaultsTest.java b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/SecurityServiceDefaultsTest.java index 7351401dc8c..d57b8c08940 100644 --- a/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/SecurityServiceDefaultsTest.java +++ b/nucleus/admin/config-api/src/test/java/com/sun/enterprise/configapi/tests/dvt/SecurityServiceDefaultsTest.java @@ -82,8 +82,6 @@ public void tearDown() { public void testFewDefaults() { assertEquals("file", securityService.getDefaultRealm()); assertEquals("true", securityService.getActivateDefaultPrincipalToRoleMapping()); - assertEquals("false", securityService.getAuditEnabled()); - assertEquals("default", securityService.getAuditModules()); assertEquals("default", securityService.getJacc()); } } diff --git a/nucleus/admin/config-api/src/test/resources/ClusterDomain.xml b/nucleus/admin/config-api/src/test/resources/ClusterDomain.xml index e0c1e0236c5..0b696f5eeff 100644 --- a/nucleus/admin/config-api/src/test/resources/ClusterDomain.xml +++ b/nucleus/admin/config-api/src/test/resources/ClusterDomain.xml @@ -40,7 +40,7 @@ --> - + @@ -77,9 +77,6 @@ - - - @@ -201,9 +198,6 @@ - - - @@ -325,9 +319,6 @@ - - - diff --git a/nucleus/admin/config-api/src/test/resources/DGDomain.xml b/nucleus/admin/config-api/src/test/resources/DGDomain.xml index fc69fc8ff58..624f13e3f9a 100644 --- a/nucleus/admin/config-api/src/test/resources/DGDomain.xml +++ b/nucleus/admin/config-api/src/test/resources/DGDomain.xml @@ -40,7 +40,7 @@ --> - + @@ -81,9 +81,6 @@ - - - @@ -206,9 +203,6 @@ - - - @@ -331,9 +325,6 @@ - - - diff --git a/nucleus/admin/config-api/src/test/resources/DomainTest.xml b/nucleus/admin/config-api/src/test/resources/DomainTest.xml index 9b06716bc8a..497d440b4d0 100644 --- a/nucleus/admin/config-api/src/test/resources/DomainTest.xml +++ b/nucleus/admin/config-api/src/test/resources/DomainTest.xml @@ -40,7 +40,7 @@ --> - + @@ -103,9 +103,6 @@ - - - diff --git a/nucleus/admin/config-api/src/test/resources/parser/c1i1.xml b/nucleus/admin/config-api/src/test/resources/parser/c1i1.xml index a9f99262a28..67a982c02b8 100644 --- a/nucleus/admin/config-api/src/test/resources/parser/c1i1.xml +++ b/nucleus/admin/config-api/src/test/resources/parser/c1i1.xml @@ -40,7 +40,7 @@ --> - + @@ -117,9 +117,6 @@ - - - @@ -239,9 +236,6 @@ - - - @@ -367,9 +361,6 @@ - - - @@ -495,9 +486,6 @@ - - - @@ -623,9 +611,6 @@ - - - @@ -751,9 +736,6 @@ - - - @@ -879,9 +861,6 @@ - - - diff --git a/nucleus/admin/config-api/src/test/resources/parser/c1i1c1i2.xml b/nucleus/admin/config-api/src/test/resources/parser/c1i1c1i2.xml index 1d6698efbaa..dca88ecc104 100644 --- a/nucleus/admin/config-api/src/test/resources/parser/c1i1c1i2.xml +++ b/nucleus/admin/config-api/src/test/resources/parser/c1i1c1i2.xml @@ -40,7 +40,7 @@ --> - + @@ -128,9 +128,6 @@ - - - @@ -250,9 +247,6 @@ - - - @@ -378,9 +372,6 @@ - - - @@ -506,9 +497,6 @@ - - - @@ -634,9 +622,6 @@ - - - @@ -762,9 +747,6 @@ - - - @@ -890,9 +872,6 @@ - - - diff --git a/nucleus/admin/config-api/src/test/resources/parser/i1.xml b/nucleus/admin/config-api/src/test/resources/parser/i1.xml index 0bf7725dbd2..55c1a1c40fb 100644 --- a/nucleus/admin/config-api/src/test/resources/parser/i1.xml +++ b/nucleus/admin/config-api/src/test/resources/parser/i1.xml @@ -40,7 +40,7 @@ --> - + @@ -95,9 +95,6 @@ - - - @@ -217,9 +214,6 @@ - - - @@ -345,9 +339,6 @@ - - - diff --git a/nucleus/admin/config-api/src/test/resources/parser/i1i2.xml b/nucleus/admin/config-api/src/test/resources/parser/i1i2.xml index 1a2b5bbd2f6..ebb486af224 100644 --- a/nucleus/admin/config-api/src/test/resources/parser/i1i2.xml +++ b/nucleus/admin/config-api/src/test/resources/parser/i1i2.xml @@ -40,7 +40,7 @@ --> - + @@ -106,9 +106,6 @@ - - - @@ -228,9 +225,6 @@ - - - @@ -356,9 +350,6 @@ - - - @@ -484,9 +475,6 @@ - - - diff --git a/nucleus/admin/config-api/src/test/resources/parser/noconfigfori1.xml b/nucleus/admin/config-api/src/test/resources/parser/noconfigfori1.xml index 3e7d7553976..b0f3734ceab 100644 --- a/nucleus/admin/config-api/src/test/resources/parser/noconfigfori1.xml +++ b/nucleus/admin/config-api/src/test/resources/parser/noconfigfori1.xml @@ -40,7 +40,7 @@ --> - + @@ -95,9 +95,6 @@ - - - @@ -217,9 +214,6 @@ - - - @@ -345,9 +339,6 @@ - - - diff --git a/nucleus/admin/config-api/src/test/resources/parser/stock.xml b/nucleus/admin/config-api/src/test/resources/parser/stock.xml index 180891c2a05..fd8b2e3c7b0 100644 --- a/nucleus/admin/config-api/src/test/resources/parser/stock.xml +++ b/nucleus/admin/config-api/src/test/resources/parser/stock.xml @@ -40,7 +40,7 @@ --> - + @@ -105,9 +105,6 @@ - - - @@ -259,9 +256,6 @@ - - - diff --git a/nucleus/admin/launcher/src/test/resources/domains/baddomain/config/domain.xml b/nucleus/admin/launcher/src/test/resources/domains/baddomain/config/domain.xml index 2fb527a31cd..e9f7815ccc9 100644 --- a/nucleus/admin/launcher/src/test/resources/domains/baddomain/config/domain.xml +++ b/nucleus/admin/launcher/src/test/resources/domains/baddomain/config/domain.xml @@ -113,9 +113,6 @@ - - - diff --git a/nucleus/admin/launcher/src/test/resources/domains/domain1/config/domain.xml b/nucleus/admin/launcher/src/test/resources/domains/domain1/config/domain.xml index 4216a9cf2b8..f20bdbf4fc5 100644 --- a/nucleus/admin/launcher/src/test/resources/domains/domain1/config/domain.xml +++ b/nucleus/admin/launcher/src/test/resources/domains/domain1/config/domain.xml @@ -111,9 +111,6 @@ - - - diff --git a/nucleus/admin/launcher/src/test/resources/domains/domain2/config/domain.xml b/nucleus/admin/launcher/src/test/resources/domains/domain2/config/domain.xml index 9c78ba0d459..931d37c4218 100644 --- a/nucleus/admin/launcher/src/test/resources/domains/domain2/config/domain.xml +++ b/nucleus/admin/launcher/src/test/resources/domains/domain2/config/domain.xml @@ -113,9 +113,6 @@ - - - diff --git a/nucleus/admin/launcher/src/test/resources/domains/domain3/config/domain.xml b/nucleus/admin/launcher/src/test/resources/domains/domain3/config/domain.xml index 8fab26bfe65..24f04500ccb 100644 --- a/nucleus/admin/launcher/src/test/resources/domains/domain3/config/domain.xml +++ b/nucleus/admin/launcher/src/test/resources/domains/domain3/config/domain.xml @@ -112,9 +112,6 @@ - - - diff --git a/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/domain.xml b/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/domain.xml index 2ba8e932f4c..8a76ec79886 100644 --- a/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/domain.xml +++ b/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/domain.xml @@ -109,9 +109,6 @@ - - - diff --git a/nucleus/admin/rest/rest-service/src/main/java/org/glassfish/admin/rest/generator/ResourcesGeneratorBase.java b/nucleus/admin/rest/rest-service/src/main/java/org/glassfish/admin/rest/generator/ResourcesGeneratorBase.java index f90a73c04cc..a676aa0239a 100644 --- a/nucleus/admin/rest/rest-service/src/main/java/org/glassfish/admin/rest/generator/ResourcesGeneratorBase.java +++ b/nucleus/admin/rest/rest-service/src/main/java/org/glassfish/admin/rest/generator/ResourcesGeneratorBase.java @@ -464,7 +464,7 @@ private boolean hasSingletonAnnotation(ConfigModel model) { //TODO - fetch command name from config bean(RestRedirect annotation). //RESTREdirect currently only support automatically these deletes: /* - * delete-admin-object delete-audit-module delete-auth-realm delete-connector-connection-pool delete-connector-resource + * delete-admin-object delete-auth-realm delete-connector-connection-pool delete-connector-resource * delete-custom-resource delete-http-listener delete-iiop-listener delete-javamail-resource delete-jdbc-connection-pool * delete-jdbc-resource delete-jms-host delete-message-security-provider delete-resource-adapter-config * delete-resource-ref delete-system-property delete-virtual-server What is missing is: delete-jms-resource delete-jmsdest @@ -476,7 +476,6 @@ private boolean hasSingletonAnnotation(ConfigModel model) { { put("AdminObjectResource", "delete-admin-object"); - put("AuditModule", "delete-audit-module"); put("AuthRealm", "delete-auth-realm"); put("ApplicationRef", "delete-application-ref"); put("Cluster", "delete-cluster"); @@ -514,7 +513,6 @@ private boolean hasSingletonAnnotation(ConfigModel model) { put("ListAdminObjectResource", "create-admin-object"); put("ListApplication", "deploy"); put("ListApplicationRef", "create-application-ref"); - put("ListAuditModule", "create-audit-module"); put("ListAuthRealm", "create-auth-realm"); put("ListCluster", "create-cluster"); put("ListConfig", "_create-config"); diff --git a/nucleus/admin/rest/rest-service/src/test/resources/GlassFishI18NData.properties b/nucleus/admin/rest/rest-service/src/test/resources/GlassFishI18NData.properties index 0e0de98f3d8..087547414f5 100644 --- a/nucleus/admin/rest/rest-service/src/test/resources/GlassFishI18NData.properties +++ b/nucleus/admin/rest/rest-service/src/test/resources/GlassFishI18NData.properties @@ -143,13 +143,6 @@ com.sun.enterprise.config.serverbeans.ApplicationRef.ref.label=ref com.sun.enterprise.config.serverbeans.ApplicationRef.virtualServers.help=virtual-servers com.sun.enterprise.config.serverbeans.ApplicationRef.virtualServers.label=virtual-servers - -com.sun.enterprise.config.serverbeans.AuditModule.classname.help=Class Name -com.sun.enterprise.config.serverbeans.AuditModule.classname.label=Class Name -com.sun.enterprise.config.serverbeans.AuditModule.name.help=name -com.sun.enterprise.config.serverbeans.AuditModule.name.label=name - - com.sun.enterprise.config.serverbeans.AuthRealm.classname.help=classname com.sun.enterprise.config.serverbeans.AuthRealm.classname.label=classname com.sun.enterprise.config.serverbeans.AuthRealm.name.help=name @@ -1231,10 +1224,6 @@ com.sun.enterprise.config.serverbeans.SecurityService.activateDefaultPrincipalTo com.sun.enterprise.config.serverbeans.SecurityService.activateDefaultPrincipalToRoleMapping.label=activate-default-principal-to-role-mapping com.sun.enterprise.config.serverbeans.SecurityService.anonymousRole.help=anonymous-role com.sun.enterprise.config.serverbeans.SecurityService.anonymousRole.label=anonymous-role -com.sun.enterprise.config.serverbeans.SecurityService.auditEnabled.help=audit-enabled -com.sun.enterprise.config.serverbeans.SecurityService.auditEnabled.label=audit-enabled -com.sun.enterprise.config.serverbeans.SecurityService.auditModules.help=audit-modules -com.sun.enterprise.config.serverbeans.SecurityService.auditModules.label=audit-modules com.sun.enterprise.config.serverbeans.SecurityService.defaultPrincipal.help=default-principal com.sun.enterprise.config.serverbeans.SecurityService.defaultPrincipal.label=default-principal com.sun.enterprise.config.serverbeans.SecurityService.defaultPrincipalPassword.help=default-principal-password diff --git a/nucleus/common/common-util/src/test/resources/adminport.xml b/nucleus/common/common-util/src/test/resources/adminport.xml index f132d3bddff..c2cd58e008d 100644 --- a/nucleus/common/common-util/src/test/resources/adminport.xml +++ b/nucleus/common/common-util/src/test/resources/adminport.xml @@ -111,9 +111,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/adminport2.xml b/nucleus/common/common-util/src/test/resources/adminport2.xml index 3d7884c5116..1f435a9948d 100644 --- a/nucleus/common/common-util/src/test/resources/adminport2.xml +++ b/nucleus/common/common-util/src/test/resources/adminport2.xml @@ -98,9 +98,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/big.xml b/nucleus/common/common-util/src/test/resources/big.xml index 0e1d59c7b99..8f97fa09ba2 100644 --- a/nucleus/common/common-util/src/test/resources/big.xml +++ b/nucleus/common/common-util/src/test/resources/big.xml @@ -40,7 +40,7 @@ --> - + @@ -109,9 +109,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/clusters1.xml b/nucleus/common/common-util/src/test/resources/clusters1.xml index c863dd2c54b..f3a3cfe5fc2 100644 --- a/nucleus/common/common-util/src/test/resources/clusters1.xml +++ b/nucleus/common/common-util/src/test/resources/clusters1.xml @@ -39,7 +39,7 @@ --> - + @@ -139,9 +139,6 @@ - - - @@ -295,9 +292,6 @@ - - - @@ -458,9 +452,6 @@ - - - @@ -621,9 +612,6 @@ - - - @@ -784,9 +772,6 @@ - - - @@ -947,9 +932,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/manysysprops.xml b/nucleus/common/common-util/src/test/resources/manysysprops.xml index a355bfda1e8..fad6333a979 100644 --- a/nucleus/common/common-util/src/test/resources/manysysprops.xml +++ b/nucleus/common/common-util/src/test/resources/manysysprops.xml @@ -39,7 +39,7 @@ --> - + @@ -144,9 +144,6 @@ - - - @@ -300,9 +297,6 @@ - - - @@ -466,9 +460,6 @@ - - - @@ -629,9 +620,6 @@ - - - @@ -792,9 +780,6 @@ - - - @@ -955,9 +940,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/monitoringFalse.xml b/nucleus/common/common-util/src/test/resources/monitoringFalse.xml index e0085018bbe..ac810a07f37 100644 --- a/nucleus/common/common-util/src/test/resources/monitoringFalse.xml +++ b/nucleus/common/common-util/src/test/resources/monitoringFalse.xml @@ -40,7 +40,7 @@ --> - + @@ -109,9 +109,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/monitoringNone.xml b/nucleus/common/common-util/src/test/resources/monitoringNone.xml index ebc390245fc..34aab5c4a65 100644 --- a/nucleus/common/common-util/src/test/resources/monitoringNone.xml +++ b/nucleus/common/common-util/src/test/resources/monitoringNone.xml @@ -40,7 +40,7 @@ --> - + @@ -109,9 +109,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/monitoringTrue.xml b/nucleus/common/common-util/src/test/resources/monitoringTrue.xml index 32905f74414..5521c3cf936 100644 --- a/nucleus/common/common-util/src/test/resources/monitoringTrue.xml +++ b/nucleus/common/common-util/src/test/resources/monitoringTrue.xml @@ -40,7 +40,7 @@ --> - + @@ -109,9 +109,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/noconfig.xml b/nucleus/common/common-util/src/test/resources/noconfig.xml index 3633a2e9471..fbe38cf0b1a 100644 --- a/nucleus/common/common-util/src/test/resources/noconfig.xml +++ b/nucleus/common/common-util/src/test/resources/noconfig.xml @@ -107,9 +107,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/nodomainname.xml b/nucleus/common/common-util/src/test/resources/nodomainname.xml index efc8fe96a77..00cb3b170cc 100644 --- a/nucleus/common/common-util/src/test/resources/nodomainname.xml +++ b/nucleus/common/common-util/src/test/resources/nodomainname.xml @@ -112,9 +112,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/olddomain.xml b/nucleus/common/common-util/src/test/resources/olddomain.xml index 38557a46217..32eef962908 100644 --- a/nucleus/common/common-util/src/test/resources/olddomain.xml +++ b/nucleus/common/common-util/src/test/resources/olddomain.xml @@ -40,7 +40,7 @@ --> - + @@ -98,9 +98,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/rightorder.xml b/nucleus/common/common-util/src/test/resources/rightorder.xml index 715a49b72e0..c40eab8ec2e 100644 --- a/nucleus/common/common-util/src/test/resources/rightorder.xml +++ b/nucleus/common/common-util/src/test/resources/rightorder.xml @@ -112,9 +112,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/rightordernoclosedomain.xml b/nucleus/common/common-util/src/test/resources/rightordernoclosedomain.xml index fc8d83aef41..e315da58038 100644 --- a/nucleus/common/common-util/src/test/resources/rightordernoclosedomain.xml +++ b/nucleus/common/common-util/src/test/resources/rightordernoclosedomain.xml @@ -141,7 +141,7 @@ - + @@ -155,9 +155,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/v2domain.xml b/nucleus/common/common-util/src/test/resources/v2domain.xml index 5f766741b04..dd38b8d5a81 100644 --- a/nucleus/common/common-util/src/test/resources/v2domain.xml +++ b/nucleus/common/common-util/src/test/resources/v2domain.xml @@ -154,7 +154,7 @@ - + @@ -168,9 +168,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/wrongorder.xml b/nucleus/common/common-util/src/test/resources/wrongorder.xml index c2f20913427..2c64c72fbdb 100644 --- a/nucleus/common/common-util/src/test/resources/wrongorder.xml +++ b/nucleus/common/common-util/src/test/resources/wrongorder.xml @@ -99,9 +99,6 @@ - - - diff --git a/nucleus/common/common-util/src/test/resources/wrongordernoclosedomain.xml b/nucleus/common/common-util/src/test/resources/wrongordernoclosedomain.xml index 30879775c44..81715b8b20a 100644 --- a/nucleus/common/common-util/src/test/resources/wrongordernoclosedomain.xml +++ b/nucleus/common/common-util/src/test/resources/wrongordernoclosedomain.xml @@ -129,7 +129,7 @@ - + @@ -143,9 +143,6 @@ - - - diff --git a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_de.properties b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_de.properties index dbe9a629600..747611d0fed 100644 --- a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_de.properties +++ b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_de.properties @@ -37,6 +37,7 @@ # only if the new code is made subject to such option by the copyright # holder. # +# Portions Copyright 2026 Payara Foundation and/or affiliates adapter.param.decode=Dekodierung nicht m\u00F6glich von Parameter {0} = {1} adapter.param.missing={0}-Befehl erfordert den {1}-Parameter: {2} @@ -159,14 +160,6 @@ uptime=Gibt zur\u00FCck, wie lange der Server bereits ausgef\u00FChrt wird. uptime.command=Gibt zur\u00FCck, wie lange der Server bereits ausgef\u00FChrt wird. uptime.output.terse=Hochgefahren: {0} -create.audit.module.duplicatefound=AuditModule mit dem Namen {0} ist bereits vorhanden. Doppeltes AuditModul kann nicht hinzugef\u00FCgt werden. -create.audit.module.fail=Erstellung von AuditModule {0} nicht erfolgreich -create.audit.module.success=Erstellung von AuditModule {0} erfolgreich abgeschlossen -list.audit.module.success=Befehl "list-audit-modules" erfolgreich ausgef\u00FChrt. -delete.audit.module.notfound=Angegebenes AuditModule {0} nicht gefunden -delete.audit.module.fail=L\u00F6schung von AuditModule {0} nicht erfolgreich -delete.audit.module.success=L\u00F6schung von AuditModule {0} erfolgreich abgeschlossen. - create.message.security.provider.duplicatefound=Nachrichtensicherheitsprovider namens {0} vorhanden. Duplikat kann nicht hinzugef\u00FCgt werden. create.message.security.provider.fail=Erstellung von Nachrichtensicherheitsprovider {0} nicht erfolgreich. create.message.security.provider.success=Erstellung von Nachrichtensicherheitsprovider {0} erfolgreich abgeschlossen. diff --git a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_es.properties b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_es.properties index 5f6205c5b52..b1b020a2641 100644 --- a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_es.properties +++ b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_es.properties @@ -37,6 +37,7 @@ # only if the new code is made subject to such option by the copyright # holder. # +# Portions Copyright 2026 Payara Foundation and/or affiliates adapter.param.decode=No se puede descodificar el par\u00E1metro {0} = {1} adapter.param.missing=El comando {0} necesita el par\u00E1metro {1}: {2}. @@ -159,14 +160,6 @@ uptime=Devuelve el tiempo durante el que se ha estado ejecutando el servidor. uptime.command=Devuelve el tiempo durante el que se ha estado ejecutando el servidor. uptime.output.terse=Activo {0} -create.audit.module.duplicatefound=El AuditModule denominado {0} ya existe. No se puede agregar un AuditModule duplicado. -create.audit.module.fail=Fallo en la creaci\u00F3n del AuditModule {0}. -create.audit.module.success=La creaci\u00F3n del AuditModule {0} se ha realizado correctamente. -list.audit.module.success=El comando list-audit-modules se ha ejecutado correctamente. -delete.audit.module.notfound=No se ha encontrado el AuditModule {0} especificado. -delete.audit.module.fail=Fallo en la supresi\u00F3n del AuditModule {0} -delete.audit.module.success=La supresi\u00F3n del AuditModule {0} se ha realizado correctamente. - create.message.security.provider.duplicatefound=El proveedor de seguridad de mensajes denominado {0} existe. No se puede agregar un duplicado. create.message.security.provider.fail=Fallo en la creaci\u00F3n del proveedor de seguridad de mensajes denominado {0}. create.message.security.provider.success=La creaci\u00F3n del proveedor de seguridad de mensajes denominado {0} se ha realizado correctamente. diff --git a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_fr.properties b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_fr.properties index f2c708431a1..6b5b659375b 100644 --- a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_fr.properties +++ b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_fr.properties @@ -37,6 +37,7 @@ # only if the new code is made subject to such option by the copyright # holder. # +# Portions Copyright 2026 Payara Foundation and/or affiliates adapter.param.decode=Impossible de d\u00E9coder le param\u00E8tre {0} = {1} adapter.param.missing=La commande {0} requiert le param\u00E8tre {1} : {2} @@ -159,14 +160,6 @@ uptime=Renvoie la dur\u00E9e d'ex\u00E9cution du serveur. uptime.command=Renvoie la dur\u00E9e d'ex\u00E9cution du serveur. uptime.output.terse=Jusqu''\u00E0 {0} -create.audit.module.duplicatefound=Il existe un \u00E9l\u00E9ment AuditModule nomm\u00E9 {0}. Impossible d''ajouter un \u00E9l\u00E9ment AuditModule en double. -create.audit.module.fail=Echec de la cr\u00E9ation de l''\u00E9l\u00E9ment AuditModule {0} -create.audit.module.success=AuditModule {0} a \u00E9t\u00E9 cr\u00E9\u00E9 -list.audit.module.success=La commande list-audit-modules a \u00E9t\u00E9 ex\u00E9cut\u00E9e -delete.audit.module.notfound=Le module d''audit {0} indiqu\u00E9 est introuvable -delete.audit.module.fail=Echec de la suppression du module d''audit {0} -delete.audit.module.success=Le module d''audit {0} a \u00E9t\u00E9 supprim\u00E9 - create.message.security.provider.duplicatefound=Il existe un fournisseur de s\u00E9curit\u00E9 des messages nomm\u00E9 {0}. Impossible d''ajouter un doublon. create.message.security.provider.fail=Echec de la cr\u00E9ation du fournisseur de s\u00E9curit\u00E9 des messages nomm\u00E9 {0}. create.message.security.provider.success=Le fournisseur de s\u00E9curit\u00E9 des messages nomm\u00E9 {0} a \u00E9t\u00E9 cr\u00E9\u00E9. diff --git a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_it.properties b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_it.properties index ad3c5aba59b..188d805e003 100644 --- a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_it.properties +++ b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_it.properties @@ -37,6 +37,7 @@ # only if the new code is made subject to such option by the copyright # holder. # +# Portions Copyright 2026 Payara Foundation and/or affiliates adapter.param.decode=Impossibile decodificare il parametro {0} = {1} adapter.param.missing=Il comando {0} richiede il parametro {1}: {2} @@ -159,14 +160,6 @@ uptime=Restituisce un valore indicante il tempo di esecuzione del server. uptime.command=Restituisce un valore indicante il tempo di esecuzione del server. uptime.output.terse=Attivo {0} -create.audit.module.duplicatefound=Modulo di audit denominato {0} esistente. Impossibile aggiungere un modulo di audit duplicato. -create.audit.module.fail=Creazione del modulo di audit {0} non riuscita -create.audit.module.success=Creazione del modulo di audit {0} riuscita -list.audit.module.success=Esecuzione del comando list-audit-modules riuscita -delete.audit.module.notfound=Modulo di audit {0} specificato non trovato -delete.audit.module.fail=Eliminazione del modulo di audit {0} non riuscita -delete.audit.module.success=Eliminazione del modulo di audit {0} riuscita - create.message.security.provider.duplicatefound=Provider di sicurezza messaggi denominato {0} esistente. Impossibile aggiungere un duplicato. create.message.security.provider.fail=Creazione del provider di sicurezza messaggi denominato {0} non riuscita. create.message.security.provider.success=Creazione del provider di sicurezza messaggi denominato {0} riuscita. diff --git a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_ja.properties b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_ja.properties index 01087102e09..1f3a721a849 100644 --- a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_ja.properties +++ b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_ja.properties @@ -37,6 +37,7 @@ # only if the new code is made subject to such option by the copyright # holder. # +# Portions Copyright 2026 Payara Foundation and/or affiliates adapter.param.decode=\u30D1\u30E9\u30E1\u30FC\u30BF{0} = {1}\u3092\u30C7\u30B3\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093 adapter.param.missing={0}\u30B3\u30DE\u30F3\u30C9\u306B\u306F{1}\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u5FC5\u8981\u3067\u3059: {2} @@ -159,14 +160,6 @@ uptime=\u30B5\u30FC\u30D0\u30FC\u306E\u7A3C\u50CD\u6642\u9593\u3092\u8FD4\u3057\ uptime.command=\u30B5\u30FC\u30D0\u30FC\u306E\u7A3C\u50CD\u6642\u9593\u3092\u8FD4\u3057\u307E\u3059\u3002 uptime.output.terse=\u7A3C\u50CD{0} -create.audit.module.duplicatefound={0}\u3068\u3044\u3046\u540D\u524D\u306EAuditModule\u306F\u5B58\u5728\u3057\u307E\u3059\u3002\u91CD\u8907\u3059\u308BAuditModule\u306F\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002 -create.audit.module.fail=AuditModule {0}\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 -create.audit.module.success=AuditModule {0}\u306E\u4F5C\u6210\u304C\u6B63\u5E38\u306B\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 -list.audit.module.success=\u30B3\u30DE\u30F3\u30C9list-audit-modules\u306F\u6B63\u5E38\u306B\u5B9F\u884C\u3055\u308C\u307E\u3057\u305F\u3002 -delete.audit.module.notfound=\u6307\u5B9A\u3055\u308C\u305F\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 -delete.audit.module.fail=\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F -delete.audit.module.success=\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306E\u524A\u9664\u304C\u6B63\u5E38\u306B\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 - create.message.security.provider.duplicatefound={0}\u3068\u3044\u3046\u540D\u524D\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u30FB\u30D7\u30ED\u30D0\u30A4\u30C0\u306F\u5B58\u5728\u3057\u307E\u3059\u3002\u91CD\u8907\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3002 create.message.security.provider.fail={0}\u3068\u3044\u3046\u540D\u524D\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u30FB\u30D7\u30ED\u30D0\u30A4\u30C0\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 create.message.security.provider.success={0}\u3068\u3044\u3046\u540D\u524D\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u30FB\u30D7\u30ED\u30D0\u30A4\u30C0\u306E\u4F5C\u6210\u304C\u6B63\u5E38\u306B\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 diff --git a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_ko.properties b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_ko.properties index a655764f03b..f82bd90bd30 100644 --- a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_ko.properties +++ b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_ko.properties @@ -37,6 +37,7 @@ # only if the new code is made subject to such option by the copyright # holder. # +# Portions Copyright 2026 Payara Foundation and/or affiliates adapter.param.decode=\uB9E4\uAC1C\uBCC0\uC218 {0} = {1}\uC744(\uB97C) \uB514\uCF54\uB529\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. adapter.param.missing={0} \uBA85\uB839\uC5D0 {1} \uB9E4\uAC1C\uBCC0\uC218\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. {2} @@ -159,14 +160,6 @@ uptime=\uC11C\uBC84\uAC00 \uC2E4\uD589\uB418\uB294 \uC2DC\uAC04\uC744 \uBC18\uD6 uptime.command=\uC11C\uBC84\uAC00 \uC2E4\uD589\uB418\uB294 \uC2DC\uAC04\uC744 \uBC18\uD658\uD569\uB2C8\uB2E4. uptime.output.terse={0} \uC704\uB85C -create.audit.module.duplicatefound={0}(\uC774)\uB77C\uB294 AuditModule\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uC911\uBCF5\uB418\uB294 AuditModule\uC744 \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -create.audit.module.fail={0} AuditModule\uC744 \uC0DD\uC131\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -create.audit.module.success={0} AuditModule\uC744 \uC131\uACF5\uC801\uC73C\uB85C \uC0DD\uC131\uD588\uC2B5\uB2C8\uB2E4. -list.audit.module.success=list-audit-modules \uBA85\uB839\uC774 \uC131\uACF5\uC801\uC73C\uB85C \uC2E4\uD589\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -delete.audit.module.notfound=\uC9C0\uC815\uB41C \uAC10\uC0AC \uBAA8\uB4C8 {0}\uC774(\uAC00) \uC5C6\uC2B5\uB2C8\uB2E4. -delete.audit.module.fail=\uAC10\uC0AC \uBAA8\uB4C8 {0}\uC744(\uB97C) \uC0AD\uC81C\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -delete.audit.module.success=\uAC10\uC0AC \uBAA8\uB4C8 {0}\uC744(\uB97C) \uC131\uACF5\uC801\uC73C\uB85C \uC0AD\uC81C\uD588\uC2B5\uB2C8\uB2E4. - create.message.security.provider.duplicatefound={0}(\uC774)\uB77C\uB294 \uBA54\uC2DC\uC9C0 \uBCF4\uC548 \uC81C\uACF5\uC790\uAC00 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uC911\uBCF5\uC744 \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. create.message.security.provider.fail={0}(\uC774)\uB77C\uB294 \uBA54\uC2DC\uC9C0 \uBCF4\uC548 \uC81C\uACF5\uC790\uB97C \uC0DD\uC131\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. create.message.security.provider.success={0}(\uC774)\uB77C\uB294 \uBA54\uC2DC\uC9C0 \uBCF4\uC548 \uC81C\uACF5\uC790\uB97C \uC131\uACF5\uC801\uC73C\uB85C \uC0DD\uC131\uD588\uC2B5\uB2C8\uB2E4. diff --git a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_pt_BR.properties b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_pt_BR.properties index 9a6973b7d1d..f4b20d701f2 100644 --- a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_pt_BR.properties +++ b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_pt_BR.properties @@ -37,6 +37,7 @@ # only if the new code is made subject to such option by the copyright # holder. # +# Portions Copyright 2026 Payara Foundation and/or affiliates adapter.param.decode=N\u00E3o \u00E9 poss\u00EDvel decodificar par\u00E2metro {0} = {1} adapter.param.missing=Comando {0} exige o par\u00E2metro {1}: {2} @@ -159,14 +160,6 @@ uptime=Retorna quanto tempo o servidor ficou em execu\u00E7\u00E3o. uptime.command=Retorna quanto tempo o servidor ficou em execu\u00E7\u00E3o. uptime.output.terse=At\u00E9 {0} -create.audit.module.duplicatefound=M\u00F3dulo de auditoria nomeado como {0} j\u00E1 existe. N\u00E3o \u00E9 poss\u00EDvel adicionar M\u00F3dulo de auditoria duplicado. -create.audit.module.fail=Falha ao criar M\u00F3dulo de auditoria {0} -create.audit.module.success=Cria\u00E7\u00E3o do M\u00F3dulo de auditoria {0} conclu\u00EDda com sucesso. -list.audit.module.success=Comando list-audit-modules executado com sucesso -delete.audit.module.notfound=M\u00F3dulo de auditoria especificado {0} n\u00E3o encontrado -delete.audit.module.fail=Falha ao deletar M\u00F3dulo de auditoria {0} -delete.audit.module.success=Dele\u00E7\u00E3o do M\u00F3dulo de auditoria {0} conclu\u00EDda com sucesso - create.message.security.provider.duplicatefound=O provedor de seguran\u00E7a de mensagens nomeado como {0} j\u00E1 existe. N\u00E3o \u00E9 poss\u00EDvel adicionar duplicado. create.message.security.provider.fail=Falha ao criar provedor de seguran\u00E7a de mensagens nomeado como {0}. create.message.security.provider.success=Cria\u00E7\u00E3o do provedor de seguran\u00E7a de mensagens nomeado como {0} conclu\u00EDda com sucesso. diff --git a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_zh_CN.properties b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_zh_CN.properties index 34a13565df8..9a1a6982e67 100644 --- a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_zh_CN.properties +++ b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_zh_CN.properties @@ -37,6 +37,7 @@ # only if the new code is made subject to such option by the copyright # holder. # +# Portions Copyright 2026 Payara Foundation and/or affiliates adapter.param.decode=\u65E0\u6CD5\u89E3\u7801\u53C2\u6570{0} = {1} adapter.param.missing={0}\u547D\u4EE4\u9700\u8981{1}\u53C2\u6570: {2} @@ -159,14 +160,6 @@ uptime=\u8FD4\u56DE\u670D\u52A1\u5668\u7684\u5DF2\u8FD0\u884C\u65F6\u95F4\u3002 uptime.command=\u8FD4\u56DE\u670D\u52A1\u5668\u7684\u5DF2\u8FD0\u884C\u65F6\u95F4\u3002 uptime.output.terse=\u8FD0\u884C{0} -create.audit.module.duplicatefound=\u540D\u4E3A{0}\u7684 AuditModule \u5DF2\u5B58\u5728\u3002\u65E0\u6CD5\u6DFB\u52A0\u91CD\u590D\u7684 AuditModule\u3002 -create.audit.module.fail=\u672A\u80FD\u521B\u5EFA AuditModule {0} -create.audit.module.success=\u5DF2\u6210\u529F\u5B8C\u6210\u521B\u5EFA AuditModule {0} -list.audit.module.success=\u5DF2\u6210\u529F\u6267\u884C list-audit-modules \u547D\u4EE4 -delete.audit.module.notfound=\u672A\u627E\u5230\u6307\u5B9A\u7684\u5BA1\u8BA1\u6A21\u5757{0} -delete.audit.module.fail=\u5220\u9664\u5BA1\u8BA1\u6A21\u5757{0}\u5931\u8D25 -delete.audit.module.success=\u5DF2\u6210\u529F\u5B8C\u6210\u5220\u9664\u5BA1\u8BA1\u6A21\u5757{0} - create.message.security.provider.duplicatefound=\u540D\u4E3A{0}\u7684\u6D88\u606F\u5B89\u5168\u63D0\u4F9B\u65B9\u5DF2\u5B58\u5728\u3002\u65E0\u6CD5\u6DFB\u52A0\u91CD\u590D\u9879\u3002 create.message.security.provider.fail=\u521B\u5EFA\u540D\u4E3A{0}\u7684\u6D88\u606F\u5B89\u5168\u63D0\u4F9B\u65B9\u5931\u8D25\u3002 create.message.security.provider.success=\u5DF2\u6210\u529F\u5B8C\u6210\u521B\u5EFA\u540D\u4E3A{0}\u7684\u6D88\u606F\u5B89\u5168\u63D0\u4F9B\u65B9\u3002 diff --git a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_zh_TW.properties b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_zh_TW.properties index 50fad907102..66b3609b4ab 100644 --- a/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_zh_TW.properties +++ b/nucleus/core/kernel-l10n/src/main/resources/com/sun/enterprise/v3/admin/LocalStrings_zh_TW.properties @@ -37,6 +37,7 @@ # only if the new code is made subject to such option by the copyright # holder. # +# Portions Copyright 2026 Payara Foundation and/or affiliates adapter.param.decode=\u7121\u6CD5\u89E3\u78BC\u53C3\u6578 {0} = {1} adapter.param.missing={0} \u547D\u4EE4\u9700\u8981 {1} \u53C3\u6578: {2} @@ -159,14 +160,6 @@ uptime=\u6703\u50B3\u56DE\u4F3A\u670D\u5668\u5DF2\u57F7\u884C\u7684\u6642\u9593\ uptime.command=\u6703\u50B3\u56DE\u4F3A\u670D\u5668\u5DF2\u57F7\u884C\u7684\u6642\u9593\u3002 uptime.output.terse=\u5728 {0} \u4E0A -create.audit.module.duplicatefound=\u540D\u7A31\u70BA {0} \u7684 AuditModule \u5DF2\u5B58\u5728\u3002\u7121\u6CD5\u589E\u52A0\u91CD\u8907\u7684 AuditModule\u3002 -create.audit.module.fail=\u5EFA\u7ACB AuditModule {0} \u5931\u6557 -create.audit.module.success=\u5EFA\u7ACB AuditModule {0} \u6210\u529F -list.audit.module.success=\u547D\u4EE4 list-audit-modules \u57F7\u884C\u6210\u529F -delete.audit.module.notfound=\u627E\u4E0D\u5230\u6307\u5B9A\u7684\u7A3D\u6838\u6A21\u7D44 {0} -delete.audit.module.fail=\u522A\u9664\u7A3D\u6838\u6A21\u7D44 {0} \u5931\u6557 -delete.audit.module.success=\u522A\u9664\u7A3D\u6838\u6A21\u7D44 {0} \u6210\u529F - create.message.security.provider.duplicatefound=\u540D\u7A31\u70BA {0} \u7684\u8A0A\u606F\u5B89\u5168\u6027\u63D0\u4F9B\u8005\u5DF2\u5B58\u5728\u3002\u7121\u6CD5\u589E\u52A0\u91CD\u8907\u9805\u76EE\u3002 create.message.security.provider.fail=\u5EFA\u7ACB\u540D\u7A31\u70BA {0} \u7684\u8A0A\u606F\u5B89\u5168\u6027\u63D0\u4F9B\u8005\u5931\u6557\u3002 create.message.security.provider.success=\u5EFA\u7ACB\u540D\u7A31\u70BA {0} \u7684\u8A0A\u606F\u5B89\u5168\u6027\u63D0\u4F9B\u8005\u6210\u529F\u3002 diff --git a/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/admin/LocalStrings.properties b/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/admin/LocalStrings.properties index 4f544bf3ea0..51333eac9a7 100644 --- a/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/admin/LocalStrings.properties +++ b/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/admin/LocalStrings.properties @@ -37,7 +37,7 @@ # only if the new code is made subject to such option by the copyright # holder. # -# Portions Copyright [2022] Payara Foundation and/or affiliates +# Portions Copyright 2022-2026 Payara Foundation and/or affiliates adapter.param.decode=Cannot decode parameter {0} = {1} adapter.param.missing={0} command requires the {1} parameter : {2} @@ -164,14 +164,6 @@ uptime=Returns how long the server has been running. uptime.command=Returns how long the server has been running. uptime.output.terse=Up {0} -create.audit.module.duplicatefound=AuditModule named {0} exists. Cannot add duplicate AuditModule. -create.audit.module.fail=Creation of AuditModule {0} failed -create.audit.module.success=Creation of AuditModule {0} completed successfully -list.audit.module.success=Command list-audit-modules executed successfully -delete.audit.module.notfound=Specified Audit Module {0} not found -delete.audit.module.fail=Deletion of Audit Module {0} failed -delete.audit.module.success=Deletion of Audit Module {0} completed successfully - create.message.security.provider.duplicatefound=Message security provider named {0} exists. Cannot add duplicate. create.message.security.provider.fail=Creation of message security provider named {0} failed. create.message.security.provider.success=Creation of message security provider named {0} completed successfully. diff --git a/nucleus/core/kernel/src/test/resources/DomainTest.xml b/nucleus/core/kernel/src/test/resources/DomainTest.xml index 478058f433d..58e514ca81a 100644 --- a/nucleus/core/kernel/src/test/resources/DomainTest.xml +++ b/nucleus/core/kernel/src/test/resources/DomainTest.xml @@ -39,7 +39,7 @@ holder. --> - + @@ -67,9 +67,6 @@ - - - diff --git a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_de.properties b/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_de.properties deleted file mode 100644 index 05f3470610a..00000000000 --- a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_de.properties +++ /dev/null @@ -1,52 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -auditmgr.webinvocation=Audit: Auditmodul {0} hat w\u00E4hrend des Webaufrufs den folgenden Ausnahmefehler verursacht: -auditmgr.ejbinvocation=Audit: Auditmodul {0} hat w\u00E4hrend des EJB-Aufrufs den folgenden Ausnahmefehler verursacht: -auditmgr.webServiceInvocation=Audit: Auditmodul {0} hat w\u00E4hrend des Webserviceaufrufs den folgenden Ausnahmefehler verursacht: -auditmgr.ejbAsWebServiceInvocation=Audit: Auditmodul {0} hat w\u00E4hrend des EJB-Webserviceaufrufs den folgenden Ausnahmefehler verursacht: -auditmgr.admininvocation=Audit: Auditmodul {0} hat w\u00E4hrend des Admin-Aufrufs den folgenden Ausnahmefehler verursacht: -auditmgr.authentication=Audit: Auditmodul {0} hat w\u00E4hrend der Authentifizierung den folgenden Ausnahmefehler verursacht: -auditmgr.logout=Audit: Auditmodul {0} hat w\u00E4hrend der Abmeldung den folgenden Ausnahmefehler verursacht: -auditmgr.loaderror=Audit: AuditModule kann nicht geladen werden = {0} -auditmgr.badinit=Audit: Initialisierungsinformationen f\u00FCr Auditmodul k\u00F6nnen nicht geladen werden. AuditModules werden nicht geladen. -auditmgr.serverStartup=Audit: Auditmodul {0} hat beim Hochfahren des Servers den folgenden Ausnahmefehler verursacht: -auditmgr.serverShutdown=Audit: Auditmodul {0} hat beim Herunterfahren des Servers den folgenden Ausnahmefehler verursacht: diff --git a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_es.properties b/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_es.properties deleted file mode 100644 index 9bebe141ac3..00000000000 --- a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_es.properties +++ /dev/null @@ -1,52 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -auditmgr.webinvocation=Auditor\u00EDa: el m\u00F3dulo de auditor\u00EDa {0} ha devuelto la siguiente excepci\u00F3n durante la llamada a web: -auditmgr.ejbinvocation=Auditor\u00EDa: El m\u00F3dulo de auditor\u00EDa {0} ha devuelto la siguiente excepci\u00F3n durante la llamada a ejb: -auditmgr.webServiceInvocation=Auditor\u00EDa: el m\u00F3dulo de auditor\u00EDa {0} ha devuelto la siguiente excepci\u00F3n durante la llamada al servicio web: -auditmgr.ejbAsWebServiceInvocation=Auditor\u00EDa: el m\u00F3dulo de auditor\u00EDa {0} ha devuelto la siguiente excepci\u00F3n durante la llamada al servicio web de ejb: -auditmgr.admininvocation=Auditor\u00EDa: el m\u00F3dulo de auditor\u00EDa {0} ha devuelto la siguiente excepci\u00F3n durante la llamada a administraci\u00F3n: -auditmgr.authentication=Auditor\u00EDa: El m\u00F3dulo de auditor\u00EDa {0} ha devuelto la siguiente excepci\u00F3n durante la autenticaci\u00F3n: -auditmgr.logout=Auditor\u00EDa: El m\u00F3dulo de auditor\u00EDa {0} ha devuelto la siguiente excepci\u00F3n durante la desconexi\u00F3n: -auditmgr.loaderror=Auditor\u00EDa: no se puede cargar el AuditModule = {0} -auditmgr.badinit=Auditor\u00EDa: no se puede cargar la informaci\u00F3n de inicializaci\u00F3n del AuditModule. Los AuditModules no se cargar\u00E1n. -auditmgr.serverStartup=Auditor\u00EDa: El m\u00F3dulo de auditor\u00EDa {0} ha devuelto la siguiente excepci\u00F3n durante el inicio del servidor: -auditmgr.serverShutdown=Auditor\u00EDa: El m\u00F3dulo de auditor\u00EDa {0} ha devuelto la siguiente excepci\u00F3n durante el cierre del servidor: diff --git a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_fr.properties b/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_fr.properties deleted file mode 100644 index 18be7722e61..00000000000 --- a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_fr.properties +++ /dev/null @@ -1,52 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -auditmgr.webinvocation=Audit : le module d''audit {0} a g\u00E9n\u00E9r\u00E9 l''exception suivante lors de l''appel Web : -auditmgr.ejbinvocation=Audit : le module d''audit {0} a g\u00E9n\u00E9r\u00E9 l''exception suivante lors de l''appel EJB : -auditmgr.webServiceInvocation=Audit : le module d''audit {0} a g\u00E9n\u00E9r\u00E9 l''exception suivante lors de l''appel de service Web : -auditmgr.ejbAsWebServiceInvocation=Audit : le module d''audit {0} a g\u00E9n\u00E9r\u00E9 l''exception suivante lors de l''appel de service Web EJB : -auditmgr.admininvocation=Audit : le module d''audit {0} a g\u00E9n\u00E9r\u00E9 l''exception suivante lors de l''appel d''administration : -auditmgr.authentication=Audit : le module d''audit {0} a g\u00E9n\u00E9r\u00E9 l''exception suivante lors de l''authentification : -auditmgr.logout=Audit : le module d''audit {0} a g\u00E9n\u00E9r\u00E9 l''exception suivante lors de la d\u00E9connexion : -auditmgr.loaderror=Audit : impossible de charger le module d''audit = {0} -auditmgr.badinit=Audit : impossible de charger les informations d'initialisation de module d'audit. Les modules d'audit ne seront pas charg\u00E9s. -auditmgr.serverStartup=Audit : le module d''audit {0} a g\u00E9n\u00E9r\u00E9 l''exception suivante lors du d\u00E9marrage du serveur : -auditmgr.serverShutdown=Audit : le module d''audit {0} a g\u00E9n\u00E9r\u00E9 l''exception suivante lors de l''arr\u00EAt du serveur : diff --git a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_it.properties b/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_it.properties deleted file mode 100644 index 9fea5e7cdea..00000000000 --- a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_it.properties +++ /dev/null @@ -1,52 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -auditmgr.webinvocation=Audit: il modulo di audit {0} ha restituito l''eccezione seguente durante il richiamo Web: -auditmgr.ejbinvocation=Audit: il modulo di audit {0} ha restituito l''eccezione seguente durante il richiamo EJB: -auditmgr.webServiceInvocation=Audit: il modulo di audit {0} ha restituito l''eccezione seguente durante il richiamo del servizio Web: -auditmgr.ejbAsWebServiceInvocation=Audit: il modulo di audit {0} ha restituito l''eccezione seguente durante il richiamo del servizio Web EJB: -auditmgr.admininvocation=Audit: il modulo di audit {0} ha restituito l''eccezione seguente durante il richiamo admin: -auditmgr.authentication=Audit: il modulo di audit {0} ha restituito l''eccezione seguente durante l''autenticazione: -auditmgr.logout=Audit: il modulo di audit {0} ha restituito l''eccezione seguente durante il logout: -auditmgr.loaderror=Audit: impossibile caricare AuditModule = {0} -auditmgr.badinit=Audit: impossibile caricare le informazioni di inizializzazione del modulo di audit. I moduli di audit non verranno caricati. -auditmgr.serverStartup=Audit: il modulo di audit {0} ha restituito l''eccezione seguente durante l''impostazione del server: -auditmgr.serverShutdown=Audit: il modulo di audit {0} ha restituito l''eccezione seguente durante la chiusura del server: diff --git a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_ja.properties b/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_ja.properties deleted file mode 100644 index 316dd581234..00000000000 --- a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_ja.properties +++ /dev/null @@ -1,52 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -auditmgr.webinvocation=\u76E3\u67FB: \u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u304CWeb\u547C\u51FA\u3057\u4E2D\u306B\u6B21\u306E\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F : -auditmgr.ejbinvocation=\u76E3\u67FB: \u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u304CEJB\u306E\u547C\u51FA\u3057\u4E2D\u306B\u6B21\u306E\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F : -auditmgr.webServiceInvocation=\u76E3\u67FB: \u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u304CWeb\u30B5\u30FC\u30D3\u30B9\u306E\u547C\u51FA\u3057\u4E2D\u306B\u6B21\u306E\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F: -auditmgr.ejbAsWebServiceInvocation=\u76E3\u67FB: \u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u304CEJB Web\u30B5\u30FC\u30D3\u30B9\u306E\u547C\u51FA\u3057\u4E2D\u306B\u6B21\u306E\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F: -auditmgr.admininvocation=\u76E3\u67FB: \u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u304Cadmin\u306E\u547C\u51FA\u3057\u4E2D\u306B\u6B21\u306E\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F: -auditmgr.authentication=\u76E3\u67FB: \u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u304C\u8A8D\u8A3C\u4E2D\u306B\u6B21\u306E\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F: -auditmgr.logout=\u76E3\u67FB: \u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u304C\u30ED\u30B0\u30A2\u30A6\u30C8\u4E2D\u306B\u6B21\u306E\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F: -auditmgr.loaderror=\u76E3\u67FB: \u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093 = {0} -auditmgr.badinit=\u76E3\u67FB: \u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB\u521D\u671F\u5316\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3002\u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u30ED\u30FC\u30C9\u3055\u308C\u307E\u305B\u3093\u3002 -auditmgr.serverStartup=\u76E3\u67FB: \u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u304C\u30B5\u30FC\u30D0\u30FC\u306E\u8D77\u52D5\u4E2D\u306B\u6B21\u306E\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F: -auditmgr.serverShutdown=\u76E3\u67FB: \u76E3\u67FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u304C\u30B5\u30FC\u30D0\u30FC\u306E\u30B7\u30E3\u30C3\u30C8\u30FB\u30C0\u30A6\u30F3\u4E2D\u306B\u6B21\u306E\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F: diff --git a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_ko.properties b/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_ko.properties deleted file mode 100644 index 3506a138009..00000000000 --- a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_ko.properties +++ /dev/null @@ -1,52 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -auditmgr.webinvocation=\uAC10\uC0AC: \uAC10\uC0AC \uBAA8\uB4C8 {0}\uC5D0\uC11C \uC6F9 \uD638\uCD9C \uC911 \uB2E4\uC74C \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -auditmgr.ejbinvocation=\uAC10\uC0AC: \uAC10\uC0AC \uBAA8\uB4C8 {0}\uC5D0\uC11C ejb \uD638\uCD9C \uC911 \uB2E4\uC74C \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -auditmgr.webServiceInvocation=\uAC10\uC0AC: \uAC10\uC0AC \uBAA8\uB4C8 {0}\uC5D0\uC11C \uC6F9 \uC11C\uBE44\uC2A4\uB97C \uD638\uCD9C\uD558\uB294 \uC911 \uB2E4\uC74C \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -auditmgr.ejbAsWebServiceInvocation=\uAC10\uC0AC: \uAC10\uC0AC \uBAA8\uB4C8 {0}\uC5D0\uC11C ejb \uC6F9 \uC11C\uBE44\uC2A4\uB97C \uD638\uCD9C\uD558\uB294 \uC911 \uB2E4\uC74C \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -auditmgr.admininvocation=\uAC10\uC0AC: \uAC10\uC0AC \uBAA8\uB4C8 {0}\uC5D0\uC11C admin \uD638\uCD9C \uC911 \uB2E4\uC74C \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -auditmgr.authentication=\uAC10\uC0AC: \uAC10\uC0AC \uBAA8\uB4C8 {0}\uC5D0\uC11C \uC778\uC99D \uC911 \uB2E4\uC74C \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -auditmgr.logout=\uAC10\uC0AC: \uAC10\uC0AC \uBAA8\uB4C8 {0}\uC5D0\uC11C \uB85C\uADF8\uC544\uC6C3 \uC911 \uB2E4\uC74C \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -auditmgr.loaderror=\uAC10\uC0AC: AuditModule = {0}\uC744(\uB97C) \uB85C\uB4DC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -auditmgr.badinit=\uAC10\uC0AC: \uAC10\uC0AC \uBAA8\uB4C8 \uCD08\uAE30\uD654 \uC815\uBCF4\uB97C \uB85C\uB4DC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uAC10\uC0AC \uBAA8\uB4C8\uC774 \uB85C\uB4DC\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -auditmgr.serverStartup=\uAC10\uC0AC: \uAC10\uC0AC \uBAA8\uB4C8 {0}\uC5D0\uC11C \uC11C\uBC84\uB97C \uC2DC\uC791\uD558\uB294 \uC911\uC5D0 \uB2E4\uC74C \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -auditmgr.serverShutdown=\uAC10\uC0AC: \uAC10\uC0AC \uBAA8\uB4C8 {0}\uC5D0\uC11C \uC11C\uBC84 \uB85C\uADF8\uC544\uC6C3\uC744 \uC885\uB8CC\uD558\uB294 \uC911\uC5D0 \uB2E4\uC74C \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. diff --git a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_pt_BR.properties b/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_pt_BR.properties deleted file mode 100644 index 7625c8cd4e7..00000000000 --- a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_pt_BR.properties +++ /dev/null @@ -1,52 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -auditmgr.webinvocation=Auditoria: M\u00F3dulo de Auditoria {0} obteve a seguinte exce\u00E7\u00E3o durante a chamada Web: -auditmgr.ejbinvocation=Auditoria: M\u00F3dulo de Auditoria {0} obteve a seguinte exce\u00E7\u00E3o durante a chamada ejb: -auditmgr.webServiceInvocation=Auditoria: o m\u00F3dulo de auditoria {0} obteve a seguinte exce\u00E7\u00E3o durante a chamada do Web service: -auditmgr.ejbAsWebServiceInvocation=Auditoria: o m\u00F3dulo de auditoria {0} obteve a seguinte exce\u00E7\u00E3o durante a chamada do Web service ejb: -auditmgr.admininvocation=Auditoria: M\u00F3dulo de Auditoria {0} obteve a seguinte exce\u00E7\u00E3o durante a chamada admin: -auditmgr.authentication=Auditoria: M\u00F3dulo de Auditoria {0} obteve a seguinte exce\u00E7\u00E3o durante a autentica\u00E7\u00E3o: -auditmgr.logout=Auditoria: o m\u00F3dulo de auditoria {0} obteve a seguinte exce\u00E7\u00E3o durante o log-out: -auditmgr.loaderror=Auditoria: n\u00E3o \u00E9 poss\u00EDvel carregar o AuditModule = {0} -auditmgr.badinit=Auditoria: n\u00E3o \u00E9 poss\u00EDvel carregar as informa\u00E7\u00F5es de Inicializa\u00E7\u00E3o do M\u00F3dulo de Auditoria. Os AuditModules n\u00E3o ser\u00E3o carregados. -auditmgr.serverStartup=Auditoria: M\u00F3dulo de Auditoria {0} obteve a seguinte exce\u00E7\u00E3o durante a inicializa\u00E7\u00E3o do servidor: -auditmgr.serverShutdown=Auditoria: M\u00F3dulo de Auditoria {0} obteve a seguinte exce\u00E7\u00E3o durante o shutdown do servidor: diff --git a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_zh_CN.properties b/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_zh_CN.properties deleted file mode 100644 index 7709e179061..00000000000 --- a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_zh_CN.properties +++ /dev/null @@ -1,52 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -auditmgr.webinvocation=\u5BA1\u8BA1: Web \u8C03\u7528\u671F\u95F4, \u5BA1\u8BA1\u6A21\u5757{0}\u629B\u51FA\u4EE5\u4E0B\u5F02\u5E38\u9519\u8BEF: -auditmgr.ejbinvocation=\u5BA1\u8BA1: ejb \u8C03\u7528\u671F\u95F4, \u5BA1\u8BA1\u6A21\u5757{0}\u629B\u51FA\u4EE5\u4E0B\u5F02\u5E38\u9519\u8BEF: -auditmgr.webServiceInvocation=\u5BA1\u8BA1: Web \u670D\u52A1\u8C03\u7528\u671F\u95F4, \u5BA1\u8BA1\u6A21\u5757{0}\u629B\u51FA\u4EE5\u4E0B\u5F02\u5E38\u9519\u8BEF: -auditmgr.ejbAsWebServiceInvocation=\u5BA1\u8BA1: ejb Web \u670D\u52A1\u8C03\u7528\u671F\u95F4, \u5BA1\u8BA1\u6A21\u5757{0}\u629B\u51FA\u4EE5\u4E0B\u5F02\u5E38\u9519\u8BEF: -auditmgr.admininvocation=\u5BA1\u8BA1: \u7BA1\u7406\u8C03\u7528\u671F\u95F4, \u5BA1\u8BA1\u6A21\u5757{0}\u629B\u51FA\u4EE5\u4E0B\u5F02\u5E38\u9519\u8BEF: -auditmgr.authentication=\u5BA1\u8BA1: \u9A8C\u8BC1\u671F\u95F4, \u5BA1\u8BA1\u6A21\u5757{0}\u629B\u51FA\u4EE5\u4E0B\u5F02\u5E38\u9519\u8BEF: -auditmgr.logout=\u5BA1\u8BA1: \u6CE8\u9500\u671F\u95F4, \u5BA1\u8BA1\u6A21\u5757{0}\u629B\u51FA\u4EE5\u4E0B\u5F02\u5E38\u9519\u8BEF: -auditmgr.loaderror=\u5BA1\u8BA1: \u65E0\u6CD5\u52A0\u8F7D AuditModule = {0} -auditmgr.badinit=\u5BA1\u8BA1: \u65E0\u6CD5\u52A0\u8F7D\u5BA1\u8BA1\u6A21\u5757\u521D\u59CB\u5316\u4FE1\u606F\u3002\u5C06\u4E0D\u52A0\u8F7D\u5BA1\u8BA1\u6A21\u5757\u3002 -auditmgr.serverStartup=\u5BA1\u8BA1: \u542F\u52A8\u670D\u52A1\u5668\u671F\u95F4, \u5BA1\u8BA1\u6A21\u5757{0}\u629B\u51FA\u4EE5\u4E0B\u5F02\u5E38\u9519\u8BEF: -auditmgr.serverShutdown=\u5BA1\u8BA1: \u5173\u95ED\u670D\u52A1\u5668\u671F\u95F4, \u5BA1\u8BA1\u6A21\u5757{0}\u629B\u51FA\u4EE5\u4E0B\u5F02\u5E38\u9519\u8BEF: diff --git a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_zh_TW.properties b/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_zh_TW.properties deleted file mode 100644 index 19f7dd48b24..00000000000 --- a/nucleus/security/core-l10n/src/main/resources/com/sun/enterprise/security/audit/LocalStrings_zh_TW.properties +++ /dev/null @@ -1,52 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -auditmgr.webinvocation=\u7A3D\u6838\uFF1AWeb \u547C\u53EB\u671F\u9593\uFF0C\u7A3D\u6838\u6A21\u7D44 {0} \u62CB\u51FA\u4EE5\u4E0B\u7570\u5E38\uFF1A -auditmgr.ejbinvocation=\u7A3D\u6838\uFF1Aejb \u547C\u53EB\u671F\u9593\uFF0C\u7A3D\u6838\u6A21\u7D44 {0} \u62CB\u51FA\u4EE5\u4E0B\u7570\u5E38\uFF1A -auditmgr.webServiceInvocation=\u7A3D\u6838\uFF1A\u5728 Web \u670D\u52D9\u547C\u53EB\u671F\u9593\uFF0C\u7A3D\u6838\u6A21\u7D44 {0} \u4E1F\u51FA\u4EE5\u4E0B\u7570\u5E38\uFF1A -auditmgr.ejbAsWebServiceInvocation=\u7A3D\u6838\uFF1A\u5728 EJB Web \u670D\u52D9\u547C\u53EB\u671F\u9593\uFF0C\u7A3D\u6838\u6A21\u7D44 {0} \u4E1F\u51FA\u4EE5\u4E0B\u7570\u5E38\uFF1A -auditmgr.admininvocation=\u7A3D\u6838\uFF1Aadmin \u547C\u53EB\u671F\u9593\uFF0C\u7A3D\u6838\u6A21\u7D44 {0} \u62CB\u51FA\u4EE5\u4E0B\u7570\u5E38\uFF1A -auditmgr.authentication=\u7A3D\u6838\uFF1A\u8A8D\u8B49\u671F\u9593\uFF0C\u7A3D\u6838\u6A21\u7D44 {0} \u62CB\u51FA\u4EE5\u4E0B\u7570\u5E38\uFF1A -auditmgr.logout=\u7A3D\u6838\uFF1A\u767B\u51FA\u671F\u9593\uFF0C\u7A3D\u6838\u6A21\u7D44 {0} \u62CB\u51FA\u4EE5\u4E0B\u7570\u5E38\uFF1A -auditmgr.loaderror=\u7A3D\u6838\uFF1A\u7121\u6CD5\u8F09\u5165 AuditModule = {0} -auditmgr.badinit=\u7A3D\u6838\uFF1A\u7121\u6CD5\u8F09\u5165\u7A3D\u6838\u6A21\u7D44\u521D\u59CB\u5316\u8CC7\u8A0A\u3002\u5C07\u4E0D\u6703\u8F09\u5165 AuditModule\u3002 -auditmgr.serverStartup=\u7A3D\u6838\uFF1A\u5728\u4F3A\u670D\u5668\u555F\u52D5\u671F\u9593\uFF0C\u7A3D\u6838\u6A21\u7D44 {0} \u4E1F\u51FA\u4EE5\u4E0B\u7570\u5E38\uFF1A -auditmgr.serverShutdown=\u7A3D\u6838\uFF1A\u5728\u4F3A\u670D\u5668\u95DC\u6A5F\u671F\u9593\uFF0C\u7A3D\u6838\u6A21\u7D44 {0} \u4E1F\u51FA\u4EE5\u4E0B\u7570\u5E38\uFF1A diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/BaseAuditModule.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/BaseAuditModule.java deleted file mode 100644 index e5fbf928caa..00000000000 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/BaseAuditModule.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] -/* - * AuditModule.java - * - * Created on July 27, 2003, 11:32 PM - */ - -package com.sun.enterprise.security; - -import java.util.Properties; - -/** - * Base class that should be extended by all classes that wish to provide their own Audit support. - * - * @author Harpreet Singh - * @version - */ -public abstract class BaseAuditModule { - protected Properties props; - - /** - * Method is invoked at server startup, during AuditModule initialization. If method returns without any exception then - * Payara assumes that the module is ready to serve any requests. - * - * @param props the properties for the AuditModule. These properties are defined in the domain.xml - */ - public void init(Properties props) { - this.props = props; - } - - /** - * Invoked post authentication request for a user in a given realm - * - * @param user username for whom the authentication request was made - * @param realm the realm name under which the user is authenticated. - * @param success the status of the authentication - */ - public void authentication(String user, String realm, boolean success) { - } - - /** - * Invoked upon completion of the server startup - */ - public void serverStarted() { - } - - /** - * Invoked upon completion of the server shutdown - */ - public void serverShutdown() { - } - -} diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityConfigListener.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityConfigListener.java index 87d244a6fec..985a9ba335d 100644 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityConfigListener.java +++ b/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityConfigListener.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2021] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.security; import com.sun.enterprise.security.auth.realm.NoSuchRealmException; @@ -51,11 +51,9 @@ import com.sun.enterprise.config.serverbeans.SecurityService; import com.sun.enterprise.config.serverbeans.AuthRealm; import com.sun.enterprise.config.serverbeans.JaccProvider; -import com.sun.enterprise.config.serverbeans.AuditModule; import com.sun.enterprise.config.serverbeans.Config; import com.sun.enterprise.config.serverbeans.MessageSecurityConfig; -import com.sun.enterprise.security.audit.BaseAuditManager; import com.sun.enterprise.security.auth.realm.Realm; import com.sun.enterprise.security.auth.realm.RealmsManager; import java.beans.PropertyChangeEvent; @@ -86,10 +84,7 @@ public class SecurityConfigListener implements ConfigListener, PostConstruct { @Inject private RealmsManager realmsManager; - @Inject - BaseAuditManager auditManager; - private String auditEnabled = null; private String defaultRealm = null; private String jacc = null; private String activateDefaultP2RMapping = null; @@ -146,8 +141,6 @@ private NotProcessed handleAddEvent(T instance) { // inject PolicyLoader and try to call loadPolicy // but policyLoader in V2 does not allow reloading of policy provider // once installed. The only option is restart the server - } else if (instance instanceof AuditModule) { - auditModuleCreated((AuditModule) instance); } else if (instance instanceof MessageSecurityConfig) { // do nothing since we have a Message security config listener } else if (instance instanceof SecurityService) { @@ -169,14 +162,12 @@ private NotProcessed handleRemoveEvent(final T insta // inject PolicyLoader and try to call loadPolicy // but policyLoader in V2 does not allow reloading of policy provider // once installed. The only option is restart the server - } else if (instance instanceof AuditModule) { - auditModuleDeleted((AuditModule) instance); } else if (instance instanceof MessageSecurityConfig) { // do nothing since we have a message security config listener } else if (instance instanceof SecurityService) { // The only Attrs on securityService whose removal can affect the // security code are those which are stored explicitly - // they are getAuditEnabled, getDefaultRealm and getAuditModules + // they are getDefaultRealm // not sure what the effect of removing getDefaultRealm } else { np = new NotProcessed("unimplemented: unknown instance: " + instance.getClass().getName()); @@ -193,22 +184,16 @@ private NotProcessed handleChangeEvent(final T insta // inject PolicyLoader and try to call loadPolicy // but policyLoader in V2 does not allow reloading of policy provider // once installed. The only option is restart the server - } else if (instance instanceof AuditModule) { - auditModuleUpdated((AuditModule) instance); } else if (instance instanceof MessageSecurityConfig) { // do nothing since we have a message security config listener } else if (instance instanceof SecurityService) { // The only Attrs on securityService whose change in value can affect the // security code are those which are stored explicitly - // they are getAuditEnabled, getDefaultRealm and getAuditModules + // they are, getDefaultRealm if (defaultRealm != null && !defaultRealm.equals(((SecurityService) instance).getDefaultRealm())) { defaultRealm = ((SecurityService) instance).getDefaultRealm(); Realm.setDefaultRealm(defaultRealm); } - if ((auditEnabled != null) && !auditEnabled.equals(((SecurityService) instance).getAuditEnabled())) { - boolean auditON = Boolean.parseBoolean(((SecurityService) instance).getAuditEnabled()); - auditManager.setAuditOn(auditON); - } if (!jacc.equals(((SecurityService) instance).getJacc())) { np = new NotProcessed("Cannot change JACC provider once installed, restart required"); } @@ -379,7 +364,6 @@ public void postConstruct() { // used from securityService instance available // even defaultPrincipal and defaultPrincipalPassword is directly being // read from securityService. - auditEnabled = securityService.getAuditEnabled(); defaultRealm = securityService.getDefaultRealm(); jacc = securityService.getJacc(); if (jacc == null) { @@ -389,57 +373,4 @@ public void postConstruct() { mappedPrincipalClassName = securityService.getMappedPrincipalClass(); } - - /** - * New audit module created. It is called whenever a AuditModuleEvent with action of AuditModuleEvent.ACTION_CREATE is - * received. - */ - public void auditModuleCreated(AuditModule instance) { - try { - String classname = instance.getClassname(); - List props = instance.getProperty(); - Properties properties = new Properties(); - if (props != null) { - for (Property p : props) { - properties.put(p.getName(), p.getValue()); - } - } - auditManager.addAuditModule(instance.getName(), classname, properties); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - - /** - * Audit module deleted. It is called whenever a AuditModuleEvent with action of AuditModuleEvent.ACTION_DELETE is - * received. - */ - public void auditModuleDeleted(AuditModule instance) { - - auditManager.removeAuditModule(instance.getName()); - } - - /** - * Audit module updated (attributes change). It is called whenever a AuditModuleEvent with action of - * AuditModuleEvent.ACTION_UPDATE is received. - */ - public void auditModuleUpdated(AuditModule instance) { - try { - - List props = instance.getProperty(); - Properties properties = new Properties(); - if (props != null) { - for (Property p : props) { - properties.put(p.getName(), p.getValue()); - } - } - // we don't have a way to get hold of the Old Module in V3 - // so we would always delete and create new - - auditManager.addAuditModule(instance.getName(), instance.getClassname(), properties); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - } diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityLifecycle.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityLifecycle.java index 7c17818f310..e33d399059c 100644 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityLifecycle.java +++ b/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityLifecycle.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2022] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.security; import static com.sun.enterprise.security.SecurityLoggerInfo.secServiceStartupEnter; @@ -50,20 +50,12 @@ import jakarta.inject.Inject; import jakarta.inject.Singleton; -import org.glassfish.api.event.EventListener; -import org.glassfish.api.event.EventTypes; -import org.glassfish.api.event.Events; import org.glassfish.hk2.api.PostConstruct; import org.glassfish.hk2.api.PreDestroy; -import org.glassfish.hk2.api.ServiceLocator; -import org.glassfish.internal.api.ServerContext; -import org.jvnet.hk2.annotations.Optional; import org.jvnet.hk2.annotations.Service; -import com.sun.enterprise.security.audit.AuditManager; import com.sun.enterprise.security.auth.realm.RealmsManager; import com.sun.enterprise.security.common.Util; -import com.sun.enterprise.security.ssl.SSLUtils; /** * This class extends default implementation of ServerLifecycle interface. @@ -73,32 +65,11 @@ @Service @Singleton public class SecurityLifecycle implements PostConstruct, PreDestroy { - - @Inject - private ServerContext sc; - - @Inject - private SecurityServicesUtil secServUtil; - - @Inject - private Util util; - - @Inject - private SSLUtils sslUtils; - - @Inject - private SecurityConfigListener configListener; - - @Inject - private ServiceLocator habitat; + @Inject private RealmsManager realmsManager; - @Inject @Optional - private ContainerSecurityLifecycle eeSecLifecycle; - - private EventListener listener = null; private static final String SYS_PROP_LOGIN_CONF = "java.security.auth.login.config"; private static final String SYS_PROP_JAVA_SEC_POLICY = "java.security.policy"; @@ -147,12 +118,6 @@ public void onInitialization() { } realmsManager.createRealms(); - // start the audit mechanism - AuditManager auditManager = secServUtil.getAuditManager(); - auditManager.loadAuditModules(); - - //Audit the server started event - auditManager.serverStarted(); // initRoleMapperFactory is in J2EEServer.java and not moved to here // this is because a DummyRoleMapperFactory is register due @@ -172,23 +137,9 @@ public void onInitialization() { @Override public void postConstruct() { onInitialization(); - listener = new AuditServerShutdownListener(); - Events events = habitat.getService(Events.class); - events.register(listener); - } @Override public void preDestroy() { } - - // To audit the server shutdown event - public class AuditServerShutdownListener implements EventListener { - @Override - public void event(Event event) { - if (EventTypes.SERVER_SHUTDOWN.equals(event.type())) { - secServUtil.getAuditManager().serverShutdown(); - } - } - } } diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityServicesUtil.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityServicesUtil.java index f527bc08cd9..c24a5aa50e4 100644 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityServicesUtil.java +++ b/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityServicesUtil.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2021] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.security; import jakarta.inject.Inject; @@ -50,7 +50,6 @@ import org.glassfish.internal.api.Globals; import org.jvnet.hk2.annotations.Service; -import com.sun.enterprise.security.audit.AuditManager; @Service @Singleton @@ -61,9 +60,6 @@ public class SecurityServicesUtil { @Inject private ProcessEnvironment processEnv; - @Inject - private AuditManager auditManager; - // the appclient CBH private CallbackHandler callbackHandler; @@ -71,10 +67,6 @@ public ServiceLocator getHabitat() { return habitat; } - public AuditManager getAuditManager() { - return auditManager; - } - public static SecurityServicesUtil getInstance() { if (habitat == null) { return null; diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/AuditManager.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/AuditManager.java deleted file mode 100644 index 17d155d5157..00000000000 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/AuditManager.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -package com.sun.enterprise.security.audit; - -import org.jvnet.hk2.annotations.Contract; - - -/** - * Defines the behavior for audit manager implementations. - * - * @author tjquinn - */ -@Contract -public interface AuditManager { - /** - * Loads all audit modules. - */ - void loadAuditModules(); - - /** - * Reports authentication events to registered audit modules. - * - * @param user - * @param realm - * @param success - */ - void authentication(String user, String realm, boolean success); - - /** - * Reports server start-up event to registered audit modules. - */ - void serverStarted(); - - /** - * Reports server shutdown event to registered audit modules. - */ - void serverShutdown(); - - /** - * Returns whether auditing is turned on. - * - * @return - */ - boolean isAuditOn(); -} diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/BaseAuditManager.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/BaseAuditManager.java deleted file mode 100644 index 31fcef34728..00000000000 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/BaseAuditManager.java +++ /dev/null @@ -1,366 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2021-2024] Payara Services Ltd. - -package com.sun.enterprise.security.audit; - -import com.sun.enterprise.security.BaseAuditModule; -import com.sun.enterprise.security.SecurityLoggerInfo; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Map; -import java.util.HashMap; -import java.util.Properties; -import java.util.logging.Level; -import java.util.logging.Logger; - - -import org.jvnet.hk2.config.types.Property; -import com.sun.enterprise.config.serverbeans.SecurityService; -/*V3:Commented -import com.sun.enterprise.config.serverbeans.ServerBeansFactory; -import com.sun.enterprise.config.serverbeans.ElementProperty; -import com.sun.enterprise.config.ConfigContext; -import com.sun.enterprise.server.ApplicationServer; - */ -import org.glassfish.internal.api.ServerContext; -import com.sun.enterprise.util.LocalStringManagerImpl; -import java.util.List; -import org.glassfish.api.admin.ServerEnvironment; -import jakarta.inject.Inject; - -import org.jvnet.hk2.annotations.Service; -import jakarta.inject.Singleton; - -/** - * Basic implementation of audit manager. - *

    - * Projects layered on top of nucleus should extend this class, adding platform-specific - * methods for auditing platform-specific events. See AppServerAuditManagerImpl - * for an example. Such implementations should be sure to invoke this class's - * setTypeClass method. Then this class will keep a list of AuditModules of - * that specific type in the typedModules field which subclasses can refer - * to directly. - *

    - * (This implementation was largely refactored from the original - * BaseAuditManager implementation that combined nucleus and app server features.) - * - * @author Harpreet Singh - * @author Shing Wai Chan - * @author tjquinn - * @since July 28, 2003 - */ -@Service -@Singleton -public class BaseAuditManager implements AuditManager { - static final String NAME = "name"; - static final String CLASSNAME = "classname"; - - // For speed, maintain a separate list of audit modules of the specified - // module subtype (if any). This allows subclasses to have very efficient - // access to the specified audit modules which the subclass audit manager - // deals with. - protected List typedModules = Collections.synchronizedList(new ArrayList<>()); - private Class typedModuleClass = null; // typically set by postConstruct of a subclass invoking setTypeClass - - private static final Logger LOGGER = SecurityLoggerInfo.getLogger(); - - private static final LocalStringManagerImpl _localStrings = - new LocalStringManagerImpl(BaseAuditManager.class); - - private List instances = Collections.synchronizedList(new ArrayList<>()); - // just a copy of names of the audit classes - helpful for log messages - // since we will not have a lot of audit classes, keeping a duplicate copy - // seems reasonable. - private final Map moduleToNameMap = new HashMap<>(); - private final Map nameToModuleMap = new HashMap<>(); - // make this accessible to the containers so that the cost of non-audit case, - // is just a comparision. - protected boolean auditOn = false; - - @Inject - private ServerContext serverContext; - - private static final String AUDIT_MGR_SERVER_STARTUP_KEY = - "auditmgr.serverStartup"; - private static final String AUDIT_MGR_SERVER_SHUTDOWN_KEY = - "auditmgr.serverShutdown"; - - /** - * This method initializes BaseAuditManager which load audit modules and - * audit enabled flag - */ - @Override - public void loadAuditModules() { - try { - SecurityService securityBean = serverContext.getDefaultServices().getService(SecurityService.class, - ServerEnvironment.DEFAULT_INSTANCE_NAME); - - assert(securityBean != null); - // @todo will be removed to incorporate the new structure. - //v3:Commented boolean auditFlag = securityBean.isAuditEnabled(); - boolean auditFlag = Boolean.parseBoolean(securityBean.getAuditEnabled()); - - setAuditOn(auditFlag); - /*V3:Commented - com.sun.enterprise.config.serverbeans.AuditModule[] am = - securityBean.getAuditModule();*/ - List am = securityBean.getAuditModule(); - for (com.sun.enterprise.config.serverbeans.AuditModule it: am) { - //V3:Commented for (int i = 0; i < am.length; i++){ - try { - //V3:Commented String name = am[i].getName(); - //V3:Commented String classname = am[i].getClassname(); - String name = it.getName(); - String classname = it.getClassname(); - Properties p = new Properties(); - //XXX should we remove this two extra properties - p.setProperty(NAME, name); - p.setProperty(CLASSNAME, classname); - List ep = it.getProperty(); - /*V3:Commented - ElementProperty[] ep = am[i].getElementProperty(); - int epsize = am[i].sizeElementProperty(); - for (int j = 0; j < epsize; j++){ - String nme = ep[j].getName(); - String val = ep[j].getValue(); - p.setProperty(nme, val); - }*/ - for (Property prop: ep) { - p.setProperty(prop.getName(), prop.getValue()); - } - BaseAuditModule auditModule = loadAuditModule(classname, p); - instances.add(auditModule); - moduleToNameMap.put(auditModule, name); - nameToModuleMap.put(name, auditModule); - if (isAuditModuleOfParameterizedType(auditModule)) { - typedModules.add((T)auditModule); - } - } catch(Exception ex){ - String msg = _localStrings.getLocalString( - "auditmgr.loaderror", - "Audit: Cannot load AuditModule = {0}", - //V3:Commented new Object[]{ am[i].getName() }); - new Object[]{ it.getName() }); - LOGGER.log(Level.WARNING, msg, ex); - } - } - } catch (Exception e) { - String msg = _localStrings.getLocalString("auditmgr.badinit", - "Audit: Cannot load Audit Module Initialization information. AuditModules will not be loaded."); - LOGGER.log(Level.WARNING, msg, e); - } - } - - /** - * Add the given audit module to the list of loaded audit module. - * Adding the same name twice will override previous one. - * @param name of auditModule - * successfully loaded into the system. - * @exception - */ - public BaseAuditModule addAuditModule(String name, String classname, Properties props) - throws Exception { - // make sure only a name corresponding to only one auditModule - removeAuditModule(name); - BaseAuditModule am = loadAuditModule(classname, props); - - moduleToNameMap.put(am, name); - nameToModuleMap.put(name, am); - // clone list to resolve multi-thread issues in looping instances - instances = copyAndAdd(instances, am); - if (isAuditModuleOfParameterizedType(am)) { - typedModules = copyAndAdd(typedModules, (T)am); - } - return am; - } - - private boolean isAuditModuleOfParameterizedType(final BaseAuditModule am) { - return (typedModuleClass != null && typedModuleClass.isAssignableFrom(am.getClass())); - } - - private List copyAndAdd(final List orig, final U am) { - final List list = new ArrayList<>(); - Collections.copy(orig, list); - list.add(am); - return list; - } - - private List copyAndRemove(final List orig, final U am) { - final List list = new ArrayList<>(); - Collections.copy(orig, list); - list.remove(am); - return list; - } - - /** - * Remove the audit module of given name from the loaded list. - * @param name of auditModule - */ - public BaseAuditModule removeAuditModule(String name) { - final BaseAuditModule am = nameToModuleMap.get(name); - if (am != null) { - nameToModuleMap.remove(name); - moduleToNameMap.remove(am); - // clone list to resolve multi-thread issues in looping instances - instances = copyAndRemove(instances, am); - if (isAuditModuleOfParameterizedType(am)) { - typedModules = copyAndRemove(typedModules, (T)am); - } - } - return am; - } - - /** - * Get the audit module of given name from the loaded list. - * @param name of auditModule - */ - BaseAuditModule getAuditModule(String name) { - return nameToModuleMap.get(name); - } - - /** - * This method return auditModule with given classname and properties. - * @param classname - * @param props - * @exception - */ - private BaseAuditModule loadAuditModule(String classname, - Properties props) throws Exception { - BaseAuditModule auditModule; - ClassLoader loader = Thread.currentThread().getContextClassLoader(); - Class am = Class.forName(classname, true, loader); - Object obj = am.newInstance(); - auditModule = (BaseAuditModule) obj; - auditModule.init(props); - return auditModule; - } - - public LocalStringManagerImpl getLocalStrings() { - return _localStrings; - } - - public Logger getLogger() { - return LOGGER; - } - - /** - * logs the authentication call for all the loaded modules. - */ - @Override - public void authentication(final String user, final String realm, final boolean success){ - if (auditOn) { - for (BaseAuditModule am : instances) { - try { - am.authentication(user, realm, success); - } catch (Exception ex) { - final String name = moduleName(am); - final String msg = - _localStrings.getLocalString( - "auditmgr.authentication", - " Audit Module {0} threw the following exception during authentication:", - name); - LOGGER.log(Level.INFO, msg, ex); - } - } - } - } - - @Override - public void serverStarted(){ - if (auditOn) { - for (BaseAuditModule am : instances) { - try { - am.serverStarted(); - } catch (Exception ex) { - final String name = moduleName(am); - final String msg = - _localStrings.getLocalString( - AUDIT_MGR_SERVER_STARTUP_KEY, - " Audit Module {0} threw the following exception during server startup :", - name); - LOGGER.log(Level.INFO, msg, ex); - } - } - } - } - - @Override - public void serverShutdown(){ - if (auditOn) { - for (BaseAuditModule am : instances) { - try { - am.serverShutdown(); - } catch (Exception ex) { - final String name = moduleName(am); - final String msg = - _localStrings.getLocalString( - AUDIT_MGR_SERVER_SHUTDOWN_KEY, - " Audit Module {0} threw the following exception during server shutdown :", - name); - LOGGER.log(Level.INFO, msg, ex); - } - } - } - } - - public void setAuditOn(boolean auditOn) { - this.auditOn = auditOn; - } - - @Override - public boolean isAuditOn() { - return auditOn; - } - - protected String moduleName(final BaseAuditModule am) { - return moduleToNameMap.get(am); - } - - protected List instances(final Class c) { - final List result = new ArrayList<>(); - for (BaseAuditModule am : instances) { - if (c.isAssignableFrom(c)) { - result.add((T) am); - } - } - return result; - } -} diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/LocalStrings.properties b/nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/LocalStrings.properties deleted file mode 100644 index 7dbe3200b3a..00000000000 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/audit/LocalStrings.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -auditmgr.admininvocation=Audit: Audit Module {0} threw the following exception during admin invocation : -auditmgr.authentication=Audit: Audit Module {0} threw the following exception during authentication: -auditmgr.logout=Audit: Audit Module {0} threw the following exception during logout: -auditmgr.loaderror=Audit: Cannot load AuditModule = {0} -auditmgr.badinit=Audit: Cannot load Audit Module Initialization information. AuditModules will not be loaded. -auditmgr.serverStartup=Audit: Audit Module {0} threw the following exception during server startup : -auditmgr.serverShutdown=Audit: Audit Module {0} threw the following exception during server shutdown : diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/JaspicToJaasBridge.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/JaspicToJaasBridge.java deleted file mode 100644 index 6659b46babf..00000000000 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/JaspicToJaasBridge.java +++ /dev/null @@ -1,201 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018-2021] [Payara Foundation and/or its affiliates] - -package com.sun.enterprise.security.auth; - -import static com.sun.enterprise.security.SecurityLoggerInfo.auditAtnRefusedError; -import static com.sun.enterprise.security.auth.login.LoginContextDriver.auditAuthenticate; -import static com.sun.enterprise.security.auth.login.LoginContextDriver.dummyCallback; -import static com.sun.enterprise.security.auth.login.LoginContextDriver.getJaasContext; -import static com.sun.enterprise.security.auth.login.LoginContextDriver.getRealmInstance; -import static com.sun.enterprise.security.auth.login.LoginContextDriver.getValidRealm; -import static com.sun.enterprise.security.auth.login.LoginContextDriver.getValidSubject; -import static com.sun.enterprise.security.auth.login.LoginContextDriver.validateJaasLogin; -import static com.sun.enterprise.security.common.AppservAccessController.privileged; -import static java.util.Collections.list; -import static java.util.logging.Level.FINE; -import static java.util.logging.Level.INFO; - -import java.util.Enumeration; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.security.auth.Subject; -import javax.security.auth.login.LoginContext; -import javax.security.auth.x500.X500Principal; - -import org.glassfish.security.common.Group; - -import com.sun.enterprise.security.SecurityLoggerInfo; -import com.sun.enterprise.security.auth.login.common.LoginException; -import com.sun.enterprise.security.auth.login.common.PasswordCredential; -import com.sun.enterprise.security.auth.realm.Realm; -import com.sun.enterprise.security.auth.realm.certificate.CertificateRealm; -import com.sun.enterprise.security.auth.realm.certificate.OID; - -/** - * This class contains a collection of methods used by the JASPIC implementation to interact - * with the Payara JAAS/Realm system. - * - *

    - * For the most part JASPIC does the authentication itself, and the JASPIC runtime code sets the - * security context based on that, but in a few cases bridging to JAAS is supported. This is especially - * the case for JASPIC's PasswordValidationCallback, which is specified to delegate credential validation - * from JASPIC to the contain/application server's native "identity stores" (realms, login modules, etc). - * - * @author Harpreet Singh (hsingh@eng.sun.com) - * @author Jyri Virkki - * @author Arjan Tijms (refactoring) - * - */ -public class JaspicToJaasBridge { - - private static final Logger LOGGER = SecurityLoggerInfo.getLogger(); - - /** - * Performs username/password login validation against a configured JAAS context and realm for JASPIC security. - * - *

    - * This is used by SAMs that wish to delegate the validation of username/password credentials to a realm installed - * on the application server (e.g. the LdapRealm). Note that such delegation in pure JASPIC is only defined for - * the username/password credential. - * - *

    - * The difference between this method and the ones in {@link WebAndEjbToJaasBridge} is that it just - * verifies whether the login will succeed in the given realm. It does not set the result of the - * authentication in the appserver runtime environment A silent return from this method means that - * the given user succeeding in authenticating with the given password in the given realm - * - * @param subject - * @param username - * @param password - * @param realm the realm to authenticate under - * @return Subject on successful authentication - * @throws LoginException - */ - public static Subject validateUsernamePasswordByJaas(Subject subject, String username, char[] password, String realm) throws LoginException { - String validRealm = getValidRealm(realm); - Subject validSubject = getValidSubject(subject); - PasswordCredential passwordCredential = new PasswordCredential(username, password, validRealm); - - privileged(() -> validSubject.getPrivateCredentials().add(passwordCredential)); - - String jaasCtx = getJaasContext(validRealm); - - if (LOGGER.isLoggable(FINE)) { - LOGGER.log(FINE, "JASPIC login user [{0}] into realm: {1} using JAAS module: {2}", new Object[]{username, validRealm, jaasCtx}); - } - - validateJaasLogin(username, jaasCtx, validRealm, validSubject); - - if (LOGGER.isLoggable(Level.FINE)) { - LOGGER.log(FINE, "JASPIC Password login succeeded for : {0}", username); - } - - return subject; - } - - public static Subject jaasX500Login(Subject subject, X500Principal x500Principal) throws LoginException { - Subject validSubject = getValidSubject(subject); - - String callerPrincipalName = ""; - try { - callerPrincipalName = x500Principal.getName(X500Principal.RFC2253, OID.getOIDMap()); - - privileged(() -> validSubject.getPublicCredentials().add(x500Principal)); - - CertificateRealm certRealm = (CertificateRealm) Realm.getInstance(CertificateRealm.AUTH_TYPE); - String jaasCtx = certRealm.getJAASContext(); - - if (jaasCtx != null) { - // The subject has the certificate Credential. - LoginContext loginContext = new LoginContext(jaasCtx, validSubject, dummyCallback); - loginContext.login(); - } - - // Sets security context - certRealm.authenticate(validSubject, x500Principal); - } catch (Exception ex) { - LOGGER.log(INFO, auditAtnRefusedError, callerPrincipalName); - - auditAuthenticate(callerPrincipalName, CertificateRealm.AUTH_TYPE, false); - - if (ex instanceof LoginException) { - throw (LoginException) ex; - } - - throw (LoginException) new LoginException(ex.toString()).initCause(ex); - } - - if (LOGGER.isLoggable(Level.FINE)) { - LOGGER.log(FINE, "JASPIC certificate login succeeded for: {0}", callerPrincipalName); - } - - auditAuthenticate(callerPrincipalName, CertificateRealm.AUTH_TYPE, true); - - // do not set the security Context - - return subject; - } - - public static Subject addRealmGroupsToSubject(Subject subject, String callerPrincipalName, String realmName) throws LoginException { - - Subject validSubject = getValidSubject(subject); - - try { - Enumeration groupsEnumeration = getRealmInstance(realmName).getGroupNames(callerPrincipalName); - - if (groupsEnumeration != null) { - privileged(() -> list(groupsEnumeration) - .stream() - .forEach(groupName -> validSubject.getPrincipals().add(new Group(groupName)))); - } - } catch (Exception ex) { - if (LOGGER.isLoggable(FINE)) { - LOGGER.log(FINE, "Exception when trying to populate groups for CallerPrincipal " + callerPrincipalName, ex); - } - } - - return subject; - } - - -} diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/WebAndEjbToJaasBridge.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/WebAndEjbToJaasBridge.java index 0c5e4a447cd..9737e35d318 100644 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/WebAndEjbToJaasBridge.java +++ b/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/WebAndEjbToJaasBridge.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2019-2024] [Payara Foundation and/or its affiliates] +// Portions Copyright 2019-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.security.auth; import static com.sun.enterprise.security.SecurityLoggerInfo.auditAtnRefusedError; @@ -45,7 +45,6 @@ import static com.sun.enterprise.security.SecurityLoggerInfo.invalidOperationForRealmError; import static com.sun.enterprise.security.SecurityLoggerInfo.noSuchUserInRealmError; import static com.sun.enterprise.security.SecurityLoggerInfo.unknownCredentialError; -import static com.sun.enterprise.security.auth.login.LoginContextDriver.auditAuthenticate; import static com.sun.enterprise.security.auth.login.LoginContextDriver.getJaasContext; import static com.sun.enterprise.security.auth.login.LoginContextDriver.getValidRealm; import static com.sun.enterprise.security.auth.login.LoginContextDriver.throwLoginException; @@ -259,7 +258,6 @@ public static void doX500Login(Subject subject, String realmName, String appModu // The name that the cert realm decided to set as the caller principal name user = certRealm.authenticate(subject, x500principal); - auditAuthenticate(user, realmName, true); } else { // Should never come here LOGGER.warning(certLoginBadRealmError); @@ -270,7 +268,6 @@ public static void doX500Login(Subject subject, String realmName, String appModu LOGGER.log(FINE, "X.500 name login succeeded for : {0}", user); } } catch (LoginException le) { - auditAuthenticate(user, realmName, false); throw le; } catch (Exception ex) { throw (LoginException) new LoginException(ex.toString()).initCause(ex); @@ -292,7 +289,6 @@ public static void login(DigestCredentials digestCred) throws javax.security.aut LOGGER.log(INFO, auditAtnRefusedError, digestCred.getUserName()); LOGGER.log(FINEST, "doPasswordLogin fails", e); - auditAuthenticate(digestCred.getUserName(), digestCred.getRealmName(), false); throwLoginException(e); } @@ -391,11 +387,9 @@ private static void doPasswordLogin(Subject subject) { } catch (Exception e) { LOGGER.log(FINEST, "doPasswordLogin fails", e); - auditAuthenticate(user, realm, false); throwLoginException(e); } - auditAuthenticate(user, realm, true); if (LOGGER.isLoggable(FINE)) { LOGGER.log(FINE, "Password login succeeded for : {0}", user); @@ -421,20 +415,14 @@ private static void doX509CertificateLogin(Subject subject) { String user = null; String realm = CertificateRealm.AUTH_TYPE; - try { - user = getPublicCredentials(subject, X509CertificateCredential.class).getAlias(); + user = getPublicCredentials(subject, X509CertificateCredential.class).getAlias(); - if (LOGGER.isLoggable(FINE)) { - LOGGER.log(FINE, "Set security context as user: {0}", user); - } + if (LOGGER.isLoggable(FINE)) { + LOGGER.log(FINE, "Set security context as user: {0}", user); + } - setSecurityContext(user, subject, realm); - auditAuthenticate(user, realm, true); + setSecurityContext(user, subject, realm); - } catch (LoginException le) { - auditAuthenticate(user, realm, false); - throw le; - } } /** @@ -460,18 +448,12 @@ private static void doGSSUPLogin(Subject s) { String user = null; String realm = Realm.getDefaultRealm(); - try { - user = getPublicCredentials(s, GSSUPName.class).getUser(); + user = getPublicCredentials(s, GSSUPName.class).getUser(); - setSecurityContext(user, s, realm); - auditAuthenticate(user, realm, true); + setSecurityContext(user, s, realm); - if (LOGGER.isLoggable(FINE)) { - LOGGER.log(FINE, "GSSUP login succeeded for : {0}", user); - } - } catch (LoginException le) { - auditAuthenticate(user, realm, false); - throw le; + if (LOGGER.isLoggable(FINE)) { + LOGGER.log(FINE, "GSSUP login succeeded for : {0}", user); } } diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/login/LoginContextDriver.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/login/LoginContextDriver.java index 46df5a43f99..2d54d085f15 100644 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/login/LoginContextDriver.java +++ b/nucleus/security/core/src/main/java/com/sun/enterprise/security/auth/login/LoginContextDriver.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2024] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.security.auth.login; @@ -64,11 +64,8 @@ import javax.security.auth.login.LoginContext; import javax.security.auth.x500.X500Principal; -import org.glassfish.internal.api.Globals; import com.sun.enterprise.security.SecurityLoggerInfo; -import com.sun.enterprise.security.SecurityServicesUtil; -import com.sun.enterprise.security.audit.AuditManager; import com.sun.enterprise.security.auth.login.common.LoginException; import com.sun.enterprise.security.auth.login.common.PasswordCredential; import com.sun.enterprise.security.auth.login.common.ServerLoginCallbackHandler; @@ -95,8 +92,6 @@ public class LoginContextDriver { public static final ServerLoginCallbackHandler dummyCallback = new ServerLoginCallbackHandler(); public static final String CERT_REALMNAME = "certificate"; - private static volatile AuditManager AUDIT_MANAGER; - /** * This class cannot be instantiated * @@ -175,21 +170,6 @@ public static void doClientLogout() throws LoginException { // ############################ Private methods ###################################### - - public static void validateJaasLogin(String username, String jaasCtx, String realm, Subject subject) { - try { - tryJaasLogin(jaasCtx, subject); - } catch (Exception e) { - LOGGER.log(INFO, auditAtnRefusedError, username); - - auditAuthenticate(username, realm, false); - - throwLoginException(e); - } - - auditAuthenticate(username, realm, true); - } - public static void tryJaasLogin(String jaasCtx, Subject subject) throws javax.security.auth.login.LoginException { // A dummyCallback is used to satisfy JAAS but it is never used. // The name/password info is already contained in the Subject's credentials @@ -321,27 +301,6 @@ private static void unsetClientSecurityContext() { ClientSecurityContext.setCurrent(null); } - private static AuditManager getAuditManager() { - if (AUDIT_MANAGER != null) { - return AUDIT_MANAGER; - } - return _getAuditManager(); - } - - private static synchronized AuditManager _getAuditManager() { - if (AUDIT_MANAGER == null) { - SecurityServicesUtil secServUtil = Globals.get(SecurityServicesUtil.class); - AUDIT_MANAGER = secServUtil.getAuditManager(); - } - return AUDIT_MANAGER; - } - - public static void auditAuthenticate(String username, String realm, boolean success) { - if (getAuditManager().isAuditOn()) { - getAuditManager().authentication(username, realm, success); - } - } - public static void jmacLogin(Subject subject, Principal callerPrincipal, String realmName) throws LoginException { if (CertificateRealm.AUTH_TYPE.equals(realmName)) { if (callerPrincipal instanceof X500Principal) { @@ -371,9 +330,6 @@ public static Subject jmacLogin(Subject subject, X500Principal x500Principal) th certRealm.authenticate(subject, x500Principal); } catch (Exception ex) { LOGGER.log(INFO, auditAtnRefusedError, userName); - if (getAuditManager().isAuditOn()) { - getAuditManager().authentication(userName, CertificateRealm.AUTH_TYPE, false); - } if (ex instanceof LoginException) { throw (LoginException) ex; @@ -382,10 +338,6 @@ public static Subject jmacLogin(Subject subject, X500Principal x500Principal) th } LOGGER.log(FINE, "JMAC cert login succeeded for {0}", userName); - - if (getAuditManager().isAuditOn()) { - getAuditManager().authentication(userName, CertificateRealm.AUTH_TYPE, true); - } // do not set the security Context return subject; @@ -451,18 +403,12 @@ public static Subject jmacLogin(Subject subject, String username, char[] passwor } catch (Exception e) { LOGGER.log(INFO, SecurityLoggerInfo.auditAtnRefusedError, username); - if (getAuditManager().isAuditOn()) { - getAuditManager().authentication(username, realmName, false); - } if (e instanceof LoginException) { throw (LoginException) e; } throw new LoginException("Login failed: " + e.getMessage(), e); } - if (getAuditManager().isAuditOn()) { - getAuditManager().authentication(username, realmName, true); - } LOGGER.log(FINE, "jmac Password login succeeded for {0}", username); return subject; diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/CreateAuditModule.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/CreateAuditModule.java deleted file mode 100644 index 3ef2b280594..00000000000 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/CreateAuditModule.java +++ /dev/null @@ -1,209 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2021] Payara Foundation and/or affiliates - -package com.sun.enterprise.security.cli; - -import org.jvnet.hk2.config.types.Property; -import java.util.List; - -import org.glassfish.api.admin.AdminCommand; -import org.glassfish.api.admin.AdminCommandContext; -import org.glassfish.api.I18n; -import org.glassfish.api.Param; -import org.glassfish.api.ActionReport; -import org.jvnet.hk2.annotations.Service; - -import jakarta.inject.Inject; -import jakarta.inject.Named; - -import org.glassfish.hk2.api.PerLookup; -import org.jvnet.hk2.config.ConfigSupport; -import org.jvnet.hk2.config.SingleConfigCode; -import org.jvnet.hk2.config.TransactionFailure; -import com.sun.enterprise.config.serverbeans.SecurityService; -import com.sun.enterprise.config.serverbeans.AuditModule; -import com.sun.enterprise.config.serverbeans.Config; -import com.sun.enterprise.config.serverbeans.Domain; -import com.sun.enterprise.security.SecurityConfigListener; -import com.sun.enterprise.util.LocalStringManagerImpl; -import com.sun.enterprise.util.SystemPropertyConstants; - -import java.beans.PropertyVetoException; -import org.glassfish.api.admin.AccessRequired; -import org.glassfish.api.admin.AdminCommandSecurity; -import org.glassfish.api.admin.ExecuteOn; -import org.glassfish.api.admin.RuntimeType; -import org.glassfish.api.admin.ServerEnvironment; -import org.glassfish.config.support.CommandTarget; -import org.glassfish.config.support.TargetType; - -/** - * Create Audit Module Command - * - * Usage: create-audit-module --classname classnme [--terse=false] - * [--echo=false] [--interactive=true] [--host localhost] - * [--port 4848|4849] [--secure | -s] [--user admin_user] - * [--passwordfile file_name] [--property (name=value) - * [:name=value]*] [--target target(Default server)] audit_module_name - * - * domain.xml element example - * {@code - * - * - * - * } - * - * @author Nandini Ektare - */ - -@Service(name="create-audit-module") -@PerLookup -@I18n("create.audit.module") -@ExecuteOn({RuntimeType.DAS, RuntimeType.INSTANCE}) -@TargetType({CommandTarget.DAS,CommandTarget.STANDALONE_INSTANCE,CommandTarget.CLUSTER,CommandTarget.CONFIG}) -public class CreateAuditModule implements AdminCommand, AdminCommandSecurity.Preauthorization { - - final private static LocalStringManagerImpl localStrings = new LocalStringManagerImpl(CreateAuditModule.class); - - @Param(name="classname") - String className; - - @Param(name="auditmodulename", primary=true) - String auditModuleName; - - @Param(optional=true, name="property", separator=':') - java.util.Properties properties; - - @Param(name = "target", optional = true, defaultValue = - SystemPropertyConstants.DEFAULT_SERVER_INSTANCE_NAME) - private String target; - - @Inject @Named(ServerEnvironment.DEFAULT_INSTANCE_NAME) - private Config config; - - @Inject - private Domain domain; - - @Inject - SecurityConfigListener securityConfigListener; - - @AccessRequired.NewChild(type=AuditModule.class) - private SecurityService securityService = null; - - @Override - public boolean preAuthorization(AdminCommandContext context) { - securityService = chooseSecurityService(context.getActionReport()); - return (securityService != null); - } - - - /** - * Executes the command with the command parameters passed as Properties - * where the keys are paramter names and the values the parameter values - * - * @param context information - */ - @Override - public void execute(AdminCommandContext context) { - final ActionReport report = context.getActionReport(); - - - // check if there exists an audit module by the specified name - // if so return failure. - List ams = securityService.getAuditModule(); - for (AuditModule am : ams) { - if (am.getName().equals(auditModuleName)) { - report.setMessage(localStrings.getLocalString( - "create.audit.module.duplicatefound", - "AuditModule named {0} exists. " + - "Cannot add duplicate AuditModule.", auditModuleName)); - report.setActionExitCode(ActionReport.ExitCode.FAILURE); - return; - } - } - - // No duplicate audit modules found. So add one. - try { - ConfigSupport.apply(new SingleConfigCode() { - - public Object run(SecurityService param) - throws PropertyVetoException, TransactionFailure { - AuditModule newAuditModule = param.createChild(AuditModule.class); - populateAuditModuleElement(newAuditModule); - param.getAuditModule().add(newAuditModule); - return newAuditModule; - } - }, securityService); - - } catch(TransactionFailure e) { - report.setMessage(localStrings.getLocalString("create.audit.module.fail", - "Creation of AuditModule {0} failed", auditModuleName)); - report.setActionExitCode(ActionReport.ExitCode.FAILURE); - report.setFailureCause(e); - return; - } - report.setActionExitCode(ActionReport.ExitCode.SUCCESS); - //report.setMessage(localStrings.getLocalString("create.audit.module.success", - // "Creation of AuditModule {0} completed successfully", auditModuleName)); - } - - private SecurityService chooseSecurityService(final ActionReport report) { - config = CLIUtil.chooseConfig(domain, target, report); - if (config == null) { - return null; - } - return config.getSecurityService(); - } - - private void populateAuditModuleElement(AuditModule newAuditModule) - throws PropertyVetoException, TransactionFailure { - newAuditModule.setName(auditModuleName); - newAuditModule.setClassname(className); - if (properties != null) { - for (Object propname: properties.keySet()) { - Property newprop = newAuditModule.createChild(Property.class); - newprop.setName((String) propname); - newprop.setValue(properties.getProperty((String) propname)); - newAuditModule.getProperty().add(newprop); - } - } - } -} diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/DeleteAuditModule.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/DeleteAuditModule.java deleted file mode 100644 index d63bfd970fe..00000000000 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/DeleteAuditModule.java +++ /dev/null @@ -1,176 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2021] Payara Foundation and/or affiliates - -package com.sun.enterprise.security.cli; - -import com.sun.enterprise.config.serverbeans.AuditModule; -import com.sun.enterprise.config.serverbeans.Config; -import com.sun.enterprise.config.serverbeans.Domain; -import org.glassfish.api.admin.AdminCommand; -import org.glassfish.api.admin.AdminCommandContext; -import org.glassfish.api.I18n; -import org.glassfish.api.Param; -import org.glassfish.api.ActionReport; -import org.jvnet.hk2.annotations.Service; - -import jakarta.inject.Inject; -import jakarta.inject.Named; - -import org.glassfish.hk2.api.PerLookup; -import org.jvnet.hk2.config.ConfigSupport; -import org.jvnet.hk2.config.SingleConfigCode; -import org.jvnet.hk2.config.TransactionFailure; -import com.sun.enterprise.config.serverbeans.SecurityService; -import com.sun.enterprise.security.SecurityConfigListener; -import com.sun.enterprise.util.LocalStringManagerImpl; -import com.sun.enterprise.util.SystemPropertyConstants; - -import java.beans.PropertyVetoException; -import org.glassfish.api.admin.AccessRequired; -import org.glassfish.api.admin.AdminCommandSecurity; -import org.glassfish.api.admin.ExecuteOn; -import org.glassfish.api.admin.RuntimeType; -import org.glassfish.api.admin.ServerEnvironment; -import org.glassfish.config.support.CommandTarget; -import org.glassfish.config.support.TargetType; - -/** - * Delete Audit Module Command - * -* Usage: delete-audit-module [--terse=false] [--echo=false] - * [--interactive=true] [--host localhost] [--port 4848|4849] - * [--secure | -s] [--user admin_user] [--passwordfile file_name] - * [--target target(Default server)] auth_realm_name - * - * @author Nandini Ektare - */ -@Service(name="delete-audit-module") -@PerLookup -@I18n("delete.audit.module") -@ExecuteOn({RuntimeType.DAS, RuntimeType.INSTANCE}) -@TargetType({CommandTarget.DAS,CommandTarget.STANDALONE_INSTANCE,CommandTarget.CLUSTER,CommandTarget.CONFIG}) -public class DeleteAuditModule implements AdminCommand, AdminCommandSecurity.Preauthorization { - - final private static LocalStringManagerImpl localStrings = - new LocalStringManagerImpl(DeleteAuditModule.class); - - @Param(name="auditmodulename", primary=true) - String auditModuleName; - - @Param(name = "target", optional = true, defaultValue = - SystemPropertyConstants.DEFAULT_SERVER_INSTANCE_NAME) - private String target; - - @Inject @Named(ServerEnvironment.DEFAULT_INSTANCE_NAME) - private Config config; - - @Inject - private Domain domain; - - @AccessRequired.To(value="delete") - private AuditModule auditModule = null; - - @Inject - SecurityConfigListener securityConfigListener; - - private SecurityService securityService; - - @Override - public boolean preAuthorization(AdminCommandContext context) { - auditModule = chooseAuditModule(context.getActionReport()); - return true; - } - - /** - * Executes the command with the command parameters passed as Properties - * where the keys are the paramter names and the values the parameter values - * - * @param context information - */ - @Override - public void execute(AdminCommandContext context) { - - ActionReport report = context.getActionReport(); - - try { - if (auditModule == null) { - report.setMessage(localStrings.getLocalString( - "delete.audit.module.notfound", - "Specified Audit Module {0} not found", auditModuleName)); - report.setActionExitCode(ActionReport.ExitCode.FAILURE); - return; - } - - ConfigSupport.apply(new SingleConfigCode() { - public Object run(SecurityService param) - throws PropertyVetoException, TransactionFailure { - - param.getAuditModule().remove(auditModule); - return null; - } - }, securityService); - } catch(TransactionFailure e) { - report.setMessage(localStrings.getLocalString( - "delete.audit.module.fail", "Deletion of Audit Module {0} failed", - auditModuleName)); - report.setActionExitCode(ActionReport.ExitCode.FAILURE); - report.setFailureCause(e); - } - - /*report.setMessage(localStrings.getLocalString("delete.audit.module.success", - "Deletion of Audit Module {0} completed successfully", auditModuleName));*/ - report.setActionExitCode(ActionReport.ExitCode.SUCCESS); - } - - private AuditModule chooseAuditModule(final ActionReport report) { - config = CLIUtil.chooseConfig(domain, target, report); - if (config == null) { - return null; - } - securityService = config.getSecurityService(); - for (AuditModule am : securityService.getAuditModule()) { - if (am.getName().equals(auditModuleName)) { - return am; - } - } - return null; - } -} diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/ListAuditModule.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/ListAuditModule.java deleted file mode 100644 index 97ee24f9866..00000000000 --- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/cli/ListAuditModule.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2021] Payara Foundation and/or affiliates - -package com.sun.enterprise.security.cli; - - -import org.glassfish.api.admin.AdminCommand; -import org.glassfish.api.admin.AdminCommandContext; -import org.glassfish.api.admin.CommandLock; -import org.glassfish.api.I18n; -import org.glassfish.api.Param; -import org.glassfish.api.ActionReport; -import org.jvnet.hk2.annotations.Service; - -import jakarta.inject.Inject; -import jakarta.inject.Named; - -import org.glassfish.hk2.api.PerLookup; -import com.sun.enterprise.config.serverbeans.Config; -import com.sun.enterprise.util.LocalStringManagerImpl; -import com.sun.enterprise.config.serverbeans.AuditModule; -import com.sun.enterprise.config.serverbeans.Domain; -import com.sun.enterprise.config.serverbeans.SecurityService; -import com.sun.enterprise.util.SystemPropertyConstants; -import org.glassfish.api.admin.*; -import org.glassfish.config.support.CommandTarget; -import org.glassfish.config.support.TargetType; - -/** - * List Audit Modules Command - * Usage: list-audit-modules [--terse=false] [--echo=false] [--interactive=true] - * [--host localhost] [--port 4848|4849] [--secure | -s] - * [--user admin_user] [--passwordfile file_name] [target(Default server)] - * - * @author Nandini Ektare - */ - -@Service(name="list-audit-modules") -@PerLookup -@CommandLock(CommandLock.LockType.NONE) -@I18n("list.audit.module") -@ExecuteOn({RuntimeType.DAS}) -@TargetType({CommandTarget.DAS,CommandTarget.CLUSTERED_INSTANCE, -CommandTarget.STANDALONE_INSTANCE,CommandTarget.CLUSTER,CommandTarget.CONFIG}) -@RestEndpoints({ - @RestEndpoint(configBean=SecurityService.class, - opType=RestEndpoint.OpType.GET, - path="list-audit-modules", - description="List Audit Modules") -}) -public class ListAuditModule implements AdminCommand, AdminCommandSecurity.Preauthorization { - - final private static LocalStringManagerImpl localStrings = - new LocalStringManagerImpl(ListAuditModule.class); - - @Param(name = "target", primary=true, optional = true, defaultValue = - SystemPropertyConstants.DEFAULT_SERVER_INSTANCE_NAME) - private String target; - - @Inject @Named(ServerEnvironment.DEFAULT_INSTANCE_NAME) - private Config config; - - @Inject - private Domain domain; - - @AccessRequired.To(value="read") - private SecurityService securityService = null; - - @Override - public boolean preAuthorization(AdminCommandContext context) { - securityService = chooseSecurityService(context.getActionReport()); - return true; - } - - - /** - * Executes the command with the command parameters passed as Properties - * where the keys are the paramter names and the values the parameter values - * - * @param context information - */ - @Override - public void execute(AdminCommandContext context) { - - final ActionReport report = context.getActionReport(); - - report.getTopMessagePart().setChildrenType("audit-module"); - for (AuditModule am : securityService.getAuditModule()) { - ActionReport.MessagePart part = report.getTopMessagePart().addChild(); - part.setMessage(am.getName()); - } - } - - private SecurityService chooseSecurityService(final ActionReport report) { - config = CLIUtil.chooseConfig(domain, target, report); - if (config == null) { - return null; - } - return config.getSecurityService(); - } -} diff --git a/nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/create-audit-module.1 b/nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/create-audit-module.1 deleted file mode 100644 index c22a4b98fd2..00000000000 --- a/nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/create-audit-module.1 +++ /dev/null @@ -1,86 +0,0 @@ -create-audit-module(1) asadmin Utility Subcommands create-audit-module(1) - -NAME - create-audit-module - adds an audit module - -SYNOPSIS - create-audit-module [--help] - --classname classname - [--property(name=value)[:name=value]*] - [--target target] - audit_module_name - -DESCRIPTION - The create-audit-module subcommand adds the named audit module for the - Java class that implements the audit capabilities. Audit modules - collect and store information on incoming requests (from, for example, - servlets and EJB components) and outgoing responses. - - This subcommand is supported in remote mode only. - -OPTIONS - --classname - The name of the Java class that implements this audit module. If - not specified, this option defaults to - com.sun.enterprise.security.Audit. - - --help, -? - Displays the help text for the subcommand. - - --property - Optional keyword-value pairs that specify additional properties for - the audit module. - - Audit module properties that are defined by GlassFish Server are as - follows: - - auditOn - If true, specifies that the audit module is loaded and called - by the GlassFish Server audit library at audit points. - - Other available properties are determined by the implementation of - the audit module. - - --target - Specifies the target on which you are creating the audit module. - Valid values are as follows: - - server - Creates the audit module for the default server instance server - and is the default value. - - configuration_name - Creates the audit module for the named configuration. - - cluster_name - Creates the audit module for every server instance in the - cluster. - - instance_name - Creates the audit module for a particular server instance. - -OPERANDS - audit_module_name - The name of this audit module. - -EXAMPLES - Example 1, Creating an audit module - - asadmin> create-audit-module - --classname com.sun.appserv.auditmodule - --property defaultuser=admin:Password=admin sampleAuditModule - Command create-audit-module executed successfully - -EXIT STATUS - 0 - command executed successfully - - 1 - error in executing the command - -SEE ALSO - delete-audit-module(1), list-audit-modules(1) - - asadmin(1M) - -Java EE 8 22 Dec 2010 create-audit-module(1) diff --git a/nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/delete-audit-module.1 b/nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/delete-audit-module.1 deleted file mode 100644 index 8da40b2401d..00000000000 --- a/nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/delete-audit-module.1 +++ /dev/null @@ -1,59 +0,0 @@ -delete-audit-module(1) asadmin Utility Subcommands delete-audit-module(1) - -NAME - delete-audit-module - removes the named audit-module - -SYNOPSIS - delete-audit-module [--help] - [--target target] - audit_module_name - -DESCRIPTION - This subcommand removes the named audit module. This subcommand is - supported in remote mode only. - -OPTIONS - --help, -? - Displays the help text for the subcommand. - - --target - Specifies the target on which you are deleting the audit module. - Valid values are as follows: - - server - Deletes the audit module for the default server instance server - and is the default value. - - configuration_name - Deletes the audit module for the named configuration. - - cluster_name - Deletes the audit module for every server instance in the - cluster. - - instance_name - Deletes the audit module for a particular server instance. - -OPERANDS - audit_module_name - The name of the audit module to be deleted. - -EXAMPLES - Example 1, Deleting an audit module - - asadmin> delete-audit-module sampleAuditModule - Command delete-audit-module executed successfully - -EXIT STATUS - 0 - command executed successfully - - 1 - error in executing the command - -SEE ALSO - create-audit-module(1), list-audit-modules(1) - - asadmin(1M) - -Java EE 8 22 Dec 2010 delete-audit-module(1) diff --git a/nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/list-audit-modules.1 b/nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/list-audit-modules.1 deleted file mode 100644 index 98cba1f1c7c..00000000000 --- a/nucleus/security/core/src/main/manpages/com/sun/enterprise/security/cli/list-audit-modules.1 +++ /dev/null @@ -1,56 +0,0 @@ -list-audit-modules(1) asadmin Utility Subcommands list-audit-modules(1) - -NAME - list-audit-modules - gets all audit modules and displays them - -SYNOPSIS - list-audit-modules [--help] [target] - -DESCRIPTION - The list-audit-modules subcommand lists all the audit modules. This - subcommand is supported in remote mode only. - -OPTIONS - --help, -? - Displays the help text for the subcommand. - -OPERANDS - target - Specifies the target on which you are listing the audit modules. - Valid values are as follows: - - server - Lists the audit modules for the default server instance server - and is the default value. - - configuration_name - Lists the audit modules for the named configuration. - - cluster_name - Lists the audit modules for every server instance in the - cluster. - - instance_name - Lists the audit modules for a particular server instance. - -EXAMPLES - Example 1, Listing Audit Modules - - asadmin> list-audit-modules - sampleAuditModule1 - sampleAuditModule2 - Command list-audit-modules executed successfully - -EXIT STATUS - 0 - command executed successfully - - 1 - error in executing the command - -SEE ALSO - create-audit-module(1), delete-audit-module(1) - - asadmin(1M) - -Java EE 8 22 Dec 2010 list-audit-modules(1) diff --git a/nucleus/security/core/src/main/resources/com/sun/enterprise/security/audit/LocalStrings.properties b/nucleus/security/core/src/main/resources/com/sun/enterprise/security/audit/LocalStrings.properties deleted file mode 100644 index 7dbe3200b3a..00000000000 --- a/nucleus/security/core/src/main/resources/com/sun/enterprise/security/audit/LocalStrings.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -auditmgr.admininvocation=Audit: Audit Module {0} threw the following exception during admin invocation : -auditmgr.authentication=Audit: Audit Module {0} threw the following exception during authentication: -auditmgr.logout=Audit: Audit Module {0} threw the following exception during logout: -auditmgr.loaderror=Audit: Cannot load AuditModule = {0} -auditmgr.badinit=Audit: Cannot load Audit Module Initialization information. AuditModules will not be loaded. -auditmgr.serverStartup=Audit: Audit Module {0} threw the following exception during server startup : -auditmgr.serverShutdown=Audit: Audit Module {0} threw the following exception during server shutdown : From 4dc55184f78742e1aa202a02c25a19e8d8a2ab97 Mon Sep 17 00:00:00 2001 From: Kalin Chan Date: Tue, 7 Apr 2026 09:39:34 +0100 Subject: [PATCH 014/133] FISH-10287 Update `JaccProviderCompatibilityStartup` Service --- .../JaccProviderCompatibilityStartup.java | 167 ++++++++++++------ 1 file changed, 115 insertions(+), 52 deletions(-) diff --git a/appserver/security/jacc.provider.inmemory/src/main/java/fish/payara/security/jacc/provider/compatibility/JaccProviderCompatibilityStartup.java b/appserver/security/jacc.provider.inmemory/src/main/java/fish/payara/security/jacc/provider/compatibility/JaccProviderCompatibilityStartup.java index 256f56d9bc6..61530f53b46 100644 --- a/appserver/security/jacc.provider.inmemory/src/main/java/fish/payara/security/jacc/provider/compatibility/JaccProviderCompatibilityStartup.java +++ b/appserver/security/jacc.provider.inmemory/src/main/java/fish/payara/security/jacc/provider/compatibility/JaccProviderCompatibilityStartup.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) 2023 Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2023-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -43,7 +43,7 @@ import com.sun.enterprise.config.serverbeans.Config; import com.sun.enterprise.config.serverbeans.Configs; import com.sun.enterprise.config.serverbeans.JaccProvider; -import com.sun.enterprise.config.serverbeans.SecurityService; +import com.sun.enterprise.config.serverbeans.JavaConfig; import jakarta.inject.Inject; import org.glassfish.api.StartupRunLevel; import org.glassfish.exousia.modules.def.DefaultPolicy; @@ -52,86 +52,149 @@ import org.glassfish.hk2.runlevel.RunLevel; import org.jvnet.hk2.annotations.Service; import org.jvnet.hk2.config.ConfigSupport; -import org.jvnet.hk2.config.SingleConfigCode; import org.jvnet.hk2.config.TransactionFailure; -import java.beans.PropertyVetoException; import java.util.List; +import java.util.Optional; import java.util.logging.Level; import java.util.logging.Logger; /** - * Startup service for jacc compatibility. + * Startup service that ensures JACC provider configuration compatibility with Payara 6+. * - * This service checks if any domain.xml configuration has - * jacc provider values incompatibles with Payara since - * version 6. + * On startup, this service inspects all configurations in {@code domain.xml} and performs + * the following migrations where necessary: + * + * - Replaces legacy policy provider {@value #OLD_POLICY_PROVIDER} with {@link DefaultPolicy}. + * - Replaces legacy policy configuration factory {@value #OLD_POLICY_CONFIGURATION_FACTORY} + * with {@link DefaultPolicyConfigurationFactory}. + * - Ensures the {@code jakarta.security.jacc.PolicyFactory.provider} JVM option is set. + * If a custom value is already present, it is left unchanged. * * @author luisneto + * @author kalinchan */ @Service @RunLevel(StartupRunLevel.VAL) public class JaccProviderCompatibilityStartup implements PostConstruct { - public static final String OLD_POLICY_WRAPPER = "com.sun.enterprise.security.provider.PolicyWrapper"; - public static final String OLD_POLICY_CONFIGURATION_FACTORY_IMPL = - "com.sun.enterprise.security.provider.PolicyConfigurationFactoryImpl"; + private static final Logger logger = Logger.getLogger(JaccProviderCompatibilityStartup.class.getName()); + + public static final String OLD_POLICY_PROVIDER = + "fish.payara.security.jacc.provider.PolicyProviderImpl"; + public static final String OLD_POLICY_CONFIGURATION_FACTORY = + "fish.payara.security.jacc.provider.PolicyConfigurationFactoryImpl"; + + private static final String NEW_POLICY_PROVIDER = + DefaultPolicy.class.getCanonicalName(); + private static final String NEW_POLICY_CONFIGURATION_FACTORY = + DefaultPolicyConfigurationFactory.class.getCanonicalName(); + + private static final String JACC_POLICY_FACTORY_JVM_OPTION_KEY = + "-Djakarta.security.jacc.PolicyFactory.provider="; - public static final String OLD_SIMPLE_POLICY_WRAPPER = "com.sun.enterprise.security.jacc.provider.SimplePolicyProvider"; - public static final String OLD_SIMPLE_POLICY_CONFIGURATION_FACTORY_IMPL = - "com.sun.enterprise.security.jacc.provider.SimplePolicyConfigurationFactory"; + private static final String JACC_POLICY_FACTORY_JVM_OPTION = + JACC_POLICY_FACTORY_JVM_OPTION_KEY + "org.glassfish.exousia.modules.def.DefaultPolicyFactory"; @Inject private Configs configs; @Override public void postConstruct() { + logger.fine("Starting JACC provider compatibility migration"); + for (Config config : configs.getConfig()) { - SecurityService securityService = config.getSecurityService(); - List jaccProviders = securityService.getJaccProvider(); - for (JaccProvider jaccProvider : jaccProviders) { - String policyProvider = jaccProvider.getPolicyProvider(); - String policyConfigurationFactoryProvider = jaccProvider.getPolicyConfigurationFactoryProvider(); - - String newPolicyProvider = policyProvider; - String newPolicyConfigurationFactoryProvider = policyConfigurationFactoryProvider; - if (policyProvider.equals(OLD_POLICY_WRAPPER) || - policyProvider.equals(OLD_SIMPLE_POLICY_WRAPPER)) { - newPolicyProvider = DefaultPolicy.class.getCanonicalName(); - } - if (policyConfigurationFactoryProvider.equals(OLD_POLICY_CONFIGURATION_FACTORY_IMPL) || - policyConfigurationFactoryProvider.equals(OLD_SIMPLE_POLICY_CONFIGURATION_FACTORY_IMPL)) { - newPolicyConfigurationFactoryProvider = DefaultPolicyConfigurationFactory.class.getCanonicalName(); - } - - if (!newPolicyProvider.equals(policyProvider) || - !newPolicyConfigurationFactoryProvider.equals(policyConfigurationFactoryProvider)) { - renameJaccProvider(jaccProvider, newPolicyProvider, newPolicyConfigurationFactoryProvider); - } + migrateJaccProviders(config); + ensureJaccPolicyFactoryJvmOption(config); + } + + logger.fine("JACC provider compatibility migration complete"); + } + + private void migrateJaccProviders(Config config) { + List jaccProviders = config.getSecurityService().getJaccProvider(); + + for (JaccProvider jaccProvider : jaccProviders) { + String currentPolicyProvider = jaccProvider.getPolicyProvider(); + String currentPolicyConfigFactory = jaccProvider.getPolicyConfigurationFactoryProvider(); + + String updatedPolicyProvider = migrateClassName( + currentPolicyProvider, OLD_POLICY_PROVIDER, NEW_POLICY_PROVIDER, + "policy provider"); + String updatedPolicyConfigFactory = migrateClassName( + currentPolicyConfigFactory, OLD_POLICY_CONFIGURATION_FACTORY, NEW_POLICY_CONFIGURATION_FACTORY, + "policy configuration factory"); + + boolean policyProviderChanged = !updatedPolicyProvider.equals(currentPolicyProvider); + boolean policyConfigFactoryChanged = !updatedPolicyConfigFactory.equals(currentPolicyConfigFactory); + + if (policyProviderChanged || policyConfigFactoryChanged) { + updateJaccProvider(jaccProvider, updatedPolicyProvider, updatedPolicyConfigFactory); } } } - private void renameJaccProvider(JaccProvider jaccProvider, String policyProvider, String policyConfigurationFactoryProvider) { - Logger logger = Logger.getAnonymousLogger(); + /** + * Returns the new class name if the current one matches the old one; otherwise returns the current one unchanged. + */ + private String migrateClassName(String current, String oldName, String newName, String description) { + if (oldName.equals(current)) { + logger.log(Level.INFO, "Migrating JACC {0}: [{1}] -> [{2}]", + new Object[]{description, oldName, newName}); + return newName; + } + return current; + } + + private void updateJaccProvider(JaccProvider jaccProvider, + String newPolicyProvider, + String newPolicyConfigFactory) { try { - ConfigSupport.apply(new SingleConfigCode() { - public Object run(JaccProvider param) throws PropertyVetoException, TransactionFailure { - logger.log(Level.INFO, "Renaming jacc policy provider from " + - param.getPolicyProvider() + " to " + policyProvider); - param.setPolicyProvider(policyProvider); - - logger.log(Level.INFO, "Renaming jacc policy configuration factory provider from " + - param.getPolicyConfigurationFactoryProvider() + " to " + policyConfigurationFactoryProvider); - param.setPolicyConfigurationFactoryProvider(policyConfigurationFactoryProvider); - - return param; - } + ConfigSupport.apply(param -> { + param.setPolicyProvider(newPolicyProvider); + param.setPolicyConfigurationFactoryProvider(newPolicyConfigFactory); + return param; }, jaccProvider); - } catch (TransactionFailure tf) { - logger.log(Level.SEVERE, "Failure while renaming jacc provider ", tf); - throw new RuntimeException(tf); + + logger.log(Level.INFO, "Successfully updated JACC provider configuration"); + } catch (TransactionFailure e) { + logger.log(Level.SEVERE, "Failed to update JACC provider configuration", e); + throw new RuntimeException("Failed to update JACC provider configuration", e); } } + private void ensureJaccPolicyFactoryJvmOption(Config config) { + JavaConfig javaConfig = config.getJavaConfig(); + List jvmOptions = javaConfig.getJvmOptions(); + + Optional existing = jvmOptions.stream() + .filter(opt -> opt.startsWith(JACC_POLICY_FACTORY_JVM_OPTION_KEY)) + .findFirst(); + + if (existing.isPresent()) { + if (existing.get().equals(JACC_POLICY_FACTORY_JVM_OPTION)) { + logger.fine("JACC PolicyFactory JVM option already present with correct value, skipping"); + } else { + logger.log(Level.FINE, + "JACC PolicyFactory JVM option is set to a custom value [{0}], skipping override", + existing.get()); + } + return; + } + + logger.log(Level.INFO, "Adding missing JACC PolicyFactory JVM option: {0}", JACC_POLICY_FACTORY_JVM_OPTION); + jvmOptions.add(JACC_POLICY_FACTORY_JVM_OPTION); + + try { + ConfigSupport.apply(jconfig -> { + jconfig.setJvmOptions(jvmOptions); + return config; + }, javaConfig); + + logger.log(Level.INFO, "Successfully added JACC PolicyFactory JVM option"); + } catch (TransactionFailure e) { + logger.log(Level.SEVERE, "Failed to add JACC PolicyFactory JVM option", e); + throw new RuntimeException("Failed to add JACC PolicyFactory JVM option", e); + } + } } \ No newline at end of file From 221a61f36de0dc91a9429d5ef11224b507f0e52f Mon Sep 17 00:00:00 2001 From: Kalin Chan Date: Tue, 14 Apr 2026 10:19:17 +0100 Subject: [PATCH 015/133] FISH-12430 Inital Pass - cmp module removal --- appserver/appclient/client/acc/pom.xml | 7 - .../payara-ml/glassfish-distributions.xml | 2 - .../payara/glassfish-distributions.xml | 2 - appserver/extras/embedded/all/pom.xml | 7 - .../glassfish-embedded-static-shell/pom.xml | 7 - appserver/featuresets/glassfish/pom.xml | 7 - appserver/featuresets/payara-ml/pom.xml | 6 - appserver/featuresets/payara/pom.xml | 9 +- appserver/packager/glassfish-cmp-l10n/pom.xml | 119 - .../src/main/resources/pkg_proto.py | 62 - appserver/packager/glassfish-cmp/pom.xml | 141 - .../src/main/resources/pkg_proto.py | 62 - .../src/main/resources/pkg_proto.py | 3 - .../src/main/resources/pkg_proto.py | 1 - .../src/main/resources/pkg_proto.py | 1 - appserver/packager/pom.xml | 2 - .../cmp-l10n/ejb-mapping-l10n/osgi.bundle | 41 - .../cmp-l10n/ejb-mapping-l10n/pom.xml | 102 - .../mapping/ejb/Bundle_de.properties | 131 - .../mapping/ejb/Bundle_es.properties | 131 - .../mapping/ejb/Bundle_fr.properties | 131 - .../mapping/ejb/Bundle_it.properties | 131 - .../mapping/ejb/Bundle_ja.properties | 131 - .../mapping/ejb/Bundle_ko.properties | 131 - .../mapping/ejb/Bundle_pt_BR.properties | 131 - .../mapping/ejb/Bundle_zh_CN.properties | 131 - .../mapping/ejb/Bundle_zh_TW.properties | 131 - .../cmp-l10n/enhancer-l10n/osgi.bundle | 41 - .../cmp-l10n/enhancer-l10n/pom.xml | 102 - .../persistence/enhancer/Bundle_de.properties | 128 - .../persistence/enhancer/Bundle_es.properties | 128 - .../persistence/enhancer/Bundle_fr.properties | 128 - .../persistence/enhancer/Bundle_it.properties | 128 - .../persistence/enhancer/Bundle_ja.properties | 128 - .../persistence/enhancer/Bundle_ko.properties | 128 - .../enhancer/Bundle_pt_BR.properties | 128 - .../enhancer/Bundle_zh_CN.properties | 128 - .../enhancer/Bundle_zh_TW.properties | 128 - .../generator-database-l10n/osgi.bundle | 41 - .../cmp-l10n/generator-database-l10n/pom.xml | 102 - .../generator/database/Bundle_de.properties | 86 - .../generator/database/Bundle_es.properties | 86 - .../generator/database/Bundle_fr.properties | 86 - .../generator/database/Bundle_it.properties | 86 - .../generator/database/Bundle_ja.properties | 86 - .../generator/database/Bundle_ko.properties | 86 - .../database/Bundle_pt_BR.properties | 86 - .../database/Bundle_zh_CN.properties | 86 - .../database/Bundle_zh_TW.properties | 86 - .../cmp-l10n/model-l10n/osgi.bundle | 41 - .../persistence/cmp-l10n/model-l10n/pom.xml | 102 - .../persistence/model/Bundle_de.properties | 443 -- .../persistence/model/Bundle_es.properties | 443 -- .../persistence/model/Bundle_fr.properties | 443 -- .../persistence/model/Bundle_it.properties | 443 -- .../persistence/model/Bundle_ja.properties | 443 -- .../persistence/model/Bundle_ko.properties | 443 -- .../persistence/model/Bundle_pt_BR.properties | 443 -- .../persistence/model/Bundle_zh_CN.properties | 443 -- .../persistence/model/Bundle_zh_TW.properties | 443 -- appserver/persistence/cmp-l10n/pom.xml | 74 - .../cmp-l10n/support-ejb-l10n/osgi.bundle | 41 - .../cmp-l10n/support-ejb-l10n/pom.xml | 102 - .../support/ejb/cmp/Bundle_de.properties | 110 - .../support/ejb/cmp/Bundle_es.properties | 110 - .../support/ejb/cmp/Bundle_fr.properties | 110 - .../support/ejb/cmp/Bundle_it.properties | 110 - .../support/ejb/cmp/Bundle_ja.properties | 110 - .../support/ejb/cmp/Bundle_ko.properties | 110 - .../support/ejb/cmp/Bundle_pt_BR.properties | 110 - .../support/ejb/cmp/Bundle_zh_CN.properties | 110 - .../support/ejb/cmp/Bundle_zh_TW.properties | 110 - .../support/ejb/codegen/Bundle_de.properties | 95 - .../support/ejb/codegen/Bundle_es.properties | 95 - .../support/ejb/codegen/Bundle_fr.properties | 95 - .../support/ejb/codegen/Bundle_it.properties | 95 - .../support/ejb/codegen/Bundle_ja.properties | 95 - .../support/ejb/codegen/Bundle_ko.properties | 95 - .../ejb/codegen/Bundle_pt_BR.properties | 95 - .../ejb/codegen/Bundle_zh_CN.properties | 95 - .../ejb/codegen/Bundle_zh_TW.properties | 95 - .../support/ejb/ejbc/Bundle_de.properties | 286 - .../support/ejb/ejbc/Bundle_es.properties | 286 - .../support/ejb/ejbc/Bundle_fr.properties | 286 - .../support/ejb/ejbc/Bundle_it.properties | 286 - .../support/ejb/ejbc/Bundle_ja.properties | 286 - .../support/ejb/ejbc/Bundle_ko.properties | 286 - .../support/ejb/ejbc/Bundle_pt_BR.properties | 286 - .../support/ejb/ejbc/Bundle_zh_CN.properties | 286 - .../support/ejb/ejbc/Bundle_zh_TW.properties | 286 - .../support/ejb/ejbqlc/Bundle_de.properties | 228 - .../support/ejb/ejbqlc/Bundle_es.properties | 228 - .../support/ejb/ejbqlc/Bundle_fr.properties | 228 - .../support/ejb/ejbqlc/Bundle_it.properties | 228 - .../support/ejb/ejbqlc/Bundle_ja.properties | 228 - .../support/ejb/ejbqlc/Bundle_ko.properties | 228 - .../ejb/ejbqlc/Bundle_pt_BR.properties | 228 - .../ejb/ejbqlc/Bundle_zh_CN.properties | 228 - .../ejb/ejbqlc/Bundle_zh_TW.properties | 228 - .../support/ejb/model/Bundle_de.properties | 300 -- .../support/ejb/model/Bundle_es.properties | 300 -- .../support/ejb/model/Bundle_fr.properties | 300 -- .../support/ejb/model/Bundle_it.properties | 300 -- .../support/ejb/model/Bundle_ja.properties | 300 -- .../support/ejb/model/Bundle_ko.properties | 300 -- .../support/ejb/model/Bundle_pt_BR.properties | 300 -- .../support/ejb/model/Bundle_zh_CN.properties | 300 -- .../support/ejb/model/Bundle_zh_TW.properties | 300 -- .../support-sqlstore-l10n/osgi.bundle | 41 - .../cmp-l10n/support-sqlstore-l10n/pom.xml | 102 - .../support/sqlstore/Bundle_de.properties | 643 --- .../support/sqlstore/Bundle_es.properties | 643 --- .../support/sqlstore/Bundle_fr.properties | 643 --- .../support/sqlstore/Bundle_it.properties | 643 --- .../support/sqlstore/Bundle_ja.properties | 643 --- .../support/sqlstore/Bundle_ko.properties | 643 --- .../support/sqlstore/Bundle_pt_BR.properties | 643 --- .../support/sqlstore/Bundle_zh_CN.properties | 643 --- .../support/sqlstore/Bundle_zh_TW.properties | 643 --- .../sqlstore/impl/Bundle_de.properties | 120 - .../sqlstore/impl/Bundle_es.properties | 120 - .../sqlstore/impl/Bundle_fr.properties | 120 - .../sqlstore/impl/Bundle_it.properties | 120 - .../sqlstore/impl/Bundle_ja.properties | 120 - .../sqlstore/impl/Bundle_ko.properties | 120 - .../sqlstore/impl/Bundle_pt_BR.properties | 120 - .../sqlstore/impl/Bundle_zh_CN.properties | 120 - .../sqlstore/impl/Bundle_zh_TW.properties | 120 - .../sqlstore/query/Bundle_de.properties | 98 - .../sqlstore/query/Bundle_es.properties | 98 - .../sqlstore/query/Bundle_fr.properties | 98 - .../sqlstore/query/Bundle_it.properties | 98 - .../sqlstore/query/Bundle_ja.properties | 98 - .../sqlstore/query/Bundle_ko.properties | 98 - .../sqlstore/query/Bundle_pt_BR.properties | 98 - .../sqlstore/query/Bundle_zh_CN.properties | 98 - .../sqlstore/query/Bundle_zh_TW.properties | 98 - .../sqlstore/query/jqlc/Bundle_de.properties | 236 - .../sqlstore/query/jqlc/Bundle_es.properties | 236 - .../sqlstore/query/jqlc/Bundle_fr.properties | 236 - .../sqlstore/query/jqlc/Bundle_it.properties | 236 - .../sqlstore/query/jqlc/Bundle_ja.properties | 236 - .../sqlstore/query/jqlc/Bundle_ko.properties | 236 - .../query/jqlc/Bundle_pt_BR.properties | 236 - .../query/jqlc/Bundle_zh_CN.properties | 236 - .../query/jqlc/Bundle_zh_TW.properties | 236 - .../query/util/scope/Bundle_de.properties | 53 - .../query/util/scope/Bundle_es.properties | 53 - .../query/util/scope/Bundle_fr.properties | 53 - .../query/util/scope/Bundle_it.properties | 53 - .../query/util/scope/Bundle_ja.properties | 53 - .../query/util/scope/Bundle_ko.properties | 53 - .../query/util/scope/Bundle_pt_BR.properties | 53 - .../query/util/scope/Bundle_zh_CN.properties | 53 - .../query/util/scope/Bundle_zh_TW.properties | 53 - .../cmp-l10n/utility-l10n/osgi.bundle | 41 - .../persistence/cmp-l10n/utility-l10n/pom.xml | 102 - .../persistence/utility/Bundle_de.properties | 76 - .../persistence/utility/Bundle_es.properties | 76 - .../persistence/utility/Bundle_fr.properties | 76 - .../persistence/utility/Bundle_it.properties | 76 - .../persistence/utility/Bundle_ja.properties | 76 - .../persistence/utility/Bundle_ko.properties | 76 - .../utility/Bundle_pt_BR.properties | 76 - .../utility/Bundle_zh_CN.properties | 76 - .../utility/Bundle_zh_TW.properties | 76 - .../utility/generator/io/Bundle_de.properties | 47 - .../utility/generator/io/Bundle_es.properties | 47 - .../utility/generator/io/Bundle_fr.properties | 47 - .../utility/generator/io/Bundle_it.properties | 47 - .../utility/generator/io/Bundle_ja.properties | 47 - .../utility/generator/io/Bundle_ko.properties | 47 - .../generator/io/Bundle_pt_BR.properties | 47 - .../generator/io/Bundle_zh_CN.properties | 47 - .../generator/io/Bundle_zh_TW.properties | 47 - .../utility/logging/Bundle_de.properties | 95 - .../utility/logging/Bundle_es.properties | 95 - .../utility/logging/Bundle_fr.properties | 95 - .../utility/logging/Bundle_it.properties | 95 - .../utility/logging/Bundle_ja.properties | 95 - .../utility/logging/Bundle_ko.properties | 95 - .../utility/logging/Bundle_pt_BR.properties | 95 - .../utility/logging/Bundle_zh_CN.properties | 95 - .../utility/logging/Bundle_zh_TW.properties | 95 - appserver/persistence/cmp/cmp-all/pom.xml | 108 - appserver/persistence/cmp/cmp-scripts/pom.xml | 89 - .../manpages/glassfish/bin/capture-schema.1m | 80 - .../resources/glassfish/bin/.gitattributes | 2 - .../resources/glassfish/bin/capture-schema | 47 - .../glassfish/bin/capture-schema.bat | 48 - .../persistence/cmp/ejb-mapping/osgi.bundle | 43 - appserver/persistence/cmp/ejb-mapping/pom.xml | 99 - .../mapping/ejb/AbstractNameMapper.java | 353 -- .../persistence/mapping/ejb/Bundle.properties | 141 - .../mapping/ejb/CaptureSchema.java | 248 - .../mapping/ejb/ConversionException.java | 68 - .../mapping/ejb/ConversionHelper.java | 216 - .../mapping/ejb/EJBInfoHelper.java | 142 - .../mapping/ejb/HasFetchedWith.java | 63 - .../ejb/LogHelperMappingConversion.java | 76 - .../persistence/mapping/ejb/MappingFile.java | 1908 ------- .../mapping/ejb/MappingGenerator.java | 653 --- .../mapping/ejb/SunCmpMappingsUtils.java | 199 - .../CheckVersionOfAccessedInstances.java | 301 -- .../mapping/ejb/beans/CmpFieldMapping.java | 391 -- .../mapping/ejb/beans/CmrFieldMapping.java | 380 -- .../mapping/ejb/beans/ColumnPair.java | 301 -- .../mapping/ejb/beans/Consistency.java | 629 --- .../mapping/ejb/beans/EntityMapping.java | 553 -- .../mapping/ejb/beans/FetchedWith.java | 417 -- .../persistence/mapping/ejb/beans/README.txt | 62 - .../mapping/ejb/beans/SecondaryTable.java | 343 -- .../mapping/ejb/beans/SunCmpMapping.java | 343 -- .../mapping/ejb/beans/SunCmpMappings.java | 626 --- .../mapping/ejb/sun-cmp-mapping_1_2.dtd | 173 - .../mapping/ejb/sun-cmp-mapping_1_2.mdd | 280 - .../persistence/cmp/enhancer/osgi.bundle | 54 - appserver/persistence/cmp/enhancer/pom.xml | 86 - .../persistence/enhancer/Bundle.properties | 127 - .../enhancer/ByteCodeEnhancer.java | 95 - .../enhancer/ByteCodeEnhancerHelper.java | 275 - .../enhancer/ByteCodeEnhancerTimer.java | 92 - .../enhancer/EnhancerFatalError.java | 94 - .../enhancer/EnhancerUserException.java | 94 - .../persistence/enhancer/FilterEnhancer.java | 375 -- .../enhancer/LogHelperEnhancer.java | 72 - .../jdo/api/persistence/enhancer/Main.java | 1145 ---- .../enhancer/OutputStreamWrapper.java | 151 - .../enhancer/PersistenceLauncher.java | 230 - .../persistence/enhancer/URLClassPath.java | 144 - .../classfile/AnnotatedClassAttribute.java | 156 - .../classfile/AnnotatedMethodAttribute.java | 164 - .../enhancer/classfile/AttributeVector.java | 183 - .../enhancer/classfile/ClassAttribute.java | 161 - .../enhancer/classfile/ClassField.java | 165 - .../enhancer/classfile/ClassFile.java | 628 --- .../enhancer/classfile/ClassMember.java | 125 - .../enhancer/classfile/ClassMethod.java | 207 - .../enhancer/classfile/ClassPrint.java | 57 - .../enhancer/classfile/CodeAttribute.java | 395 -- .../enhancer/classfile/CodeEnv.java | 80 - .../enhancer/classfile/ConstBasic.java | 93 - .../classfile/ConstBasicMemberRef.java | 113 - .../enhancer/classfile/ConstClass.java | 122 - .../enhancer/classfile/ConstDouble.java | 106 - .../enhancer/classfile/ConstFieldRef.java | 79 - .../enhancer/classfile/ConstFloat.java | 103 - .../enhancer/classfile/ConstInteger.java | 102 - .../classfile/ConstInterfaceMethodRef.java | 86 - .../enhancer/classfile/ConstLong.java | 103 - .../enhancer/classfile/ConstMethodRef.java | 85 - .../enhancer/classfile/ConstNameAndType.java | 133 - .../enhancer/classfile/ConstString.java | 118 - .../enhancer/classfile/ConstUnicode.java | 108 - .../enhancer/classfile/ConstUtf8.java | 94 - .../enhancer/classfile/ConstValue.java | 60 - .../enhancer/classfile/ConstantPool.java | 467 -- .../classfile/ConstantValueAttribute.java | 95 - .../enhancer/classfile/Descriptor.java | 569 -- .../enhancer/classfile/ExceptionRange.java | 137 - .../enhancer/classfile/ExceptionTable.java | 102 - .../classfile/ExceptionsAttribute.java | 119 - .../enhancer/classfile/GenericAttribute.java | 88 - .../persistence/enhancer/classfile/Insn.java | 636 --- .../enhancer/classfile/InsnConstOp.java | 314 -- .../enhancer/classfile/InsnError.java | 52 - .../enhancer/classfile/InsnIInc.java | 144 - .../enhancer/classfile/InsnIntOp.java | 203 - .../classfile/InsnInterfaceInvoke.java | 141 - .../enhancer/classfile/InsnLookupSwitch.java | 189 - .../classfile/InsnMultiDimArrayNew.java | 162 - .../enhancer/classfile/InsnReadEnv.java | 140 - .../enhancer/classfile/InsnSingle.java | 273 - .../enhancer/classfile/InsnTableSwitch.java | 185 - .../enhancer/classfile/InsnTarget.java | 110 - .../enhancer/classfile/InsnTargetOp.java | 157 - .../enhancer/classfile/InsnUtils.java | 329 -- .../classfile/LineNumberTableAttribute.java | 108 - .../enhancer/classfile/LocalVariable.java | 115 - .../LocalVariableTableAttribute.java | 114 - .../classfile/SourceFileAttribute.java | 103 - .../classfile/SyntheticAttribute.java | 85 - .../enhancer/classfile/VMConstants.java | 306 -- .../persistence/enhancer/classfile/VMOp.java | 569 -- .../enhancer/generator/ImplHelper.java | 547 -- .../persistence/enhancer/generator/Main.java | 831 --- .../enhancer/impl/AnnotationConstants.java | 166 - .../enhancer/impl/ClassAction.java | 1175 ----- .../enhancer/impl/ClassControl.java | 987 ---- .../enhancer/impl/EnhancerControl.java | 463 -- .../enhancer/impl/Environment.java | 888 ---- .../enhancer/impl/FieldAction.java | 663 --- .../enhancer/impl/MethodAction.java | 199 - .../enhancer/impl/MethodAnnotater.java | 2848 ---------- .../enhancer/impl/MethodBuilder.java | 2450 --------- .../enhancer/meta/ExtendedJDOMetaData.java | 361 -- .../enhancer/meta/JDOMetaData.java | 273 - .../enhancer/meta/JDOMetaDataFatalError.java | 95 - .../enhancer/meta/JDOMetaDataModelImpl.java | 310 -- .../enhancer/meta/JDOMetaDataProperties.java | 1689 ------ .../meta/JDOMetaDataPropertyImpl.java | 693 --- .../enhancer/meta/JDOMetaDataTimer.java | 224 - .../meta/JDOMetaDataUserException.java | 95 - .../persistence/enhancer/util/Assertion.java | 67 - .../api/persistence/enhancer/util/CRC32.java | 132 - .../enhancer/util/ClassFileSource.java | 420 -- .../persistence/enhancer/util/ClassPath.java | 283 - .../enhancer/util/ClassPathElement.java | 392 -- .../persistence/enhancer/util/FilePath.java | 168 - .../enhancer/util/InternalError.java | 55 - .../persistence/enhancer/util/Support.java | 132 - .../api/persistence/enhancer/util/Timer.java | 203 - .../enhancer/util/UserException.java | 93 - .../enhancer/util/ZipFileRegistry.java | 87 - .../cmp/generator-database/osgi.bundle | 43 - .../cmp/generator-database/pom.xml | 95 - .../generator/database/Bundle.properties | 88 - .../generator/database/DB2.properties | 98 - .../generator/database/DBElementFactory.java | 283 - .../generator/database/DDLGenerator.java | 571 -- .../database/DDLTemplateFormatter.java | 166 - .../generator/database/DERBY.properties | 92 - .../database/DatabaseGenerationConstants.java | 83 - .../generator/database/DatabaseGenerator.java | 948 ---- .../database/DatabaseOutputStream.java | 141 - .../generator/database/INFORMIX.properties | 133 - .../generator/database/JDBCInfo.java | 378 -- .../database/LogHelperDatabaseGenerator.java | 76 - .../generator/database/MSSQL.properties | 74 - .../generator/database/MYSQL.properties | 84 - .../generator/database/MappingPolicy.java | 1578 ------ .../generator/database/ORACLE.properties | 69 - .../generator/database/POINTBASE.properties | 83 - .../generator/database/POSTGRES.properties | 68 - .../generator/database/SQL92.properties | 254 - .../generator/database/SYBASE.properties | 97 - .../generator/database/SYMFOWARE.properties | 117 - .../persistence/cmp/internal-api/osgi.bundle | 42 - .../persistence/cmp/internal-api/pom.xml | 79 - .../support/ConnectionFactory.java | 203 - .../api/persistence/support/FieldMapping.java | 63 - .../support/InstanceCallbacks.java | 103 - .../support/JDOCanRetryException.java | 99 - .../support/JDODataStoreException.java | 99 - .../JDODuplicateObjectIdException.java | 102 - .../api/persistence/support/JDOException.java | 226 - .../support/JDOFatalDataStoreException.java | 80 - .../support/JDOFatalException.java | 80 - .../support/JDOFatalInternalException.java | 80 - .../support/JDOFatalUserException.java | 81 - .../api/persistence/support/JDOHelper.java | 326 -- .../support/JDOObjectNotFoundException.java | 103 - .../support/JDOQueryException.java | 83 - .../JDOUnsupportedOptionException.java | 80 - .../persistence/support/JDOUserException.java | 100 - .../support/PersistenceCapable.java | 191 - .../support/PersistenceManager.java | 415 -- .../support/PersistenceManagerFactory.java | 433 -- .../jdo/api/persistence/support/Query.java | 232 - .../support/SpecialDBOperation.java | 84 - .../support/SynchronizationManager.java | 196 - .../api/persistence/support/Transaction.java | 182 - appserver/persistence/cmp/model/osgi.bundle | 46 - appserver/persistence/cmp/model/pom.xml | 99 - .../api/persistence/model/Bundle.properties | 576 -- .../model/ClassLoaderStrategy.java | 123 - .../api/persistence/model/EnhancerModel.java | 379 -- .../sun/jdo/api/persistence/model/Model.java | 1741 ------- .../api/persistence/model/ModelException.java | 72 - .../persistence/model/ModelVetoException.java | 181 - .../api/persistence/model/RuntimeModel.java | 867 --- .../model/jdo/ConcurrencyGroupElement.java | 85 - .../model/jdo/FieldElementHolder.java | 116 - .../model/jdo/FieldGroupElement.java | 193 - .../model/jdo/PersistenceClassElement.java | 572 -- .../model/jdo/PersistenceElement.java | 286 - .../jdo/PersistenceElementProperties.java | 138 - .../model/jdo/PersistenceFieldElement.java | 332 -- .../model/jdo/PersistenceMemberElement.java | 143 - .../model/jdo/RelationshipElement.java | 519 -- .../jdo/impl/ConcurrencyGroupElementImpl.java | 74 - .../model/jdo/impl/FieldGroupElementImpl.java | 128 - .../jdo/impl/PersistenceClassElementImpl.java | 346 -- .../impl/PersistenceElementCollection.java | 255 - .../jdo/impl/PersistenceElementImpl.java | 203 - .../jdo/impl/PersistenceFieldElementImpl.java | 253 - .../impl/PersistenceMemberElementImpl.java | 126 - .../jdo/impl/RelationshipElementImpl.java | 382 -- .../model/mapping/MappingClassElement.java | 301 -- .../model/mapping/MappingElement.java | 91 - .../mapping/MappingElementProperties.java | 142 - .../model/mapping/MappingFieldElement.java | 154 - .../model/mapping/MappingMemberElement.java | 62 - .../mapping/MappingReferenceKeyElement.java | 152 - .../mapping/MappingRelationshipElement.java | 107 - .../model/mapping/MappingTableElement.java | 156 - .../mapping/impl/MappingClassElementImpl.java | 1139 ---- .../mapping/impl/MappingElementImpl.java | 267 - .../mapping/impl/MappingFieldElementImpl.java | 523 -- .../impl/MappingMemberElementImpl.java | 186 - .../impl/MappingReferenceKeyElementImpl.java | 568 -- .../impl/MappingRelationshipElementImpl.java | 383 -- .../mapping/impl/MappingTableElementImpl.java | 463 -- .../persistence/model/util/DumpMapping.java | 368 -- .../model/util/LogHelperModel.java | 76 - .../model/util/ModelValidationException.java | 179 - .../model/util/ModelValidator.java | 2898 ----------- appserver/persistence/cmp/pom.xml | 68 - .../persistence/cmp/support-ejb/exclude.xml | 71 - .../persistence/cmp/support-ejb/osgi.bundle | 49 - appserver/persistence/cmp/support-ejb/pom.xml | 141 - .../cmp/support-ejb/src/main/antlr/EJBQL.g | 818 --- .../src/main/antlr/JDOQLCodeGeneration.g | 1017 ---- .../cmp/support-ejb/src/main/antlr/Semantic.g | 1774 ------- .../support/ejb/cmp/Bundle.properties | 109 - .../support/ejb/cmp/CMPBeanHelper.java | 416 -- .../support/ejb/cmp/EJBHashSet.java | 409 -- .../support/ejb/cmp/JDOEJB11HelperImpl.java | 519 -- .../support/ejb/cmp/JDOEJB20HelperImpl.java | 254 - .../ejb/cmp/LogHelperEntityFinder.java | 71 - .../ejb/cmp/LogHelperEntityInternal.java | 71 - .../ejb/cmp/LogHelperEntityLifecycle.java | 71 - .../support/ejb/codegen/Bundle.properties | 94 - .../support/ejb/codegen/CMPDeployerImpl.java | 402 -- .../support/ejb/codegen/CMPGenerator.java | 119 - .../ejb/codegen/GeneratorException.java | 71 - .../ejb/codegen/LogHelperCmpCompiler.java | 72 - .../ejb/ejbc/AbstractMethodHelper.java | 290 -- .../support/ejb/ejbc/Bundle.properties | 285 - .../ejb/ejbc/CMP11TemplateFormatter.java | 190 - .../ejb/ejbc/CMP11Templates.properties | 428 -- .../ejb/ejbc/CMP20TemplateFormatter.java | 278 - .../ejb/ejbc/CMP20Templates.properties | 625 --- .../support/ejb/ejbc/CMPProcessor.java | 154 - .../ejb/ejbc/CMPROTemplateFormatter.java | 165 - .../ejb/ejbc/CMPROTemplates.properties | 198 - .../ejb/ejbc/CMPTemplateFormatter.java | 446 -- .../support/ejb/ejbc/CMPTemplates.properties | 615 --- .../ejb/ejbc/DeploymentEventListenerImpl.java | 255 - .../support/ejb/ejbc/EJBBundleInfoHelper.java | 267 - .../support/ejb/ejbc/EjbConversionHelper.java | 416 -- .../support/ejb/ejbc/JDOCodeGenerator.java | 719 --- .../ejb/ejbc/JDOCodeGeneratorHelper.java | 194 - .../ejb/ejbc/JDOConcreteBean11Generator.java | 454 -- .../ejb/ejbc/JDOConcreteBean20Generator.java | 1054 ---- .../ejb/ejbc/JDOConcreteBeanGenerator.java | 1718 ------ .../ejb/ejbc/LogHelperEJBCompiler.java | 72 - .../support/ejb/ejbc/MappingGenerator.java | 847 --- .../support/ejb/ejbc/MethodHelper.java | 214 - .../support/ejb/ejbc/NameMapper.java | 460 -- .../ejbc/PersistenceManagerServiceImpl.java | 102 - .../support/ejb/ejbqlc/Bundle.properties | 255 - .../support/ejb/ejbqlc/EJBQLAST.java | 250 - .../support/ejb/ejbqlc/EJBQLASTFactory.java | 113 - .../support/ejb/ejbqlc/EJBQLC.java | 227 - .../support/ejb/ejbqlc/EJBQLException.java | 121 - .../support/ejb/ejbqlc/ErrorMsg.java | 193 - .../ejb/ejbqlc/IdentificationVariable.java | 88 - .../support/ejb/ejbqlc/JDOQLElements.java | 305 -- .../ejb/ejbqlc/LogHelperQueryCompilerEJB.java | 72 - .../support/ejb/ejbqlc/ParameterSupport.java | 209 - .../support/ejb/ejbqlc/SymbolTable.java | 108 - .../support/ejb/ejbqlc/TypeSupport.java | 655 --- .../enhancer/meta/EJBMetaDataModelImpl.java | 240 - .../support/ejb/model/Bundle.properties | 438 -- .../ejb/model/DeploymentDescriptorModel.java | 935 ---- .../support/ejb/model/util/NameMapper.java | 234 - .../ejb/util/CaptureSchemaWrapper.java | 66 - .../cmp/support-sqlstore/exclude.xml | 74 - .../cmp/support-sqlstore/osgi.bundle | 45 - .../persistence/cmp/support-sqlstore/pom.xml | 151 - .../src/main/antlr/CodeGeneration.g | 2093 -------- .../cmp/support-sqlstore/src/main/antlr/JQL.g | 871 ---- .../src/main/antlr/Optimizer.g | 1706 ------ .../src/main/antlr/Semantic.g | 2072 -------- .../support/sqlstore/ActionDesc.java | 365 -- .../support/sqlstore/Bundle.properties | 643 --- .../support/sqlstore/ConfigCache.java | 74 - .../support/sqlstore/ExtentCollection.java | 244 - .../sqlstore/LogHelperPersistenceManager.java | 71 - .../support/sqlstore/LogHelperSQLStore.java | 79 - .../sqlstore/LogHelperStateManager.java | 71 - .../sqlstore/LogHelperTransaction.java | 72 - .../support/sqlstore/PersistenceCapable.java | 129 - .../support/sqlstore/PersistenceConfig.java | 66 - .../support/sqlstore/PersistenceManager.java | 292 -- .../sqlstore/PersistenceManagerFactory.java | 62 - .../support/sqlstore/PersistenceStore.java | 117 - .../support/sqlstore/PersistenceWrapper.java | 99 - .../support/sqlstore/RetrieveDesc.java | 157 - .../support/sqlstore/RuntimeVersion.java | 159 - .../spi/persistence/support/sqlstore/SCO.java | 90 - .../support/sqlstore/SCOCollection.java | 142 - .../persistence/support/sqlstore/SCODate.java | 60 - .../support/sqlstore/SQLStateManager.java | 4630 ----------------- .../support/sqlstore/SQLStoreManager.java | 725 --- .../support/sqlstore/StateManager.java | 483 -- .../support/sqlstore/TestStateManager.java | 68 - .../support/sqlstore/Transaction.java | 55 - .../support/sqlstore/UpdateObjectDesc.java | 60 - .../support/sqlstore/ValueFetcher.java | 60 - .../sqlstore/VersionConsistencyCache.java | 88 - .../sqlstore/connection/ConnectionImpl.java | 912 ---- .../connection/ConnectionManager.java | 2323 --------- .../database/BaseSpecialDBOperation.java | 78 - .../support/sqlstore/database/DB2.properties | 67 - .../sqlstore/database/DBVendorType.java | 1151 ---- .../sqlstore/database/DERBY.properties | 60 - .../support/sqlstore/database/H2.properties | 43 - .../sqlstore/database/INFORMIX.properties | 51 - .../sqlstore/database/INGRES.properties | 50 - .../sqlstore/database/MSSQL.properties | 65 - .../sqlstore/database/MYSQL.properties | 55 - .../sqlstore/database/ORACLE.properties | 67 - .../sqlstore/database/POINTBASE.properties | 49 - .../sqlstore/database/POSTGRES.properties | 52 - .../sqlstore/database/SQL92.properties | 72 - .../sqlstore/database/SYBASE.properties | 55 - .../sqlstore/database/SYMFOWARE.properties | 49 - .../oracle/OracleSpecialDBOperation.java | 406 -- .../ApplicationLifeCycleEventListener.java | 54 - .../support/sqlstore/ejb/CMPHelper.java | 364 -- .../support/sqlstore/ejb/ContainerHelper.java | 248 - .../sqlstore/ejb/DeploymentHelper.java | 165 - .../support/sqlstore/ejb/EJBHelper.java | 477 -- .../support/sqlstore/ejb/JDOEJB11Helper.java | 211 - .../support/sqlstore/ejb/JDOEJB20Helper.java | 137 - .../sqlstore/ejb/LoggerFactoryiAS.java | 105 - .../sqlstore/ejb/SunContainerHelper.java | 458 -- .../sqlstore/ejb/SunTransactionHelper.java | 295 -- .../sqlstore/ejb/TransactionHelper.java | 250 - .../sqlstore/ejb/TransactionHelperImpl.java | 292 -- .../support/sqlstore/impl/Bundle.properties | 119 - .../sqlstore/impl/ConnectionFactoryImpl.java | 727 --- .../impl/PersistenceManagerFactoryImpl.java | 1038 ---- .../sqlstore/impl/PersistenceManagerImpl.java | 2701 ---------- .../impl/PersistenceManagerWrapper.java | 643 --- .../impl/SQLPersistenceManagerFactory.java | 980 ---- .../sqlstore/impl/TransactionImpl.java | 1584 ------ .../impl/VersionConsistencyCacheImpl.java | 691 --- .../support/sqlstore/model/ClassDesc.java | 1542 ------ .../sqlstore/model/ConfigCacheImpl.java | 224 - .../support/sqlstore/model/FieldDesc.java | 847 --- .../sqlstore/model/ForeignFieldDesc.java | 827 --- .../support/sqlstore/model/KeyDesc.java | 107 - .../sqlstore/model/LocalFieldDesc.java | 498 -- .../sqlstore/model/ReferenceKeyDesc.java | 83 - .../support/sqlstore/model/TableDesc.java | 195 - .../support/sqlstore/query/Bundle.properties | 97 - .../sqlstore/query/LogHelperQueryExecute.java | 72 - .../support/sqlstore/query/QueryImpl.java | 798 --- .../sqlstore/query/jqlc/Bundle.properties | 235 - .../support/sqlstore/query/jqlc/ErrorMsg.java | 188 - .../jqlc/JDOQLParameterDeclarationParser.java | 235 - .../support/sqlstore/query/jqlc/JQLAST.java | 336 -- .../support/sqlstore/query/jqlc/JQLC.java | 446 -- .../query/jqlc/LogHelperQueryCompilerJDO.java | 72 - .../sqlstore/query/jqlc/ParameterTable.java | 462 -- .../query/jqlc/QueryValueFetcher.java | 94 - .../sqlstore/query/jqlc/VariableTable.java | 327 -- .../query/util/scope/Bundle.properties | 52 - .../sqlstore/query/util/scope/Definition.java | 117 - .../sqlstore/query/util/scope/Field.java | 107 - .../sqlstore/query/util/scope/Nesting.java | 109 - .../sqlstore/query/util/scope/Parameter.java | 93 - .../query/util/scope/SymbolTable.java | 190 - .../sqlstore/query/util/scope/TypeName.java | 109 - .../sqlstore/query/util/scope/Variable.java | 93 - .../sqlstore/query/util/type/BooleanType.java | 67 - .../sqlstore/query/util/type/ClassType.java | 251 - .../sqlstore/query/util/type/DateType.java | 65 - .../sqlstore/query/util/type/ErrorType.java | 81 - .../sqlstore/query/util/type/FieldInfo.java | 211 - .../query/util/type/FloatingPointType.java | 105 - .../query/util/type/IntegralType.java | 114 - .../sqlstore/query/util/type/MathType.java | 159 - .../sqlstore/query/util/type/NullType.java | 80 - .../sqlstore/query/util/type/NumberType.java | 72 - .../sqlstore/query/util/type/NumericType.java | 91 - .../util/type/NumericWrapperClassType.java | 96 - .../query/util/type/PrimitiveType.java | 100 - .../sqlstore/query/util/type/StringType.java | 76 - .../sqlstore/query/util/type/Type.java | 162 - .../sqlstore/query/util/type/TypeTable.java | 516 -- .../query/util/type/WrapperClassType.java | 81 - .../support/sqlstore/sco/ArrayList.java | 735 --- .../support/sqlstore/sco/Date.java | 333 -- .../support/sqlstore/sco/HashSet.java | 970 ---- .../support/sqlstore/sco/SqlDate.java | 288 - .../support/sqlstore/sco/SqlTime.java | 287 - .../support/sqlstore/sco/SqlTimestamp.java | 366 -- .../support/sqlstore/sco/Vector.java | 892 ---- .../support/sqlstore/sql/ResultDesc.java | 807 --- .../support/sqlstore/sql/ResultFieldDesc.java | 87 - .../sqlstore/sql/RetrieveDescImpl.java | 864 --- .../sqlstore/sql/UpdateJoinTableDesc.java | 84 - .../sqlstore/sql/UpdateObjectDescImpl.java | 471 -- .../sqlstore/sql/concurrency/Concurrency.java | 90 - .../concurrency/ConcurrencyCheckDirty.java | 168 - .../concurrency/ConcurrencyDBExplicit.java | 64 - .../sql/concurrency/ConcurrencyDBNative.java | 101 - .../sql/concurrency/ConcurrencyOptVerify.java | 131 - .../sqlstore/sql/constraint/Constraint.java | 314 -- .../sql/constraint/ConstraintConstant.java | 61 - .../sql/constraint/ConstraintField.java | 57 - .../sql/constraint/ConstraintFieldDesc.java | 95 - .../sql/constraint/ConstraintFieldName.java | 101 - .../ConstraintFieldNameSubQuery.java | 69 - .../ConstraintForeignFieldName.java | 66 - .../sql/constraint/ConstraintJoin.java | 65 - .../sql/constraint/ConstraintNode.java | 63 - .../sql/constraint/ConstraintOperation.java | 85 - .../sql/constraint/ConstraintOrder.java | 57 - .../sql/constraint/ConstraintParamIndex.java | 89 - .../sql/constraint/ConstraintSubquery.java | 59 - .../sql/constraint/ConstraintValue.java | 79 - .../sqlstore/sql/generator/ColumnRef.java | 163 - .../generator/CorrelatedExistSelectPlan.java | 114 - .../sql/generator/CorrelatedInSelectPlan.java | 91 - .../sql/generator/CorrelatedSelectPlan.java | 128 - .../sqlstore/sql/generator/DBStatement.java | 322 -- .../sqlstore/sql/generator/InputDesc.java | 64 - .../sql/generator/InputParamValue.java | 71 - .../sqlstore/sql/generator/InputValue.java | 76 - .../sqlstore/sql/generator/QueryPlan.java | 280 - .../sqlstore/sql/generator/QueryTable.java | 89 - .../sql/generator/SelectOneStatement.java | 66 - .../sql/generator/SelectQueryPlan.java | 1583 ------ .../sql/generator/SelectStatement.java | 883 ---- .../sqlstore/sql/generator/Statement.java | 1305 ----- .../sqlstore/sql/generator/TableIndex.java | 70 - .../sql/generator/UpdateQueryPlan.java | 408 -- .../sql/generator/UpdateStatement.java | 456 -- .../sql/generator/VerificationSelectPlan.java | 96 - .../sqlstore/state/AutoPersistentNew.java | 124 - .../state/AutoPersistentNewDeleted.java | 127 - .../state/AutoPersistentNewFlushed.java | 78 - .../AutoPersistentNewFlushedDeleted.java | 72 - .../AutoPersistentNewFlushedPending.java | 81 - .../state/AutoPersistentNewPending.java | 83 - .../support/sqlstore/state/Hollow.java | 130 - .../sqlstore/state/LifeCycleState.java | 451 -- .../sqlstore/state/PersistentClean.java | 119 - .../sqlstore/state/PersistentDeleted.java | 131 - .../state/PersistentDeletedFlushed.java | 65 - .../sqlstore/state/PersistentDirty.java | 108 - .../support/sqlstore/state/PersistentNew.java | 121 - .../sqlstore/state/PersistentNewDeleted.java | 123 - .../sqlstore/state/PersistentNewFlushed.java | 71 - .../state/PersistentNewFlushedDeleted.java | 68 - .../state/PersistentNonTransactional.java | 120 - .../support/sqlstore/sys.properties | 47 - .../sqlstore/utility/AugmentationTest.java | 754 --- .../sqlstore/utility/NumericConverter.java | 118 - .../utility/NumericConverterFactory.java | 74 - .../utility/NumericConverterImpl.java | 137 - .../sqlstore/utility/StringScanner.java | 753 --- appserver/persistence/cmp/utility/osgi.bundle | 45 - appserver/persistence/cmp/utility/pom.xml | 90 - .../utility/BucketizedHashtable.java | 352 -- .../spi/persistence/utility/Bundle.properties | 76 - .../persistence/utility/DoubleLinkedList.java | 328 -- .../utility/FieldTypeEnumeration.java | 88 - .../persistence/utility/JavaTypeHelper.java | 210 - .../jdo/spi/persistence/utility/Linkable.java | 62 - .../persistence/utility/LogHelperUtility.java | 70 - .../spi/persistence/utility/MergedBundle.java | 115 - .../persistence/utility/NullSemaphore.java | 97 - .../persistence/utility/ParameterInfo.java | 109 - .../spi/persistence/utility/Semaphore.java | 57 - .../persistence/utility/SemaphoreImpl.java | 152 - .../spi/persistence/utility/WeakHashSet.java | 214 - .../persistence/utility/WeakValueHashMap.java | 467 -- .../utility/generator/JavaClassWriter.java | 181 - .../generator/JavaClassWriterHelper.java | 431 -- .../utility/generator/JavaFileWriter.java | 106 - .../utility/generator/io/Bundle.properties | 46 - .../utility/generator/io/FormattedWriter.java | 183 - .../generator/io/IOJavaClassWriter.java | 417 -- .../generator/io/IOJavaFileWriter.java | 196 - .../utility/logging/AbstractLogger.java | 921 ---- .../logging/AbstractLoggerFactory.java | 121 - .../utility/logging/Bundle.properties | 94 - .../utility/logging/LogHelper.java | 112 - .../persistence/utility/logging/Logger.java | 583 --- .../utility/logging/LoggerFactory.java | 65 - .../utility/logging/LoggerFactoryJDK13.java | 70 - .../utility/logging/LoggerFactoryJDK14.java | 255 - .../utility/logging/LoggerJDK13.java | 114 - .../utility/logging/LoggerJDK14.java | 501 -- appserver/persistence/pom.xml | 2 - 691 files changed, 1 insertion(+), 186079 deletions(-) delete mode 100644 appserver/packager/glassfish-cmp-l10n/pom.xml delete mode 100644 appserver/packager/glassfish-cmp-l10n/src/main/resources/pkg_proto.py delete mode 100644 appserver/packager/glassfish-cmp/pom.xml delete mode 100644 appserver/packager/glassfish-cmp/src/main/resources/pkg_proto.py delete mode 100644 appserver/persistence/cmp-l10n/ejb-mapping-l10n/osgi.bundle delete mode 100755 appserver/persistence/cmp-l10n/ejb-mapping-l10n/pom.xml delete mode 100644 appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/enhancer-l10n/osgi.bundle delete mode 100755 appserver/persistence/cmp-l10n/enhancer-l10n/pom.xml delete mode 100644 appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/generator-database-l10n/osgi.bundle delete mode 100755 appserver/persistence/cmp-l10n/generator-database-l10n/pom.xml delete mode 100644 appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/model-l10n/osgi.bundle delete mode 100755 appserver/persistence/cmp-l10n/model-l10n/pom.xml delete mode 100644 appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/pom.xml delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/osgi.bundle delete mode 100755 appserver/persistence/cmp-l10n/support-ejb-l10n/pom.xml delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/osgi.bundle delete mode 100755 appserver/persistence/cmp-l10n/support-sqlstore-l10n/pom.xml delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/osgi.bundle delete mode 100755 appserver/persistence/cmp-l10n/utility-l10n/pom.xml delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_zh_TW.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_de.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_es.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_fr.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_it.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_ja.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_ko.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_pt_BR.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_zh_CN.properties delete mode 100644 appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_zh_TW.properties delete mode 100755 appserver/persistence/cmp/cmp-all/pom.xml delete mode 100755 appserver/persistence/cmp/cmp-scripts/pom.xml delete mode 100644 appserver/persistence/cmp/cmp-scripts/src/main/manpages/glassfish/bin/capture-schema.1m delete mode 100644 appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/.gitattributes delete mode 100755 appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/capture-schema delete mode 100644 appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/capture-schema.bat delete mode 100644 appserver/persistence/cmp/ejb-mapping/osgi.bundle delete mode 100644 appserver/persistence/cmp/ejb-mapping/pom.xml delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/AbstractNameMapper.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/Bundle.properties delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/CaptureSchema.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/ConversionException.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/ConversionHelper.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/EJBInfoHelper.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/HasFetchedWith.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/LogHelperMappingConversion.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/MappingFile.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/MappingGenerator.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/SunCmpMappingsUtils.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CheckVersionOfAccessedInstances.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CmpFieldMapping.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CmrFieldMapping.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/ColumnPair.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/Consistency.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/EntityMapping.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/FetchedWith.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/README.txt delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SecondaryTable.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SunCmpMapping.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SunCmpMappings.java delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/sun-cmp-mapping_1_2.dtd delete mode 100644 appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/sun-cmp-mapping_1_2.mdd delete mode 100644 appserver/persistence/cmp/enhancer/osgi.bundle delete mode 100644 appserver/persistence/cmp/enhancer/pom.xml delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/Bundle.properties delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancer.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancerHelper.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancerTimer.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/EnhancerFatalError.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/EnhancerUserException.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/FilterEnhancer.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/LogHelperEnhancer.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/Main.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/OutputStreamWrapper.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/PersistenceLauncher.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/URLClassPath.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/AnnotatedClassAttribute.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/AnnotatedMethodAttribute.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/AttributeVector.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassAttribute.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassField.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassFile.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassMember.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassMethod.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassPrint.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/CodeAttribute.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/CodeEnv.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstBasic.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstBasicMemberRef.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstClass.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstDouble.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstFieldRef.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstFloat.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstInteger.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstInterfaceMethodRef.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstLong.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstMethodRef.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstNameAndType.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstString.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstUnicode.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstUtf8.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstValue.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstantPool.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstantValueAttribute.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/Descriptor.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ExceptionRange.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ExceptionTable.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ExceptionsAttribute.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/GenericAttribute.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/Insn.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnConstOp.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnError.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnIInc.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnIntOp.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnInterfaceInvoke.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnLookupSwitch.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnMultiDimArrayNew.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnReadEnv.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnSingle.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnTableSwitch.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnTarget.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnTargetOp.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnUtils.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/LineNumberTableAttribute.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/LocalVariable.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/LocalVariableTableAttribute.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/SourceFileAttribute.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/SyntheticAttribute.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/VMConstants.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/VMOp.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/generator/ImplHelper.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/generator/Main.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/AnnotationConstants.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/ClassAction.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/ClassControl.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/EnhancerControl.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/Environment.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/FieldAction.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodAction.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodAnnotater.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodBuilder.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/ExtendedJDOMetaData.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaData.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataFatalError.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataModelImpl.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataProperties.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataPropertyImpl.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataTimer.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataUserException.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Assertion.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/CRC32.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassFileSource.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassPath.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassPathElement.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/FilePath.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/InternalError.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Support.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Timer.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/UserException.java delete mode 100644 appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ZipFileRegistry.java delete mode 100644 appserver/persistence/cmp/generator-database/osgi.bundle delete mode 100644 appserver/persistence/cmp/generator-database/pom.xml delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/Bundle.properties delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DB2.properties delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DBElementFactory.java delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLGenerator.java delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLTemplateFormatter.java delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DERBY.properties delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseGenerationConstants.java delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseGenerator.java delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseOutputStream.java delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/INFORMIX.properties delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/JDBCInfo.java delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/LogHelperDatabaseGenerator.java delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MSSQL.properties delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MYSQL.properties delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MappingPolicy.java delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/ORACLE.properties delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/POINTBASE.properties delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/POSTGRES.properties delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SQL92.properties delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SYBASE.properties delete mode 100644 appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SYMFOWARE.properties delete mode 100644 appserver/persistence/cmp/internal-api/osgi.bundle delete mode 100644 appserver/persistence/cmp/internal-api/pom.xml delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/ConnectionFactory.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/FieldMapping.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/InstanceCallbacks.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOCanRetryException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDODataStoreException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDODuplicateObjectIdException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalDataStoreException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalInternalException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalUserException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOHelper.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOObjectNotFoundException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOQueryException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOUnsupportedOptionException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOUserException.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceCapable.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceManager.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceManagerFactory.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/Query.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/SpecialDBOperation.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/SynchronizationManager.java delete mode 100644 appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/Transaction.java delete mode 100644 appserver/persistence/cmp/model/osgi.bundle delete mode 100644 appserver/persistence/cmp/model/pom.xml delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/Bundle.properties delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ClassLoaderStrategy.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/EnhancerModel.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/Model.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ModelException.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ModelVetoException.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/RuntimeModel.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/ConcurrencyGroupElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/FieldElementHolder.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/FieldGroupElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceClassElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceElementProperties.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceFieldElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceMemberElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/RelationshipElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/ConcurrencyGroupElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/FieldGroupElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceClassElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceElementCollection.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceFieldElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceMemberElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/RelationshipElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingClassElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingElementProperties.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingFieldElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingMemberElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingReferenceKeyElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingRelationshipElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingTableElement.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingClassElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingFieldElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingMemberElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingReferenceKeyElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingRelationshipElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingTableElementImpl.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/DumpMapping.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/LogHelperModel.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/ModelValidationException.java delete mode 100644 appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/ModelValidator.java delete mode 100644 appserver/persistence/cmp/pom.xml delete mode 100644 appserver/persistence/cmp/support-ejb/exclude.xml delete mode 100644 appserver/persistence/cmp/support-ejb/osgi.bundle delete mode 100644 appserver/persistence/cmp/support-ejb/pom.xml delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/antlr/EJBQL.g delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/antlr/JDOQLCodeGeneration.g delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/antlr/Semantic.g delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle.properties delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/CMPBeanHelper.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/EJBHashSet.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/JDOEJB11HelperImpl.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/JDOEJB20HelperImpl.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityFinder.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityInternal.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityLifecycle.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle.properties delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/CMPDeployerImpl.java delete mode 100755 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/CMPGenerator.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/GeneratorException.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/LogHelperCmpCompiler.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/AbstractMethodHelper.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP11TemplateFormatter.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP11Templates.properties delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP20TemplateFormatter.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP20Templates.properties delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPProcessor.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPROTemplateFormatter.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPROTemplates.properties delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPTemplateFormatter.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPTemplates.properties delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/DeploymentEventListenerImpl.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/EJBBundleInfoHelper.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/EjbConversionHelper.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOCodeGenerator.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOCodeGeneratorHelper.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBean11Generator.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBean20Generator.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBeanGenerator.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/LogHelperEJBCompiler.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/MappingGenerator.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/MethodHelper.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/NameMapper.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/PersistenceManagerServiceImpl.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle.properties delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLAST.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLASTFactory.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLC.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLException.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/ErrorMsg.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/IdentificationVariable.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/JDOQLElements.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/LogHelperQueryCompilerEJB.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/ParameterSupport.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/SymbolTable.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/TypeSupport.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/enhancer/meta/EJBMetaDataModelImpl.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/DeploymentDescriptorModel.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/util/NameMapper.java delete mode 100644 appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/util/CaptureSchemaWrapper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/exclude.xml delete mode 100644 appserver/persistence/cmp/support-sqlstore/osgi.bundle delete mode 100644 appserver/persistence/cmp/support-sqlstore/pom.xml delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/antlr/CodeGeneration.g delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/antlr/JQL.g delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/antlr/Optimizer.g delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/antlr/Semantic.g delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ActionDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ConfigCache.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ExtentCollection.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperPersistenceManager.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperSQLStore.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperStateManager.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperTransaction.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceCapable.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceConfig.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceManager.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceManagerFactory.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceStore.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceWrapper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/RetrieveDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/RuntimeVersion.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCO.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCOCollection.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCODate.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SQLStateManager.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SQLStoreManager.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/StateManager.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/TestStateManager.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Transaction.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/UpdateObjectDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ValueFetcher.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/VersionConsistencyCache.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/connection/ConnectionImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/connection/ConnectionManager.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/BaseSpecialDBOperation.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DB2.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DBVendorType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DERBY.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/H2.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/INFORMIX.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/INGRES.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/MSSQL.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/MYSQL.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/ORACLE.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/POINTBASE.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/POSTGRES.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SQL92.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYBASE.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYMFOWARE.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/oracle/OracleSpecialDBOperation.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/ApplicationLifeCycleEventListener.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/CMPHelper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/ContainerHelper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/DeploymentHelper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/EJBHelper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/JDOEJB11Helper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/JDOEJB20Helper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/LoggerFactoryiAS.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/SunContainerHelper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/SunTransactionHelper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/TransactionHelper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/TransactionHelperImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/ConnectionFactoryImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerFactoryImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerWrapper.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/SQLPersistenceManagerFactory.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/TransactionImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/VersionConsistencyCacheImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ClassDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ConfigCacheImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/FieldDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ForeignFieldDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/KeyDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/LocalFieldDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ReferenceKeyDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/TableDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/LogHelperQueryExecute.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/QueryImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/ErrorMsg.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JDOQLParameterDeclarationParser.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JQLAST.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JQLC.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/LogHelperQueryCompilerJDO.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/ParameterTable.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/QueryValueFetcher.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/VariableTable.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Definition.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Field.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Nesting.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Parameter.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/SymbolTable.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/TypeName.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Variable.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/BooleanType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/ClassType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/DateType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/ErrorType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/FieldInfo.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/FloatingPointType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/IntegralType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/MathType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NullType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumberType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumericType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumericWrapperClassType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/PrimitiveType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/StringType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/Type.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/TypeTable.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/WrapperClassType.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/ArrayList.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/Date.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/HashSet.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlDate.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlTime.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlTimestamp.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/Vector.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/ResultDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/ResultFieldDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/RetrieveDescImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/UpdateJoinTableDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/UpdateObjectDescImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/Concurrency.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyCheckDirty.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyDBExplicit.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyDBNative.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyOptVerify.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/Constraint.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintConstant.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintField.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldName.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldNameSubQuery.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintForeignFieldName.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintJoin.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintNode.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintOperation.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintOrder.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintParamIndex.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintSubquery.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintValue.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/ColumnRef.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedExistSelectPlan.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedInSelectPlan.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedSelectPlan.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/DBStatement.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputDesc.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputParamValue.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputValue.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/QueryPlan.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/QueryTable.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectOneStatement.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectQueryPlan.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectStatement.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/Statement.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/TableIndex.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/UpdateQueryPlan.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/UpdateStatement.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/VerificationSelectPlan.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNew.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewDeleted.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushed.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushedDeleted.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushedPending.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewPending.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/Hollow.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/LifeCycleState.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentClean.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDeleted.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDeletedFlushed.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDirty.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNew.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewDeleted.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewFlushed.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewFlushedDeleted.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNonTransactional.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sys.properties delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/AugmentationTest.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverter.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverterFactory.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverterImpl.java delete mode 100644 appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/StringScanner.java delete mode 100644 appserver/persistence/cmp/utility/osgi.bundle delete mode 100644 appserver/persistence/cmp/utility/pom.xml delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/BucketizedHashtable.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Bundle.properties delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/DoubleLinkedList.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/FieldTypeEnumeration.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/JavaTypeHelper.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Linkable.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/LogHelperUtility.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/MergedBundle.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/NullSemaphore.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/ParameterInfo.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Semaphore.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/SemaphoreImpl.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/WeakHashSet.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/WeakValueHashMap.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaClassWriter.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaClassWriterHelper.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaFileWriter.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/Bundle.properties delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/FormattedWriter.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/IOJavaClassWriter.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/IOJavaFileWriter.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/AbstractLogger.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/AbstractLoggerFactory.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/Bundle.properties delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LogHelper.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/Logger.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactory.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactoryJDK13.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactoryJDK14.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerJDK13.java delete mode 100644 appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerJDK14.java diff --git a/appserver/appclient/client/acc/pom.xml b/appserver/appclient/client/acc/pom.xml index af42e4b8f12..b69dd4ddf2b 100755 --- a/appserver/appclient/client/acc/pom.xml +++ b/appserver/appclient/client/acc/pom.xml @@ -362,13 +362,6 @@ ${project.version} - - runtime - fish.payara.server.internal.persistence.cmp - cmp-internal-api - ${project.version} - - jakarta.annotation jakarta.annotation-api diff --git a/appserver/distributions/payara-ml/glassfish-distributions.xml b/appserver/distributions/payara-ml/glassfish-distributions.xml index aa079a451fc..0ca94d72c9f 100644 --- a/appserver/distributions/payara-ml/glassfish-distributions.xml +++ b/appserver/distributions/payara-ml/glassfish-distributions.xml @@ -49,7 +49,6 @@ - @@ -67,7 +66,6 @@ - diff --git a/appserver/distributions/payara/glassfish-distributions.xml b/appserver/distributions/payara/glassfish-distributions.xml index decaf5a9367..f97b556c753 100644 --- a/appserver/distributions/payara/glassfish-distributions.xml +++ b/appserver/distributions/payara/glassfish-distributions.xml @@ -49,7 +49,6 @@ - @@ -67,7 +66,6 @@ - diff --git a/appserver/extras/embedded/all/pom.xml b/appserver/extras/embedded/all/pom.xml index 4d8b6bba77a..0d0049a3bd1 100644 --- a/appserver/extras/embedded/all/pom.xml +++ b/appserver/extras/embedded/all/pom.xml @@ -143,13 +143,6 @@ zip true - - fish.payara.server.internal.packager - glassfish-cmp - ${project.version} - zip - true - fish.payara.server.internal.packager glassfish-common diff --git a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml index c05666ad0a4..7d3b08dd042 100755 --- a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml +++ b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml @@ -140,13 +140,6 @@ closure of it and the modules on which it depends to build the accurate Class-Path for the manifest. --> - - fish.payara.server.internal.packager - glassfish-cmp - ${project.version} - zip - true - fish.payara.server.internal.packager glassfish-common diff --git a/appserver/featuresets/glassfish/pom.xml b/appserver/featuresets/glassfish/pom.xml index 6de1a109af3..32aea7f8fdc 100644 --- a/appserver/featuresets/glassfish/pom.xml +++ b/appserver/featuresets/glassfish/pom.xml @@ -75,13 +75,6 @@ ${project.version} zip - - - fish.payara.server.internal.packager - glassfish-cmp - ${project.version} - zip - fish.payara.server.internal.packager diff --git a/appserver/featuresets/payara-ml/pom.xml b/appserver/featuresets/payara-ml/pom.xml index f3d140d030c..82bec340dd4 100644 --- a/appserver/featuresets/payara-ml/pom.xml +++ b/appserver/featuresets/payara-ml/pom.xml @@ -81,12 +81,6 @@ ${project.version} zip - - fish.payara.server.internal.packager - glassfish-cmp-l10n - ${project.version} - zip - fish.payara.server.internal.packager metro-l10n diff --git a/appserver/featuresets/payara/pom.xml b/appserver/featuresets/payara/pom.xml index 1f4d1263b0d..07f8d14903a 100644 --- a/appserver/featuresets/payara/pom.xml +++ b/appserver/featuresets/payara/pom.xml @@ -78,14 +78,7 @@ ${project.version} zip - - - - fish.payara.server.internal.packager - glassfish-cmp - ${project.version} - zip - + diff --git a/appserver/packager/glassfish-cmp-l10n/pom.xml b/appserver/packager/glassfish-cmp-l10n/pom.xml deleted file mode 100644 index 5ab96b5dd77..00000000000 --- a/appserver/packager/glassfish-cmp-l10n/pom.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - 4.0.0 - - fish.payara.server.internal.packager - packages - 7.2026.5-SNAPSHOT - - glassfish-cmp-l10n - Glassfish CMP l10n Package - distribution-fragment - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - process-step1 - - - process-step2 - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - process-step3 - - - - - - - - - fish.payara.server.internal.persistence.cmp - cmp-ejb-mapping-l10n - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-enhancer-l10n - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-generator-database-l10n - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-model-l10n - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-support-ejb-l10n - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-support-sqlstore-l10n - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-utility-l10n - ${project.version} - - - - diff --git a/appserver/packager/glassfish-cmp-l10n/src/main/resources/pkg_proto.py b/appserver/packager/glassfish-cmp-l10n/src/main/resources/pkg_proto.py deleted file mode 100644 index bc570c1b5ca..00000000000 --- a/appserver/packager/glassfish-cmp-l10n/src/main/resources/pkg_proto.py +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -import imp - -conf = imp.load_source("pkg_conf", "../pkg_conf.py") - -pkg = { - "name" : "glassfish-cmp-l10n", - "version" : conf.glassfish_version, - "attributes" : { - "pkg.summary" : "GlassFish CMP Localization", - "pkg.description" : "Localization of GlassFish cmp. "+conf.glassfish_description_long, - "info.classification" : conf.glassfish_info_classification, - }, - "depends" : { - "pkg:/glassfish-cmp" : {"type" : "require" }, - }, - "dirtrees" : [ "glassfish" ], - "licenses" : { - "../../../../CDDL+GPL.txt" : {"license" : "CDDL and GPL v2 with classpath exception"}, - }, -} diff --git a/appserver/packager/glassfish-cmp/pom.xml b/appserver/packager/glassfish-cmp/pom.xml deleted file mode 100644 index 9ddfa463901..00000000000 --- a/appserver/packager/glassfish-cmp/pom.xml +++ /dev/null @@ -1,141 +0,0 @@ - - - - - 4.0.0 - - fish.payara.server.internal.packager - packages - 7.2026.5-SNAPSHOT - - glassfish-cmp - Glassfish CMP Package - distribution-fragment - This pom describes how to assemble the GlassFish CMP package - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - process-step1 - - - process-step2 - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - process-step3 - - - - - - - - - fish.payara.server.internal.persistence.cmp - cmp-ejb-mapping - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-support-ejb - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-support-sqlstore - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-utility - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-model - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-internal-api - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-generator-database - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-enhancer - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-scripts - ${project.version} - zip - - - org.glassfish.external - dbschema - - - fish.payara.server.internal.packager - antlr-repackaged - ${project.version} - - - - diff --git a/appserver/packager/glassfish-cmp/src/main/resources/pkg_proto.py b/appserver/packager/glassfish-cmp/src/main/resources/pkg_proto.py deleted file mode 100644 index 15000fc157e..00000000000 --- a/appserver/packager/glassfish-cmp/src/main/resources/pkg_proto.py +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2008-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -import imp - -conf = imp.load_source("pkg_conf", "../pkg_conf.py") - -pkg = { - "name" : "glassfish-cmp", - "version" : conf.glassfish_version, - "attributes" : { - "pkg.summary" : "GlassFish CMP", - "pkg.description" : "Support for CMP entity beans. "+conf.glassfish_description_long, - "info.classification" : conf.glassfish_info_classification, - }, - "depends" : { - "pkg:/glassfish-ejb" : {"type" : "require" }, - }, - "dirtrees" : [ "glassfish" ], - "licenses" : { - "../../../../CDDL+GPL.txt" : {"license" : "CDDL and GPL v2 with classpath exception"}, - }, -} diff --git a/appserver/packager/glassfish-entitybeans-container/src/main/resources/pkg_proto.py b/appserver/packager/glassfish-entitybeans-container/src/main/resources/pkg_proto.py index 29cc0866a6f..316cac13e65 100644 --- a/appserver/packager/glassfish-entitybeans-container/src/main/resources/pkg_proto.py +++ b/appserver/packager/glassfish-entitybeans-container/src/main/resources/pkg_proto.py @@ -52,9 +52,6 @@ "pkg.description" : "EntityBeans container. "+conf.glassfish_description_long, "info.classification" : conf.glassfish_info_classification, }, - "depends" : { - "pkg:/glassfish-cmp" : {"type" : "require" }, - }, "dirtrees" : [ "glassfish" ], "licenses" : { "../../../../CDDL+GPL.txt" : {"license" : "CDDL and GPL v2 with classpath exception"}, diff --git a/appserver/packager/glassfish-full-incorporation/src/main/resources/pkg_proto.py b/appserver/packager/glassfish-full-incorporation/src/main/resources/pkg_proto.py index fca2688bd7b..893a7e9ded1 100644 --- a/appserver/packager/glassfish-full-incorporation/src/main/resources/pkg_proto.py +++ b/appserver/packager/glassfish-full-incorporation/src/main/resources/pkg_proto.py @@ -57,7 +57,6 @@ "pkg:/glassfish-common-full@" + conf.glassfish_version : {"type" : "incorporate" }, "pkg:/glassfish-ejb@" + conf.glassfish_version : {"type" : "incorporate" }, "pkg:/glassfish-corba@" + conf.corba_version : {"type" : "incorporate" }, - "pkg:/glassfish-cmp@" + conf.glassfish_version : {"type" : "incorporate" }, "pkg:/metro@" + conf.metro_version : {"type" : "incorporate" }, "pkg:/glassfish-appclient@" + conf.glassfish_version : {"type" : "incorporate" }, "pkg:/glassfish-jms@" + conf.glassfish_version: {"type" : "incorporate" }, diff --git a/appserver/packager/glassfish-full-profile/src/main/resources/pkg_proto.py b/appserver/packager/glassfish-full-profile/src/main/resources/pkg_proto.py index 9c184b8e4f4..f24c5a32488 100644 --- a/appserver/packager/glassfish-full-profile/src/main/resources/pkg_proto.py +++ b/appserver/packager/glassfish-full-profile/src/main/resources/pkg_proto.py @@ -57,7 +57,6 @@ "pkg:/glassfish-common-full" : {"type" : "require" }, "pkg:/glassfish-ejb" : {"type" : "require" }, "pkg:/glassfish-corba" : {"type" : "require" }, - "pkg:/glassfish-cmp" : {"type" : "require" }, "pkg:/metro" : {"type" : "require" }, "pkg:/glassfish-appclient" : {"type" : "require" }, "pkg:/glassfish-jms" : {"type" : "require" }, diff --git a/appserver/packager/pom.xml b/appserver/packager/pom.xml index a223691b8d3..d82c28951f6 100644 --- a/appserver/packager/pom.xml +++ b/appserver/packager/pom.xml @@ -103,7 +103,6 @@ glassfish-jts glassfish-jms glassfish-ejb - glassfish-cmp metro glassfish-appclient h2db @@ -123,7 +122,6 @@ glassfish-ant-tasks glassfish-appclient-l10n glassfish-cluster-l10n - glassfish-cmp-l10n glassfish-common-full-l10n glassfish-common-l10n glassfish-ejb-l10n diff --git a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/osgi.bundle b/appserver/persistence/cmp-l10n/ejb-mapping-l10n/osgi.bundle deleted file mode 100644 index bd310eddd00..00000000000 --- a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/osgi.bundle +++ /dev/null @@ -1,41 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -Fragment-Host: fish.payara.server.internal.persistence.cmp.ejb-mapping; bundle-version=${project.osgi.version} diff --git a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/pom.xml b/appserver/persistence/cmp-l10n/ejb-mapping-l10n/pom.xml deleted file mode 100755 index df4c8f02a6e..00000000000 --- a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/pom.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp-l10n - 7.2026.5-SNAPSHOT - - cmp-ejb-mapping-l10n - - ejb-mapping module for cmp l10n - - - true - - - - - - org.glassfish.hk2 - osgiversion-maven-plugin - - - compute-osgi-version - - compute-osgi-version - - - - - - org.apache.felix - maven-bundle-plugin - - - bundle-manifest - process-classes - - manifest - - - - - - - - - - - - - src/main/resources - - **/*.jar - - - - - diff --git a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_de.properties b/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_de.properties deleted file mode 100644 index 0090ca927a1..00000000000 --- a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_de.properties +++ /dev/null @@ -1,131 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO71000 - JDO71099 -############################################################################### -#NOI18N -CONST_IAS_MAPPING_FILE_LOC=META-INF -CONST_IAS_MAPPING_FILE=sun-cmp-mappings.xml - -MESSAGE_START_BEAN=Start der Konvertierung von Bean: {0} -MESSAGE_LWB_NULL=Die untere Grenze f\u00FCr das Beziehungsfeld {1} von Bean {0} wird auf 0 gesetzt. -MESSAGE_LWB_NOPK=Das Beziehungsfeld {1} des Beans {0} ist einer Spalte zugeordnet, f\u00FCr die keine Nullwerte zul\u00E4ssig sind und die nicht Teil des prim\u00E4ren Schl\u00FCssels ist. Die untere Grenze wird auf 1 gesetzt. -MESSAGE_LWB_FK=Das Beziehungsfeld {1} des Beans {0} ist einer Spalte zugeordnet, f\u00FCr die keine Nullwerte zul\u00E4ssig sind und die Teil eines Foreign Key Constraints ist. Die untere Grenze wird auf 1 gesetzt. -MESSAGE_LWB_PKSUBSET=Das Beziehungsfeld {1} des Beans {0} ist einer Teilmenge der Prim\u00E4rschl\u00FCsselspalten zugeordnet. Die untere Grenze wird auf 1 gesetzt. -MESSAGE_LWB_CASCADE=Diese Seite der Beziehung, die dem Beziehungsfeld {1} des Beans {0} entspricht, ist f\u00FCr das kaskadierende L\u00F6schen markiert. Die untere Grenze wird auf 1 gesetzt. -MESSAGE_LWB_NODEPENDENT=Die abh\u00E4ngige Seite des Beziehungsfeldes {1} des Beans {0} kann nicht ermittelt werden. -MESSAGE_CONV_EXC=Konvertierungsausnahme: {0} -MESSAGE_REL_OBJ_DEL=Verwandte Objekte werden gel\u00F6scht, wenn TRUE f\u00FCr Bean {0} und Feld {1}. -MESSAGE_ADD_COLUMN=F\u00FCgen Sie Spalte {0} zur Zuordnung f\u00FCr Feld {1} hinzu. -MESSAGE_JDOCLASS_NAME=Der Klassenname des Beans {0} ist {1}. -MESSAGE_CANDIDATE_PK=Kandidaten-PK hat den Spaltennamen {0}. - -ERR_INVALID_COLUMN=JDO71001: Die Tabelle {1} enth\u00E4lt keine Spalte mit dem Namen {0} -ERR_INVALID_TABLE=JDO71002: Die Schemadatei {1} enth\u00E4lt keine Tabelle mit dem Namen {0} -ERR_CANNOT_FIND_SCHEMA=JDO71003: Schemadatei {0} konnte in dem Classpath {1} nicht gefunden werden -ERR_BAD_MULTIPLICTY=JDO71005: Ung\u00FCltiger Vielfaltselementwert: {0} (im ejb-relationship-role-Element: {1}) -ERR_INVALID_FG_LEVEL=JDO71006: Ung\u00FCltiger Wert f\u00FCr mitabgerufene Ebene {2} auf Feld {1} von Bean {0}. -ERR_UNDEFINED_TABLE=JDO71008: Fehlende Tabellendefinition -ERR_INVALID_FIELD=JDO71009: Feld {1} wurde nicht f\u00FCr Bean {0} definiert. -ERR_FIELD_MAPPED_TWICE=JDO71010: Feld {1} von Bean {0} wurde bereits zugeordnet. -ERR_BAD_CONVERSION_HELPER=JDO71014: Assertion-Fehler f\u00FCr ConversionHelper. Die Durchf\u00FChrung der Zuordnung wird vom aktuellen Hilfsprogramm nicht unterst\u00FCtzt. -ERR_COLUMN_PAIR_MISSING=JDO71018: Ung\u00FCltige CMR-Feldzuordnung f\u00FCr Bean: {0} Feld: {5}. Mindestens ein column-pair-Element erforderlich. - -ERR_INVALID_CONSISTENCY_VALUE=JDO71019: Ung\u00FCltige Konsistenzangabe f\u00FCr {0} - -WARN_ILLEGAL_PAIR=JDO71020: Angabe eines unzul\u00E4ssigen Spaltenpaars f\u00FCr die sekund\u00E4re Tabelle {1} der Zuordnung f\u00FCr Bean {0}: {2} -WARN_MISSING_TABLE=JDO71021: Fehlender Tabellenname {1} in MappingReferenceKeyElement f\u00FCr Bean {0} -WARN_NO_PRIMARY=JDO71022: Bean {0} wurde keiner prim\u00E4ren Tabelle zugeordnet. -WARN_NOT_MAPPED_TO_PRIMARY=JDO71023: Dieses MCE wurde keiner prim\u00E4ren Tabelle zugeordnet: {0} -WARN_NO_PAIRS=JDO71024: Bean {0} verf\u00FCgt \u00FCber keine Paare f\u00FCr die Zuordnung der prim\u00E4ren Tabelle zur sekund\u00E4ren Tabelle {1} -XML_ERROR_IN_MAPPING_FILE=JDO71026: {0} weist Syntaxfehler auf. Korrigieren Sie die Datei, und stellen Sie sie erneut bereit. -WARN_INVALID_FIELD=JDO71027: Das Feld {1} in Bean {0} ist ung\u00FCltig, da es im Deployment-Deskriptor nicht deklariert ist oder bereits zugeordnet wurde. -WARN_INVALID_CMRFIELD=JDO71028: Das Beziehungsfeld {1} in Bean {0} ist ung\u00FCltig, da es im Deployment-Deskriptor nicht deklariert ist oder bereits zugeordnet wurde. -WARN_INVALID_RELATIONSHIP_FIELDTYPE=JDO71029: Feldtyp {2} f\u00FCr Beziehungsfeld {1} in Bean {0} ist kein unterst\u00FCtzter Typ. -WARN_NO_PKCOLUMN=JDO71030: Tabelle {0} enth\u00E4lt keine Spalte, die zur Unterst\u00FCtzung der Serverimplementierung von unbekannten Schl\u00FCsselklassen verwendet werden kann. -ERR_INVALID_VERSION_COLUMNS=JDO71031: Spalten mit mehreren Versionen in einem Bean werden nicht unterst\u00FCtzt. -WARN_VERSION_COLUMN_INVALID_TABLE=JDO71032: Die Versionsspalte {2} muss zur prim\u00E4ren Tabelle des Beans {1} geh\u00F6ren: {0}. -WARN_VERSION_COLUMN_MISSING=JDO71033: Die prim\u00E4re Tabelle {0} des Beans {1} muss eine Versionsspalte aufweisen. -ERR_INVALID_CLASS=JDO71035: Die Klasse, die dem Bean {0} entspricht, ist null. - -############################################################################### -# -# Message ID Range: JDO71100 - JDO71199 -############################################################################### -CMD_FLAG_USERNAME=-username -CMD_FLAG_TABLE=-table -STRING_SCHEMAS_SLASH_NOI18N=schemas/ -MESSAGE_CAPTURING_SCHEMA=Schema wird erfasst: -MESSAGE_USING_SCHEMANAME=Verwenden des Schemanamens: - -HELP_USAGE=Verwendung: \\n capture-schema -username name -password password -dburl url -driver jdbcdriver -out aFilename \\n\\t [-schemaname aSchemaname] [-table aTablename]*\\n wobei: \\n\\t-username: Benutzername f\u00FCr die Authentifizierung des Zugriffs auf eine Datenbank \\n \\t-password: Kennwort f\u00FCr den Zugriff auf die gew\u00E4hlte Datenbank \\n \\t-dburl: Vom Treiber erwartete JDBC-URL f\u00FCr den Zugriff auf eine Datenbank \\n \\t-driver: JDBC-Treiberklassenname im CLASSPATH \\n \\t-out: Name der Ausgabedatei. Wenn dieser nicht mit ".dbschema" endet, wird diese Erweiterung hinzugef\u00FCgt. \\n \\t-schemaname: Name des zu erfassenden Benutzerschemas \\n \\t-table: Name einer zu erfassenden Tabelle \\n \\n\\tWenn keine Tabellennamen angegeben sind, werden alle Tabellen in der Datenbank\\n\\t(oder gegebenenfalls im benannten Schema) erfasst.\\n\\n\\tWenn kein Schemaname angegeben wird, werden Metadaten f\u00FCr alle Tabellen\\n\\taus allen Schemas, die f\u00FCr diesen Benutzer zug\u00E4nglich sind, erfasst. - -STRING_ORACLE_DRIVER_NOI18N= -CMD_FLAG_PASSWORD=-password -MESSAGE_USING_USERNAME=Verwenden des Benutzernamens: -STRING_IASCTS_NOI18N= -CMD_FLAG_DRIVER=-driver -MESSAGE_SAVING_SCHEMA=Schema wird gespeichert ... -MESSAGE_USING_PASSWORD=Verwenden des Kennworts: -MESSAGE_SCHEMA_CAPTURED=Schema erfasst -MESSAGE_USING_DRIVER=Verwenden des Treibers: -CMD_FLAG_SCHEMA_NAME=-schemaname -CMD_FLAG_DBURL=-dburl -MESSAGE_USING_URL=Verwenden von dburl: -MESSAGE_CHANGING_OUTFILENAME=Warnung: Der Name der Ausgabedatei hat sich durch Hinzuf\u00FCgen der Erweiterung ge\u00E4ndert -MESSAGE_USING_OUTFILENAME=Verwenden der Ausgabedatei: - -#NOI18N -STRING_ORACLE_JDBC_URL_PREFIX_NOI18N=jdbc:oracle: -#NOI18N -CMD_FLAG_OUTPUT=-out - -ERR_CHECK_CLASSPATH=JDO71100: Es konnte keine Klasse gefunden werden. Pr\u00FCfen Sie, ob die Klasse in Ihrem CLASSPATH vorhanden ist -ERR_INVALID_TABLE_GIVEN=JDO71101: Auf Tabelle {0} kann nicht zugegriffen werden. -MESSAGE_NO_VALID_TABLES=JDO71102: Keine g\u00FCltigen Tabellen angefordert. Keine Schemadatei erstellt -ERR_ORACLE_ARGUMENTS=JDO71103: Argument "schemaname" f\u00FCr Oracle-Datenbanken erforderlich - -############################################################################### -# -# Message ID Range: JDO71200 - JDO71299 -############################################################################### -ERR_DISCONNECTED_NOT_SUPPORTED=Getrennte Beans werden nicht unterst\u00FCtzt. diff --git a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_es.properties b/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_es.properties deleted file mode 100644 index 9ddd7410709..00000000000 --- a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_es.properties +++ /dev/null @@ -1,131 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO71000 - JDO71099 -############################################################################### -#NOI18N -CONST_IAS_MAPPING_FILE_LOC=META-INF -CONST_IAS_MAPPING_FILE=sun-cmp-mappings.xml - -MESSAGE_START_BEAN=Iniciar conversi\u00F3n de bean: {0} -MESSAGE_LWB_NULL=Definiendo el l\u00EDmite inferior del campo de relaci\u00F3n {1} del bean {0} en 0. -MESSAGE_LWB_NOPK=El campo de relaci\u00F3n {1} del bean {0} se ha asignado a una columna que no soporta valores NULL y que no forma parte de la clave primaria... Definiendo el l\u00EDmite inferior en 1. -MESSAGE_LWB_FK=El campo de relaci\u00F3n {1} del bean {0} se ha asignado a una columna que no soporta valores NULL y que forma parte de una restricci\u00F3n de clave ajena... Definiendo el l\u00EDmite inferior en 1. -MESSAGE_LWB_PKSUBSET=El campo de relaci\u00F3n {1} del bean {0} se ha asignado a un subjuego de columnas de clave primaria... Definiendo el l\u00EDmite inferior en 1. -MESSAGE_LWB_CASCADE=Esta parte de la relaci\u00F3n correspondiente al campo de relaci\u00F3n {1} del bean {0} se ha marcado para su supresi\u00F3n en cascada... Definiendo el l\u00EDmite inferior en 1. -MESSAGE_LWB_NODEPENDENT=No se ha podido determinar la parte dependiente del campo de relaci\u00F3n {1} del bean {0}. -MESSAGE_CONV_EXC=Excepci\u00F3n en la conversi\u00F3n: {0} -MESSAGE_REL_OBJ_DEL=Los objetos relacionados suprimidos se definen como TRUE para el bean {0} y el campo {1}. -MESSAGE_ADD_COLUMN=Agregar la columna {0} a la asignaci\u00F3n del campo {1}. -MESSAGE_JDOCLASS_NAME=El nombre de clase del bean {0} es {1}. -MESSAGE_CANDIDATE_PK=La clave primaria candidata tiene un nombre de columna {0}. - -ERR_INVALID_COLUMN=JDO71001: la tabla {1} no tiene una columna denominada {0} -ERR_INVALID_TABLE=JDO71002: el archivo de esquema {1} no contiene una tabla denominada {0} -ERR_CANNOT_FIND_SCHEMA=JDO71003: no se ha encontrado el archivo de esquema {0} en la classpath {1} -ERR_BAD_MULTIPLICTY=JDO71005: valor de elemento de multiplicidad no v\u00E1lido: {0} (en el elemento ejb-relationship-role: {1}) -ERR_INVALID_FG_LEVEL=JDO71006: valor no v\u00E1lido para nivel recuperado {2} en el campo {1} del bean {0}. -ERR_UNDEFINED_TABLE=JDO71008: falta la definici\u00F3n de la tabla -ERR_INVALID_FIELD=JDO71009: no se ha definido el campo {1} del bean {0}. -ERR_FIELD_MAPPED_TWICE=JDO71010: el campo {1} del bean {0} ya est\u00E1 asignado. -ERR_BAD_CONVERSION_HELPER=JDO71014: fallo de afirmaci\u00F3n de ConversionHelper. La aplicaci\u00F3n externa actual no soporta la finalizaci\u00F3n de la asignaci\u00F3n. -ERR_COLUMN_PAIR_MISSING=JDO71018: cmr-field-mapping no v\u00E1lido para bean: {0} campo: {5}. Se necesita al menos un elemento column-pair. - -ERR_INVALID_CONSISTENCY_VALUE=JDO71019: especificaci\u00F3n de consistencia no v\u00E1lida para {0} - -WARN_ILLEGAL_PAIR=JDO71020: se ha especificado un par de columnas no v\u00E1lido para la tabla secundaria {1} de asignaci\u00F3n del bean {0}: {2} -WARN_MISSING_TABLE=JDO71021: falta el nombre de la tabla {1} en MappingReferenceKeyElement para el bean {0} -WARN_NO_PRIMARY=JDO71022: no se ha asignado el bean {0} a una tabla primaria. -WARN_NOT_MAPPED_TO_PRIMARY=JDO71023: este mce no est\u00E1 asignado a una tabla primaria: {0} -WARN_NO_PAIRS=JDO71024: el bean {0} no tiene pares para asignar la tabla primaria a la secundaria {1} -XML_ERROR_IN_MAPPING_FILE=JDO71026: {0} tiene errores de sintaxis. Corrija el archivo y vuelva a desplegarlo. -WARN_INVALID_FIELD=JDO71027: el campo {1} del bean {0} no es v\u00E1lido, porque no se ha declarado en el descriptor de despliegue o ya se ha asignado. -WARN_INVALID_CMRFIELD=JDO71028: el campo de relaci\u00F3n {1} del bean {0} no es v\u00E1lido, porque no se ha declarado en el descriptor de despliegue o ya se ha asignado. -WARN_INVALID_RELATIONSHIP_FIELDTYPE=JDO71029: el tipo de campo {2} del campo de relaci\u00F3n {1} del bean {0} no es un tipo soportado. -WARN_NO_PKCOLUMN=JDO71030: no hay ninguna columna en la tabla {0}, que se puede utilizar para soportar la implantaci\u00F3n de clases de clave desconocidas del servidor. -ERR_INVALID_VERSION_COLUMNS=JDO71031: no est\u00E1n soportadas varias columnas de versi\u00F3n en un solo bean. -WARN_VERSION_COLUMN_INVALID_TABLE=JDO71032: la columna de versi\u00F3n {2} debe pertenecer a la tabla primaria del bean {1}: {0}. -WARN_VERSION_COLUMN_MISSING=JDO71033: la tabla primaria {0} del bean {1} debe tener una columna de versi\u00F3n. -ERR_INVALID_CLASS=JDO71035: la clase correspondiente al bean {0} es nula. - -############################################################################### -# -# Message ID Range: JDO71100 - JDO71199 -############################################################################### -CMD_FLAG_USERNAME=-username -CMD_FLAG_TABLE=-table -STRING_SCHEMAS_SLASH_NOI18N=schemas/ -MESSAGE_CAPTURING_SCHEMA=Capturando esquema: -MESSAGE_USING_SCHEMANAME=Usando nombre de esquema: - -HELP_USAGE=sintaxis: \\n capture-schema -username name -password password -dburl url -driver jdbcdriver -out aFilename \\n\\t [-schemaname aSchemaname] [-table aTablename]*\\n donde: \\n\\t-username: nombre de usuario para autenticar el acceso a la base de datos \\n \\t-password: contrase\u00F1a para acceder a la base de datos seleccionada \\n \\t-dburl: URL de JDBC esperada por el controlador para acceder a la base de datos \\n \\t-driver: nombre de clase de controlador JDBC de CLASSPATH \\n \\t-out: nombre del archivo de salida. Si no termina en ".dbschema", se agregar\u00E1 dicha extensi\u00F3n. \\n \\t-schemaname: nombre del esquema de usuario que se va a capturar \\n \\t-table: nombre de la tabla que se va a capturar \\n \\n\\tSi no se proporcionan nombres de tabla, se capturar\u00E1n todas las tablas de\\n\\tla base de datos (o del esquema con nombre, si se proporcionan).\\n\\n\\tSi no se proporciona ning\u00FAn nombre de esquema, se capturan los metadatos de todas las tablas\\n\\tde todos los esquemas accesibles a este usuario. - -STRING_ORACLE_DRIVER_NOI18N= -CMD_FLAG_PASSWORD=-password -MESSAGE_USING_USERNAME=Usando nombre de usuario: -STRING_IASCTS_NOI18N= -CMD_FLAG_DRIVER=-driver -MESSAGE_SAVING_SCHEMA=Guardando esquema... -MESSAGE_USING_PASSWORD=Usando contrase\u00F1a: -MESSAGE_SCHEMA_CAPTURED=Se ha capturado el esquema -MESSAGE_USING_DRIVER=Usando controlador: -CMD_FLAG_SCHEMA_NAME=-schemaname -CMD_FLAG_DBURL=-dburl -MESSAGE_USING_URL=Usando dburl: -MESSAGE_CHANGING_OUTFILENAME=Advertencia: se ha cambiado el nombre de archivo de salida para que tenga una extensi\u00F3n -MESSAGE_USING_OUTFILENAME=Usando archivo de salida: - -#NOI18N -STRING_ORACLE_JDBC_URL_PREFIX_NOI18N=jdbc:oracle: -#NOI18N -CMD_FLAG_OUTPUT=-out - -ERR_CHECK_CLASSPATH=JDO71100: no se ha encontrado la clase. Verifique que la clase est\u00E1 disponible en la CLASSPATH -ERR_INVALID_TABLE_GIVEN=JDO71101: no se puede acceder a la tabla {0}. -MESSAGE_NO_VALID_TABLES=JDO71102: no se han solicitado tablas v\u00E1lidas. No se han creado archivos de esquema -ERR_ORACLE_ARGUMENTS=JDO71103: argumento schemaname necesario para bases de datos Oracle - -############################################################################### -# -# Message ID Range: JDO71200 - JDO71299 -############################################################################### -ERR_DISCONNECTED_NOT_SUPPORTED=No est\u00E1n soportados los beans desconectados. diff --git a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_fr.properties b/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_fr.properties deleted file mode 100644 index 5c2496bf28f..00000000000 --- a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_fr.properties +++ /dev/null @@ -1,131 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO71000 - JDO71099 -############################################################################### -#NOI18N -CONST_IAS_MAPPING_FILE_LOC=META-INF -CONST_IAS_MAPPING_FILE=sun-cmp-mappings.xml - -MESSAGE_START_BEAN=D\u00E9but de la conversion du bean : {0} -MESSAGE_LWB_NULL=D\u00E9finition de la limite inf\u00E9rieure du champ de relation {1} pour le bean {0} sur 0. -MESSAGE_LWB_NOPK=Le champ de relation {1} du bean {0} est mapp\u00E9 sur une colonne non Nullable qui ne fait pas partie de la cl\u00E9 primaire. D\u00E9finition de la limite inf\u00E9rieure sur 1. -MESSAGE_LWB_FK=Le champ de relation {1} du bean {0} est mapp\u00E9 sur une colonne non Nullable qui ne fait pas partie d''une contrainte de cl\u00E9 \u00E9trang\u00E8re. D\u00E9finition de la limite inf\u00E9rieure sur 1. -MESSAGE_LWB_PKSUBSET=Le champ de relation {1} du bean {0} est mapp\u00E9 sur un sous-ensemble de colonnes de cl\u00E9 primaire. D\u00E9finition de la limite inf\u00E9rieure sur 1. -MESSAGE_LWB_CASCADE=Cette partie de la relation associ\u00E9e au champ de relation {1} du bean {0} est marqu\u00E9e pour suppression en cascade. D\u00E9finition de la limite inf\u00E9rieure sur 1. -MESSAGE_LWB_NODEPENDENT=Impossible de d\u00E9finir le c\u00F4t\u00E9 d\u00E9pendant du champ de relation {1} du bean {0}. -MESSAGE_CONV_EXC=Exception de conversion : {0} -MESSAGE_REL_OBJ_DEL=Les objets connexes sont supprim\u00E9s si le bean {0} et le champ {1} ont la valeur True. -MESSAGE_ADD_COLUMN=Ajouter la colonne {0} au mapping du champ {1}. -MESSAGE_JDOCLASS_NAME=Le nom de classe du bean {0} est {1}. -MESSAGE_CANDIDATE_PK=La cl\u00E9 primaire candidate a une colonne {0}. - -ERR_INVALID_COLUMN=JDO71001 : la table {1} ne comporte aucune colonne nomm\u00E9e {0} -ERR_INVALID_TABLE=JDO71002 : le fichier sch\u00E9ma {1} ne contient aucune table nomm\u00E9e {0} -ERR_CANNOT_FIND_SCHEMA=JDO71003 : fichier sch\u00E9ma {0} introuvable dans le classpath {1} -ERR_BAD_MULTIPLICTY=JDO71005 : multiplicit\u00E9 de la valeur de l''\u00E9l\u00E9ment non valide : {0} (dans l''\u00E9l\u00E9ment ejb-relationship-role : {1}) -ERR_INVALID_FG_LEVEL=JDO71006 : valeur non valide pour le changement d''instruction au niveau {2} sur le champ {1} du bean {0}. -ERR_UNDEFINED_TABLE=JDO71008 : d\u00E9finition de table manquante -ERR_INVALID_FIELD=JDO71009 : le champ {1} n''est pas d\u00E9fini pour le bean {0}. -ERR_FIELD_MAPPED_TWICE=JDO71010 : le champ {1} du bean {0} est d\u00E9j\u00E0 mapp\u00E9. -ERR_BAD_CONVERSION_HELPER=JDO71014 : \u00E9chec de l'assertion de ConversionHelper. L'helper actuel ne prend pas en charge l'ex\u00E9cution compl\u00E8te du mapping. -ERR_COLUMN_PAIR_MISSING=JDO71018 : mapping du champ de type cmr non valide pour le bean : {0}, champ : {5}. Au moins un \u00E9l\u00E9ment de paire de colonnes est requis. - -ERR_INVALID_CONSISTENCY_VALUE=JDO71019 : sp\u00E9cification de coh\u00E9rence non valide pour {0} - -WARN_ILLEGAL_PAIR=JDO71020 : paire de colonnes interdite sp\u00E9cifi\u00E9e pour la table secondaire {1} du mapping du bean {0} : {2} -WARN_MISSING_TABLE=JDO71021 : nom de table manquant {1} dans MappingReferenceKeyElement du bean {0} -WARN_NO_PRIMARY=JDO71022 : le bean {0} n''est pas mapp\u00E9 \u00E0 une table principale. -WARN_NOT_MAPPED_TO_PRIMARY=JDO71023 : cette mce n''est pas mapp\u00E9e \u00E0 une table principale : {0} -WARN_NO_PAIRS=JDO71024 : le bean {0} ne comporte aucune paire pour mapper la table principale \u00E0 la table secondaire {1} -XML_ERROR_IN_MAPPING_FILE=JDO71026 : {0} comporte des erreurs de syntaxe. Corrigez le fichier, puis proc\u00E9dez au red\u00E9ploiement. -WARN_INVALID_FIELD=JDO71027 : le champ {1} du bean {0} n''est pas valide, car le champ n''est pas d\u00E9clar\u00E9 dans le descripteur de d\u00E9ploiement ou il a d\u00E9j\u00E0 \u00E9t\u00E9 mapp\u00E9. -WARN_INVALID_CMRFIELD=JDO71028 : le champ de relation {1} du bean {0} n''est pas valide, car le champ n''est pas d\u00E9clar\u00E9 dans le descripteur de d\u00E9ploiement ou il a d\u00E9j\u00E0 \u00E9t\u00E9 mapp\u00E9. -WARN_INVALID_RELATIONSHIP_FIELDTYPE=JDO71029 : le type de champ {2} pour le champ de relation {1} dans le bean {0} n''est pas pris en charge. -WARN_NO_PKCOLUMN=JDO71030\u00A0: aucune colonne de la table {0} ne permet la prise en charge de l''impl\u00E9mentation du serveur de classes de cl\u00E9 inconnues. -ERR_INVALID_VERSION_COLUMNS=JDO71031\u00A0: plusieurs colonnes de version d'un m\u00EAme bean ne sont pas prises en charge. -WARN_VERSION_COLUMN_INVALID_TABLE=JDO71032\u00A0: la colonne de version {2} doit appartenir \u00E0 la table principale du bean {1}\u00A0: {0}. -WARN_VERSION_COLUMN_MISSING=JDO71033\u00A0: la table principale {0} du bean {1} doit disposer d''une colonne de version. -ERR_INVALID_CLASS=JDO71035 : la classe correspondant au bean {0} est NULL. - -############################################################################### -# -# Message ID Range: JDO71100 - JDO71199 -############################################################################### -CMD_FLAG_USERNAME=-username -CMD_FLAG_TABLE=-table -STRING_SCHEMAS_SLASH_NOI18N=schemas/ -MESSAGE_CAPTURING_SCHEMA=Capture du sch\u00E9ma : -MESSAGE_USING_SCHEMANAME=Utilisation de schemaname : - -HELP_USAGE=syntaxe : \n capture-schema -username name -password password -dburl url -driver jdbcdriver -out aFilename \n\t [-schemaname aSchemaname] [-table aTablename]*\n o\u00F9 : \n\t-username : nom utilisateur permettant d'authentifier l'acc\u00E8s \u00E0 une base de donn\u00E9es \n \t-password : mot de passe permettant d'acc\u00E9der \u00E0 la base de donn\u00E9es s\u00E9lectionn\u00E9e \n \t-dburl : URL JDBC attendue par le pilote pour acc\u00E9der \u00E0 une base de donn\u00E9es \n \t-driver : nom de classe du pilote JDBC dans votre CLASSPATH \n \t-out : nom du fichier de sortie. Si celui-ci ne finit pas par .dbschema, cette extension est ajout\u00E9e. \n \t-schemaname : nom du sch\u00E9ma utilisateur en cours de capture \n \t-table : nom de la table \u00E0 capturer \n \n\tSi aucun nom de table n'est indiqu\u00E9, toutes les tables de la base de donn\u00E9es\n\t(ou les sch\u00E9mas nomm\u00E9s, le cas \u00E9ch\u00E9ant) sont captur\u00E9es.\n\n\tSi aucun nom de sch\u00E9ma n'est indiqu\u00E9, capturez les m\u00E9tadonn\u00E9es de toutes les tables\n\t\u00E0 partir de tous les sch\u00E9mas accessibles \u00E0 cet utilisateur. - -STRING_ORACLE_DRIVER_NOI18N= -CMD_FLAG_PASSWORD=-password -MESSAGE_USING_USERNAME=Utilisation du nom utilisateur : -STRING_IASCTS_NOI18N= -CMD_FLAG_DRIVER=-driver -MESSAGE_SAVING_SCHEMA=Enregistrement du sch\u00E9ma... -MESSAGE_USING_PASSWORD=Utilisation du mot de passe : -MESSAGE_SCHEMA_CAPTURED=Sch\u00E9ma captur\u00E9 -MESSAGE_USING_DRIVER=Utilisation du pilote : -CMD_FLAG_SCHEMA_NAME=-schemaname -CMD_FLAG_DBURL=-dburl -MESSAGE_USING_URL=Utilisation de dburl : -MESSAGE_CHANGING_OUTFILENAME=Avertissement : le nom du fichier de sortie a \u00E9t\u00E9 modifi\u00E9 de mani\u00E8re \u00E0 avoir une extension de nom de fichier -MESSAGE_USING_OUTFILENAME=Utilisation du fichier de sortie : - -#NOI18N -STRING_ORACLE_JDBC_URL_PREFIX_NOI18N=jdbc:oracle: -#NOI18N -CMD_FLAG_OUTPUT=-out - -ERR_CHECK_CLASSPATH=JDO71100 : aucune classe trouv\u00E9e. V\u00E9rifiez la disponibilit\u00E9 de la classe sur la variable d'environnement CLASSPATH -ERR_INVALID_TABLE_GIVEN=JDO71101 : impossible d''acc\u00E9der \u00E0 la table {0}. -MESSAGE_NO_VALID_TABLES=JDO71102 : aucune table valide demand\u00E9e. Aucun fichier de sch\u00E9ma cr\u00E9\u00E9 -ERR_ORACLE_ARGUMENTS=JDO71103 : argument schemaname obligatoire pour les bases de donn\u00E9es Oracle - -############################################################################### -# -# Message ID Range: JDO71200 - JDO71299 -############################################################################### -ERR_DISCONNECTED_NOT_SUPPORTED=Beans d\u00E9connect\u00E9s non pris en charge. diff --git a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_it.properties b/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_it.properties deleted file mode 100644 index 6a7a7857be0..00000000000 --- a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_it.properties +++ /dev/null @@ -1,131 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO71000 - JDO71099 -############################################################################### -#NOI18N -CONST_IAS_MAPPING_FILE_LOC=META-INF -CONST_IAS_MAPPING_FILE=sun-cmp-mappings.xml - -MESSAGE_START_BEAN=Inizia conversione del bean: {0} -MESSAGE_LWB_NULL=Impostazione del limite inferiore del campo relazione {1} del bean {0} su 0. -MESSAGE_LWB_NOPK=Il campo relazione {1} del bean {0} \u00E8 mappato a una colonna non annullabile che non fa parte della chiave primaria... impostazione del limite inferiore su 1. -MESSAGE_LWB_FK=Il campo relazione {1} del bean {0} \u00E8 mappato a una colonna non annullabile che fa parte di un vincolo FOREIGN KEY... impostazione del limite inferiore su 1. -MESSAGE_LWB_PKSUBSET=Il campo relazione {1} del bean {0} \u00E8 mappato a un subset di colonne di chiave primaria... impostazione del limite inferiore su 1. -MESSAGE_LWB_CASCADE=Questo lato della relazione corrispondente al campo relazione {1} del bean {0} \u00E8 contrassegnato per l''eliminazione a catena... impostazione del limite inferiore su 1. -MESSAGE_LWB_NODEPENDENT=Impossibile determinare il lato dipendente per il campo relazione {1} del bean {0}. -MESSAGE_CONV_EXC=Eccezione di conversione: {0} -MESSAGE_REL_OBJ_DEL=Gli oggetti correlati vengono eliminati se TRUE per il bean {0} e il campo {1}. -MESSAGE_ADD_COLUMN=Aggiungere la colonna {0} al mapping per il campo {1}. -MESSAGE_JDOCLASS_NAME=Il nome classe del bean {0} \u00E8 {1}. -MESSAGE_CANDIDATE_PK=La PK candidata ha il nome colonna {0}. - -ERR_INVALID_COLUMN=JDO71001: la tabella {1} non ha una colonna denominata {0} -ERR_INVALID_TABLE=JDO71002: il file di schema {1} non contiene una tabella denominata {0} -ERR_CANNOT_FIND_SCHEMA=JDO71003: impossibile trovare il file di schema {0} nel classpath {1} -ERR_BAD_MULTIPLICTY=JDO71005: valore dell''elemento molteplicit\u00E0 non valido: {0} (nell''elemento ejb-relazione-ruolo: {1}) -ERR_INVALID_FG_LEVEL=JDO71006: valore non valido per livello con recupero {2} nel campo {1} del bean {0}. -ERR_UNDEFINED_TABLE=JDO71008: definizione della tabella mancante -ERR_INVALID_FIELD=JDO71009: il campo {1} non \u00E8 definito per il bean {0}. -ERR_FIELD_MAPPED_TWICE=JDO71010: il campo {1} del bean {0} \u00E8 gi\u00E0 mappato. -ERR_BAD_CONVERSION_HELPER=JDO71014: errore di asserzione per ConversionHelper. Il completamento del mapping non \u00E8 supportato dall'applicazione di supporto corrente. -ERR_COLUMN_PAIR_MISSING=JDO71018: mapping del campo CMR non valido per il bean: {0}, campo: {5}. \u00C8 necessario almeno un elemento colonna-coppia. - -ERR_INVALID_CONSISTENCY_VALUE=JDO71019: specifica di coerenza non valida per {0} - -WARN_ILLEGAL_PAIR=JDO71020: coppia di colonne non valida specificata per la tabella secondaria {1} del mapping per il bean {0}: {2} -WARN_MISSING_TABLE=JDO71021: nome della tabella mancante {1} in MappingReferenceKeyElement per il bean {0} -WARN_NO_PRIMARY=JDO71022: il bean {0} non \u00E8 mappato a una tabella primaria. -WARN_NOT_MAPPED_TO_PRIMARY=JDO71023: questo mce non \u00E8 mappato a una tabella primaria: {0} -WARN_NO_PAIRS=JDO71024: il bean {0} non ha coppie per mappare la tabella primaria alla tabella secondaria {1} -XML_ERROR_IN_MAPPING_FILE=JDO71026: {0} contiene errori di sintassi. Correggere il file e ridistribuire. -WARN_INVALID_FIELD=JDO71027: il campo {1} nel bean {0} non \u00E8 valido perch\u00E9 il campo non \u00E8 dichiarato nel descrittore di distribuzione o \u00E8 stato gi\u00E0 mappato. -WARN_INVALID_CMRFIELD=JDO71028: il campo relazione {1} nel bean {0} non \u00E8 valido perch\u00E9 il campo non \u00E8 dichiarato nel descrittore di distribuzione o \u00E8 stato gi\u00E0 mappato. -WARN_INVALID_RELATIONSHIP_FIELDTYPE=JDO71029: il tipo di campo {2} per il campo relazione {1} nel bean {0} non \u00E8 un tipo supportato. -WARN_NO_PKCOLUMN=JDO71030: la tabella {0} non contiene colonne utilizzabili per supportare l''implementazione di classi di chiavi sconosciute da parte del server. -ERR_INVALID_VERSION_COLUMNS=JDO71031: non sono supportate colonne versione multiple in un singolo bean. -WARN_VERSION_COLUMN_INVALID_TABLE=JDO71032: la colonna versione {2} deve appartenere alla tabella primaria {0} del bean {1}. -WARN_VERSION_COLUMN_MISSING=JDO71033: la tabella primaria {0} del bean {1} deve avere una colonna versione. -ERR_INVALID_CLASS=JDO71035: la classe corrispondente al bean {0} \u00E8 nulla. - -############################################################################### -# -# Message ID Range: JDO71100 - JDO71199 -############################################################################### -CMD_FLAG_USERNAME=-username -CMD_FLAG_TABLE=-table -STRING_SCHEMAS_SLASH_NOI18N=schemi/ -MESSAGE_CAPTURING_SCHEMA=Schema di acquisizione: -MESSAGE_USING_SCHEMANAME=Uso del nome schema: - -HELP_USAGE=uso: \n capture-schema -username name -password password -dburl url -driver jdbcdriver -out aFilename \n\t [-schemaname aSchemaname] [-table aTablename]*\n dove: \n\t-username: nome utente per l'autenticazione dell'accesso a un database \n \t-password: password per l'accesso al database selezionato \n \t-dburl: URL JDBC previsto dal driver per l'accesso a un database \n \t-driver: nome classe del driver JDBC nel CLASSPATH \n \t-out: nome del file di output. Se non termina con ".dbschema", questa estensione verr\u00E0 aggiunta. \n \t-schemaname: nome dello schema utente in fase di acquisizione \n \t-table: nome di una tabella da acquisire \n \n\tSe non vengono specificati nomi di tabelle, vengono acquisite tutte le tabelle nel database\n\t(o nello schema denominato, se fornito).\n\n\tSe non viene specificato alcun nome schema, vengono acquisiti i metadati per tutte le tabelle\n\tda tutti gli schemi accessibili per questo utente. - -STRING_ORACLE_DRIVER_NOI18N= -CMD_FLAG_PASSWORD=-password -MESSAGE_USING_USERNAME=Uso del nome utente: -STRING_IASCTS_NOI18N= -CMD_FLAG_DRIVER=-driver -MESSAGE_SAVING_SCHEMA=Salvataggio dello schema in corso... -MESSAGE_USING_PASSWORD=Uso della password: -MESSAGE_SCHEMA_CAPTURED=Schema acquisito -MESSAGE_USING_DRIVER=Uso del driver: -CMD_FLAG_SCHEMA_NAME=-schemaname -CMD_FLAG_DBURL=-dburl -MESSAGE_USING_URL=Uso di dburl: -MESSAGE_CHANGING_OUTFILENAME=Avvertenza: nome del file di output modificato in modo da avere l'estensione nome file -MESSAGE_USING_OUTFILENAME=Uso del file di output: - -#NOI18N -STRING_ORACLE_JDBC_URL_PREFIX_NOI18N=jdbc:oracle: -#NOI18N -CMD_FLAG_OUTPUT=-out - -ERR_CHECK_CLASSPATH=JDO71100: ricerca della classe non riuscita. Verificare che la classe sia disponibile nel CLASSPATH. -ERR_INVALID_TABLE_GIVEN=JDO71101: impossibile accedere alla tabella {0}. -MESSAGE_NO_VALID_TABLES=JDO71102: nessuna tabella valida richiesta. Nessun file di schema creato. -ERR_ORACLE_ARGUMENTS=JDO71103: l'argomento schemaname \u00E8 obbligatorio per i database Oracle - -############################################################################### -# -# Message ID Range: JDO71200 - JDO71299 -############################################################################### -ERR_DISCONNECTED_NOT_SUPPORTED=Bean scollegati non supportati. diff --git a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_ja.properties b/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_ja.properties deleted file mode 100644 index d0b3234a1bd..00000000000 --- a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_ja.properties +++ /dev/null @@ -1,131 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO71000 - JDO71099 -############################################################################### -#NOI18N -CONST_IAS_MAPPING_FILE_LOC=META-INF -CONST_IAS_MAPPING_FILE=sun-cmp-mappings.xml - -MESSAGE_START_BEAN=Bean\u306E\u5909\u63DB\u3092\u958B\u59CB: {0} -MESSAGE_LWB_NULL=Bean {0}\u306E\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u4E0B\u9650\u30920\u306B\u8A2D\u5B9A\u3057\u307E\u3059\u3002 -MESSAGE_LWB_NOPK=Bean {0}\u306E\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u3092\u3001\u4E3B\u30AD\u30FC\u306B\u542B\u307E\u308C\u306A\u3044null\u4E0D\u53EF\u5217\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3057\u3001\u4E0B\u9650\u30921\u306B\u8A2D\u5B9A\u3057\u307E\u3059\u3002 -MESSAGE_LWB_FK=Bean {0}\u306E\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u3092\u3001\u5916\u90E8\u30AD\u30FC\u306B\u542B\u307E\u308C\u308Bnull\u4E0D\u53EF\u5217\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3057\u3001\u4E0B\u9650\u30921\u306B\u8A2D\u5B9A\u3057\u307E\u3059\u3002 -MESSAGE_LWB_PKSUBSET=Bean {0}\u306E\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u3092\u3001\u4E3B\u30AD\u30FC\u5217\u306E\u30B5\u30D6\u30BB\u30C3\u30C8\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3057\u3001\u4E0B\u9650\u30921\u306B\u8A2D\u5B9A\u3057\u307E\u3059\u3002 -MESSAGE_LWB_CASCADE=Bean {0}\u306E\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306B\u5BFE\u5FDC\u3059\u308B\u3001\u95A2\u4FC2\u306E\u3053\u3061\u3089\u5074\u306B\u306F\u30AB\u30B9\u30B1\u30FC\u30C9\u524A\u9664\u306E\u30DE\u30FC\u30AF\u304C\u4ED8\u3051\u3089\u308C\u3066\u3044\u307E\u3059\u3002\u4E0B\u9650\u30921\u306B\u8A2D\u5B9A\u3057\u307E\u3059\u3002 -MESSAGE_LWB_NODEPENDENT=Bean {0}\u306E\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u4F9D\u5B58\u5074\u3092\u7279\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002 -MESSAGE_CONV_EXC=\u5909\u63DB\u6642\u306E\u4F8B\u5916: {0} -MESSAGE_REL_OBJ_DEL=Bean {0}\u304A\u3088\u3073\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306B\u3064\u3044\u3066\u306F\u3001\u95A2\u9023\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u524A\u9664\u306FTRUE\u3067\u3059\u3002 -MESSAGE_ADD_COLUMN=\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u306B\u5217{0}\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002 -MESSAGE_JDOCLASS_NAME=Bean {0}\u306E\u30AF\u30E9\u30B9\u540D\u306F{1}\u3067\u3059\u3002 -MESSAGE_CANDIDATE_PK=\u5019\u88DCPK\u306B\u306F{0}\u3068\u3044\u3046\u5217\u540D\u304C\u3042\u308A\u307E\u3059\u3002 - -ERR_INVALID_COLUMN=JDO71001: \u8868{1}\u306B\u306F{0}\u3068\u3044\u3046\u5217\u306F\u3042\u308A\u307E\u305B\u3093 -ERR_INVALID_TABLE=JDO71002: \u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB{1}\u306B\u306F{0}\u3068\u3044\u3046\u8868\u306F\u542B\u307E\u308C\u307E\u305B\u3093 -ERR_CANNOT_FIND_SCHEMA=JDO71003: \u30AF\u30E9\u30B9\u30FB\u30D1\u30B9{1}\u3067\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F -ERR_BAD_MULTIPLICTY=JDO71005: \u7121\u52B9\u306A\u4E57\u6570\u8981\u7D20\u5024: {0} (ejb-relationship-role\u8981\u7D20\u5185: {1}) -ERR_INVALID_FG_LEVEL=JDO71006: Bean {0}\u3001\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306Efetched-with\u30EC\u30D9\u30EB{2}\u306E\u5024\u306F\u7121\u52B9\u3067\u3059\u3002 -ERR_UNDEFINED_TABLE=JDO71008: \u8868\u5B9A\u7FA9\u304C\u3042\u308A\u307E\u305B\u3093 -ERR_INVALID_FIELD=JDO71009: Bean {0}\u306B\u306F\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306F\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -ERR_FIELD_MAPPED_TWICE=JDO71010: Bean {0}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306F\u3059\u3067\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002 -ERR_BAD_CONVERSION_HELPER=JDO71014: ConversionHelper\u30A2\u30B5\u30FC\u30B7\u30E7\u30F3\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u73FE\u5728\u306E\u30D8\u30EB\u30D1\u30FC\u306F\u30DE\u30C3\u30D4\u30F3\u30B0\u306E\u5B8C\u4E86\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002 -ERR_COLUMN_PAIR_MISSING=JDO71018: Bean {0}\u3001\u30D5\u30A3\u30FC\u30EB\u30C9{5}\u306Ecmr-field-mapping\u304C\u7121\u52B9\u3067\u3059\u3002\u5C11\u306A\u304F\u3068\u30821\u3064\u306Ecolumn-pair\u8981\u7D20\u304C\u5FC5\u8981\u3067\u3059\u3002 - -ERR_INVALID_CONSISTENCY_VALUE=JDO71019: {0}\u306E\u6574\u5408\u6027\u6307\u5B9A\u304C\u7121\u52B9\u3067\u3059 - -WARN_ILLEGAL_PAIR=JDO71020: Bean {0}\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u306E\u30BB\u30AB\u30F3\u30C0\u30EA\u8868{1}\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u5217\u306E\u30DA\u30A2\u304C\u7121\u52B9\u3067\u3059: {2} -WARN_MISSING_TABLE=JDO71021: Bean {0}\u306EMappingReferenceKeyElement\u306B\u8868\u540D{1}\u304C\u3042\u308A\u307E\u305B\u3093 -WARN_NO_PRIMARY=JDO71022: Bean {0}\u304C\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -WARN_NOT_MAPPED_TO_PRIMARY=JDO71023: \u3053\u306Emce\u306F\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u305B\u3093: {0} -WARN_NO_PAIRS=JDO71024: Bean {0}\u306B\u306F\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u304B\u3089\u30BB\u30AB\u30F3\u30C0\u30EA\u8868{1}\u306B\u30DE\u30C3\u30D7\u3059\u308B\u30DA\u30A2\u304C\u3042\u308A\u307E\u305B\u3093 -XML_ERROR_IN_MAPPING_FILE=JDO71026: {0}\u306B\u306F\u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u3092\u4FEE\u6B63\u3057\u3066\u304B\u3089\u518D\u30C7\u30D7\u30ED\u30A4\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -WARN_INVALID_FIELD=JDO71027: \u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u306B\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u306A\u3044\u3001\u307E\u305F\u306F\u3059\u3067\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001Bean {0}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306F\u7121\u52B9\u3067\u3059\u3002 -WARN_INVALID_CMRFIELD=JDO71028: \u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u306B\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u306A\u3044\u3001\u307E\u305F\u306F\u3059\u3067\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001Bean {0}\u306E\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306F\u7121\u52B9\u3067\u3059\u3002 -WARN_INVALID_RELATIONSHIP_FIELDTYPE=JDO71029: Bean {0}\u306E\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u578B{2}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u578B\u3067\u3059\u3002 -WARN_NO_PKCOLUMN=JDO71030: \u30B5\u30FC\u30D0\u30FC\u306B\u3088\u308B\u672A\u77E5\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u306E\u5B9F\u88C5\u3092\u30B5\u30DD\u30FC\u30C8\u3059\u308B\u305F\u3081\u306E\u3001\u8868{0}\u5185\u306E\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -ERR_INVALID_VERSION_COLUMNS=JDO71031: 1\u3064\u306EBean\u5185\u306E\u8907\u6570\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u5217\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -WARN_VERSION_COLUMN_INVALID_TABLE=JDO71032: \u30D0\u30FC\u30B8\u30E7\u30F3\u5217{2}\u306F\u3001Bean {1}\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u306B\u5C5E\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0}\u3002 -WARN_VERSION_COLUMN_MISSING=JDO71033: Bean {1}\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868{0}\u306B\u306F\u30D0\u30FC\u30B8\u30E7\u30F3\u5217\u304C\u5FC5\u8981\u3067\u3059\u3002 -ERR_INVALID_CLASS=JDO71035: Bean {0}\u306B\u5BFE\u5FDC\u3059\u308B\u30AF\u30E9\u30B9\u304Cnull\u3067\u3059\u3002 - -############################################################################### -# -# Message ID Range: JDO71100 - JDO71199 -############################################################################### -CMD_FLAG_USERNAME=-username -CMD_FLAG_TABLE=-table -STRING_SCHEMAS_SLASH_NOI18N=schemas/ -MESSAGE_CAPTURING_SCHEMA=\u30B9\u30AD\u30FC\u30DE\u306E\u30AD\u30E3\u30D7\u30C1\u30E3: -MESSAGE_USING_SCHEMANAME=schemaname\u306E\u4F7F\u7528: - -HELP_USAGE=\u4F7F\u7528\u65B9\u6CD5: \n capture-schema -username name -password password -dburl url -driver jdbcdriver -out aFilename \n\t [-schemaname aSchemaname] [-table aTablename]*\n \u8AAC\u660E: \n\t-username: \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u3092\u8A8D\u8A3C\u3059\u308B\u305F\u3081\u306E\u30E6\u30FC\u30B6\u30FC\u540D\n \t-password: \u9078\u629E\u3057\u305F\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u305F\u3081\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\n \t-dburl: \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u305F\u3081\u306E\u30C9\u30E9\u30A4\u30D0\u306B\u3088\u3063\u3066\u8981\u6C42\u3055\u308C\u308BJDBC URL\n \t-driver: CLASSPATH\u5185\u306EJDBC\u30C9\u30E9\u30A4\u30D0\u30FB\u30AF\u30E9\u30B9\u540D\n \t-out: \u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D\u3002\u672B\u5C3E\u304C".dbschema"\u3067\u306F\u306A\u3044\u5834\u5408\u3001\u3053\u306E\u62E1\u5F35\u5B50\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3059\u3002\n \t-schemaname: \u30AD\u30E3\u30D7\u30C1\u30E3\u4E2D\u306E\u30E6\u30FC\u30B6\u30FC\u30FB\u30B9\u30AD\u30FC\u30DE\u306E\u540D\u524D\n \t-table: \u30AD\u30E3\u30D7\u30C1\u30E3\u3055\u308C\u308B\u8868\u306E\u540D\u524D\n \n\t\u8868\u540D\u3092\u6307\u5B9A\u3057\u306A\u3044\u5834\u5408\u3001\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u5185\u306E\u3059\u3079\u3066\u306E\u8868\n\t(\u307E\u305F\u306F\u3001\u6307\u5B9A\u3057\u305F\u5834\u5408\u305D\u306E\u30B9\u30AD\u30FC\u30DE)\u304C\u30AD\u30E3\u30D7\u30C1\u30E3\u3055\u308C\u307E\u3059\u3002\n\n\t\u30B9\u30AD\u30FC\u30DE\u540D\u3092\u6307\u5B9A\u3057\u306A\u3044\u5834\u5408\u3001\u3053\u306E\u30E6\u30FC\u30B6\u30FC\u304C\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u308B\u3059\u3079\u3066\u306E\u30B9\u30AD\u30FC\u30DE\u304B\u3089\n\t\u3059\u3079\u3066\u306E\u8868\u306E\u30E1\u30BF\u30C7\u30FC\u30BF\u304C\u30AD\u30E3\u30D7\u30C1\u30E3\u3055\u308C\u307E\u3059\u3002 - -STRING_ORACLE_DRIVER_NOI18N= -CMD_FLAG_PASSWORD=-password -MESSAGE_USING_USERNAME=\u30E6\u30FC\u30B6\u30FC\u540D\u306E\u4F7F\u7528: -STRING_IASCTS_NOI18N= -CMD_FLAG_DRIVER=-driver -MESSAGE_SAVING_SCHEMA=\u30B9\u30AD\u30FC\u30DE\u3092\u4FDD\u5B58\u4E2D ... -MESSAGE_USING_PASSWORD=\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u4F7F\u7528: -MESSAGE_SCHEMA_CAPTURED=\u30AD\u30E3\u30D7\u30C1\u30E3\u6E08\u30B9\u30AD\u30FC\u30DE -MESSAGE_USING_DRIVER=\u30C9\u30E9\u30A4\u30D0\u306E\u4F7F\u7528: -CMD_FLAG_SCHEMA_NAME=-schemaname -CMD_FLAG_DBURL=-dburl -MESSAGE_USING_URL=dburl\u306E\u4F7F\u7528: -MESSAGE_CHANGING_OUTFILENAME=\u8B66\u544A: \u30D5\u30A1\u30A4\u30EB\u540D\u306B\u62E1\u5F35\u5B50\u3092\u8FFD\u52A0\u3057\u305F\u305F\u3081\u3001\u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F -MESSAGE_USING_OUTFILENAME=\u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u4F7F\u7528: - -#NOI18N -STRING_ORACLE_JDBC_URL_PREFIX_NOI18N=jdbc:oracle: -#NOI18N -CMD_FLAG_OUTPUT=-out - -ERR_CHECK_CLASSPATH=JDO71100: \u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002CLASSPATH\u3067\u30AF\u30E9\u30B9\u3092\u4F7F\u7528\u3067\u304D\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -ERR_INVALID_TABLE_GIVEN=JDO71101: \u8868{0}\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002 -MESSAGE_NO_VALID_TABLES=JDO71102: \u6709\u52B9\u306A\u8868\u304C\u30EA\u30AF\u30A8\u30B9\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u306F\u4F5C\u6210\u3055\u308C\u307E\u305B\u3093 -ERR_ORACLE_ARGUMENTS=JDO71103: Oracle\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3067\u306F\u3001schemaname\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059 - -############################################################################### -# -# Message ID Range: JDO71200 - JDO71299 -############################################################################### -ERR_DISCONNECTED_NOT_SUPPORTED=\u63A5\u7D9A\u3057\u3066\u3044\u306A\u3044Bean\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 diff --git a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_ko.properties b/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_ko.properties deleted file mode 100644 index 50af6fd6c90..00000000000 --- a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_ko.properties +++ /dev/null @@ -1,131 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO71000 - JDO71099 -############################################################################### -#NOI18N -CONST_IAS_MAPPING_FILE_LOC=META-INF -CONST_IAS_MAPPING_FILE=sun-cmp-mappings.xml - -MESSAGE_START_BEAN=Bean \uBCC0\uD658 \uC2DC\uC791: {0} -MESSAGE_LWB_NULL=Bean {0}\uC758 \uAD00\uACC4 \uD544\uB4DC {1}\uC758 \uD558\uD55C\uC744 0\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4. -MESSAGE_LWB_NOPK=Bean {0}\uC758 \uAD00\uACC4 \uD544\uB4DC {1}\uC740(\uB294) \uAE30\uBCF8 \uD0A4\uC758 \uC77C\uBD80\uAC00 \uC544\uB2C8\uBA70 \uB110\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC5F4\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4... \uD558\uD55C\uC744 1\uB85C \uC124\uC815\uD569\uB2C8\uB2E4. -MESSAGE_LWB_FK=Bean {0}\uC758 \uAD00\uACC4 \uD544\uB4DC {1}\uC740(\uB294) \uC678\uB798 \uD0A4 \uC81C\uC57D \uC870\uAC74\uC758 \uC77C\uBD80\uC774\uBA70 \uB110\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC5F4\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4... \uD558\uD55C\uC744 1\uB85C \uC124\uC815\uD569\uB2C8\uB2E4. -MESSAGE_LWB_PKSUBSET=Bean {0}\uC758 \uAD00\uACC4 \uD544\uB4DC {1}\uC740(\uB294) \uAE30\uBCF8 \uD0A4 \uC5F4\uC758 \uD558\uC704 \uC9D1\uD569\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4... \uD558\uD55C\uC744 1\uB85C \uC124\uC815\uD569\uB2C8\uB2E4. -MESSAGE_LWB_CASCADE=Bean {0}\uC758 \uAD00\uACC4 \uD544\uB4DC {1}\uC5D0 \uD574\uB2F9\uD558\uB294 \uAD00\uACC4\uC758 \uC774\uCABD \uBD80\uBD84\uC5D0 \uBAA8\uB450 \uC0AD\uC81C \uD45C\uC2DC\uAC00 \uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4... \uD558\uD55C\uC744 1\uB85C \uC124\uC815\uD569\uB2C8\uB2E4. -MESSAGE_LWB_NODEPENDENT=Bean {0}\uC758 \uAD00\uACC4 \uD544\uB4DC {1}\uC5D0 \uD574\uB2F9\uD558\uB294 \uC885\uC18D\uB41C \uCABD\uC744 \uACB0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -MESSAGE_CONV_EXC=\uBCC0\uD658 \uC608\uC678 \uC0AC\uD56D: {0} -MESSAGE_REL_OBJ_DEL=\uAD00\uB828 \uAC1D\uCCB4 \uC0AD\uC81C\uB294 Bean {0}\uACFC {1} \uD544\uB4DC\uC5D0 \uB300\uD574 TRUE\uC785\uB2C8\uB2E4. -MESSAGE_ADD_COLUMN={0} \uC5F4\uC744 {1} \uD544\uB4DC\uC758 \uB9E4\uD551\uC5D0 \uCD94\uAC00\uD558\uC2ED\uC2DC\uC624. -MESSAGE_JDOCLASS_NAME=Bean {0}\uC758 \uD074\uB798\uC2A4 \uC774\uB984\uC740 {1}\uC785\uB2C8\uB2E4. -MESSAGE_CANDIDATE_PK=\uD6C4\uBCF4 PK\uC758 \uC5F4 \uC774\uB984\uC740 {0}\uC785\uB2C8\uB2E4. - -ERR_INVALID_COLUMN=JDO71001: \uD14C\uC774\uBE14 {1}\uC5D0 \uC774\uB984\uC774 {0}\uC778 \uC5F4\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. -ERR_INVALID_TABLE=JDO71002:\uC2A4\uD0A4\uB9C8 \uD30C\uC77C {1}\uC5D0 \uC774\uB984\uC774 {0}\uC778 \uD14C\uC774\uBE14\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. -ERR_CANNOT_FIND_SCHEMA=JDO71003: \uD074\uB798\uC2A4 \uACBD\uB85C {1}\uC5D0\uC11C \uC2A4\uD0A4\uB9C8 \uD30C\uC77C {0}\uC744(\uB97C) \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -ERR_BAD_MULTIPLICTY=JDO71005:\uBD80\uC801\uD569\uD55C \uBCF5\uC218 \uC694\uC18C \uAC12: {0}(ejb-relationship-role \uC694\uC18C \uAC12: {1}) -ERR_INVALID_FG_LEVEL=JDO71006: Bean {0}\uC758 {1} \uD544\uB4DC\uC5D0 \uC788\uB294 fetched-with \uB808\uBCA8 {2} \uAC12\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -ERR_UNDEFINED_TABLE=JDO71008: \uD14C\uC774\uBE14 \uC815\uC758\uAC00 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -ERR_INVALID_FIELD=JDO71009: {1} \uD544\uB4DC\uB294 Bean {0}\uC5D0 \uC815\uC758\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -ERR_FIELD_MAPPED_TWICE=JDO71010: Bean {0}\uC758 {1} \uD544\uB4DC\uB294 \uC774\uBBF8 \uB9E4\uD551\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. -ERR_BAD_CONVERSION_HELPER=JDO71014: ConversionHelper\uC758 \uBA85\uC81C\uB97C \uC2E4\uD328\uD558\uC600\uC2B5\uB2C8\uB2E4. \uD604\uC7AC \uB3C4\uC6B0\uBBF8\uC5D0\uC11C\uB294 \uB9E4\uD551 \uC644\uB8CC\uB97C \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -ERR_COLUMN_PAIR_MISSING=JDO71018:Bean: {0} \uD544\uB4DC: {5}\uC5D0 \uBD80\uC801\uD569\uD55C cmr \uD544\uB4DC \uB9E4\uD551\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uC801\uC5B4\uB3C4 \uD558\uB098\uC758 \uC5F4 \uC30D \uC694\uC18C\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. - -ERR_INVALID_CONSISTENCY_VALUE=JDO71019: {0}\uC5D0 \uBD80\uC801\uD569\uD55C \uC77C\uAD00\uC131 \uC0AC\uC591 - -WARN_ILLEGAL_PAIR=JDO71020:Bean {0}\uC758 \uB9E4\uD551 \uBCF4\uC870 \uD14C\uC774\uBE14 {1}\uC5D0 \uC9C0\uC815\uB41C \uC798\uBABB\uB41C \uC5F4 \uC30D: {2} -WARN_MISSING_TABLE=JDO71021:Bean {0}\uC758 MappingReferenceKeyElement\uC5D0 \uD14C\uC774\uBE14 \uC774\uB984 {1}\uC774(\uAC00) \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -WARN_NO_PRIMARY=JDO71022:Bean {0}\uC740(\uB294) \uAE30\uBCF8 \uD14C\uC774\uBE14\uC5D0 \uB9E4\uD551\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -WARN_NOT_MAPPED_TO_PRIMARY=JDO71023:\uC774 mce\uAC00 \uAE30\uBCF8 \uD14C\uC774\uBE14\uC5D0 \uB9E4\uD551\uB418\uC9C0 \uC54A\uC74C: {0} -WARN_NO_PAIRS=JDO71024:Bean {0}\uC5D0\uB294 \uAE30\uBCF8 \uD14C\uC774\uBE14\uC744 \uBCF4\uC870 \uD14C\uC774\uBE14 {1}\uC5D0 \uB9E4\uD551\uD560 \uC30D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. -XML_ERROR_IN_MAPPING_FILE=JDO71026: {0}\uC5D0 \uAD6C\uBB38 \uC624\uB958\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uD30C\uC77C\uC744 \uC218\uC815\uD558\uACE0 \uC7AC\uBC30\uCE58\uD558\uC2ED\uC2DC\uC624. -WARN_INVALID_FIELD=JDO71027: Bean {0}\uC758 {1} \uD544\uB4DC\uB294 \uBC30\uCE58 \uAE30\uC220\uC790\uC5D0 \uC120\uC5B8\uB418\uC5B4 \uC788\uC9C0 \uC54A\uAC70\uB098 \uC774\uBBF8 \uB9E4\uD551\uB418\uC5C8\uAE30 \uB54C\uBB38\uC5D0 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -WARN_INVALID_CMRFIELD=JDO71028: Bean {0}\uC758 \uAD00\uACC4 \uD544\uB4DC {1}\uC740 \uBC30\uCE58 \uAE30\uC220\uC790\uC5D0 \uC120\uC5B8\uB418\uC5B4 \uC788\uC9C0 \uC54A\uAC70\uB098 \uC774\uBBF8 \uB9E4\uD551\uB418\uC5C8\uAE30 \uB54C\uBB38\uC5D0 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -WARN_INVALID_RELATIONSHIP_FIELDTYPE=JDO71029: Bean {0}\uC5D0 \uC788\uB294 \uAD00\uACC4 \uD544\uB4DC {1}\uC758 \uD544\uB4DC \uC720\uD615 {2}\uC740(\uB294) \uC9C0\uC6D0\uB418\uB294 \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4. -WARN_NO_PKCOLUMN=JDO71030: \uD14C\uC774\uBE14 {0}\uC5D0\uB294 \uC54C \uC218 \uC5C6\uB294 \uD0A4 \uD074\uB798\uC2A4\uC5D0 \uB300\uD55C \uC11C\uBC84\uC758 \uAD6C\uD604\uC744 \uC9C0\uC6D0\uD558\uB294 \uB370 \uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 \uC5F4\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. -ERR_INVALID_VERSION_COLUMNS=JDO71031: \uD558\uB098\uC758 Bean\uC5D0\uC11C\uB294 \uC5EC\uB7EC \uAC1C\uC758 \uBC84\uC804 \uC5F4\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -WARN_VERSION_COLUMN_INVALID_TABLE=JDO71032: \uBC84\uC804 \uC5F4 {2}\uC740(\uB294) Bean {1}\uC758 \uAE30\uBCF8 \uD14C\uC774\uBE14\uC5D0 \uC18D\uD574\uC57C \uD568: {0}. -WARN_VERSION_COLUMN_MISSING=JDO71033: Bean {1}\uC758 \uAE30\uBCF8 \uD14C\uC774\uBE14 {0}\uC5D0\uB294 \uBC84\uC804 \uC5F4\uC774 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4. -ERR_INVALID_CLASS=JDO71035: Bean {0}\uC5D0 \uD574\uB2F9\uD558\uB294 \uD074\uB798\uC2A4\uAC00 \uB110\uC785\uB2C8\uB2E4. - -############################################################################### -# -# Message ID Range: JDO71100 - JDO71199 -############################################################################### -CMD_FLAG_USERNAME=-username -CMD_FLAG_TABLE=-table -STRING_SCHEMAS_SLASH_NOI18N=schemas/ -MESSAGE_CAPTURING_SCHEMA=\uC2A4\uD0A4\uB9C8 \uCEA1\uCC98 \uC911: -MESSAGE_USING_SCHEMANAME=\uC2A4\uD0A4\uB9C8 \uC774\uB984 \uC0AC\uC6A9: - -HELP_USAGE=\uC0AC\uC6A9\uBC95: \n capture-schema -username name -password password -dburl url -driver jdbcdriver -out aFilename \n\t [-schemaname aSchemaname] [-table aTablename]*\n \uC124\uBA85: \n\t-username: \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0 \uB300\uD55C \uC561\uC138\uC2A4\uB97C \uC778\uC99D\uD558\uAE30 \uC704\uD55C \uC0AC\uC6A9\uC790 \uC774\uB984\uC785\uB2C8\uB2E4.\n \t-password: \uC120\uD0DD\uD55C \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0 \uC561\uC138\uC2A4\uD558\uAE30 \uC704\uD55C \uBE44\uBC00\uBC88\uD638\uC785\uB2C8\uB2E4.\n \t-dburl: \uB4DC\uB77C\uC774\uBC84\uC5D0\uC11C \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0 \uC561\uC138\uC2A4\uD558\uB294 \uB370 \uD544\uC694\uD55C JDBC URL\uC785\uB2C8\uB2E4.\n \t-driver: CLASSPATH\uC758 JDBC \uB4DC\uB77C\uC774\uBC84 \uD074\uB798\uC2A4 \uC774\uB984\uC785\uB2C8\uB2E4.\n \t-out: \uCD9C\uB825 \uD30C\uC77C\uC758 \uC774\uB984\uC785\uB2C8\uB2E4. ".dbschema"\uB85C \uB05D\uB098\uC9C0 \uC54A\uC744 \uACBD\uC6B0 \uD574\uB2F9 \uD655\uC7A5\uC790\uAC00 \uCD94\uAC00\uB429\uB2C8\uB2E4. \n \t-schemaname: \uCEA1\uCC98\uD560 \uC0AC\uC6A9\uC790 \uC2A4\uD0A4\uB9C8\uC758 \uC774\uB984\uC785\uB2C8\uB2E4.\n \t-table: \uCEA1\uCC98\uD560 \uD14C\uC774\uBE14\uC758 \uC774\uB984\uC785\uB2C8\uB2E4.\n \n\t\uD14C\uC774\uBE14 \uC774\uB984\uC774 \uC81C\uACF5\uB418\uC9C0 \uC54A\uC740 \uACBD\uC6B0 \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC758 \uBAA8\uB4E0 \uD14C\uC774\uBE14\r\n\t(\uB610\uB294 \uC774\uB984\uC774 \uC9C0\uC815\uB41C \uC2A4\uD0A4\uB9C8)\uC774 \uCEA1\uCC98\uB429\uB2C8\uB2E4.\n\n\t\uC2A4\uD0A4\uB9C8 \uC774\uB984\uC774 \uC81C\uACF5\uB418\uC9C0 \uC54A\uC740 \uACBD\uC6B0 \uC774 \uC0AC\uC6A9\uC790\uAC00 \uC561\uC138\uC2A4\uD560 \uC218 \uC788\uB294 \uBAA8\uB4E0 \uC2A4\uD0A4\uB9C8\uC5D0\uC11C\r\n\t\uBAA8\uB4E0 \uD14C\uC774\uBE14\uC758 \uBA54\uD0C0 \uB370\uC774\uD130\uB97C \uCEA1\uCC98\uD569\uB2C8\uB2E4. - -STRING_ORACLE_DRIVER_NOI18N= -CMD_FLAG_PASSWORD=-password -MESSAGE_USING_USERNAME=\uC0AC\uC6A9\uC790 \uC774\uB984 \uC0AC\uC6A9: -STRING_IASCTS_NOI18N= -CMD_FLAG_DRIVER=-driver -MESSAGE_SAVING_SCHEMA=\uC2A4\uD0A4\uB9C8 \uC800\uC7A5 \uC911 ... -MESSAGE_USING_PASSWORD=\uBE44\uBC00\uBC88\uD638 \uC0AC\uC6A9: -MESSAGE_SCHEMA_CAPTURED=\uC2A4\uD0A4\uB9C8\uAC00 \uCEA1\uCC98\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -MESSAGE_USING_DRIVER=\uB4DC\uB77C\uC774\uBC84 \uC0AC\uC6A9: -CMD_FLAG_SCHEMA_NAME=-schemaname -CMD_FLAG_DBURL=-dburl -MESSAGE_USING_URL=dburl \uC0AC\uC6A9: -MESSAGE_CHANGING_OUTFILENAME=\uACBD\uACE0: \uCD9C\uB825 \uD30C\uC77C \uC774\uB984\uC774 \uD30C\uC77C \uC774\uB984 \uD655\uC7A5\uC790\uAC00 \uD3EC\uD568\uB41C \uC774\uB984\uC73C\uB85C \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -MESSAGE_USING_OUTFILENAME=\uCD9C\uB825 \uD30C\uC77C \uC0AC\uC6A9: - -#NOI18N -STRING_ORACLE_JDBC_URL_PREFIX_NOI18N=jdbc:oracle: -#NOI18N -CMD_FLAG_OUTPUT=-out - -ERR_CHECK_CLASSPATH=JDO71100: \uD074\uB798\uC2A4\uB97C \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. CLASSPATH\uC5D0 \uD074\uB798\uC2A4\uAC00 \uC788\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -ERR_INVALID_TABLE_GIVEN=JDO71101: \uD14C\uC774\uBE14 {0}\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -MESSAGE_NO_VALID_TABLES=JDO71102: \uC801\uD569\uD55C \uD14C\uC774\uBE14\uC774 \uC694\uCCAD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC774 \uC0DD\uC131\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -ERR_ORACLE_ARGUMENTS=JDO71103: Oracle \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uB294 schemaname \uC778\uC218\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. - -############################################################################### -# -# Message ID Range: JDO71200 - JDO71299 -############################################################################### -ERR_DISCONNECTED_NOT_SUPPORTED=\uC811\uC18D \uD574\uC81C\uB41C Bean\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. diff --git a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_pt_BR.properties deleted file mode 100644 index 4558f042b69..00000000000 --- a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_pt_BR.properties +++ /dev/null @@ -1,131 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO71000 - JDO71099 -############################################################################### -#NOI18N -CONST_IAS_MAPPING_FILE_LOC=META-INF -CONST_IAS_MAPPING_FILE=sun-cmp-mappings.xml - -MESSAGE_START_BEAN=Iniciar a convers\u00E3o do bean: {0} -MESSAGE_LWB_NULL=Definindo o limite inferior do campo de relacionamento {1} do bean {0} para 0. -MESSAGE_LWB_NOPK=O campo de relacionamento {1} do bean {0} est\u00E1 mapeado para uma coluna que n\u00E3o pode ser nula e que n\u00E3o faz parte da chave prim\u00E1ria... definindo o limite inferior como 1. -MESSAGE_LWB_FK=O campo de relacionamento {1} do bean {0} est\u00E1 mapeado para uma coluna que n\u00E3o pode ser nula e que faz parte de uma restri\u00E7\u00E3o de chave estrangeira... definindo o limite inferior para 1. -MESSAGE_LWB_PKSUBSET=O campo de relacionamento {1} do bean {0} est\u00E1 mapeado para um subconjunto de colunas de chave prim\u00E1ria... definindo o limite inferior para 1. -MESSAGE_LWB_CASCADE=Esse lado do relacionamento correspondente ao campo de relacionamento {1} do bean {0} est\u00E1 marcado para dele\u00E7\u00E3o em cascata... definindo o limite inferior para 1. -MESSAGE_LWB_NODEPENDENT=N\u00E3o \u00E9 poss\u00EDvel determinar o lado dependente do campo de relacionamento {1} do bean {0}. -MESSAGE_CONV_EXC=Exce\u00E7\u00E3o de convers\u00E3o: {0} -MESSAGE_REL_OBJ_DEL=Objetos relacionados s\u00E3o deletados definidos como TRUE para o bean {0} e o campo {1}. -MESSAGE_ADD_COLUMN=Adicionar coluna {0} para mapear para o campo {1}. -MESSAGE_JDOCLASS_NAME=O nome da classe do bean {0} \u00E9 {1}. -MESSAGE_CANDIDATE_PK=A Chave Prim\u00E1ria Candidata tem o nome de coluna {0}. - -ERR_INVALID_COLUMN=JDO71001: A tabela {1} n\u00E3o tem uma coluna nomeada {0} -ERR_INVALID_TABLE=JDO71002: O arquivo de esquema {1} n\u00E3o cont\u00E9m uma tabela nomeada {0} -ERR_CANNOT_FIND_SCHEMA=JDO71003: N\u00E3o foi poss\u00EDvel localizar o arquivo de esquema {0} no classpath {1} -ERR_BAD_MULTIPLICTY=JDO71005: Valor inv\u00E1lido de elemento de multiplicidade: {0} (no elemento ejb-relationship-role: {1}) -ERR_INVALID_FG_LEVEL=JDO71006: Valor inv\u00E1lido para o n\u00EDvel fetched-with {2} no campo {1} do bean {0}. -ERR_UNDEFINED_TABLE=JDO71008: Defini\u00E7\u00E3o da tabela ausente -ERR_INVALID_FIELD=JDO71009: O campo {1} n\u00E3o est\u00E1 definido para o bean {0}. -ERR_FIELD_MAPPED_TWICE=JDO71010: O campo {1} do bean {0} j\u00E1 est\u00E1 mapeado. -ERR_BAD_CONVERSION_HELPER=JDO71014: Ocorreu uma falha de asser\u00E7\u00E3o do ConversionHelper. O helper n\u00E3o suporta a conclus\u00E3o do mapeamento. -ERR_COLUMN_PAIR_MISSING=JDO71018: Cmr-field-mapping inv\u00E1lido para o bean: {0} campo: {5}. Ao menos um elemento de par de colunas \u00E9 necess\u00E1rio. - -ERR_INVALID_CONSISTENCY_VALUE=JDO71019: Especifica\u00E7\u00E3o inv\u00E1lida de consist\u00EAncia para {0} - -WARN_ILLEGAL_PAIR=JDO71020: Par ilegal de colunas especificado para a tabela secund\u00E1ria {1} do mapeamento para o bean {0}: {2} -WARN_MISSING_TABLE=JDO71021: Nome da tabela {1} ausente no MappingReferenceKeyElement para o bean {0} -WARN_NO_PRIMARY=JDO71022: O bean {0} n\u00E3o est\u00E1 mapeado para uma tabela principal. -WARN_NOT_MAPPED_TO_PRIMARY=JDO71023: Este mce n\u00E3o est\u00E1 mapeado para uma tabela principal: {0} -WARN_NO_PAIRS=JDO71024: O bean {0} n\u00E3o tem pares para mapear a tabela principal para a tabela secund\u00E1ria {1} -XML_ERROR_IN_MAPPING_FILE=JDO71026: {0} possui erros de sintaxe. Corrija o arquivo e volte a implantar. -WARN_INVALID_FIELD=JDO71027: O campo {1} no bean {0} \u00E9 inv\u00E1lido porque o campo n\u00E3o est\u00E1 declarado no descritor de implanta\u00E7\u00E3o ou j\u00E1 foi mapeado. -WARN_INVALID_CMRFIELD=JDO71028: O campo de relacionamento {1} no bean {0} \u00E9 inv\u00E1lido porque o campo n\u00E3o est\u00E1 declarado no descritor de implanta\u00E7\u00E3o ou j\u00E1 foi mapeado. -WARN_INVALID_RELATIONSHIP_FIELDTYPE=JDO71029: O tipo de campo {2} para o campo de relacionamento {1} no bean {0} n\u00E3o \u00E9 um tipo suportado. -WARN_NO_PKCOLUMN=JDO71030: N\u00E3o h\u00E1 uma coluna na tabela {0} que possa ser utilizada para suportar a implementa\u00E7\u00E3o de classes de chave desconhecidas do servidor. -ERR_INVALID_VERSION_COLUMNS=JDO71031: Colunas de m\u00FAltiplas vers\u00F5es em um bean n\u00E3o t\u00EAm suporte. -WARN_VERSION_COLUMN_INVALID_TABLE=JDO71032: A coluna de vers\u00E3o {2} deve pertencer \u00E0 tabela principal do bean {1}: {0}. -WARN_VERSION_COLUMN_MISSING=JDO71033: A tabela principal {0} do bean {1} deve ter uma coluna de vers\u00E3o. -ERR_INVALID_CLASS=JDO71035: A classe correspondente ao bean {0} \u00E9 nula. - -############################################################################### -# -# Message ID Range: JDO71100 - JDO71199 -############################################################################### -CMD_FLAG_USERNAME=-nome do usu\u00E1rio -CMD_FLAG_TABLE=-tabela -STRING_SCHEMAS_SLASH_NOI18N=esquemas/ -MESSAGE_CAPTURING_SCHEMA=Capturando o esquema: -MESSAGE_USING_SCHEMANAME=Utilizando schemaname: - -HELP_USAGE=uso: \\n capture-schema -username name -password password -dburl url -driver jdbcdriver -out aFilename \\n\\t [-schemaname aSchemaname] [-table aTablename]*\\n em que: \\n\\t-username: nome do usu\u00E1rio para autenticar o acesso a um banco de dados \\n \\t-password: senha para acesso a um banco de dados \\n \\t-dburl: URL de JDBC esperado pelo driver para acessar um banco de dados \\n \\t-driver: O classname de driver JDBC no seu CLASSPATH \\n \\t-out: o nome do arquivo de sa\u00EDda. Se n\u00E3o terminar com ".dbschema", essa extens\u00E3o ser\u00E1 adicionada. \\n \\t-schemaname: o nome do esquema do usu\u00E1rio que est\u00E1 sendo capturado \\n \\t-table: o nome de uma tabela a ser capturada \\n \\n\\tSe nenhum nome de tabela for fornecido, todas as tabelas no banco de dados\\n\\t(ou esquema nomeado, se fornecido) ser\u00E3o capturadas.\\n\\n\\tSe nenhum schemaname for fornecido, ser\u00E3o capturados metadados para todas as tabelas\\n\\tde todos os esquemas acess\u00EDveis para este usu\u00E1rio. - -STRING_ORACLE_DRIVER_NOI18N= -CMD_FLAG_PASSWORD=-senha -MESSAGE_USING_USERNAME=Utilizando o username: -STRING_IASCTS_NOI18N= -CMD_FLAG_DRIVER=-driver -MESSAGE_SAVING_SCHEMA=Salvando esquema ... -MESSAGE_USING_PASSWORD=Utilizando a senha: -MESSAGE_SCHEMA_CAPTURED=Esquema capturado -MESSAGE_USING_DRIVER=Utilizando o driver: -CMD_FLAG_SCHEMA_NAME=-schemaname -CMD_FLAG_DBURL=-dburl -MESSAGE_USING_URL=Utilizando o dburl: -MESSAGE_CHANGING_OUTFILENAME=Advert\u00EAncia: o nome do arquivo de sa\u00EDda foi alterado para ter uma extens\u00E3o de nome de arquivo -MESSAGE_USING_OUTFILENAME=Utilizando o arquivo de sa\u00EDda: - -#NOI18N -STRING_ORACLE_JDBC_URL_PREFIX_NOI18N=jdbc:oracle: -#NOI18N -CMD_FLAG_OUTPUT=-sa\u00EDda - -ERR_CHECK_CLASSPATH=JDO71100: Ocorreu uma falha para encontrar a classe. Verifique se a classe est\u00E1 dispon\u00EDvel no seu CLASSPATH -ERR_INVALID_TABLE_GIVEN=JDO71101: N\u00E3o \u00E9 poss\u00EDvel acessar a tabela {0}. -MESSAGE_NO_VALID_TABLES=JDO71102: Nenhuma tabela v\u00E1lida solicitada. Nenhum arquivo de esquema criado -ERR_ORACLE_ARGUMENTS=JDO71103: argumento schemaname exigido para os bancos de dados Oracle - -############################################################################### -# -# Message ID Range: JDO71200 - JDO71299 -############################################################################### -ERR_DISCONNECTED_NOT_SUPPORTED=Beans desconectados n\u00E3o t\u00EAm suporte. diff --git a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_zh_CN.properties deleted file mode 100644 index 2cd8ecdc9f2..00000000000 --- a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_zh_CN.properties +++ /dev/null @@ -1,131 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO71000 - JDO71099 -############################################################################### -#NOI18N -CONST_IAS_MAPPING_FILE_LOC=META-INF -CONST_IAS_MAPPING_FILE=sun-cmp-mappings.xml - -MESSAGE_START_BEAN=\u5F00\u59CB\u8F6C\u6362 Bean: {0} -MESSAGE_LWB_NULL=\u5C06 Bean {0} \u7684\u5173\u7CFB\u5B57\u6BB5 {1} \u7684\u4E0B\u9650\u8BBE\u7F6E\u4E3A 0\u3002 -MESSAGE_LWB_NOPK=\u6B63\u5728\u5C06 Bean {0} \u7684\u5173\u7CFB\u5B57\u6BB5 {1} \u6620\u5C04\u5230\u4E0D\u5C5E\u4E8E\u4E3B\u952E\u5E76\u4E14\u4E0D\u53EF\u4E3A\u7A7A\u503C\u7684\u5217... \u5C06\u4E0B\u9650\u8BBE\u7F6E\u4E3A 1\u3002 -MESSAGE_LWB_FK=\u6B63\u5728\u5C06 Bean {0} \u7684\u5173\u7CFB\u5B57\u6BB5 {1} \u6620\u5C04\u5230\u5C5E\u4E8E\u5916\u952E\u7EA6\u675F\u6761\u4EF6\u5E76\u4E14\u4E0D\u53EF\u4E3A\u7A7A\u503C\u7684\u5217... \u5C06\u4E0B\u9650\u8BBE\u7F6E\u4E3A 1\u3002 -MESSAGE_LWB_PKSUBSET=\u6B63\u5728\u5C06 Bean {0} \u7684\u5173\u7CFB\u5B57\u6BB5 {1} \u6620\u5C04\u5230\u4E3B\u952E\u5217\u7684\u5B50\u96C6... \u5C06\u4E0B\u9650\u8BBE\u7F6E\u4E3A 1\u3002 -MESSAGE_LWB_CASCADE=\u6B63\u5728\u5C06\u4E0E Bean {0} \u7684\u5173\u7CFB\u5B57\u6BB5 {1} \u5BF9\u5E94\u7684\u5173\u7CFB\u7684\u6B64\u7AEF\u6807\u8BB0\u4E3A\u7EA7\u8054\u5220\u9664... \u5C06\u4E0B\u9650\u8BBE\u7F6E\u4E3A 1\u3002 -MESSAGE_LWB_NODEPENDENT=\u65E0\u6CD5\u786E\u5B9A Bean {0} \u7684\u5173\u7CFB\u5B57\u6BB5 {1} \u7684\u4ECE\u5C5E\u7AEF\u3002 -MESSAGE_CONV_EXC=\u8F6C\u6362\u5F02\u5E38\u9519\u8BEF: {0} -MESSAGE_REL_OBJ_DEL=Related objects are deleted is TRUE for bean {0} and field {1}. -MESSAGE_ADD_COLUMN=\u5C06\u5217 {0} \u6DFB\u52A0\u5230\u5B57\u6BB5 {1} \u7684\u6620\u5C04\u3002 -MESSAGE_JDOCLASS_NAME=Bean {0} \u7684\u7C7B\u540D\u79F0\u4E3A {1}\u3002 -MESSAGE_CANDIDATE_PK=\u5019\u9009 PK \u5177\u6709\u5217\u540D\u79F0 {0}\u3002 - -ERR_INVALID_COLUMN=JDO71001: \u8868 {1} \u4E2D\u6CA1\u6709\u540D\u4E3A {0} \u7684\u5217 -ERR_INVALID_TABLE=JDO71002: \u6A21\u5F0F\u6587\u4EF6 {1} \u4E0D\u5305\u542B\u540D\u4E3A {0} \u7684\u8868 -ERR_CANNOT_FIND_SCHEMA=JDO71003: \u5728\u7C7B\u8DEF\u5F84 {1} \u4E0A\u627E\u4E0D\u5230\u6A21\u5F0F\u6587\u4EF6 {0} -ERR_BAD_MULTIPLICTY=JDO71005: \u65E0\u6548\u7684\u591A\u91CD\u6027\u5143\u7D20\u503C: {0} (\u5728 ejb-relationship-role \u5143\u7D20\u4E2D: {1}) -ERR_INVALID_FG_LEVEL=JDO71006: Bean {0} \u7684\u5B57\u6BB5 {1} \u4E0A\u7684 fetched-with \u7EA7\u522B {2} \u7684\u503C\u65E0\u6548\u3002 -ERR_UNDEFINED_TABLE=JDO71008: \u7F3A\u5C11\u8868\u5B9A\u4E49 -ERR_INVALID_FIELD=JDO71009: \u6CA1\u6709\u4E3A Bean {0} \u5B9A\u4E49\u5B57\u6BB5 {1}\u3002 -ERR_FIELD_MAPPED_TWICE=JDO71010: \u5DF2\u6620\u5C04 Bean {0} \u7684\u5B57\u6BB5 {1}\u3002 -ERR_BAD_CONVERSION_HELPER=JDO71014: \u8F6C\u6362\u5E2E\u52A9\u5668\u65AD\u8A00\u5931\u8D25\u3002\u5F53\u524D\u5E2E\u52A9\u5668\u4E0D\u652F\u6301\u6620\u5C04\u5B8C\u6574\u3002 -ERR_COLUMN_PAIR_MISSING=JDO71018: Bean {0} \u5B57\u6BB5 {5} \u7684 cmr-field-mapping \u65E0\u6548\u3002\u9700\u8981\u81F3\u5C11\u4E00\u4E2A column-pair \u5143\u7D20\u3002 - -ERR_INVALID_CONSISTENCY_VALUE=JDO71019: {0}\u7684\u4E00\u81F4\u6027\u89C4\u8303\u65E0\u6548 - -WARN_ILLEGAL_PAIR=JDO71020: \u4E3A Bean {0} \u6620\u5C04\u7684\u8F85\u52A9\u8868{1}\u6307\u5B9A\u4E86\u975E\u6CD5\u7684\u5217\u5BF9: {2} -WARN_MISSING_TABLE=JDO71021: Bean {0} \u7684 MappingReferenceKeyElement \u4E2D\u7F3A\u5C11\u8868\u540D {1} -WARN_NO_PRIMARY=JDO71022: Bean {0} \u672A\u6620\u5C04\u5230\u4E3B\u8868\u3002 -WARN_NOT_MAPPED_TO_PRIMARY=JDO71023: \u6B64 mce \u672A\u6620\u5C04\u5230\u4E3B\u8868: {0} -WARN_NO_PAIRS=JDO71024: Bean {0} \u6CA1\u6709\u7528\u4E8E\u5C06\u4E3B\u8868\u6620\u5C04\u5230\u8F85\u52A9\u8868{1}\u7684\u5BF9 -XML_ERROR_IN_MAPPING_FILE=JDO71026: {0}\u6709\u8BED\u6CD5\u9519\u8BEF\u3002\u8BF7\u66F4\u6B63\u6587\u4EF6\u5E76\u91CD\u65B0\u90E8\u7F72\u3002 -WARN_INVALID_FIELD=JDO71027: Bean {0} \u4E2D\u7684\u5B57\u6BB5 {1} \u65E0\u6548, \u539F\u56E0\u662F\u672A\u5728\u90E8\u7F72\u63CF\u8FF0\u7B26\u4E2D\u58F0\u660E\u8BE5\u5B57\u6BB5\u6216\u8BE5\u5B57\u6BB5\u5DF2\u6620\u5C04\u3002 -WARN_INVALID_CMRFIELD=JDO71028: Bean {0} \u4E2D\u7684\u5173\u7CFB\u5B57\u6BB5 {1} \u65E0\u6548, \u539F\u56E0\u662F\u672A\u5728\u90E8\u7F72\u63CF\u8FF0\u7B26\u4E2D\u58F0\u660E\u8BE5\u5B57\u6BB5\u6216\u8BE5\u5B57\u6BB5\u5DF2\u6620\u5C04\u3002 -WARN_INVALID_RELATIONSHIP_FIELDTYPE=JDO71029: Bean {0} \u4E2D\u7684\u5173\u7CFB\u5B57\u6BB5 {1} \u7684\u5B57\u6BB5\u7C7B\u578B {2} \u4E0D\u662F\u652F\u6301\u7684\u7C7B\u578B\u3002 -WARN_NO_PKCOLUMN=JDO71030: \u8868{0}\u4E2D\u6CA1\u6709\u5217\u53EF\u7528\u4E8E\u652F\u6301\u670D\u52A1\u5668\u5B9E\u73B0\u672A\u77E5\u952E\u7C7B\u3002 -ERR_INVALID_VERSION_COLUMNS=JDO71031: \u4E0D\u652F\u6301\u4E00\u4E2A Bean \u4E2D\u6709\u591A\u4E2A\u7248\u672C\u5217\u3002 -WARN_VERSION_COLUMN_INVALID_TABLE=JDO71032: \u7248\u672C\u5217 {2} \u5FC5\u987B\u5C5E\u4E8E Bean {1} \u7684\u4E3B\u8868: {0}\u3002 -WARN_VERSION_COLUMN_MISSING=JDO71033: Bean {1} \u7684\u4E3B\u8868{0}\u5FC5\u987B\u5177\u6709\u4E00\u4E2A\u7248\u672C\u5217\u3002 -ERR_INVALID_CLASS=JDO71035: \u4E0E Bean {0} \u5BF9\u5E94\u7684\u7C7B\u4E3A\u7A7A\u503C\u3002 - -############################################################################### -# -# Message ID Range: JDO71100 - JDO71199 -############################################################################### -CMD_FLAG_USERNAME=-username -CMD_FLAG_TABLE=-table -STRING_SCHEMAS_SLASH_NOI18N=schemas/ -MESSAGE_CAPTURING_SCHEMA=\u6B63\u5728\u6355\u6349\u6A21\u5F0F: -MESSAGE_USING_SCHEMANAME=\u4F7F\u7528\u6A21\u5F0F\u540D: - -HELP_USAGE=\u7528\u6CD5: \n capture-schema -username name -password password -dburl url -driver jdbcdriver -out aFilename \n\t [-schemaname aSchemaname] [-table aTablename]*\n \u5176\u4E2D: \n\t-username: \u7528\u4E8E\u8BBF\u95EE\u6570\u636E\u5E93\u65F6\u8FDB\u884C\u9A8C\u8BC1\u7684\u7528\u6237\u540D \n \t-password: \u7528\u4E8E\u8BBF\u95EE\u6240\u9009\u6570\u636E\u5E93\u7684\u53E3\u4EE4 \n \t-dburl: \u9A71\u52A8\u7A0B\u5E8F\u9700\u8981 JDBC URL \u4EE5\u4FBF\u8BBF\u95EE\u6570\u636E\u5E93 \n \t-driver: CLASSPATH \u4E2D\u7684 JDBC \u9A71\u52A8\u7A0B\u5E8F\u7C7B\u540D \n \t-out: \u8F93\u51FA\u6587\u4EF6\u7684\u540D\u79F0\u3002\u5982\u679C\u8BE5\u6587\u4EF6\u540D\u4E0D\u662F\u4EE5 ".dbschema" \u7ED3\u5C3E, \u5C06\u6DFB\u52A0\u8BE5\u6269\u5C55\u540D\u3002 \n \t-schemaname: \u8981\u6355\u83B7\u7684\u7528\u6237\u6A21\u5F0F\u7684\u540D\u79F0 \n \t-table: \u8981\u6355\u83B7\u7684\u8868\u7684\u540D\u79F0 \n \n\t\u5982\u679C\u672A\u7ED9\u5B9A\u8868\u540D, \u5219\u5C06\u6355\u83B7\u6570\u636E\u5E93\n\t(\u6216\u5DF2\u7ED9\u5B9A\u7684\u547D\u540D\u6A21\u5F0F) \u4E2D\u7684\u6240\u6709\u8868\u3002\n\n\t\u5982\u679C\u672A\u7ED9\u5B9A\u6A21\u5F0F\u540D\u79F0, \u5219\u5C06\u4ECE\u8BE5\u7528\u6237\u53EF\u4EE5\u8BBF\u95EE\u7684\n\t\u6240\u6709\u6A21\u5F0F\u4E2D\u6355\u83B7\u6240\u6709\u8868\u7684\u5143\u6570\u636E\u3002 - -STRING_ORACLE_DRIVER_NOI18N= -CMD_FLAG_PASSWORD=-password -MESSAGE_USING_USERNAME=\u4F7F\u7528\u7528\u6237\u540D: -STRING_IASCTS_NOI18N= -CMD_FLAG_DRIVER=-driver -MESSAGE_SAVING_SCHEMA=\u4FDD\u5B58\u6A21\u5F0F... -MESSAGE_USING_PASSWORD=\u4F7F\u7528\u53E3\u4EE4: -MESSAGE_SCHEMA_CAPTURED=\u5DF2\u6355\u83B7\u6A21\u5F0F -MESSAGE_USING_DRIVER=\u4F7F\u7528\u9A71\u52A8\u7A0B\u5E8F: -CMD_FLAG_SCHEMA_NAME=-schemaname -CMD_FLAG_DBURL=-dburl -MESSAGE_USING_URL=\u4F7F\u7528 dburl: -MESSAGE_CHANGING_OUTFILENAME=\u8B66\u544A: \u66F4\u6539\u4E86\u8F93\u51FA\u6587\u4EF6\u540D\u4EE5\u5305\u62EC\u6587\u4EF6\u6269\u5C55\u540D -MESSAGE_USING_OUTFILENAME=\u4F7F\u7528\u8F93\u51FA\u6587\u4EF6: - -#NOI18N -STRING_ORACLE_JDBC_URL_PREFIX_NOI18N=jdbc:oracle: -#NOI18N -CMD_FLAG_OUTPUT=-out - -ERR_CHECK_CLASSPATH=JDO71100: \u65E0\u6CD5\u627E\u5230\u7C7B\u3002\u8BF7\u9A8C\u8BC1 CLASSPATH \u4E2D\u5B58\u5728\u53EF\u7528\u7C7B -ERR_INVALID_TABLE_GIVEN=JDO71101: \u65E0\u6CD5\u8BBF\u95EE\u8868 {0}\u3002 -MESSAGE_NO_VALID_TABLES=JDO71102: \u672A\u8BF7\u6C42\u6709\u6548\u7684\u8868\u3002\u672A\u521B\u5EFA\u6A21\u5F0F\u6587\u4EF6 -ERR_ORACLE_ARGUMENTS=JDO71103: Oracle \u6570\u636E\u5E93\u9700\u8981\u6A21\u5F0F\u540D\u79F0\u53C2\u6570 - -############################################################################### -# -# Message ID Range: JDO71200 - JDO71299 -############################################################################### -ERR_DISCONNECTED_NOT_SUPPORTED=\u4E0D\u652F\u6301\u65AD\u5F00\u8FDE\u63A5\u7684 Bean\u3002 diff --git a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_zh_TW.properties deleted file mode 100644 index 48cd376b576..00000000000 --- a/appserver/persistence/cmp-l10n/ejb-mapping-l10n/src/main/resources/com/sun/jdo/api/persistence/mapping/ejb/Bundle_zh_TW.properties +++ /dev/null @@ -1,131 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO71000 - JDO71099 -############################################################################### -#NOI18N -CONST_IAS_MAPPING_FILE_LOC=META-INF -CONST_IAS_MAPPING_FILE=sun-cmp-mappings.xml - -MESSAGE_START_BEAN=\u958B\u59CB\u8F49\u63DB Bean\uFF1A {0} -MESSAGE_LWB_NULL=\u5C07 Bean {0} \u7684\u95DC\u4FC2\u6B04\u4F4D {1} \u4E4B\u4E0B\u9650\u8A2D\u5B9A\u70BA 0\u3002 -MESSAGE_LWB_NOPK=Bean {0} \u7684\u95DC\u4FC2\u6B04\u4F4D {1} \u5C0D\u61C9\u81F3\u975E\u7A7A\u6B04\uFF0C\u8A72\u6B04\u4E0D\u662F\u4E3B\u9375\u7684\u4E00\u90E8\u5206...\u5C07\u4E0B\u9650\u8A2D\u5B9A\u70BA 1\u3002 -MESSAGE_LWB_FK=Bean {0} \u7684\u95DC\u4FC2\u6B04\u4F4D {1} \u5C0D\u61C9\u81F3\u975E\u7A7A\u6B04\uFF0C\u8A72\u6B04\u4E0D\u662F\u5916\u4F86\u9375\u9650\u5236\u7684\u4E00\u90E8\u5206...\u5C07\u4E0B\u9650\u8A2D\u5B9A\u70BA 1\u3002 -MESSAGE_LWB_PKSUBSET=Bean {0} \u7684\u95DC\u4FC2\u6B04\u4F4D {1} \u5C0D\u61C9\u81F3\u4E3B\u9375\u6B04\u7684\u5B50\u96C6...\u5C07\u4E0B\u9650\u8A2D\u5B9A\u70BA 1\u3002 -MESSAGE_LWB_CASCADE=\u8207 Bean {0} \u4E4B\u95DC\u4FC2\u6B04\u4F4D {1} \u5C0D\u61C9\u7684\u95DC\u4FC2\u5074\u88AB\u6A19\u8A18\u4EE5\u9032\u884C\u91CD\u758A\u522A\u9664...\u5C07\u4E0B\u9650\u8A2D\u5B9A\u70BA 1\u3002 -MESSAGE_LWB_NODEPENDENT=\u7121\u6CD5\u78BA\u5B9A Bean {0} \u7684\u95DC\u4FC2\u6B04\u4F4D {1} \u4E4B\u9644\u5C6C\u5074\u3002 -MESSAGE_CONV_EXC=\u8F49\u63DB\u7570\u5E38\uFF1A{0} -MESSAGE_REL_OBJ_DEL=\u5C0D\u65BC Bean {0} \u548C\u6B04\u4F4D {1}\uFF0C\u76F8\u95DC\u7269\u4EF6\u5DF2\u522A\u9664\u70BA TRUE\u3002 -MESSAGE_ADD_COLUMN=\u5C07\u6B04 {0} \u589E\u52A0\u81F3\u6B04\u4F4D {1} \u7684\u5C0D\u61C9\u3002 -MESSAGE_JDOCLASS_NAME=Bean {0} \u7684\u985E\u5225\u540D\u7A31\u70BA {1}\u3002 -MESSAGE_CANDIDATE_PK=\u5019\u9078 PK \u5177\u6709\u6B04\u540D\u7A31 {0}\u3002 - -ERR_INVALID_COLUMN=JDO71001\uFF1A\u8868\u683C {1} \u7121\u540D\u70BA {0} \u7684\u6B04 -ERR_INVALID_TABLE=JDO71002\uFF1A\u7DB1\u8981\u6A94\u6848 {1} \u4E0D\u5305\u542B\u540D\u70BA {0} \u7684\u8868\u683C -ERR_CANNOT_FIND_SCHEMA=JDO71003\uFF1A\u5728\u985E\u5225\u8DEF\u5F91 {1} \u4E0A\u627E\u4E0D\u5230\u7DB1\u8981\u6A94\u6848 {0} -ERR_BAD_MULTIPLICTY=JDO71005\uFF1A\u7121\u6548\u7684\u591A\u91CD\u6027\u5143\u7D20\u503C\uFF1A{0} (\u5728 ejb-relationship-role \u5143\u7D20\u4E2D\uFF1A{1}) -ERR_INVALID_FG_LEVEL=JDO71006\uFF1ABean {0} \u4E4B\u6B04\u4F4D {1} \u4E0A fetched-with \u5C64\u7D1A {2} \u7684\u503C\u7121\u6548\u3002 -ERR_UNDEFINED_TABLE=JDO71008\uFF1A\u7F3A\u5C11\u8868\u683C\u5B9A\u7FA9 -ERR_INVALID_FIELD=JDO71009\uFF1A\u672A\u5B9A\u7FA9 Bean {0} \u7684\u6B04\u4F4D {1}\u3002 -ERR_FIELD_MAPPED_TWICE=JDO71010\uFF1A\u5DF2\u5C0D\u61C9 Bean {0} \u7684\u6B04\u4F4D {1}\u3002 -ERR_BAD_CONVERSION_HELPER=JDO71014\uFF1AConversionHelper \u7684\u6307\u5B9A\u5931\u6557\u3002\u76EE\u524D\u7684\u8F14\u52A9\u7A0B\u5F0F\u4E0D\u652F\u63F4\u5C0D\u61C9\u5B8C\u6210\u3002 -ERR_COLUMN_PAIR_MISSING=JDO71018\uFF1ABean \u7684 cmr-field-mapping \u7121\u6548\uFF1A{0} \u6B04\u4F4D\uFF1A{5}\u3002\u81F3\u5C11\u9700\u8981\u4E00\u500B column-pair \u5143\u7D20\u3002 - -ERR_INVALID_CONSISTENCY_VALUE=JDO71019\uFF1A{0} \u7684\u4E00\u81F4\u6027\u898F\u683C\u7121\u6548 - -WARN_ILLEGAL_PAIR=JDO71020\uFF1A\u70BA Bean {0} \u4E4B\u5C0D\u61C9\u7684\u8F14\u52A9\u8868\u683C {1} \u6307\u5B9A\u7684\u6B04\u5C0D\u975E\u6CD5\uFF1A{2} -WARN_MISSING_TABLE=JDO71021\uFF1ABean {0} \u7684 MappingReferenceKeyElement \u4E2D\u7F3A\u5C11\u8868\u683C\u540D\u7A31 {1} -WARN_NO_PRIMARY=JDO71022\uFF1ABean {0} \u672A\u5C0D\u61C9\u81F3\u4E3B\u8868\u683C\u3002 -WARN_NOT_MAPPED_TO_PRIMARY=JDO71023\uFF1A\u6B64 mce \u672A\u5C0D\u61C9\u81F3\u4E3B\u8868\u683C\uFF1A{0} -WARN_NO_PAIRS=JDO71024\uFF1ABean {0} \u6C92\u6709\u8981\u5C07\u4E3B\u8868\u683C\u5C0D\u61C9\u81F3\u8F14\u52A9\u8868\u683C {1} \u7684\u5C0D\u3002 -XML_ERROR_IN_MAPPING_FILE=JDO71026\uFF1A{0} \u6709\u8A9E\u6CD5\u932F\u8AA4\u3002\u8ACB\u6821\u6B63\u6A94\u6848\u4E26\u91CD\u65B0\u5EFA\u7F6E\u3002 -WARN_INVALID_FIELD=JDO71027\uFF1ABean {0} \u4E2D\u7684\u6B04\u4F4D {1} \u7121\u6548\uFF0C\u56E0\u70BA\u8A72\u6B04\u4F4D\u672A\u5728\u5EFA\u7F6E\u63CF\u8FF0\u5143\u4E2D\u5BA3\u544A\u6216\u5176\u5DF2\u7D93\u5C0D\u61C9\u3002 -WARN_INVALID_CMRFIELD=JDO71028\uFF1ABean {0} \u4E2D\u7684\u95DC\u4FC2\u6B04\u4F4D {1} \u7121\u6548\uFF0C\u56E0\u70BA\u6B04\u4F4D\u672A\u5728\u5EFA\u7F6E\u63CF\u8FF0\u5143\u4E2D\u5BA3\u544A\u6216\u5176\u5DF2\u7D93\u5C0D\u61C9\u3002 -WARN_INVALID_RELATIONSHIP_FIELDTYPE=JDO71029\uFF1ABean {0} \u4E2D\u95DC\u4FC2\u6B04\u4F4D {1} \u7684\u6B04\u4F4D\u985E\u578B {2} \u4E0D\u662F\u53D7\u652F\u63F4\u7684\u985E\u578B\u3002 -WARN_NO_PKCOLUMN=JDO71030\uFF1A\u8868\u683C {0} \u4E2D\u6C92\u6709\u7528\u65BC\u652F\u63F4\u672A\u77E5\u9375\u985E\u5225\u4E4B\u4F3A\u670D\u5668\u5BE6\u884C\u7684\u6B04\u3002 -ERR_INVALID_VERSION_COLUMNS=JDO71031\uFF1A\u4E0D\u652F\u63F4\u4E00\u500B Bean \u4E2D\u6709\u591A\u500B\u7248\u672C\u6B04\u3002 -WARN_VERSION_COLUMN_INVALID_TABLE=JDO71032\uFF1A\u7248\u672C\u6B04 {2} \u5FC5\u9808\u5C6C\u65BC Bean {1} \u7684\u4E3B\u8868\u683C\uFF1A{0}\u3002 -WARN_VERSION_COLUMN_MISSING=JDO71033\uFF1ABean {1} \u7684\u4E3B\u8868\u683C {0} \u5FC5\u9808\u6709\u7248\u672C\u6B04\u3002 -ERR_INVALID_CLASS=JDO71035\uFF1A\u8207 Bean {0} \u5C0D\u61C9\u7684\u985E\u5225\u70BA\u7A7A\u3002 - -############################################################################### -# -# Message ID Range: JDO71100 - JDO71199 -############################################################################### -CMD_FLAG_USERNAME=-username -CMD_FLAG_TABLE=-table -STRING_SCHEMAS_SLASH_NOI18N=schemas/ -MESSAGE_CAPTURING_SCHEMA=\u6B63\u5728\u6293\u53D6\u7DB1\u8981\uFF1A -MESSAGE_USING_SCHEMANAME=\u6B63\u5728\u4F7F\u7528\u7DB1\u8981\u540D\u7A31\uFF1A - -HELP_USAGE=\u7528\u6CD5\uFF1A\n capture-schema -username name -password password -dburl url -driver jdbcdriver -out aFilename \\\n\t [-schemaname aSchemaname] [-table aTablename]*\n \u5176\u4E2D\uFF1A\n\t-username\uFF1A\u9A57\u8B49\u8CC7\u6599\u5EAB\u5B58\u53D6\u7684\u4F7F\u7528\u8005\u540D\u7A31\n \t-password\uFF1A\u5B58\u53D6\u6240\u9078\u8CC7\u6599\u5EAB\u7684\u5BC6\u78BC\n \t-dburl\uFF1A\u8981\u5B58\u53D6\u8CC7\u6599\u5EAB\u7684\u9A45\u52D5\u7A0B\u5F0F\u6240\u9810\u671F\u7684 JDBC URL\n \t-driver\uFF1ACLASSPATH \u4E2D\u7684 JDBC \u9A45\u52D5\u7A0B\u5F0F\u985E\u5225\u540D\u7A31\n \t-out\uFF1A\u8F38\u51FA\u6A94\u6848\u7684\u540D\u7A31\u3002\u5982\u679C\u5B83\u7684\u7D50\u5C3E\u4E0D\u662F ".dbschema"\uFF0C\u5C07\u6703\u52A0\u4E0A\u6B64\u526F\u6A94\u540D\u3002\n \t-schemaname\uFF1A\u64F7\u53D6\u7684\u4F7F\u7528\u8005\u7DB1\u8981\u540D\u7A31\n \t-table\uFF1A\u64F7\u53D6\u7684\u8868\u683C\u540D\u7A31\n \n\t\u5982\u679C\u6C92\u6709\u6307\u5B9A\u8868\u683C\u540D\u7A31\uFF0C\u5247\u6703\u64F7\u53D6\u8CC7\u6599\u5EAB\n\t(\u6216\u6307\u5B9A\u7684\u7DB1\u8981 (\u5982\u6709\u6307\u5B9A)) \u7684\u6240\u6709\u8868\u683C\u3002\n\n\t\u5982\u679C\u6C92\u6709\u6307\u5B9A\u7DB1\u8981\u540D\u7A31\uFF0C\u5247\u6703\u5F9E\u9019\u540D\u4F7F\u7528\u8005\u53EF\u4EE5\u5B58\u53D6\u7684\u6240\u6709\u7DB1\u8981\u4E2D\n\t\u64F7\u53D6\u6240\u6709\u8868\u683C\u7684\u63CF\u8FF0\u8CC7\u6599\u3002 - -STRING_ORACLE_DRIVER_NOI18N= -CMD_FLAG_PASSWORD=-password -MESSAGE_USING_USERNAME=\u6B63\u5728\u4F7F\u7528\u4F7F\u7528\u8005\u540D\u7A31\uFF1A -STRING_IASCTS_NOI18N= -CMD_FLAG_DRIVER=-driver -MESSAGE_SAVING_SCHEMA=\u6B63\u5728\u5132\u5B58\u7DB1\u8981... -MESSAGE_USING_PASSWORD=\u6B63\u5728\u4F7F\u7528\u5BC6\u78BC\uFF1A -MESSAGE_SCHEMA_CAPTURED=\u5DF2\u6293\u53D6\u7DB1\u8981 -MESSAGE_USING_DRIVER=\u6B63\u5728\u4F7F\u7528\u9A45\u52D5\u7A0B\u5F0F\uFF1A -CMD_FLAG_SCHEMA_NAME=-schemaname -CMD_FLAG_DBURL=-dburl -MESSAGE_USING_URL=\u6B63\u5728\u4F7F\u7528 dburl\uFF1A -MESSAGE_CHANGING_OUTFILENAME=\u8B66\u544A\uFE30\u8F38\u51FA\u6A94\u6848\u540D\u7A31\u5DF2\u8B8A\u66F4\u70BA\u5177\u6709\u6A94\u6848\u540D\u7A31\u526F\u6A94\u540D -MESSAGE_USING_OUTFILENAME=\u6B63\u5728\u4F7F\u7528\u8F38\u51FA\u6A94\u6848\uFF1A - -#NOI18N -STRING_ORACLE_JDBC_URL_PREFIX_NOI18N=jdbc:oracle\uFF1A -#NOI18N -CMD_FLAG_OUTPUT=-out - -ERR_CHECK_CLASSPATH=JDO71100\uFF1A\u7121\u6CD5\u627E\u5230\u985E\u5225\u3002\u8ACB\u9A57\u8B49\u6B64\u985E\u5225\u662F\u5426\u53EF\u5728\u60A8\u7684 CLASSPATH \u4E0A\u627E\u5230 -ERR_INVALID_TABLE_GIVEN=JDO71101\uFF1A\u7121\u6CD5\u5B58\u53D6\u8868\u683C {0}\u3002 -MESSAGE_NO_VALID_TABLES=JDO71102\uFF1A\u672A\u8ACB\u6C42\u4EFB\u4F55\u6709\u6548\u8868\u683C\u3002\u672A\u5EFA\u7ACB\u4EFB\u4F55\u7DB1\u8981\u6A94\u6848 -ERR_ORACLE_ARGUMENTS=JDO71103\uFF1AOracle \u8CC7\u6599\u5EAB\u9700\u8981 schemaname \u5F15\u6578 - -############################################################################### -# -# Message ID Range: JDO71200 - JDO71299 -############################################################################### -ERR_DISCONNECTED_NOT_SUPPORTED=\u4E0D\u652F\u63F4\u5DF2\u7D50\u675F\u9023\u7DDA\u7684 Bean\u3002 diff --git a/appserver/persistence/cmp-l10n/enhancer-l10n/osgi.bundle b/appserver/persistence/cmp-l10n/enhancer-l10n/osgi.bundle deleted file mode 100644 index 9f33e0fd1e2..00000000000 --- a/appserver/persistence/cmp-l10n/enhancer-l10n/osgi.bundle +++ /dev/null @@ -1,41 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -Fragment-Host: fish.payara.server.internal.persistence.cmp.enhancer; bundle-version=${project.osgi.version} diff --git a/appserver/persistence/cmp-l10n/enhancer-l10n/pom.xml b/appserver/persistence/cmp-l10n/enhancer-l10n/pom.xml deleted file mode 100755 index e0c93ecdac7..00000000000 --- a/appserver/persistence/cmp-l10n/enhancer-l10n/pom.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp-l10n - 7.2026.5-SNAPSHOT - - cmp-enhancer-l10n - - enhancer module for cmp l10n - - - true - - - - - - org.glassfish.hk2 - osgiversion-maven-plugin - - - compute-osgi-version - - compute-osgi-version - - - - - - org.apache.felix - maven-bundle-plugin - - - bundle-manifest - process-classes - - manifest - - - - - - - - - - - - - src/main/resources - - **/*.jar - - - - - diff --git a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_de.properties b/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_de.properties deleted file mode 100644 index e8365bd104c..00000000000 --- a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_de.properties +++ /dev/null @@ -1,128 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: enhancer.. -# - is optional, package under model -# - short description (use _ to represent space) -# all keys should be in lowercase - - -# -# Global enhancer messages -# - -# {0}=detailed message -enhancer.error=JDO ENHANCER: Mindestens ein Fehler ist w\u00E4hrend der Verbesserung der Eingabeklasse f\u00FCr Transparent Persistence aufgetreten; detaillierte Meldungen: {0} - -# {0}=error number, {1}=detailed message -enhancer.enumerated_error=JDO ENHANCER: Fehler ({0}): {1} - -# {0}=detailed message -enhancer.internal_error=JDO ENHANCER: Ein interner Fehler ist bei der Verbesserung der Eingabeklasse aufgetreten; detaillierte Meldung: {0} - -# {0}=detailed message -enhancer.warning=JDO ENHANCER: Warnung: Bei der Verbesserung der Eingabeklasse f\u00FCr die Transparent Persistence wurde ein Problem festgestellt; detaillierte Meldung: {0} - - -# -# Enhancer core messages -# - -# -enhancer.io_error_while_reading_stream=I/O-Fehler beim Lesen des Input Streams. - -# -enhancer.class_format_error=Der Input Stream stellt keine g\u00FCltige Java-Klasse dar. - -# -enhancer.io_error_while_writing_stream=I/O-Fehler beim Schreiben des Output Streams. - -# {0}=file name -enhancer.file_not_found=Die Datei {0} wurde nicht gefunden. - -# {0}=file name -enhancer.io_error_while_reading_file=I/O-Fehler beim Lesen der Datei {0}. - -# {0}=dir name -enhancer.unable_to_create_dir=Das Verzeichnis {0} kann nicht erstellt werden. - -# {0}=file name -enhancer.class_previously_annotated=Die Klasse {0} wurde zuvor angemerkt. - -# {0}=class name, {1}=interface name -enhancer.class_implements_jdo_pc=Die Klasse {0} implementiert die Schnittstelle {1}. - -# {0}=class name, {1}=method name -enhancer.class_defines_jdo_method=Die persistenzf\u00E4hige Klasse {0} definiert eine JDO-Methode mit der Bezeichnung {1}. - -# {0}=class name, {1}=field name -enhancer.class_defines_jdo_field=Die persistenzf\u00E4hige Klasse {0} definiert ein JDO-Feld mit der Bezeichnung {1}. - -# {0}=class name, {1}=member name -enhancer.class_has_jdo_like_member=Die persistenzf\u00E4hige Klasse {0} definiert ein Mitglied {1}, dessen Name mit dem reservierten JDO-Pr\u00E4fix beginnt. - - -# -# Unsupported enhancer messages -# -# (don't need to be localized unless we expose the command-line interface -# of the enhancer to the user) -# - -# {0}=class name, {1}=file name, {2}=file name -enhancer.class_already_entered=Die Klasse {0} aus {1} wurde bereits von {2} eingegeben. - -# {0}=dir name, {1}=dir name -enhancer.destination_directory_already_set=Es wurde versucht, das Zielverzeichnis auf {0} zu setzen, es wurde jedoch bereits auf {1} gesetzt. - -# {0}=dir name -enhancer.destination_directory_not_exist=Das Zielverzeichnis {0} existiert nicht. - -# Enhancer generator messages -# {0}=exception string -CME.generic_exception=Auftreten von Ausnahmen im Enhancer-Generator: {0} -CME.generic_exception_stack=Auftreten von Ausnahmen im Enhancer-Generator: - -#Failed to create destination directory. -#{0}=Destination directory -EXC_DestDirCreateFailure=Zielverzeichnis kann nicht erstellt werden. {0} - diff --git a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_es.properties b/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_es.properties deleted file mode 100644 index 39d02992eb2..00000000000 --- a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_es.properties +++ /dev/null @@ -1,128 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: enhancer.. -# - is optional, package under model -# - short description (use _ to represent space) -# all keys should be in lowercase - - -# -# Global enhancer messages -# - -# {0}=detailed message -enhancer.error=JDO ENHANCER: se ha producido al menos un error al mejorar la clase de entrada para persistencia transparente; mensajes detallados: {0} - -# {0}=error number, {1}=detailed message -enhancer.enumerated_error=JDO ENHANCER: Error ({0}): {1} - -# {0}=detailed message -enhancer.internal_error=JDO ENHANCER: Se ha producido un error interno al mejorar la clase de entrada; mensaje detallado: {0} - -# {0}=detailed message -enhancer.warning=JDO ENHANCER: Advertencia: se ha detectado un problema al mejorar la clase de entrada para persistencia transparente; mensaje detallado: {0} - - -# -# Enhancer core messages -# - -# -enhancer.io_error_while_reading_stream=Error de E/S al leer el flujo de entrada. - -# -enhancer.class_format_error=El flujo de entrada no indica una clase de Java v\u00E1lida. - -# -enhancer.io_error_while_writing_stream=Error de E/S al escribir el flujo de salida. - -# {0}=file name -enhancer.file_not_found=No se ha encontrado el archivo {0}. - -# {0}=file name -enhancer.io_error_while_reading_file=Error de E/S al leer el archivo {0}. - -# {0}=dir name -enhancer.unable_to_create_dir=No se ha podido crear el directorio denominado {0}. - -# {0}=file name -enhancer.class_previously_annotated=La clase {0} se ha anotado con anterioridad. - -# {0}=class name, {1}=interface name -enhancer.class_implements_jdo_pc=La clase {0} implanta la interfaz {1}. - -# {0}=class name, {1}=method name -enhancer.class_defines_jdo_method=La clase {0} compatible con persistencia define un m\u00E9todo JDO denominado {1}. - -# {0}=class name, {1}=field name -enhancer.class_defines_jdo_field=La clase {0} compatible con persistencia define un campo JDO denominado {1}. - -# {0}=class name, {1}=member name -enhancer.class_has_jdo_like_member=La clase {0} compatible con persistencia define un miembro {1} cuyo nombre empieza por el prefijo jdo reservado. - - -# -# Unsupported enhancer messages -# -# (don't need to be localized unless we expose the command-line interface -# of the enhancer to the user) -# - -# {0}=class name, {1}=file name, {2}=file name -enhancer.class_already_entered=Ya se ha introducido la clase {0} de {1} desde {2}. - -# {0}=dir name, {1}=dir name -enhancer.destination_directory_already_set=Se ha intentado definir {0} como directorio de destino, pero ya se hab\u00EDa definido en {1}. - -# {0}=dir name -enhancer.destination_directory_not_exist=El directorio de destino {0} no existe. - -# Enhancer generator messages -# {0}=exception string -CME.generic_exception=Se han producido algunas excepciones en el generador de mejora: {0} -CME.generic_exception_stack=Se han producido algunas excepciones en el generador de mejora: - -#Failed to create destination directory. -#{0}=Destination directory -EXC_DestDirCreateFailure=No se ha podido crear el directorio de destino: {0} - diff --git a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_fr.properties b/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_fr.properties deleted file mode 100644 index 964a77967c5..00000000000 --- a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_fr.properties +++ /dev/null @@ -1,128 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: enhancer.. -# - is optional, package under model -# - short description (use _ to represent space) -# all keys should be in lowercase - - -# -# Global enhancer messages -# - -# {0}=detailed message -enhancer.error=JDO ENHANCER : au moins une erreur s''est produite au cours de l''enrichissement de la classe d''entr\u00E9e pour la persistance transparente ; message(s) d\u00E9taill\u00E9(s) : {0} - -# {0}=error number, {1}=detailed message -enhancer.enumerated_error=JDO ENHANCER : erreur ({0}) : {1} - -# {0}=detailed message -enhancer.internal_error=JDO ENHANCER : une erreur interne s''est produite au cours de l''enrichissement de la classe d''entr\u00E9e ; message d\u00E9taill\u00E9 : {0} - -# {0}=detailed message -enhancer.warning=JDO ENHANCER - Avertissement : un probl\u00E8me a \u00E9t\u00E9 d\u00E9tect\u00E9 au cours de l''enrichissement de la classe d''entr\u00E9e pour la persistance transparente ; message d\u00E9taill\u00E9 : {0} - - -# -# Enhancer core messages -# - -# -enhancer.io_error_while_reading_stream=Erreur d'E/S lors de la lecture du flux en entr\u00E9e. - -# -enhancer.class_format_error=Le flux en entr\u00E9e indique la pr\u00E9sence d'une classe Java valide. - -# -enhancer.io_error_while_writing_stream=Erreur d'E/S lors de l'\u00E9criture du flux de sortie. - -# {0}=file name -enhancer.file_not_found=Le fichier {0} est introuvable. - -# {0}=file name -enhancer.io_error_while_reading_file=Erreur d''E/S lors de la lecture du fichier {0}. - -# {0}=dir name -enhancer.unable_to_create_dir=Impossible de cr\u00E9er le r\u00E9pertoire nomm\u00E9 {0}. - -# {0}=file name -enhancer.class_previously_annotated=La classe {0} a d\u00E9j\u00E0 \u00E9t\u00E9 annot\u00E9e. - -# {0}=class name, {1}=interface name -enhancer.class_implements_jdo_pc=La classe {0} impl\u00E9mente l''interface {1}. - -# {0}=class name, {1}=method name -enhancer.class_defines_jdo_method=La classe capable de persistance {0} d\u00E9finit une m\u00E9thode JDO nomm\u00E9e {1}. - -# {0}=class name, {1}=field name -enhancer.class_defines_jdo_field=La classe capable de persistance {0} d\u00E9finit un champ JDO nomm\u00E9 {1}. - -# {0}=class name, {1}=member name -enhancer.class_has_jdo_like_member=La classe capable de persistance {0} d\u00E9finit un membre {1} dont le nom commence par le pr\u00E9fixe jdo r\u00E9serv\u00E9. - - -# -# Unsupported enhancer messages -# -# (don't need to be localized unless we expose the command-line interface -# of the enhancer to the user) -# - -# {0}=class name, {1}=file name, {2}=file name -enhancer.class_already_entered=La classe {0} de {1} est d\u00E9j\u00E0 entr\u00E9e \u00E0 partir de {2}. - -# {0}=dir name, {1}=dir name -enhancer.destination_directory_already_set=Tentative de d\u00E9finition du r\u00E9pertoire de destination sur {0}, mais celui-ci a d\u00E9j\u00E0 la valeur {1}. - -# {0}=dir name -enhancer.destination_directory_not_exist=Le r\u00E9pertoire de destination {0} n''existe pas. - -# Enhancer generator messages -# {0}=exception string -CME.generic_exception=Une exception s''est produite dans le g\u00E9n\u00E9rateur de l''outil d''enrichissement : {0} -CME.generic_exception_stack=Une exception s''est produite dans le g\u00E9n\u00E9rateur de l''outil d''enrichissement : - -#Failed to create destination directory. -#{0}=Destination directory -EXC_DestDirCreateFailure=Impossible de cr\u00E9er le r\u00E9pertoire de destination : {0} - diff --git a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_it.properties b/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_it.properties deleted file mode 100644 index 4bd13e36d44..00000000000 --- a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_it.properties +++ /dev/null @@ -1,128 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: enhancer.. -# - is optional, package under model -# - short description (use _ to represent space) -# all keys should be in lowercase - - -# -# Global enhancer messages -# - -# {0}=detailed message -enhancer.error=JDO ENHANCER: si \u00E8 verificato almeno un errore durante l''ottimizzazione della classe di input per la persistenza trasparente; messaggio/i dettagliato/i: {0} - -# {0}=error number, {1}=detailed message -enhancer.enumerated_error=JDO ENHANCER: errore ({0}): {1} - -# {0}=detailed message -enhancer.internal_error=JDO ENHANCER: si \u00E8 verificato un errore interno durante l''ottimizzazione della classe di input; messaggio dettagliato: {0} - -# {0}=detailed message -enhancer.warning=JDO ENHANCER: avvertenza: \u00E8 stato rilevato un problema durante l''ottimizzazione della classe di input per la trasparenza persistente; messaggio dettagliato: {0} - - -# -# Enhancer core messages -# - -# -enhancer.io_error_while_reading_stream=Errore di I/O durante la lettura del flusso di input. - -# -enhancer.class_format_error=Il flusso di input non indica una classe Java valida. - -# -enhancer.io_error_while_writing_stream=Errore di I/O durante la scrittura del flusso di output. - -# {0}=file name -enhancer.file_not_found=File {0} non trovato. - -# {0}=file name -enhancer.io_error_while_reading_file=Errore di I/O durante la lettura del file {0}. - -# {0}=dir name -enhancer.unable_to_create_dir=Impossibile creare la directory denominata {0}. - -# {0}=file name -enhancer.class_previously_annotated=La classe {0} \u00E8 stata annotata in precedenza. - -# {0}=class name, {1}=interface name -enhancer.class_implements_jdo_pc=La classe {0} implementa l''interfaccia {1}. - -# {0}=class name, {1}=method name -enhancer.class_defines_jdo_method=La classe con funzionalit\u00E0 di persistenza {0} definisce un metodo JDO denominato {1}. - -# {0}=class name, {1}=field name -enhancer.class_defines_jdo_field=La classe con funzionalit\u00E0 di persistenza {0} definisce un campo JDO denominato {1}. - -# {0}=class name, {1}=member name -enhancer.class_has_jdo_like_member=La classe con funzionalit\u00E0 di persistenza {0} definisce un membro {1} il cui nome inizia con il prefisso JDO riservato. - - -# -# Unsupported enhancer messages -# -# (don't need to be localized unless we expose the command-line interface -# of the enhancer to the user) -# - -# {0}=class name, {1}=file name, {2}=file name -enhancer.class_already_entered=La classe {0} di {1} \u00E8 gi\u00E0 immessa da {2}. - -# {0}=dir name, {1}=dir name -enhancer.destination_directory_already_set=Tentativo di impostare la directory di destinazione su {0}, ma \u00E8 gi\u00E0 stata impostata su {1}. - -# {0}=dir name -enhancer.destination_directory_not_exist=La directory di destinazione {0} non esiste. - -# Enhancer generator messages -# {0}=exception string -CME.generic_exception=Si sono verificate eccezioni nel generatore enhancer: {0} -CME.generic_exception_stack=Si sono verificate eccezioni nel generatore enhancer: - -#Failed to create destination directory. -#{0}=Destination directory -EXC_DestDirCreateFailure=Impossibile creare la directory di destinazione: {0} - diff --git a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_ja.properties b/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_ja.properties deleted file mode 100644 index 950f4daa182..00000000000 --- a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_ja.properties +++ /dev/null @@ -1,128 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: enhancer.. -# - is optional, package under model -# - short description (use _ to represent space) -# all keys should be in lowercase - - -# -# Global enhancer messages -# - -# {0}=detailed message -enhancer.error=JDO ENHANCER: \u900F\u904E\u7684\u6C38\u7D9A\u6027\u306E\u5165\u529B\u30AF\u30E9\u30B9\u306E\u62E1\u5F35\u6642\u306B\u5C11\u306A\u304F\u3068\u30821\u3064\u306E\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F; \u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u8A73\u7D30: {0} - -# {0}=error number, {1}=detailed message -enhancer.enumerated_error=JDO ENHANCER: \u30A8\u30E9\u30FC({0}): {1} - -# {0}=detailed message -enhancer.internal_error=JDO ENHANCER: \u5165\u529B\u30AF\u30E9\u30B9\u306E\u62E1\u5F35\u6642\u306B\u5185\u90E8\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F;\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u8A73\u7D30: {0} - -# {0}=detailed message -enhancer.warning=JDO ENHANCER: \u8B66\u544A: \u900F\u904E\u7684\u6C38\u7D9A\u6027\u306E\u5165\u529B\u30AF\u30E9\u30B9\u306E\u62E1\u5F35\u6642\u306B\u554F\u984C\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F; \u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u8A73\u7D30: {0} - - -# -# Enhancer core messages -# - -# -enhancer.io_error_while_reading_stream=\u5165\u529B\u30B9\u30C8\u30EA\u30FC\u30E0\u306E\u8AAD\u53D6\u308A\u4E2D\u306EI/O\u30A8\u30E9\u30FC\u3002 - -# -enhancer.class_format_error=\u5165\u529B\u30B9\u30C8\u30EA\u30FC\u30E0\u304C\u6709\u52B9\u306AJava\u30AF\u30E9\u30B9\u3092\u8868\u3057\u3066\u3044\u307E\u305B\u3093\u3002 - -# -enhancer.io_error_while_writing_stream=\u51FA\u529B\u30B9\u30C8\u30EA\u30FC\u30E0\u306E\u66F8\u8FBC\u307F\u4E2D\u306EI/O\u30A8\u30E9\u30FC\u3002 - -# {0}=file name -enhancer.file_not_found=\u30D5\u30A1\u30A4\u30EB{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002 - -# {0}=file name -enhancer.io_error_while_reading_file=\u30D5\u30A1\u30A4\u30EB{0}\u306E\u8AAD\u53D6\u308A\u4E2D\u306EI/O\u30A8\u30E9\u30FC\u3002 - -# {0}=dir name -enhancer.unable_to_create_dir={0}\u3068\u3044\u3046\u540D\u524D\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002 - -# {0}=file name -enhancer.class_previously_annotated=\u30AF\u30E9\u30B9{0}\u306B\u3059\u3067\u306B\u6CE8\u91C8\u304C\u4ED8\u3051\u3089\u308C\u3066\u3044\u307E\u3057\u305F\u3002 - -# {0}=class name, {1}=interface name -enhancer.class_implements_jdo_pc=\u30AF\u30E9\u30B9{0}\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{1}\u3092\u5B9F\u88C5\u3057\u307E\u3059\u3002 - -# {0}=class name, {1}=method name -enhancer.class_defines_jdo_method=persistence-capable\u30AF\u30E9\u30B9{0}\u306F{1}\u3068\u3044\u3046JDO\u30E1\u30BD\u30C3\u30C9\u3092\u5B9A\u7FA9\u3057\u307E\u3059\u3002 - -# {0}=class name, {1}=field name -enhancer.class_defines_jdo_field=persistence-capable\u30AF\u30E9\u30B9{0}\u306F{1}\u3068\u3044\u3046JDO\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u5B9A\u7FA9\u3057\u307E\u3059\u3002 - -# {0}=class name, {1}=member name -enhancer.class_has_jdo_like_member=persistence-capable\u30AF\u30E9\u30B9{0}\u306F\u3001\u540D\u524D\u304C\u4E88\u7D04\u6E08\u307Fjdo\u63A5\u982D\u8F9E\u3067\u59CB\u307E\u308B\u30E1\u30F3\u30D0\u30FC{1}\u3092\u5B9A\u7FA9\u3057\u307E\u3059\u3002 - - -# -# Unsupported enhancer messages -# -# (don't need to be localized unless we expose the command-line interface -# of the enhancer to the user) -# - -# {0}=class name, {1}=file name, {2}=file name -enhancer.class_already_entered={1}\u304B\u3089\u306E\u30AF\u30E9\u30B9{0}\u306F\u3059\u3067\u306B{2}\u304B\u3089\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u3059\u3002 - -# {0}=dir name, {1}=dir name -enhancer.destination_directory_already_set=\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092{0}\u306B\u8A2D\u5B9A\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u304C\u3001\u3059\u3067\u306B{1}\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002 - -# {0}=dir name -enhancer.destination_directory_not_exist=\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u304C\u5B58\u5728\u3057\u3066\u3044\u307E\u305B\u3093\u3002 - -# Enhancer generator messages -# {0}=exception string -CME.generic_exception=\u30A8\u30F3\u30CF\u30F3\u30B5\u30FB\u30B8\u30A7\u30CD\u30EC\u30FC\u30BF\u5185\u3067\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0} -CME.generic_exception_stack=\u30A8\u30F3\u30CF\u30F3\u30B5\u30FB\u30B8\u30A7\u30CD\u30EC\u30FC\u30BF\u5185\u3067\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: - -#Failed to create destination directory. -#{0}=Destination directory -EXC_DestDirCreateFailure=\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093: {0} - diff --git a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_ko.properties b/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_ko.properties deleted file mode 100644 index a3dc02a6668..00000000000 --- a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_ko.properties +++ /dev/null @@ -1,128 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: enhancer.. -# - is optional, package under model -# - short description (use _ to represent space) -# all keys should be in lowercase - - -# -# Global enhancer messages -# - -# {0}=detailed message -enhancer.error=JDO ENHANCER: \uD22C\uBA85\uD55C \uC9C0\uC18D\uC131\uC758 \uC785\uB825 \uD074\uB798\uC2A4\uB97C \uD5A5\uC0C1\uC2DC\uD0A4\uB294 \uC911 \uC801\uC5B4\uB3C4 \uD558\uB098 \uC774\uC0C1\uC758 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC790\uC138\uD55C \uBA54\uC2DC\uC9C0: {0} - -# {0}=error number, {1}=detailed message -enhancer.enumerated_error=JDO ENHANCER: \uC624\uB958 ({0}): {1} - -# {0}=detailed message -enhancer.internal_error=JDO ENHANCER: \uC785\uB825 \uD074\uB798\uC2A4\uB97C \uD5A5\uC0C1\uC2DC\uD0A4\uB294 \uC911 \uB0B4\uBD80 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC790\uC138\uD55C \uBA54\uC2DC\uC9C0: {0} - -# {0}=detailed message -enhancer.warning=JDO ENHANCER: \uACBD\uACE0: \uD22C\uBA85\uD55C \uC9C0\uC18D\uC131\uC758 \uC785\uB825 \uD074\uB798\uC2A4\uB97C \uD5A5\uC0C1\uC2DC\uD0A4\uB294 \uC911 \uBB38\uC81C\uAC00 \uBC1C\uACAC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC790\uC138\uD55C \uBA54\uC2DC\uC9C0: {0} - - -# -# Enhancer core messages -# - -# -enhancer.io_error_while_reading_stream=\uC785\uB825 \uC2A4\uD2B8\uB9BC\uC744 \uC77D\uB294 \uC911 \uC785\uCD9C\uB825 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. - -# -enhancer.class_format_error=\uC785\uB825 \uC2A4\uD2B8\uB9BC\uC774 \uC801\uD569\uD55C Java \uD074\uB798\uC2A4\uB97C \uB098\uD0C0\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. - -# -enhancer.io_error_while_writing_stream=\uCD9C\uB825 \uC2A4\uD2B8\uB9BC\uC744 \uC791\uC131\uD558\uB294 \uC911 \uC785\uCD9C\uB825 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. - -# {0}=file name -enhancer.file_not_found={0} \uD30C\uC77C\uC744 \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. - -# {0}=file name -enhancer.io_error_while_reading_file={0} \uD30C\uC77C\uC744 \uC77D\uB294 \uC911 \uC785\uCD9C\uB825 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. - -# {0}=dir name -enhancer.unable_to_create_dir=\uC774\uB984\uC774 {0}\uC778 \uB514\uB809\uD1A0\uB9AC\uB97C \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -# {0}=file name -enhancer.class_previously_annotated={0} \uD074\uB798\uC2A4\uC5D0\uB294 \uC774\uC804\uC5D0 \uC8FC\uC11D\uC744 \uB2EC\uC558\uC2B5\uB2C8\uB2E4. - -# {0}=class name, {1}=interface name -enhancer.class_implements_jdo_pc={0} \uD074\uB798\uC2A4\uB294 {1} \uC778\uD130\uD398\uC774\uC2A4\uB97C \uAD6C\uD604\uD569\uB2C8\uB2E4. - -# {0}=class name, {1}=method name -enhancer.class_defines_jdo_method=\uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4 {0}\uC740(\uB294) {1}(\uC774)\uB77C\uB294 JDO \uBA54\uC18C\uB4DC\uB97C \uC815\uC758\uD569\uB2C8\uB2E4. - -# {0}=class name, {1}=field name -enhancer.class_defines_jdo_field=\uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4 {0}\uC740(\uB294) {1}(\uC774)\uB77C\uB294 JDO \uD544\uB4DC\uB97C \uC815\uC758\uD569\uB2C8\uB2E4. - -# {0}=class name, {1}=member name -enhancer.class_has_jdo_like_member=\uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4 {0}\uC740(\uB294) \uB4F1\uB85D\uB41C JDO \uC811\uB450\uC5B4\uB85C \uC2DC\uC791\uB418\uB294 \uC774\uB984\uC744 \uAC00\uC9C4 \uBA64\uBC84 {1}\uC744(\uB97C) \uC815\uC758\uD569\uB2C8\uB2E4. - - -# -# Unsupported enhancer messages -# -# (don't need to be localized unless we expose the command-line interface -# of the enhancer to the user) -# - -# {0}=class name, {1}=file name, {2}=file name -enhancer.class_already_entered={1}\uC758 {0} \uD074\uB798\uC2A4\uB294 \uC774\uBBF8 {2}\uC5D0\uC11C \uC785\uB825\uB418\uC5C8\uC2B5\uB2C8\uB2E4. - -# {0}=dir name, {1}=dir name -enhancer.destination_directory_already_set=\uB300\uC0C1 \uB514\uB809\uD1A0\uB9AC\uB97C {0}(\uC73C)\uB85C \uC124\uC815\uD558\uB824 \uD588\uC9C0\uB9CC \uC774\uBBF8 {1}(\uC73C)\uB85C \uC124\uC815\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. - -# {0}=dir name -enhancer.destination_directory_not_exist=\uB300\uC0C1 \uB514\uB809\uD1A0\uB9AC {0}\uC774(\uAC00) \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. - -# Enhancer generator messages -# {0}=exception string -CME.generic_exception=\uD655\uC7A5 \uC0DD\uC131\uAE30 {0}\uC5D0 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -CME.generic_exception_stack=\uD655\uC7A5 \uC0DD\uC131\uAE30\uC5D0 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. - -#Failed to create destination directory. -#{0}=Destination directory -EXC_DestDirCreateFailure=\uB300\uC0C1 \uB514\uB809\uD1A0\uB9AC {0}\uC744(\uB97C) \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - diff --git a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_pt_BR.properties deleted file mode 100644 index f7ea346278a..00000000000 --- a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_pt_BR.properties +++ /dev/null @@ -1,128 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: enhancer.. -# - is optional, package under model -# - short description (use _ to represent space) -# all keys should be in lowercase - - -# -# Global enhancer messages -# - -# {0}=detailed message -enhancer.error=JDO ENHANCER: Ocorreu ao menos um erro ao aprimorar a classe de entrada para a Persist\u00EAncia Transparente; mensagem(s) detalhada(s): {0} - -# {0}=error number, {1}=detailed message -enhancer.enumerated_error=JDO ENHANCER: Erro ({0}): {1} - -# {0}=detailed message -enhancer.internal_error=JDO ENHANCER: Ocorreu um erro interno ao aprimorar a classe de entrada; mensagem detalhada: {0} - -# {0}=detailed message -enhancer.warning=JDO ENHANCER: Advert\u00EAncia: um problema foi detectado ao aprimorar a classe de entrada para a persist\u00EAncia transparente; mensagem detalhada: {0} - - -# -# Enhancer core messages -# - -# -enhancer.io_error_while_reading_stream=Erro de E/S ao ler o fluxo de entrada. - -# -enhancer.class_format_error=O fluxo de entrada n\u00E3o denota uma classe Java v\u00E1lida. - -# -enhancer.io_error_while_writing_stream=Erro de E/S ao gravar o fluxo de sa\u00EDda. - -# {0}=file name -enhancer.file_not_found=O arquivo {0} n\u00E3o foi encontrado. - -# {0}=file name -enhancer.io_error_while_reading_file=Erro de E/S ao ler o arquivo {0}. - -# {0}=dir name -enhancer.unable_to_create_dir=N\u00E3o \u00E9 poss\u00EDvel criar o diret\u00F3rio nomeado {0}. - -# {0}=file name -enhancer.class_previously_annotated=A classe {0} foi anotada anteriormente. - -# {0}=class name, {1}=interface name -enhancer.class_implements_jdo_pc=A classe {0} implementa a interface {1}. - -# {0}=class name, {1}=method name -enhancer.class_defines_jdo_method=A classe com capacidade de persist\u00EAncia {0} define um m\u00E9todo JDO denominado {1}. - -# {0}=class name, {1}=field name -enhancer.class_defines_jdo_field=A classe com capacidade de persist\u00EAncia {0} define um campo JDO denominado {1}. - -# {0}=class name, {1}=member name -enhancer.class_has_jdo_like_member=A classe com capacidade de persist\u00EAncia {0} define um membro {1} cujo nome come\u00E7a com o prefixo jdo reservado. - - -# -# Unsupported enhancer messages -# -# (don't need to be localized unless we expose the command-line interface -# of the enhancer to the user) -# - -# {0}=class name, {1}=file name, {2}=file name -enhancer.class_already_entered=A classe {0} do {1} j\u00E1 est\u00E1 inserida a partir de {2}. - -# {0}=dir name, {1}=dir name -enhancer.destination_directory_already_set=Foi feita uma tentativa de definir o diret\u00F3rio de destino para {0}, mas ele j\u00E1 foi definido como {1}. - -# {0}=dir name -enhancer.destination_directory_not_exist=O diret\u00F3rio de destino {0} n\u00E3o existe. - -# Enhancer generator messages -# {0}=exception string -CME.generic_exception=Ocorreu alguma exce\u00E7\u00E3o no gerador do aprimorador: {0} -CME.generic_exception_stack=Ocorreu alguma exce\u00E7\u00E3o no gerador do aprimorador: - -#Failed to create destination directory. -#{0}=Destination directory -EXC_DestDirCreateFailure=N\u00E3o \u00E9 poss\u00EDvel criar o diret\u00F3rio de destino: {0}. - diff --git a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_zh_CN.properties deleted file mode 100644 index ea4e3f7c609..00000000000 --- a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_zh_CN.properties +++ /dev/null @@ -1,128 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: enhancer.. -# - is optional, package under model -# - short description (use _ to represent space) -# all keys should be in lowercase - - -# -# Global enhancer messages -# - -# {0}=detailed message -enhancer.error=JDO \u589E\u5F3A\u5668: \u589E\u5F3A\u900F\u660E\u6301\u4E45\u6027\u7684\u8F93\u5165\u7C7B\u65F6, \u81F3\u5C11\u53D1\u751F\u4E00\u4E2A\u9519\u8BEF; \u8BE6\u7EC6\u7684\u6D88\u606F: {0} - -# {0}=error number, {1}=detailed message -enhancer.enumerated_error=JDO \u589E\u5F3A\u5668: {0} \u4E2A\u9519\u8BEF: {1} - -# {0}=detailed message -enhancer.internal_error=JDO \u589E\u5F3A\u5668: \u589E\u5F3A\u8F93\u5165\u7C7B\u65F6, \u53D1\u751F\u5185\u90E8\u9519\u8BEF; \u8BE6\u7EC6\u7684\u6D88\u606F: {0} - -# {0}=detailed message -enhancer.warning=JDO ENHANCER: Warning: A problem has been detected while enhancing input class for transparent persistence; detailed message: {0} - - -# -# Enhancer core messages -# - -# -enhancer.io_error_while_reading_stream=\u8BFB\u53D6\u8F93\u5165\u6D41\u65F6\u51FA\u73B0 I/O \u9519\u8BEF\u3002 - -# -enhancer.class_format_error=\u8F93\u5165\u6D41\u4E0D\u8868\u793A\u6709\u6548\u7684 Java \u7C7B\u3002 - -# -enhancer.io_error_while_writing_stream=\u5199\u5165\u8F93\u51FA\u6D41\u65F6\u51FA\u73B0 I/O \u9519\u8BEF\u3002 - -# {0}=file name -enhancer.file_not_found=\u627E\u4E0D\u5230\u6587\u4EF6 {0}\u3002 - -# {0}=file name -enhancer.io_error_while_reading_file=\u8BFB\u53D6\u6587\u4EF6 {0} \u65F6\u51FA\u73B0 I/O \u9519\u8BEF\u3002 - -# {0}=dir name -enhancer.unable_to_create_dir=\u65E0\u6CD5\u521B\u5EFA\u540D\u4E3A {0} \u7684\u76EE\u5F55\u3002 - -# {0}=file name -enhancer.class_previously_annotated=\u7C7B {0} \u5148\u524D\u5DF2\u8FDB\u884C\u6CE8\u91CA\u3002 - -# {0}=class name, {1}=interface name -enhancer.class_implements_jdo_pc=\u7C7B {0} \u5B9E\u73B0\u63A5\u53E3 {1}\u3002 - -# {0}=class name, {1}=method name -enhancer.class_defines_jdo_method=\u80FD\u591F\u6301\u4E45\u7684\u7C7B {0} \u5B9A\u4E49\u4E00\u4E2A JDO \u65B9\u6CD5, \u79F0\u4E3A {1}\u3002 - -# {0}=class name, {1}=field name -enhancer.class_defines_jdo_field=\u80FD\u591F\u6301\u4E45\u7684\u7C7B {0} \u5B9A\u4E49\u4E00\u4E2A JDO \u5B57\u6BB5, \u79F0\u4E3A {1}\u3002 - -# {0}=class name, {1}=member name -enhancer.class_has_jdo_like_member=\u80FD\u591F\u6301\u4E45\u7684\u7C7B {0} \u5B9A\u4E49\u4E00\u4E2A\u5176\u540D\u79F0\u662F\u4EE5\u4FDD\u7559\u7684 jdo \u524D\u7F00\u5F00\u5934\u7684\u6210\u5458 {1}\u3002 - - -# -# Unsupported enhancer messages -# -# (don't need to be localized unless we expose the command-line interface -# of the enhancer to the user) -# - -# {0}=class name, {1}=file name, {2}=file name -enhancer.class_already_entered={1}\u7684\u7C7B {0} \u5DF2\u4ECE{2}\u8F93\u5165\u3002 - -# {0}=dir name, {1}=dir name -enhancer.destination_directory_already_set=\u5C1D\u8BD5\u5C06\u76EE\u6807\u76EE\u5F55\u8BBE\u4E3A {0}, \u4F46\u5B83\u5DF2\u8BBE\u4E3A {1}\u3002 - -# {0}=dir name -enhancer.destination_directory_not_exist=\u76EE\u6807\u76EE\u5F55 {0} \u4E0D\u5B58\u5728\u3002 - -# Enhancer generator messages -# {0}=exception string -CME.generic_exception=\u589E\u5F3A\u5668\u751F\u6210\u5668\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF: {0} -CME.generic_exception_stack=\u589E\u5F3A\u5668\u751F\u6210\u5668\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF: - -#Failed to create destination directory. -#{0}=Destination directory -EXC_DestDirCreateFailure=\u65E0\u6CD5\u521B\u5EFA\u76EE\u6807\u76EE\u5F55: {0} - diff --git a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_zh_TW.properties deleted file mode 100644 index f99ac09477a..00000000000 --- a/appserver/persistence/cmp-l10n/enhancer-l10n/src/main/resources/com/sun/jdo/api/persistence/enhancer/Bundle_zh_TW.properties +++ /dev/null @@ -1,128 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: enhancer.. -# - is optional, package under model -# - short description (use _ to represent space) -# all keys should be in lowercase - - -# -# Global enhancer messages -# - -# {0}=detailed message -enhancer.error=JDO ENHANCER\uFE30\u589E\u5F37\u8F38\u5165\u985E\u5225\u4EE5\u5BE6\u4F5C\u4E0D\u9700\u8A2D\u5B9A\u7684\u6301\u7E8C\u6027\u6642\u81F3\u5C11\u767C\u751F\u4E86\u4E00\u500B\u932F\u8AA4\uFF1B\u8A73\u7D30\u8A0A\u606F\u5982\u4E0B\uFE30{0} - -# {0}=error number, {1}=detailed message -enhancer.enumerated_error=JDO ENHANCER\uFE30\u932F\u8AA4 ({0})\uFE30{1} - -# {0}=detailed message -enhancer.internal_error=JDO ENHANCER\uFE30\u589E\u5F37\u8F38\u5165\u985E\u5225\u6642\u767C\u751F\u5167\u90E8\u932F\u8AA4\uFF1B\u8A73\u7D30\u8A0A\u606F\u5982\u4E0B\uFE30{0} - -# {0}=detailed message -enhancer.warning=JDO ENHANCER\uFE30\u8B66\u544A\uFE30\u589E\u5F37\u8F38\u5165\u985E\u5225\u4EE5\u5BE6\u4F5C\u4E0D\u9700\u8A2D\u5B9A\u7684\u6301\u7E8C\u6027\u6642\u5075\u6E2C\u5230\u554F\u984C\uFF1B\u8A73\u7D30\u8A0A\u606F\u5982\u4E0B\uFE30{0} - - -# -# Enhancer core messages -# - -# -enhancer.io_error_while_reading_stream=\u8B80\u53D6\u8F38\u5165\u4E32\u6D41\u6642\u767C\u751F I/O \u932F\u8AA4\u3002 - -# -enhancer.class_format_error=\u8F38\u5165\u4E32\u6D41\u4E0D\u6307\u5B9A\u6709\u6548\u7684 Java \u985E\u5225\u3002 - -# -enhancer.io_error_while_writing_stream=\u5BEB\u5165\u8F38\u51FA\u4E32\u6D41\u6642\u767C\u751F I/O \u932F\u8AA4\u3002 - -# {0}=file name -enhancer.file_not_found=\u672A\u627E\u5230\u6A94\u6848 {0}\u3002 - -# {0}=file name -enhancer.io_error_while_reading_file=\u8B80\u53D6\u6A94\u6848 {0} \u6642\u767C\u751F I/O \u932F\u8AA4\u3002 - -# {0}=dir name -enhancer.unable_to_create_dir=\u7121\u6CD5\u5EFA\u7ACB\u540D\u70BA {0} \u7684\u76EE\u9304\u3002 - -# {0}=file name -enhancer.class_previously_annotated=\u5148\u524D\u5DF2\u5C0D\u985E\u5225 {0} \u4F5C\u904E\u8A3B\u89E3\u3002 - -# {0}=class name, {1}=interface name -enhancer.class_implements_jdo_pc=\u985E\u5225 {0} \u57F7\u884C\u4ECB\u9762 {1}\u3002 - -# {0}=class name, {1}=method name -enhancer.class_defines_jdo_method=\u5177\u6709\u6301\u7E8C\u6027\u7684\u985E\u5225 {0} \u5B9A\u7FA9\u7A31\u70BA {1} \u7684 JDO \u65B9\u6CD5\u3002 - -# {0}=class name, {1}=field name -enhancer.class_defines_jdo_field=\u5177\u6709\u6301\u7E8C\u6027\u7684\u985E\u5225 {0} \u5B9A\u7FA9\u7A31\u70BA {1} \u7684 JDO \u6B04\u4F4D\u3002 - -# {0}=class name, {1}=member name -enhancer.class_has_jdo_like_member=\u5177\u6709\u6301\u7E8C\u6027\u7684\u985E\u5225 {0} \u5B9A\u7FA9\u4EE5\u4FDD\u7559\u7684 jdo \u5B57\u9996\u4F5C\u70BA\u540D\u7A31\u958B\u982D\u7684\u6210\u54E1 {1}\u3002 - - -# -# Unsupported enhancer messages -# -# (don't need to be localized unless we expose the command-line interface -# of the enhancer to the user) -# - -# {0}=class name, {1}=file name, {2}=file name -enhancer.class_already_entered=\u4F86\u81EA {1} \u7684\u985E\u5225 {0} \u5DF2\u81EA {2} \u8F38\u5165\u3002 - -# {0}=dir name, {1}=dir name -enhancer.destination_directory_already_set=\u5617\u8A66\u5C07\u76EE\u7684\u5730\u76EE\u9304\u8A2D\u5B9A\u70BA {0}\uFF0C\u4F46\u5176\u5DF2\u8A2D\u5B9A\u70BA {1}\u3002 - -# {0}=dir name -enhancer.destination_directory_not_exist=\u76EE\u7684\u5730\u76EE\u9304 {0} \u4E0D\u5B58\u5728\u3002 - -# Enhancer generator messages -# {0}=exception string -CME.generic_exception=\u589E\u5F37\u8EDF\u9AD4\u7522\u751F\u5668\u767C\u751F\u67D0\u7A2E\u7570\u5E38\uFE30{0} -CME.generic_exception_stack=\u589E\u5F37\u8EDF\u9AD4\u7522\u751F\u5668\u767C\u751F\u67D0\u7A2E\u7570\u5E38\uFE30 - -#Failed to create destination directory. -#{0}=Destination directory -EXC_DestDirCreateFailure=\u7121\u6CD5\u5EFA\u7ACB\u76EE\u7684\u5730\u76EE\u9304\uFE30{0} - diff --git a/appserver/persistence/cmp-l10n/generator-database-l10n/osgi.bundle b/appserver/persistence/cmp-l10n/generator-database-l10n/osgi.bundle deleted file mode 100644 index c998cabdd15..00000000000 --- a/appserver/persistence/cmp-l10n/generator-database-l10n/osgi.bundle +++ /dev/null @@ -1,41 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -Fragment-Host: fish.payara.server.internal.persistence.cmp.generator-database; bundle-version=${project.osgi.version} diff --git a/appserver/persistence/cmp-l10n/generator-database-l10n/pom.xml b/appserver/persistence/cmp-l10n/generator-database-l10n/pom.xml deleted file mode 100755 index 1b6f9b14296..00000000000 --- a/appserver/persistence/cmp-l10n/generator-database-l10n/pom.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp-l10n - 7.2026.5-SNAPSHOT - - cmp-generator-database-l10n - - Database Generator module for cmp l10n - - - true - - - - - - org.glassfish.hk2 - osgiversion-maven-plugin - - - compute-osgi-version - - compute-osgi-version - - - - - - org.apache.felix - maven-bundle-plugin - - - bundle-manifest - process-classes - - manifest - - - - - - - - - - - - - src/main/resources - - **/*.jar - - - - - diff --git a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_de.properties b/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_de.properties deleted file mode 100644 index 31bb971b808..00000000000 --- a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_de.properties +++ /dev/null @@ -1,86 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 70. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO70000 - JDO70999 -############################################################################### -#{0} - policy name -EXC_MappingPolicyNotFound=JDO7000: Policy f\u00FCr {0} kann nicht abgerufen werden. -JDO7000.diag.cause.1=Fehler beim Laden der standardm\u00E4\u00DFigen Zuordnungs-Policy, die von der Datenbankschemagenerierung verwendet wird. -JDO7000.diag.check.1=Vergewissern Sie sich, dass die Classpath-Einstellungen nicht besch\u00E4digt sind. - -#{0} - resource Name -EXC_ResourceNotFound=JDO7001: Ressource {0} kann nicht gefunden werden. - -#{0} - Unrecognized property name -#{1} - Property's corresponding value. -MSG_UnexpectedUserProp=JDO7002: Nicht erkannte Datenbankgenerierungs-Benutzer-Policy gefunden mit Name={0} und Wert={1}; Name und Wert werden ignoriert. - -#{0} - Unrecognized JDBC type name -#{1} - Java type name given in .properties file or in sun-ejb-jar.xml as user override. -EXC_InvalidJDBCTypeName=JDO7003: Der angegebene JDBC-Typ ''{0}'' kann nicht als Typ f\u00FCr die Spalte verwendet werden, die Feld ''{1}'' zugeordnet ist. - -EXC_InvalidRelationshipMapping=JDO7704: Dieser Fehler (Abrufen von ''{0}'' f\u00FCr ''{1}'' in DatabaseGenerator nicht m\u00F6glich) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -JDO7704.diag.cause.1=Verwandtes Feld kann nicht identifiziert werden. -JDO7704.diag.cause.2=Verwandte Klasse kann nicht identifiziert werden. -JDO7704.diag.check.1=Vergewissern Sie sich, dass die Beziehungsdefinition korrekt ist. diff --git a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_es.properties b/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_es.properties deleted file mode 100644 index 93bd577c295..00000000000 --- a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_es.properties +++ /dev/null @@ -1,86 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 70. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO70000 - JDO70999 -############################################################################### -#{0} - policy name -EXC_MappingPolicyNotFound=JDO7000: no se puede obtener la pol\u00EDtica para {0}. -JDO7000.diag.cause.1=Error al cargar la pol\u00EDtica de asignaci\u00F3n por defecto que utiliza la generaci\u00F3n de esquemas de base de datos. -JDO7000.diag.check.1=Compruebe que la configuraci\u00F3n de classpath no est\u00E1 corrupta. - -#{0} - resource Name -EXC_ResourceNotFound=JDO7001: no se ha encontrado el recurso {0}. - -#{0} - Unrecognized property name -#{1} - Property's corresponding value. -MSG_UnexpectedUserProp=JDO7002: se ha encontrado una pol\u00EDtica de usuario de generaci\u00F3n de base de datos no reconocida con el nombre={0} y el valor={1}; se ignorar\u00E1n el nombre y el valor. - -#{0} - Unrecognized JDBC type name -#{1} - Java type name given in .properties file or in sun-ejb-jar.xml as user override. -EXC_InvalidJDBCTypeName=JDO7003: el tipo de JDBC especificado ''{0}'' no se puede utilizar para la columna asignada al campo ''{1}'' - -EXC_InvalidRelationshipMapping=JDO7704: este error (en DatabaseGenerator, fallo al obtener ''{0}'' para ''{1}'') no se debe producir.\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -JDO7704.diag.cause.1=No se puede identificar el campo relacionado. -JDO7704.diag.cause.2=No se puede identificar la clase relacionada. -JDO7704.diag.check.1=Verifique que la definici\u00F3n de relaci\u00F3n es correcta. diff --git a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_fr.properties b/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_fr.properties deleted file mode 100644 index 70dac5cb638..00000000000 --- a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_fr.properties +++ /dev/null @@ -1,86 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 70. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO70000 - JDO70999 -############################################################################### -#{0} - policy name -EXC_MappingPolicyNotFound=JDO7000 : impossible d''obtenir la r\u00E8gle pour {0}. -JDO7000.diag.cause.1=Erreur lors du chargement de la r\u00E8gle de mapping par d\u00E9faut qui est utilis\u00E9e pour la g\u00E9n\u00E9ration du sch\u00E9ma de la base de donn\u00E9es. -JDO7000.diag.check.1=V\u00E9rifiez que les param\u00E8tres de classpath sont corrects. - -#{0} - resource Name -EXC_ResourceNotFound=JDO7001 : impossible de trouver la ressource {0}. - -#{0} - Unrecognized property name -#{1} - Property's corresponding value. -MSG_UnexpectedUserProp=JDO7002 : une r\u00E8gle utilisateur de g\u00E9n\u00E9ration de la base de donn\u00E9es non reconnue a \u00E9t\u00E9 trouv\u00E9e avec les param\u00E8tres nom={0} et valeur={1}. Ces param\u00E8tres sont ignor\u00E9s. - -#{0} - Unrecognized JDBC type name -#{1} - Java type name given in .properties file or in sun-ejb-jar.xml as user override. -EXC_InvalidJDBCTypeName=JDO7003 : le type JDBC donn\u00E9 ''{0}'' ne peut pas \u00EAtre utilis\u00E9 comme type pour la colonne qui est mapp\u00E9e sur le champ ''{1}'' - -EXC_InvalidRelationshipMapping=JDO7704 : cette erreur (dans DatabaseGenerator, impossible d''obtenir ''{0}'' pour ''{1}'') ne devrait pas se produire.\nContactez le support technique et signalez le bug. -JDO7704.diag.cause.1=Impossible d'identifier le champ r\u00E9f\u00E9renc\u00E9. -JDO7704.diag.cause.2=Impossible d'identifier la classe connexe. -JDO7704.diag.check.1=V\u00E9rifiez que la d\u00E9finition de la relation est correcte. diff --git a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_it.properties b/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_it.properties deleted file mode 100644 index b562c8781b0..00000000000 --- a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_it.properties +++ /dev/null @@ -1,86 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 70. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO70000 - JDO70999 -############################################################################### -#{0} - policy name -EXC_MappingPolicyNotFound=JDO7000: impossibile ottenere i criteri per {0}. -JDO7000.diag.cause.1=Errore durante il caricamento dei criteri di mapping predefiniti utilizzati dalla generazione di schemi del database. -JDO7000.diag.check.1=Controllare che le impostazioni di classpath non siano danneggiate. - -#{0} - resource Name -EXC_ResourceNotFound=JDO7001: impossibile trovare la risorsa {0}. - -#{0} - Unrecognized property name -#{1} - Property's corresponding value. -MSG_UnexpectedUserProp=JDO7002: trovati criteri utente non riconosciuti per la generazione di database con nome={0} e valore={1}; il nome e il valore vengono ignorati. - -#{0} - Unrecognized JDBC type name -#{1} - Java type name given in .properties file or in sun-ejb-jar.xml as user override. -EXC_InvalidJDBCTypeName=JDO7003: il tipo JDBC ''{0}'' specificato non pu\u00F2 essere usato come tipo per la colonna mappata al campo ''{1}'' - -EXC_InvalidRelationshipMapping=JDO7704: questo errore (Impossibile ottenere ''{0}'' in DatabaseGenerator per ''{1}'') non dovrebbe verificarsi.\nContattare il supporto e segnalare un bug. -JDO7704.diag.cause.1=Impossibile identificare il campo correlato. -JDO7704.diag.cause.2=Impossibile identificare la classe correlata. -JDO7704.diag.check.1=Verificare che la definizione della relazione sia corretta. diff --git a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_ja.properties b/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_ja.properties deleted file mode 100644 index bfd444e42c9..00000000000 --- a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_ja.properties +++ /dev/null @@ -1,86 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 70. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO70000 - JDO70999 -############################################################################### -#{0} - policy name -EXC_MappingPolicyNotFound=JDO7000: {0}\u306E\u30DD\u30EA\u30B7\u30FC\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3002 -JDO7000.diag.cause.1=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30FB\u30B9\u30AD\u30FC\u30DE\u306E\u751F\u6210\u3067\u4F7F\u7528\u3055\u308C\u308B\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u30FB\u30DD\u30EA\u30B7\u30FC\u306E\u30ED\u30FC\u30C9\u6642\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 -JDO7000.diag.check.1=\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u8A2D\u5B9A\u304C\u7834\u640D\u3057\u3066\u3044\u306A\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u307E\u3059\u3002 - -#{0} - resource Name -EXC_ResourceNotFound=JDO7001: \u30EA\u30BD\u30FC\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002 - -#{0} - Unrecognized property name -#{1} - Property's corresponding value. -MSG_UnexpectedUserProp=JDO7002: \u540D\u524D\u304C{0}\u3001\u5024\u304C{1}\u306E\u8A8D\u8B58\u3055\u308C\u306A\u3044\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u751F\u6210\u30E6\u30FC\u30B6\u30FC\u30FB\u30DD\u30EA\u30B7\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002\u540D\u524D\u3068\u5024\u306F\u7121\u8996\u3055\u308C\u307E\u3059\u3002 - -#{0} - Unrecognized JDBC type name -#{1} - Java type name given in .properties file or in sun-ejb-jar.xml as user override. -EXC_InvalidJDBCTypeName=JDO7003: \u6307\u5B9A\u306EJDBC\u578B''{0}''\u306F\u3001\u30D5\u30A3\u30FC\u30EB\u30C9''{1}''\u306B\u30DE\u30C3\u30D7\u3055\u308C\u308B\u5217\u306E\u578B\u3068\u3057\u3066\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 - -EXC_InvalidRelationshipMapping=JDO7704: \u3053\u306E\u30A8\u30E9\u30FC(DatabaseGenerator\u3067\u3001''{1}''\u306B\u5BFE\u3059\u308B''{0}''\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u305F\u3053\u3068)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u5831\u544A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -JDO7704.diag.cause.1=\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u8B58\u5225\u3067\u304D\u307E\u305B\u3093\u3002 -JDO7704.diag.cause.2=\u95A2\u9023\u30AF\u30E9\u30B9\u3092\u8B58\u5225\u3067\u304D\u307E\u305B\u3093\u3002 -JDO7704.diag.check.1=\u95A2\u4FC2\u306E\u5B9A\u7FA9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u307E\u3059\u3002 diff --git a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_ko.properties b/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_ko.properties deleted file mode 100644 index 401dcf2d4b6..00000000000 --- a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_ko.properties +++ /dev/null @@ -1,86 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 70. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO70000 - JDO70999 -############################################################################### -#{0} - policy name -EXC_MappingPolicyNotFound=JDO7000: {0}\uC758 \uC815\uCC45\uC744 \uAC00\uC838\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -JDO7000.diag.cause.1=\uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC2A4\uD0A4\uB9C8 \uC0DD\uC131\uC5D0 \uC0AC\uC6A9\uB418\uB294 \uAE30\uBCF8 \uB9E4\uD551 \uC815\uCC45\uC744 \uB85C\uB4DC\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -JDO7000.diag.check.1=\uD074\uB798\uC2A4 \uACBD\uB85C \uC124\uC815\uC774 \uC190\uC0C1\uB418\uC9C0 \uC54A\uC558\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. - -#{0} - resource Name -EXC_ResourceNotFound=JDO7001: \uB9AC\uC18C\uC2A4 {0}\uC744(\uB97C) \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -#{0} - Unrecognized property name -#{1} - Property's corresponding value. -MSG_UnexpectedUserProp=JDO7002: \uC774\uB984={0}, \uAC12={1}\uC778 \uC778\uC2DD\uB418\uC9C0 \uC54A\uC740 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC0DD\uC131 \uC0AC\uC6A9\uC790 \uC815\uCC45\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uC774\uB984\uACFC \uAC12\uC744 \uBB34\uC2DC\uD569\uB2C8\uB2E4. - -#{0} - Unrecognized JDBC type name -#{1} - Java type name given in .properties file or in sun-ejb-jar.xml as user override. -EXC_InvalidJDBCTypeName=JDO7003: \uC8FC\uC5B4\uC9C4 JDBC \uC720\uD615 ''{0}''\uC744(\uB97C) ''{1}'' \uD544\uB4DC\uC5D0 \uB9E4\uD551\uB418\uB294 \uC5F4\uC758 \uC720\uD615\uC73C\uB85C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -EXC_InvalidRelationshipMapping=JDO7704: \uC774 \uC624\uB958(DatabaseGenerator\uC5D0\uC11C ''{1}''\uC5D0 \uB300\uD574 ''{0}'' \uAC00\uC838\uC624\uAE30 \uC2E4\uD328)\uAC00 \uBC1C\uC0DD\uD558\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4.\n\uACE0\uAC1D \uC9C0\uC6D0 \uC13C\uD130\uC5D0 \uBB38\uC758\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -JDO7704.diag.cause.1=\uAD00\uB828 \uD544\uB4DC\uB97C \uC2DD\uBCC4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -JDO7704.diag.cause.2=\uAD00\uB828 \uD074\uB798\uC2A4\uB97C \uC2DD\uBCC4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -JDO7704.diag.check.1=\uAD00\uACC4 \uC815\uC758\uAC00 \uC81C\uB300\uB85C \uB418\uC5B4 \uC788\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. diff --git a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_pt_BR.properties deleted file mode 100644 index 379a7fa2f27..00000000000 --- a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_pt_BR.properties +++ /dev/null @@ -1,86 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 70. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO70000 - JDO70999 -############################################################################### -#{0} - policy name -EXC_MappingPolicyNotFound=JDO7000: N\u00E3o \u00E9 poss\u00EDvel obter a pol\u00EDtica para {0}. -JDO7000.diag.cause.1=Erro ao carregar a pol\u00EDtica de mapeamento default que \u00E9 usada pela gera\u00E7\u00E3o de esquema de banco de dados. -JDO7000.diag.check.1=Verifique se as defini\u00E7\u00F5es de classpath n\u00E3o est\u00E3o corrompidas. - -#{0} - resource Name -EXC_ResourceNotFound=JDO7001: N\u00E3o \u00E9 poss\u00EDvel localizar o recurso {0}. - -#{0} - Unrecognized property name -#{1} - Property's corresponding value. -MSG_UnexpectedUserProp=JDO7002: Foi encontrada uma pol\u00EDtica desconhecida de usu\u00E1rio de gera\u00E7\u00E3o de banco de dados com o nome={0} e valor={1}; nome e valor s\u00E3o ignorados. - -#{0} - Unrecognized JDBC type name -#{1} - Java type name given in .properties file or in sun-ejb-jar.xml as user override. -EXC_InvalidJDBCTypeName=JDO7003: O tipo JDBC "{0}" fornecido n\u00E3o pode ser utilizado como um tipo para a coluna que est\u00E1 mapeada para o campo "{1}" - -EXC_InvalidRelationshipMapping=JDO7704: Este erro (No DatabaseGenerator, falhou em obter "{0}" para "{1}") n\u00E3o deveria ocorrer.\nEntre em contato com o suporte e registre um bug. -JDO7704.diag.cause.1=N\u00E3o \u00E9 poss\u00EDvel identificar o campo relacionado. -JDO7704.diag.cause.2=N\u00E3o \u00E9 poss\u00EDvel identificar a classe relacionada. -JDO7704.diag.check.1=Verifique se a defini\u00E7\u00E3o do relacionamento est\u00E1 correta. diff --git a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_zh_CN.properties deleted file mode 100644 index 0a50cc0f4e0..00000000000 --- a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_zh_CN.properties +++ /dev/null @@ -1,86 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 70. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO70000 - JDO70999 -############################################################################### -#{0} - policy name -EXC_MappingPolicyNotFound=JDO7000: \u65E0\u6CD5\u83B7\u5F97{0}\u7684\u7B56\u7565\u3002 -JDO7000.diag.cause.1=\u52A0\u8F7D\u6570\u636E\u5E93\u6A21\u5F0F\u751F\u6210\u6240\u4F7F\u7528\u7684\u9ED8\u8BA4\u6620\u5C04\u7B56\u7565\u65F6\u51FA\u73B0\u9519\u8BEF\u3002 -JDO7000.diag.check.1=\u8BF7\u68C0\u67E5\u7C7B\u8DEF\u5F84\u8BBE\u7F6E\u662F\u5426\u5DF2\u635F\u574F\u3002 - -#{0} - resource Name -EXC_ResourceNotFound=JDO7001: \u627E\u4E0D\u5230\u8D44\u6E90 {0}\u3002 - -#{0} - Unrecognized property name -#{1} - Property's corresponding value. -MSG_UnexpectedUserProp=JDO7002: \u627E\u5230\u65E0\u6CD5\u8BC6\u522B\u7684\u6570\u636E\u5E93\u751F\u6210\u7528\u6237\u7B56\u7565 (\u540D\u79F0\u4E3A {0}, \u503C\u4E3A {1}); \u540D\u79F0\u548C\u503C\u88AB\u5FFD\u7565\u3002 - -#{0} - Unrecognized JDBC type name -#{1} - Java type name given in .properties file or in sun-ejb-jar.xml as user override. -EXC_InvalidJDBCTypeName=JDO7003: \u7ED9\u5B9A\u7684 JDBC \u7C7B\u578B ''{0}'' \u4E0D\u80FD\u7528\u4F5C\u6620\u5C04\u5230\u5B57\u6BB5 ''{1}'' \u7684\u5217\u7684\u7C7B\u578B - -EXC_InvalidRelationshipMapping=JDO7704: This error (In DatabaseGenerator, failed to get ''{0}'' for ''{1}'') should not occur.\nPlease contact support and file a bug. -JDO7704.diag.cause.1=\u65E0\u6CD5\u6807\u8BC6\u76F8\u5173\u5B57\u6BB5\u3002 -JDO7704.diag.cause.2=\u65E0\u6CD5\u6807\u8BC6\u76F8\u5173\u7C7B\u3002 -JDO7704.diag.check.1=\u9A8C\u8BC1\u5173\u7CFB\u5B9A\u4E49\u662F\u5426\u6B63\u786E\u3002 diff --git a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_zh_TW.properties deleted file mode 100644 index 36735c09dc4..00000000000 --- a/appserver/persistence/cmp-l10n/generator-database-l10n/src/main/resources/com/sun/jdo/spi/persistence/generator/database/Bundle_zh_TW.properties +++ /dev/null @@ -1,86 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 70. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO70000 - JDO70999 -############################################################################### -#{0} - policy name -EXC_MappingPolicyNotFound=JDO7000\uFF1A\u7121\u6CD5\u53D6\u5F97 {0} \u7684\u7B56\u7565\u3002 -JDO7000.diag.cause.1=\u8F09\u5165\u7531\u8CC7\u6599\u5EAB\u7DB1\u8981\u7522\u751F\u6240\u4F7F\u7528\u7684\u9810\u8A2D\u5C0D\u61C9\u7B56\u7565\u6642\u767C\u751F\u932F\u8AA4\u3002 -JDO7000.diag.check.1=\u6AA2\u67E5\u985E\u5225\u8DEF\u5F91\u8A2D\u5B9A\u672A\u640D\u58DE\u3002 - -#{0} - resource Name -EXC_ResourceNotFound=JDO7001\uFF1A\u627E\u4E0D\u5230\u8CC7\u6E90 {0}\u3002 - -#{0} - Unrecognized property name -#{1} - Property's corresponding value. -MSG_UnexpectedUserProp=JDO7002\uFF1A\u627E\u5230\u5177\u6709 name={0} \u548C value={1} \u4E4B\u672A\u88AB\u8A8D\u53EF\u7684\u8CC7\u6599\u5EAB\u7522\u751F\u4F7F\u7528\u8005\u7B56\u7565\uFF1B\u540D\u7A31\u548C\u503C\u5747\u5FFD\u7565\u3002 - -#{0} - Unrecognized JDBC type name -#{1} - Java type name given in .properties file or in sun-ejb-jar.xml as user override. -EXC_InvalidJDBCTypeName=JDO7003\uFF1A\u6240\u63D0\u4F9B\u7684 JDBC \u985E\u578B ''{0}'' \u7121\u6CD5\u7528\u505A\u5C0D\u61C9\u81F3\u6B04\u4F4D ''{1}'' \u7684\u6B04\u985E\u578B - -EXC_InvalidRelationshipMapping=JDO7704\uFF1A\u6B64\u932F\u8AA4 (\u5728 DatabaseGenerator \u4E2D\uFF0C\u627E\u4E0D\u5230 ''{1}'' \u7684 ''{0}'') \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -JDO7704.diag.cause.1=\u7121\u6CD5\u8B58\u5225\u76F8\u95DC\u6B04\u4F4D\u3002 -JDO7704.diag.cause.2=\u7121\u6CD5\u8B58\u5225\u76F8\u95DC\u985E\u5225\u3002 -JDO7704.diag.check.1=\u9A57\u8B49\u95DC\u4FC2\u5B9A\u7FA9\u662F\u5426\u6B63\u78BA\u3002 diff --git a/appserver/persistence/cmp-l10n/model-l10n/osgi.bundle b/appserver/persistence/cmp-l10n/model-l10n/osgi.bundle deleted file mode 100644 index 252e8fe421b..00000000000 --- a/appserver/persistence/cmp-l10n/model-l10n/osgi.bundle +++ /dev/null @@ -1,41 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -Fragment-Host: fish.payara.server.internal.persistence.cmp.model; bundle-version=${project.osgi.version} diff --git a/appserver/persistence/cmp-l10n/model-l10n/pom.xml b/appserver/persistence/cmp-l10n/model-l10n/pom.xml deleted file mode 100755 index e33a55de91a..00000000000 --- a/appserver/persistence/cmp-l10n/model-l10n/pom.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp-l10n - 7.2026.5-SNAPSHOT - - cmp-model-l10n - - model module for cmp l10n - - - true - - - - - - org.glassfish.hk2 - osgiversion-maven-plugin - - - compute-osgi-version - - compute-osgi-version - - - - - - org.apache.felix - maven-bundle-plugin - - - bundle-manifest - process-classes - - manifest - - - - - - - - - - - - - src/main/resources - - **/*.jar - - - - - diff --git a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_de.properties b/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_de.properties deleted file mode 100644 index 8df0e53f3c2..00000000000 --- a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_de.properties +++ /dev/null @@ -1,443 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Some of the messages from this file are overridden in -# mapping/ejb/src/com/sun/jdo/api/persistence/model/Bundle_ejb.properties -# and -# support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 72. -# -# This file is divided into the following sections: -# 0. Top level model messages. -# 1. JDO model messages. -# 2. Mapping model messages. -# 3. Validation messages. -# -# IMPORTANT: When adding a new message in the validation section, -# realize that it is split into the following sub sections: -# classes -# fields -# database elements -# key class elements -# Since the messages should be grouped by sub section, the order of messageID's -# may not be sequential, so the last numbered message ID for the section -# is stored in a comment at the end of the entire validation section. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - - -############################################################################### -# -# Message ID Range: JDO72000 - JDO72099 -############################################################################### -# Model messages for loading/storing xml files -# {0}=class name -file.cannot_save=JDO72000: Datei f\u00FCr Klasse {0} kann nicht gespeichert werden -file.incompatible_version=JDO72001: Nicht kompatible Version der Zuordnungsdatei; ordnen Sie die Klasse {0} erneut zu -file.cannot_read=JDO72002: Zuordnungsdatei f\u00FCr Klasse {0} kann nicht gelesen werden; Ausnahme {1} - -# RuntimeModel messages for class loader handling -# {0}=class name -classloader.multiple=JDO72003: Klasse {0} wurde von mehreren Klassenladeprogrammen geladen - -# RuntimeModel message for dbschema loading -# {0}=schema name -# {1}=class name -dbschema.not_found=JDO72004: Schema {0} f\u00FCr Klasse {1} nicht gefunden - -############################################################################### -# -# Message ID Range: JDO72100 - JDO72199 -############################################################################### -# JDO PersistenceClassElement messages -# {0}=key class name, {1}=class name -jdo.class.key_class_invalid=JDO72100: {0} ist eine ung\u00FCltige Schl\u00FCsselklasse f\u00FCr Klasse {1}. G\u00FCltige Namen f\u00FCr Schl\u00FCsselklassen sind {1}.Oid und {1}Key. - -# JDO RelationshipElement messages -# {0}=action value -jdo.relationship.update_action_invalid=JDO72101: {0} ist ein ung\u00FCltiger Aktualisierungsvorgang -# {0}=action value -jdo.relationship.delete_action_invalid=JDO72102: {0} ist ein ung\u00FCltiger L\u00F6schvorgang -jdo.relationship.lower_cardinality_invalid=JDO72103: Untere Grenze darf nicht negativ oder gr\u00F6\u00DFer als die obere Grenze sein -jdo.relationship.upper_cardinality_invalid=JDO72104: Obere Grenze darf nicht gleich null, negativ oder niedriger als die untere Grenze sein - -# JDO ConcurrencyGroupElement default name -jdo.concurrency_group.default=Standard - - -############################################################################### -# -# Message ID Range: JDO72200 - JDO72299 -############################################################################### -# Mapping model generic messages for managing elements -mapping.element.null_argument=JDO72200: Dieses Element kann nicht hinzugef\u00FCgt/entfernt werden: Null-Argument angegeben -# {0}=element name -mapping.element.element_not_removed=JDO72201: Element {0} wurde nicht entfernt - -# Mapping model messages for managing tables -# {0}=table name -mapping.table.foreign_key_not_found=JDO72202: Tabelle {0} kann nicht hinzugef\u00FCgt werden: Fremdschl\u00FCssel wurde nicht gefunden -# {0}=table name -mapping.table.primary_table_defined=JDO72203: Prim\u00E4re Tabelle {0} kann nicht hinzugef\u00FCgt werden: Prim\u00E4re Tabelle wurde bereits definiert -# {0}=parent table name -mapping.table.parent_table_not_found=JDO72204: Tabelle {0} kann nicht hinzugef\u00FCgt werden: \u00DCbergeordnete Tabelle wurde in Zuordnung nicht gefunden -# {0}=secondary table name, {1}=parent table name -mapping.table.secondary_table_defined=JDO72205: Tabelle {0} kann nicht hinzugef\u00FCgt werden: Sekund\u00E4re Tabelle {0} wurde bereits f\u00FCr \u00FCbergeordnete Tabelle {1} definiert -# {0}=primary table name, {1}=schema name -mapping.table.schema_mismatch=JDO72206: Prim\u00E4re Tabelle {0} kann nicht hinzugef\u00FCgt werden: Prim\u00E4re Tabelle in Schema {1} nicht vorhanden - -# Mapping model messages for managing columns -# {0}=column name -mapping.column.column_defined=JDO72207: Spalte {0} kann nicht hinzugef\u00FCgt werden: Spalte wurde bereits definiert -# {0}=column name -mapping.column.associated_columns_defined=JDO72208: Spalte {0} kann nicht hinzugef\u00FCgt werden: Zugeh\u00F6rige Spalten wurden bereits definiert -# {0}=column name -mapping.column.column_invalid=JDO72209: {0} ist eine ung\u00FCltige Spalte - Spaltenpaar erforderlich - -# General validation messages -# Validation warning prefix (prepended to some of the messages below) -util.validation.warning=Warnung: - -############################################################################### -# -# Message ID Range: JDO72300 - JDO72399 -############################################################################### -# Validation messages for classes -# Validation message for class not found -# {0}=class name -util.validation.class_not_found=JDO72300: Klasse {0} wurde nicht gefunden.\nStellen Sie die Klasse wieder her. -# Validation message for related class not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: Verwandte Klasse {0} f\u00FCr Feld {1} wurde nicht gefunden.\nStellen Sie die Klasse wieder her. -# Validation message for class not persistence-capable -# {0}=class name -util.validation.class_not_persistence_capable=JDO72302: Die Klasse {0} ist nicht persistenzf\u00E4hig.\nWandeln Sie die Klasse in eine persistenzf\u00E4hige Klasse um. -# Validation message for related class not persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: Die verwandte Klasse {0} f\u00FCr Feld {1} ist nicht persistenzf\u00E4hig.\nWandeln Sie die Klasse in eine persistenzf\u00E4hige Klasse um. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: Die Klasse {0} darf nicht persistenzf\u00E4hig sein.\nHeben Sie die Persistenzf\u00E4higkeit auf, oder \u00FCberpr\u00FCfen Sie die Regeln, und aktualisieren Sie die Klasse. -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: Die verwandte Klasse {0} f\u00FCr Feld {1} darf nicht persistenzf\u00E4hig sein.\nHeben Sie die Persistenzf\u00E4higkeit auf, oder \u00FCberpr\u00FCfen Sie die Regeln, und aktualisieren Sie die Klasse. -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: Die Klasse {0} implementiert java.io.Serializable und muss daher auch die readObject-Methode definieren (siehe java.io.Serializable), um eine ordnungsgem\u00E4\u00DFe Erweiterung zu gew\u00E4hrleisten.\nF\u00FCgen Sie der Klasse die readObject-Methode hinzu. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: Die Klasse {0} implementiert java.io.Serializable und muss daher auch die writeObject-Methode definieren (siehe java.io.Serializable), um eine ordnungsgem\u00E4\u00DFe Erweiterung zu gew\u00E4hrleisten.\nF\u00FCgen Sie der Klasse die writeObject-Methode hinzu. -# Validation message for class which has no persistent fields -# {0}=class name -util.validation.class_no_fields=JDO72308: Die Klasse {0} muss mindestens ein persistentes Feld enthalten.\nSetzen Sie die Persistenzeigenschaft f\u00FCr ein bestehendes Feld auf "True", oder f\u00FCgen Sie ein Feld hinzu, und setzen Sie seine Persistenzeigenschaft auf "True". -# Validation message for class which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: Die Klasse {0} ist nicht zugeordnet.\nLegen Sie die prim\u00E4re Tabelle f\u00FCr die Klasse fest. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: Alle prim\u00E4ren Schl\u00FCsselspalten in der prim\u00E4ren Tabelle {1} der Klasse {0} m\u00FCssen Schl\u00FCsselfeldern zugeordnet werden.\nOrdnen Sie folgende prim\u00E4re Schl\u00FCsselspalten Schl\u00FCsselfeldern zu: {2}. Falls Sie diesen Spalten bereits Felder zugeordnet haben, vergewissern Sie sich, dass es sich dabei um Schl\u00FCsselfelder handelt. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: Das Feld {0} wurde als persistent angegeben, befindet sich jedoch nicht in der JAVA-Datei. \nF\u00FCgen Sie das Feld der JAVA-Datei hinzu, und vergewissern Sie sich, dass es persistent ist. -# Validation message for field not allowed to be persistent -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: Das Feld {0} darf nicht persistent sein.\nSetzen Sie seine Persistenzeigenschaft auf "False". -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: Das Feld {0} ist inkonsistent.\nSchalten Sie die Persistenzeigenschaft auf "False" um und anschlie\u00DFend zur\u00FCck auf "True". -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: Das Feld {0} ist inkonsistent.\nVergewissern Sie sich, dass das Feld persistent ist. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: Das Feld {0} darf keine Beziehung sein.\n\u00C4ndern Sie den Typ des Feldes in einen Wrapper- oder Basistyp.\nFalls der Typ korrekt ist, schalten Sie die Persistenzeigenschaft auf "False" um und anschlie\u00DFend zur\u00FCck auf "True". -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: Das Feld {0} muss eine Beziehung sein.\n\u00C4ndern Sie den Typ des Feldes in eine Collection oder eine andere persistente Klasse.\nFalls der Typ korrekt ist, schalten Sie die Persistenzeigenschaft auf "False" um und anschlie\u00DFend zur\u00FCck auf "True". -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: Das Feld {0} weist eine ung\u00FCltige Abrufgruppe auf. Der Standard ist keine g\u00FCltige Abrufgruppe f\u00FCr verwaltete Felder.\nW\u00E4hlen Sie eine andere Abrufgruppe. -# Validation message for field which is not mapped -# {0}=field name -util.validation.field_not_mapped=JDO72318: Das Feld {0} ist nicht zugeordnet.\nLegen Sie die Spaltenzuordnung f\u00FCr das Feld fest. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: Das Feld {0} darf kein Schl\u00FCsselfeld sein, da seine Zuordnung ein Large Object (z.B. BLOB/CLOB-Spalte) enth\u00E4lt.\nAktualisieren Sie die Spaltenzuordnung, oder setzen Sie die Schl\u00FCsselfeldeigenschaft auf "False". -# Validation message for field in the default fetch group which is mapped to a -# blob or clob column -# {0}=field name -util.validation.field_fetch_group_not_allowed=JDO72320: Das Feld {0} weist eine ung\u00FCltige Abrufgruppe auf. Der Standard ist keine g\u00FCltige Abrufgruppe f\u00FCr Felder, die Large Objects (z.B. BLOB-/CLOB-Spalten) zugeordnet sind.\nW\u00E4hlen Sie eine andere Abrufgruppe, oder aktualisieren Sie die Spaltenzuordnung. -# Validation message for managed (multiple fields to same column) field which -# has a non exact column match -# {0}=field name -# {1}=other field name -util.validation.field_mapping_invalid=JDO72321: Das Feld {0} weist eine ung\u00FCltige Zuordnung auf. Seine Zuordnung \u00FCberschneidet sich teilweise mit der Zuordnung von Feld {1}. Die Zuordnungen m\u00FCssen identisch sein bzw. d\u00FCrfen keine \u00DCberschneidungen aufweisen. \nAktualisieren Sie die Spaltenzuordnung f\u00FCr ein Feld oder beide Felder. -# Validation message for invalid combination of upper and lower bounds -# {0}=(relationship) field name -util.validation.cardinality_invalid=JDO72322: Das Feld {0} weist keine g\u00FCltigen oberen bzw. unteren Grenzen auf.\nAktualisieren Sie die Grenzen, wobei die obere Grenze gr\u00F6\u00DFer als 0 und gr\u00F6\u00DFer oder gleich der unteren Grenze ist und die untere Grenze nicht negativ ist. -# Validation message for a relationship field with lower bound 0 mapped to -# at least one non-nullable column -# {0}=(relationship) field name -util.validation.lower_bound_invalid=JDO72323: Das Feld {0} weist keine g\u00FCltige untere Grenze auf. Eine Beziehung, die einem Fremdschl\u00FCssel zugeordnet ist, der eine oder mehrere Spalten enth\u00E4lt, f\u00FCr die keine Nullwerte m\u00F6glich sind, muss eine untere Grenze mit dem Wert 1 aufweisen.\nAktualisieren Sie die untere Grenze auf 1. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324:The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: Das Feld {0} weist eine ung\u00FCltige Collection-Klasse auf.\nAktualisieren Sie den Typ der Beziehung auf eine festgelegte oder allgemeine Collection, oder setzen Sie die Persistenzeigenschaft auf "False". -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: F\u00FCr das Feld {0} wurde keine verwandte Klasse festgelegt, es ist aber Spalten zugeordnet.\nAktualisieren Sie die verwandte Klasse, oder heben Sie die Zuordnung der Beziehung auf. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: Das Feld {0} weist ein ung\u00FCltiges verwandtes Feld {1} auf. Verwandte Felder m\u00FCssen f\u00FCr beide Beziehungsfelder festgelegt werden.\nHeben Sie die Festlegung f\u00FCr die verwandte Feldeigenschaft f\u00FCr dieses Feld auf, oder legen Sie die verwandte Feldeigenschaft f\u00FCr das verwandte Feld fest. -# Validation message for inverse field which does not exist in the related class -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related class name -util.validation.related_class_mismatch=JDO72327: Das Feld {0} weist ein verwandtes Feld {1} auf, das nicht in der verwandten Klasse {2} vorhanden ist.\nAktualisieren Sie die verwandte Klasse, und aktualisieren Sie ggf. das verwandte Feld. -# Validation message for inverse field set and no related class set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: F\u00FCr das Feld {0} wurde keine verwandte Klasse festgelegt, aber es hat ein verwandtes Feld {1}.\nAktualisieren Sie die verwandte Klasse, oder setzen Sie das verwandte Feld auf "None". -# Validation message for field & inverse field which have non-inverse mappings -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_mapping_mismatch=JDO72329: Das Feld {0} weist eine Zuordnung auf, die nicht die exakte Umkehrung der Zuordnung seines verwandten Feldes {1} darstellt.\nSetzen Sie das verwandte Feld f\u00FCr beide Beziehungsfelder auf "None", heben Sie die Zuordnung f\u00FCr eines der Felder auf, und setzen Sie das verwandte Feld zur\u00FCck. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=class name -util.validation.schema_not_found=JDO72331: Das Schema {0} f\u00FCr die Klasse {1} kann nicht gefunden werden.\nStellen Sie die Schemadatei wieder her. -# Validation message for related schema not found -# {0}=schema name -# {1}=related class name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: Das Schema {0} f\u00FCr die verwandte Klasse {1} des Feldes {2} kann nicht gefunden werden.\nStellen Sie die Schemadatei wieder her. -# Validation message for schema not set but primary table set -# {0}=class name -util.validation.schema_not_set=JDO72333: F\u00FCr die Klasse {0} wurde kein Schema festgelegt, aber sie wurde Tabellen zugeordnet.\nAktualisieren Sie die zugeordnete Schemaeigenschaft f\u00FCr die Klasse, oder heben Sie die Zuordnung der prim\u00E4ren Tabelle auf. -# Validation message for schemas don't match -# {0}=class name -# {1}=related class name -# {2}=field name -util.validation.schema_mismatch=JDO72334: Die Schemen f\u00FCr Klasse {0} und ihre verwandte Klasse {1} des Feldes {2} m\u00FCssen \u00FCbereinstimmen.\nAktualisieren Sie die zugeordnete Schemaeigenschaft einer der beiden Klassen. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=class name -util.validation.table_no_primarykey=JDO72335: Wenn die Tabelle {0} f\u00FCr die Klasse {1} als prim\u00E4re Tabelle zugeordnet ist, muss sie einen prim\u00E4ren Schl\u00FCssel aufweisen.\nW\u00E4hlen Sie eine andere prim\u00E4re Tabelle, oder vergewissern Sie sich, dass der Content der Schemadatei korrekt ist. -# Validation message for table not found -# {0}=table name -# {1}=class name -util.validation.table_not_found=JDO72336: Tabelle {0} f\u00FCr die Klasse {1} kann nicht gefunden werden.\nStellen Sie sicher, dass die Schemadatei existiert und ihren ordnungsgem\u00E4\u00DFen Content aufweist. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: Tabelle {0} f\u00FCr die verwandte Klasse des Feldes {1} kann nicht gefunden werden.\nStellen Sie sicher, dass die Schemadatei existiert und ihren ordnungsgem\u00E4\u00DFen Content aufweist. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.table_mismatch=JDO72355: Beziehung {1} ist Spalte {0} zugeordnet, die nicht zu den zugeordneten prim\u00E4ren oder sekund\u00E4ren Tabellen f\u00FCr die Klasse {2} geh\u00F6rt. \nAktualisieren Sie die Tabellenzuordnung oder die Beziehungszuordnung. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.table_mismatch_related=JDO72338: Beziehung {1} ist Spalte {0} zugeordnet, die nicht zu den zugeordneten prim\u00E4ren oder sekund\u00E4ren Tabellen f\u00FCr die verwandte Klasse {2} geh\u00F6rt. \nAktualisieren Sie die Tabellenzuordnung oder die Beziehungszuordnung. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=class name -util.validation.column_not_found=JDO72339: Die Spalten im Referenzschl\u00FCsselpaar {0} f\u00FCr die Einrichtung der sekund\u00E4ren Tabelle der Klasse {1} k\u00F6nnen nicht gefunden werden.\nStellen Sie sicher, dass die Schemadatei existiert und ihren ordnungsgem\u00E4\u00DFen Content aufweist. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_not_found_related=JDO72340: Die Spalte {0} f\u00FCr die Zuordnung des Feldes {1} in der Klasse {2} kann nicht gefunden werden.\nStellen Sie sicher, dass die Schemadatei existiert und ihren ordnungsgem\u00E4\u00DFen Content aufweist. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_invalid=JDO72341: Die Spalten im Schl\u00FCsselpaar {0} f\u00FCr die Beziehung {1} in der Klasse {2} k\u00F6nnen nicht gefunden werden.\nStellen Sie sicher, dass die Schemadatei existiert und ihren ordnungsgem\u00E4\u00DFen Content aufweist. - -# Validation messages for key class elements - -# Validation message for a wrong key class name -# {0}=key class name -# {1}=pc class name -util.validation.key_class_invalid=JDO72342: {0} ist ein ung\u00FCltiger Schl\u00FCsselklassenname. Benennen Sie die Klasse in {1}.Oid f\u00FCr eine innere Klasse oder in {1}Key f\u00FCr eine separate Klasse um. -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: Die Schl\u00FCsselklasseneigenschaft f\u00FCr Klasse {0} ist nicht festgelegt.\nLegen Sie die Schl\u00FCsselklasseneigenschaft fest. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: Die Schl\u00FCsselklasse {0} f\u00FCr Klasse {1} existiert nicht.\nDefinieren Sie die Schl\u00FCsselklasse. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: Die Schl\u00FCsselklasse {0} f\u00FCr Klasse {1} muss \u00F6ffentlich sein.\nAktualisieren Sie die Modifizierer der Schl\u00FCsselklasse. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: Die Schl\u00FCsselklasse {0} f\u00FCr Klasse {1} muss java.io.Serializable implementieren.\nAktualisieren Sie die Schnittstellen der Schl\u00FCsselklasse. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: Falls die Schl\u00FCsselklasse {0} f\u00FCr Klasse {1} als innere Klasse definiert ist, muss sie statisch sein.\nAktualisieren Sie die Modifizierer der Schl\u00FCsselklasse. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: Der Typ des nicht statischen Feldes {0} der Schl\u00FCsselklasse {1} muss ein Basistyp, eine Zeichenfolge, ein Zahlentyp oder ein Datentyp sein.\nAktualisieren Sie den Typ des Schl\u00FCsselklassenfeldes. -# Validation message for key class field must be public -# {0}=key class field name -# {1}=key class name -util.validation.key_field_public=JDO72349: Das nicht statische Feld {0} der Schl\u00FCsselklasse {1} muss \u00F6ffentlich sein.\nAktualisieren Sie die Modifizierer des Schl\u00FCsselklassenfeldes. -# Validation message for key class field must have the same type as the pc -# class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: Das Feld {0} der Schl\u00FCsselklasse {1} muss denselben Typ aufweisen wie sein entsprechendes Feld in der persistenzf\u00E4higen Klasse {2}.\nAktualisieren Sie den Typ des Schl\u00FCsselklassenfeldes. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: Alle Schl\u00FCsselfelder der Klasse {0} m\u00FCssen in der Schl\u00FCsselklasse {1} vorhanden sein.\nF\u00FCgen Sie der Schl\u00FCsselklasse die folgenden Schl\u00FCsselfelder hinzu: {2}. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: Die Schl\u00FCsselklasse {0} f\u00FCr Klasse {1} muss einen \u00F6ffentlichen Konstruktor definieren. M\u00F6glich ist hier der Standardkonstruktor oder ein no-arg-Konstruktor.\nF\u00FCgen Sie der Schl\u00FCsselklasse einen no-arg-Konstruktor hinzu. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: Die Schl\u00FCsselklasse {0} f\u00FCr Klasse {1} muss die equals-Methode aus java.lang.Object \u00FCberschreiben.\nImplementieren Sie die equals-Methode in der Schl\u00FCsselklasse. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: Die Schl\u00FCsselklasse {0} f\u00FCr Klasse {1} muss die hashCode-Methode aus java.lang.Object \u00FCberschreiben.\nImplementieren Sie die hashCode-Methode in der Schl\u00FCsselklasse. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356: Die Klasse {0} muss genau ein Versionsfeld aufweisen.\nSetzen Sie die Versionsfeldeigenschaft auf ein bestehendes Feld. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357: Das Beziehungsfeld {0} darf kein Versionsfeld sein.\nW\u00E4hlen Sie als Versionsfeld ein Feld, das kein Beziehungsfeld ist. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358: Das Versionsfeld {0} weist eine ung\u00FCltige Abrufgruppe auf. Versionsfelder m\u00FCssen zur Standardabrufgruppe geh\u00F6ren.\nSetzen Sie die Abrufgruppe auf ''Standard'' oder w\u00E4hlen Sie ein anderes Versionsfeld aus. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359: Das Feld {0} darf kein Schl\u00FCsselfeld sein, da es als Versionsfeld definiert ist.\nW\u00E4hlen Sie ein anderes Versionsfeld, oder setzen Sie die Schl\u00FCsselfeldeigenschaft auf "False". -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360: Das Versionsfeld {0} muss den Typ ''long'' aufweisen.\n\u00C4ndern Sie den Feldtyp zu ''long'', oder w\u00E4hlen Sie ein anderes Versionsfeld. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361: Das Versionsfeld {0} muss zu genau einer Spalte zugeordnet werden.\nAktualisieren Sie die Spaltenzuordnung f\u00FCr das Feld. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362: Das Versionsfeld {1} ist Spalte {0} zugeordnet, die nicht in der prim\u00E4ren Tabelle f\u00FCr Klasse {2} enthalten ist.\nAktualisieren Sie die Spaltenzuordnung, oder w\u00E4hlen Sie ein anderes Versionsfeld. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363: Das Versionsfeld {1} in Klasse {2} ist Spalte {0} zugeordnet, f\u00FCr die keine Nullwerte oder nicht-numerische Werte zul\u00E4ssig sind.\nAktualisieren Sie das Schema, oder w\u00E4hlen Sie ein anderes Versionsfeld. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364: Das Versionsfeld {1} in Klasse {2} ist Spalte {0} zugeordnet, die nicht Bestandteil des prim\u00E4ren Schl\u00FCssels sein darf.\nAktualisieren Sie das Schema, oder w\u00E4hlen Sie ein anderes Versionsfeld. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364: Das Versionsfeld {1} in Klasse {2} ist Spalte {0} zugeordnet, die nicht Bestandteil eines Fremdschl\u00FCssels sein darf.\nAktualisieren Sie das Schema, oder w\u00E4hlen Sie ein anderes Versionsfeld. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365: Das Versionsfeld {0} weist eine ung\u00FCltige Spaltenzuordnung auf. Versionsfelder k\u00F6nnen keine verwalteten Felder sein.\nAktualisieren Sie die Spaltenzuordnung, oder w\u00E4hlen Sie ein anderes Versionsfeld. - -# IMPORTANT: The highest message ID for the validation section is -# -# JDO72365 -# -# Please update this as necessary. - -# logging messages - not brandable for ejb context at this time -model.parse_error=Fehler bei der \u00DCberpr\u00FCfung der Persistenz. diff --git a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_es.properties b/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_es.properties deleted file mode 100644 index 79e6ad6a5da..00000000000 --- a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_es.properties +++ /dev/null @@ -1,443 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Some of the messages from this file are overridden in -# mapping/ejb/src/com/sun/jdo/api/persistence/model/Bundle_ejb.properties -# and -# support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 72. -# -# This file is divided into the following sections: -# 0. Top level model messages. -# 1. JDO model messages. -# 2. Mapping model messages. -# 3. Validation messages. -# -# IMPORTANT: When adding a new message in the validation section, -# realize that it is split into the following sub sections: -# classes -# fields -# database elements -# key class elements -# Since the messages should be grouped by sub section, the order of messageID's -# may not be sequential, so the last numbered message ID for the section -# is stored in a comment at the end of the entire validation section. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - - -############################################################################### -# -# Message ID Range: JDO72000 - JDO72099 -############################################################################### -# Model messages for loading/storing xml files -# {0}=class name -file.cannot_save=JDO72000: no se puede guardar el archivo para la clase {0} -file.incompatible_version=JDO72001: versi\u00F3n del archivo de asignaci\u00F3n incompatible; vuelva a asignar la clase {0} -file.cannot_read=JDO72002: no se puede leer el archivo de asignaci\u00F3n de la clase {0}; la excepci\u00F3n es {1} - -# RuntimeModel messages for class loader handling -# {0}=class name -classloader.multiple=JDO72003: clase {0} cargada por varios cargadores de clases - -# RuntimeModel message for dbschema loading -# {0}=schema name -# {1}=class name -dbschema.not_found=JDO72004: no se ha encontrado el esquema {0} de la clase {1} - -############################################################################### -# -# Message ID Range: JDO72100 - JDO72199 -############################################################################### -# JDO PersistenceClassElement messages -# {0}=key class name, {1}=class name -jdo.class.key_class_invalid=JDO72100: {0} es una clase de clave no v\u00E1lida para la clase {1}. Los nombres de clases de clave v\u00E1lidos son {1}.Oid y {1}Key. - -# JDO RelationshipElement messages -# {0}=action value -jdo.relationship.update_action_invalid=JDO72101: {0} es una acci\u00F3n de actualizaci\u00F3n no v\u00E1lida -# {0}=action value -jdo.relationship.delete_action_invalid=JDO72102: {0} es una acci\u00F3n de supresi\u00F3n no v\u00E1lida -jdo.relationship.lower_cardinality_invalid=JDO72103: el l\u00EDmite inferior no puede ser negativo ni mayor que el l\u00EDmite superior -jdo.relationship.upper_cardinality_invalid=JDO72104: el l\u00EDmite superior no puede ser igual a cero, negativo ni menor que el l\u00EDmite inferior - -# JDO ConcurrencyGroupElement default name -jdo.concurrency_group.default=Valor por Defecto - - -############################################################################### -# -# Message ID Range: JDO72200 - JDO72299 -############################################################################### -# Mapping model generic messages for managing elements -mapping.element.null_argument=JDO72200: No se puede agregar/eliminar el elemento: se ha proporcionado un argumento NULL -# {0}=element name -mapping.element.element_not_removed=JDO72201: no se ha eliminado el elemento {0} - -# Mapping model messages for managing tables -# {0}=table name -mapping.table.foreign_key_not_found=JDO72202: No se puede agregar la tabla {0}: no se ha encontrado la clave ajena -# {0}=table name -mapping.table.primary_table_defined=JDO72203: No se puede agregar la tabla primaria {0}: ya se ha definido la tabla primaria -# {0}=parent table name -mapping.table.parent_table_not_found=JDO72204: No se puede agregar la tabla {0}: no se ha encontrado la tabla principal en la asignaci\u00F3n -# {0}=secondary table name, {1}=parent table name -mapping.table.secondary_table_defined=JDO72205: No se puede agregar la tabla {0}: ya se ha definido la tabla secundaria {0} para la tabla principal {1} -# {0}=primary table name, {1}=schema name -mapping.table.schema_mismatch=JDO72206: No se puede agregar la tabla primaria {0}: no existe la tabla primaria en el esquema {1} - -# Mapping model messages for managing columns -# {0}=column name -mapping.column.column_defined=JDO72207: No se puede agregar la columna {0}: ya se ha definido la columna -# {0}=column name -mapping.column.associated_columns_defined=JDO72208: No se puede agregar la columna {0}: ya se han definido las columnas asociadas -# {0}=column name -mapping.column.column_invalid=JDO72209: {0} es una columna no v\u00E1lida. Debe ser un par de columnas - -# General validation messages -# Validation warning prefix (prepended to some of the messages below) -util.validation.warning=Advertencia: - -############################################################################### -# -# Message ID Range: JDO72300 - JDO72399 -############################################################################### -# Validation messages for classes -# Validation message for class not found -# {0}=class name -util.validation.class_not_found=JDO72300: no se ha encontrado la clase {0}.\nRestaure la clase. -# Validation message for related class not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: no se ha encontrado la clase relacionada {0} para el campo {1}.\nRestaure la clase. -# Validation message for class not persistence-capable -# {0}=class name -util.validation.class_not_persistence_capable=JDO72302: la clase {0} no es compatible con persistencia.\nConvierta la clase para que sea compatible con persistencia. -# Validation message for related class not persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: la clase relacionada {0} para el campo {1} no es compatible con persistencia.\nConvierta la clase para que sea compatible con persistencia. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: la clase {0} no puede ser compatible con persistencia.\nC\u00E1mbiela para que no sea compatible con persistencia o revise las reglas y actualice la clase. -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: la clase relacionada {0} para el campo {1} no puede ser compatible con persistencia.\nC\u00E1mbiela para que no sea compatible con persistencia o revise las reglas y actualice la clase. -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: la clase {0} implanta java.io.Serializable, por lo que debe definir tambi\u00E9n el m\u00E9todo readObject (consulte java.io.Serializable) para garantizar una mejora adecuada.\nAgregue el m\u00E9todo readObject a la clase. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: la clase {0} implanta java.io.Serializable, por lo que debe definir tambi\u00E9n el m\u00E9todo writeObject (consulte java.io.Serializable) para garantizar una mejora adecuada.\nAgregue el m\u00E9todo writeObject a la clase. -# Validation message for class which has no persistent fields -# {0}=class name -util.validation.class_no_fields=JDO72308: la clase {0} debe tener al menos un campo persistente.\nDefina la propiedad de persistencia como true en un campo existente o agregue un campo y defina como true su propiedad de persistencia. -# Validation message for class which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: no se ha asignado la clase {0}.\nDefina la tabla primaria para la clase. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: se deben asignar a todos los campos de clave todas las columnas de clave primaria en la tabla primaria {1} de la clase {0}.\nAsigne las siguientes columnas de clave primaria a los campos de clave: {2}. Si ya tiene asignados campos a estas columnas, verifique que son campos de clave. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: se ha especificado el campo {0} como persistente, pero no est\u00E1 en el archivo .java.\nAgregue el campo al archivo .java y aseg\u00FArese de que es persistente. -# Validation message for field not allowed to be persistent -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: el campo {0} no puede ser persistente.\nCambie la propiedad del campo de persistencia a false. -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: el campo {0} no es consistente.\nCambie la propiedad del campo de persistencia a false y, a continuaci\u00F3n, a true. -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: el campo {0} no es consistente.\nAseg\u00FArese de que el campo es persistente. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: el campo {0} no puede ser una relaci\u00F3n.\nCambie el tipo de campo a envoltorio o primitivo.\nSi el tipo es correcto, cambie la propiedad del campo de persistencia a false y, a continuaci\u00F3n, a true. -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: el campo {0} debe ser una relaci\u00F3n.\nCambie el tipo de campo a recopilaci\u00F3n u otra clase compatible con persistencia.\nSi el tipo es correcto, cambie la propiedad del campo de persistencia a false y, a continuaci\u00F3n, a true. -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: el campo {0} tiene un grupo de recuperaci\u00F3n no v\u00E1lido. El grupo por defecto no es un grupo de recuperaci\u00F3n v\u00E1lido para campos gestionados.\nSeleccione otro grupo de recuperaci\u00F3n. -# Validation message for field which is not mapped -# {0}=field name -util.validation.field_not_mapped=JDO72318: no se ha asignado el campo {0}.\nDefina la asignaci\u00F3n de columna para el campo. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: el campo {0} no puede ser un campo de clave, ya que su asignaci\u00F3n contiene una columna de objeto grande (es decir, BLOB/CLOB).\nActualice la asignaci\u00F3n de columnas o defina la propiedad de campo de clave como false. -# Validation message for field in the default fetch group which is mapped to a -# blob or clob column -# {0}=field name -util.validation.field_fetch_group_not_allowed=JDO72320: el campo {0} tiene un grupo de recuperaci\u00F3n no v\u00E1lido. El valor por defecto no es un grupo de recuperaci\u00F3n v\u00E1lido para los campos asignados a columnas de objetos grandes (por ejemplo, BLOB/CLOB).\nSeleccione otro grupo de recuperaci\u00F3n o actualice la asignaci\u00F3n de columnas. -# Validation message for managed (multiple fields to same column) field which -# has a non exact column match -# {0}=field name -# {1}=other field name -util.validation.field_mapping_invalid=JDO72321: el campo {0} tiene una asignaci\u00F3n no v\u00E1lida. Su asignaci\u00F3n se solapa parcialmente con la asignaci\u00F3n del campo {1}. Las asignaciones deben ser id\u00E9nticas o no contener solapamientos. \nActualice la asignaci\u00F3n de columna para un campo o ambos. -# Validation message for invalid combination of upper and lower bounds -# {0}=(relationship) field name -util.validation.cardinality_invalid=JDO72322: el campo {0} no tiene l\u00EDmites superior e inferior v\u00E1lidos.\nActualice los l\u00EDmites para que el l\u00EDmite superior sea mayor que 0 y mayor o igual que el l\u00EDmite inferior y para que el l\u00EDmite inferior no sea negativo. -# Validation message for a relationship field with lower bound 0 mapped to -# at least one non-nullable column -# {0}=(relationship) field name -util.validation.lower_bound_invalid=JDO72323: el campo {0} no tiene un l\u00EDmite inferior v\u00E1lido. Una relaci\u00F3n asignada a una clave ajena que tenga una o varias columnas que no soporten valores NULL debe tener un l\u00EDmite inferior de 1.\nActualice el l\u00EDmite inferior a 1. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324:The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: el campo {0} tiene una clase de recopilaci\u00F3n no v\u00E1lida.\nActualice el tipo de relaci\u00F3n para que sea un juego o una recopilaci\u00F3n gen\u00E9rica, o bien, defina la propiedad de persistencia como false. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: el campo {0} no tiene definida una clase relacionada, pero est\u00E1 asignado a columnas.\nActualice la clase relacionada o anule la asignaci\u00F3n de la relaci\u00F3n. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: el campo {0} tiene un campo relacionado no v\u00E1lido {1}. Se deben definir los campos relacionados para los dos campos de relaci\u00F3n.\nAnule la definici\u00F3n de la propiedad de campo relacionado para este campo o defina la propiedad de campo relacionado para el campo relacionado. -# Validation message for inverse field which does not exist in the related class -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related class name -util.validation.related_class_mismatch=JDO72327: el campo {0} tiene un campo relacionado {1} que no existe en la clase relacionada {2}.\nActualice la clase relacionada y el campo relacionado si es necesario. -# Validation message for inverse field set and no related class set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: el campo {0} no tiene definida una clase relacionada, pero tiene un campo relacionado {1}.\nActualice la clase relacionada o defina el campo relacionado en Ninguno. -# Validation message for field & inverse field which have non-inverse mappings -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_mapping_mismatch=JDO72329: el campo {0} tiene una asignaci\u00F3n que no es exactamente la inversa de la asignaci\u00F3n de su campo relacionado {1}.\nDefina el campo relacionado para los dos campos de relaci\u00F3n en Ninguno, anule la asignaci\u00F3n de uno de los campos y, a continuaci\u00F3n, vuelva a definir el campo relacionado. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=class name -util.validation.schema_not_found=JDO72331: no se ha encontrado el esquema {0} para la clase {1}.\nRestaure el archivo de esquema. -# Validation message for related schema not found -# {0}=schema name -# {1}=related class name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: no se ha encontrado el esquema {0} para la clase relacionada {1} del campo {2}.\nRestaure el archivo de esquema. -# Validation message for schema not set but primary table set -# {0}=class name -util.validation.schema_not_set=JDO72333: la clase {0} no tiene definido un esquema, pero est\u00E1 asignada a las tablas.\nActualice la propiedad de esquema asignada de la clase o anule la asignaci\u00F3n de la tabla primaria. -# Validation message for schemas don't match -# {0}=class name -# {1}=related class name -# {2}=field name -util.validation.schema_mismatch=JDO72334: los esquemas de la clase {0} y su clase relacionada {1} del campo {2} deben coincidir.\nActualice la propiedad de esquema asignada de una de las clases. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=class name -util.validation.table_no_primarykey=JDO72335: si la tabla {0} de la clase {1} se ha asignado como tabla primaria, debe tener tambi\u00E9n una clave primaria.\nSeleccione otra tabla primaria o verifique que el contenido del archivo de esquema es correcto. -# Validation message for table not found -# {0}=table name -# {1}=class name -util.validation.table_not_found=JDO72336: no se ha encontrado la tabla {0} para la clase {1}.\nVerifique que el archivo de esquema existe y que su contenido es correcto. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: no se ha encontrado la tabla {0} para la clase relacionada del campo {1}.\nVerifique que el archivo de esquema existe y que su contenido es correcto. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.table_mismatch=JDO72355: la relaci\u00F3n {1} se ha asignado a la columna {0}, que no pertenece a una de las tablas principales o secundarias asignadas para la clase {2}. \nActualice la asignaci\u00F3n de tablas o de relaciones. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.table_mismatch_related=JDO72338: la relaci\u00F3n {1} se ha asignado a la columna {0}, que no pertenece a una de las tablas principales o secundarias asignadas para la clase relacionada {2}. \nActualice la asignaci\u00F3n de tablas o de relaciones. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=class name -util.validation.column_not_found=JDO72339: no se han encontrado las columnas en el par de claves de referencia {0} para la configuraci\u00F3n de la tabla secundaria de la clase {1}.\nVerifique que el archivo de esquema existe y que su contenido es correcto. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_not_found_related=JDO72340: no se ha encontrado la columna {0} para asignar el campo {1} en la clase {2}.\nVerifique que el archivo de esquema existe y que su contenido es correcto. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_invalid=JDO72341: no se han encontrado las columnas en el par de claves {0} para la relaci\u00F3n {1} de la clase {2}.\nVerifique que el archivo de esquema existe y que su contenido es correcto. - -# Validation messages for key class elements - -# Validation message for a wrong key class name -# {0}=key class name -# {1}=pc class name -util.validation.key_class_invalid=JDO72342: {0} es un nombre de clase de clave no v\u00E1lido. Cambie el nombre de la clase {1}.Oid para una clase interna o {1}Key para una clase independiente. -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: no se ha definido la propiedad de clase de clave para la clase {0}.\nDefina la propiedad de clase de clave. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: no existe la clase de clave {0} para la clase {1}.\nDefina la clase de clave. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: la clase de clave {0} de la clase {1} debe ser p\u00FAblica.\nActualice los modificadores de la clase de clave. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: la clase de clave {0} de la clase {1} debe implantar java.io.Serializable.\nActualice las interfaces de la clase de clave. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: si la clase de clave {0} de la clase {1} se define como clase interna, \u00E9sta debe ser est\u00E1tica.\nActualice los modificadores de la clase de clave. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: el tipo del campo no est\u00E1tico {0} de la clase de clave {1} debe ser primitivo, cadena, num\u00E9rico o de fecha.\nActualice el tipo de campo de clase de clave. -# Validation message for key class field must be public -# {0}=key class field name -# {1}=key class name -util.validation.key_field_public=JDO72349: el campo no est\u00E1tico {0} de la clase de clave {1} debe ser p\u00FAblico.\nActualice los modificadores del campo de clase de clave. -# Validation message for key class field must have the same type as the pc -# class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: el campo {0} de la clase de clave {1} debe ser del mismo tipo que el campo correspondiente de la clase compatible con persistencia {2}.\nActualice el tipo de campo de clase de clave. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: todos los campos de clave de la clase {0} deben estar presentes en la clase de clave {1}.\nAgregue los siguientes campos de clave a la clase de clave: {2}. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: la clase de clave {0} de la clase {1} debe definir un constructor p\u00FAblico que pueda actuar como constructor por defecto o constructor sin argumentos.\nAgregue un constructor sin argumentos a la clase de clave. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: la clase de clave {0} de la clase {1} debe sustituir el m\u00E9todo Equals de java.lang.Object.\nImplante el m\u00E9todo Equals de la clase de clave. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: la clase de clave {0} de la clase {1} debe sustituir el m\u00E9todo hashCode de java.lang.Object.\nImplante el m\u00E9todo hashCode de la clase de clave. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356: la clase {0} debe tener exactamente un campo de versi\u00F3n.\nDefina la propiedad del campo de versi\u00F3n en un campo existente. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357: el campo de relaci\u00F3n {0} no puede ser un campo de versi\u00F3n.\nSeleccione un campo que no sea de relaci\u00F3n para convertirlo en el campo de versi\u00F3n. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358: el campo de versi\u00F3n {0} tiene un grupo de recuperaci\u00F3n no v\u00E1lido. Los campos de versi\u00F3n deben pertenecer al grupo de recuperaci\u00F3n por defecto.\nDefina el grupo de recuperaci\u00F3n como ''Por Defecto'' o seleccione otro campo de versi\u00F3n. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359: el campo {0} no puede ser un campo de clave, porque se ha definido como campo de versi\u00F3n.\nSeleccione otro campo de versi\u00F3n o defina la propiedad de campo de clave como false. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360: el campo de versi\u00F3n {0} debe ser del tipo ''largo''.\nCambie el tipo de campo a ''largo'' o seleccione otro campo de versi\u00F3n. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361: el campo de versi\u00F3n {0} se debe asignar exactamente a una columna.\nActualice la asignaci\u00F3n de columna para el campo. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362: el campo de versi\u00F3n {1} se ha asignado a la columna {0}, que no forma parte de la tabla primaria de la clase {2}.\nActualice la asignaci\u00F3n de columna o seleccione otro campo de versi\u00F3n. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363: el campo de versi\u00F3n {1} de la clase {2} se ha asignado a la columna {0}, que no puede soportar valores NULL o no num\u00E9ricos.\nActualice el esquema o seleccione otro campo de versi\u00F3n. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364: el campo de versi\u00F3n {1} de la clase {2} se ha asignado a la columna {0}, que no puede formar parte de la clave primaria.\nActualice el esquema o seleccione otro campo de versi\u00F3n. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364: el campo de versi\u00F3n {1} de la clase {2} se ha asignado a la columna {0}, que no puede formar parte de la clave ajena.\nActualice el esquema o seleccione otro campo de versi\u00F3n. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365: el campo de versi\u00F3n {0} tiene una asignaci\u00F3n de columna no v\u00E1lida. Los campos de versi\u00F3n no pueden ser campos gestionados.\nActualice la asignaci\u00F3n de columna o seleccione otro campo de versi\u00F3n. - -# IMPORTANT: The highest message ID for the validation section is -# -# JDO72365 -# -# Please update this as necessary. - -# logging messages - not brandable for ejb context at this time -model.parse_error=Se han producido errores durante la validaci\u00F3n de la persistencia diff --git a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_fr.properties b/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_fr.properties deleted file mode 100644 index 5c458187350..00000000000 --- a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_fr.properties +++ /dev/null @@ -1,443 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Some of the messages from this file are overridden in -# mapping/ejb/src/com/sun/jdo/api/persistence/model/Bundle_ejb.properties -# and -# support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 72. -# -# This file is divided into the following sections: -# 0. Top level model messages. -# 1. JDO model messages. -# 2. Mapping model messages. -# 3. Validation messages. -# -# IMPORTANT: When adding a new message in the validation section, -# realize that it is split into the following sub sections: -# classes -# fields -# database elements -# key class elements -# Since the messages should be grouped by sub section, the order of messageID's -# may not be sequential, so the last numbered message ID for the section -# is stored in a comment at the end of the entire validation section. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - - -############################################################################### -# -# Message ID Range: JDO72000 - JDO72099 -############################################################################### -# Model messages for loading/storing xml files -# {0}=class name -file.cannot_save=JDO72000 : impossible d''enregistrer le fichier pour la classe {0} -file.incompatible_version=JDO72001 : version de fichier de mapping incompatible ; remappez la classe {0} -file.cannot_read=JDO72002 : impossible de lire le fichier de mapping pour la classe {0} ; l''exception est {1} - -# RuntimeModel messages for class loader handling -# {0}=class name -classloader.multiple=JDO72003 : classe {0} charg\u00E9e par plusieurs chargeurs de classe - -# RuntimeModel message for dbschema loading -# {0}=schema name -# {1}=class name -dbschema.not_found=JDO72004 : sch\u00E9ma {0} pour la classe {1} introuvable - -############################################################################### -# -# Message ID Range: JDO72100 - JDO72199 -############################################################################### -# JDO PersistenceClassElement messages -# {0}=key class name, {1}=class name -jdo.class.key_class_invalid=JDO72100 : {0} est une classe de cl\u00E9 non valide pour la classe {1}. Les noms suivants sont valides pour une classe de cl\u00E9 : {1}.Oid et Cl\u00E9{1}. - -# JDO RelationshipElement messages -# {0}=action value -jdo.relationship.update_action_invalid=JDO72101 : {0} est une action de mise \u00E0 jour non valide -# {0}=action value -jdo.relationship.delete_action_invalid=JDO72102 : {0} est une action de suppression non valide -jdo.relationship.lower_cardinality_invalid=JDO72103 : la limite inf\u00E9rieure ne peut pas \u00EAtre n\u00E9gative ou sup\u00E9rieure \u00E0 la limite sup\u00E9rieure. -jdo.relationship.upper_cardinality_invalid=JDO72104 : la limite sup\u00E9rieure ne peut pas \u00EAtre pas nulle, n\u00E9gative ou en dessous de la limite inf\u00E9rieure. - -# JDO ConcurrencyGroupElement default name -jdo.concurrency_group.default=Par d\u00E9faut - - -############################################################################### -# -# Message ID Range: JDO72200 - JDO72299 -############################################################################### -# Mapping model generic messages for managing elements -mapping.element.null_argument=JDO72200 : impossible d'ajouter/d'enlever l'\u00E9l\u00E9ment : argument fourni NULL -# {0}=element name -mapping.element.element_not_removed=JDO72201 : \u00E9l\u00E9ment {0} non enlev\u00E9 - -# Mapping model messages for managing tables -# {0}=table name -mapping.table.foreign_key_not_found=JDO72202 : impossible d''ajouter la table {0} : cl\u00E9 \u00E9trang\u00E8re introuvable -# {0}=table name -mapping.table.primary_table_defined=JDO72203 : impossible d''ajouter la table principale {0} : la table principale est d\u00E9j\u00E0 d\u00E9finie -# {0}=parent table name -mapping.table.parent_table_not_found=JDO72204 : impossible d''ajouter la table {0} : table parent non trouv\u00E9e dans le mapping -# {0}=secondary table name, {1}=parent table name -mapping.table.secondary_table_defined=JDO72205 : impossible d''ajouter la table {0} : table secondaire {0} d\u00E9j\u00E0 d\u00E9finie pour la table parent {1} -# {0}=primary table name, {1}=schema name -mapping.table.schema_mismatch=JDO72206 : impossible d''ajouter la table principale {0} : la table principale n''existe pas dans le sch\u00E9ma {1} - -# Mapping model messages for managing columns -# {0}=column name -mapping.column.column_defined=JDO72207 : impossible d''ajouter la colonne {0} : colonne d\u00E9j\u00E0 d\u00E9finie -# {0}=column name -mapping.column.associated_columns_defined=JDO72208 : impossible d''ajouter la colonne {0} : colonnes associ\u00E9es d\u00E9j\u00E0 d\u00E9finies -# {0}=column name -mapping.column.column_invalid=JDO72209 : {0} est une colonne non valide - il doit s''agir d''une paire de colonnes - -# General validation messages -# Validation warning prefix (prepended to some of the messages below) -util.validation.warning=Avertissement : - -############################################################################### -# -# Message ID Range: JDO72300 - JDO72399 -############################################################################### -# Validation messages for classes -# Validation message for class not found -# {0}=class name -util.validation.class_not_found=JDO72300 : impossible de trouver la classe {0}.\nRestaurez la classe. -# Validation message for related class not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301 : impossible de trouver la classe connexe {0} du champ {1}.\nRestaurez la classe. -# Validation message for class not persistence-capable -# {0}=class name -util.validation.class_not_persistence_capable=JDO72302 : la classe {0} n''utilise pas la persistance.\nConvertissez la classe pour qu''elle soit capable de persistance. -# Validation message for related class not persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303 : la classe connexe {0} du champ {1} n''utilise pas la persistance.\nConvertissez la classe pour qu''elle soit capable de persistance. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304 : la classe {0} n''est pas autoris\u00E9e \u00E0 \u00EAtre capable de persistance.\nEnlevez-lui sa fonction de persistance ou modifiez les r\u00E8gles et mettez \u00E0 jour la classe. -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305 : la classe connexe {0} pour le champ {1} n''est pas autoris\u00E9e \u00E0 \u00EAtre capable de persistance.\nEnlevez-lui sa fonction de persistance ou modifiez les r\u00E8gles et mettez \u00E0 jour la classe. -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306 : la classe {0} impl\u00E9mente java.io.Serializable, elle doit donc \u00E9galement d\u00E9finir la m\u00E9thode readObject (voir java.io.Serializable) afin d''assurer un enrichissement ad\u00E9quat.\nAjoutez la m\u00E9thode readObject \u00E0 la classe. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307 : la classe {0} impl\u00E9mente java.io.Serializable, elle doit donc \u00E9galement d\u00E9finir la m\u00E9thode writeObject (voir java.io.Serializable) afin d''assurer un enrichissement ad\u00E9quate.\nAjoutez la m\u00E9thode writeObject \u00E0 la classe. -# Validation message for class which has no persistent fields -# {0}=class name -util.validation.class_no_fields=JDO72308 : la classe {0} doit avoir au moins un champ persistant.\nAttribuez la valeur True \u00E0 la propri\u00E9t\u00E9 de persistance d''un champ existant ou ajoutez un champ et attribuez-lui la valeur True. -# Validation message for class which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309 : la classe {0} n''est pas mapp\u00E9e.\nD\u00E9finissez la table principale de la classe. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310 : toutes les colonnes de la cl\u00E9 primaire de la table principale {1} pour la classe {0} doivent \u00EAtre mapp\u00E9es sur les champs de cl\u00E9.\nMappez les colonnes de la cl\u00E9 primaire suivantes sur les champs de cl\u00E9 : {2}. Si vous avez d\u00E9j\u00E0 mapp\u00E9 des champs sur ces colonnes, assurez-vous qu''il s''agit de champs de cl\u00E9. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311 : le champ {0} a \u00E9t\u00E9 sp\u00E9cifi\u00E9 comme persistant, mais il n''appara\u00EEt pas dans le fichier .java.\nAjoutez le champ au fichier .java et assurez-vous qu''il s''agit d''un champ persistant. -# Validation message for field not allowed to be persistent -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312 : le champ {0} n''est pas autoris\u00E9 \u00E0 \u00EAtre un champ persistant.\nAttribuez la valeur False \u00E0 la propri\u00E9t\u00E9 du champ persistant. -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313 : le champ {0} n''est pas coh\u00E9rent.\nBasculez la propri\u00E9t\u00E9 du champ persistant sur false puis de nouveau sur true. -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314 : le champ {0} n''est pas coh\u00E9rent.\nAssurez-vous qu''il s''agit d''un champ persistant. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315 : le champ {0} n''est pas autoris\u00E9 \u00E0 \u00EAtre une relation.\nModifiez le type de champ pour en faire un wrapper ou un primitif.\nSi le type est correct, basculez la propri\u00E9t\u00E9 du champ persistant sur false puis de nouveau sur true. -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316 : le champ {0} doit \u00EAtre une relation.\nModifiez le type de champ pour en faire une collection ou une classe capable de persistance.\nSi le type est correct, basculez la propri\u00E9t\u00E9 du champ persistant sur false, puis de nouveau sur true. -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317 : le champ {0} contient un groupe d''extraction non valide. Le groupe par d\u00E9faut n''est pas un groupe d''extraction valide pour les champs g\u00E9r\u00E9s.\nChoisissez un groupe d''extraction diff\u00E9rent. -# Validation message for field which is not mapped -# {0}=field name -util.validation.field_not_mapped=JDO72318 : le champ {0} n''est pas mapp\u00E9.\nD\u00E9finissez le mapping de la colonne du champ. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319 : le champ {0} n''est pas autoris\u00E9 \u00E0 \u00EAtre un champ de cl\u00E9, car son mapping contient une colonne d''objets volumineux (BLOB/CLOB, par exemple).\nMettez \u00E0 jour le mapping de la colonne ou attribuez la valeur false \u00E0 la propri\u00E9t\u00E9 de champ de cl\u00E9. -# Validation message for field in the default fetch group which is mapped to a -# blob or clob column -# {0}=field name -util.validation.field_fetch_group_not_allowed=JDO72320 : le champ {0} contient un groupe d''extraction non valide. Le groupe par d\u00E9faut n''est pas un groupe d''extraction valide pour les champs mapp\u00E9s sur les colonnes d''objets volumineux (BLOB/CLOB, par exemple).\nS\u00E9lectionnez un groupe d''extraction diff\u00E9rent ou mettez \u00E0 jour le mapping des colonnes. -# Validation message for managed (multiple fields to same column) field which -# has a non exact column match -# {0}=field name -# {1}=other field name -util.validation.field_mapping_invalid=JDO72321 : le champ {0} comprend un mapping non valide. Son mapping chevauche partiellement le mapping du champ {1}. Les mappings doivent \u00EAtre identiques ou ne contenir aucun chevauchement. \nMettez \u00E0 jour le mapping de la colonne pour un ou deux champs. -# Validation message for invalid combination of upper and lower bounds -# {0}=(relationship) field name -util.validation.cardinality_invalid=JDO72322 : le champ {0} n''a pas de limites sup\u00E9rieure et inf\u00E9rieure valides.\nMettez \u00E0 jour les limites de sorte que la limite sup\u00E9rieure soit sup\u00E9rieure \u00E0 0 et sup\u00E9rieure ou \u00E9gale \u00E0 la limite inf\u00E9rieure et que la limite inf\u00E9rieure ne soit pas n\u00E9gative. -# Validation message for a relationship field with lower bound 0 mapped to -# at least one non-nullable column -# {0}=(relationship) field name -util.validation.lower_bound_invalid=JDO72323 : le champ {0} n''a pas de limite inf\u00E9rieure valide. Une relation mapp\u00E9e sur une cl\u00E9 \u00E9trang\u00E8re ayant des colonnes non Nullables doit avoir une limite inf\u00E9rieure de 1.\nMettez \u00E0 jour la limite inf\u00E9rieure sur 1. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324:The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324 : le champ {0} poss\u00E8de une classe de collection non valide.\nMettez \u00E0 jour le type de relation afin d''avoir une collection d\u00E9finie ou g\u00E9n\u00E9rique ou configurez la propri\u00E9t\u00E9 de persistance sur false. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325 : le champ {0} ne poss\u00E8de pas de classe connexe d\u00E9finie, mais il est mapp\u00E9 sur les colonnes.\nMettez \u00E0 jour la classe connexe ou annulez le mapping de la relation. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326 : le champ r\u00E9f\u00E9renc\u00E9 {1} du champ {0} n''est pas valide. Les champs r\u00E9f\u00E9renc\u00E9s doivent \u00EAtre d\u00E9finis pour les deux champs de relation.\nAnnulez la configuration de la propri\u00E9t\u00E9 du champ r\u00E9f\u00E9renc\u00E9 pour ce champ ou configurez la propri\u00E9t\u00E9 du champ r\u00E9f\u00E9renc\u00E9 pour le champ correspondant. -# Validation message for inverse field which does not exist in the related class -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related class name -util.validation.related_class_mismatch=JDO72327 : le champ {0} poss\u00E8de un champ r\u00E9f\u00E9renc\u00E9 {1} qui n''existe pas dans la classe connexe {2}.\nMettez \u00E0 jour la classe connexe et le champ r\u00E9f\u00E9renc\u00E9, si n\u00E9cessaire. -# Validation message for inverse field set and no related class set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328 : le champ {0} ne poss\u00E8de pas de classe connexe d\u00E9finie, mais un champ r\u00E9f\u00E9renc\u00E9 {1}.\nMettez \u00E0 jour la classe connexe ou attribuez la valeur Aucun au champ r\u00E9f\u00E9renc\u00E9. -# Validation message for field & inverse field which have non-inverse mappings -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_mapping_mismatch=JDO72329 : le champ {0} poss\u00E8de un mapping qui n''est pas exactement l''inverse du mapping de son champ r\u00E9f\u00E9renc\u00E9 {1}.\nS\u00E9lectionnez Aucun pour le champ r\u00E9f\u00E9renc\u00E9 des deux champs de relation, annulez le mapping d''un des champs, puis reconfigurez le champ r\u00E9f\u00E9renc\u00E9. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=class name -util.validation.schema_not_found=JDO72331 : impossible de trouver le sch\u00E9ma {0} pour la classe {1}.\nRestaurez le fichier sch\u00E9ma. -# Validation message for related schema not found -# {0}=schema name -# {1}=related class name -# {2}=field name -util.validation.schema_not_found_related=JDO72332 : impossible de trouver le sch\u00E9ma {0} pour la classe connexe {1} du champ {2}.\nRestaurez le fichier sch\u00E9ma. -# Validation message for schema not set but primary table set -# {0}=class name -util.validation.schema_not_set=JDO72333 : la classe {0} ne poss\u00E8de pas de sch\u00E9ma d\u00E9fini, mais elle est mapp\u00E9e sur des tables.\nMettez \u00E0 jour la propri\u00E9t\u00E9 du sch\u00E9ma mapp\u00E9 pour la classe ou annulez le mapping de la table principale. -# Validation message for schemas don't match -# {0}=class name -# {1}=related class name -# {2}=field name -util.validation.schema_mismatch=JDO72334 : les sch\u00E9mas de la classe {0} et de sa classe connexe {1} pour le champ {2} doivent correspondre.\nMettez \u00E0 jour la propri\u00E9t\u00E9 du sch\u00E9ma mapp\u00E9 pour l''une des classes. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=class name -util.validation.table_no_primarykey=JDO72335 : si la table {0} de la classe {1} est mapp\u00E9e en tant que table principale, celle-ci doit disposer d''une cl\u00E9 primaire.\nChoisissez une table principale diff\u00E9rente ou v\u00E9rifiez que le contenu du fichier sch\u00E9ma est correct. -# Validation message for table not found -# {0}=table name -# {1}=class name -util.validation.table_not_found=JDO72336 : impossible de trouver la table {0} pour la classe {1}.\nV\u00E9rifiez que le fichier sch\u00E9ma existe et que son contenu est correct. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337 : impossible de trouver la table {0} pour la classe connexe du champ {1}.\nV\u00E9rifiez que le fichier sch\u00E9ma existe et que son contenu est correct. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.table_mismatch=JDO72355 : la relation {1} est mapp\u00E9e sur la colonne {0} qui n''est pas une table principale ou secondaire mapp\u00E9e pour la classe {2}. \nMettez \u00E0 jour le mapping de la table ou de la relation. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.table_mismatch_related=JDO72338 : la relation {1} est mapp\u00E9e sur la colonne {0} qui n''est pas une table principale ou secondaire mapp\u00E9e pour la classe connexe {2}. \nMettez \u00E0 jour le mapping de la table ou de la relation. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=class name -util.validation.column_not_found=JDO72339 : impossible de trouver les colonnes dans la paire de cl\u00E9s de r\u00E9f\u00E9rence {0} pour la d\u00E9finition de la table secondaire de la classe {1}.\nV\u00E9rifiez que le fichier sch\u00E9ma existe et que son contenu est correct. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_not_found_related=JDO72340 : impossible de trouver la colonne {0} pour le mapping du champ {1} dans la classe {2}.\nV\u00E9rifiez que le fichier de sch\u00E9ma existe et que son contenu est correct. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_invalid=JDO72341 : impossible de trouver les colonnes dans la paire de cl\u00E9s {0} pour la relation {1} de la classe {2}.\nV\u00E9rifiez que le fichier sch\u00E9ma existe et que son contenu est correct. - -# Validation messages for key class elements - -# Validation message for a wrong key class name -# {0}=key class name -# {1}=pc class name -util.validation.key_class_invalid=JDO72342 : {0} est un nom de classe de cl\u00E9 non valide. Renommez la classe {1}.Oid pour une classe interne ou Cl\u00E9{1} pour une classe distincte. -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343 : la propri\u00E9t\u00E9 de la classe de cl\u00E9 pour la classe {0} n''est pas d\u00E9finie.\nD\u00E9finissez la propri\u00E9t\u00E9 de la classe de cl\u00E9. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344 : la classe de cl\u00E9 {0} de la classe {1} n''existe pas.\nD\u00E9finissez la classe de cl\u00E9. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345 : la classe de cl\u00E9 {0} de la classe {1} doit \u00EAtre publique.\nMettez \u00E0 jour les modificateurs de la classe de cl\u00E9. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346 : la classe de cl\u00E9 {0} pour la classe {1} doit impl\u00E9menter java.io.Serializable.\nMettez \u00E0 jour les interfaces de la classe de cl\u00E9. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347 : si la classe de cl\u00E9 {0} pour la classe {1} est d\u00E9finie comme une classe interne, elle doit \u00EAtre statique.\nMettez \u00E0 jour les modificateurs de la classe de cl\u00E9. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348 : le champ non statique {0} de la classe de cl\u00E9 {1} doit \u00EAtre de type primitif, String, Number ou Date.\nMettez \u00E0 jour le type du champ de la classe de cl\u00E9. -# Validation message for key class field must be public -# {0}=key class field name -# {1}=key class name -util.validation.key_field_public=JDO72349 : le champ non statique {0} de la classe de cl\u00E9 {1} doit \u00EAtre public.\nMettez \u00E0 jour les modificateurs du champ de la classe de cl\u00E9. -# Validation message for key class field must have the same type as the pc -# class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350 : le champ {0} de la classe de cl\u00E9 {1} doit \u00EAtre du m\u00EAme type que le champ correspondant dans la classe capable de persistance {2}.\nMettez \u00E0 jour le type du champ de la classe de cl\u00E9. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351 : tous les champs de cl\u00E9 de la classe {0} doivent \u00EAtre pr\u00E9sents dans la classe de cl\u00E9 {1}.\nAjoutez les champs de cl\u00E9 suivants \u00E0 la classe de cl\u00E9 : {2}. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352 : la classe de cl\u00E9 {0} pour la classe {1} doit d\u00E9finir un constructeur public qui peut \u00EAtre le constructeur par d\u00E9faut ou un constructeur no-arg.\nAjoutez un constructeur no-arg \u00E0 la classe de cl\u00E9. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353 : la classe de cl\u00E9 {0} pour la classe {1} doit remplacer la m\u00E9thode equals de java.lang.Object.\nImpl\u00E9mentez la m\u00E9thode equals dans la classe de cl\u00E9. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354 : la classe de cl\u00E9 {0} pour la classe {1} doit remplacer la m\u00E9thode hashCode de java.lang.Object.\nImpl\u00E9mentez la m\u00E9thode hashCode dans la classe de cl\u00E9. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356 : la classe {0} doit contenir exactement un champ de version.\nD\u00E9finissez la propri\u00E9t\u00E9 du champ de version sur un champ existant. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357 : le champ de relation {0} n''est pas autoris\u00E9 \u00E0 \u00EAtre un champ de version.\nChoisissez un champ de version qui ne soit pas un champ de relation. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358 : le champ de version {0} contient un groupe d''extraction non valide. Les champs de version doivent appartenir au groupe d''extraction par d\u00E9faut.\nAttribuez la valeur par d\u00E9faut au groupe d''extraction ou s\u00E9lectionnez un champ de version diff\u00E9rent. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359 : le champ {0} n''est pas autoris\u00E9 \u00E0 \u00EAtre un champ de cl\u00E9, car il est d\u00E9fini en tant que champ de version.\nChoisissez un champ de version diff\u00E9rent ou attribuez la valeur false \u00E0 la propri\u00E9t\u00E9 de champ de cl\u00E9. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360 : le champ de version {0} doit \u00EAtre un champ de type Long.\nModifiez le type de champ pour en faire un champ Long ou choisissez un champ de version diff\u00E9rent. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361 : le champ de version {0} doit \u00EAtre mapp\u00E9 sur une seule colonne.\nMettez \u00E0 jour le mapping de la colonne du champ. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362 : le champ de version {1} est mapp\u00E9 sur la colonne {0} qui ne figure pas dans la table principale de la classe {2}.\nMettez \u00E0 jour le mapping de la colonne ou choisissez un champ de version diff\u00E9rent. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363 : le champ de version {1} de la classe {2} est mapp\u00E9 sur la colonne {0} qui ne peut pas \u00EAtre Nullable ou avoir une valeur non num\u00E9rique.\nMettez \u00E0 jour le sch\u00E9ma ou choisissez un champ de version diff\u00E9rent. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364 : le champ de version {1} de la classe {2} est mapp\u00E9 sur la colonne {0} qui ne peut pas faire partie de la cl\u00E9 primaire.\nMettez \u00E0 jour le sch\u00E9ma ou choisissez un champ de version diff\u00E9rent. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364 : le champ de version {1} de la classe {2} est mapp\u00E9 sur la colonne {0} qui ne peut pas faire partie d''une cl\u00E9 \u00E9trang\u00E8re.\nMettez \u00E0 jour le sch\u00E9ma ou choisissez un champ de version diff\u00E9rent. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365 : le mapping des colonnes du champ de version {0} n''est pas valide. Les champs de version ne peuvent pas \u00EAtre des champs g\u00E9r\u00E9s.\nMettez \u00E0 jour le mapping de la colonne ou choisissez un champ de version diff\u00E9rent. - -# IMPORTANT: The highest message ID for the validation section is -# -# JDO72365 -# -# Please update this as necessary. - -# logging messages - not brandable for ejb context at this time -model.parse_error=Erreurs lors de la validation de la persistance diff --git a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_it.properties b/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_it.properties deleted file mode 100644 index aa8eb35b3a9..00000000000 --- a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_it.properties +++ /dev/null @@ -1,443 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Some of the messages from this file are overridden in -# mapping/ejb/src/com/sun/jdo/api/persistence/model/Bundle_ejb.properties -# and -# support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 72. -# -# This file is divided into the following sections: -# 0. Top level model messages. -# 1. JDO model messages. -# 2. Mapping model messages. -# 3. Validation messages. -# -# IMPORTANT: When adding a new message in the validation section, -# realize that it is split into the following sub sections: -# classes -# fields -# database elements -# key class elements -# Since the messages should be grouped by sub section, the order of messageID's -# may not be sequential, so the last numbered message ID for the section -# is stored in a comment at the end of the entire validation section. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - - -############################################################################### -# -# Message ID Range: JDO72000 - JDO72099 -############################################################################### -# Model messages for loading/storing xml files -# {0}=class name -file.cannot_save=JDO72000: impossibile salvare il file per la classe {0} -file.incompatible_version=JDO72001: versione incompatibile del file di mapping; eseguire nuovamente il mapping della classe {0} -file.cannot_read=JDO72002: impossibile leggere file di mapping per la classe {0}; eccezione: {1} - -# RuntimeModel messages for class loader handling -# {0}=class name -classloader.multiple=JDO72003: classe {0} caricata da pi\u00F9 loader - -# RuntimeModel message for dbschema loading -# {0}=schema name -# {1}=class name -dbschema.not_found=JDO72004: schema {0} per la classe {1} non trovato - -############################################################################### -# -# Message ID Range: JDO72100 - JDO72199 -############################################################################### -# JDO PersistenceClassElement messages -# {0}=key class name, {1}=class name -jdo.class.key_class_invalid=JDO72100: {0} \u00E8 una classe di chiavi non valida per la classe {1}. I nomi validi per le classi di chiavi sono {1}.Oid e {1}Key. - -# JDO RelationshipElement messages -# {0}=action value -jdo.relationship.update_action_invalid=JDO72101: {0} \u00E8 un''azione di aggiornamento non valida -# {0}=action value -jdo.relationship.delete_action_invalid=JDO72102: {0} \u00E8 un''azione di eliminazione non valida -jdo.relationship.lower_cardinality_invalid=JDO72103: il limite inferiore non pu\u00F2 essere negativo o maggiore del limite superiore -jdo.relationship.upper_cardinality_invalid=JDO72104: il limite superiore non pu\u00F2 essere pari a zero, negativo o inferiore al limite superiore - -# JDO ConcurrencyGroupElement default name -jdo.concurrency_group.default=Predefinito - - -############################################################################### -# -# Message ID Range: JDO72200 - JDO72299 -############################################################################### -# Mapping model generic messages for managing elements -mapping.element.null_argument=JDO72200: impossibile aggiungere/rimuovere l'elemento: l'argomento fornito \u00E8 nullo -# {0}=element name -mapping.element.element_not_removed=JDO72201: elemento {0} non rimosso - -# Mapping model messages for managing tables -# {0}=table name -mapping.table.foreign_key_not_found=JDO72202: impossibile aggiungere la tabella {0}: chiave esterna non trovata -# {0}=table name -mapping.table.primary_table_defined=JDO72203: impossibile aggiungere la tabella primaria {0}: tabella primaria gi\u00E0 definita -# {0}=parent table name -mapping.table.parent_table_not_found=JDO72204: impossibile aggiungere la tabella {0}: tabella padre non trovata nel mapping -# {0}=secondary table name, {1}=parent table name -mapping.table.secondary_table_defined=JDO72205: impossibile aggiungere la tabella {0}: tabella secondaria {0} gi\u00E0 definita per la tabella padre {1} -# {0}=primary table name, {1}=schema name -mapping.table.schema_mismatch=JDO72206: impossibile aggiungere la tabella primaria {0}: la tabella primaria non esiste nello schema {1} - -# Mapping model messages for managing columns -# {0}=column name -mapping.column.column_defined=JDO72207: impossibile aggiungere la colonna {0}: colonna gi\u00E0 definita -# {0}=column name -mapping.column.associated_columns_defined=JDO72208: impossibile aggiungere la colonna {0}: colonne associate gi\u00E0 definite -# {0}=column name -mapping.column.column_invalid=JDO72209: {0} \u00E8 una colonna non valida - deve essere una coppia di colonne - -# General validation messages -# Validation warning prefix (prepended to some of the messages below) -util.validation.warning=Avvertenza: - -############################################################################### -# -# Message ID Range: JDO72300 - JDO72399 -############################################################################### -# Validation messages for classes -# Validation message for class not found -# {0}=class name -util.validation.class_not_found=JDO72300: impossibile trovare la classe {0}.\nRipristinare la classe. -# Validation message for related class not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: impossibile trovare la classe correlata {0} per il campo {1}.\nRipristinare la classe. -# Validation message for class not persistence-capable -# {0}=class name -util.validation.class_not_persistence_capable=JDO72302: la classe {0} non ha funzionalit\u00E0 di persistenza.\nConvertire la classe in classe con funzionalit\u00E0 di persistenza. -# Validation message for related class not persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: la classe correlata {0} per il campo {1} non ha funzionalit\u00E0 di persistenza.\nConvertire la classe in classe con funzionalit\u00E0 di persistenza. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: la classe {0} non pu\u00F2 avere funzionalit\u00E0 di persistenza.\nRipristinarla in classe senza funzionalit\u00E0 di persistenza o verificare le regole e aggiornare la classe. -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: la classe correlata {0} per il campo {1} non pu\u00F2 avere funzionalit\u00E0 di persistenza.\nRipristinarla in classe senza funzionalit\u00E0 di persistenza o verificare le regole e aggiornare la classe. -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: la classe {0} implementa java.io.Serializable, quindi deve definire anche il metodo readObject (vedere java.io.Serializable) per assicurare la correzione adeguata.\nAggiungere il metodo readObject alla classe. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: la classe {0} implementa java.io.Serializable, quindi deve definire anche il metodo writeObject (vedere java.io.Serializable) per assicurare la correzione adeguata.\nAggiungere il metodo writeObject alla classe. -# Validation message for class which has no persistent fields -# {0}=class name -util.validation.class_no_fields=JDO72308: la classe {0} deve avere almeno un campo persistente.\nImpostare la propriet\u00E0 persistente su true per un campo esistente o aggiungere un campo e impostarne la propriet\u00E0 persistente su true. -# Validation message for class which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: la classe {0} non \u00E8 mappata.\nImpostare la tabella primaria per la classe. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: tutte le colonne chiave primaria nella tabella primaria {1} della classe {0} devono essere mappate ai campi chiave.\nMappare le seguenti colonne chiave primaria ai campi chiave: {2}. Se esistono gi\u00E0 campi mappati a queste colonne, verificare che siano campi chiave. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: il campo {0} \u00E8 stato specificato come persistente, ma non \u00E8 presente nel file .java.\nAggiungere il campo al file .java e assicurarsi che sia persistente. -# Validation message for field not allowed to be persistent -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: il campo {0} non pu\u00F2 essere persistente.\nModificare la propriet\u00E0 di campo persistente in false. -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: il campo {0} non \u00E8 coerente.\nImpostare la propriet\u00E0 di campo persistente su false, quindi di nuovo su true. -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: il campo {0} non \u00E8 coerente.\nAccertarsi che il campo sia persistente. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: il campo {0} non pu\u00F2 essere una relazione.\nModificare il tipo di campo in wrapper o predefinito.\nSe il tipo \u00E8 corretto, impostare la propriet\u00E0 di campo persistente su false, quindi di nuovo su true. -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: il campo {0} deve essere una relazione.\nModificare il tipo di campo in raccolta o altra classe con funzionalit\u00E0 di persistenza.\nSe il tipo \u00E8 corretto, impostare la propriet\u00E0 di campo persistente su false, quindi di nuovo su true. -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: il campo {0} ha un gruppo di recupero non valido. Il valore predefinito non \u00E8 un gruppo di recupero valido per i campi gestiti.\nSelezionare un gruppo di recupero diverso. -# Validation message for field which is not mapped -# {0}=field name -util.validation.field_not_mapped=JDO72318: il campo {0} non \u00E8 mappato.\nImpostare il mapping della colonna per il campo. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: il campo {0} non pu\u00F2 essere un campo chiave poich\u00E9 il relativo mapping contiene una colonna oggetto di grandi dimensioni (ad esempio BLOB/CLOB).\nAggiornare il mapping della colonna impostare la propriet\u00E0 del campo chiave su false. -# Validation message for field in the default fetch group which is mapped to a -# blob or clob column -# {0}=field name -util.validation.field_fetch_group_not_allowed=JDO72320: il campo {0} ha un gruppo di recupero non valido. Il valore predefinito non \u00E8 un gruppo di recupero valido per i campi mappati a colonne oggetto di grandi dimensioni (ad esempio BLOB/CLOB).\nSelezionare un gruppo di recupero diverso o aggiornare il mapping della colonna. -# Validation message for managed (multiple fields to same column) field which -# has a non exact column match -# {0}=field name -# {1}=other field name -util.validation.field_mapping_invalid=JDO72321: il campo {0} ha un mapping non valido. Il mapping si sovrappone in parte al mapping del campo {1}. I mapping devono essere identici oppure non contenere sovrapposizioni. \nAggiornare il mapping della colonna per uno o entrambi i campi. -# Validation message for invalid combination of upper and lower bounds -# {0}=(relationship) field name -util.validation.cardinality_invalid=JDO72322: il campo {0} non ha limiti superiore e inferiore validi.\nAggiornare i limiti in modo che il limite superiore sia maggiore di 0 e maggiore o uguale al limite inferiore e in modo che il limite inferiore non sia negativo. -# Validation message for a relationship field with lower bound 0 mapped to -# at least one non-nullable column -# {0}=(relationship) field name -util.validation.lower_bound_invalid=JDO72323: il campo {0} non ha un limite inferiore valido. Una relazione mappata a una chiave esterna con una o pi\u00F9 colonne non annullabili deve avere un limite inferiore di 1.\nAggiornare il limite inferiore a 1. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324:The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: il campo {0} ha una classe di raccolta non valida.\nAggiornare il tipo di relazione in modo che sia un insieme o una raccolta generica, oppure impostare la propriet\u00E0 persistente su false. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: il campo {0} non ha un set di classi correlato, ma \u00E8 mappato alle colonne.\nAggiornare la classe correlata o annullare il mapping alla relazione. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: il campo {0} ha un campo {1} correlato non valido. I campi correlati devono essere impostati per entrambi i campi relazione.\nAnnullare l''impostazione della propriet\u00E0 campo correlato per questo campo o impostare la propriet\u00E0 campo correlato per il campo correlato. -# Validation message for inverse field which does not exist in the related class -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related class name -util.validation.related_class_mismatch=JDO72327: il campo {0} ha un campo correlato {1} non esistente nella classe correlata {2}.\nAggiornare la classe correlata e, se necessario, il campo correlato. -# Validation message for inverse field set and no related class set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: il campo {0} non ha un set di classi correlato, ma ha un campo {1} correlato.\nAggiornare la classe correlata o impostare il campo correlato su Nessuno. -# Validation message for field & inverse field which have non-inverse mappings -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_mapping_mismatch=JDO72329: il campo {0} ha un mapping che non \u00E8 l''esatto inverso del mapping del relativo campo correlato{1}.\nImpostare il campo correlato per entrambi i campi relazione su Nessuno, eliminare il mapping di uno dei campi, quindi reimpostare il campo correlato. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=class name -util.validation.schema_not_found=JDO72331: impossibile trovare lo schema {0} per la classe {1}.\nRipristinare il file di schema. -# Validation message for related schema not found -# {0}=schema name -# {1}=related class name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: impossibile trovare lo schema {0} per la classe correlata {1} del campo {2}.\nRipristinare il file di schema. -# Validation message for schema not set but primary table set -# {0}=class name -util.validation.schema_not_set=JDO72333: la classe {0} non ha un set di schemi, ma \u00E8 mappata alle tabelle.\nAggiornare la propriet\u00E0 dello schema mappato per la classe o eliminare il mapping della tabella primaria. -# Validation message for schemas don't match -# {0}=class name -# {1}=related class name -# {2}=field name -util.validation.schema_mismatch=JDO72334: gli schemi per la classe {0} e la relativa classe correlata {1} del campo {2} devono corrispondere.\nAggiornare la propriet\u00E0 dello schema mappato di una delle classi. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=class name -util.validation.table_no_primarykey=JDO72335: se la tabella {0} per la classe {1} \u00E8 mappata come tabella primaria, deve avere una chiave primaria.\nScegliere una tabella primaria diversa o verificare che il contenuto del file di schema sia corretto. -# Validation message for table not found -# {0}=table name -# {1}=class name -util.validation.table_not_found=JDO72336: impossibile trovare la tabella {0} per la classe {1}.\nVerificare che il file di schema esista e che il relativo contenuto sia corretto. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: impossibile trovare la tabella {0} per la classe correlata del campo {1}.\nVerificare che il file di schema esista e che il relativo contenuto sia corretto. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.table_mismatch=JDO72355: la relazione {1} \u00E8 mappata alla colonna {0} che non \u00E8 una delle tabelle primarie o secondarie mappate per la classe {2}. \nAggiornare il mapping delle tabelle o il mapping di relazione. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.table_mismatch_related=JDO72338: la relazione {1} \u00E8 mappata alla colonna {0} che non \u00E8 una delle tabelle primarie o secondarie mappate per la classe correlata {2}. \nAggiornare il mapping delle tabelle o il mapping di relazione. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=class name -util.validation.column_not_found=JDO72339: impossibile trovare le colonne nella coppia di chiavi di riferimento {0} per la configurazione della tabella secondaria della classe {1}.\nVerificare che il file di schema esista e che il relativo contenuto sia corretto. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_not_found_related=JDO72340: impossibile trovare la colonna {0} per mappare il campo {1} nella classe {2}.\nVerificare che il file di schema esista e che il relativo contenuto sia corretto. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_invalid=JDO72341: impossibile trovare le colonne nella coppia di chiavi {0} per la relazione {1} nella classe {2}.\nVerificare che il file di schema esista e che il relativo contenuto sia corretto. - -# Validation messages for key class elements - -# Validation message for a wrong key class name -# {0}=key class name -# {1}=pc class name -util.validation.key_class_invalid=JDO72342: {0} \u00E8 un nome di classe non valido. Rinominare la classe {1}.OID per una classe interna o {1}Key per una classe distinta. -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: la propriet\u00E0 classe di chiavi per la classe {0} non \u00E8 impostata.\nImpostare la propriet\u00E0 classe di chiavi. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: la classe di chiavi {0} per la classe {1} non esiste.\nDefinire la classe di chiavi. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: la classe di chiavi {0} per la classe {1} deve essere pubblica.\nAggiornare i modificatori della classe di chiavi. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: la classe di chiavi {0} per la classe {1} deve implementare java.io.Serializable.\nAggiornare le interfacce della classe di chiavi. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: se la classe di chiavi {0} per la classe {1} \u00E8 definita come classe interna, deve essere statica.\nAggiornare i modificatori della classe di chiavi. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: il tipo di campo non statico {0} della classe di chiavi {1} deve essere predefinito, una stringa, un tipo di numero o un tipo di data.\nAggiornare il tipo di campo della classe di chiavi. -# Validation message for key class field must be public -# {0}=key class field name -# {1}=key class name -util.validation.key_field_public=JDO72349: il campo non statico {0} della classe di chiavi {1} deve essere pubblico.\nAggiornare i modificatori del campo classe di chiavi. -# Validation message for key class field must have the same type as the pc -# class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: il campo {0} della classe di chiavi {1} deve avere lo stesso tipo del campo corrispondente nella classe con funzionalit\u00E0 di persistenza {2}.\nAggiornare il tipo di campo della classe di chiavi. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: tutti i campi chiave della classe {0} devono essere presenti nella classe di chiavi {1}.\nAggiungere i seguenti campi chiave nella classe di chiavi: {2}. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: la classe di chiavi {0} per la classe {1} deve definire un costruttore pubblico che pu\u00F2 essere il costruttore predefinito o un costruttore senza argomenti.\nAggiungere un costruttore senza argomenti alla classe di chiavi. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: la classe di chiavi {0} per la classe {1} deve ignorare il metodo equals di java.lang.Object.\nImplementare il metodo equals nella classe di chiavi. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: la classe di chiavi {0} per la classe {1} deve ignorare il metodo hashCode di java.lang.Object.\nImplementare il metodo hashCode nella classe di chiavi. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356: la classe {0} deve avere esattamente un campo versione.\nImpostare la propriet\u00E0 campo versione su un campo esistente. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357: il campo relazione {0} non pu\u00F2 essere un campo versione.\nScegliere un campo diverso da un campo relazione per il campo versione. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358: il campo versione {0} ha un gruppo di recupero non valido. I campi versione devono appartenere al gruppo di recupero predefinito.\nImpostare il gruppo di recupero su ''Predefinito'' o selezionare un campo versione diverso. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359: il campo {0} non pu\u00F2 essere un campo chiave in quanto \u00E8 definito come campo versione.\nScegliere un campo versione diverso o impostare la propriet\u00E0 del campo chiave su false. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360: il campo versione {0} deve essere del tipo ''long''.\nModificare il tipo di campo su ''long'' o scegliere un campo versione diverso. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361: il campo versione {0} deve essere mappato esattamente a una colonna.\nAggiornare il mapping della colonna per il campo. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362: il campo versione {1} \u00E8 mappato alla colonna {0} che non si trova nella tabella primaria per la classe {2}.\nAggiornare il mapping della colonna o scegliere un campo versione diverso. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363: il campo versione {1} nella classe {2} \u00E8 mappato alla colonna {0}, che non pu\u00F2 essere annullabile o non numerica.\nAggiornare lo schema o scegliere un campo versione diverso. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364: il campo versione {1} nella classe {2} \u00E8 mappato alla colonna {0}, che non pu\u00F2 fare parte della chiave primaria.\nAggiornare lo schema o scegliere un campo versione diverso. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364: il campo versione {1} nella classe {2} \u00E8 mappato alla colonna {0}, che non pu\u00F2 fare parte di una chiave esterna.\nAggiornare lo schema o scegliere un campo versione diverso. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365: il campo versione {0} ha un mapping delle colonne non valido. I campi versione non possono essere campi gestiti.\nAggiornare il mapping della colonna o scegliere un campo versione diverso. - -# IMPORTANT: The highest message ID for the validation section is -# -# JDO72365 -# -# Please update this as necessary. - -# logging messages - not brandable for ejb context at this time -model.parse_error=Errori durante la convalida della persistenza diff --git a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_ja.properties b/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_ja.properties deleted file mode 100644 index a264d5425bb..00000000000 --- a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_ja.properties +++ /dev/null @@ -1,443 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Some of the messages from this file are overridden in -# mapping/ejb/src/com/sun/jdo/api/persistence/model/Bundle_ejb.properties -# and -# support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 72. -# -# This file is divided into the following sections: -# 0. Top level model messages. -# 1. JDO model messages. -# 2. Mapping model messages. -# 3. Validation messages. -# -# IMPORTANT: When adding a new message in the validation section, -# realize that it is split into the following sub sections: -# classes -# fields -# database elements -# key class elements -# Since the messages should be grouped by sub section, the order of messageID's -# may not be sequential, so the last numbered message ID for the section -# is stored in a comment at the end of the entire validation section. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - - -############################################################################### -# -# Message ID Range: JDO72000 - JDO72099 -############################################################################### -# Model messages for loading/storing xml files -# {0}=class name -file.cannot_save=JDO72000: \u30AF\u30E9\u30B9{0}\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093 -file.incompatible_version=JDO72001: \u30DE\u30C3\u30D4\u30F3\u30B0\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30AF\u30E9\u30B9{0}\u3092\u30DE\u30C3\u30D7\u3057\u76F4\u3057\u3066\u304F\u3060\u3055\u3044 -file.cannot_read=JDO72002: \u30AF\u30E9\u30B9{0}\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002\u4F8B\u5916\u306F{1}\u3067\u3059 - -# RuntimeModel messages for class loader handling -# {0}=class name -classloader.multiple=JDO72003: \u8907\u6570\u306E\u30AF\u30E9\u30B9\u30FB\u30ED\u30FC\u30C0\u30FC\u304C\u30AF\u30E9\u30B9{0}\u3092\u30ED\u30FC\u30C9\u3057\u3066\u3044\u307E\u3059 - -# RuntimeModel message for dbschema loading -# {0}=schema name -# {1}=class name -dbschema.not_found=JDO72004: \u30AF\u30E9\u30B9{1}\u306E\u30B9\u30AD\u30FC\u30DE{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 - -############################################################################### -# -# Message ID Range: JDO72100 - JDO72199 -############################################################################### -# JDO PersistenceClassElement messages -# {0}=key class name, {1}=class name -jdo.class.key_class_invalid=JDO72100: {0}\u306F\u30AF\u30E9\u30B9{1}\u306E\u7121\u52B9\u306A\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u3067\u3059\u3002\u6709\u52B9\u306A\u30AF\u30E9\u30B9\u540D\u306F\u3001{1}.Oid\u304A\u3088\u3073{1}Key\u3067\u3059\u3002 - -# JDO RelationshipElement messages -# {0}=action value -jdo.relationship.update_action_invalid=JDO72101: {0}\u306F\u7121\u52B9\u306A\u66F4\u65B0\u30A2\u30AF\u30B7\u30E7\u30F3\u3067\u3059 -# {0}=action value -jdo.relationship.delete_action_invalid=JDO72102: {0}\u306F\u7121\u52B9\u306A\u524A\u9664\u30A2\u30AF\u30B7\u30E7\u30F3\u3067\u3059 -jdo.relationship.lower_cardinality_invalid=JDO72103: \u4E0B\u9650\u306B\u8CA0\u306E\u5024\u307E\u305F\u306F\u4E0A\u9650\u3088\u308A\u5927\u304D\u306A\u5024\u3092\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 -jdo.relationship.upper_cardinality_invalid=JDO72104: \u4E0A\u9650\u306B\u30BC\u30ED\u3001\u8CA0\u306E\u5024\u3001\u307E\u305F\u306F\u4E0B\u9650\u3088\u308A\u5C0F\u3055\u306A\u5024\u3092\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 - -# JDO ConcurrencyGroupElement default name -jdo.concurrency_group.default=\u30C7\u30D5\u30A9\u30EB\u30C8 - - -############################################################################### -# -# Message ID Range: JDO72200 - JDO72299 -############################################################################### -# Mapping model generic messages for managing elements -mapping.element.null_argument=JDO72200: \u8981\u7D20\u3092\u8FFD\u52A0/\u9664\u53BB\u3067\u304D\u307E\u305B\u3093: null\u5F15\u6570\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059 -# {0}=element name -mapping.element.element_not_removed=JDO72201: \u8981\u7D20{0}\u306F\u9664\u53BB\u3055\u308C\u307E\u305B\u3093 - -# Mapping model messages for managing tables -# {0}=table name -mapping.table.foreign_key_not_found=JDO72202: \u8868{0}\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093: \u5916\u90E8\u30AD\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 -# {0}=table name -mapping.table.primary_table_defined=JDO72203: \u30D7\u30E9\u30A4\u30DE\u30EA\u8868{0}\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093: \u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u306F\u3059\u3067\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059 -# {0}=parent table name -mapping.table.parent_table_not_found=JDO72204: \u8868{0}\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093: \u30DE\u30C3\u30D4\u30F3\u30B0\u306B\u89AA\u8868\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 -# {0}=secondary table name, {1}=parent table name -mapping.table.secondary_table_defined=JDO72205: \u8868{0}\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093: \u30BB\u30AB\u30F3\u30C0\u30EA\u8868{0}\u304C\u3059\u3067\u306B\u89AA\u8868{1}\u7528\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059 -# {0}=primary table name, {1}=schema name -mapping.table.schema_mismatch=JDO72206: \u30D7\u30E9\u30A4\u30DE\u30EA\u8868{0}\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093: \u30B9\u30AD\u30FC\u30DE{1}\u306B\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u304C\u5B58\u5728\u3057\u307E\u305B\u3093 - -# Mapping model messages for managing columns -# {0}=column name -mapping.column.column_defined=JDO72207: \u5217{0}\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093: \u5217\u306F\u3059\u3067\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059 -# {0}=column name -mapping.column.associated_columns_defined=JDO72208: \u5217{0}\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093: \u95A2\u9023\u3059\u308B\u5217\u304C\u3059\u3067\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059 -# {0}=column name -mapping.column.column_invalid=JDO72209: {0}\u306F\u7121\u52B9\u306A\u5217\u3067\u3059 - \u5217\u306E\u30DA\u30A2\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 - -# General validation messages -# Validation warning prefix (prepended to some of the messages below) -util.validation.warning=\u8B66\u544A: - -############################################################################### -# -# Message ID Range: JDO72300 - JDO72399 -############################################################################### -# Validation messages for classes -# Validation message for class not found -# {0}=class name -util.validation.class_not_found=JDO72300: \u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30AF\u30E9\u30B9\u3092\u5FA9\u5143\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related class not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: \u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u95A2\u9023\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30AF\u30E9\u30B9\u3092\u5FA9\u5143\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for class not persistence-capable -# {0}=class name -util.validation.class_not_persistence_capable=JDO72302: \u30AF\u30E9\u30B9{0}\u306F\u6C38\u7D9A\u53EF\u80FD\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\u30AF\u30E9\u30B9\u3092\u6C38\u7D9A\u53EF\u80FD\u306B\u5909\u63DB\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related class not persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: \u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u95A2\u9023\u30AF\u30E9\u30B9{0}\u306F\u6C38\u7D9A\u53EF\u80FD\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\u30AF\u30E9\u30B9\u3092\u6C38\u7D9A\u53EF\u80FD\u306B\u5909\u63DB\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: \u30AF\u30E9\u30B9{0}\u3092\u6C38\u7D9A\u53EF\u80FD\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u6C38\u7D9A\u53EF\u80FD\u30AF\u30E9\u30B9\u304B\u3089\u5FA9\u5E30\u3059\u308B\u304B\u3001\u30EB\u30FC\u30EB\u3092\u898B\u76F4\u3057\u3066\u30AF\u30E9\u30B9\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: \u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u30AF\u30E9\u30B9{0}\u3092\u6C38\u7D9A\u53EF\u80FD\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u6C38\u7D9A\u53EF\u80FD\u30AF\u30E9\u30B9\u304B\u3089\u5FA9\u5E30\u3059\u308B\u304B\u3001\u30EB\u30FC\u30EB\u3092\u898B\u76F4\u3057\u3066\u30AF\u30E9\u30B9\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: \u30AF\u30E9\u30B9{0}\u306Fjava.io.Serializable\u3092\u5B9F\u88C5\u3059\u308B\u305F\u3081\u3001\u9069\u5207\u306A\u62E1\u5F35\u306E\u305F\u3081\u306BreadObject\u30E1\u30BD\u30C3\u30C9(java.io.Serializable\u3092\u53C2\u7167)\u3082\u5B9A\u7FA9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30AF\u30E9\u30B9\u306BreadObject\u30E1\u30BD\u30C3\u30C9\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: \u30AF\u30E9\u30B9{0}\u306Fjava.io.Serializable\u3092\u5B9F\u88C5\u3059\u308B\u305F\u3081\u3001\u9069\u5207\u306A\u62E1\u5F35\u306E\u305F\u3081\u306BwriteObject\u30E1\u30BD\u30C3\u30C9(java.io.Serializable\u3092\u53C2\u7167)\u3082\u5B9A\u7FA9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30AF\u30E9\u30B9\u306BwriteObject\u30E1\u30BD\u30C3\u30C9\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for class which has no persistent fields -# {0}=class name -util.validation.class_no_fields=JDO72308: \u30AF\u30E9\u30B9{0}\u306F\u5C11\u306A\u304F\u3068\u30821\u3064\u306E\u6C38\u7D9A\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u6301\u3064\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u65E2\u5B58\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u6C38\u7D9A\u30D7\u30ED\u30D1\u30C6\u30A3\u3092true\u306B\u8A2D\u5B9A\u3059\u308B\u304B\u3001\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u8FFD\u52A0\u3057\u3066\u305D\u306E\u6C38\u7D9A\u30D7\u30ED\u30D1\u30C6\u30A3\u3092true\u306B\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for class which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: \u30AF\u30E9\u30B9{0}\u306F\u30DE\u30C3\u30D7\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30AF\u30E9\u30B9\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: \u30AF\u30E9\u30B9{0}\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868{1}\u306B\u542B\u307E\u308C\u308B\u3059\u3079\u3066\u306E\u4E3B\u30AD\u30FC\u5217\u306F\u3001\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u30DE\u30C3\u30D7\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u6B21\u306E\u4E3B\u30AD\u30FC\u5217\u3092\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044: {2}\u3002\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u3059\u3067\u306B\u3053\u308C\u3089\u306E\u5217\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u305D\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u3042\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u6C38\u7D9A\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u3057\u3066\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001.java\u30D5\u30A1\u30A4\u30EB\u306B\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002\n\u30D5\u30A3\u30FC\u30EB\u30C9\u3092.java\u30D5\u30A1\u30A4\u30EB\u306B\u8FFD\u52A0\u3057\u3001\u6C38\u7D9A\u6027\u3092\u6301\u305F\u305B\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field not allowed to be persistent -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092\u6C38\u7D9A\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u6C38\u7D9A\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092false\u306B\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u6574\u5408\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\n\u6C38\u7D9A\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092false\u306B\u5909\u66F4\u3057\u3001\u305D\u308C\u304B\u3089true\u306B\u623B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u6574\u5408\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\n\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u6C38\u7D9A\u6027\u304C\u3042\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u578B\u3092\u30E9\u30C3\u30D1\u30FC\u307E\u305F\u306F\u30D7\u30EA\u30DF\u30C6\u30A3\u30D6\u306B\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\u578B\u304C\u6B63\u3057\u3044\u5834\u5408\u306F\u3001\u6C38\u7D9A\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092false\u306B\u5909\u66F4\u3057\u3001\u305D\u308C\u304B\u3089true\u306B\u623B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u578B\u3092\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u307E\u305F\u306F\u305D\u306E\u4ED6\u306E\u6C38\u7D9A\u53EF\u80FD\u30AF\u30E9\u30B9\u306B\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\u578B\u304C\u6B63\u3057\u3044\u5834\u5408\u306F\u3001\u6C38\u7D9A\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092false\u306B\u5909\u66F4\u3057\u3001\u305D\u308C\u304B\u3089true\u306B\u623B\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u7121\u52B9\u306A\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u304C\u3042\u308A\u307E\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u304C\u3001\u7BA1\u7406\u5BFE\u8C61\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u6709\u52B9\u306A\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\u5225\u306E\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field which is not mapped -# {0}=field name -util.validation.field_not_mapped=JDO72318: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\n\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5217\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: \u30DE\u30C3\u30D4\u30F3\u30B0\u306B\u30E9\u30FC\u30B8\u30FB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8(BLOB/CLOB\u306A\u3069)\u306E\u5217\u304C\u542B\u307E\u308C\u308B\u305F\u3081\u3001\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u5217\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u3053\u306E\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092false\u306B\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field in the default fetch group which is mapped to a -# blob or clob column -# {0}=field name -util.validation.field_fetch_group_not_allowed=JDO72320: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u7121\u52B9\u306A\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u304C\u3042\u308A\u307E\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F\u3001\u30E9\u30FC\u30B8\u30FB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8(BLOB/CLOB\u306A\u3069)\u306E\u5217\u304C\u30DE\u30C3\u30D7\u3055\u308C\u305F\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u5BFE\u3059\u308B\u6709\u52B9\u306A\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\u5225\u306E\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u3092\u9078\u629E\u3059\u308B\u304B\u3001\u5217\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for managed (multiple fields to same column) field which -# has a non exact column match -# {0}=field name -# {1}=other field name -util.validation.field_mapping_invalid=JDO72321: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u7121\u52B9\u306A\u30DE\u30C3\u30D4\u30F3\u30B0\u304C\u3042\u308A\u307E\u3059\u3002\u30DE\u30C3\u30D4\u30F3\u30B0\u306E\u4E00\u90E8\u304C\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u3068\u91CD\u8907\u3057\u307E\u3059\u3002\u30DE\u30C3\u30D4\u30F3\u30B0\u306F\u540C\u4E00\u3067\u3042\u308B\u304B\u3001\u91CD\u8907\u3092\u542B\u307E\u306A\u3044\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u3044\u305A\u308C\u304B\u3001\u307E\u305F\u306F\u4E21\u65B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5217\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for invalid combination of upper and lower bounds -# {0}=(relationship) field name -util.validation.cardinality_invalid=JDO72322: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u6709\u52B9\u306A\u4E0A\u9650\u3068\u4E0B\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\n\u4E0A\u9650\u304C\u30BC\u30ED\u3088\u308A\u5927\u304D\u304F\u3001\u4E0B\u9650\u4EE5\u4E0A\u3068\u306A\u308B\u3088\u3046\u306B\u3001\u307E\u305F\u3001\u4E0B\u9650\u304C\u8CA0\u306E\u5024\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u306B\u4E0A\u9650\u3068\u4E0B\u9650\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a relationship field with lower bound 0 mapped to -# at least one non-nullable column -# {0}=(relationship) field name -util.validation.lower_bound_invalid=JDO72323: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u6709\u52B9\u306A\u4E0B\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u30021\u3064\u307E\u305F\u306F\u8907\u6570\u306Enull\u4E0D\u53EF\u5217\u3092\u6301\u3064\u5916\u90E8\u30AD\u30FC\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u308B\u95A2\u4FC2\u306B\u306F\u3001\u4E0B\u9650\u306E1\u3092\u8A2D\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u4E0B\u9650\u30921\u306B\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324:The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u7121\u52B9\u306A\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u30FB\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u3059\u3002\n\u95A2\u4FC2\u306E\u578B\u3092set\u307E\u305F\u306Fgeneric\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u306B\u66F4\u65B0\u3059\u308B\u304B\u3001\u6C38\u7D9A\u30D7\u30ED\u30D1\u30C6\u30A3\u3092false\u306B\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u95A2\u9023\u30AF\u30E9\u30B9\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001\u5217\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\u95A2\u9023\u30AF\u30E9\u30B9\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u95A2\u4FC2\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u89E3\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u7121\u52B9\u306A\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u304C\u3042\u308A\u307E\u3059\u3002\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u3001\u95A2\u4FC2\u306E\u4E21\u65B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u3053\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u306E\u8A2D\u5B9A\u3092\u89E3\u9664\u3059\u308B\u304B\u3001\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9\u5074\u306E\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for inverse field which does not exist in the related class -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related class name -util.validation.related_class_mismatch=JDO72327: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u3001\u95A2\u9023\u30AF\u30E9\u30B9{2}\u306B\u5B58\u5728\u3057\u306A\u3044\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u304C\u3042\u308A\u307E\u3059\u3002\n\u95A2\u9023\u30AF\u30E9\u30B9\u3092\u66F4\u65B0\u3057\u3001\u5FC5\u8981\u306B\u5FDC\u3058\u3066\u95A2\u9023\u30AF\u30E9\u30B9\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for inverse field set and no related class set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u95A2\u9023\u30AF\u30E9\u30B9\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u304C\u3042\u308A\u307E\u3059\u3002\n\u95A2\u9023\u30AF\u30E9\u30B9\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u300C\u306A\u3057\u300D\u306B\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field & inverse field which have non-inverse mappings -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_mapping_mismatch=JDO72329: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u3001\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u306E\u5B8C\u5168\u306A\u53CD\u8EE2\u3067\u306F\u306A\u3044\u30DE\u30C3\u30D4\u30F3\u30B0\u304C\u3042\u308A\u307E\u3059\u3002\n\u95A2\u4FC2\u306E\u4E21\u65B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u300C\u306A\u3057\u300D\u306B\u8A2D\u5B9A\u3059\u308B\u304B\u3001\u3044\u305A\u308C\u304B\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u89E3\u9664\u3057\u3066\u304B\u3089\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u518D\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=class name -util.validation.schema_not_found=JDO72331: \u30AF\u30E9\u30B9{1}\u306E\u30B9\u30AD\u30FC\u30DE{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u5FA9\u5143\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related schema not found -# {0}=schema name -# {1}=related class name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: \u30D5\u30A3\u30FC\u30EB\u30C9{2}\u306E\u95A2\u9023\u30AF\u30E9\u30B9{1}\u306E\u30B9\u30AD\u30FC\u30DE{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u5FA9\u5143\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for schema not set but primary table set -# {0}=class name -util.validation.schema_not_set=JDO72333: \u30AF\u30E9\u30B9{0}\u306B\u306F\u30B9\u30AD\u30FC\u30DE\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001\u8868\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\u30AF\u30E9\u30B9\u306E\u30DE\u30C3\u30D7\u6E08\u307F\u30B9\u30AD\u30FC\u30DE\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u3078\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u53D6\u308A\u6D88\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for schemas don't match -# {0}=class name -# {1}=related class name -# {2}=field name -util.validation.schema_mismatch=JDO72334: \u30D5\u30A3\u30FC\u30EB\u30C9{2}\u306E\u30AF\u30E9\u30B9{0}\u3068\u95A2\u9023\u30AF\u30E9\u30B9{1}\u306E\u30B9\u30AD\u30FC\u30DE\u304C\u4E00\u81F4\u3057\u307E\u305B\u3093\u3002\n\u3044\u305A\u308C\u304B\u306E\u30AF\u30E9\u30B9\u306E\u30DE\u30C3\u30D7\u6E08\u307F\u30B9\u30AD\u30FC\u30DE\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=class name -util.validation.table_no_primarykey=JDO72335: \u30AF\u30E9\u30B9{1}\u306E\u8868{0}\u304C\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u3068\u3057\u3066\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u4E3B\u30AD\u30FC\u304C\u5FC5\u8981\u3067\u3059\u3002\n\u5225\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u3092\u9078\u629E\u3059\u308B\u304B\u3001\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for table not found -# {0}=table name -# {1}=class name -util.validation.table_not_found=JDO72336: \u30AF\u30E9\u30B9{1}\u306E\u8868{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3001\u305D\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: \u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u95A2\u9023\u30AF\u30E9\u30B9\u306E\u8868{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3001\u305D\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.table_mismatch=JDO72355: \u95A2\u4FC2{1}\u306F\u3001\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u30AF\u30E9\u30B9{2}\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u307E\u305F\u306F\u30BB\u30AB\u30F3\u30C0\u30EA\u8868\u306E\u5217\u3068\u306F\u7570\u306A\u308B\u5217{0}\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\u8868\u30DE\u30C3\u30D4\u30F3\u30B0\u307E\u305F\u306F\u95A2\u4FC2\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.table_mismatch_related=JDO72338: \u95A2\u4FC2{1}\u306F\u3001\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u3001\u95A2\u9023\u30AF\u30E9\u30B9{2}\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u307E\u305F\u306F\u30BB\u30AB\u30F3\u30C0\u30EA\u8868\u306E\u5217\u3068\u306F\u7570\u306A\u308B\u5217{0}\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\u8868\u30DE\u30C3\u30D4\u30F3\u30B0\u307E\u305F\u306F\u95A2\u4FC2\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=class name -util.validation.column_not_found=JDO72339: \u30AF\u30E9\u30B9{0}\u306E\u30BB\u30AB\u30F3\u30C0\u30EA\u8868\u8A2D\u5B9A\u306E\u53C2\u7167\u9375\u30DA\u30A2{1}\u306B\u5217\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3001\u305D\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_not_found_related=JDO72340: \u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u7528\u306E\u5217{0}\u304C\u30AF\u30E9\u30B9{2}\u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3001\u305D\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_invalid=JDO72341: \u95A2\u4FC2{1}\u306E\u9375\u30DA\u30A2{0}\u5185\u306E\u5217\u304C\u30AF\u30E9\u30B9{2}\u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3001\u305D\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# Validation messages for key class elements - -# Validation message for a wrong key class name -# {0}=key class name -# {1}=pc class name -util.validation.key_class_invalid=JDO72342: {0}\u306F\u7121\u52B9\u306A\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u540D\u3067\u3059\u3002\u5185\u90E8\u30AF\u30E9\u30B9\u306E\u30AF\u30E9\u30B9{1}.Oid\u3001\u307E\u305F\u306F\u72EC\u7ACB\u30AF\u30E9\u30B9\u306E{1}Key\u306E\u540D\u524D\u3092\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: \u30AF\u30E9\u30B9{0}\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: \u30AF\u30E9\u30B9{1}\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u3092\u5B9A\u7FA9\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: \u30AF\u30E9\u30B9{1}\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u306Fpublic\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u306E\u4FEE\u98FE\u5B50\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: \u30AF\u30E9\u30B9{1}\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u306Fjava.io.Serializable\u3092\u5B9F\u88C5\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u306E\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: \u30AF\u30E9\u30B9{1}\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u3092\u5185\u90E8\u30AF\u30E9\u30B9\u3068\u3057\u3066\u5B9A\u7FA9\u3059\u308B\u5834\u5408\u306F\u3001\u305D\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u306F\u9759\u7684\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u306E\u4FEE\u98FE\u5B50\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: \u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{1}\u306E\u9759\u7684\u3067\u306A\u3044\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306E\u578B\u306F\u3001\u30D7\u30EA\u30DF\u30C6\u30A3\u30D6\u3001String\u3001Number\u3001\u307E\u305F\u306FDate\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u578B\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class field must be public -# {0}=key class field name -# {1}=key class name -util.validation.key_field_public=JDO72349: \u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{1}\u306E\u9759\u7684\u3067\u306A\u3044\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306Fpublic\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u4FEE\u98FE\u5B50\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class field must have the same type as the pc -# class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: \u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{1}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u3001\u6C38\u7D9A\u53EF\u80FD\u30AF\u30E9\u30B9{2}\u306E\u5BFE\u5FDC\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u540C\u3058\u578B\u3092\u6301\u3064\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u578B\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: \u30AF\u30E9\u30B9{0}\u306E\u3059\u3079\u3066\u306E\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{1}\u306B\u5B58\u5728\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u6B21\u306E\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u306B\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044: {2}\u3002 -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: \u30AF\u30E9\u30B9{1}\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u306F\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306B\u3067\u304D\u308Bpublic\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3001\u307E\u305F\u306Fno-arg\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u5B9A\u7FA9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u306Bno-arg\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: \u30AF\u30E9\u30B9{1}\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u306F\u3001java.lang.Object\u30E1\u30BD\u30C3\u30C9\u304B\u3089\u306Eequals\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u306Bequals\u30E1\u30BD\u30C3\u30C9\u3092\u5B9F\u88C5\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: \u30AF\u30E9\u30B9{1}\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u306F\u3001java.lang.Object\u30E1\u30BD\u30C3\u30C9\u304B\u3089\u306EhashCode\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u306BhashCode\u30E1\u30BD\u30C3\u30C9\u3092\u5B9F\u88C5\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356: \u30AF\u30E9\u30B9{0}\u306F1\u3064\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u5FC5\u8981\u3068\u3057\u307E\u3059\u3002\n\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u306B\u65E2\u5B58\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357: \u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u306F\u3001\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9\u4EE5\u5916\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358: \u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u7121\u52B9\u306A\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u304C\u3042\u308A\u307E\u3059\u3002\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u306B\u5C5E\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u3092\u300C\u30C7\u30D5\u30A9\u30EB\u30C8\u300D\u306B\u8A2D\u5B9A\u3059\u308B\u304B\u3001\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u3057\u3066\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u9078\u629E\u3059\u308B\u304B\u3001\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092false\u306B\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360: \u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306E\u30BF\u30A4\u30D7\u306F''long''\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30BF\u30A4\u30D7\u3092''long''\u306B\u5909\u66F4\u3059\u308B\u304B\u3001\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361: \u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u30011\u3064\u306E\u5217\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5217\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362: \u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306F\u3001\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u30AF\u30E9\u30B9{2}\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u306E\u5217\u3068\u306F\u7570\u306A\u308B\u5217{0}\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\u5217\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u307E\u305F\u306F\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363: \u30AF\u30E9\u30B9{2}\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306F\u3001null\u306B\u3067\u304D\u306A\u3044\u3001\u307E\u305F\u306F\u6570\u5024\u3067\u306F\u306A\u3044\u5217{0}\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\u30B9\u30AD\u30FC\u30DE\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364: \u30AF\u30E9\u30B9{2}\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306F\u3001\u4E3B\u30AD\u30FC\u306E\u4E00\u90E8\u3067\u306F\u306A\u3044\u53EF\u80FD\u6027\u306E\u3042\u308B\u5217{0}\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\u30B9\u30AD\u30FC\u30DE\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364: \u30AF\u30E9\u30B9{2}\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306F\u3001\u5916\u90E8\u30AD\u30FC\u306E\u4E00\u90E8\u3067\u306F\u306A\u3044\u53EF\u80FD\u6027\u306E\u3042\u308B\u5217{0}\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\u30B9\u30AD\u30FC\u30DE\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365: \u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30B0\u30EB\u30FC\u30D7{0}\u306B\u7121\u52B9\u306A\u5217\u30DE\u30C3\u30D4\u30F3\u30B0\u304C\u3042\u308A\u307E\u3059\u3002\u7BA1\u7406\u5BFE\u8C61\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u5217\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u5909\u66F4\u3059\u308B\u304B\u3001\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# IMPORTANT: The highest message ID for the validation section is -# -# JDO72365 -# -# Please update this as necessary. - -# logging messages - not brandable for ejb context at this time -model.parse_error=\u6C38\u7D9A\u6027\u691C\u67FB\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F diff --git a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_ko.properties b/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_ko.properties deleted file mode 100644 index c0819e9da66..00000000000 --- a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_ko.properties +++ /dev/null @@ -1,443 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Some of the messages from this file are overridden in -# mapping/ejb/src/com/sun/jdo/api/persistence/model/Bundle_ejb.properties -# and -# support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 72. -# -# This file is divided into the following sections: -# 0. Top level model messages. -# 1. JDO model messages. -# 2. Mapping model messages. -# 3. Validation messages. -# -# IMPORTANT: When adding a new message in the validation section, -# realize that it is split into the following sub sections: -# classes -# fields -# database elements -# key class elements -# Since the messages should be grouped by sub section, the order of messageID's -# may not be sequential, so the last numbered message ID for the section -# is stored in a comment at the end of the entire validation section. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - - -############################################################################### -# -# Message ID Range: JDO72000 - JDO72099 -############################################################################### -# Model messages for loading/storing xml files -# {0}=class name -file.cannot_save=JDO72000:{0} \uD074\uB798\uC2A4\uC758 \uD30C\uC77C\uC744 \uC800\uC7A5\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -file.incompatible_version=JDO72001:\uD638\uD658\uB418\uC9C0 \uC54A\uB294 \uB9E4\uD551 \uD30C\uC77C \uBC84\uC804\uC785\uB2C8\uB2E4. {0} \uD074\uB798\uC2A4\uB97C \uB2E4\uC2DC \uB9E4\uD551\uD558\uC2ED\uC2DC\uC624. -file.cannot_read=JDO72002:{0} \uD074\uB798\uC2A4\uC758 \uB9E4\uD551 \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC608\uC678 \uC0AC\uD56D\uC740 {1}\uC785\uB2C8\uB2E4. - -# RuntimeModel messages for class loader handling -# {0}=class name -classloader.multiple=JDO72003:{0} \uD074\uB798\uC2A4\uB294 \uC5EC\uB7EC \uD074\uB798\uC2A4 \uB85C\uB354\uB85C \uB85C\uB4DC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. - -# RuntimeModel message for dbschema loading -# {0}=schema name -# {1}=class name -dbschema.not_found=JDO72004:{1} \uD074\uB798\uC2A4\uC758 {0} \uC2A4\uD0A4\uB9C8\uB97C \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. - -############################################################################### -# -# Message ID Range: JDO72100 - JDO72199 -############################################################################### -# JDO PersistenceClassElement messages -# {0}=key class name, {1}=class name -jdo.class.key_class_invalid=JDO72100:{0}\uC740(\uB294) {1} \uD074\uB798\uC2A4\uC758 \uBD80\uC801\uD569\uD55C \uD0A4 \uD074\uB798\uC2A4\uC785\uB2C8\uB2E4. \uC801\uD569\uD55C \uD0A4 \uD074\uB798\uC2A4 \uC774\uB984\uC740 {1}.Oid\uC640 {1}Key\uC785\uB2C8\uB2E4. - -# JDO RelationshipElement messages -# {0}=action value -jdo.relationship.update_action_invalid=JDO72101:{0}\uC740(\uB294) \uBD80\uC801\uD569\uD55C \uC5C5\uB370\uC774\uD2B8 \uC791\uC5C5\uC785\uB2C8\uB2E4. -# {0}=action value -jdo.relationship.delete_action_invalid=JDO72102:{0}\uC740(\uB294) \uBD80\uC801\uD569\uD55C \uC0AD\uC81C \uC791\uC5C5\uC785\uB2C8\uB2E4. -jdo.relationship.lower_cardinality_invalid=JDO72103:\uD558\uD55C\uAC12\uC740 \uC74C\uC218\uC774\uAC70\uB098 \uC0C1\uD55C\uAC12\uBCF4\uB2E4 \uD070 \uAC12\uC774 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jdo.relationship.upper_cardinality_invalid=JDO72104:\uC0C1\uD55C\uAC12\uC740 0\uC774\uB098 \uC74C\uC218\uAC00 \uB420 \uC218 \uC5C6\uC73C\uBA70, \uD558\uD55C\uAC12\uBCF4\uB2E4 \uC791\uC740 \uAC12\uC774 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -# JDO ConcurrencyGroupElement default name -jdo.concurrency_group.default=\uAE30\uBCF8\uAC12 - - -############################################################################### -# -# Message ID Range: JDO72200 - JDO72299 -############################################################################### -# Mapping model generic messages for managing elements -mapping.element.null_argument=JDO72200:\uC694\uC18C\uB97C \uCD94\uAC00/\uC81C\uAC70\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB110 \uC778\uC218\uAC00 \uC785\uB825\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -# {0}=element name -mapping.element.element_not_removed=JDO72201:\uC694\uC18C {0}\uC774(\uAC00) \uC81C\uAC70\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4 - -# Mapping model messages for managing tables -# {0}=table name -mapping.table.foreign_key_not_found=JDO72202:\uD14C\uC774\uBE14 {0}\uC744(\uB97C) \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC678\uB798 \uD0A4\uB97C \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -# {0}=table name -mapping.table.primary_table_defined=JDO72203:\uAE30\uBCF8 \uD14C\uC774\uBE14 {0}\uC744(\uB97C) \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uAE30\uBCF8 \uD14C\uC774\uBE14\uC774 \uC774\uBBF8 \uC815\uC758\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. -# {0}=parent table name -mapping.table.parent_table_not_found=JDO72204:\uD14C\uC774\uBE14 {0}\uC744(\uB97C) \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC0C1\uC704 \uD14C\uC774\uBE14\uC744 \uB9E4\uD551\uC5D0\uC11C \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -# {0}=secondary table name, {1}=parent table name -mapping.table.secondary_table_defined=JDO72205:\uD14C\uC774\uBE14 {0}\uC744(\uB97C) \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC0C1\uC704 \uD14C\uC774\uBE14 {1}\uC5D0 \uBCF4\uC870 \uD14C\uC774\uBE14 {0}\uC774(\uAC00) \uC774\uBBF8 \uC815\uC758\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. -# {0}=primary table name, {1}=schema name -mapping.table.schema_mismatch=JDO72206:\uAE30\uBCF8 \uD14C\uC774\uBE14 {0}\uC744(\uB97C) \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uAE30\uBCF8 \uD14C\uC774\uBE14\uC774 {1} \uC2A4\uD0A4\uB9C8\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. - -# Mapping model messages for managing columns -# {0}=column name -mapping.column.column_defined=JDO72207:{0} \uC5F4\uC744 \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC5F4\uC774 \uC774\uBBF8 \uC815\uC758\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. -# {0}=column name -mapping.column.associated_columns_defined=JDO72208:{0} \uC5F4\uC744 \uCD94\uAC00\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC5F0\uACB0\uB41C \uC5F4\uC774 \uC774\uBBF8 \uC815\uC758\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. -# {0}=column name -mapping.column.column_invalid=JDO72209:{0}\uC740(\uB294) \uBD80\uC801\uD569\uD55C \uC5F4\uC785\uB2C8\uB2E4. \uC5F4 \uC30D\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. - -# General validation messages -# Validation warning prefix (prepended to some of the messages below) -util.validation.warning=\uACBD\uACE0: - -############################################################################### -# -# Message ID Range: JDO72300 - JDO72399 -############################################################################### -# Validation messages for classes -# Validation message for class not found -# {0}=class name -util.validation.class_not_found=JDO72300:{0} \uD074\uB798\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uD074\uB798\uC2A4\uB97C \uBCF5\uC6D0\uD558\uC2ED\uC2DC\uC624. -# Validation message for related class not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301:{1} \uD544\uB4DC\uC758 \uAD00\uB828 \uD074\uB798\uC2A4 {0}\uC744(\uB97C) \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.\n\uD074\uB798\uC2A4\uB97C \uBCF5\uC6D0\uD558\uC2ED\uC2DC\uC624. -# Validation message for class not persistence-capable -# {0}=class name -util.validation.class_not_persistence_capable=JDO72302:{0} \uD074\uB798\uC2A4\uB294 \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uAC00 \uC544\uB2D9\uB2C8\uB2E4.\n\uD074\uB798\uC2A4\uB97C \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uB85C \uBCC0\uD658\uD558\uC2ED\uC2DC\uC624. -# Validation message for related class not persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303:{1} \uD544\uB4DC\uC758 \uAD00\uB828 \uD074\uB798\uC2A4 {0}\uC740(\uB294) \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uAC00 \uC544\uB2D9\uB2C8\uB2E4.\n\uD074\uB798\uC2A4\uB97C \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uB85C \uBCC0\uD658\uD558\uC2ED\uC2DC\uC624. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304:{0} \uD074\uB798\uC2A4\uB294 \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uAC00 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uC5D0\uC11C \uB418\uB3CC\uB9AC\uAC70\uB098 \uADDC\uCE59\uC744 \uAC80\uD1A0\uD55C \uD6C4 \uD074\uB798\uC2A4\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305:{1} \uD544\uB4DC\uC758 \uAD00\uB828 \uD074\uB798\uC2A4 {0}\uC740(\uB294) \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uAC00 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uC5D0\uC11C \uB418\uB3CC\uB9AC\uAC70\uB098 \uADDC\uCE59\uC744 \uAC80\uD1A0\uD55C \uD6C4 \uD074\uB798\uC2A4\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306:{0} \uD074\uB798\uC2A4\uB294 java.io.Serializable\uC744 \uAD6C\uD604\uD558\uAE30 \uB54C\uBB38\uC5D0 \uC801\uC808\uD55C \uD5A5\uC0C1\uC744 \uC704\uD574\uC11C\uB294 readObject(java.io.Serializable \uCC38\uC870) \uBA54\uC18C\uB4DC\uB3C4 \uC815\uC758\uD574\uC57C \uD569\uB2C8\uB2E4.\n\uD074\uB798\uC2A4\uC5D0 readObject \uBA54\uC18C\uB4DC\uB97C \uCD94\uAC00\uD558\uC2ED\uC2DC\uC624. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307:{0} \uD074\uB798\uC2A4\uB294 java.io.Serializable\uC744 \uAD6C\uD604\uD558\uAE30 \uB54C\uBB38\uC5D0 \uC801\uC808\uD55C \uD5A5\uC0C1\uC744 \uC704\uD574\uC11C\uB294 writeObject(java.io.Serializable \uCC38\uC870) \uBA54\uC18C\uB4DC\uB3C4 \uC815\uC758\uD574\uC57C \uD569\uB2C8\uB2E4.\n\uD074\uB798\uC2A4\uC5D0 writeObject \uBA54\uC18C\uB4DC\uB97C \uCD94\uAC00\uD558\uC2ED\uC2DC\uC624. -# Validation message for class which has no persistent fields -# {0}=class name -util.validation.class_no_fields=JDO72308:{0} \uD074\uB798\uC2A4\uC5D0\uB294 \uC9C0\uC18D\uC131 \uD544\uB4DC\uAC00 \uC801\uC5B4\uB3C4 \uD558\uB098 \uC774\uC0C1 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uAE30\uC874 \uD544\uB4DC\uC758 \uC9C0\uC18D\uC131 \uC18D\uC131\uC744 true\uB85C \uC124\uC815\uD558\uAC70\uB098 \uD544\uB4DC\uB97C \uCD94\uAC00\uD55C \uD6C4 \uD574\uB2F9 \uC9C0\uC18D\uC131 \uC18D\uC131\uC744 true\uB85C \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for class which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309:{0} \uD074\uB798\uC2A4\uAC00 \uB9E4\uD551\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.\n\uD074\uB798\uC2A4\uC758 \uAE30\uBCF8 \uD14C\uC774\uBE14\uC744 \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310:{0} \uD074\uB798\uC2A4\uC758 \uAE30\uBCF8 \uD14C\uC774\uBE14 {1}\uC5D0 \uC788\uB294 \uBAA8\uB4E0 \uAE30\uBCF8 \uD0A4 \uC5F4\uC740 \uD0A4 \uD544\uB4DC\uC5D0 \uB9E4\uD551\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uB2E4\uC74C \uAE30\uBCF8 \uD0A4 \uC5F4\uC744 \uD0A4 \uD544\uB4DC\uC5D0 \uB9E4\uD551\uD558\uC2ED\uC2DC\uC624. {2}. \uC774\uB7EC\uD55C \uC5F4\uC5D0 \uC774\uBBF8 \uB9E4\uD551\uB41C \uD544\uB4DC\uAC00 \uC788\uB294 \uACBD\uC6B0 \uD0A4 \uD544\uB4DC\uC778\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311:{0} \uD544\uB4DC\uB294 \uC9C0\uC18D\uC73C\uB85C \uC9C0\uC815\uB418\uC5C8\uC9C0\uB9CC .java \uD30C\uC77C\uC5D0\uB294 \uC5C6\uC2B5\uB2C8\uB2E4.\n.java \uD30C\uC77C\uC5D0 \uD544\uB4DC\uB97C \uCD94\uAC00\uD55C \uD6C4 \uC9C0\uC18D\uC778\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for field not allowed to be persistent -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312:{0} \uD544\uB4DC\uB294 \uC9C0\uC18D\uC131 \uD544\uB4DC\uAC00 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC9C0\uC18D\uC131 \uD544\uB4DC \uC18D\uC131\uC744 false\uB85C \uBCC0\uACBD\uD558\uC2ED\uC2DC\uC624. -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313:{0} \uD544\uB4DC\uC5D0 \uC77C\uAD00\uC131\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC9C0\uC18D\uC131 \uD544\uB4DC \uC18D\uC131\uC744 false\uB85C \uC804\uD658\uD55C \uD6C4 \uB2E4\uC2DC true\uB85C \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314:{0} \uD544\uB4DC\uC5D0 \uC77C\uAD00\uC131\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD544\uB4DC\uC778\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315:{0} \uD544\uB4DC\uB294 \uAD00\uACC4\uAC00 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uD544\uB4DC\uC758 \uC720\uD615\uC744 \uB798\uD37C \uB610\uB294 \uC6D0\uC2DC \uC720\uD615\uC73C\uB85C \uBCC0\uACBD\uD558\uC2ED\uC2DC\uC624.\n\uC62C\uBC14\uB978 \uC720\uD615\uC778 \uACBD\uC6B0\uC5D0\uB294 \uC9C0\uC18D\uC131 \uD544\uB4DC \uC18D\uC131\uC744 false\uB85C \uC804\uD658\uD588\uB2E4\uAC00 \uB2E4\uC2DC true\uB85C \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316:{0} \uD544\uB4DC\uB294 \uAD00\uACC4\uC5EC\uC57C \uD569\uB2C8\uB2E4.\n\uD544\uB4DC\uC758 \uC720\uD615\uC744 \uBAA8\uC74C \uB610\uB294 \uAE30\uD0C0 \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uB85C \uBCC0\uACBD\uD558\uC2ED\uC2DC\uC624.\n\uC62C\uBC14\uB978 \uC720\uD615\uC778 \uACBD\uC6B0\uC5D0\uB294 \uC9C0\uC18D\uC131 \uD544\uB4DC \uC18D\uC131\uC744 false\uB85C \uC804\uD658\uD588\uB2E4\uAC00 \uB2E4\uC2DC true\uB85C \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317:{0} \uD544\uB4DC\uC5D0 \uBD80\uC801\uD569\uD55C \uC778\uCD9C \uADF8\uB8F9\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uAE30\uBCF8\uAC12\uC774 \uAD00\uB9AC \uB300\uC0C1 \uD544\uB4DC\uC758 \uC801\uD569\uD55C \uC778\uCD9C \uADF8\uB8F9\uC774 \uC544\uB2D9\uB2C8\uB2E4.\n\uB2E4\uB978 \uC778\uCD9C \uADF8\uB8F9\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for field which is not mapped -# {0}=field name -util.validation.field_not_mapped=JDO72318:{0} \uD544\uB4DC\uAC00 \uB9E4\uD551\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.\n\uD544\uB4DC\uC758 \uC5F4 \uB9E4\uD551\uC744 \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: \uB9E4\uD551\uC5D0 \uD070 \uAC1D\uCCB4(\uC608: BLOB/CLOB) \uC5F4\uC774 \uD3EC\uD568\uB418\uC5B4 \uC788\uAE30 \uB54C\uBB38\uC5D0 {0} \uD544\uB4DC\uB294 \uD0A4 \uD544\uB4DC\uAC00 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC5F4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uD0A4 \uD544\uB4DC \uC18D\uC131\uC744 false\uB85C \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for field in the default fetch group which is mapped to a -# blob or clob column -# {0}=field name -util.validation.field_fetch_group_not_allowed=JDO72320: {0} \uD544\uB4DC\uC5D0 \uBD80\uC801\uD569\uD55C \uC778\uCD9C \uADF8\uB8F9\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uAE30\uBCF8\uAC12\uC774 \uD070 \uAC1D\uCCB4(\uC608: BLOB/CLOB) \uC5F4\uC5D0 \uB9E4\uD551\uB41C \uD544\uB4DC\uC5D0 \uB300\uD574 \uC801\uD569\uD55C \uC778\uCD9C \uADF8\uB8F9\uC774 \uC544\uB2D9\uB2C8\uB2E4.\n\uB2E4\uB978 \uC778\uCD9C \uADF8\uB8F9\uC744 \uC120\uD0DD\uD558\uAC70\uB098 \uC5F4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for managed (multiple fields to same column) field which -# has a non exact column match -# {0}=field name -# {1}=other field name -util.validation.field_mapping_invalid=JDO72321:{0} \uD544\uB4DC\uC5D0 \uBD80\uC801\uD569\uD55C \uB9E4\uD551\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uB9E4\uD551\uC758 \uC77C\uBD80\uAC00 {1} \uD544\uB4DC\uC758 \uB9E4\uD551\uACFC \uC911\uBCF5\uB429\uB2C8\uB2E4. \uB9E4\uD551\uC740 \uB3D9\uC77C\uD558\uAC70\uB098 \uC911\uBCF5\uB41C \uBD80\uBD84\uC774 \uC5C6\uC5B4\uC57C \uD569\uB2C8\uB2E4. \n\uB450 \uD544\uB4DC \uC911 \uD558\uB098 \uB610\uB294 \uB450 \uD544\uB4DC \uBAA8\uB450\uC758 \uC5F4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for invalid combination of upper and lower bounds -# {0}=(relationship) field name -util.validation.cardinality_invalid=JDO72322:{0} \uD544\uB4DC\uC5D0 \uC801\uD569\uD55C \uC0C1\uD55C\uACFC \uD558\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC0C1\uD55C\uC774 0\uBCF4\uB2E4 \uD06C\uACE0 \uD558\uD55C \uC774\uC0C1\uC774\uBA70, \uD558\uD55C\uC774 \uC74C\uC218\uAC00 \uC544\uB2CC \uAC12\uC744 \uAC16\uB3C4\uB85D \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for a relationship field with lower bound 0 mapped to -# at least one non-nullable column -# {0}=(relationship) field name -util.validation.lower_bound_invalid=JDO72323:{0} \uD544\uB4DC\uC5D0 \uC801\uD569\uD55C \uD558\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. \uB110\uC774 \uB420 \uC218 \uC5C6\uB294 \uC5F4\uC774 \uD55C \uAC1C \uC774\uC0C1 \uC788\uB294 \uC678\uB798 \uD0A4\uC5D0 \uB9E4\uD551\uB41C \uAD00\uACC4\uC758 \uD558\uD55C\uC740 1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uD558\uD55C\uC744 1\uB85C \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324:The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324:{0} \uD544\uB4DC\uC5D0 \uBD80\uC801\uD569\uD55C \uBAA8\uC74C \uD074\uB798\uC2A4\uAC00 \uC788\uC2B5\uB2C8\uB2E4.\n\uAD00\uACC4 \uC720\uD615\uC744 \uC9D1\uD569 \uB610\uB294 \uC77C\uBC18 \uBAA8\uC74C\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uC9C0\uC18D\uC131 \uC18D\uC131\uC744 false\uB85C \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325:{0} \uD544\uB4DC\uC5D0 \uAD00\uB828 \uD074\uB798\uC2A4\uAC00 \uC124\uC815\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC9C0\uB9CC \uC5F4\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4.\n\uAD00\uB828 \uD074\uB798\uC2A4\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uAD00\uACC4 \uB9E4\uD551\uC744 \uCDE8\uC18C\uD558\uC2ED\uC2DC\uC624. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326:{0} \uD544\uB4DC\uC5D0 \uBD80\uC801\uD569\uD55C \uAD00\uB828 \uD544\uB4DC {1}\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4. \uAD00\uB828 \uD544\uB4DC\uB294 \uB450 \uAD00\uACC4 \uD544\uB4DC\uC5D0 \uB300\uD574 \uBAA8\uB450 \uC124\uC815\uD574\uC57C \uD569\uB2C8\uB2E4.\n\uC774 \uD544\uB4DC\uC758 \uAD00\uB828 \uD544\uB4DC \uC18D\uC131 \uC124\uC815\uC744 \uCDE8\uC18C\uD558\uAC70\uB098 \uAD00\uB828 \uD544\uB4DC\uC758 \uAD00\uB828 \uD544\uB4DC \uC18D\uC131\uC744 \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for inverse field which does not exist in the related class -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related class name -util.validation.related_class_mismatch=JDO72327:{0} \uD544\uB4DC\uC5D0\uB294 \uAD00\uB828 \uD074\uB798\uC2A4 {2}\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uB294 \uAD00\uB828 \uD544\uB4DC {1}\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4.\n\uAD00\uB828 \uD074\uB798\uC2A4\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uACE0 \uD544\uC694\uD55C \uACBD\uC6B0 \uAD00\uB828 \uD544\uB4DC\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for inverse field set and no related class set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328:{0} \uD544\uB4DC\uC5D0\uB294 \uAD00\uB828 \uD074\uB798\uC2A4\uAC00 \uC124\uC815\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC9C0\uB9CC \uAD00\uB828 \uD544\uB4DC {1}\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4.\n\uAD00\uB828 \uD074\uB798\uC2A4\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uAD00\uB828 \uD544\uB4DC\uB97C \uC5C6\uC74C\uC73C\uB85C \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for field & inverse field which have non-inverse mappings -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_mapping_mismatch=JDO72329:{0} \uD544\uB4DC\uC5D0\uB294 \uAD00\uB828 \uD544\uB4DC {1}\uC758 \uB9E4\uD551\uC5D0 \uC815\uD655\uD55C \uC5ED\uC774 \uB418\uC9C0 \uC54A\uB294 \uB9E4\uD551\uC774 \uC788\uC2B5\uB2C8\uB2E4.\n\uB450 \uAD00\uACC4 \uD544\uB4DC \uBAA8\uB450\uC758 \uAD00\uB828 \uD544\uB4DC\uB97C \uC5C6\uC74C\uC73C\uB85C \uC124\uC815\uD558\uACE0 \uB450 \uD544\uB4DC \uC911 \uD558\uB098\uC758 \uB9E4\uD551\uC744 \uCDE8\uC18C\uD55C \uD6C4 \uAD00\uB828 \uD544\uB4DC\uB97C \uB2E4\uC2DC \uC124\uC815\uD558\uC2ED\uC2DC\uC624. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=class name -util.validation.schema_not_found=JDO72331:{1} \uD074\uB798\uC2A4\uC758 {0} \uC2A4\uD0A4\uB9C8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC744 \uBCF5\uC6D0\uD558\uC2ED\uC2DC\uC624. -# Validation message for related schema not found -# {0}=schema name -# {1}=related class name -# {2}=field name -util.validation.schema_not_found_related=JDO72332:{2} \uD544\uB4DC\uC758 \uAD00\uB828 \uD074\uB798\uC2A4 {1}\uC5D0 \uB300\uD55C {0} \uC2A4\uD0A4\uB9C8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC744 \uBCF5\uC6D0\uD558\uC2ED\uC2DC\uC624. -# Validation message for schema not set but primary table set -# {0}=class name -util.validation.schema_not_set=JDO72333:{0} \uD074\uB798\uC2A4\uC5D0 \uC2A4\uD0A4\uB9C8\uAC00 \uC124\uC815\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC9C0\uB9CC \uD14C\uC774\uBE14\uC5D0 \uB9E4\uD551\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.\n\uD074\uB798\uC2A4\uC758 \uB9E4\uD551\uB41C \uC2A4\uD0A4\uB9C8 \uC18D\uC131\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uAE30\uBCF8 \uD14C\uC774\uBE14 \uB9E4\uD551\uC744 \uCDE8\uC18C\uD558\uC2ED\uC2DC\uC624. -# Validation message for schemas don't match -# {0}=class name -# {1}=related class name -# {2}=field name -util.validation.schema_mismatch=JDO72334:{2} \uD544\uB4DC\uC758 {0} \uD074\uB798\uC2A4\uC640 \uAD00\uB828 \uD074\uB798\uC2A4 {1}\uC758 \uC2A4\uD0A4\uB9C8\uAC00 \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4.\n\uD074\uB798\uC2A4 \uC911 \uD558\uB098\uC758 \uB9E4\uD551\uB41C \uC2A4\uD0A4\uB9C8 \uC18D\uC131\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=class name -util.validation.table_no_primarykey=JDO72335:{1} \uD074\uB798\uC2A4\uC758 {0} \uD14C\uC774\uBE14\uC774 \uAE30\uBCF8 \uD14C\uC774\uBE14\uB85C \uB9E4\uD551\uB41C \uACBD\uC6B0\uC5D0\uB294 \uAE30\uBCF8 \uD0A4\uAC00 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uB2E4\uB978 \uAE30\uBCF8 \uD14C\uC774\uBE14\uC744 \uC120\uD0DD\uD558\uAC70\uB098 \uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC758 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for table not found -# {0}=table name -# {1}=class name -util.validation.table_not_found=JDO72336:{1} \uD074\uB798\uC2A4\uC758 {0} \uD14C\uC774\uBE14\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uACE0 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337:{1} \uD544\uB4DC\uC758 \uAD00\uB828 \uD074\uB798\uC2A4\uC5D0 \uB300\uD55C {0} \uD14C\uC774\uBE14\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uACE0 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.table_mismatch=JDO72355:{1} \uAD00\uACC4\uB294 {2} \uD074\uB798\uC2A4\uC758 \uB9E4\uD551\uB41C \uAE30\uBCF8 \uB610\uB294 \uBCF4\uC870 \uD14C\uC774\uBE14 \uC911 \uD558\uB098\uAC00 \uC544\uB2CC {0} \uC5F4\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4. \n\uD14C\uC774\uBE14 \uB9E4\uD551 \uB610\uB294 \uAD00\uACC4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.table_mismatch_related=JDO72338:{1} \uAD00\uACC4\uB294 \uAD00\uB828 \uD074\uB798\uC2A4 {2}\uC758 \uB9E4\uD551\uB41C \uAE30\uBCF8 \uB610\uB294 \uBCF4\uC870 \uD14C\uC774\uBE14 \uC911 \uD558\uB098\uAC00 \uC544\uB2CC {0} \uC5F4\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4. \n\uD14C\uC774\uBE14 \uB9E4\uD551 \uB610\uB294 \uAD00\uACC4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=class name -util.validation.column_not_found=JDO72339:{1} \uD074\uB798\uC2A4\uC758 \uBCF4\uC870 \uD14C\uC774\uBE14 \uC124\uC815\uC5D0 \uD574\uB2F9\uD558\uB294 \uCC38\uC870 \uD0A4 \uC30D {0}\uC758 \uC5F4\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uACE0 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_not_found_related=JDO72340:{2} \uD074\uB798\uC2A4\uC758 {1} \uD544\uB4DC \uB9E4\uD551\uC5D0 \uC0AC\uC6A9\uB418\uB294 {0} \uC5F4\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uACE0 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_invalid=JDO72341:{2} \uD074\uB798\uC2A4\uC758 {1} \uAD00\uACC4\uC5D0 \uD574\uB2F9\uD558\uB294 \uD0A4 \uC30D {0}\uC5D0\uC11C \uC5F4\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uACE0 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. - -# Validation messages for key class elements - -# Validation message for a wrong key class name -# {0}=key class name -# {1}=pc class name -util.validation.key_class_invalid=JDO72342:{0}\uC740(\uB294) \uBD80\uC801\uD569\uD55C \uD0A4 \uD074\uB798\uC2A4 \uC774\uB984\uC785\uB2C8\uB2E4. \uB0B4\uBD80 \uD074\uB798\uC2A4\uC758 \uD074\uB798\uC2A4 {1}.Oid \uB610\uB294 \uBCC4\uB3C4 \uD074\uB798\uC2A4\uC758 {1}Key \uC774\uB984\uC744 \uBCC0\uACBD\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343:{0} \uD074\uB798\uC2A4\uC758 \uD0A4 \uD074\uB798\uC2A4 \uC18D\uC131\uC774 \uC124\uC815\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4 \uC18D\uC131\uC744 \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344:{1} \uD074\uB798\uC2A4\uC758 \uD0A4 \uD074\uB798\uC2A4 {0}\uC774(\uAC00) \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4\uB97C \uC815\uC758\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345:{1} \uD074\uB798\uC2A4\uC758 \uD0A4 \uD074\uB798\uC2A4 {0}\uC740(\uB294) \uACF5\uC6A9\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4\uC758 \uC218\uC815 \uD0A4\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346:{1} \uD074\uB798\uC2A4\uC758 \uD0A4 \uD074\uB798\uC2A4 {0}\uC740(\uB294) java.io.Serializable\uC744 \uAD6C\uD604\uD574\uC57C \uD569\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4\uC758 \uC778\uD130\uD398\uC774\uC2A4\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347:{1} \uD074\uB798\uC2A4\uC758 \uD0A4 \uD074\uB798\uC2A4 {0}\uC774(\uAC00) \uB0B4\uBD80 \uD074\uB798\uC2A4\uB85C \uC815\uC758\uB41C \uACBD\uC6B0 \uD0A4 \uD074\uB798\uC2A4\uB294 \uC815\uC801\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4\uC758 \uC218\uC815 \uD0A4\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348:\uD0A4 \uD074\uB798\uC2A4 {1}\uC758 \uBE44\uC815\uC801 \uD544\uB4DC {0}\uC758 \uC720\uD615\uC740 \uC6D0\uC2DC, \uBB38\uC790\uC5F4, \uC22B\uC790 \uB610\uB294 \uB0A0\uC9DC \uC720\uD615\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4 \uD544\uB4DC\uC758 \uC720\uD615\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class field must be public -# {0}=key class field name -# {1}=key class name -util.validation.key_field_public=JDO72349:\uD0A4 \uD074\uB798\uC2A4 {1}\uC758 \uBE44\uC815\uC801 \uD544\uB4DC {0}\uC740(\uB294) \uACF5\uC6A9\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4 \uD544\uB4DC\uC758 \uC218\uC815 \uD0A4\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class field must have the same type as the pc -# class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350:\uD0A4 \uD074\uB798\uC2A4 {1}\uC758 {0} \uD544\uB4DC\uB294 \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4 {2}\uC758 \uD574\uB2F9 \uD544\uB4DC\uC640 \uAC19\uC740 \uC720\uD615\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4 \uD544\uB4DC\uC758 \uC720\uD615\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351:{0} \uD074\uB798\uC2A4\uC758 \uBAA8\uB4E0 \uD0A4 \uD544\uB4DC\uB294 \uD0A4 \uD074\uB798\uC2A4 {1}\uC5D0 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4\uC5D0 \uB2E4\uC74C \uD0A4 \uD544\uB4DC \uCD94\uAC00: {2}. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352:{1} \uD074\uB798\uC2A4\uC758 \uD0A4 \uD074\uB798\uC2A4 {0}\uC740(\uB294) \uAE30\uBCF8 \uAD6C\uC131\uC790 \uB610\uB294 \uC778\uC218 \uC5C6\uB294 \uAD6C\uC131\uC790\uAC00 \uB420 \uC218 \uC788\uB294 \uACF5\uC6A9 \uAD6C\uC131\uC790\uB97C \uC815\uC758\uD574\uC57C \uD569\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4\uC5D0 \uC778\uC218 \uC5C6\uB294 \uAD6C\uC131\uC790\uB97C \uCD94\uAC00\uD558\uC2ED\uC2DC\uC624. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353:{1} \uD074\uB798\uC2A4\uC758 \uD0A4 \uD074\uB798\uC2A4 {0}\uC740(\uB294) java.lang.Object\uC758 equals \uBA54\uC18C\uB4DC\uB97C \uB300\uCCB4\uD574\uC57C \uD569\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4\uC5D0\uC11C equals \uBA54\uC18C\uB4DC\uB97C \uAD6C\uD604\uD558\uC2ED\uC2DC\uC624. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354:{1} \uD074\uB798\uC2A4\uC758 \uD0A4 \uD074\uB798\uC2A4 {0}\uC740(\uB294) java.lang.Object\uC758 hashCode \uBA54\uC18C\uB4DC\uB97C \uB300\uCCB4\uD574\uC57C \uD569\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4\uC5D0\uC11C hashCode \uBA54\uC18C\uB4DC\uB97C \uAD6C\uD604\uD558\uC2ED\uC2DC\uC624. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356:{0} \uD074\uB798\uC2A4\uC758 \uBC84\uC804 \uD544\uB4DC\uB294 \uB2E8 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4.\n\uBC84\uC804 \uD544\uB4DC \uC18D\uC131\uC744 \uAE30\uC874 \uD544\uB4DC\uB85C \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357:\uAD00\uACC4 \uD544\uB4DC {0}\uC740(\uB294) \uBC84\uC804 \uD544\uB4DC\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uAD00\uACC4 \uD544\uB4DC\uAC00 \uC544\uB2CC \uD544\uB4DC\uB97C \uBC84\uC804 \uD544\uB4DC\uB85C \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358:\uBC84\uC804 \uD544\uB4DC {0}\uC5D0\uB294 \uBD80\uC801\uD569\uD55C \uC778\uCD9C \uADF8\uB8F9\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBC84\uC804 \uD544\uB4DC\uB294 \uAE30\uBCF8 \uC778\uCD9C \uADF8\uB8F9\uC5D0 \uC18D\uD574\uC57C \uD569\uB2C8\uB2E4.\n\uC778\uCD9C \uADF8\uB8F9\uC744 ''Default''\uB85C \uC124\uC815\uD558\uAC70\uB098 \uB2E4\uB978 \uBC84\uC804 \uD544\uB4DC\uB97C \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359:{0} \uD544\uB4DC\uB294 \uBC84\uC804 \uD544\uB4DC\uB85C \uC815\uC758\uB418\uAE30 \uB54C\uBB38\uC5D0 \uD0A4 \uD544\uB4DC\uAC00 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uB2E4\uB978 \uBC84\uC804 \uD544\uB4DC\uB97C \uC120\uD0DD\uD558\uAC70\uB098 \uD0A4 \uD544\uB4DC \uC18D\uC131\uC744 false\uB85C \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360:\uBC84\uC804 \uD544\uB4DC {0}\uC740(\uB294) ''long'' \uC720\uD615\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uD544\uB4DC\uC758 \uC720\uD615\uC744 ''long''\uC73C\uB85C \uBCC0\uACBD\uD558\uAC70\uB098 \uB2E4\uB978 \uBC84\uC804 \uD544\uB4DC\uB97C \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361:\uBC84\uC804 \uD544\uB4DC {0}\uC740(\uB294) \uB2E8 \uD558\uB098\uC758 \uC5F4\uC5D0 \uB9E4\uD551\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uD544\uB4DC\uC758 \uC5F4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362:\uBC84\uC804 \uD544\uB4DC {1}\uC740(\uB294) {2} \uD074\uB798\uC2A4\uC758 \uAE30\uBCF8 \uD14C\uC774\uBE14\uC5D0 \uC5C6\uB294 {0} \uC5F4\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4.\n\uC5F4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uB2E4\uB978 \uBC84\uC804 \uD544\uB4DC\uB97C \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363:{2} \uD074\uB798\uC2A4\uC758 \uBC84\uC804 \uD544\uB4DC {1}\uC740(\uB294) \uB110\uC774 \uC544\uB2CC \uC22B\uC790 \uAC12\uB9CC\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 {0} \uC5F4\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uB2E4\uB978 \uBC84\uC804 \uD544\uB4DC\uB97C \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364:{2} \uD074\uB798\uC2A4\uC758 \uBC84\uC804 \uD544\uB4DC {1}\uC740(\uB294) \uAE30\uBCF8 \uD0A4\uC758 \uC77C\uBD80\uAC00 \uC544\uB2CC {0} \uC5F4\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uB2E4\uB978 \uBC84\uC804 \uD544\uB4DC\uB97C \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364:{2} \uD074\uB798\uC2A4\uC758 \uBC84\uC804 \uD544\uB4DC {1}\uC740(\uB294) \uC678\uB798 \uD0A4\uC758 \uC77C\uBD80\uAC00 \uC544\uB2CC {0} \uC5F4\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uB2E4\uB978 \uBC84\uC804 \uD544\uB4DC\uB97C \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365:\uBC84\uC804 \uD544\uB4DC {0}\uC5D0 \uBD80\uC801\uD569\uD55C \uC5F4 \uB9E4\uD551\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBC84\uC804 \uD544\uB4DC\uB294 \uAD00\uB9AC \uB300\uC0C1 \uD544\uB4DC\uAC00 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC5F4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uB2E4\uB978 \uBC84\uC804 \uD544\uB4DC\uB97C \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. - -# IMPORTANT: The highest message ID for the validation section is -# -# JDO72365 -# -# Please update this as necessary. - -# logging messages - not brandable for ejb context at this time -model.parse_error=\uC9C0\uC18D\uC131 \uAC80\uC99D \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. diff --git a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_pt_BR.properties deleted file mode 100644 index 5cab29e0bd5..00000000000 --- a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_pt_BR.properties +++ /dev/null @@ -1,443 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Some of the messages from this file are overridden in -# mapping/ejb/src/com/sun/jdo/api/persistence/model/Bundle_ejb.properties -# and -# support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 72. -# -# This file is divided into the following sections: -# 0. Top level model messages. -# 1. JDO model messages. -# 2. Mapping model messages. -# 3. Validation messages. -# -# IMPORTANT: When adding a new message in the validation section, -# realize that it is split into the following sub sections: -# classes -# fields -# database elements -# key class elements -# Since the messages should be grouped by sub section, the order of messageID's -# may not be sequential, so the last numbered message ID for the section -# is stored in a comment at the end of the entire validation section. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - - -############################################################################### -# -# Message ID Range: JDO72000 - JDO72099 -############################################################################### -# Model messages for loading/storing xml files -# {0}=class name -file.cannot_save=JDO72000:N\u00E3o \u00E9 poss\u00EDvel salvar o arquivo para a classe {0} -file.incompatible_version=JDO72001:Vers\u00E3o incompat\u00EDvel do arquivo de mapeamento; remapear a classe {0} -file.cannot_read=JDO72002:N\u00E3o \u00E9 poss\u00EDvel ler o arquivo de mapeamento para classe {0}; a exce\u00E7\u00E3o \u00E9 {1} - -# RuntimeModel messages for class loader handling -# {0}=class name -classloader.multiple=JDO72003: Classe {0} carregada por m\u00FAltiplos carregadores de classe - -# RuntimeModel message for dbschema loading -# {0}=schema name -# {1}=class name -dbschema.not_found=JDO72004:O esquema {0} para a classe {1} n\u00E3o foi encontrado - -############################################################################### -# -# Message ID Range: JDO72100 - JDO72199 -############################################################################### -# JDO PersistenceClassElement messages -# {0}=key class name, {1}=class name -jdo.class.key_class_invalid=JDO72100:{0} \u00E9 uma classe de chave inv\u00E1lida para a classe {1}. Os nomes de classes de chave v\u00E1lidas s\u00E3o {1}.Oid e {1}Key. - -# JDO RelationshipElement messages -# {0}=action value -jdo.relationship.update_action_invalid=JDO72101: {0} \u00E9 uma a\u00E7\u00E3o inv\u00E1lida de atualiza\u00E7\u00E3o -# {0}=action value -jdo.relationship.delete_action_invalid=JDO72102: {0} \u00E9 uma a\u00E7\u00E3o inv\u00E1lida de dele\u00E7\u00E3o -jdo.relationship.lower_cardinality_invalid=JDO72103:O limite inferior n\u00E3o pode ser negativo ou maior que o limite superior -jdo.relationship.upper_cardinality_invalid=JDO72104:O limite superior n\u00E3o pode ser zero ou menor que o limite inferior - -# JDO ConcurrencyGroupElement default name -jdo.concurrency_group.default=Default - - -############################################################################### -# -# Message ID Range: JDO72200 - JDO72299 -############################################################################### -# Mapping model generic messages for managing elements -mapping.element.null_argument=JDO72200:N\u00E3o \u00E9 poss\u00EDvel adicionar/remover o elemento: argumento nulo fornecido -# {0}=element name -mapping.element.element_not_removed=JDO72201:O elemento {0} n\u00E3o foi removido - -# Mapping model messages for managing tables -# {0}=table name -mapping.table.foreign_key_not_found=JDO72202:N\u00E3o \u00E9 poss\u00EDvel adicionar a tabela {0}: chave estrangeira n\u00E3o encontrada -# {0}=table name -mapping.table.primary_table_defined=JDO72203:N\u00E3o \u00E9 poss\u00EDvel adicionar a tabela principal {0}: tabela principal j\u00E1 definida -# {0}=parent table name -mapping.table.parent_table_not_found=JDO72204:N\u00E3o \u00E9 poss\u00EDvel adicionar a tabela {0}: tabela m\u00E3e n\u00E3o encontrada no mapeamento -# {0}=secondary table name, {1}=parent table name -mapping.table.secondary_table_defined=JDO72205:N\u00E3o \u00E9 poss\u00EDvel adicionar a tabela {0}: tabela secund\u00E1ria {0} j\u00E1 definida para a tabela principal {1} -# {0}=primary table name, {1}=schema name -mapping.table.schema_mismatch=JDO72206: N\u00E3o \u00E9 poss\u00EDvel adicionar a tabela principal {0}: a tabela principal n\u00E3o existe no esquema {1} - -# Mapping model messages for managing columns -# {0}=column name -mapping.column.column_defined=JDO72207:N\u00E3o \u00E9 poss\u00EDvel adicionar a coluna {0}: a coluna j\u00E1 est\u00E1 definida. -# {0}=column name -mapping.column.associated_columns_defined=JDO72208:N\u00E3o \u00E9 poss\u00EDvel adicionar a coluna {0}: as colunas associadas j\u00E1 est\u00E3o definidas. -# {0}=column name -mapping.column.column_invalid=JDO72209: {0} \u00E9 uma coluna inv\u00E1lida - deve ser um par de colunas - -# General validation messages -# Validation warning prefix (prepended to some of the messages below) -util.validation.warning=Advert\u00EAncia: - -############################################################################### -# -# Message ID Range: JDO72300 - JDO72399 -############################################################################### -# Validation messages for classes -# Validation message for class not found -# {0}=class name -util.validation.class_not_found=JDO72300:N\u00E3o \u00E9 poss\u00EDvel localizar a classe {0}.\nRestaure a classe. -# Validation message for related class not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301:N\u00E3o \u00E9 poss\u00EDvel localizar a classe relacionada {0} para o campo {1}.\nRestaure a classe. -# Validation message for class not persistence-capable -# {0}=class name -util.validation.class_not_persistence_capable=JDO72302:A classe "{0}" n\u00E3o \u00E9 de capacidade de persist\u00EAncia.\nConverta a classe para ter a capacidade de persist\u00EAncia. -# Validation message for related class not persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303:A classe {0} relacionada para o campo {1} n\u00E3o \u00E9 de capacidade de persist\u00EAncia.\nConverta a classe para ter a capacidade de persist\u00EAncia. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304:A classe "{0}" n\u00E3o tem a permiss\u00E3o de ser de capacidade de persist\u00EAncia.\nReverta a classe com capacidade de persist\u00EAncia ou verifique as regras e atualize a classe. -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: A classe {0} relacionada para o campo {1} n\u00E3o tem a permiss\u00E3o de ser de capacidade de persist\u00EAncia.\nReverta a classe com capacidade de persist\u00EAncia ou verifique as regras e atualize a classe. -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306:A classe {0} implementa o java.io.Serializable, portanto, tamb\u00E9m \u00E9 necess\u00E1rio definir o m\u00E9todo readObject (consulte java.io.Serializable) para assegurar o aprimoramento adequado.\nAdicione o m\u00E9todo readObject \u00E0 classe. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307:A classe {0} implementa o java.io.Serializable, portanto, tamb\u00E9m precisa definir o m\u00E9todo writeObject (consulte java.io.Serializable) para assegurar o aprimoramento adequado.\nAdicione o m\u00E9todo writeObject \u00E0 classe. -# Validation message for class which has no persistent fields -# {0}=class name -util.validation.class_no_fields=JDO72308:A classe {0} deve ter ao menos um campo persistente.\nDefina a propriedade persistente como verdadeira para um campo existente ou adicione um campo e defina sua propriedade de persist\u00EAncia como verdadeira. -# Validation message for class which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309:A classe {0} n\u00E3o est\u00E1 mapeada.\nDefina a tabela principal para a classe. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310:Todas as colunas de chave prim\u00E1ria na tabela principal {1} da classe {0} precisam ser mapeadas para campos chave.\nMapeie as seguintes colunas de chave prim\u00E1ria para campos chave: {2}. Caso j\u00E1 tenha campos mapeados para esta colunas, verifique se eles s\u00E3o campos chave. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311:O campo {0} foi especificado como persistente, mas ele n\u00E3o est\u00E1 no arquivo .java.\nAdicione o campo ao arquivo .java e assegure que seja persistente. -# Validation message for field not allowed to be persistent -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312:O campo "{0}" n\u00E3o tem a permiss\u00E3o de ser persistente.\nAltere a propriedade do campo persistente para falso. -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313:O campo {0} \u00E9 inconsistente.\nAltere a propriedade do campo persistente para falso, e a seguir de volta para verdadeiro. -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314:O campo {0} \u00E9 inconsistente.\nVerifique se o campo \u00E9 persistente. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315:O campo "{0}" n\u00E3o tem a permiss\u00E3o de ser um relacionamento.\nAltere o tipo do campo para ser do tipo encapsulador ou primitivo.\nSe o tipo estiver correto, altere a propriedade do campo persistente para falso, e a seguir de volta para verdadeiro. -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316:O campo "{0}" deve ser um relacionamento.\nAltere o tipo do campo para conjunto ou outra classe com capacidade de persist\u00EAncia.\nSe o tipo estiver correto, altere a propriedade do campo persistente para falso, e a seguir de volta para verdadeiro. -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317:O campo {0} tem um grupo de extra\u00E7\u00E3o inv\u00E1lido. O default n\u00E3o \u00E9 um grupo de extra\u00E7\u00E3o para campos gerenciados.\nSelecione outro grupo de busca. -# Validation message for field which is not mapped -# {0}=field name -util.validation.field_not_mapped=JDO72318:O campo {0} n\u00E3o est\u00E1 mapeado.\nSelecione o mapeamento de colunas para o campo. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319:O campo {0} n\u00E3o tem a permiss\u00E3o de ser um campo chave, j\u00E1 que seu mapeamento cont\u00E9m uma coluna de objeto grande (ex: BLOB/CLOB).\nAtualize o mapeamento de colunas ou defina a propriedade do campo-chave como falsa. -# Validation message for field in the default fetch group which is mapped to a -# blob or clob column -# {0}=field name -util.validation.field_fetch_group_not_allowed=JDO72320:O campo {0} tem um grupo de extra\u00E7\u00E3o inv\u00E1lido. O default n\u00E3o \u00E9 um grupo de extra\u00E7\u00E3o v\u00E1lido para campos mapeados para colunas de objetos grandes (ex: BLOB/CLOB).\nSelecione outro grupo de extra\u00E7\u00E3o ou atualize o mapeamento de colunas. -# Validation message for managed (multiple fields to same column) field which -# has a non exact column match -# {0}=field name -# {1}=other field name -util.validation.field_mapping_invalid=JDO72321:O campo {0} tem um mapeamento inv\u00E1lido. Seu mapeamento sobrep\u00F5e parcialmente o mapeamento do campo {1}. O mapeamento precisa ser id\u00EAntico ou n\u00E3o conter sobreposi\u00E7\u00F5es.\nAtualize o mapeamento de colunas de um ou ambos os campos. -# Validation message for invalid combination of upper and lower bounds -# {0}=(relationship) field name -util.validation.cardinality_invalid=JDO72322:O campo {0} n\u00E3o tem limites inferiores e superiores v\u00E1lidos.\nAtualize os limites para que o superior seja maior que 0 e maior ou igual ao inferior e que o limite inferior n\u00E3o seja negativo. -# Validation message for a relationship field with lower bound 0 mapped to -# at least one non-nullable column -# {0}=(relationship) field name -util.validation.lower_bound_invalid=JDO72323:O campo {0} n\u00E3o tem um limite inferior v\u00E1lido.\n Um relacionamento mapeado para uma chave estrangeira com uma ou mais colunas n\u00E3o anul\u00E1veis precisam ter um limite inferior de 1.\nAtualize o limite inferior para 1. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324:The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324:O campo {0} tem uma classe de conjunto inv\u00E1lida.\nAtualize o tipo de relacionamento para que seja um conjunto definido ou gen\u00E9rico ou defina a propriedade persistente como falsa. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325:O campo {0} n\u00E3o tem uma classe relacionada definida, mas est\u00E1 mapeado \u00E0s colunas.\nAtualize a classe relacionada ou cancele o mapeamento do relacionamento. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326:O campo {0} tem um campo relacionado inv\u00E1lido {1}. Os campos relacionados precisam ser definidos para ambos os campos de relacionamento.\nCancele a defini\u00E7\u00E3o da propriedade do campo relacionado para este campo ou defina a propriedade de campo relacionado para o campo relacionado. -# Validation message for inverse field which does not exist in the related class -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related class name -util.validation.related_class_mismatch=JDO72327:O campo {0} tem um campo relacionado {1} que n\u00E3o existe na classe relacionada {2}.\nAtualize a classe relacionada e atualize o campo relacionado se for necess\u00E1rio. -# Validation message for inverse field set and no related class set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328:O campo {0} n\u00E3o possui uma classe relacionada definida, mas possui um campo relacionado {1}.\nAtualize a classe relacionada ou defina o campo relacionado como Nenhum. -# Validation message for field & inverse field which have non-inverse mappings -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_mapping_mismatch=JDO72329:O campo {0} tem um mapeamento que n\u00E3o \u00E9 o inverso exato do mapeamento de seu campo relacionado {1}.\nDefina o campo relacionado para ambos os campos de relacionamento como Nenhum, cancele o mapeamento de um dos campos, e a seguir redefina o campo relacionado. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=class name -util.validation.schema_not_found=JDO72331: N\u00E3o \u00E9 poss\u00EDvel localizar o esquema {0} para a classe {1}.\nRestaure o arquivo de esquema. -# Validation message for related schema not found -# {0}=schema name -# {1}=related class name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: N\u00E3o \u00E9 poss\u00EDvel localizar o esquema {0} para a classe relacionada {1} do campo {2}.\nRestaure o arquivo de esquema. -# Validation message for schema not set but primary table set -# {0}=class name -util.validation.schema_not_set=JDO72333:A classe {0} n\u00E3o tem um esquema definido, mas est\u00E1 mapeada \u00E0s tabelas.\nAtualize a propriedade do esquema mapeado para a classe ou cancele o mapeamento da tabela principal. -# Validation message for schemas don't match -# {0}=class name -# {1}=related class name -# {2}=field name -util.validation.schema_mismatch=JDO72334:Os esquemas para a classe {0} e sua classe relacionada {1} do campo {2} devem ser correspondentes.\nAtualize a propriedade do esquema mapeado de uma das classes. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=class name -util.validation.table_no_primarykey=JDO72335:Se a tabela {0} para a classe {1} estiver mapeada como a tabela principal, ela precisa ter uma chave prim\u00E1ria.\nEscolha outra tabela principal ou verifique se o conte\u00FAdo do arquivo de esquema est\u00E1 correto. -# Validation message for table not found -# {0}=table name -# {1}=class name -util.validation.table_not_found=JDO72336:N\u00E3o \u00E9 poss\u00EDvel localizar a tabela {0} para a classe {1}.\nVerifique se o arquivo de esquema existe e se o conte\u00FAdo est\u00E1 correto. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337:N\u00E3o \u00E9 poss\u00EDvel localizar a tabela {0} para a classe relacionada do campo {1}.\nVerifique se o arquivo de esquema existe e se o conte\u00FAdo est\u00E1 correto. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.table_mismatch=JDO72355:O relacionamento {1} est\u00E1 mapeado \u00E0 coluna {0} que n\u00E3o \u00E9 uma das tabelas principais ou secund\u00E1rias mapeadas para a classe {2}. \nAtualize o mapeamento da tabela ou o mapeamento do relacionamento. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.table_mismatch_related=JDO72338:O relacionamento {1} est\u00E1 mapeado \u00E0 coluna {0} que n\u00E3o \u00E9 uma das tabelas principais ou secund\u00E1rias mapeadas para a classe relacionada {2}. \nAtualize o mapeamento da tabela ou o mapeamento do relacionamento. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=class name -util.validation.column_not_found=JDO72339:N\u00E3o \u00E9 poss\u00EDvel localizar as colunas em um par de chaves referenciadas {0} para a configura\u00E7\u00E3o da tabela secund\u00E1ria da classe {1}.\nVerifique se o arquivo de esquema existe e se o conte\u00FAdo est\u00E1 correto. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_not_found_related=JDO72340:N\u00E3o \u00E9 poss\u00EDvel localizar a coluna {0} para mapear o campo {1} na classe {2}.\nVerifique se o arquivo de esquema existe e se o conte\u00FAdo est\u00E1 correto. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_invalid=JDO72341:N\u00E3o \u00E9 poss\u00EDvel localizar as colunas no par de chaves {0} para o relacionamento {1} na classe {2}.\nVerifique se o arquivo de esquema existe e se o conte\u00FAdo est\u00E1 correto. - -# Validation messages for key class elements - -# Validation message for a wrong key class name -# {0}=key class name -# {1}=pc class name -util.validation.key_class_invalid=JDO72342:{0} \u00E9 um nome de classe chave inv\u00E1lido. Renomeie a classe {1}. Oid para uma classe interna ou {1}Key para uma classe separada. -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343:A propriedade da classe chave para a classe {0} n\u00E3o est\u00E1 definida.\nDefina a propriedade da classe chave. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344:A classe chave {0} para a classe {1} n\u00E3o existe.\nDefina a classe chave. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345:A classe chave {0} para a classe {1} precisa ser p\u00FAblica.\nAtualize os modificadores da classe chave. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346:A classe chave {0} para a classe {1} precisa implementar o java.io.Serializable.\nAtualize as interfaces da classe chave. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347:Se a classe chave {0} para a classe {1} for definida como uma classe interna, ela precisa ser est\u00E1tica.\nAtualize os modificadores da classe chave. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348:O tipo de campo n\u00E3o est\u00E1tico {0} da classe chave {1} precisa ser primitivo, String, um tipo de N\u00FAmero ou um tipo de Data.\nAtualize o tipo do campo da classe chave. -# Validation message for key class field must be public -# {0}=key class field name -# {1}=key class name -util.validation.key_field_public=JDO72349:O campo n\u00E3o est\u00E1tico {0} da classe chave {1} precisa ser p\u00FAblico.\nAtualize os modificadores do campo da classe chave. -# Validation message for key class field must have the same type as the pc -# class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350:O campo {0} da classe chave {1} precisa ter o mesmo tipo que o campo correspondente na classe com capacidade de persist\u00EAncia {2}.\nAtualize o tipo do campo da classe chave. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351:Todos os campos chave da classe {0} precisam estar presentes na classe chave {1}.\nAdicione os seguintes campos chave \u00E0 classe chave: {2}. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352:A classe chave {0} para a classe {1} precisa definir um construtor p\u00FAblico que poderia ser o construtor default ou um construtor n\u00E3o-arg.\nAdicione um construtor n\u00E3o-arg \u00E0 classe chave. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353:A classe chave {0} para a classe {1} precisa substituir o m\u00E9todo de igualdade do java.lang.Object.\nImplemente o m\u00E9todo de igualdade na classe chave. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354:A classe chave {0} para a classe {1} precisa substituir o m\u00E9todo hashCode do java.lang.Object.\nImplemente o m\u00E9todo hashCode na classe chave. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356:A classe {0} precisa ter exatamente um campo de vers\u00E3o.\nDefina a propriedade do campo de vers\u00E3o para um campo existente. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357:O campo de relacionamento "{0}" n\u00E3o possui permiss\u00E3o para ser um campo de vers\u00E3o.\nEscolha um campo de n\u00E3o relacionamento para ser o campo de vers\u00E3o. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358:O campo de vers\u00E3o {0} tem um grupo de extra\u00E7\u00E3o inv\u00E1lido. Os campos de vers\u00E3o precisam pertencer ao grupo de extra\u00E7\u00E3o default.\nDefina o grupo de extra\u00E7\u00E3o como "default" ou selecione outro campo de vers\u00E3o. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359:O campo {0} n\u00E3o possui permiss\u00E3o para ser um campo chave, j\u00E1 que est\u00E1 definido como um campo de vers\u00E3o.\nEscolha outro campo de vers\u00E3o ou defina a propriedade do campo chave para falsa. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360:O campo de vers\u00E3o "{0}" precisa ser do tipo "longo".\nAltere o tipo do campo para "longo" ou selecione outro campo de vers\u00E3o. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361:O campo de vers\u00E3o {0} precisa ser mapeado para exatamente uma coluna.\n\\Atualize o mapeamento de colunas para o campo. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362:O campo de vers\u00E3o {1} est\u00E1 mapeado para a coluna {0} que n\u00E3o est\u00E1 na tabela principal para a classe {2}.\nAtualize o mapeamento de colunas ou selecione outro campo de vers\u00E3o. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363:O campo de vers\u00E3o {1} na classe {2} est\u00E1 mapeado \u00E0 coluna {0} que pode ser n\u00E3o anul\u00E1vel ou n\u00E3o num\u00E9rico.\nAtualize o esquema ou selecione outro campo de vers\u00E3o. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364:O campo de vers\u00E3o {1} na classe {2} est\u00E1 mapeado \u00E0 coluna {0} que pode n\u00E3o fazer parte da chave prim\u00E1ria.\nAtualize o esquema ou selecione outro campo de vers\u00E3o. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364:O campo de vers\u00E3o {1} na classe {2} est\u00E1 mapeado \u00E0 coluna {0} que pode n\u00E3o fazer parte de uma chave estrangeira.\nAtualize o esquema ou selecione outro campo de vers\u00E3o. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365:O campo de vers\u00E3o {0} tem um mapeamento de colunas inv\u00E1lido. Os campos de vers\u00E3o n\u00E3o podem ser campos gerenci\u00E1veis.\nAtualize o mapeamento de colunas ou selecione outro campo de vers\u00E3o. - -# IMPORTANT: The highest message ID for the validation section is -# -# JDO72365 -# -# Please update this as necessary. - -# logging messages - not brandable for ejb context at this time -model.parse_error=Ocorreram erros durante a valida\u00E7\u00E3o de persist\u00EAncia. diff --git a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_zh_CN.properties deleted file mode 100644 index d12fbd34612..00000000000 --- a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_zh_CN.properties +++ /dev/null @@ -1,443 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Some of the messages from this file are overridden in -# mapping/ejb/src/com/sun/jdo/api/persistence/model/Bundle_ejb.properties -# and -# support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 72. -# -# This file is divided into the following sections: -# 0. Top level model messages. -# 1. JDO model messages. -# 2. Mapping model messages. -# 3. Validation messages. -# -# IMPORTANT: When adding a new message in the validation section, -# realize that it is split into the following sub sections: -# classes -# fields -# database elements -# key class elements -# Since the messages should be grouped by sub section, the order of messageID's -# may not be sequential, so the last numbered message ID for the section -# is stored in a comment at the end of the entire validation section. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - - -############################################################################### -# -# Message ID Range: JDO72000 - JDO72099 -############################################################################### -# Model messages for loading/storing xml files -# {0}=class name -file.cannot_save=JDO72000: \u65E0\u6CD5\u4FDD\u5B58\u7C7B {0} \u7684\u6587\u4EF6 -file.incompatible_version=JDO72001: \u6620\u5C04\u6587\u4EF6\u7248\u672C\u4E0D\u517C\u5BB9; \u8BF7\u91CD\u65B0\u6620\u5C04\u7C7B {0} -file.cannot_read=JDO72002: \u65E0\u6CD5\u8BFB\u53D6\u7C7B {0} \u7684\u6620\u5C04\u6587\u4EF6; \u51FA\u73B0\u5F02\u5E38\u9519\u8BEF{1} - -# RuntimeModel messages for class loader handling -# {0}=class name -classloader.multiple=JDO72003: \u7C7B {0} \u7531\u591A\u4E2A\u7C7B\u52A0\u8F7D\u5668\u52A0\u8F7D - -# RuntimeModel message for dbschema loading -# {0}=schema name -# {1}=class name -dbschema.not_found=JDO72004: \u672A\u627E\u5230\u7C7B {1} \u7684\u6A21\u5F0F {0} - -############################################################################### -# -# Message ID Range: JDO72100 - JDO72199 -############################################################################### -# JDO PersistenceClassElement messages -# {0}=key class name, {1}=class name -jdo.class.key_class_invalid=JDO72100: \u5BF9\u4E8E\u7C7B {1}, {0} \u4E3A\u65E0\u6548\u952E\u7C7B\u3002\u6709\u6548\u952E\u7C7B\u540D\u4E3A {1}.Oid \u548C {1}Key\u3002 - -# JDO RelationshipElement messages -# {0}=action value -jdo.relationship.update_action_invalid=JDO72101: {0}\u4E3A\u65E0\u6548\u66F4\u65B0\u64CD\u4F5C -# {0}=action value -jdo.relationship.delete_action_invalid=JDO72102: {0}\u4E3A\u65E0\u6548\u5220\u9664\u64CD\u4F5C -jdo.relationship.lower_cardinality_invalid=JDO72103: \u4E0B\u9650\u4E0D\u80FD\u4E3A\u8D1F\u6570\u6216\u5927\u4E8E\u4E0A\u9650 -jdo.relationship.upper_cardinality_invalid=JDO72104: \u4E0A\u9650\u4E0D\u80FD\u4E3A\u96F6, \u8D1F\u6570\u6216\u5C0F\u4E8E\u4E0B\u9650 - -# JDO ConcurrencyGroupElement default name -jdo.concurrency_group.default=\u9ED8\u8BA4\u503C - - -############################################################################### -# -# Message ID Range: JDO72200 - JDO72299 -############################################################################### -# Mapping model generic messages for managing elements -mapping.element.null_argument=JDO72200: \u65E0\u6CD5\u6DFB\u52A0/\u5220\u9664\u5143\u7D20: \u63D0\u4F9B\u7684\u53C2\u6570\u4E3A\u7A7A\u503C -# {0}=element name -mapping.element.element_not_removed=JDO72201: \u672A\u5220\u9664\u5143\u7D20 {0} - -# Mapping model messages for managing tables -# {0}=table name -mapping.table.foreign_key_not_found=JDO72202: \u65E0\u6CD5\u6DFB\u52A0\u8868 {0}: \u627E\u4E0D\u5230\u5916\u952E -# {0}=table name -mapping.table.primary_table_defined=JDO72203: \u65E0\u6CD5\u6DFB\u52A0\u4E3B\u8868 {0}: \u4E3B\u8868\u5DF2\u5B9A\u4E49 -# {0}=parent table name -mapping.table.parent_table_not_found=JDO72204: \u65E0\u6CD5\u6DFB\u52A0\u8868 {0}: \u672A\u5728\u6620\u5C04\u4E2D\u627E\u5230\u7236\u8868 -# {0}=secondary table name, {1}=parent table name -mapping.table.secondary_table_defined=JDO72205: \u65E0\u6CD5\u6DFB\u52A0\u8868 {0}: \u5DF2\u4E3A\u7236\u8868 {1} \u5B9A\u4E49\u8F85\u52A9\u8868 {0} -# {0}=primary table name, {1}=schema name -mapping.table.schema_mismatch=JDO72206: \u65E0\u6CD5\u6DFB\u52A0\u4E3B\u8868 {0}: \u6A21\u5F0F {1} \u4E2D\u4E0D\u5B58\u5728\u4E3B\u8868 - -# Mapping model messages for managing columns -# {0}=column name -mapping.column.column_defined=JDO72207: \u65E0\u6CD5\u6DFB\u52A0\u5217 {0}: \u5217\u5DF2\u5B9A\u4E49 -# {0}=column name -mapping.column.associated_columns_defined=JDO72208: \u65E0\u6CD5\u6DFB\u52A0\u5217 {0}: \u76F8\u5173\u5217\u5DF2\u5B9A\u4E49 -# {0}=column name -mapping.column.column_invalid=JDO72209: {0}\u4E3A\u65E0\u6548\u5217 - \u5FC5\u987B\u4E3A\u5217\u5BF9 - -# General validation messages -# Validation warning prefix (prepended to some of the messages below) -util.validation.warning=\u8B66\u544A: - -############################################################################### -# -# Message ID Range: JDO72300 - JDO72399 -############################################################################### -# Validation messages for classes -# Validation message for class not found -# {0}=class name -util.validation.class_not_found=JDO72300: \u627E\u4E0D\u5230\u7C7B {0}\u3002\n\u8BF7\u8FD8\u539F\u8BE5\u7C7B\u3002 -# Validation message for related class not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: \u627E\u4E0D\u5230\u5B57\u6BB5 {1} \u7684\u76F8\u5173\u7C7B {0}\u3002\n\u8BF7\u8FD8\u539F\u8BE5\u7C7B\u3002 -# Validation message for class not persistence-capable -# {0}=class name -util.validation.class_not_persistence_capable=JDO72302: \u7C7B {0} \u4E0D\u5177\u6709\u6301\u4E45\u6027\u3002\n\u8BF7\u5C06\u8BE5\u7C7B\u8F6C\u6362\u4E3A\u5177\u6709\u6301\u4E45\u6027\u7684\u7C7B\u3002 -# Validation message for related class not persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: \u5B57\u6BB5 {1} \u7684\u76F8\u5173\u7C7B {0} \u4E0D\u5177\u6709\u6301\u4E45\u6027\u3002\n\u8BF7\u5C06\u8BE5\u7C7B\u8F6C\u6362\u4E3A\u5177\u6709\u6301\u4E45\u6027\u7684\u7C7B\u3002 -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: \u4E0D\u5141\u8BB8\u7C7B {0} \u5177\u6709\u6301\u4E45\u6027\u3002\n\u8BF7\u5C06\u5176\u4ECE\u5177\u6709\u6301\u4E45\u6027\u6062\u590D\u6216\u67E5\u770B\u89C4\u5219\u5E76\u66F4\u65B0\u8BE5\u7C7B\u3002 -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: \u4E0D\u5141\u8BB8\u5B57\u6BB5 {1} \u7684\u76F8\u5173\u7C7B {0} \u5177\u6709\u6301\u4E45\u6027\u3002\n\u8BF7\u5C06\u5176\u4ECE\u5177\u6709\u6301\u4E45\u6027\u6062\u590D\u6216\u67E5\u770B\u89C4\u5219\u5E76\u66F4\u65B0\u8BE5\u7C7B\u3002 -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: \u7C7B {0} \u5B9E\u73B0 java.io.Serializable, \u56E0\u6B64\u5B83\u8FD8\u5FC5\u987B\u5B9A\u4E49\u65B9\u6CD5 readObject (\u8BF7\u53C2\u9605 java.io.Serializable) \u4EE5\u786E\u4FDD\u6B63\u786E\u589E\u5F3A\u3002\n\u8BF7\u5C06 readObject \u65B9\u6CD5\u6DFB\u52A0\u5230\u8BE5\u7C7B\u3002 -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: \u7C7B {0} \u5B9E\u73B0 java.io.Serializable, \u56E0\u6B64\u5B83\u8FD8\u5FC5\u987B\u5B9A\u4E49\u65B9\u6CD5 writeObject (\u8BF7\u53C2\u9605 java.io.Serializable) \u4EE5\u786E\u4FDD\u6B63\u786E\u589E\u5F3A\u3002\n\u8BF7\u5C06 writeObject \u65B9\u6CD5\u6DFB\u52A0\u5230\u8BE5\u7C7B\u3002 -# Validation message for class which has no persistent fields -# {0}=class name -util.validation.class_no_fields=JDO72308: \u7C7B {0} \u5FC5\u987B\u81F3\u5C11\u6709\u4E00\u4E2A\u6301\u4E45\u6027\u5B57\u6BB5\u3002\n\u8BF7\u5C06\u4E00\u4E2A\u73B0\u6709\u5B57\u6BB5\u7684\u6301\u4E45\u6027\u5C5E\u6027\u8BBE\u7F6E\u4E3A\u201C\u771F\u201D\u6216\u6DFB\u52A0\u4E00\u4E2A\u5B57\u6BB5\u5E76\u5C06\u5176\u6301\u4E45\u6027\u5C5E\u6027\u8BBE\u7F6E\u4E3A\u201C\u771F\u201D\u3002 -# Validation message for class which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: \u672A\u6620\u5C04\u7C7B {0}\u3002\n\u8BF7\u4E3A\u7C7B\u8BBE\u7F6E\u4E3B\u8868\u3002 -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: \u7C7B {0} \u7684\u4E3B\u8868{1}\u4E2D\u7684\u6240\u6709\u4E3B\u952E\u5217\u5747\u5FC5\u987B\u6620\u5C04\u5230\u952E\u5B57\u6BB5\u3002\n\u8BF7\u5C06\u4EE5\u4E0B\u4E3B\u952E\u5217\u6620\u5C04\u5230\u952E\u5B57\u6BB5: {2}\u3002\u5982\u679C\u60A8\u5DF2\u7ECF\u5C06\u5B57\u6BB5\u6620\u5C04\u5230\u8FD9\u4E9B\u5217, \u8BF7\u9A8C\u8BC1\u5B83\u4EEC\u662F\u5426\u4E3A\u952E\u5B57\u6BB5\u3002 - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: \u6307\u5B9A\u5B57\u6BB5 {0} \u4E3A\u6301\u4E45\u6027\u5B57\u6BB5, \u4F46\u8BE5\u5B57\u6BB5\u4E0D\u5728 .java \u6587\u4EF6\u4E2D\u3002\n\u8BF7\u5C06\u8BE5\u5B57\u6BB5\u6DFB\u52A0\u5230 .java \u6587\u4EF6\u4E2D\u5E76\u786E\u4FDD\u5176\u4E3A\u6301\u4E45\u6027\u5B57\u6BB5\u3002 -# Validation message for field not allowed to be persistent -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: \u4E0D\u5141\u8BB8\u5B57\u6BB5 {0} \u4E3A\u6301\u4E45\u6027\u5B57\u6BB5\u3002\n\u8BF7\u5C06\u6301\u4E45\u6027\u5B57\u6BB5\u5C5E\u6027\u66F4\u6539\u4E3A\u201C\u5047\u201D\u3002 -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: \u5B57\u6BB5 {0} \u4E0D\u4E00\u81F4\u3002\n\u8BF7\u5C06\u5176\u6301\u4E45\u6027\u5B57\u6BB5\u5C5E\u6027\u5207\u6362\u4E3A\u201C\u5047\u201D, \u7136\u540E\u518D\u5207\u6362\u56DE\u201C\u771F\u201D\u3002 -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: \u5B57\u6BB5 {0} \u4E0D\u4E00\u81F4\u3002\n\u8BF7\u786E\u4FDD\u8BE5\u5B57\u6BB5\u4E3A\u6301\u4E45\u6027\u5B57\u6BB5\u3002 -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: \u4E0D\u5141\u8BB8\u5B57\u6BB5 {0} \u4E3A\u5173\u7CFB\u5B57\u6BB5\u3002\n\u8BF7\u5C06\u5B57\u6BB5\u7C7B\u578B\u66F4\u6539\u4E3A\u5305\u88C5\u6216\u57FA\u5143\u7C7B\u578B\u3002\n\u5982\u679C\u7C7B\u578B\u6B63\u786E, \u5219\u5C06\u6301\u4E45\u6027\u5B57\u6BB5\u5C5E\u6027\u5207\u6362\u4E3A\u201C\u5047\u201D, \u7136\u540E\u518D\u5207\u6362\u56DE\u201C\u771F\u201D\u3002 -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: \u5B57\u6BB5 {0} \u5FC5\u987B\u4E3A\u5173\u7CFB\u5B57\u6BB5\u3002\n\u8BF7\u5C06\u5B57\u6BB5\u7C7B\u578B\u66F4\u6539\u4E3A\u96C6\u5408\u6216\u5176\u4ED6\u5177\u6709\u6301\u4E45\u6027\u7684\u7C7B\u3002\n\u5982\u679C\u7C7B\u578B\u6B63\u786E, \u5219\u5C06\u6301\u4E45\u6027\u5B57\u6BB5\u5C5E\u6027\u5207\u6362\u4E3A\u201C\u5047\u201D, \u7136\u540E\u518D\u5207\u6362\u56DE\u201C\u771F\u201D\u3002 -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: \u5B57\u6BB5 {0} \u5177\u6709\u65E0\u6548\u83B7\u53D6\u7EC4\u3002\u9ED8\u8BA4\u503C\u4E0D\u662F\u7BA1\u7406\u5B57\u6BB5\u7684\u6709\u6548\u7684\u83B7\u53D6\u7EC4\u3002\n\u8BF7\u9009\u62E9\u5176\u4ED6\u83B7\u53D6\u7EC4\u3002 -# Validation message for field which is not mapped -# {0}=field name -util.validation.field_not_mapped=JDO72318: \u672A\u6620\u5C04\u5B57\u6BB5 {0}\u3002\n\u8BF7\u8BBE\u7F6E\u5B57\u6BB5\u7684\u5217\u6620\u5C04\u3002 -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: \u4E0D\u5141\u8BB8\u5B57\u6BB5 {0} \u4E3A\u952E\u5B57\u6BB5, \u56E0\u4E3A\u5B83\u7684\u6620\u5C04\u4E2D\u5305\u542B\u5927\u5BF9\u8C61 (\u4F8B\u5982 BLOB/CLOB) \u5217\u3002\n\u8BF7\u66F4\u65B0\u5217\u6620\u5C04\u6216\u5C06\u952E\u5B57\u6BB5\u5C5E\u6027\u8BBE\u7F6E\u4E3A\u201C\u5047\u201D\u3002 -# Validation message for field in the default fetch group which is mapped to a -# blob or clob column -# {0}=field name -util.validation.field_fetch_group_not_allowed=JDO72320: \u5B57\u6BB5 {0} \u5177\u6709\u65E0\u6548\u83B7\u53D6\u7EC4\u3002\u9ED8\u8BA4\u503C\u4E0D\u662F\u6620\u5C04\u5230\u5927\u5BF9\u8C61 (\u4F8B\u5982 BLOB/CLOB) \u5217\u7684\u5B57\u6BB5\u7684\u6709\u6548\u83B7\u53D6\u7EC4\u3002\n\u8BF7\u9009\u62E9\u4E0D\u540C\u83B7\u53D6\u7EC4\u6216\u66F4\u65B0\u5217\u6620\u5C04\u3002 -# Validation message for managed (multiple fields to same column) field which -# has a non exact column match -# {0}=field name -# {1}=other field name -util.validation.field_mapping_invalid=JDO72321: \u5B57\u6BB5 {0} \u5177\u6709\u65E0\u6548\u6620\u5C04\u3002\u5B83\u7684\u6620\u5C04\u4E0E\u5B57\u6BB5 {1} \u7684\u6620\u5C04\u90E8\u5206\u91CD\u53E0\u3002\u6620\u5C04\u5FC5\u987B\u5B8C\u5168\u76F8\u540C\u6216\u8005\u4E0D\u5305\u542B\u91CD\u53E0\u90E8\u5206\u3002\n\u8BF7\u66F4\u65B0\u5176\u4E2D\u4E00\u4E2A\u6216\u4E24\u4E2A\u5B57\u6BB5\u7684\u5217\u6620\u5C04\u3002 -# Validation message for invalid combination of upper and lower bounds -# {0}=(relationship) field name -util.validation.cardinality_invalid=JDO72322: \u5B57\u6BB5 {0} \u6CA1\u6709\u6709\u6548\u7684\u4E0A\u9650\u548C\u4E0B\u9650\u3002\n\u8BF7\u66F4\u65B0\u4E0A\u9650\u548C\u4E0B\u9650, \u4F7F\u4E0A\u9650\u5927\u4E8E 0 \u4E14\u5927\u4E8E\u7B49\u4E8E\u4E0B\u9650, \u5E76\u4E14\u4F7F\u4E0B\u9650\u4E3A\u975E\u8D1F\u6570\u3002 -# Validation message for a relationship field with lower bound 0 mapped to -# at least one non-nullable column -# {0}=(relationship) field name -util.validation.lower_bound_invalid=JDO72323: \u5B57\u6BB5 {0} \u6CA1\u6709\u6709\u6548\u7684\u4E0B\u9650\u3002\u6620\u5C04\u5230\u6709\u4E00\u4E2A\u6216\u591A\u4E2A\u4E0D\u53EF\u4E3A\u7A7A\u503C\u7684\u5217\u7684\u5916\u952E\u7684\u5173\u7CFB, \u5176\u4E0B\u9650\u5FC5\u987B\u4E3A 1\u3002\n\u8BF7\u5C06\u4E0B\u9650\u66F4\u65B0\u4E3A 1\u3002 -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324:The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: \u5B57\u6BB5 {0} \u6709\u65E0\u6548\u7684\u96C6\u5408\u7C7B\u3002\n\u8BF7\u5C06\u5173\u7CFB\u7684\u7C7B\u578B\u66F4\u65B0\u4E3A\u96C6\u6216\u901A\u7528\u96C6\u5408, \u6216\u5C06\u6301\u4E45\u6027\u5C5E\u6027\u8BBE\u7F6E\u4E3A\u201C\u5047\u201D\u3002 -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: \u5B57\u6BB5 {0} \u6CA1\u6709\u76F8\u5173\u7684\u7C7B\u96C6, \u4F46\u5B83\u6620\u5C04\u5230\u5217\u3002\n\u8BF7\u66F4\u65B0\u76F8\u5173\u7684\u7C7B\u6216\u53D6\u6D88\u6620\u5C04\u5173\u7CFB\u3002 -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: \u5B57\u6BB5 {0} \u5177\u6709\u65E0\u6548\u7684\u76F8\u5173\u5B57\u6BB5 {1}\u3002\u5FC5\u987B\u4E3A\u4E24\u4E2A\u5173\u7CFB\u5B57\u6BB5\u90FD\u8BBE\u7F6E\u76F8\u5173\u5B57\u6BB5\u3002\n\u8BF7\u53D6\u6D88\u8BBE\u7F6E\u8BE5\u5B57\u6BB5\u7684\u76F8\u5173\u5B57\u6BB5\u5C5E\u6027\u6216\u4E3A\u76F8\u5173\u5B57\u6BB5\u8BBE\u7F6E\u76F8\u5173\u5B57\u6BB5\u5C5E\u6027\u3002 -# Validation message for inverse field which does not exist in the related class -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related class name -util.validation.related_class_mismatch=JDO72327: \u5B57\u6BB5 {0} \u5177\u6709\u76F8\u5173\u5B57\u6BB5 {1}, \u4F46\u8BE5\u5B57\u6BB5\u5728\u76F8\u5173\u7C7B {2} \u4E2D\u4E0D\u5B58\u5728\u3002\n\u5982\u679C\u9700\u8981, \u8BF7\u66F4\u65B0\u76F8\u5173\u7C7B\u5E76\u66F4\u65B0\u76F8\u5173\u5B57\u6BB5\u3002 -# Validation message for inverse field set and no related class set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: \u5B57\u6BB5 {0} \u6CA1\u6709\u76F8\u5173\u7684\u7C7B\u96C6, \u4F46\u5177\u6709\u76F8\u5173\u5B57\u6BB5 {1}\u3002\n\u8BF7\u66F4\u65B0\u76F8\u5173\u7684\u7C7B\u6216\u5C06\u76F8\u5173\u5B57\u6BB5\u8BBE\u7F6E\u4E3A\u201C\u65E0\u201D\u3002 -# Validation message for field & inverse field which have non-inverse mappings -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_mapping_mismatch=JDO72329: \u5B57\u6BB5 {0} \u5177\u6709\u4E00\u4E2A\u6620\u5C04, \u8BE5\u6620\u5C04\u4E0D\u662F\u5176\u76F8\u5173\u5B57\u6BB5 {1} \u7684\u6620\u5C04\u7684\u5B8C\u5168\u53CD\u5411\u3002\n\u8BF7\u5C06\u4E24\u4E2A\u5173\u7CFB\u5B57\u6BB5\u7684\u76F8\u5173\u5B57\u6BB5\u8BBE\u7F6E\u4E3A\u201C\u65E0\u201D, \u53D6\u6D88\u6620\u5C04\u5176\u4E2D\u4E00\u4E2A\u5B57\u6BB5, \u7136\u540E\u91CD\u65B0\u8BBE\u7F6E\u76F8\u5173\u5B57\u6BB5\u3002 - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=class name -util.validation.schema_not_found=JDO72331: \u627E\u4E0D\u5230\u7C7B {1} \u7684\u6A21\u5F0F {0}\u3002\n\u8BF7\u8FD8\u539F\u6A21\u5F0F\u6587\u4EF6\u3002 -# Validation message for related schema not found -# {0}=schema name -# {1}=related class name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: \u627E\u4E0D\u5230\u5B57\u6BB5 {2} \u7684\u76F8\u5173\u7C7B {1} \u7684\u6A21\u5F0F {0}\u3002\n\u8BF7\u8FD8\u539F\u6A21\u5F0F\u6587\u4EF6\u3002 -# Validation message for schema not set but primary table set -# {0}=class name -util.validation.schema_not_set=JDO72333: \u7C7B {0} \u6CA1\u6709\u6A21\u5F0F\u96C6, \u4F46\u5B83\u6620\u5C04\u5230\u8868\u3002\n\u8BF7\u66F4\u65B0\u7C7B\u7684\u6620\u5C04\u6A21\u5F0F\u5C5E\u6027\u6216\u53D6\u6D88\u6620\u5C04\u4E3B\u8868\u3002 -# Validation message for schemas don't match -# {0}=class name -# {1}=related class name -# {2}=field name -util.validation.schema_mismatch=JDO72334: \u5B57\u6BB5 {2} \u7684\u7C7B {0} \u4E0E\u5176\u76F8\u5173\u7C7B {1} \u7684\u6A21\u5F0F\u5FC5\u987B\u5339\u914D\u3002\n\u8BF7\u66F4\u65B0\u5176\u4E2D\u4E00\u4E2A\u7C7B\u7684\u6620\u5C04\u6A21\u5F0F\u5C5E\u6027\u3002 -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=class name -util.validation.table_no_primarykey=JDO72335: \u5982\u679C\u7C7B {1} \u7684\u8868 {0} \u6620\u5C04\u4E3A\u4E3B\u8868, \u5219\u5B83\u5FC5\u987B\u5177\u6709\u4E3B\u952E\u3002\n\u8BF7\u9009\u62E9\u5176\u4ED6\u4E3B\u8868, \u6216\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u7684\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 -# Validation message for table not found -# {0}=table name -# {1}=class name -util.validation.table_not_found=JDO72336: \u627E\u4E0D\u5230\u7C7B {1} \u7684\u8868 {0}\u3002\n\u8BF7\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u662F\u5426\u5B58\u5728, \u4EE5\u53CA\u5176\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: \u627E\u4E0D\u5230\u5B57\u6BB5 {1} \u7684\u76F8\u5173\u7C7B\u7684\u8868 {0}\u3002\n\u8BF7\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u662F\u5426\u5B58\u5728, \u4EE5\u53CA\u5176\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.table_mismatch=JDO72355: \u5173\u7CFB {1} \u6620\u5C04\u5230\u5217 {0}, \u6B64\u5217\u4E0D\u662F\u7C7B {2} \u7684\u5DF2\u6620\u5C04\u7684\u4E3B\u8868\u6216\u8F85\u52A9\u8868\u4E4B\u4E00\u3002\n\u8BF7\u66F4\u65B0\u8868\u6620\u5C04\u6216\u5173\u7CFB\u6620\u5C04\u3002 -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.table_mismatch_related=JDO72338: \u5173\u7CFB {1} \u6620\u5C04\u5230\u5217 {0}, \u6B64\u5217\u4E0D\u662F\u76F8\u5173\u7C7B {2} \u7684\u5DF2\u6620\u5C04\u7684\u4E3B\u8868\u6216\u8F85\u52A9\u8868\u4E4B\u4E00\u3002\n\u8BF7\u66F4\u65B0\u8868\u6620\u5C04\u6216\u5173\u7CFB\u6620\u5C04\u3002 -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=class name -util.validation.column_not_found=JDO72339: \u5728\u7C7B {1} \u7684\u8F85\u52A9\u8868\u8BBE\u7F6E\u4E2D, \u627E\u4E0D\u5230\u5F15\u7528\u952E\u5BF9 {0} \u4E2D\u7684\u5217\u3002\n\u8BF7\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u662F\u5426\u5B58\u5728, \u4EE5\u53CA\u5176\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_not_found_related=JDO72340: \u627E\u4E0D\u5230\u7528\u4E8E\u6620\u5C04\u7C7B {2} \u4E2D\u7684\u5B57\u6BB5 {1} \u7684\u5217 {0}\u3002\n\u8BF7\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u662F\u5426\u5B58\u5728, \u4EE5\u53CA\u5176\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_invalid=JDO72341: \u5728\u7C7B {2} \u4E2D\u7684\u5173\u7CFB {1} \u4E2D, \u627E\u4E0D\u5230\u952E\u5BF9 {0} \u4E2D\u7684\u5217\u3002\n\u8BF7\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u662F\u5426\u5B58\u5728, \u4EE5\u53CA\u5176\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 - -# Validation messages for key class elements - -# Validation message for a wrong key class name -# {0}=key class name -# {1}=pc class name -util.validation.key_class_invalid=JDO72342: {0} \u4E3A\u65E0\u6548\u952E\u7C7B\u540D\u3002\u8BF7\u5C06\u7C7B\u91CD\u547D\u540D\u4E3A {1}.Oid (\u5BF9\u4E8E\u5185\u90E8\u7C7B) \u6216 {1}Key (\u5BF9\u4E8E\u5355\u72EC\u7684\u7C7B)\u3002 -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: \u672A\u8BBE\u7F6E\u7C7B {0} \u7684\u952E\u7C7B\u5C5E\u6027\u3002\n\u8BF7\u8BBE\u7F6E\u952E\u7C7B\u5C5E\u6027\u3002 -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: \u7C7B {1} \u7684\u952E\u7C7B {0} \u4E0D\u5B58\u5728\u3002\n\u8BF7\u5B9A\u4E49\u952E\u7C7B\u3002 -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: \u7C7B {1} \u7684\u952E\u7C7B {0} \u5FC5\u987B\u4E3A\u516C\u5171\u7C7B\u3002\n\u8BF7\u66F4\u65B0\u952E\u7C7B\u7684\u4FEE\u9970\u7B26\u3002 -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: \u7C7B {1} \u7684\u952E\u7C7B {0} \u5FC5\u987B\u5B9E\u73B0 java.io.Serializable\u3002\n\u8BF7\u66F4\u65B0\u952E\u7C7B\u7684\u63A5\u53E3\u3002 -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: \u5982\u679C\u5C06\u7C7B {1} \u7684\u952E\u7C7B {0} \u5B9A\u4E49\u4E3A\u5185\u90E8\u7C7B, \u5219\u5B83\u5FC5\u987B\u4E3A\u9759\u6001\u3002\n\u8BF7\u66F4\u65B0\u952E\u7C7B\u7684\u4FEE\u9970\u7B26\u3002 -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: \u952E\u7C7B {1} \u7684\u975E\u9759\u6001\u5B57\u6BB5 {0} \u7684\u7C7B\u578B\u5FC5\u987B\u4E3A\u57FA\u5143, \u5B57\u7B26\u4E32, \u6570\u5B57\u6216\u65E5\u671F\u7C7B\u578B\u3002\n\u8BF7\u66F4\u65B0\u952E\u7C7B\u5B57\u6BB5\u7684\u7C7B\u578B\u3002 -# Validation message for key class field must be public -# {0}=key class field name -# {1}=key class name -util.validation.key_field_public=JDO72349: \u952E\u7C7B {1} \u7684\u975E\u9759\u6001\u5B57\u6BB5 {0} \u5FC5\u987B\u4E3A\u516C\u5171\u5B57\u6BB5\u3002\n\u8BF7\u66F4\u65B0\u952E\u7C7B\u5B57\u6BB5\u7684\u4FEE\u9970\u7B26\u3002 -# Validation message for key class field must have the same type as the pc -# class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: \u952E\u7C7B {1} \u7684\u5B57\u6BB5 {0} \u7684\u7C7B\u578B\u5FC5\u987B\u4E0E\u5177\u6709\u6301\u4E45\u6027\u7684\u7C7B {2} \u4E2D\u7684\u76F8\u5E94\u5B57\u6BB5\u7684\u7C7B\u578B\u76F8\u540C\u3002\n\u8BF7\u66F4\u65B0\u952E\u7C7B\u5B57\u6BB5\u7684\u7C7B\u578B\u3002 -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: \u7C7B {0} \u7684\u6240\u6709\u952E\u5B57\u6BB5\u5728\u952E\u7C7B {1} \u4E2D\u5747\u5FC5\u987B\u5B58\u5728\u3002\n\u8BF7\u5C06\u4EE5\u4E0B\u952E\u5B57\u6BB5\u6DFB\u52A0\u5230\u952E\u7C7B: {2}\u3002 -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: \u7C7B {1} \u7684\u952E\u7C7B {0} \u5FC5\u987B\u5B9A\u4E49\u516C\u5171\u6784\u9020\u5668, \u5B83\u53EF\u4EE5\u4E3A\u9ED8\u8BA4\u6784\u9020\u5668\u6216\u65E0\u53D8\u91CF\u6784\u9020\u5668\u3002\n\u8BF7\u5C06\u65E0\u53D8\u91CF\u6784\u9020\u5668\u6DFB\u52A0\u5230\u952E\u7C7B\u3002 -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: \u7C7B {1} \u7684\u952E\u7C7B {0} \u5FC5\u987B\u8986\u76D6 java.lang.Object \u4E2D\u7684 equals \u65B9\u6CD5\u3002\n\u8BF7\u5728\u952E\u7C7B\u4E2D\u5B9E\u73B0 equals \u65B9\u6CD5\u3002 -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: \u7C7B {1} \u7684\u952E\u7C7B {0} \u5FC5\u987B\u8986\u76D6 java.lang.Object \u4E2D\u7684 hashCode \u65B9\u6CD5\u3002\n\u8BF7\u5728\u952E\u7C7B\u4E2D\u5B9E\u73B0 hashCode \u65B9\u6CD5\u3002 - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356: \u7C7B {0} \u5FC5\u987B\u5177\u6709\u4E00\u4E2A\u7248\u672C\u5B57\u6BB5\u3002\n\u5C06\u7248\u672C\u5B57\u6BB5\u5C5E\u6027\u8BBE\u7F6E\u4E3A\u73B0\u6709\u5B57\u6BB5\u3002 -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357: \u5173\u7CFB\u5B57\u6BB5 {0} \u4E0D\u80FD\u7528\u4F5C\u7248\u672C\u5B57\u6BB5\u3002\n\u8BF7\u9009\u62E9\u975E\u5173\u7CFB\u5B57\u6BB5\u4F5C\u4E3A\u7248\u672C\u5B57\u6BB5\u3002 -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358: \u7248\u672C\u5B57\u6BB5 {0} \u5177\u6709\u65E0\u6548\u7684\u83B7\u53D6\u7EC4\u3002\u7248\u672C\u5B57\u6BB5\u5FC5\u987B\u5C5E\u4E8E\u9ED8\u8BA4\u83B7\u53D6\u7EC4\u3002\n\u5C06\u83B7\u53D6\u7EC4\u8BBE\u7F6E\u4E3A ''\u9ED8\u8BA4\u503C'' \u6216\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5B57\u6BB5\u3002 -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359: \u5B57\u6BB5 {0} \u4E0D\u80FD\u7528\u4F5C\u952E\u5B57\u6BB5, \u56E0\u4E3A\u5B83\u5DF2\u88AB\u5B9A\u4E49\u4E3A\u7248\u672C\u5B57\u6BB5\u3002\n\u8BF7\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5B57\u6BB5\u6216\u5C06\u952E\u5B57\u6BB5\u5C5E\u6027\u8BBE\u7F6E\u4E3A\u201C\u5047\u201D\u3002 -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360: \u7248\u672C\u5B57\u6BB5 {0} \u7684\u7C7B\u578B\u5FC5\u987B\u4E3A ''\u957F\u6574\u578B''\u3002\n\u5C06\u5B57\u6BB5\u7C7B\u578B\u66F4\u6539\u4E3A ''\u957F\u6574\u578B'' \u6216\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5B57\u6BB5\u3002 -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361: \u7248\u672C\u5B57\u6BB5 {0} \u5FC5\u987B\u6620\u5C04\u5230\u4E00\u4E2A\u5217\u3002\n\\\u66F4\u65B0\u5B57\u6BB5\u7684\u5217\u6620\u5C04\u3002 -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362: \u7248\u672C\u5B57\u6BB5 {1} \u6620\u5C04\u5230\u5217 {0}, \u6B64\u5217\u4E0D\u5728\u7C7B {2} \u7684\u4E3B\u8868\u4E2D\u3002\n\u8BF7\u66F4\u65B0\u5217\u6620\u5C04\u6216\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5B57\u6BB5\u3002 -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363: \u7C7B {2} \u4E2D\u7684\u7248\u672C\u5B57\u6BB5 {1} \u6620\u5C04\u5230\u5217 {0}, \u6B64\u5217\u4E0D\u53EF\u4E3A\u7A7A\u503C\u6216\u975E\u6570\u5B57\u3002\n\u8BF7\u66F4\u65B0\u6A21\u5F0F\u6216\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5B57\u6BB5\u3002 -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364: \u7C7B {2} \u4E2D\u7684\u7248\u672C\u5B57\u6BB5 {1} \u6620\u5C04\u5230\u5217 {0}, \u6B64\u5217\u4E0D\u53EF\u4E3A\u4E3B\u952E\u7684\u4E00\u90E8\u5206\u3002\n\u8BF7\u66F4\u65B0\u6A21\u5F0F\u6216\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5B57\u6BB5\u3002 -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364: \u7C7B {2} \u4E2D\u7684\u7248\u672C\u5B57\u6BB5 {1} \u6620\u5C04\u5230\u5217 {0}, \u6B64\u5217\u4E0D\u53EF\u4E3A\u5916\u952E\u7684\u4E00\u90E8\u5206\u3002\n\u8BF7\u66F4\u65B0\u6A21\u5F0F\u6216\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5B57\u6BB5\u3002 -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365: \u7248\u672C\u5B57\u6BB5 {0} \u5177\u6709\u65E0\u6548\u7684\u5217\u6620\u5C04\u3002\u7248\u672C\u5B57\u6BB5\u4E0D\u53EF\u4E3A\u6258\u7BA1\u5B57\u6BB5\u3002\n\u8BF7\u66F4\u65B0\u5217\u6620\u5C04\u6216\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5B57\u6BB5\u3002 - -# IMPORTANT: The highest message ID for the validation section is -# -# JDO72365 -# -# Please update this as necessary. - -# logging messages - not brandable for ejb context at this time -model.parse_error=\u6301\u4E45\u6027\u9A8C\u8BC1\u65F6\u51FA\u73B0\u9519\u8BEF diff --git a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_zh_TW.properties deleted file mode 100644 index 5e722e8abc6..00000000000 --- a/appserver/persistence/cmp-l10n/model-l10n/src/main/resources/com/sun/jdo/api/persistence/model/Bundle_zh_TW.properties +++ /dev/null @@ -1,443 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Some of the messages from this file are overridden in -# mapping/ejb/src/com/sun/jdo/api/persistence/model/Bundle_ejb.properties -# and -# support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 72. -# -# This file is divided into the following sections: -# 0. Top level model messages. -# 1. JDO model messages. -# 2. Mapping model messages. -# 3. Validation messages. -# -# IMPORTANT: When adding a new message in the validation section, -# realize that it is split into the following sub sections: -# classes -# fields -# database elements -# key class elements -# Since the messages should be grouped by sub section, the order of messageID's -# may not be sequential, so the last numbered message ID for the section -# is stored in a comment at the end of the entire validation section. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - - -############################################################################### -# -# Message ID Range: JDO72000 - JDO72099 -############################################################################### -# Model messages for loading/storing xml files -# {0}=class name -file.cannot_save=JDO72000\uFF1A\u7121\u6CD5\u5132\u5B58\u985E\u5225 {0} \u7684\u6A94\u6848 -file.incompatible_version=JDO72001\uFF1A\u5C0D\u61C9\u6A94\u6848\u7248\u672C\u4E0D\u76F8\u5BB9\uFF1B\u8ACB\u91CD\u65B0\u5C0D\u61C9\u985E\u5225 {0} -file.cannot_read=JDO72002\uFF1A\u7121\u6CD5\u8B80\u53D6\u985E\u5225 {0} \u7684\u5C0D\u61C9\u6A94\u6848\uFF1B\u7570\u5E38\u70BA {1} - -# RuntimeModel messages for class loader handling -# {0}=class name -classloader.multiple=JDO72003\uFF1A\u985E\u5225 {0} \u7531\u591A\u91CD\u985E\u5225\u8F09\u5165\u5668\u8F09\u5165 - -# RuntimeModel message for dbschema loading -# {0}=schema name -# {1}=class name -dbschema.not_found=JDO72004\uFF1A\u627E\u4E0D\u5230\u985E\u5225 {1} \u7684\u7DB1\u8981 {0} - -############################################################################### -# -# Message ID Range: JDO72100 - JDO72199 -############################################################################### -# JDO PersistenceClassElement messages -# {0}=key class name, {1}=class name -jdo.class.key_class_invalid=JDO72100\uFF1A{0} \u70BA\u985E\u5225 {1} \u7684\u7121\u6548\u9375\u985E\u5225\u3002\u6709\u6548\u9375\u985E\u5225\u540D\u7A31\u70BA {1}.Oid \u548C {1}Key\u3002 - -# JDO RelationshipElement messages -# {0}=action value -jdo.relationship.update_action_invalid=JDO72101\uFF1A{0} \u70BA\u7121\u6548\u7684\u66F4\u65B0\u52D5\u4F5C -# {0}=action value -jdo.relationship.delete_action_invalid=JDO72102\uFF1A{0} \u70BA\u7121\u6548\u7684\u522A\u9664\u52D5\u4F5C -jdo.relationship.lower_cardinality_invalid=JDO72103\uFF1A\u4E0B\u9650\u4E0D\u80FD\u70BA\u8CA0\u503C\u6216\u5927\u65BC\u4E0A\u9650 -jdo.relationship.upper_cardinality_invalid=JDO72104\uFF1A\u4E0A\u9650\u4E0D\u80FD\u70BA\u96F6\u3001\u8CA0\u503C\u6216\u5C0F\u65BC\u4E0B\u9650 - -# JDO ConcurrencyGroupElement default name -jdo.concurrency_group.default=\u9810\u8A2D\u503C - - -############################################################################### -# -# Message ID Range: JDO72200 - JDO72299 -############################################################################### -# Mapping model generic messages for managing elements -mapping.element.null_argument=JDO72200\uFF1A\u7121\u6CD5\u589E\u52A0/\u79FB\u9664\u5143\u7D20\uFF1A\u63D0\u4F9B\u7684\u5F15\u6578\u70BA\u7A7A -# {0}=element name -mapping.element.element_not_removed=JDO72201\uFF1A\u672A\u79FB\u9664\u5143\u7D20 {0} - -# Mapping model messages for managing tables -# {0}=table name -mapping.table.foreign_key_not_found=JDO72202\uFF1A\u7121\u6CD5\u589E\u52A0\u8868\u683C {0}\uFF1A\u627E\u4E0D\u5230\u5916\u4F86\u9375 -# {0}=table name -mapping.table.primary_table_defined=JDO72203\uFF1A\u7121\u6CD5\u589E\u52A0\u4E3B\u8868\u683C {0}\uFF1A\u5DF2\u5B9A\u7FA9\u4E3B\u8868\u683C -# {0}=parent table name -mapping.table.parent_table_not_found=JDO72204\uFF1A\u7121\u6CD5\u589E\u52A0\u8868\u683C {0}\uFF1A\u5728\u5C0D\u61C9\u4E2D\u627E\u4E0D\u5230\u7236\u7CFB\u8868\u683C -# {0}=secondary table name, {1}=parent table name -mapping.table.secondary_table_defined=JDO72205\uFF1A\u7121\u6CD5\u589E\u52A0\u8868\u683C {0}\uFF1A\u5DF2\u70BA\u7236\u7CFB\u8868\u683C {1} \u5B9A\u7FA9\u8F14\u52A9\u8868\u683C {0} -# {0}=primary table name, {1}=schema name -mapping.table.schema_mismatch=JDO72206\uFF1A\u7121\u6CD5\u589E\u52A0\u4E3B\u8868\u683C {0}\uFF1A\u8F14\u52A9\u8868\u683C\u672A\u5B58\u5728\u65BC\u7DB1\u8981 {1} \u4E2D - -# Mapping model messages for managing columns -# {0}=column name -mapping.column.column_defined=JDO72207\uFF1A\u7121\u6CD5\u589E\u52A0\u6B04 {0}\uFF1A\u5DF2\u5B9A\u7FA9\u6B04 -# {0}=column name -mapping.column.associated_columns_defined=JDO72208\uFF1A\u7121\u6CD5\u589E\u52A0\u6B04 {0}\uFF1A\u5DF2\u5B9A\u7FA9\u95DC\u806F\u6B04 -# {0}=column name -mapping.column.column_invalid=JDO72209\uFF1A{0} \u70BA\u7121\u6548\u6B04 \uFF0D \u5FC5\u9808\u70BA\u4E00\u5C0D\u8CC7\u6599 - -# General validation messages -# Validation warning prefix (prepended to some of the messages below) -util.validation.warning=\u8B66\u544A\uFE30 - -############################################################################### -# -# Message ID Range: JDO72300 - JDO72399 -############################################################################### -# Validation messages for classes -# Validation message for class not found -# {0}=class name -util.validation.class_not_found=JDO72300\uFF1A\u627E\u4E0D\u5230\u985E\u5225 {0}\u3002\n\u5FA9\u539F\u985E\u5225\u3002 -# Validation message for related class not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301\uFF1A\u627E\u4E0D\u5230\u6B04\u4F4D {1} \u7684\u76F8\u95DC\u985E\u5225 {0}\u3002\n\u5FA9\u539F\u985E\u5225\u3002 -# Validation message for class not persistence-capable -# {0}=class name -util.validation.class_not_persistence_capable=JDO72302\uFF1A\u985E\u5225 {0} \u4E0D\u5177\u6709\u6301\u7E8C\u6027\u3002\n\u5C07\u6B64\u985E\u5225\u8F49\u63DB\u70BA\u5177\u6709\u6301\u7E8C\u6027\u3002 -# Validation message for related class not persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303\uFF1A\u6B04\u4F4D {1} \u7684\u76F8\u95DC\u985E\u5225 {0} \u4E0D\u5177\u6709\u6301\u7E8C\u6027\u3002\n\u5C07\u6B64\u985E\u5225\u8F49\u63DB\u70BA\u5177\u6709\u6301\u7E8C\u6027\u3002 -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304\uFF1A\u4E0D\u5141\u8A31\u985E\u5225 {0} \u5177\u6709\u6301\u7E8C\u6027\u3002\n\u5C07\u5176\u5F9E\u5177\u6709\u6301\u7E8C\u6027\u5FA9\u539F\uFF0C\u6216\u8907\u67E5\u898F\u5247\u4E26\u66F4\u65B0\u985E\u5225\u3002 -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305\uFF1A\u4E0D\u5141\u8A31\u6B04\u4F4D {1} \u7684\u76F8\u95DC\u985E\u5225 {0} \u5177\u6709\u6301\u7E8C\u6027\u3002\n\u5C07\u5176\u5F9E\u5177\u6709\u6301\u7E8C\u6027\u5FA9\u539F\uFF0C\u6216\u8907\u67E5\u898F\u5247\u4E26\u66F4\u65B0\u985E\u5225\u3002 -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306\uFF1A\u985E\u5225 {0} \u5BE6\u884C java.io.Serializable\uFF0C\u56E0\u6B64\u5B83\u9084\u5FC5\u9808\u5B9A\u7FA9\u65B9\u6CD5 readObject (\u8ACB\u53C3\u95B1 java.io.Serializable)\uFF0C\u4EE5\u78BA\u4FDD\u6B63\u78BA\u589E\u5F37\u3002\n\u5C07 readObject \u65B9\u6CD5\u589E\u52A0\u81F3\u985E\u5225\u3002 -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307\uFF1A\u985E\u5225 {0} \u5BE6\u884C java.io.Serializable\uFF0C\u56E0\u6B64\u5B83\u9084\u5FC5\u9808\u5B9A\u7FA9\u65B9\u6CD5 writeObject (\u8ACB\u53C3\u95B1 java.io.Serializable)\uFF0C\u4EE5\u78BA\u4FDD\u6B63\u78BA\u589E\u5F37\u3002\n\u5C07 writeObject \u65B9\u6CD5\u589E\u52A0\u81F3\u985E\u5225\u3002 -# Validation message for class which has no persistent fields -# {0}=class name -util.validation.class_no_fields=JDO72308\uFF1A\u985E\u5225 {0} \u5FC5\u9808\u81F3\u5C11\u5177\u6709\u4E00\u500B\u6301\u7E8C\u6027\u6B04\u4F4D\u3002\n\u5C07\u73FE\u6709\u6B04\u4F4D\u7684\u6301\u7E8C\u6027\u7279\u6027\u8A2D\u5B9A\u70BA True\uFF0C\u6216\u589E\u52A0\u4E00\u500B\u6B04\u4F4D\uFF0C\u4E26\u5C07\u5176\u6301\u7E8C\u6027\u7279\u6027\u8A2D\u5B9A\u70BA True\u3002 -# Validation message for class which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309\uFF1A\u672A\u5C0D\u61C9\u985E\u5225 {0}\u3002\n\u8A2D\u5B9A\u985E\u5225\u7684\u4E3B\u8868\u683C\u3002 -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310\uFF1A\u985E\u5225 {0} \u4E4B\u4E3B\u8868\u683C {1} \u4E2D\u7684\u6240\u6709\u4E3B\u9375\u6B04\u5FC5\u9808\u5C0D\u61C9\u81F3\u9375\u6B04\u4F4D\u3002\n\u8ACB\u5C07\u4E0B\u5217\u4E3B\u9375\u6B04\u5C0D\u61C9\u81F3\u9375\u6B04\u4F4D\uFF1A{2}\u3002\u5982\u679C\u5DF2\u6709\u8207\u9019\u4E9B\u6B04\u5C0D\u61C9\u7684\u6B04\u4F4D\uFF0C\u5247\u8ACB\u9A57\u8B49\u5B83\u5011\u662F\u5426\u70BA\u9375\u6B04\u4F4D\u3002 - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311\uFF1A\u6B04\u4F4D {0} \u88AB\u6307\u5B9A\u70BA\u6301\u7E8C\u6027\u6B04\u4F4D\uFF0C\u4F46\u5176\u4E0D\u5728 .java \u6A94\u6848\u4E2D\u3002\u5C07\u8A72\u6B04\u4F4D\u589E\u52A0\u81F3 .java \u6A94\u6848\uFF0C\u4E26\u78BA\u5B9A\u5176\u662F\u6301\u7E8C\u6027\u7684\u3002 -# Validation message for field not allowed to be persistent -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312\uFF1A\u4E0D\u5141\u8A31\u6B04\u4F4D {0} \u70BA\u6301\u7E8C\u6027\u7684\u3002\n\u5C07\u6301\u7E8C\u6027\u6B04\u4F4D\u7279\u6027\u8B8A\u66F4\u70BA False\u3002 -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313\uFF1A\u6B04\u4F4D {0} \u4E0D\u4E00\u81F4\u3002\n\u5C07\u6301\u7E8C\u6027\u6B04\u4F4D\u7279\u6027\u5207\u63DB\u70BA False\uFF0C\u7136\u5F8C\u56DE\u5FA9\u70BA True\u3002 -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314\uFF1A\u6B04\u4F4D {0} \u4E0D\u4E00\u81F4\u3002\n\u8ACB\u78BA\u5B9A\u6B04\u4F4D\u662F\u6301\u7E8C\u6027\u7684\u3002 -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315\uFF1A\u4E0D\u5141\u8A31\u6B04\u4F4D {0} \u70BA\u95DC\u4FC2\u6B04\u4F4D\u3002\n\u8ACB\u5C07\u6B04\u4F4D\u7684\u985E\u578B\u8B8A\u66F4\u70BA\u5305\u88DD\u985E\u578B\u6216\u539F\u59CB\u985E\u578B\u3002\n\u5982\u679C\u985E\u578B\u6B63\u78BA\uFF0C\u8ACB\u5C07\u6301\u7E8C\u6027\u6B04\u4F4D\u7279\u6027\u5207\u63DB\u70BA False\uFF0C\u7136\u5F8C\u56DE\u5FA9\u70BA True\u3002 -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316\uFF1A\u6B04\u4F4D {0} \u5FC5\u9808\u70BA\u95DC\u4FC2\u6B04\u4F4D\u3002\n\u5C07\u6B04\u4F4D\u985E\u578B\u8B8A\u66F4\u70BA\u96C6\u5408\u6216\u5176\u4ED6\u5177\u6709\u6301\u7E8C\u6027\u7684\u985E\u5225\u3002\n\u5982\u679C\u985E\u578B\u6B63\u78BA\uFF0C\u8ACB\u5C07\u6301\u7E8C\u6027\u6B04\u4F4D\u7279\u6027\u5207\u63DB\u70BA False\uFF0C\u7136\u5F8C\u56DE\u5FA9\u70BA True\u3002 -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317\uFF1A\u6B04\u4F4D {0} \u5177\u6709\u7121\u6548\u7684\u64F7\u53D6\u7FA4\u7D44\u3002\u9810\u8A2D\u4E0D\u662F\u7BA1\u7406\u5F0F\u6B04\u4F4D\u7684\u6709\u6548\u64F7\u53D6\u7FA4\u7D44\u3002\n\u8ACB\u9078\u53D6\u4E0D\u540C\u7684\u64F7\u53D6\u7FA4\u7D44\u3002 -# Validation message for field which is not mapped -# {0}=field name -util.validation.field_not_mapped=JDO72318\uFF1A\u672A\u5C0D\u61C9\u6B04\u4F4D {0}\u3002\n\u8A2D\u5B9A\u8A72\u6B04\u4F4D\u7684\u6B04\u5C0D\u61C9\u3002 -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319\uFF1A\u4E0D\u5141\u8A31\u6B04\u4F4D {0} \u70BA\u9375\u6B04\u4F4D\uFF0C\u56E0\u70BA\u5176\u5C0D\u61C9\u5305\u542B\u4E00\u500B\u5927\u578B\u7269\u4EF6 (\u4F8B\u5982 BLOB/CLOB) \u6B04\u3002\n\u8ACB\u66F4\u65B0\u6B64\u6B04\u5C0D\u61C9\uFF0C\u6216\u5C07\u9375\u6B04\u4F4D\u7279\u6027\u8A2D\u5B9A\u70BA false\u3002 -# Validation message for field in the default fetch group which is mapped to a -# blob or clob column -# {0}=field name -util.validation.field_fetch_group_not_allowed=JDO72320\uFF1A\u6B04\u4F4D {0} \u5177\u6709\u7121\u6548\u7684\u64F7\u53D6\u7FA4\u7D44\u3002\u5C0D\u65BC\u5C0D\u61C9\u81F3\u5927\u578B\u7269\u4EF6 (\u4F8B\u5982 BLOB/CLOB) \u6B04\u7684\u6B04\u4F4D\uFF0C\u9810\u8A2D\u4E0D\u662F\u6709\u6548\u7684\u64F7\u53D6\u7FA4\u7D44\u3002\n\u8ACB\u9078\u53D6\u4E0D\u540C\u7684\u64F7\u53D6\u7FA4\u7D44\uFF0C\u6216\u66F4\u65B0\u6B04\u5C0D\u61C9\u3002 -# Validation message for managed (multiple fields to same column) field which -# has a non exact column match -# {0}=field name -# {1}=other field name -util.validation.field_mapping_invalid=JDO72321\uFF1A\u6B04\u4F4D {0} \u5177\u6709\u7121\u6548\u7684\u5C0D\u61C9\u3002\u5176\u5C0D\u61C9\u6709\u4E00\u90E8\u5206\u8207\u6B04\u4F4D {1} \u7684\u5C0D\u61C9\u91CD\u758A\u3002\u5C0D\u61C9\u5FC5\u9808\u76F8\u540C\u6216\u4E0D\u5305\u542B\u91CD\u758A\u3002\n\u66F4\u65B0\u5176\u4E2D\u4E00\u500B\u6B04\u4F4D\u7684\u6B04\u5C0D\u61C9\uFF0C\u6216\u540C\u6642\u66F4\u65B0\u5169\u500B\u6B04\u4F4D\u7684\u6B04\u5C0D\u61C9\u3002 -# Validation message for invalid combination of upper and lower bounds -# {0}=(relationship) field name -util.validation.cardinality_invalid=JDO72322\uFF1A\u6B04\u4F4D {0} \u7121\u6709\u6548\u7684\u4E0A\u9650\u548C\u4E0B\u9650\u3002\n\u8ACB\u66F4\u65B0\u754C\u9650\uFF0C\u4EE5\u4F7F\u4E0A\u9650\u5927\u65BC 0 \u4E26\u5927\u65BC\u6216\u7B49\u65BC\u4E0B\u9650\uFF0C\u4E14\u4E0B\u9650\u70BA\u975E\u8CA0\u503C\u3002 -# Validation message for a relationship field with lower bound 0 mapped to -# at least one non-nullable column -# {0}=(relationship) field name -util.validation.lower_bound_invalid=JDO72323\uFF1A\u6B04\u4F4D {0} \u7121\u6709\u6548\u7684\u4E0B\u9650\u3002\u5C0D\u61C9\u81F3\u5916\u4F86\u9375\u7684\u5177\u6709\u4E00\u500B\u6216\u591A\u500B\u975E\u7A7A\u6B04\u7684\u95DC\u4FC2\u6B04\u4F4D\u4E4B\u4E0B\u9650\u5FC5\u9808\u70BA 1\u3002\n\u8ACB\u5C07\u4E0B\u9650\u66F4\u65B0\u70BA 1\u3002 -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324:The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324\uFF1A\u6B04\u4F4D {0} \u5177\u6709\u7121\u6548\u7684\u96C6\u5408\u985E\u5225\u3002\n\u8ACB\u5C07\u95DC\u4FC2\u985E\u578B\u66F4\u65B0\u70BA\u96C6\u6216\u901A\u7528\u96C6\u5408\uFF0C\u6216\u5C07\u6301\u7E8C\u6027\u7279\u6027\u8A2D\u5B9A\u70BA False\u3002 -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325\uFF1A\u6B04\u4F4D {0} \u7121\u76F8\u95DC\u7684\u985E\u5225\u96C6\uFF0C\u4F46\u5176\u5C0D\u61C9\u81F3\u6B04\u3002\n\u8ACB\u66F4\u65B0\u76F8\u95DC\u985E\u5225\uFF0C\u6216\u53D6\u6D88\u5C0D\u61C9\u95DC\u4FC2\u3002 -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326\uFF1A\u6B04\u4F4D {0} \u5177\u6709\u7121\u6548\u7684\u76F8\u95DC\u6B04\u4F4D {1}\u3002\u5FC5\u9808\u70BA\u5169\u500B\u95DC\u4FC2\u6B04\u4F4D\u5747\u8A2D\u5B9A\u76F8\u95DC\u6B04\u4F4D\u3002\n\u53D6\u6D88\u8A2D\u5B9A\u6B64\u6B04\u4F4D\u7684\u76F8\u95DC\u6B04\u4F4D\u7279\u6027\uFF0C\u6216\u8A2D\u5B9A\u76F8\u95DC\u6B04\u4F4D\u7684\u76F8\u95DC\u6B04\u4F4D\u7279\u6027\u3002 -# Validation message for inverse field which does not exist in the related class -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related class name -util.validation.related_class_mismatch=JDO72327\uFF1A\u6B04\u4F4D {0} \u5177\u6709\u4E0D\u5B58\u5728\u65BC\u76F8\u95DC\u985E\u5225 {2} \u4E2D\u7684\u76F8\u95DC\u6B04\u4F4D {1}\u3002\n\u8ACB\u66F4\u65B0\u76F8\u95DC\u985E\u5225\uFF0C\u5982\u6709\u5FC5\u8981\uFF0C\u4E5F\u8ACB\u66F4\u65B0\u76F8\u95DC\u6B04\u4F4D\u3002 -# Validation message for inverse field set and no related class set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328\uFF1A\u6B04\u4F4D {0} \u7121\u76F8\u95DC\u985E\u5225\u96C6\uFF0C\u4F46\u5176\u5177\u6709\u76F8\u95DC\u6B04\u4F4D {1}\u3002\n\u8ACB\u66F4\u65B0\u76F8\u95DC\u985E\u5225\uFF0C\u6216\u5C07\u76F8\u95DC\u6B04\u4F4D\u8A2D\u5B9A\u70BA None\u3002 -# Validation message for field & inverse field which have non-inverse mappings -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_mapping_mismatch=JDO72329\uFF1A\u6B04\u4F4D {0} \u5177\u6709\u4E00\u500B\u5C0D\u61C9\uFF0C\u5B83\u4E0D\u662F\u5176\u76F8\u95DC\u6B04\u4F4D {1} \u4E4B\u5C0D\u61C9\u7684\u78BA\u5207\u53CD\u5411\u5C0D\u61C9\u3002\n\u8ACB\u5C07\u5169\u500B\u95DC\u4FC2\u6B04\u4F4D\u7684\u76F8\u95DC\u6B04\u4F4D\u8A2D\u5B9A\u70BA None\uFF0C\u53D6\u6D88\u5C0D\u61C9\u5176\u4E2D\u4E00\u500B\u6B04\u4F4D\uFF0C\u7136\u5F8C\u91CD\u8A2D\u76F8\u95DC\u6B04\u4F4D\u3002 - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=class name -util.validation.schema_not_found=JDO72331\uFF1A\u627E\u4E0D\u5230\u985E\u5225 {1} \u7684\u7DB1\u8981 {0}\u3002\n\u8ACB\u5FA9\u539F\u7DB1\u8981\u6A94\u6848\u3002 -# Validation message for related schema not found -# {0}=schema name -# {1}=related class name -# {2}=field name -util.validation.schema_not_found_related=JDO72332\uFF1A\u627E\u4E0D\u5230\u6B04\u4F4D {2} \u4E4B\u76F8\u95DC\u985E\u5225 {1} \u7684\u7DB1\u8981 {0}\u3002\n\u8ACB\u5FA9\u539F\u7DB1\u8981\u6A94\u6848\u3002 -# Validation message for schema not set but primary table set -# {0}=class name -util.validation.schema_not_set=JDO72333\uFF1A\u985E\u5225 {0} \u7121\u7DB1\u8981\u96C6\uFF0C\u4F46\u5176\u5C0D\u61C9\u81F3\u8868\u683C\u3002\n\u8ACB\u66F4\u65B0\u8A72\u985E\u5225\u7684\u5DF2\u5C0D\u61C9\u7DB1\u8981\u7279\u6027\u6216\u53D6\u6D88\u5C0D\u61C9\u4E3B\u8868\u683C\u3002 -# Validation message for schemas don't match -# {0}=class name -# {1}=related class name -# {2}=field name -util.validation.schema_mismatch=JDO72334\uFF1A\u6B04\u4F4D {2} \u7684\u985E\u5225 {0} \u8207\u5176\u76F8\u95DC\u985E\u5225 {1} \u7684\u7DB1\u8981\u5FC5\u9808\u76F8\u7B26\u3002\n\u8ACB\u66F4\u65B0\u5176\u4E2D\u4E00\u500B\u985E\u5225\u7684\u5DF2\u5C0D\u61C9\u7DB1\u8981\u7279\u6027\u3002 -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=class name -util.validation.table_no_primarykey=JDO72335\uFF1A\u5982\u679C\u985E\u5225 {1} \u7684\u8868\u683C {0} \u505A\u70BA\u4E3B\u8868\u683C\u5C0D\u61C9\uFF0C\u5247\u5176\u5FC5\u9808\u5177\u6709\u4E3B\u9375\u3002\n\u8ACB\u9078\u64C7\u4E0D\u540C\u7684\u4E3B\u8868\u683C\u6216\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u7684\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 -# Validation message for table not found -# {0}=table name -# {1}=class name -util.validation.table_not_found=JDO72336\uFF1A\u627E\u4E0D\u5230\u985E\u5225 {1} \u7684\u8868\u683C {0}\u3002\n\u8ACB\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u662F\u5426\u5B58\u5728\uFF0C\u4EE5\u53CA\u5176\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337\uFF1A\u627E\u4E0D\u5230\u6B04\u4F4D {1} \u4E4B\u76F8\u95DC\u985E\u5225\u7684\u8868\u683C {0}\u3002\n\u8ACB\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u662F\u5426\u5B58\u5728\uFF0C\u4EE5\u53CA\u5176\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.table_mismatch=JDO72355\uFF1A\u95DC\u4FC2 {1} \u5C0D\u61C9\u81F3\u6B04 {0}\uFF0C\u8A72\u6B04\u4E0D\u662F\u985E\u5225 {2} \u7684\u5176\u4E2D\u4E00\u500B\u5DF2\u5C0D\u61C9\u4E3B\u8868\u683C\u6216\u8F14\u52A9\u8868\u683C\u3002\n\u8ACB\u66F4\u65B0\u8868\u683C\u5C0D\u61C9\u6216\u95DC\u4FC2\u5C0D\u61C9\u3002 -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.table_mismatch_related=JDO72338\uFF1A\u95DC\u4FC2 {1} \u5C0D\u61C9\u81F3\u6B04 {0}\uFF0C\u8A72\u6B04\u4E0D\u662F\u76F8\u95DC\u985E\u5225 {2} \u7684\u5176\u4E2D\u4E00\u500B\u5DF2\u5C0D\u61C9\u4E3B\u8868\u683C\u6216\u8F14\u52A9\u8868\u683C\u3002\n\u8ACB\u66F4\u65B0\u8868\u683C\u5C0D\u61C9\u6216\u95DC\u4FC2\u5C0D\u61C9\u3002 -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=class name -util.validation.column_not_found=JDO72339\uFF1A\u627E\u4E0D\u5230\u985E\u5225 {1} \u4E4B\u8F14\u52A9\u8868\u683C\u8A2D\u5B9A\u7684\u53C3\u7167\u9375\u5C0D {0} \u4E2D\u7684\u6B04\u3002\n\u8ACB\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u662F\u5426\u5B58\u5728\uFF0C\u4EE5\u53CA\u5176\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_not_found_related=JDO72340\uFF1A\u627E\u4E0D\u5230\u985E\u5225 {2} \u4E2D\u7528\u65BC\u5C0D\u61C9\u6B04\u4F4D {1} \u7684\u6B04 {0}\u3002\n\u8ACB\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u662F\u5426\u5B58\u5728\uFF0C\u4EE5\u53CA\u5176\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_invalid=JDO72341\uFF1A\u627E\u4E0D\u5230\u985E\u5225 {2} \u4E2D\u95DC\u4FC2 {1} \u4E4B\u9375\u5C0D {0} \u4E2D\u7684\u6B04\u3002\n\u8ACB\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u662F\u5426\u5B58\u5728\uFF0C\u4EE5\u53CA\u5176\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 - -# Validation messages for key class elements - -# Validation message for a wrong key class name -# {0}=key class name -# {1}=pc class name -util.validation.key_class_invalid=JDO72342\uFF1A{0} \u70BA\u7121\u6548\u9375\u985E\u5225\u540D\u7A31\u3002\u91CD\u65B0\u547D\u540D\u5167\u90E8\u985E\u5225\u7684 {1}.Oid \u6216\u55AE\u7368\u985E\u5225\u7684 {1}Key\u3002 -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343\uFF1A\u672A\u8A2D\u5B9A\u985E\u5225 {0} \u7684\u9375\u985E\u5225\u7279\u6027\u3002\n\u8ACB\u8A2D\u5B9A\u9375\u985E\u5225\u7279\u6027\u3002 -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344\uFF1A\u985E\u5225 {1} \u7684\u9375\u985E\u5225 {0} \u4E0D\u5B58\u5728\u3002\n\u8ACB\u5B9A\u7FA9\u9375\u985E\u5225\u3002 -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345\uFF1A\u985E\u5225 {1} \u7684\u9375\u985E\u5225 {0} \u5FC5\u9808\u662F\u516C\u7528\u7684\u3002\n\u8ACB\u66F4\u65B0\u9375\u985E\u5225\u7684\u4FEE\u98FE\u9375\u3002 -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346\uFF1A\u985E\u5225 {1} \u7684\u9375\u985E\u5225 {0} \u5FC5\u9808\u5BE6\u884C java.io.Serializable\u3002\n\u8ACB\u66F4\u65B0\u9375\u985E\u5225\u7684\u4ECB\u9762\u3002 -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347\uFF1A\u5982\u679C\u985E\u5225 {1} \u7684\u9375\u985E\u5225 {0} \u5B9A\u7FA9\u70BA\u5167\u90E8\u985E\u5225\uFF0C\u5247\u5176\u5FC5\u9808\u70BA\u975C\u614B\u985E\u5225\u3002\n\u8ACB\u66F4\u65B0\u9375\u985E\u5225\u7684\u4FEE\u98FE\u9375\u3002 -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348\uFF1A\u9375\u985E\u5225 {1} \u4E4B\u975E\u975C\u614B\u6B04\u4F4D {0} \u7684\u985E\u578B\u5FC5\u9808\u70BA\u539F\u59CB\u3001\u5B57\u4E32\u3001\u6578\u503C\u985E\u578B\u6216\u65E5\u671F\u985E\u578B\u3002\n\u8ACB\u66F4\u65B0\u9375\u985E\u5225\u6B04\u4F4D\u7684\u985E\u578B\u3002 -# Validation message for key class field must be public -# {0}=key class field name -# {1}=key class name -util.validation.key_field_public=JDO72349\uFF1A\u9375\u985E\u5225 {1} \u7684\u975E\u975C\u614B\u6B04\u4F4D {0} \u5FC5\u9808\u70BA\u516C\u7528\u7684\u3002\n\u8ACB\u66F4\u65B0\u9375\u985E\u5225\u6B04\u4F4D\u7684\u4FEE\u98FE\u9375\u3002 -# Validation message for key class field must have the same type as the pc -# class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350\uFF1A\u9375\u985E\u5225 {1} \u7684\u6B04\u4F4D {0} \u5FC5\u9808\u5177\u6709\u8207\u6301\u7E8C\u6027\u985E\u5225 {2} \u4E2D\u7684\u5C0D\u61C9\u6B04\u4F4D\u76F8\u540C\u7684\u985E\u578B\u3002\n\u8ACB\u66F4\u65B0\u9375\u985E\u5225\u6B04\u4F4D\u7684\u985E\u578B\u3002 -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351\uFF1A\u985E\u5225 {0} \u7684\u6240\u6709\u9375\u6B04\u4F4D\u5FC5\u9808\u5B58\u5728\u65BC\u9375\u985E\u5225 {1} \u4E2D\u3002\n\u5C07\u4E0B\u5217\u9375\u6B04\u4F4D\u589E\u52A0\u81F3\u9375\u985E\u5225\uFF1A{2}\u3002 -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352\uFF1A\u985E\u5225 {1} \u7684\u9375\u985E\u5225 {0} \u5FC5\u9808\u5B9A\u7FA9\u516C\u7528\u5EFA\u69CB\u5B50\uFF0C\u5176\u53EF\u80FD\u70BA\u9810\u8A2D\u5EFA\u69CB\u5B50\u6216\u7121\u5F15\u6578\u5EFA\u69CB\u5B50\u3002\n\u5C07\u7121\u5F15\u6578\u5EFA\u69CB\u5B50\u589E\u52A0\u81F3\u9375\u985E\u5225\u3002 -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353\uFF1A\u985E\u5225 {1} \u7684\u9375\u985E\u5225 {0} \u5FC5\u9808\u7F6E\u63DB java.lang.Object \u7684 equals \u65B9\u6CD5\u3002\n\u8ACB\u5728\u9375\u985E\u5225\u4E2D\u5BE6\u884C equals \u65B9\u6CD5\u3002 -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354\uFF1A\u985E\u5225 {1} \u7684\u9375\u985E\u5225 {0} \u5FC5\u9808\u7F6E\u63DB java.lang.Object \u7684 hashCode \u65B9\u6CD5\u3002\n\u8ACB\u5728\u9375\u985E\u5225\u4E2D\u5BE6\u884C hashCode \u65B9\u6CD5\u3002 - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356\uFF1A\u985E\u5225 {0} \u5FC5\u9808\u6070\u597D\u6709\u4E00\u500B\u7248\u672C\u6B04\u4F4D\u3002\n\u5C07\u7248\u672C\u6B04\u4F4D\u7279\u6027\u8A2D\u5B9A\u70BA\u73FE\u6709\u6B04\u4F4D\u3002 -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357\uFF1A\u4E0D\u5141\u8A31\u95DC\u4FC2\u6B04\u4F4D {0} \u70BA\u7248\u672C\u6B04\u4F4D\u3002\n\u8ACB\u9078\u64C7\u975E\u95DC\u4FC2\u6B04\u4F4D\u505A\u70BA\u7248\u672C\u6B04\u4F4D\u3002 -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358\uFF1A\u7248\u672C\u6B04\u4F4D {0} \u5177\u6709\u7121\u6548\u7684\u64F7\u53D6\u7FA4\u7D44\u3002\u7248\u672C\u6B04\u4F4D\u5FC5\u9808\u5C6C\u65BC\u9810\u8A2D\u64F7\u53D6\u7FA4\u7D44\u3002\n\u5C07\u64F7\u53D6\u7FA4\u7D44\u8A2D\u5B9A\u70BA\u300C\u9810\u8A2D\u300D\uFF0C\u6216\u9078\u53D6\u4E0D\u540C\u7684\u7248\u672C\u6B04\u4F4D\u3002 -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359\uFF1A\u4E0D\u5141\u8A31\u6B04\u4F4D {0} \u70BA\u9375\u6B04\u4F4D\uFF0C\u56E0\u70BA\u5176\u5DF2\u5B9A\u7FA9\u70BA\u7248\u672C\u6B04\u4F4D\u3002\n\u8ACB\u9078\u64C7\u4E0D\u540C\u7684\u7248\u672C\u6B04\u4F4D\u6216\u5C07\u9375\u6B04\u4F4D\u7279\u6027\u8A2D\u5B9A\u70BA False\u3002 -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360\uFF1A\u7248\u672C\u6B04\u4F4D {0} \u7684\u985E\u578B\u5FC5\u9808\u70BA\u300C\u9577\u6574\u6578\u300D\u3002\n\u5C07\u6B04\u4F4D\u985E\u578B\u8B8A\u66F4\u70BA\u300C\u9577\u6574\u6578\u300D\u6216\u9078\u64C7\u4E0D\u540C\u7684\u7248\u672C\u6B04\u4F4D\u3002 -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361\uFF1A\u7248\u672C\u6B04\u4F4D {0} \u5FC5\u9808\u6070\u597D\u5C0D\u61C9\u81F3\u4E00\u500B\u6B04\u3002\n\u8ACB\u66F4\u65B0\u8A72\u6B04\u4F4D\u7684\u6B04\u5C0D\u61C9\u3002 -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362\uFF1A\u7248\u672C\u6B04\u4F4D {1} \u5C0D\u61C9\u81F3\u6B04 {0}\uFF0C\u8A72\u6B04\u4E0D\u5728\u985E\u5225 {2} \u7684\u4E3B\u8868\u683C\u4E2D\u3002\n\u8ACB\u66F4\u65B0\u6B04\u5C0D\u61C9\u6216\u9078\u64C7\u4E0D\u540C\u7684\u7248\u672C\u6B04\u4F4D\u3002 -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363\uFF1A\u985E\u5225 {2} \u4E2D\u7684\u7248\u672C\u6B04\u4F4D {1} \u5C0D\u61C9\u81F3\u6B04 {0}\uFF0C\u8A72\u6B04\u4E0D\u53EF\u70BA\u7A7A\u6216\u975E\u6578\u5B57\u5B57\u5143\u3002\n\u8ACB\u66F4\u65B0\u7DB1\u8981\u6216\u9078\u64C7\u4E0D\u540C\u7684\u7248\u672C\u6B04\u4F4D\u3002 -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364\uFF1A\u985E\u5225 {2} \u4E2D\u7684\u7248\u672C\u6B04\u4F4D {1} \u5C0D\u61C9\u81F3\u6B04 {0}\uFF0C\u8A72\u6B04\u4E0D\u662F\u4E3B\u9375\u7684\u4E00\u90E8\u5206\u3002\n\u8ACB\u66F4\u65B0\u7DB1\u8981\u6216\u9078\u64C7\u4E0D\u540C\u7684\u7248\u672C\u6B04\u4F4D\u3002 -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364\uFF1A\u985E\u5225 {2} \u4E2D\u7684\u7248\u672C\u6B04\u4F4D {1} \u5C0D\u61C9\u81F3\u6B04 {0}\uFF0C\u8A72\u6B04\u4E0D\u662F\u5916\u4F86\u9375\u7684\u4E00\u90E8\u5206\u3002\n\u8ACB\u66F4\u65B0\u7DB1\u8981\u6216\u9078\u64C7\u4E0D\u540C\u7684\u7248\u672C\u6B04\u4F4D\u3002 -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365\uFF1A\u7248\u672C\u6B04\u4F4D {0} \u5177\u6709\u7121\u6548\u7684\u6B04\u5C0D\u61C9\u3002\u7248\u672C\u6B04\u4F4D\u53EF\u80FD\u4E0D\u662F\u7BA1\u7406\u5F0F\u6B04\u4F4D\u3002\n\u8ACB\u66F4\u65B0\u6B04\u5C0D\u61C9\u6216\u9078\u64C7\u4E0D\u540C\u7684\u7248\u672C\u6B04\u4F4D\u3002 - -# IMPORTANT: The highest message ID for the validation section is -# -# JDO72365 -# -# Please update this as necessary. - -# logging messages - not brandable for ejb context at this time -model.parse_error=\u5728\u6301\u7E8C\u6027\u9A57\u8B49\u671F\u9593\u767C\u751F\u932F\u8AA4 diff --git a/appserver/persistence/cmp-l10n/pom.xml b/appserver/persistence/cmp-l10n/pom.xml deleted file mode 100644 index 231c8702a9b..00000000000 --- a/appserver/persistence/cmp-l10n/pom.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - fish.payara.server.internal.persistence - persistence - 7.2026.5-SNAPSHOT - - 4.0.0 - fish.payara.server.internal.persistence.cmp - cmp-l10n - pom - GlassFish cmp related modules l10n - - - - Georges Murr - Oracle, Inc. - - developer - - - - - generator-database-l10n - utility-l10n - support-ejb-l10n - ejb-mapping-l10n - support-sqlstore-l10n - enhancer-l10n - model-l10n - - diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/osgi.bundle b/appserver/persistence/cmp-l10n/support-ejb-l10n/osgi.bundle deleted file mode 100644 index ac9846568dd..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/osgi.bundle +++ /dev/null @@ -1,41 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -Fragment-Host: fish.payara.server.internal.persistence.cmp.support-ejb; bundle-version=${project.osgi.version} diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/pom.xml b/appserver/persistence/cmp-l10n/support-ejb-l10n/pom.xml deleted file mode 100755 index e67affcd6bf..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/pom.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp-l10n - 7.2026.5-SNAPSHOT - - cmp-support-ejb-l10n - - support ejb module for cmp l10n - - - true - - - - - - org.glassfish.hk2 - osgiversion-maven-plugin - - - compute-osgi-version - - compute-osgi-version - - - - - - org.apache.felix - maven-bundle-plugin - - - bundle-manifest - process-classes - - manifest - - - - - - - - - - - - - src/main/resources - - **/*.jar - - - - - diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_de.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_de.properties deleted file mode 100644 index bd8e93492c6..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_de.properties +++ /dev/null @@ -1,110 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# This Bundle.properties file contains log messages for the ejb entity runtime. -# All log messages for the entity runtime components (lifecycle, finder, and internal) -# are in this file. - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 73. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO73000 - JDO73999 -############################################################################### -#{0}=name of EJB object class -EXC_ConvertEJBObjectToPC=JDO73000: Konvertierung von EJBObject auf PC nicht erfolgreich f\u00FCr: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBObject=JDO73001: Konvertierung von PC zu EJBObject nicht erfolgreich f\u00FCr Prim\u00E4rschl\u00FCssel: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObject=JDO73002: Konvertierung von PC zu EJBLocalObject nicht erfolgreich f\u00FCr Prim\u00E4rschl\u00FCssel: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObjectCtx=JDO73003: Konvertierung von PC zu EJBLocalObject mit dem angegebenen EJBContext nicht erfolgreich f\u00FCr Prim\u00E4rschl\u00FCssel: {0}. - -#{0}=Primary Key instance. -EXC_DeletedInstanceThisTx=JDO73004: Instanz mit Prim\u00E4rschl\u00FCssel: {0} wurde bei dieser Transaktion gel\u00F6scht. - -#{0}=Primary Key instance. -EXC_DeletedInstanceOtherTx=JDO73005: Instanz mit Prim\u00E4rschl\u00FCssel: {0} wurde bei dieser Transaktion gel\u00F6scht. - -#{0}=name of serializable class -EXC_IOWriteSerializableObject=JDO73006: IOException beim Schreiben eines serialisierbaren Objekts in Byte-Array: {0}. - -EXC_CNFReadSerializableObject=JDO73007: ClassNotFoundException beim Lesen eines serialisierbaren Objekts aus Byte-Array. -EXC_IOReadSerializableObject=JDO73008: IOException beim Lesen eines serialisierbaren Objekts aus Byte-Array. - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongLocalInstance=JDO73009: Parameterinstanz der Klasse ''{0}'' ist keine g\u00FCltige lokale Schnittstelleninstanz f\u00FCr Bean ''{1}'': {2} - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongRemoteInstance=JDO73010: Parameterinstanz der Klasse ''{0}'' ist keine g\u00FCltige Remote-Schnittstelleninstanz f\u00FCr Bean ''{1}'': {2} - -EXC_pknull_exception=JDO73011: Prim\u00E4rschl\u00FCssel darf nicht null sein. -EXC_oidnull_exception=JDO73012: Objekt-ID darf nicht null sein. - -#{0}=Primary Key field name -#{1}=ejb-name -EXC_pkfieldnull_exception=JDO73013: Prim\u00E4rschl\u00FCsselfeld {0} f\u00FCr Bean ''{1}'' darf nicht null sein. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_es.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_es.properties deleted file mode 100644 index 4aa93ffc5c8..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_es.properties +++ /dev/null @@ -1,110 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# This Bundle.properties file contains log messages for the ejb entity runtime. -# All log messages for the entity runtime components (lifecycle, finder, and internal) -# are in this file. - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 73. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO73000 - JDO73999 -############################################################################### -#{0}=name of EJB object class -EXC_ConvertEJBObjectToPC=JDO73000: Fallo en la conversi\u00F3n de EJBObject a PC debido a: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBObject=JDO73001: Fallo en la conversi\u00F3n de PC a EJBObject para la clave primaria: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObject=JDO73002: Fallo en la conversi\u00F3n de PC a EJBLocalObject para la clave primaria: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObjectCtx=JDO73003: Fallo en la conversi\u00F3n de PC a EJBLocalObject con el elemento EJBContext especificado para la clave primaria: {0}. - -#{0}=Primary Key instance. -EXC_DeletedInstanceThisTx=JDO73004: la instancia con clave primaria {0} se ha suprimido en esta transacci\u00F3n. - -#{0}=Primary Key instance. -EXC_DeletedInstanceOtherTx=JDO73005: la instancia con clave primaria {0} se ha suprimido en otra transacci\u00F3n. - -#{0}=name of serializable class -EXC_IOWriteSerializableObject=JDO73006: Se ha producido una excepci\u00F3n IOException al escribir un objeto serializable en la matriz de bytes: {0}. - -EXC_CNFReadSerializableObject=JDO73007: se ha producido una excepci\u00F3n ClassNotFoundException al leer un objeto serializable de la matriz de bytes. -EXC_IOReadSerializableObject=JDO73008: se ha producido una excepci\u00F3n IOException al leer un objeto serializable de la matriz de bytes. - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongLocalInstance=JDO73009: La instancia de par\u00E1metros de la clase ''{0}'' no es una instancia de interfaz local v\u00E1lida para el bean ''{1}'': {2} - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongRemoteInstance=JDO73010: La instancia de par\u00E1metros de la clase ''{0}'' no es una instancia de interfaz remota v\u00E1lida para el bean ''{1}'': {2} - -EXC_pknull_exception=JDO73011: la clave primaria no puede ser nula. -EXC_oidnull_exception=JDO73012: el ID de objeto no puede ser nulo. - -#{0}=Primary Key field name -#{1}=ejb-name -EXC_pkfieldnull_exception=JDO73013: el campo de clave primaria {0} para el bean ''{1}'' no puede ser nulo. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_fr.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_fr.properties deleted file mode 100644 index c145c734e07..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_fr.properties +++ /dev/null @@ -1,110 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# This Bundle.properties file contains log messages for the ejb entity runtime. -# All log messages for the entity runtime components (lifecycle, finder, and internal) -# are in this file. - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 73. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO73000 - JDO73999 -############################################################################### -#{0}=name of EJB object class -EXC_ConvertEJBObjectToPC=JDO73000 : \u00E9chec de la conversion d''EJBObject vers le PC pour : {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBObject=JDO73001 : \u00E9chec de la conversion du PC vers EJBObject pour la cl\u00E9 primaire : {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObject=JDO73002 : \u00E9chec de la conversion du PC vers EJBLocalObject pour la cl\u00E9 primaire : {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObjectCtx=JDO73003 : \u00E9chec de la conversion du PC vers EJBLocalObject avec l''EJBContext donn\u00E9 pour la cl\u00E9 primaire : {0}. - -#{0}=Primary Key instance. -EXC_DeletedInstanceThisTx=JDO73004 : l''instance avec la cl\u00E9 primaire {0} a \u00E9t\u00E9 supprim\u00E9e lors de cette transaction. - -#{0}=Primary Key instance. -EXC_DeletedInstanceOtherTx=JDO73005 : l''instance avec la cl\u00E9 primaire {0} a \u00E9t\u00E9 supprim\u00E9e au cours d''une autre transaction. - -#{0}=name of serializable class -EXC_IOWriteSerializableObject=JDO73006 : exception IOException lors de l''\u00E9criture de l''objet s\u00E9rialisable dans le tableau d''octets : {0}. - -EXC_CNFReadSerializableObject=JDO73007 : exception ClassNotFoundException lors de la lecture de l'objet s\u00E9rialisable dans le tableau d'octets. -EXC_IOReadSerializableObject=JDO73008 : exception IOException lors de la lecture de l'objet s\u00E9rialisable dans le tableau d'octets. - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongLocalInstance=JDO73009 : l''instance de param\u00E8tre de la classe ''{0}'' n''est pas une instance d''interface locale valide pour le bean ''{1}'' : {2} - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongRemoteInstance=JDO73010 : l''instance de param\u00E8tre de la classe ''{0}'' n''est pas une instance d''interface distante valide pour le bean ''{1}'' : {2} - -EXC_pknull_exception=JDO73011 : la cl\u00E9 primaire ne peut pas \u00EAtre NULL. -EXC_oidnull_exception=JDO73012 : l'ID d'objet ne peut pas \u00EAtre NULL. - -#{0}=Primary Key field name -#{1}=ejb-name -EXC_pkfieldnull_exception=JDO73013 : le champ de cl\u00E9 primaire {0} pour le bean ''{1}'' ne peut pas \u00EAtre NULL. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_it.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_it.properties deleted file mode 100644 index b63db88211a..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_it.properties +++ /dev/null @@ -1,110 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# This Bundle.properties file contains log messages for the ejb entity runtime. -# All log messages for the entity runtime components (lifecycle, finder, and internal) -# are in this file. - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 73. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO73000 - JDO73999 -############################################################################### -#{0}=name of EJB object class -EXC_ConvertEJBObjectToPC=JDO73000: conversione EJBObject in PC non riuscita per: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBObject=JDO73001: conversione PC in EJBObject non riuscita per la chiave primaria: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObject=JDO73002: conversione PC in EJBLocalObject non riuscita per la chiave primaria: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObjectCtx=JDO73003: conversione PC in EJBLocalObject con EJBContext specificato non riuscita per la chiave primaria: {0}. - -#{0}=Primary Key instance. -EXC_DeletedInstanceThisTx=JDO73004: l''istanza con la chiave primaria {0} \u00E8 stata eliminata in questa transazione. - -#{0}=Primary Key instance. -EXC_DeletedInstanceOtherTx=JDO73005: l''istanza con la chiave primaria {0} \u00E8 stata eliminata in un''altra transazione. - -#{0}=name of serializable class -EXC_IOWriteSerializableObject=JDO73006: IOException durante la scrittura dell''oggetto serializzabile nell''array di byte: {0}. - -EXC_CNFReadSerializableObject=JDO73007: ClassNotFoundException durante la lettura dell'oggetto serializzabile dall'array di byte. -EXC_IOReadSerializableObject=JDO73008: IOException durante la lettura dell'oggetto serializzabile dall'array di byte. - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongLocalInstance=JDO73009: l''istanza del parametro della classe ''{0}'' non \u00E8 un''istanza di interfaccia locale valida per il bean ''{1}'': {2} - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongRemoteInstance=JDO73010: l''istanza del parametro della classe ''{0}'' non \u00E8 un''istanza di interfaccia remota valida per il bean ''{1}'': {2} - -EXC_pknull_exception=JDO73011: la chiave primaria non pu\u00F2 essere nulla. -EXC_oidnull_exception=JDO73012: l'ID oggetto non pu\u00F2 essere nullo. - -#{0}=Primary Key field name -#{1}=ejb-name -EXC_pkfieldnull_exception=JDO73013: il campo chiave primaria {0} per il bean ''{1}'' non pu\u00F2 essere nullo. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_ja.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_ja.properties deleted file mode 100644 index 86225dc8e21..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_ja.properties +++ /dev/null @@ -1,110 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# This Bundle.properties file contains log messages for the ejb entity runtime. -# All log messages for the entity runtime components (lifecycle, finder, and internal) -# are in this file. - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 73. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO73000 - JDO73999 -############################################################################### -#{0}=name of EJB object class -EXC_ConvertEJBObjectToPC=JDO73000: {0}\u3067EJBObject\u3092PC\u306B\u5909\u63DB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 - -#{0}=Primary Key instance -EXC_ConvertPCToEJBObject=JDO73001: \u4E3B\u30AD\u30FC{0}\u3067PC\u3092EJBObject\u306B\u5909\u63DB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObject=JDO73002: \u4E3B\u30AD\u30FC{0}\u3067PC\u3092EJBLocalObject\u306B\u5909\u63DB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObjectCtx=JDO73003: \u4E3B\u30AD\u30FC{0}\u3067\u3001\u6307\u5B9AEJBContext\u306B\u3088\u308BPC\u304B\u3089EJBLocalObject\u3078\u306E\u5909\u63DB\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002 - -#{0}=Primary Key instance. -EXC_DeletedInstanceThisTx=JDO73004: \u4E3B\u30AD\u30FC{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306F\u3001\u3053\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u3067\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002 - -#{0}=Primary Key instance. -EXC_DeletedInstanceOtherTx=JDO73005: \u4E3B\u30AD\u30FC{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306F\u3001\u5225\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u3067\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002 - -#{0}=name of serializable class -EXC_IOWriteSerializableObject=JDO73006: \u30B7\u30EA\u30A2\u30E9\u30A4\u30BA\u53EF\u80FD\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u30D0\u30A4\u30C8\u914D\u5217\u306B\u66F8\u304D\u8FBC\u3080\u3068\u304D\u306BIOException\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0}\u3002 - -EXC_CNFReadSerializableObject=JDO73007: \u30D0\u30A4\u30C8\u914D\u5217\u304B\u3089\u30B7\u30EA\u30A2\u30E9\u30A4\u30BA\u53EF\u80FD\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u8AAD\u307F\u53D6\u308B\u3068\u304D\u306BClassNotFoundException\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 -EXC_IOReadSerializableObject=JDO73008: \u30D0\u30A4\u30C8\u914D\u5217\u304B\u3089\u30B7\u30EA\u30A2\u30E9\u30A4\u30BA\u53EF\u80FD\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u8AAD\u307F\u53D6\u308B\u3068\u304D\u306BIOException\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongLocalInstance=JDO73009: \u30AF\u30E9\u30B9''{0}''\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306F\u3001Bean ''{1}''\u306E\u6709\u52B9\u306A\u30ED\u30FC\u30AB\u30EB\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u30FB\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {2} - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongRemoteInstance=JDO73010: \u30AF\u30E9\u30B9''{0}''\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306F\u3001Bean ''{1}''\u306E\u6709\u52B9\u306A\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u30FB\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {2} - -EXC_pknull_exception=JDO73011: \u4E3B\u30AD\u30FC\u3092null\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -EXC_oidnull_exception=JDO73012: \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8ID\u3092null\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 - -#{0}=Primary Key field name -#{1}=ejb-name -EXC_pkfieldnull_exception=JDO73013: Bean ''{1}''\u306E\u4E3B\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092null\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_ko.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_ko.properties deleted file mode 100644 index 5fd1d87c65d..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_ko.properties +++ /dev/null @@ -1,110 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# This Bundle.properties file contains log messages for the ejb entity runtime. -# All log messages for the entity runtime components (lifecycle, finder, and internal) -# are in this file. - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 73. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO73000 - JDO73999 -############################################################################### -#{0}=name of EJB object class -EXC_ConvertEJBObjectToPC=JDO73000: \uB2E4\uC74C\uC744 \uC704\uD574 EJBObject\uB97C PC\uB85C \uBCC0\uD658\uD558\uB294 \uB370 \uC2E4\uD328: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBObject=JDO73001: \uAE30\uBCF8 \uD0A4\uB97C \uC704\uD574 PC\uB97C EJBObject\uB85C \uBCC0\uD658\uD558\uB294 \uB370 \uC2E4\uD328: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObject=JDO73002: \uAE30\uBCF8 \uD0A4\uB97C \uC704\uD574 PC\uB97C EJBLocalObject\uB85C \uBCC0\uD658\uD558\uB294 \uB370 \uC2E4\uD328: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObjectCtx=JDO73003: \uAE30\uBCF8 \uD0A4\uB97C \uC704\uD574 \uC8FC\uC5B4\uC9C4 EJBContext\uB97C \uC0AC\uC6A9\uD558\uC5EC PC\uB97C EJBLocalObject\uB85C \uBCC0\uD658\uD558\uB294 \uB370 \uC2E4\uD328: {0}. - -#{0}=Primary Key instance. -EXC_DeletedInstanceThisTx=JDO73004: \uAE30\uBCF8 \uD0A4\uAC00 \uC788\uB294 \uC778\uC2A4\uD134\uC2A4: {0}\uC740(\uB294) \uC774 \uD2B8\uB79C\uC7AD\uC158\uC5D0\uC11C \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. - -#{0}=Primary Key instance. -EXC_DeletedInstanceOtherTx=JDO73005: \uAE30\uBCF8 \uD0A4\uAC00 \uC788\uB294 \uC778\uC2A4\uD134\uC2A4: {0}\uC740(\uB294) \uB2E4\uB978 \uD2B8\uB79C\uC7AD\uC158\uC5D0\uC11C \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. - -#{0}=name of serializable class -EXC_IOWriteSerializableObject=JDO73006: \uC77C\uB828\uD654 \uAC1D\uCCB4\uB97C \uB2E4\uC74C \uBC14\uC774\uD2B8 \uBC30\uC5F4\uC5D0 \uC4F0\uB294 \uC911 IOException\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. {0}. - -EXC_CNFReadSerializableObject=JDO73007: \uBC14\uC774\uD2B8 \uBC30\uC5F4\uC5D0\uC11C \uC77C\uB828\uD654 \uAC1D\uCCB4\uB97C \uC77D\uB294 \uC911 ClassNotFoundException\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -EXC_IOReadSerializableObject=JDO73008: \uBC14\uC774\uD2B8 \uBC30\uC5F4\uC5D0\uC11C \uC77C\uB828\uD654 \uAC1D\uCCB4\uB97C \uC77D\uB294 \uC911 IOException\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongLocalInstance=JDO73009: ''{0}'' \uD074\uB798\uC2A4\uC758 \uB9E4\uAC1C\uBCC0\uC218 \uC778\uC2A4\uD134\uC2A4\uB294 Bean ''{1}''\uC758 \uC801\uD569\uD55C \uB85C\uCEEC \uC778\uD130\uD398\uC774\uC2A4 \uC778\uC2A4\uD134\uC2A4\uAC00 \uC544\uB2D9\uB2C8\uB2E4. {2} - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongRemoteInstance=JDO73010: ''{0}'' \uD074\uB798\uC2A4\uC758 \uB9E4\uAC1C\uBCC0\uC218 \uC778\uC2A4\uD134\uC2A4\uB294 Bean ''{1}''\uC758 \uC801\uD569\uD55C \uC6D0\uACA9 \uC778\uD130\uD398\uC774\uC2A4 \uC778\uC2A4\uD134\uC2A4\uAC00 \uC544\uB2D9\uB2C8\uB2E4. {2} - -EXC_pknull_exception=JDO73011: \uAE30\uBCF8 \uD0A4\uB294 \uB110\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -EXC_oidnull_exception=JDO73012: \uAC1D\uCCB4 ID\uB294 \uB110\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -#{0}=Primary Key field name -#{1}=ejb-name -EXC_pkfieldnull_exception=JDO73013: Bean ''{1}''\uC758 \uAE30\uBCF8 \uD0A4 \uD544\uB4DC {0}\uC740 \uB110\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_pt_BR.properties deleted file mode 100644 index 272b26fcdda..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_pt_BR.properties +++ /dev/null @@ -1,110 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# This Bundle.properties file contains log messages for the ejb entity runtime. -# All log messages for the entity runtime components (lifecycle, finder, and internal) -# are in this file. - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 73. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO73000 - JDO73999 -############################################################################### -#{0}=name of EJB object class -EXC_ConvertEJBObjectToPC=JDO73000: Falha na convers\u00E3o de EJBObject para PC: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBObject=JDO73001: Falha na convers\u00E3o PC para EJBObject para a chave prim\u00E1ria: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObject=JDO73002: Falha na convers\u00E3o PC para EJBLocalObject para a chave prim\u00E1ria: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObjectCtx=JDO73003: Falha na convers\u00E3o PC para EJBLocalObject com o EJBCContext fornecido para a chave prim\u00E1ria: {0}. - -#{0}=Primary Key instance. -EXC_DeletedInstanceThisTx=JDO73004: A inst\u00E2ncia com a chave prim\u00E1ria {0} foi deletada nesta transa\u00E7\u00E3o. - -#{0}=Primary Key instance. -EXC_DeletedInstanceOtherTx=JDO73005: A inst\u00E2ncia com a chave prim\u00E1ria {0} foi deletada em outra transa\u00E7\u00E3o. - -#{0}=name of serializable class -EXC_IOWriteSerializableObject=JDO73006: IOException gravando objeto serializ\u00E1vel para array de bytes: {0}. - -EXC_CNFReadSerializableObject=JDO73007: ClassNotFoundException lendo objeto serializ\u00E1vel do array de bytes. -EXC_IOReadSerializableObject=JDO73008: IOException lendo objeto serializ\u00E1vel do array de bytes. - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongLocalInstance=JDO73009: Inst\u00E2ncia do par\u00E2metro da classe "{0}" n\u00E3o \u00E9 uma inst\u00E2ncia v\u00E1lida de interface local para o bean "{1}": {2} - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongRemoteInstance=JDO73010: Inst\u00E2ncia do par\u00E2metro da classe "{0}" n\u00E3o \u00E9 uma inst\u00E2ncia v\u00E1lida de interface remota para o bean "{1}": {2} - -EXC_pknull_exception=JDO73011: A chave prim\u00E1ria n\u00E3o pode ser nula. -EXC_oidnull_exception=JDO73012: O ID de objeto n\u00E3o pode ser nulo. - -#{0}=Primary Key field name -#{1}=ejb-name -EXC_pkfieldnull_exception=JDO73013: O campo principal {0} para o bean "{1}" n\u00E3o pode ser nulo. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_zh_CN.properties deleted file mode 100644 index 67b14e2ec18..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_zh_CN.properties +++ /dev/null @@ -1,110 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# This Bundle.properties file contains log messages for the ejb entity runtime. -# All log messages for the entity runtime components (lifecycle, finder, and internal) -# are in this file. - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 73. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO73000 - JDO73999 -############################################################################### -#{0}=name of EJB object class -EXC_ConvertEJBObjectToPC=JDO73000: \u5BF9\u4E8E\u4EE5\u4E0B\u9879, \u65E0\u6CD5\u5C06 EJBObject \u8F6C\u6362\u4E3A PC: {0}\u3002 - -#{0}=Primary Key instance -EXC_ConvertPCToEJBObject=JDO73001: \u5BF9\u4E8E\u4EE5\u4E0B\u4E3B\u952E, \u65E0\u6CD5\u5C06 PC \u8F6C\u6362\u4E3A EJBObject: {0}\u3002 - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObject=JDO73002: \u5BF9\u4E8E\u4EE5\u4E0B\u4E3B\u952E, \u65E0\u6CD5\u5C06 PC \u8F6C\u6362\u4E3A EJBLocalObject: {0}\u3002 - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObjectCtx=JDO73003: \u5BF9\u4E8E\u4EE5\u4E0B\u4E3B\u952E, \u65E0\u6CD5\u5C06 PC \u8F6C\u6362\u4E3A\u5177\u6709\u7ED9\u5B9A EJBContext \u7684 EJBLocalObject: {0}\u3002 - -#{0}=Primary Key instance. -EXC_DeletedInstanceThisTx=JDO73004: \u5728\u6B64\u4E8B\u52A1\u5904\u7406\u4E2D, \u4E3B\u952E\u4E3A {0} \u7684\u5B9E\u4F8B\u5DF2\u5220\u9664\u3002 - -#{0}=Primary Key instance. -EXC_DeletedInstanceOtherTx=JDO73005: \u5728\u53E6\u4E00\u4E2A\u4E8B\u52A1\u5904\u7406\u4E2D, \u4E3B\u952E\u4E3A {0} \u7684\u5B9E\u4F8B\u5DF2\u5220\u9664\u3002 - -#{0}=name of serializable class -EXC_IOWriteSerializableObject=JDO73006: \u5411\u5B57\u8282\u6570\u7EC4\u5199\u5165\u53EF\u5E8F\u5217\u5316\u5BF9\u8C61\u65F6\u51FA\u73B0 IOException: {0}\u3002 - -EXC_CNFReadSerializableObject=JDO73007: \u4ECE\u5B57\u8282\u6570\u7EC4\u4E2D\u8BFB\u53D6\u53EF\u5E8F\u5217\u5316\u5BF9\u8C61\u65F6\u51FA\u73B0 ClassNotFoundException\u3002 -EXC_IOReadSerializableObject=JDO73008: \u4ECE\u5B57\u8282\u6570\u7EC4\u4E2D\u8BFB\u53D6\u53EF\u5E8F\u5217\u5316\u5BF9\u8C61\u65F6\u51FA\u73B0 IOException\u3002 - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongLocalInstance=JDO73009: \u7C7B ''{0}'' \u7684\u53C2\u6570\u5B9E\u4F8B\u4E0D\u662F Bean ''{1}'' \u7684\u6709\u6548\u672C\u5730\u63A5\u53E3\u5B9E\u4F8B: {2} - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongRemoteInstance=JDO73010: \u7C7B ''{0}'' \u7684\u53C2\u6570\u5B9E\u4F8B\u4E0D\u662F Bean ''{1}'' \u7684\u6709\u6548\u8FDC\u7A0B\u63A5\u53E3\u5B9E\u4F8B: {2} - -EXC_pknull_exception=JDO73011: \u4E3B\u952E\u4E0D\u80FD\u4E3A\u7A7A\u503C\u3002 -EXC_oidnull_exception=JDO73012: \u5BF9\u8C61 ID \u4E0D\u80FD\u4E3A\u7A7A\u503C\u3002 - -#{0}=Primary Key field name -#{1}=ejb-name -EXC_pkfieldnull_exception=JDO73013: Bean ''{1}'' \u7684\u4E3B\u952E\u5B57\u6BB5 {0} \u4E0D\u80FD\u4E3A\u7A7A\u503C\u3002 diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_zh_TW.properties deleted file mode 100644 index 3bd32cee1b6..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle_zh_TW.properties +++ /dev/null @@ -1,110 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# This Bundle.properties file contains log messages for the ejb entity runtime. -# All log messages for the entity runtime components (lifecycle, finder, and internal) -# are in this file. - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 73. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO73000 - JDO73999 -############################################################################### -#{0}=name of EJB object class -EXC_ConvertEJBObjectToPC=JDO73000\uFF1A\u5C07 EJBObject \u8F49\u63DB\u70BA PC \u5931\u6557\uFF1A{0}\u3002 - -#{0}=Primary Key instance -EXC_ConvertPCToEJBObject=JDO73001\uFF1A\u70BA\u4E3B\u9375\u5C07 PC \u8F49\u63DB\u70BA EJBObject \u5931\u6557\uFF1A{0}\u3002 - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObject=JDO73002\uFF1A\u70BA\u4E3B\u9375\u5C07 PC \u8F49\u5316\u70BA EJBLocalObject \u5931\u6557\uFF1A{0}\u3002 - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObjectCtx=JDO73003\uFF1A\u70BA\u4E3B\u9375\u5C07 PC \u8F49\u63DB\u70BA\u5177\u6709\u6240\u63D0\u4F9B\u4E4B EJBContext \u7684 EJBLocalObject \u5931\u6557\uFF1A{0}\u3002 - -#{0}=Primary Key instance. -EXC_DeletedInstanceThisTx=JDO73004\uFF1A\u5177\u6709\u4E3B\u9375\u7684\u57F7\u884C\u8655\u7406\uFF1A{0} \u5728\u6B64\u4F5C\u696D\u4E8B\u4EF6\u4E2D\u5DF2\u88AB\u522A\u9664\u3002 - -#{0}=Primary Key instance. -EXC_DeletedInstanceOtherTx=JDO73005\uFF1A\u5177\u6709\u4E3B\u9375\u7684\u57F7\u884C\u8655\u7406\uFF1A{0} \u5728\u5176\u4ED6\u4F5C\u696D\u4E8B\u4EF6\u4E2D\u5DF2\u88AB\u522A\u9664\u3002 - -#{0}=name of serializable class -EXC_IOWriteSerializableObject=JDO73006\uFF1A\u5C07\u53EF\u4E32\u5217\u5316\u7269\u4EF6\u5BEB\u5165\u4F4D\u5143\u7D44\u9663\u5217\u6642\u51FA\u73FE IOException\uFF1A{0}\u3002 - -EXC_CNFReadSerializableObject=JDO73007\uFF1A\u5F9E\u4F4D\u5143\u7D44\u9663\u5217\u8B80\u53D6\u53EF\u4E32\u5217\u5316\u7269\u4EF6\u6642\u51FA\u73FE ClassNotFoundException\u3002 -EXC_IOReadSerializableObject=JDO73008\uFF1A\u5F9E\u4F4D\u5143\u7D44\u9663\u5217\u8B80\u53D6\u53EF\u4E32\u5217\u5316\u7269\u4EF6\u6642\u51FA\u73FE IOException\u3002 - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongLocalInstance=JDO73009\uFF1A\u985E\u5225 ''{0}'' \u7684\u53C3\u6578\u57F7\u884C\u8655\u7406\u4E0D\u662F Bean ''{1}'' \u7684\u6709\u6548 Local \u4ECB\u9762\u57F7\u884C\u8655\u7406\uFF1A{2} - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongRemoteInstance=JDO73010\uFF1A\u985E\u5225 ''{0}'' \u7684\u53C3\u6578\u57F7\u884C\u8655\u7406\u4E0D\u662F Bean ''{1}'' \u7684\u6709\u6548 Remote \u4ECB\u9762\u57F7\u884C\u8655\u7406\uFF1A{2} - -EXC_pknull_exception=JDO73011\uFF1A\u4E3B\u9375\u4E0D\u80FD\u70BA\u7A7A\u3002 -EXC_oidnull_exception=JDO73012\uFF1A\u7269\u4EF6 ID \u4E0D\u80FD\u70BA\u7A7A\u3002 - -#{0}=Primary Key field name -#{1}=ejb-name -EXC_pkfieldnull_exception=JDO73013\uFF1ABean ''{1}'' \u7684\u4E3B\u9375\u6B04\u4F4D {0} \u4E0D\u80FD\u70BA\u7A7A\u3002 diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_de.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_de.properties deleted file mode 100644 index d62158fe1ed..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_de.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO83000 - JDO83999 -############################################################################### -# {0} Exception type -# {1} Application name -# {2} Exception message -cmpc.cmp_app_error=JDO83000: {0} beim Verarbeiten der Anwendung [{1}] oder beim Kompilieren generierter Klassen f\u00FCr CMP-Beans f\u00FCr Anwendung [{1}] abgefangen: {2}. Weitere Informationen finden Sie im Log. - -# {0} Exception type -# {1} EJB Name -# {2} Application name -# {3} Module jar name -# {4} Exception message -cmpc.cmp_bean_error=JDO83001: {0} bei der Verarbeitung der CMP-Bean [{1}] f\u00FCr Anwendung [{2}]; Modul [{3}] abgefangen: {4}. Weitere Informationen finden Sie im Log. - -# {0} Exception type -# {1} Application name -# {2} Module jar name -# {3} Exception message -cmpc.cmp_module_error=JDO83002: {0} bei der Verarbeitung der CMP-Beans f\u00FCr Anwendung [{1}]; Modul [{2}] abgefangen: {3}. Weitere Informationen finden Sie im Log. - -cmpc.compile=JDO83003: {0} wird kompiliert ... -cmpc.cmp_complilation_failed=JDO83004: CMP-Kompilierung nicht erfolgreich. Weitere Informationen finden Sie im Log. -cmpc.processing_cmp=JDO83005: Start des CMP-Abschnitts f\u00FCr [{0}] -cmpc.done_processing_cmp=JDO83006: Ende des CMP-Abschnitts f\u00FCr [{0}] -cmpc.cmp_complilation_exception=JDO83007: Ausnahmefehler bei der Kompilierung generierter Klassen abgefangen: {0} -cmpc.cmp_complilation_problems=JDO83008: CMP-Kompilierung nicht erfolgreich: {0} - -cmpc.cmp_cleanup_problems=JDO83009: CMP-Bereinigung nicht erfolgreich. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_es.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_es.properties deleted file mode 100644 index df96d56adec..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_es.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO83000 - JDO83999 -############################################################################### -# {0} Exception type -# {1} Application name -# {2} Exception message -cmpc.cmp_app_error=JDO83000: se ha obtenido {0} al procesar la aplicaci\u00F3n [{1}] o al compilar las clases generadas para los beans de CMP de la aplicaci\u00F3n [{1}]: {2}. Consulte el log para obtener m\u00E1s informaci\u00F3n. - -# {0} Exception type -# {1} EJB Name -# {2} Application name -# {3} Module jar name -# {4} Exception message -cmpc.cmp_bean_error=JDO83001: se ha obtenido {0} al procesar el bean de CMP [{1}] para la aplicaci\u00F3n [{2}]; m\u00F3dulo [{3}]: {4}. Consulte el log para obtener m\u00E1s informaci\u00F3n. - -# {0} Exception type -# {1} Application name -# {2} Module jar name -# {3} Exception message -cmpc.cmp_module_error=JDO83002: se ha obtenido {0} al procesar los beans de CMP para la aplicaci\u00F3n [{1}]; m\u00F3dulo [{2}]: {3}. Consulte el log para obtener m\u00E1s informaci\u00F3n. - -cmpc.compile=JDO83003: compilando {0}.... -cmpc.cmp_complilation_failed=JDO83004: fallo en la compilaci\u00F3n de CMP. Consulte el log para obtener m\u00E1s informaci\u00F3n. -cmpc.processing_cmp=JDO83005: inicio de la secci\u00F3n CMP para [{0}] -cmpc.done_processing_cmp=JDO83006: final de la secci\u00F3n CMP para [{0}] -cmpc.cmp_complilation_exception=JDO83007: se ha obtenido una excepci\u00F3n al compilar las clases generadas: {0} -cmpc.cmp_complilation_problems=JDO83008: Fallo en la compilaci\u00F3n de CMP: {0} - -cmpc.cmp_cleanup_problems=JDO83009: fallo al limpiar CMP. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_fr.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_fr.properties deleted file mode 100644 index 350bdc3659f..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_fr.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO83000 - JDO83999 -############################################################################### -# {0} Exception type -# {1} Application name -# {2} Exception message -cmpc.cmp_app_error=JDO83000 : exception {0} d\u00E9tect\u00E9e lors du traitement de l''application [{1}] ou de la compilation des classes g\u00E9n\u00E9r\u00E9es pour les beans CMP de l''application [{1}] : {2}. Pour plus de d\u00E9tails, consultez le journal. - -# {0} Exception type -# {1} EJB Name -# {2} Application name -# {3} Module jar name -# {4} Exception message -cmpc.cmp_bean_error=JDO83001 : exception {0} d\u00E9tect\u00E9e lors du traitement du bean CMP [{1}] pour l''application [{2}] ; module [{3}] : {4}. Pour plus de d\u00E9tails, consultez le journal. - -# {0} Exception type -# {1} Application name -# {2} Module jar name -# {3} Exception message -cmpc.cmp_module_error=JDO83002 : exception {0} d\u00E9tect\u00E9e lors du traitement des beans CMP pour l''application [{1}] ; module [{2}] : {3}. Pour plus de d\u00E9tails, consultez le journal. - -cmpc.compile=JDO83003 : compilation de {0}... -cmpc.cmp_complilation_failed=JDO83004 : \u00E9chec de la compilation CMP. Pour plus de d\u00E9tails, consultez le fichier journal. -cmpc.processing_cmp=JDO83005 : d\u00E9but de la section CMP pour [{0}] -cmpc.done_processing_cmp=JDO83006 : fin de la section CMP pour [{0}] -cmpc.cmp_complilation_exception=JDO83007 : exception d\u00E9tect\u00E9e lors de la compilation des classes g\u00E9n\u00E9r\u00E9es : {0} -cmpc.cmp_complilation_problems=JDO83008 : \u00E9chec de la compilation CMP : {0} - -cmpc.cmp_cleanup_problems=JDO83009 : \u00E9chec du nettoyage CMP. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_it.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_it.properties deleted file mode 100644 index 12f01e655bf..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_it.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO83000 - JDO83999 -############################################################################### -# {0} Exception type -# {1} Application name -# {2} Exception message -cmpc.cmp_app_error=JDO83000: rilevato {0} durante l''elaborazione dell''applicazione [{1}] o la compilazione delle classi generate per i bean CMP per l''applicazione [{1}]: {2}. Vedere il log per i dettagli. - -# {0} Exception type -# {1} EJB Name -# {2} Application name -# {3} Module jar name -# {4} Exception message -cmpc.cmp_bean_error=JDO83001: rilevato {0} durante l''elaborazione del bean CMP [{1}] per l''applicazione [{2}]; modulo [{3}]: {4}. Vedere il log per i dettagli. - -# {0} Exception type -# {1} Application name -# {2} Module jar name -# {3} Exception message -cmpc.cmp_module_error=JDO83002: rilevato {0} durante l''elaborazione del bean CMP per l''applicazione [{1}]; modulo [{2}]: {3}. Vedere il log per i dettagli. - -cmpc.compile=JDO83003: compilazione di {0} in corso... -cmpc.cmp_complilation_failed=JDO83004: compilazione CMP non riuscita. Vedere il log per i dettagli. -cmpc.processing_cmp=JDO83005: inizio della sezione CMP per [{0}] -cmpc.done_processing_cmp=JDO83006: fine della sezione CMP per [{0}] -cmpc.cmp_complilation_exception=JDO83007: rilevata eccezione durante la compilazione delle classi generate: {0} -cmpc.cmp_complilation_problems=JDO83008: compilazione CMP non riuscita: {0} - -cmpc.cmp_cleanup_problems=JDO83009: cleanup CMP non riuscito. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_ja.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_ja.properties deleted file mode 100644 index 7a44959383b..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_ja.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO83000 - JDO83999 -############################################################################### -# {0} Exception type -# {1} Application name -# {2} Exception message -cmpc.cmp_app_error=JDO83000: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3[{1}]\u3001\u307E\u305F\u306F\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3[{1}]\u306ECMP Bean\u7528\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u751F\u6210\u3055\u308C\u305F\u30AF\u30E9\u30B9\u306E\u51E6\u7406\u4E2D\u306B{0}\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F: {2}\u3002\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# {0} Exception type -# {1} EJB Name -# {2} Application name -# {3} Module jar name -# {4} Exception message -cmpc.cmp_bean_error=JDO83001: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3[{2}]\u3001\u30E2\u30B8\u30E5\u30FC\u30EB[{3}]\u306ECMP Bean [{1}]\u306E\u51E6\u7406\u4E2D\u306B{0}\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F: {4}\u3002\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# {0} Exception type -# {1} Application name -# {2} Module jar name -# {3} Exception message -cmpc.cmp_module_error=JDO83002: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3[{1}]\u3001\u30E2\u30B8\u30E5\u30FC\u30EB[{2}]\u306ECMP Bean\u306E\u51E6\u7406\u4E2D\u306B{0}\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F: {3}\u3002\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -cmpc.compile=JDO83003: {0}\u3092\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u3044\u307E\u3059.... -cmpc.cmp_complilation_failed=JDO83004: CMP\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -cmpc.processing_cmp=JDO83005: [{0}]\u306ECMP\u30BB\u30AF\u30B7\u30E7\u30F3\u306E\u958B\u59CB -cmpc.done_processing_cmp=JDO83006: [{0}]\u306ECMP\u30BB\u30AF\u30B7\u30E7\u30F3\u306E\u7D42\u4E86 -cmpc.cmp_complilation_exception=JDO83007: \u30AF\u30E9\u30B9\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u751F\u6210\u4E2D\u306B\u4F8B\u5916\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F: {0} -cmpc.cmp_complilation_problems=JDO83008: CMP\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F: {0} - -cmpc.cmp_cleanup_problems=JDO83009: CMP\u306E\u30AF\u30EA\u30FC\u30F3\u30A2\u30C3\u30D7\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_ko.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_ko.properties deleted file mode 100644 index 178cc6ba813..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_ko.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO83000 - JDO83999 -############################################################################### -# {0} Exception type -# {1} Application name -# {2} Exception message -cmpc.cmp_app_error=JDO83000: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 [{1}]\uC744(\uB97C) \uCC98\uB9AC\uD558\uB294 \uC911 \uB610\uB294 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 [{1}]\uC5D0 \uB300\uD574 \uC0DD\uC131\uB41C CMP Bean \uD074\uB798\uC2A4\uB97C \uCEF4\uD30C\uC77C\uD558\uB294 \uC911 {0} \uBC1C\uC0DD: {2}. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 \uB85C\uADF8\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624. - -# {0} Exception type -# {1} EJB Name -# {2} Application name -# {3} Module jar name -# {4} Exception message -cmpc.cmp_bean_error=JDO83001: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 [{2}]\uC5D0 \uB300\uD55C CMP Bean [{1}]\uC744(\uB97C) \uCC98\uB9AC\uD558\uB294 \uC911 {0} \uBC1C\uC0DD, \uBAA8\uB4C8 [{3}]: {4}. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 \uB85C\uADF8\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624. - -# {0} Exception type -# {1} Application name -# {2} Module jar name -# {3} Exception message -cmpc.cmp_module_error=JDO83002: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 [{1}]\uC5D0 \uB300\uD55C CMP Bean\uC744 \uCC98\uB9AC\uD558\uB294 \uC911 {0} \uBC1C\uC0DD, \uBAA8\uB4C8 [{2}]: {3}. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 \uB85C\uADF8\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624. - -cmpc.compile=JDO83003: {0}\uC744(\uB97C) \uCEF4\uD30C\uC77C\uD558\uB294 \uC911.... -cmpc.cmp_complilation_failed=JDO83004: CMP \uCEF4\uD30C\uC77C\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uC790\uC138\uD55C \uB0B4\uC6A9\uC740 \uB85C\uADF8\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624. -cmpc.processing_cmp=JDO83005: [{0}]\uC758 CMP \uC139\uC158 \uC2DC\uC791 -cmpc.done_processing_cmp=JDO83006: [{0}]\uC758 CMP \uC139\uC158 \uB05D -cmpc.cmp_complilation_exception=JDO83007: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4\uB97C \uCEF4\uD30C\uC77C\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {0} -cmpc.cmp_complilation_problems=JDO83008: CMP \uCEF4\uD30C\uC77C\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. {0} - -cmpc.cmp_cleanup_problems=JDO83009: CMP \uC815\uB9AC\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_pt_BR.properties deleted file mode 100644 index 3a72007895f..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_pt_BR.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO83000 - JDO83999 -############################################################################### -# {0} Exception type -# {1} Application name -# {2} Exception message -cmpc.cmp_app_error=JDO83000: Obtido {0} ao processar a aplica\u00E7\u00E3o [{1}] ou ao compilar classes geradas para beans CMP para a aplica\u00E7\u00E3o [{1}]: {2}. Consulte o log para obter detalhes. - -# {0} Exception type -# {1} EJB Name -# {2} Application name -# {3} Module jar name -# {4} Exception message -cmpc.cmp_bean_error=JDO83001: Obtido {0} ao processar o bean CMP [{1}] para a aplica\u00E7\u00E3o [{2}]; m\u00F3dulo [{3}]: {4}. Consulte o log para obter detalhes. - -# {0} Exception type -# {1} Application name -# {2} Module jar name -# {3} Exception message -cmpc.cmp_module_error=JDO83002: Obtido {0} ao processar beans CMP para a aplica\u00E7\u00E3o [{1}]; m\u00F3dulo [{2}]: {3}. Consulte o log para obter detalhes. - -cmpc.compile=JDO83003: Compilando {0} .... -cmpc.cmp_complilation_failed=JDO83004: Falha na compila\u00E7\u00E3o CMP. Consulte o log para obter detalhes. -cmpc.processing_cmp=JDO83005: In\u00EDcio da se\u00E7\u00E3o CMP para [{0}] -cmpc.done_processing_cmp=JDO83006: Fim da se\u00E7\u00E3o CMP para [{0}] -cmpc.cmp_complilation_exception=JDO83007: Foi obtida uma exce\u00E7\u00E3o ao compilar classes geradas: {0} -cmpc.cmp_complilation_problems=JDO83008: Falha na compila\u00E7\u00E3o CMP: {0} - -cmpc.cmp_cleanup_problems=JDO83009: Falha na limpeza CMP. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_zh_CN.properties deleted file mode 100644 index f1c506b2a39..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_zh_CN.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO83000 - JDO83999 -############################################################################### -# {0} Exception type -# {1} Application name -# {2} Exception message -cmpc.cmp_app_error=JDO83000: \u5904\u7406\u5E94\u7528\u7A0B\u5E8F [{1}] \u6216\u4E3A\u5E94\u7528\u7A0B\u5E8F [{1}] \u7F16\u8BD1 CMP Bean \u7684\u751F\u6210\u7684\u7C7B\u65F6\u6355\u83B7 {0}: {2}\u3002\u8BF7\u53C2\u9605\u65E5\u5FD7, \u4EE5\u83B7\u53D6\u8BE6\u7EC6\u4FE1\u606F\u3002 - -# {0} Exception type -# {1} EJB Name -# {2} Application name -# {3} Module jar name -# {4} Exception message -cmpc.cmp_bean_error=JDO83001: \u4E3A\u5E94\u7528\u7A0B\u5E8F [{2}]; \u6A21\u5757 [{3}] \u5904\u7406 CMP Bean [{1}] \u65F6\u6355\u83B7 {0}: {4}\u3002\u8BF7\u53C2\u9605\u65E5\u5FD7, \u4EE5\u83B7\u53D6\u8BE6\u7EC6\u4FE1\u606F\u3002 - -# {0} Exception type -# {1} Application name -# {2} Module jar name -# {3} Exception message -cmpc.cmp_module_error=JDO83002: \u4E3A\u5E94\u7528\u7A0B\u5E8F [{1}]; \u6A21\u5757 [{2}] \u5904\u7406 CMP Bean \u65F6\u6355\u83B7 {0}: {3}\u3002\u8BF7\u53C2\u9605\u65E5\u5FD7, \u4EE5\u83B7\u53D6\u8BE6\u7EC6\u4FE1\u606F\u3002 - -cmpc.compile=JDO83003: \u6B63\u5728\u7F16\u8BD1 {0}.... -cmpc.cmp_complilation_failed=JDO83004: CMP \u7F16\u8BD1\u5931\u8D25\u3002\u8BF7\u53C2\u9605\u65E5\u5FD7, \u4EE5\u83B7\u53D6\u8BE6\u7EC6\u4FE1\u606F\u3002 -cmpc.processing_cmp=JDO83005: [{0}] \u7684 CMP \u90E8\u5206\u7684\u5F00\u59CB -cmpc.done_processing_cmp=JDO83006: [{0}] \u7684 CMP \u90E8\u5206\u7684\u7ED3\u675F -cmpc.cmp_complilation_exception=JDO83007: \u7F16\u8BD1\u751F\u6210\u7684\u7C7B\u65F6\u6355\u83B7\u5230\u5F02\u5E38\u9519\u8BEF: {0} -cmpc.cmp_complilation_problems=JDO83008: CMP \u7F16\u8BD1\u5931\u8D25: {0} - -cmpc.cmp_cleanup_problems=JDO83009: CMP \u6E05\u7406\u5931\u8D25\u3002 diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_zh_TW.properties deleted file mode 100644 index 863c4cf4f96..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle_zh_TW.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO83000 - JDO83999 -############################################################################### -# {0} Exception type -# {1} Application name -# {2} Exception message -cmpc.cmp_app_error=JDO83000\uFF1A\u8655\u7406\u61C9\u7528\u7A0B\u5F0F [{1}] \u6216\u7DE8\u8B6F\u70BA\u61C9\u7528\u7A0B\u5F0F [{1}] \u7684 CMP Bean \u7522\u751F\u7684\u985E\u5225\u6642\u64F7\u53D6\u4E86 {0}\uFE55{2}\u3002\u8ACB\u53C3\u95B1\u65E5\u8A8C\uFF0C\u4EE5\u53D6\u5F97\u8A73\u7D30\u8CC7\u8A0A\u3002 - -# {0} Exception type -# {1} EJB Name -# {2} Application name -# {3} Module jar name -# {4} Exception message -cmpc.cmp_bean_error=JDO83001\uFF1A\u8655\u7406\u61C9\u7528\u7A0B\u5F0F [{2}] \u7684 CMP Bean [{1}] \u6642\u64F7\u53D6\u4E86 {0}\uFF1B\u6A21\u7D44 [{3}]\uFF1A{4}\u3002\u8ACB\u53C3\u95B1\u65E5\u8A8C\uFF0C\u4EE5\u53D6\u5F97\u8A73\u7D30\u8CC7\u8A0A\u3002 - -# {0} Exception type -# {1} Application name -# {2} Module jar name -# {3} Exception message -cmpc.cmp_module_error=JDO83002\uFF1A\u8655\u7406\u61C9\u7528\u7A0B\u5F0F [{1}] \u7684 CMP Bean \u6642\u64F7\u53D6\u4E86 {0}\uFF1B\u6A21\u7D44 [{2}]\uFF1A{3}\u3002 \u8ACB\u53C3\u95B1\u65E5\u8A8C\uFF0C\u4EE5\u53D6\u5F97\u8A73\u7D30\u8CC7\u8A0A\u3002 - -cmpc.compile=JDO83003\uFF1A\u6B63\u5728\u7DE8\u8B6F {0} .... -cmpc.cmp_complilation_failed=JDO83004\uFF1ACMP \u7DE8\u8B6F\u5931\u6557\u3002\u8ACB\u53C3\u95B1\u65E5\u8A8C\uFF0C\u4EE5\u53D6\u5F97\u8A73\u7D30\u8CC7\u8A0A\u3002 -cmpc.processing_cmp=JDO83005\uFF1A[{0}] \u7684 CMP \u5340\u6BB5\u958B\u59CB -cmpc.done_processing_cmp=JDO83006\uFF1A[{0}] \u7684 CMP \u5340\u6BB5\u7D50\u675F -cmpc.cmp_complilation_exception=JDO83007\uFF1A\u7DE8\u8B6F\u7522\u751F\u7684\u985E\u5225\u6642\u64F7\u53D6\u4E86\u7570\u5E38\uFF1A{0} -cmpc.cmp_complilation_problems=JDO83008\uFF1ACMP \u7DE8\u8B6F\u5931\u6557\uFF1A{0} - -cmpc.cmp_cleanup_problems=JDO83009\uFF1ACMP \u6E05\u9664\u5931\u6557\u3002 diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_de.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_de.properties deleted file mode 100644 index 87a3b1b9579..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_de.properties +++ /dev/null @@ -1,286 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO74000 - JDO74999 -############################################################################### -#{0}=exact name of the ejbCreate... method. -#{1}=Abstract bean name. -EXC_NoCreateException=JDO74000: Methode {0} () in {1} deklariert keine CreateException in der Ausl\u00F6seklausel. - -EXC_TransactionNotActive=JDO74001: Transaktion ist nicht aktiv. -# {0}= ejb -# {1}= method name -EXC_PKUpdate=JDO74002: Bean ''{0}'' Methode {1}: Wert f\u00FCr Prim\u00E4rschl\u00FCsselfeld kann nicht ge\u00E4ndert werden. - -CMG.ModelExceptionOnDeleteAction=JDO74003: ModelException auf setDeleteAction abgefangen: -JDO74003.diag.cause.1=Interner Fehler im CMP-Modul. -JDO74003.diag.check.1=Dies ist ein unerwarteter interner Fehler. Wenden Sie sich mit der Anwendung und der vollst\u00E4ndigen Meldung aus dem Fehlerlog an Payara Support. - -# {0}= ejb -# {1}= method name -GEN.generic_method_exception=JDO74004: Bean ''{0}'' Methode {1}: - -# {0}= ejb -# {1}= method name -GEN.cmrgettersetter_exception=JDO74005: Bean ''{0}'' ist nicht persistent w\u00E4hrend des Aufrufs von {1}. -JDO74005.diag.cause.1=Auf CMR-Feld wird in ejbCreate zugegriffen. -JDO74005.diag.check.1=Bean-Code \u00E4ndern, um auf CMR-Felder in ejbPostCreate zuzugreifen. - -# {0}= ejb -# {1}= method name -# {2}= parameters -GEN.cmrsettercol_nullexception=JDO74006: Bean ''{0}'' Methode {1}: Collection-Wert kann nicht auf null gesetzt werden. -JDO74006.diag.cause.1=Der an die "Collection CMR set"-Methode \u00FCbergebene Parameter ist null. -JDO74006.diag.check.1=Verwenden Sie die Methode Collection.remove(), um alle verwandten Beans aus dieser Collection zu entfernen. - -GEN.ejbcreate_exception_dup=JDO74007: Bean ''{0}'' Methode {1}: doppelter Schl\u00FCssel; Parameter: {2} -GEN.ejbcreate_exception_othr=JDO74008: Bean ''{0}'' Methode {1}: Probleme bei ejbCreate; Parameter: {2} -GEN.ejbSSReturnBody_exception=JDO74009: Bean ''{0}'' Methode {1}: Probleme beim Ausf\u00FChren der JDOQL-Abfrage mit Parametern {2} -GEN.ejbSSReturnBody_exception_woparams=JDO74010: Bean ''{0}'' Methode {1}: Probleme beim Ausf\u00FChren der JDOQL-Abfrage. - -# {0}= ejb -# {1}= key -GEN.findbypk_exception_notfound=JDO74011: Bean ''{0}'' Methode findByPrimaryKey: Bean kann nicht mit Schl\u00FCssel {1} gefunden werden - -# {0}=finder -GEN.11finder_unsupported_interface_param=JDO74012: CMP 1.1-Suchfunktion ''{0}'' Parameter ''{1}'' wird nicht unterst\u00FCtzt. Parameter des lokalen und Remote-Schnittstellentyps werden als Abfrageparameter nicht unterst\u00FCtzt. - -# {0}=finder name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_finder_exception=JDO74013: Einzelobjekt-Suchfunktion ''{0}'' kann keine {1}-Werte zur\u00FCckgeben. - -GEN.parameters=Parameter: - -# {0}=finder name -GEN.noinstances_finder_exception=JDO74015: Kein Ergebnis f\u00FCr Einzelobjekt-Suchfunktion ''{0}''. - -# {0}=selector name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_selector_exception=JDO74016: Einzelobjekt-Selector ''{0}'' kann keine {1}-Werte zur\u00FCckgeben. - -# {0}=selector name -GEN.noinstances_selector_exception=JDO74017: Kein Ergebnis f\u00FCr Einzelobjekt-Selector ''{0}''. - -# {0}=selector name -GEN.primitivetypenull_exception=JDO74018: Einzelobjekt-Selector ''{0}'', die einen Basistypwert zur\u00FCckgibt, kann nicht null zur\u00FCckgeben. - -# {0} = bean instance. -JDO.beannotloaded_exception=JDO74019: Bean {0} ist nicht geladen. Der Persistence Manager ist in dieser Instanz null. -JDO74019.diag.cause.1=M\u00F6glicher Fehler in EJB-Container und CMR-Laufzeitlebenszyklus. -JDO74019.diag.check.1=Dies ist ein unerwarteter interner Fehler. Schalten Sie die JDO- und CMP-Protokollierung ein, und wenden Sie sich mit der vollst\u00E4ndigen Meldung aus dem Fehlerlog an Payara Support. - -# {0} = bean instance. -JDO.beaninuse_exception=JDO74020: Bean {0} kann nicht in mehr als einer Transaktion verwendet werden. Der Persistence Manager ist in dieser Instanz nicht null. -JDO74020.diag.cause.1=M\u00F6glicher Fehler in EJB-Container und CMR-Laufzeitlebenszyklus. -JDO74020.diag.check.1=Dies ist ein unerwarteter interner Fehler. Schalten Sie die JDO- und CMP-Protokollierung ein, und wenden Sie sich mit der vollst\u00E4ndigen Meldung aus dem Fehlerlog an Payara Support. - -# {0} = bean instance. -JDO.containertransaction_exception=JDO74021: Bean {0} nimmt an einer Containertransaktion teil, aber der Persistence Manager ist in dieser Instanz null. -JDO74021.diag.cause.1=ejbRemove oder ejbStore wird in einer aktiven Transaktion aufgerufen, ohne dass das Bean in derselben Transaktion geladen wird. M\u00F6glicher Fehler in EJB-Container und CMR-Laufzeitlebenszyklus. -JDO74021.diag.check.1=Dies ist ein unerwarteter interner Fehler. Schalten Sie die JDO- und CMP-Protokollierung ein, und wenden Sie sich mit der vollst\u00E4ndigen Meldung aus dem Fehlerlog an Payara Support. - -JDO.pmfnull_exception=JDO74022: Persistence Manager-Factory ist null. - -# {0}= key -JDO.instancedeleted_exception=JDO74023: Instanz mit Schl\u00FCssel {0} wurde bei dieser Transaktion gel\u00F6scht. - -# Missing CMP 1.1 finder -# {0}=finder name -EXC_MissingCMP11Finder=JDO74024: Fehlende oder ung\u00FCltige Definition der JDOQL-Abfrageelemente f\u00FCr CMP 1.1-Suchfunktion {0}. - -# Messages for cmp logging - -# {0}=bean name -# {1} application name -# {2} bundle name -# {3}=validation message -CMG.ExceptionInValidate=JDO74025: JDOCodeGenerator: Ausnahmefehler beim \u00DCberpr\u00FCfen des CMP-Bean ''{0}'' in Anwendung ''{1}'' Modul ''{2}'' abgefangen: {3} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.ExceptionInGenerate=JDO74026: JDOCodeGenerator: Ausnahmefehler beim Generieren des CMP-Beans ''{0}'' in Anwendung ''{1}'' Modul ''{2}'' abgefangen: {3} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.DBException=JDO74027: JDOCodeGenerator: DBException beim Laden oder Erstellen des Datenbankmodells f\u00FCr Anwendung ''{0}'' Modul ''{1}'' abgefangen: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.Schema2BeansException=JDO74028: JDOCodeGenerator: Schema2BeansException beim Laden oder Erstellen der Zuordnung f\u00FCr Anwendung ''{0}'' Modul ''{1}'' abgefangen: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.ModelException=JDO74029: JDOCodeGenerator: ModelException beim Laden oder Erstellen des Modells f\u00FCr Anwendung ''{0}'' Modul ''{1}'' abgefangen: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInInit=JDO74030: JDOCodeGenerator: IOException beim Initialisieren der CMP-Code-Generierung f\u00FCr Anwendung ''{0}'' Modul ''{1}'' abgefangen: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInCleanup=JDO74031: JDOCodeGenerator: IOException beim Fertigstellen der CMP-Code-Generierung f\u00FCr Anwendung ''{0}'' Modul ''{1}'' abgefangen: {2} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.IOExceptionInGenerate=JDO74032: JDOCodeGenerator: IOException beim Generieren von Code f\u00FCr CMP-Bean ''{0}'' in Anwendung ''{1}'' Modul ''{2}'' abgefangen: {3} - -# {0} - application name. -# {1} - bundle name. -EXC_MissingCMPResource=JDO74033: Anwendung ''{0}'' Modul ''{1}'' kann mit CMP-Beans nicht bereitgestellt werden: cmp-resource ist f\u00FCr dieses Modul nicht definiert. Die Mindestanforderung f\u00FCr eine cmp-resource ist die Angabe des JNDI-Namens einer jdbc-resource oder einer persistence-manager-factory-resource zur Verwendung mit den Beans. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.SQLException=JDO74034: JDOCodeGenerator: SQLException beim Laden oder Erstellen des Datenbankmodells f\u00FCr Anwendung ''{0}'' Modul ''{1}'' abgefangen: {2} - -# {0} application name -# {1} bundle name -# {2} name of dbschema file -CMG.MissingDBSchema=JDO74035: JDOCodeGenerator: Problem beim Erstellen des Datenbankmodells f\u00FCr Anwendung ''{0}'' Modul ''{1}'': Schemadatei ''{2}'' kann nicht gelesen werden oder Zugriff darauf nicht m\u00F6glich. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.CannotSaveDBSchema=JDO74036: JDOCodeGenerator: IOException beim Speichern des Datenbankmodells f\u00FCr Anwendung ''{0}'' Modul ''{1}'' abgefangen: {2} - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBCLIOverrides=JDO74038: W\u00E4hrend des Deployments der Anwendung ''{0}'': Modul ''{1}'' ist bereits zugeordnet, sodass keine der folgenden Deployment-Optionen auf dieses Modul angewendet werden: --uniquetablenames, --createtables, --dropandcreatetables, --dbvendorname. - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBUniqueTableNames=JDO74039: W\u00E4hrend des Deployments der Anwendung ''{0}'': Modul ''{1}'' ist bereits zugeordnet, sodass die Deployment-Option --uniquetablenames nicht angewendet wird. - -# {0} - application name. -# {1} - bundle name. -CMG.BeansFileSizeIsZero=JDO74040: W\u00E4hrend des Deployments von ''{1}'' aus ''{0}'': sun-cmp-mappings.xml existiert, ist jedoch leer. Es sollte entweder einen g\u00FCltigen Content aufweisen und im Modul verpackt oder aber nicht vorhanden sein (in letzterem Fall wird das Datenbankschema automatisch generiert.). - -# {0} - application name. -# {1} - bundle name. -# {2} exception text -CMG.InvalidSunCmpMappingsFile=JDO74041: W\u00E4hrend des Deployments von ''{1}'' aus ''{0}'': sun-cmp-mappings.xml existiert, hat jedoch einen ung\u00FCltigen Content: {2} - -# {0} bean name -# {1} application name -# {2} bundle name -CMG.MissingBeanMapping=JDO74042: Die Zuordnung f\u00FCr CMP-Bean ''{0}'' in Anwendung ''{1}'' Modul ''{2}'' fehlt in sun-cmp-mappings.xml. - -# {0}= ejb -# {1}= method name -GEN.update_not_allowed=JDO74043: Bean ''{0}'' Methode {1}: Aktualisierungsvorg\u00E4nge sind f\u00FCr diesen Bean-Typ nicht zul\u00E4ssig. -JDO74043.diag.cause.1=Erstellung, Entfernung oder Aktualisierung wurde f\u00FCr ein schreibgesch\u00FCtztes Bean aufgerufen. -JDO74043.diag.check.1=Versuchen Sie nicht, schreibgesch\u00FCtzte Beans zu aktualisieren. -JDO74043.diag.check.2=Wenn eine Aktualisierung erforderlich ist, muss das Bean als zwei unterschiedliche EJBs bereitgestellt werden: als schreibgesch\u00FCtztes Bean und als aktualisierbares Bean. Alle Aktualisierungen m\u00FCssen mit dem zweiten Bean durchgef\u00FChrt werden. - -#{0}=ejb -#{0}=field name -CMG.CMRAccessNotAllowed=JDO74044: Bean ''{0}'' ist schreibgesch\u00FCtzt und l\u00E4sst den Zugriff des CMR-Feldes ''{1}'' nicht zu. - -# {0}= ejb -# {1}= key -GEN.clone_exception=JDO74045: Bean ''{0}''-Instanz mit Schl\u00FCssel {1} kann nicht geclont werden. -JDO74045.diag.cause.1=Die Statusklasse ist f\u00FCr dieses CMP-Bean nicht ordnungsgem\u00E4\u00DF generiert. -JDO74045.diag.check.1=Dies ist ein unerwarteter interner Fehler. Wenden Sie sich mit der Anwendung und der vollst\u00E4ndigen Meldung aus dem Fehlerlog an Payara Support. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.MappingConversionException=JDO74046: JDOCodeGenerator: MappingConversionException beim Laden oder Erstellen des Zuordnungsmodells f\u00FCr Anwendung ''{0}'' Modul ''{1}'' abgefangen: {2} - -JDO.pm_closed_exception=JDO74047: Persistence Manager wird geschlossen. - -# The following messages JDO76606 through JDO76615 were originally in -# cmp/support/sqlstore/src/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties -# They have been moved to this bundle as part of the INF#82833 -# Most of these messages had been moved to persistence/common module -# -# DeploymentEventListenerImpl messages - ejb -# -# {0} Application name. -# {1} File name. -ejb.BaseProcessor.cannotdroptables=JDO76607: F\u00FCr Anwendung {0} k\u00F6nnen keine Tabellen gel\u00F6scht werden. Die erwartete DDL-Datei {1} ist nicht verf\u00FCgbar. -# {0} File name. -ejb.BaseProcessor.nodropfile=JDO76608: F\u00FCr das Deployment k\u00F6nnen keine Tabellen gel\u00F6scht werden. Die erwartete DDL-Datei {0} ist nicht verf\u00FCgbar. - -ejb.PersistenceProcessor.nondefaultprovider=JDO76616: Die java2db-Funktion wird f\u00FCr den von Ihnen angegebenen Persistenzprovider ''{0}'' nicht unterst\u00FCtzt. Daher werden die mit den Einheiten der PU namens ''{1}'' verbundenen Tabellen nicht erstellt und/oder aus der Datenbank entfernt. - -# -# -# -ejb.CMPProcessor.createanddroptables=Ereignis f\u00FCr das Erstellen von Tabellen wird verarbeitet: {0}, Tabellen l\u00F6schen: {1}. -ejb.PersistenceProcessor.createanddroptables=Ereignis f\u00FCr das Erstellen von Tabellen wird verarbeitet: {0}, Tabellen l\u00F6schen: {1}. -ejb.PersistenceProcessor.createanddropfilenames=Ereignis f\u00FCr das Erstellen von Dateien wird verarbeitet - Datei erstellen: {0}, und Datei l\u00F6schen: {1}. -ejb.CMPProcessor.createanddropfilenames=Namen der Dateien f\u00FCr das Erstellen: {0},und f\u00FCr das L\u00F6schen: {1}. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_es.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_es.properties deleted file mode 100644 index ea8d65782ca..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_es.properties +++ /dev/null @@ -1,286 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO74000 - JDO74999 -############################################################################### -#{0}=exact name of the ejbCreate... method. -#{1}=Abstract bean name. -EXC_NoCreateException=JDO74000: el m\u00E9todo {0}() de {1} no declara CreateException en su cl\u00E1usula throws. - -EXC_TransactionNotActive=JDO74001: la transacci\u00F3n no est\u00E1 activa. -# {0}= ejb -# {1}= method name -EXC_PKUpdate=JDO74002: M\u00E9todo {1} de bean ''{0}'': no se puede cambiar el valor del campo de clave primaria. - -CMG.ModelExceptionOnDeleteAction=JDO74003: Se ha encontrado ModelException en setDeleteAction: -JDO74003.diag.cause.1=Error interno en el m\u00F3dulo CMP. -JDO74003.diag.check.1=Se trata de un error interno inesperado. P\u00F3ngase en contacto con Payara Support e indique la aplicaci\u00F3n y el mensaje completo del log de errores. - -# {0}= ejb -# {1}= method name -GEN.generic_method_exception=JDO74004: M\u00E9todo {1} de bean ''{0}'': - -# {0}= ejb -# {1}= method name -GEN.cmrgettersetter_exception=JDO74005: el bean ''{0}'' no es persistente durante la llamada a {1}. -JDO74005.diag.cause.1=Se puede acceder al campo CMR en ejbCreate. -JDO74005.diag.check.1=Cambie el c\u00F3digo del bean para acceder a los campos CMR en ejbPostCreate. - -# {0}= ejb -# {1}= method name -# {2}= parameters -GEN.cmrsettercol_nullexception=JDO74006: M\u00E9todo {1} de bean ''{0}'': no se puede definir el valor Collection en NULL. -JDO74006.diag.cause.1=El par\u00E1metro transferido al m\u00E9todo set de CMR de recopilaci\u00F3n es nulo. -JDO74006.diag.check.1=Utilice el m\u00E9todo Collection.remove() para eliminar todos los beans relacionados de esta recopilaci\u00F3n. - -GEN.ejbcreate_exception_dup=JDO74007: M\u00E9todo {1} de bean ''{0}'': clave duplicada; par\u00E1metros: {2} -GEN.ejbcreate_exception_othr=JDO74008: M\u00E9todo {1} de bean ''{0}'': problemas durante ejbCreate, par\u00E1metros: {2} -GEN.ejbSSReturnBody_exception=JDO74009: M\u00E9todo {1} de bean ''{0}'': problemas al ejecutar la consulta JDOQL con los par\u00E1metros {2} -GEN.ejbSSReturnBody_exception_woparams=JDO74010: M\u00E9todo {1} de bean ''{0}'': problemas al ejecutar la consulta JDOQL. - -# {0}= ejb -# {1}= key -GEN.findbypk_exception_notfound=JDO74011: M\u00E9todo findByPrimaryKey del bean ''{0}'': no se ha encontrado el bean con la clave {1} - -# {0}=finder -GEN.11finder_unsupported_interface_param=JDO74012: el par\u00E1metro ''{1}'' del buscador CMP 1.1 ''{0}'' no tiene un tipo soportado. No est\u00E1n soportados los par\u00E1metros de los tipos de interfaz remota y local como par\u00E1metros de consulta. - -# {0}=finder name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_finder_exception=JDO74013: el buscador de un solo objeto ''{0}'' no puede devolver {1} valores. - -GEN.parameters=Par\u00E1metros: - -# {0}=finder name -GEN.noinstances_finder_exception=JDO74015: no hay ning\u00FAn resultado para el buscador de un solo objeto ''{0}''. - -# {0}=selector name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_selector_exception=JDO74016: el selector de un solo objeto ''{0}'' no puede devolver {1} valores. - -# {0}=selector name -GEN.noinstances_selector_exception=JDO74017: no hay ning\u00FAn resultado para el selector de un solo objeto ''{0}''. - -# {0}=selector name -GEN.primitivetypenull_exception=JDO74018: el selector de un solo objeto ''{0}'' que devuelve un valor de tipo primitivo no puede devolver un valor nulo. - -# {0} = bean instance. -JDO.beannotloaded_exception=JDO74019: no se ha cargado el bean {0}. El gestor de persistencia en esta instancia es nulo. -JDO74019.diag.cause.1=Posible error en el contenedor EJB y en el ciclo de vida de tiempo de ejecuci\u00F3n CMR. -JDO74019.diag.check.1=Se trata de un error interno inesperado. Active el registro de JDO y CMP. P\u00F3ngase en contacto con Payara Support e indique el mensaje completo del log de errores. - -# {0} = bean instance. -JDO.beaninuse_exception=JDO74020: no se puede utilizar el bean {0} en m\u00E1s de una transacci\u00F3n. El gestor de persistencia en esta instancia no es nulo. -JDO74020.diag.cause.1=Posible error en el contenedor EJB y en el ciclo de vida de tiempo de ejecuci\u00F3n CMR. -JDO74020.diag.check.1=Se trata de un error interno inesperado. Active el registro de JDO y CMP. P\u00F3ngase en contacto con Payara Support e indique el mensaje completo del log de errores. - -# {0} = bean instance. -JDO.containertransaction_exception=JDO74021: el bean {0} participa en una transacci\u00F3n del contenedor, pero el gestor de persistencia es nulo en esta instancia. -JDO74021.diag.cause.1=Se ha llamado a ejbRemove o ejbStore en una transacci\u00F3n activa sin cargar el bean en la misma transacci\u00F3n. Posible error en el contenedor EJB y en el ciclo de vida de tiempo de ejecuci\u00F3n CMR. -JDO74021.diag.check.1=Se trata de un error interno inesperado. Active el registro de JDO y CMP. P\u00F3ngase en contacto con Payara Support e indique el mensaje completo del log de errores. - -JDO.pmfnull_exception=JDO74022: la f\u00E1brica del gestor de persistencia es nula. - -# {0}= key -JDO.instancedeleted_exception=JDO74023: se ha suprimido la instancia con la clave {0} en esta transacci\u00F3n. - -# Missing CMP 1.1 finder -# {0}=finder name -EXC_MissingCMP11Finder=JDO74024: definici\u00F3n no v\u00E1lida o que falta de elementos de consulta JDOQL del buscador de CMP 1.1 {0}. - -# Messages for cmp logging - -# {0}=bean name -# {1} application name -# {2} bundle name -# {3}=validation message -CMG.ExceptionInValidate=JDO74025: JDOCodeGenerator: se ha obtenido una excepci\u00F3n al validar el bean de CMP ''{0}'' en la aplicaci\u00F3n ''{1}'', m\u00F3dulo ''{2}'': {3} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.ExceptionInGenerate=JDO74026: JDOCodeGenerator: se ha obtenido una excepci\u00F3n al generar el bean de CMP ''{0}'' en la aplicaci\u00F3n ''{1}'', m\u00F3dulo ''{2}'': {3} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.DBException=JDO74027: JDOCodeGenerator: se ha obtenido una excepci\u00F3n DBException al cargar o crear un modelo de base de datos para la aplicaci\u00F3n ''{0}'', m\u00F3dulo ''{1}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.Schema2BeansException=JDO74028: JDOCodeGenerator: se ha obtenido una excepci\u00F3n Schema2BeansException al cargar o crear la asignaci\u00F3n para la aplicaci\u00F3n ''{0}'', m\u00F3dulo ''{1}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.ModelException=JDO74029: JDOCodeGenerator: se ha obtenido una excepci\u00F3n ModelException al cargar o crear un modelo para la aplicaci\u00F3n ''{0}'', m\u00F3dulo ''{1}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInInit=JDO74030: JDOCodeGenerator: se ha obtenido una excepci\u00F3n IOException al inicializar la generaci\u00F3n del c\u00F3digo CMP para la aplicaci\u00F3n ''{0}'', m\u00F3dulo ''{1}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInCleanup=JDO74031: JDOCodeGenerator: se ha obtenido una excepci\u00F3n IOException al finalizar la generaci\u00F3n del c\u00F3digo CMP para la aplicaci\u00F3n ''{0}'', m\u00F3dulo ''{1}'': {2} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.IOExceptionInGenerate=JDO74032: JDOCodeGenerator: se ha obtenido una excepci\u00F3n IOException al generar el bean de CMP ''{0}'' en la aplicaci\u00F3n ''{1}'', m\u00F3dulo ''{2}'': {3} - -# {0} - application name. -# {1} - bundle name. -EXC_MissingCMPResource=JDO74033: No se puede desplegar la aplicaci\u00F3n ''{0}'', m\u00F3dulo ''{1}'', con beans de CMP: cmp-resource no se ha definido para este m\u00F3dulo. El requisito m\u00EDnimo para un cmp-resource consiste en especificar el nombre jndi de un recurso jdbc o que se utilice un recurso de f\u00E1brica de gestor de persistencia con los beans. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.SQLException=JDO74034: JDOCodeGenerator: se ha obtenido una excepci\u00F3n SQLException al cargar o crear un modelo de base de datos para la aplicaci\u00F3n ''{0}'', m\u00F3dulo ''{1}'': {2} - -# {0} application name -# {1} bundle name -# {2} name of dbschema file -CMG.MissingDBSchema=JDO74035: JDOCodeGenerator: se ha producido un problema al crear un modelo de base de datos para la aplicaci\u00F3n ''{0}'', m\u00F3dulo ''{1}'': no se puede acceder o leer el archivo de esquema ''{2}''. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.CannotSaveDBSchema=JDO74036: JDOCodeGenerator: se ha obtenido una excepci\u00F3n IOException al guardar el modelo de base de datos para la aplicaci\u00F3n ''{0}'', m\u00F3dulo ''{1}'': {2} - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBCLIOverrides=JDO74038: Al desplegar la aplicaci\u00F3n ''{0}'', el m\u00F3dulo ''{1}'' ya se ha asignado, por lo que ninguna de las opciones de despliegue siguientes se aplicar\u00E1n a este m\u00F3dulo: --uniquetablenames, --createtables, --dropandcreatetables, --dbvendorname. - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBUniqueTableNames=JDO74039: Al desplegar la aplicaci\u00F3n ''{0}'', el m\u00F3dulo ''{1}'' ya se ha asignado, por lo que no se aplicar\u00E1 la opci\u00F3n de despliegue --uniquetablenames. - -# {0} - application name. -# {1} - bundle name. -CMG.BeansFileSizeIsZero=JDO74040: al desplegar la aplicaci\u00F3n ''{1}'' desde ''{0}'', sun-cmp-mappings.xml existe, pero est\u00E1 vac\u00EDo. Deber\u00EDa incluir un contenido v\u00E1lido o empaquetarse en el m\u00F3dulo, o no deber\u00EDa aparecer (en ese caso, el esquema de base de datos se generar\u00E1 autom\u00E1ticamente). - -# {0} - application name. -# {1} - bundle name. -# {2} exception text -CMG.InvalidSunCmpMappingsFile=JDO74041: al desplegar ''{1}'' desde ''{0}'', sun-cmp-mappings.xml existe, pero no tiene un contenido v\u00E1lido: {2} - -# {0} bean name -# {1} application name -# {2} bundle name -CMG.MissingBeanMapping=JDO74042: falta la asignaci\u00F3n del bean de CMP ''{0}'' de la aplicaci\u00F3n ''{1}'', m\u00F3dulo ''{2}'', en sun-cmp-mappings.xml. - -# {0}= ejb -# {1}= method name -GEN.update_not_allowed=JDO74043: M\u00E9todo {1} de bean ''{0}'': no se permiten operaciones de actualizaci\u00F3n para este tipo de bean. -JDO74043.diag.cause.1=Las operaciones de creaci\u00F3n, eliminaci\u00F3n o actualizaci\u00F3n se llaman en un bean de s\u00F3lo lectura. -JDO74043.diag.check.1=No intente actualizar en beans de s\u00F3lo lectura. -JDO74043.diag.check.2=Si es necesario realizar una actualizaci\u00F3n, el bean se debe desplegar como dos EJB diferentes: como bean de s\u00F3lo lectura y como bean que permite la actualizaci\u00F3n. Todas las actualizaciones se deben realizar en el segundo bean. - -#{0}=ejb -#{0}=field name -CMG.CMRAccessNotAllowed=JDO74044: el bean ''{0}'' es de s\u00F3lo lectura y no permitir\u00E1 el acceso del campo CMR ''{1}''. - -# {0}= ejb -# {1}= key -GEN.clone_exception=JDO74045: no se puede clonar la instancia ''{0}'' del bean con la clave {1}. -JDO74045.diag.cause.1=La clase de estado no se genera correctamente para este bean de CMP. -JDO74045.diag.check.1=Se trata de un error interno inesperado. P\u00F3ngase en contacto con Payara Support e indique la aplicaci\u00F3n y el mensaje completo del log de errores. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.MappingConversionException=JDO74046: JDOCodeGenerator: se ha obtenido una excepci\u00F3n MappingConversionException al cargar o crear un modelo de asignaci\u00F3n para la aplicaci\u00F3n ''{0}'', m\u00F3dulo ''{1}'': {2} - -JDO.pm_closed_exception=JDO74047: el gestor de persistencia est\u00E1 cerrado. - -# The following messages JDO76606 through JDO76615 were originally in -# cmp/support/sqlstore/src/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties -# They have been moved to this bundle as part of the INF#82833 -# Most of these messages had been moved to persistence/common module -# -# DeploymentEventListenerImpl messages - ejb -# -# {0} Application name. -# {1} File name. -ejb.BaseProcessor.cannotdroptables=JDO76607: no se pueden borrar las tablas para la aplicaci\u00F3n {0}. El archivo DDL esperado {1} no est\u00E1 disponible. -# {0} File name. -ejb.BaseProcessor.nodropfile=JDO76608: no se pueden borrar las tablas para el despliegue. El archivo DDL esperado {0} no est\u00E1 disponible. - -ejb.PersistenceProcessor.nondefaultprovider=JDO76616: la funci\u00F3n java2db no est\u00E1 soportada para el proveedor de persistencia ''{0}'' que ha especificado. Por lo tanto, las tablas asociadas a las entidades de la unidad de persistencia denominada ''{1}'' no se crear\u00E1n ni se borrar\u00E1n de la base de datos. - -# -# -# -ejb.CMPProcessor.createanddroptables=Procesando evento para crear tablas: {0}; borrar tablas: {1}. -ejb.PersistenceProcessor.createanddroptables=Procesando evento para crear tablas: {0}; borrar tablas: {1}. -ejb.PersistenceProcessor.createanddropfilenames=Procesando evento para crear archivos: crear archivo: {0} y borrar archivo: {1}. -ejb.CMPProcessor.createanddropfilenames=Los nombres de los archivos que se van a utilizar para crear son: {0} y para borrar: {1}. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_fr.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_fr.properties deleted file mode 100644 index 85de0807359..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_fr.properties +++ /dev/null @@ -1,286 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO74000 - JDO74999 -############################################################################### -#{0}=exact name of the ejbCreate... method. -#{1}=Abstract bean name. -EXC_NoCreateException=JDO74000 : la m\u00E9thode {0}() dans {1} ne d\u00E9clare pas d''exception CreateException dans ses clauses throws. - -EXC_TransactionNotActive=JDO74001 : la transaction n'est pas active. -# {0}= ejb -# {1}= method name -EXC_PKUpdate=JDO74002 : m\u00E9thode {1} du bean ''{0}'' : impossible de modifier la valeur du champ de cl\u00E9 primaire. - -CMG.ModelExceptionOnDeleteAction=JDO74003 : exception ModelException d\u00E9tect\u00E9e sur SetDeleteAction : -JDO74003.diag.cause.1=Erreur interne du module CMP. -JDO74003.diag.check.1=Erreur interne inattendue. Contactez Payara Support et indiquez votre application et le message du journal d'erreurs dans sa totalit\u00E9. - -# {0}= ejb -# {1}= method name -GEN.generic_method_exception=JDO74004 : m\u00E9thode {1} du bean ''{0}'' : - -# {0}= ejb -# {1}= method name -GEN.cmrgettersetter_exception=JDO74005 : le bean ''{0}'' n''est pas persistant lors de l''appel de {1}. -JDO74005.diag.cause.1=Acc\u00E8s au champ CMR via ejbCreate. -JDO74005.diag.check.1=Modifiez le code d'acc\u00E8s aux champs CMR via ejbPostCreate. - -# {0}= ejb -# {1}= method name -# {2}= parameters -GEN.cmrsettercol_nullexception=JDO74006 : m\u00E9thode {1} du bean ''{0}'' : impossible d''affecter la valeur NULL \u00E0 la collection. -JDO74006.diag.cause.1=Le param\u00E8tre transmis \u00E0 la m\u00E9thode de d\u00E9finition de la collection CMR est NULL. -JDO74006.diag.check.1=Utilisez la m\u00E9thode Collection.remove() pour enlever la totalit\u00E9 des beans r\u00E9f\u00E9renc\u00E9s de cette collection. - -GEN.ejbcreate_exception_dup=JDO74007 : m\u00E9thode {1} du bean ''{0}'' : cl\u00E9 en double ; param\u00E8tres : {2} -GEN.ejbcreate_exception_othr=JDO74008 : m\u00E9thode {1} du bean ''{0}'' : probl\u00E8mes avec ejbCreate ; param\u00E8tres : {2} -GEN.ejbSSReturnBody_exception=JDO74009 : m\u00E9thode {1} du bean ''{0}'' : probl\u00E8mes lors de l''ex\u00E9cution de la requ\u00EAte JDOQL avec les param\u00E8tres {2} -GEN.ejbSSReturnBody_exception_woparams=JDO74010 : m\u00E9thode {1} du bean ''{0}'' : probl\u00E8mes lors de l''ex\u00E9cution de la requ\u00EAte JDOQL. - -# {0}= ejb -# {1}= key -GEN.findbypk_exception_notfound=JDO74011 : m\u00E9thode findByPrimaryKey du bean ''{0}'' : impossible de trouver le bean dont la cl\u00E9 est {1} - -# {0}=finder -GEN.11finder_unsupported_interface_param=JDO74012 : le param\u00E8tre ''{1}'' de la m\u00E9thode finder ''{0}'' du CMP 1.1 n''est pas pris en charge. Les param\u00E8tres des interfaces de type locale et distante ne sont pas pris en charge comme param\u00E8tres de requ\u00EAte. - -# {0}=finder name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_finder_exception=JDO74013 : la m\u00E9thode finder d''objet unique ''{0}'' ne peut pas renvoyer les valeurs {1}. - -GEN.parameters=Param\u00E8tres : - -# {0}=finder name -GEN.noinstances_finder_exception=JDO74015 : la m\u00E9thode finder d''objet unique ''{0}'' n''a renvoy\u00E9 aucun r\u00E9sultat. - -# {0}=selector name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_selector_exception=JDO74016 : le s\u00E9lecteur d''objet unique ''{0}'' ne peut pas renvoyer les valeurs {1}. - -# {0}=selector name -GEN.noinstances_selector_exception=JDO74017 : le s\u00E9lecteur d''objet unique ''{0}'' n''a renvoy\u00E9 aucun r\u00E9sultat. - -# {0}=selector name -GEN.primitivetypenull_exception=JDO74018 : le s\u00E9lecteur d''objet unique ''{0}'' qui renvoie une valeur de type primitif ne peut pas renvoyer la valeur NULL. - -# {0} = bean instance. -JDO.beannotloaded_exception=JDO74019 : le bean {0} n''est pas charg\u00E9. La valeur du gestionnaire de persistance de cette instance est NULL. -JDO74019.diag.cause.1=Erreur possible dans le conteneur EJB ou lors du cycle de vie d'ex\u00E9cution du CMR. -JDO74019.diag.check.1=Erreur interne inattendue. Activez JDO et la fonction de journalisation CMP, puis contactez Payara Support et indiquez le message du journal d'erreurs dans sa totalit\u00E9. - -# {0} = bean instance. -JDO.beaninuse_exception=JDO74020 : impossible d''utiliser le bean {0} dans plusieurs transactions. La valeur du gestionnaire de persistance de cette instance n''est pas NULL. -JDO74020.diag.cause.1=Erreur possible dans le conteneur EJB ou lors du cycle de vie d'ex\u00E9cution du CMR. -JDO74020.diag.check.1=Erreur interne inattendue. Activez JDO et la fonction de journalisation CMP, puis contactez Payara Support et indiquez le message du journal d'erreurs dans sa totalit\u00E9. - -# {0} = bean instance. -JDO.containertransaction_exception=JDO74021 : le bean {0} est impliqu\u00E9 dans une transaction de conteneur, mais la valeur du gestionnaire de persistance de cette instance est NULL. -JDO74021.diag.cause.1=La m\u00E9thode ejbRemove ou ejbStore est appel\u00E9e par une transaction active sans que le bean ne soit charg\u00E9 dans la m\u00EAme transaction. Erreur possible dans le conteneur EJB ou lors du cycle de vie d'ex\u00E9cution du CMR. -JDO74021.diag.check.1=Erreur interne inattendue. Activez JDO et la fonction de journalisation CMP, puis contactez Payara Support et indiquez le message du journal d'erreurs dans sa totalit\u00E9. - -JDO.pmfnull_exception=JDO74022 : la fabrique PersistenceManager est NULL. - -# {0}= key -JDO.instancedeleted_exception=JDO74023 : l''instance dont la cl\u00E9 est {0} a \u00E9t\u00E9 supprim\u00E9e lors de cette transaction. - -# Missing CMP 1.1 finder -# {0}=finder name -EXC_MissingCMP11Finder=JDO74024 : d\u00E9finition manquante ou non valide des \u00E9l\u00E9ments de la requ\u00EAte JDOQL pour la m\u00E9thode finder du CMP 1.1 {0}. - -# Messages for cmp logging - -# {0}=bean name -# {1} application name -# {2} bundle name -# {3}=validation message -CMG.ExceptionInValidate=JDO74025 : JDOCodeGenerator : exception lors de la validation du bean CMP ''{0}'' dans l''application ''{1}'', module ''{2}'' : {3} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.ExceptionInGenerate=JDO74026 : JDOCodeGenerator : exception lors de la g\u00E9n\u00E9ration du bean CMP ''{0}'' dans l''application ''{1}'', module ''{2}'' : {3} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.DBException=JDO74027 : JDOCodeGenerator : exception DBException lors du chargement ou de la cr\u00E9ation du mod\u00E8le de base de donn\u00E9es pour l''application ''{0}'', module ''{1}'' : {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.Schema2BeansException=JDO74028 : JDOCodeGenerator : exception Schema2BeansException d\u00E9tect\u00E9e lors du chargement ou de la cr\u00E9ation d''un mapping pour l''application ''{0}'', module ''{1}'' : {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.ModelException=JDO74029 : JDOCodeGenerator : exception ModelException lors du chargement ou de la cr\u00E9ation du mod\u00E8le pour l''application ''{0}'', module ''{1}'' : {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInInit=JDO74030 : JDOCodeGenerator : exception IOException lors de l''initialisation de la g\u00E9n\u00E9ration de code CMP pour l''application ''{0}'', module ''{1}'' : {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInCleanup=JDO74031 : JDOCodeGenerator : exception IOException lors de la fin de la g\u00E9n\u00E9ration de code CMP pour l''application ''{0}'', module ''{1}'' : {2} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.IOExceptionInGenerate=JDO74032 : JDOCodeGenerator : exception IOException lors de la g\u00E9n\u00E9ration de code pour le bean CMP ''{0}'' dans l''application ''{1}'', module ''{2}'' : {3} - -# {0} - application name. -# {1} - bundle name. -EXC_MissingCMPResource=JDO74033 : impossible de d\u00E9ployer l''application ''{0}'', module ''{1}'' avec les beans CMP : cmp-resource n''est pas d\u00E9fini pour ce module. La condition minimale requise pour cmp-resource consiste \u00E0 indiquer le nom jndi-name de jdbc-resource ou la ressource persistence-manager-factory-resource \u00E0 utiliser avec les beans. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.SQLException=JDO74034 : JDOCodeGenerator : exception SQLException lors du chargement ou de la cr\u00E9ation du mod\u00E8le de base de donn\u00E9es pour l''application ''{0}'', module ''{1}'' : {2} - -# {0} application name -# {1} bundle name -# {2} name of dbschema file -CMG.MissingDBSchema=JDO74035 : JDOCodeGenerator : erreur lors de la cr\u00E9ation du mod\u00E8le de base de donn\u00E9es pour l''application ''{0}'', module ''{1}'' : impossible d''acc\u00E9der au fichier sch\u00E9ma ''{2}'' ou de le lire. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.CannotSaveDBSchema=JDO74036 : JDOCodeGenerator : exception IOException lors de l''enregistrement du mod\u00E8le de base de donn\u00E9es pour l''application ''{0}'', module ''{1}'' : {2} - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBCLIOverrides=JDO74038 : lors du d\u00E9ploiement de l''application ''{0}'' : le module ''{1}'' \u00E9tant d\u00E9j\u00E0 mapp\u00E9, aucune des options de d\u00E9ploiement suivantes ne sera appliqu\u00E9e au module : --uniquetablenames, --createtables, --dropandcreatetables, --dbvendorname. - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBUniqueTableNames=JDO74039 : lors du d\u00E9ploiement de l''application ''{0}'' : le module ''{1}'' \u00E9tant d\u00E9j\u00E0 mapp\u00E9, l''option de d\u00E9ploiement --uniquetablenames ne sera pas appliqu\u00E9e. - -# {0} - application name. -# {1} - bundle name. -CMG.BeansFileSizeIsZero=JDO74040 : lors du d\u00E9ploiement de ''{1}'' \u00E0 partir de ''{0}'' : le fichier sun-cmp-mappings.xml existe mais il est vide. Le contenu de ce fichier est valide et doit \u00EAtre packag\u00E9 dans le module, ou ce fichier est absent (dans ce cas, le sch\u00E9ma de la base de donn\u00E9es est automatiquement g\u00E9n\u00E9r\u00E9). - -# {0} - application name. -# {1} - bundle name. -# {2} exception text -CMG.InvalidSunCmpMappingsFile=JDO74041 : lors du d\u00E9ploiement de ''{1}'' \u00E0 partir de ''{0}'' : le fichier sun-cmp-mappings.xml existe mais son contenu n''est pas valide. {2} - -# {0} bean name -# {1} application name -# {2} bundle name -CMG.MissingBeanMapping=JDO74042 : le mapping du bean CMP ''{0}'' dans l''application ''{1}'', module ''{2}'', ne figure pas dans le fichier sun-cmp-mappings.xml. - -# {0}= ejb -# {1}= method name -GEN.update_not_allowed=JDO74043 : m\u00E9thode {1} du bean ''{0}'' : les op\u00E9rations de mise \u00E0 jour ne sont pas autoris\u00E9es avec ce type de bean. -JDO74043.diag.cause.1=Une instruction de cr\u00E9ation, de suppression ou de mise \u00E0 jour a \u00E9t\u00E9 appel\u00E9e sur un bean en lecture seule. -JDO74043.diag.check.1=N'essayez pas de mettre \u00E0 jour des beans en lecture seule. -JDO74043.diag.check.2=Si une mise \u00E0 jour est requise, le bean doit \u00EAtre d\u00E9ploy\u00E9 de mani\u00E8re \u00E0 obtenir deux EJB diff\u00E9rents : un bean en lecture seule et un bean pouvant \u00EAtre mis \u00E0 jour. Toutes les mises \u00E0 jour doivent \u00EAtre effectu\u00E9es sur le second bean. - -#{0}=ejb -#{0}=field name -CMG.CMRAccessNotAllowed=JDO74044 : le bean ''{0}'' est en lecture seule et ne permet pas l''acc\u00E8s au champ CMR ''{1}''. - -# {0}= ejb -# {1}= key -GEN.clone_exception=JDO74045 : impossible de cloner l''instance du bean ''{0}'' avec la cl\u00E9 {1}. -JDO74045.diag.cause.1=La classe d'\u00E9tat n'a pas \u00E9t\u00E9 g\u00E9n\u00E9r\u00E9e correctement pour ce bean CMP. -JDO74045.diag.check.1=Erreur interne inattendue. Contactez Payara Support et indiquez votre application et le message du journal d'erreurs dans sa totalit\u00E9. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.MappingConversionException=JDO74046 : JDOCodeGenerator : exception MappingConversionException d\u00E9tect\u00E9e lors du chargement ou de la cr\u00E9ation d''un mod\u00E8le de mapping pour l''application ''{0}'', module ''{1}'' : {2} - -JDO.pm_closed_exception=JDO74047 : le gestionnaire de persistance est ferm\u00E9. - -# The following messages JDO76606 through JDO76615 were originally in -# cmp/support/sqlstore/src/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties -# They have been moved to this bundle as part of the INF#82833 -# Most of these messages had been moved to persistence/common module -# -# DeploymentEventListenerImpl messages - ejb -# -# {0} Application name. -# {1} File name. -ejb.BaseProcessor.cannotdroptables=JDO76607 : impossible de supprimer des tables pour l''application {0}. Le fichier LDD attendu {1} n''est pas disponible. -# {0} File name. -ejb.BaseProcessor.nodropfile=JDO76608 : impossible de supprimer des tables pour le d\u00E9ploiement. Le fichier LDD attendu {0} n''est pas disponible. - -ejb.PersistenceProcessor.nondefaultprovider=JDO76616 : la fonction java2db n''est pas prise en charge pour le fournisseur de persistance indiqu\u00E9 (''{0}''). Les tables associ\u00E9es aux entit\u00E9s du PU nomm\u00E9 ''{1}'' ne seront donc ni cr\u00E9\u00E9es, ni supprim\u00E9es dans la base de donn\u00E9es. - -# -# -# -ejb.CMPProcessor.createanddroptables=Traitement de l''\u00E9v\u00E9nement de cr\u00E9ation de tables {0}, suppression de tables {1}. -ejb.PersistenceProcessor.createanddroptables=Traitement de l''\u00E9v\u00E9nement de cr\u00E9ation de tables {0}, suppression de tables {1}. -ejb.PersistenceProcessor.createanddropfilenames=Traitement de l''\u00E9v\u00E9nement de cr\u00E9ation de fichiers - cr\u00E9er le fichier {0} et supprimer le fichier {1}. -ejb.CMPProcessor.createanddropfilenames=Les noms des fichiers \u00E0 utiliser pour la cr\u00E9ation et pour la suppression sont respectivement {0} et {1}. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_it.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_it.properties deleted file mode 100644 index 594a5c386eb..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_it.properties +++ /dev/null @@ -1,286 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO74000 - JDO74999 -############################################################################### -#{0}=exact name of the ejbCreate... method. -#{1}=Abstract bean name. -EXC_NoCreateException=JDO74000: il metodo {0}() in {1} non dichiara CreateException nella propria clausola throws. - -EXC_TransactionNotActive=JDO74001: la transazione non \u00E8 attiva. -# {0}= ejb -# {1}= method name -EXC_PKUpdate=JDO74002: metodo {1} del bean ''{0}'': impossibile modificare il valore del campo chiave primaria. - -CMG.ModelExceptionOnDeleteAction=JDO74003: rilevata ModelException su setDeleteAction: -JDO74003.diag.cause.1=Errore interno nel modulo CMP. -JDO74003.diag.check.1=Questo \u00E8 un messaggio di errore interno imprevisto. Contattare Payara Support indicando l'applicazione e il messaggio completo del log degli errori. - -# {0}= ejb -# {1}= method name -GEN.generic_method_exception=JDO74004: metodo {1} del bean ''{0}'': - -# {0}= ejb -# {1}= method name -GEN.cmrgettersetter_exception=JDO74005: il bean ''{0}'' non \u00E8 persistente durante la chiamata di {1}. -JDO74005.diag.cause.1=Il campo CMR richiede l'accesso in ejbCreate. -JDO74005.diag.check.1=Modificare il codice del bean per accedere ai campi CMR in ejbPostCreate. - -# {0}= ejb -# {1}= method name -# {2}= parameters -GEN.cmrsettercol_nullexception=JDO74006: metodo {1} del bean ''{0}'': impossibile impostare il valore della raccolta su nullo. -JDO74006.diag.cause.1=Il parametro passato al metodo impostato per il CMR raccolta \u00E8 nullo. -JDO74006.diag.check.1=Utilizzare il metodo Collection.remove() per rimuovere tutti i bean correlati da questa raccolta. - -GEN.ejbcreate_exception_dup=JDO74007: metodo {1} del bean ''{0}'': chiave duplicata; parametri: {2} -GEN.ejbcreate_exception_othr=JDO74008: metodo {1} del bean ''{0}'': problemi durante ejbCreate; parametri: {2} -GEN.ejbSSReturnBody_exception=JDO74009: metodo {1} del bean ''{0}'': problemi durante l''esecuzione della query JDOQL con i parametri {2} -GEN.ejbSSReturnBody_exception_woparams=JDO74010: metodo {1} del bean ''{0}'': problemi durante l''esecuzione della query JDOQL. - -# {0}= ejb -# {1}= key -GEN.findbypk_exception_notfound=JDO74011: metodo del bean ''{0}'' findByPrimaryKey: impossibile trovare bean con chiave {1} - -# {0}=finder -GEN.11finder_unsupported_interface_param=JDO74012: il parametro ''{1}'' dello strumento di ricerca CMP 1.1 ''{0}'' non \u00E8 di tipo supportato. I parametri delle interfacce di tipo locale e remoto non sono supportati come parametri di query. - -# {0}=finder name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_finder_exception=JDO74013: lo strumento di ricerca di oggetti singoli ''{0}'' non pu\u00F2 restituire {1} valori. - -GEN.parameters=Parametri: - -# {0}=finder name -GEN.noinstances_finder_exception=JDO74015: nessun risultato per lo strumento di ricerca di oggetti singoli ''{0}''. - -# {0}=selector name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_selector_exception=JDO74016: il selettore di oggetti singoli ''{0}'' non pu\u00F2 restituire {1} valori. - -# {0}=selector name -GEN.noinstances_selector_exception=JDO74017: nessun risultato per il selettore di oggetti singoli ''{0}''. - -# {0}=selector name -GEN.primitivetypenull_exception=JDO74018: il selettore di oggetti singoli ''{0}'' che restituisce un valore di tipo predefinito non pu\u00F2 restituire nullo. - -# {0} = bean instance. -JDO.beannotloaded_exception=JDO74019: bean {0} non caricato. Persistence Manager in questa istanza \u00E8 nullo. -JDO74019.diag.cause.1=Possibile errore nel contenitore EJB e nel ciclo di vita della fase di esecuzione CMR. -JDO74019.diag.check.1=Questo \u00E8 un messaggio di errore interno imprevisto. Attivare il log JDO e CMP e contattare Payara Support con il messaggio completo del log degli errori. - -# {0} = bean instance. -JDO.beaninuse_exception=JDO74020: impossibile utilizzare il bean {0} in pi\u00F9 transazioni. Persistence Manager in questa istanza non \u00E8 nullo. -JDO74020.diag.cause.1=Possibile errore nel contenitore EJB e nel ciclo di vita della fase di esecuzione CMR. -JDO74020.diag.check.1=Questo \u00E8 un messaggio di errore interno imprevisto. Attivare il log JDO e CMP e contattare Payara Support con il messaggio completo del log degli errori. - -# {0} = bean instance. -JDO.containertransaction_exception=JDO74021: il bean {0} partecipa a una transazione di un contenitore ma Persistence Manager in questa istanza \u00E8 nullo. -JDO74021.diag.cause.1=ejbRemove o ejbStore sono chiamati in una transazione attiva senza che il bean sia caricato nella stessa transazione. Possibile errore nel contenitore EJB e nel ciclo di vita della fase di esecuzione CMR. -JDO74021.diag.check.1=Questo \u00E8 un messaggio di errore interno imprevisto. Attivare il log JDO e CMP e contattare Payara Support con il messaggio completo del log degli errori. - -JDO.pmfnull_exception=JDO74022: factory Persistence Manager nullo. - -# {0}= key -JDO.instancedeleted_exception=JDO74023: l''istanza con la chiave {0} \u00E8 stata eliminata in questa transazione. - -# Missing CMP 1.1 finder -# {0}=finder name -EXC_MissingCMP11Finder=JDO74024: definizione degli elementi della query JDOQL per lo strumento di ricerca CMP 1.1 {0} mancante o non valida. - -# Messages for cmp logging - -# {0}=bean name -# {1} application name -# {2} bundle name -# {3}=validation message -CMG.ExceptionInValidate=JDO74025: JDOCodeGenerator: rilevata un''eccezione durante la convalida del bean CMP ''{0}'' nel modulo ''{2}'' dell''applicazione ''{1}'': {3} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.ExceptionInGenerate=JDO74026: JDOCodeGenerator: rilevata un''eccezione durante la generazione del bean CMP ''{0}'' nel modulo ''{2}'' dell''applicazione ''{1}'': {3} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.DBException=JDO74027: JDOCodeGenerator: rilevata DBException durante il caricamento o la creazione del modello di database per il modulo ''{1}'' dell''applicazione ''{0}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.Schema2BeansException=JDO74028: JDOCodeGenerator: rilevata Schema2BeansException durante il caricamento o la creazione del mapping per il modulo ''{1}'' dell''applicazione ''{0}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.ModelException=JDO74029: JDOCodeGenerator: rilevata ModelException durante il caricamento o la creazione del modello per il modulo ''{1}'' dell''applicazione ''{0}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInInit=JDO74030: JDOCodeGenerator: rilevata eccezione I/O durante l''inizializzazione della generazione del codice CMP per il modulo ''{1}'' dell''applicazione ''{0}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInCleanup=JDO74031: JDOCodeGenerator: rilevata eccezione I/O durante la conclusione della generazione del codice CMP per il modulo ''{1}'' dell''applicazione ''{0}'': {2} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.IOExceptionInGenerate=JDO74032: JDOCodeGenerator: rilevata eccezione I/O durante la generazione del codice per il bean CMP ''{0}'' nel modulo ''{2}'' dell''applicazione ''{1}'': {3} - -# {0} - application name. -# {1} - bundle name. -EXC_MissingCMPResource=JDO74033: impossibile eseguire la distribuzione del modulo ''{1}'' dell''applicazione ''{0}'' con i bean CMP: cmp-resource non definito per questo modulo. Il requisito minimo per una risorsa CMP \u00E8 la specifica del nome JNDI di una risorsa JDBC o di una risorsa del factory Persistence Manager da utilizzare con i bean. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.SQLException=JDO74034: JDOCodeGenerator: rilevata SQLException durante il caricamento o la creazione del modello di database per il modulo ''{1}'' dell''applicazione ''{0}'': {2} - -# {0} application name -# {1} bundle name -# {2} name of dbschema file -CMG.MissingDBSchema=JDO74035: JDOCodeGenerator: problema durante la creazione del modello di database per il modulo ''{1}'' dell''applicazione ''{0}'': impossibile accedere al file di schema ''{2}'' o effettuarne la lettura. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.CannotSaveDBSchema=JDO74036: JDOCodeGenerator: rilevata eccezione I/O durante il salvataggio del modello di database per il modulo ''{1}'' dell''applicazione ''{0}'': {2} - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBCLIOverrides=JDO74038: durante la distribuzione dell''applicazione ''{0}'': il modulo ''{1}'' \u00E8 gi\u00E0 mappato, quindi nessuna delle seguenti opzioni di distribuzione verr\u00E0 applicata a questo modulo: --uniquetablenames, --createtables, --dropandcreatetables, --dbvendorname. - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBUniqueTableNames=JDO74039: durante la distribuzione dell''applicazione ''{0}'': il modulo ''{1}'' \u00E8 gi\u00E0 mappato, quindi l''opzione di distribuzione --uniquetablenames non verr\u00E0 applicata. - -# {0} - application name. -# {1} - bundle name. -CMG.BeansFileSizeIsZero=JDO74040: durante la distribuzione di ''{1}'' da ''{0}'': sun-cmp-mappings.xml esiste ma \u00E8 vuoto. Deve avere un contenuto valido ed essere contenuto nel package del modulo oppure deve essere assente (in questo caso lo schema del database verr\u00E0 generato in modo automatico). - -# {0} - application name. -# {1} - bundle name. -# {2} exception text -CMG.InvalidSunCmpMappingsFile=JDO74041: durante la distribuzione di ''{1}'' da ''{0}'': sun-cmp-mappings.xml esiste ma presenta un contenuto non valido: {2} - -# {0} bean name -# {1} application name -# {2} bundle name -CMG.MissingBeanMapping=JDO74042: mapping per il bean CMP ''{0}'' nel modulo ''{2}'' dell''applicazione ''{1}'' mancante in sun-cmp-mappings.xml. - -# {0}= ejb -# {1}= method name -GEN.update_not_allowed=JDO74043: metodo {1} del bean ''{0}'': le operazioni di aggiornamento non sono consentite per questo tipo di bean. -JDO74043.diag.cause.1=Creazione, eliminazione o aggiornamento invocati su un bean di sola lettura. -JDO74043.diag.check.1=Non tentare di aggiornare i bean di sola lettura. -JDO74043.diag.check.2=Se \u00E8 necessario l'aggiornamento, il bean deve essere distribuito sotto forma di due EJB diversi: come bean di sola lettura e come bean aggiornabile. Tutti gli aggiornamenti devono essere effettuati sul secondo bean. - -#{0}=ejb -#{0}=field name -CMG.CMRAccessNotAllowed=JDO74044: il bean ''{0}'' \u00E8 di sola lettura e non consente l''accesso al campo CMR ''{1}''. - -# {0}= ejb -# {1}= key -GEN.clone_exception=JDO74045: impossibile duplicare l''istanza del bean ''{0}'' con la chiave {1}. -JDO74045.diag.cause.1=La classe di stato non \u00E8 generata correttamente per questo bean CMP. -JDO74045.diag.check.1=Questo \u00E8 un messaggio di errore interno imprevisto. Contattare Payara Support indicando l'applicazione e il messaggio completo del log degli errori. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.MappingConversionException=JDO74046: JDOCodeGenerator: rilevata un''eccezione MappingConversionException durante il caricamento o la creazione del modello di mapping per il modulo ''{1}'' dell''applicazione ''{0}'': {2} - -JDO.pm_closed_exception=JDO74047: Persistence Manager \u00E8 chiuso. - -# The following messages JDO76606 through JDO76615 were originally in -# cmp/support/sqlstore/src/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties -# They have been moved to this bundle as part of the INF#82833 -# Most of these messages had been moved to persistence/common module -# -# DeploymentEventListenerImpl messages - ejb -# -# {0} Application name. -# {1} File name. -ejb.BaseProcessor.cannotdroptables=JDO76607: impossibile eliminare le tabelle per l''applicazione {0}. Il file DDL {1} previsto non \u00E8 disponibile. -# {0} File name. -ejb.BaseProcessor.nodropfile=JDO76608: impossibile eliminare le tabelle per la distribuzione. Il file DDL {0} previsto non \u00E8 disponibile. - -ejb.PersistenceProcessor.nondefaultprovider=JDO76616: la funzione java2db non \u00E8 supportata per il provider di persistenza ''{0}'' specificato. Per questo motivo le tabelle associate alle entit\u00E0 del PU denominato ''{1}'' non possono essere create e/o eliminate dal database. - -# -# -# -ejb.CMPProcessor.createanddroptables=Elaborazione dell''evento per la creazione delle tabelle: {0}, per l''eliminazione delle tabelle: {1}. -ejb.PersistenceProcessor.createanddroptables=Elaborazione dell''evento per la creazione delle tabelle: {0}, per l''eliminazione delle tabelle: {1}. -ejb.PersistenceProcessor.createanddropfilenames=Elaborazione dell''evento per la creazione di file - creare il file: {0} ed eliminare il file: {1}. -ejb.CMPProcessor.createanddropfilenames=Il nome dei file da utilizzare per la creazione \u00E8 {0} e per l''eliminazione \u00E8 {1}. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_ja.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_ja.properties deleted file mode 100644 index e458c76e8ad..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_ja.properties +++ /dev/null @@ -1,286 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO74000 - JDO74999 -############################################################################### -#{0}=exact name of the ejbCreate... method. -#{1}=Abstract bean name. -EXC_NoCreateException=JDO74000: {1}\u5185\u306E\u30E1\u30BD\u30C3\u30C9{0}()\u306F\u3001throws\u53E5\u3067CreateException\u3092\u5BA3\u8A00\u3057\u3066\u3044\u307E\u305B\u3093\u3002 - -EXC_TransactionNotActive=JDO74001: \u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u304C\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -# {0}= ejb -# {1}= method name -EXC_PKUpdate=JDO74002: Bean {0}\u30E1\u30BD\u30C3\u30C9{1}: \u4E3B\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5024\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3002 - -CMG.ModelExceptionOnDeleteAction=JDO74003: setDeleteAction\u3067ModelException\u304C\u767A\u751F\u3057\u307E\u3057\u305F: -JDO74003.diag.cause.1=CMP\u30E2\u30B8\u30E5\u30FC\u30EB\u3067\u5185\u90E8\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 -JDO74003.diag.check.1=\u3053\u308C\u306F\u4E88\u671F\u305B\u306C\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3068\u5B8C\u5168\u306A\u30A8\u30E9\u30FC\u30FB\u30ED\u30B0\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u7528\u610F\u3057\u3066\u9023\u7D61\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# {0}= ejb -# {1}= method name -GEN.generic_method_exception=JDO74004: Bean ''{0}''\u30E1\u30BD\u30C3\u30C9{1}: - -# {0}= ejb -# {1}= method name -GEN.cmrgettersetter_exception=JDO74005: Bean ''{0}''\u306F\u3001{1}\u306E\u547C\u51FA\u3057\u6642\u306B\u6C38\u7D9A\u6027\u3092\u6301\u3061\u307E\u305B\u3093\u3002 -JDO74005.diag.cause.1=CMR\u30D5\u30A3\u30FC\u30EB\u30C9\u306FejbCreate\u5185\u3067\u30A2\u30AF\u30BB\u30B9\u3055\u308C\u307E\u3059\u3002 -JDO74005.diag.check.1=ejbPostCreate\u5185\u306ECMR\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u305F\u3081\u306EBean\u30B3\u30FC\u30C9\u3092\u5909\u66F4\u3057\u307E\u3059\u3002 - -# {0}= ejb -# {1}= method name -# {2}= parameters -GEN.cmrsettercol_nullexception=JDO74006: Bean ''{0}''\u30E1\u30BD\u30C3\u30C9{1}: \u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u5024\u3092null\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -JDO74006.diag.cause.1=\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3CMR set\u30E1\u30BD\u30C3\u30C9\u306B\u6E21\u3055\u308C\u308B\u30D1\u30E9\u30E1\u30FC\u30BF\u304Cnull\u3067\u3059\u3002 -JDO74006.diag.check.1=\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u304B\u3089\u3059\u3079\u3066\u306E\u95A2\u9023Bean\u3092\u9664\u53BB\u3059\u308B\u306B\u306F\u3001Collection.remove()\u30E1\u30BD\u30C3\u30C9\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002 - -GEN.ejbcreate_exception_dup=JDO74007: Bean ''{0}''\u30E1\u30BD\u30C3\u30C9{1}: \u6B21\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u30AD\u30FC\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059{2} -GEN.ejbcreate_exception_othr=JDO74008: Bean ''{0}''\u30E1\u30BD\u30C3\u30C9{1}: \u6B21\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u3067EJB\u4F5C\u6210\u6642\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {2} -GEN.ejbSSReturnBody_exception=JDO74009: Bean ''{0}''\u30E1\u30BD\u30C3\u30C9{1}: \u30D1\u30E9\u30E1\u30FC\u30BF{2}\u3067\u306EJDOQL\u554F\u5408\u305B\u306E\u5B9F\u884C\u6642\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F -GEN.ejbSSReturnBody_exception_woparams=JDO74010: Bean ''{0}''\u30E1\u30BD\u30C3\u30C9{1}: JDOQL\u554F\u5408\u305B\u306E\u5B9F\u884C\u6642\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 - -# {0}= ejb -# {1}= key -GEN.findbypk_exception_notfound=JDO74011: Bean ''{0}''\u30E1\u30BD\u30C3\u30C9findByPrimaryKey: \u30AD\u30FC{1}\u306EBean\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 - -# {0}=finder -GEN.11finder_unsupported_interface_param=JDO74012: CMP 1.1\u30D5\u30A1\u30A4\u30F3\u30C0''{0}''\u30D1\u30E9\u30E1\u30FC\u30BF''{1}''\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u308B\u578B\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u30ED\u30FC\u30AB\u30EB\u304A\u3088\u3073\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u578B\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u306F\u3001\u554F\u5408\u305B\u30D1\u30E9\u30E1\u30FC\u30BF\u3068\u3057\u3066\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 - -# {0}=finder name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_finder_exception=JDO74013: \u30B7\u30F3\u30B0\u30EB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u30FB\u30D5\u30A1\u30A4\u30F3\u30C0''{0}''\u306F\u5024{1}\u3092\u8FD4\u305B\u307E\u305B\u3093\u3002 - -GEN.parameters=\u30D1\u30E9\u30E1\u30FC\u30BF: - -# {0}=finder name -GEN.noinstances_finder_exception=JDO74015: \u30B7\u30F3\u30B0\u30EB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u30FB\u30D5\u30A1\u30A4\u30F3\u30C0''{0}''\u306E\u7D50\u679C\u304C\u3042\u308A\u307E\u305B\u3093\u3002 - -# {0}=selector name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_selector_exception=JDO74016: \u30B7\u30F3\u30B0\u30EB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u30FB\u30BB\u30EC\u30AF\u30BF''{0}''\u306F\u5024{1}\u3092\u8FD4\u305B\u307E\u305B\u3093\u3002 - -# {0}=selector name -GEN.noinstances_selector_exception=JDO74017: \u30B7\u30F3\u30B0\u30EB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u30FB\u30BB\u30EC\u30AF\u30BF''{0}''\u306E\u7D50\u679C\u304C\u3042\u308A\u307E\u305B\u3093\u3002 - -# {0}=selector name -GEN.primitivetypenull_exception=JDO74018: primitive\u578B\u306E\u5024\u3092\u8FD4\u3059\u30B7\u30F3\u30B0\u30EB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u30FB\u30BB\u30EC\u30AF\u30BF''{0}''\u306F\u3001null\u3092\u8FD4\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 - -# {0} = bean instance. -JDO.beannotloaded_exception=JDO74019: Bean {0}\u306F\u30ED\u30FC\u30C9\u3055\u308C\u307E\u305B\u3093\u3002\u3053\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u6C38\u7D9A\u6027\u30DE\u30CD\u30FC\u30B8\u30E3\u306Fnull\u3067\u3059\u3002 -JDO74019.diag.cause.1=EJB\u30B3\u30F3\u30C6\u30CA\u304A\u3088\u3073CMR\u30E9\u30F3\u30BF\u30A4\u30E0\u30FB\u30E9\u30A4\u30D5\u30FB\u30B5\u30A4\u30AF\u30EB\u3067\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u305F\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002 -JDO74019.diag.check.1=\u3053\u308C\u306F\u4E88\u671F\u305B\u306C\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002JDO\u3068CMP\u306E\u30ED\u30AE\u30F3\u30B0\u3092\u6709\u52B9\u306B\u3057\u3001\u5B8C\u5168\u306A\u30A8\u30E9\u30FC\u30FB\u30ED\u30B0\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u7528\u610F\u3057\u3066\u9023\u7D61\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# {0} = bean instance. -JDO.beaninuse_exception=JDO74020: \u8907\u6570\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u3067Bean {0}\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u3053\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u6C38\u7D9A\u6027\u30DE\u30CD\u30FC\u30B8\u30E3\u306Fnull\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -JDO74020.diag.cause.1=EJB\u30B3\u30F3\u30C6\u30CA\u304A\u3088\u3073CMR\u30E9\u30F3\u30BF\u30A4\u30E0\u30FB\u30E9\u30A4\u30D5\u30FB\u30B5\u30A4\u30AF\u30EB\u3067\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u305F\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002 -JDO74020.diag.check.1=\u3053\u308C\u306F\u4E88\u671F\u305B\u306C\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002JDO\u3068CMP\u306E\u30ED\u30AE\u30F3\u30B0\u3092\u6709\u52B9\u306B\u3057\u3001\u5B8C\u5168\u306A\u30A8\u30E9\u30FC\u30FB\u30ED\u30B0\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u7528\u610F\u3057\u3066\u9023\u7D61\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# {0} = bean instance. -JDO.containertransaction_exception=JDO74021: Bean {0}\u306F\u30B3\u30F3\u30C6\u30CA\u30FB\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306B\u95A2\u4E0E\u3057\u3066\u3044\u307E\u3059\u304C\u3001\u3053\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u6C38\u7D9A\u6027\u30DE\u30CD\u30FC\u30B8\u30E3\u306Fnull\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -JDO74021.diag.cause.1=\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306BBean\u3092\u30ED\u30FC\u30C9\u305B\u305A\u306B\u3001\u305D\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u3067ejbRemove\u307E\u305F\u306FejbStore\u304C\u547C\u3073\u51FA\u3055\u308C\u307E\u3059\u3002EJB\u30B3\u30F3\u30C6\u30CA\u304A\u3088\u3073CMR\u30E9\u30F3\u30BF\u30A4\u30E0\u30FB\u30E9\u30A4\u30D5\u30FB\u30B5\u30A4\u30AF\u30EB\u3067\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u305F\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002 -JDO74021.diag.check.1=\u3053\u308C\u306F\u4E88\u671F\u305B\u306C\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002JDO\u3068CMP\u306E\u30ED\u30AE\u30F3\u30B0\u3092\u6709\u52B9\u306B\u3057\u3001\u5B8C\u5168\u306A\u30A8\u30E9\u30FC\u30FB\u30ED\u30B0\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u7528\u610F\u3057\u3066\u9023\u7D61\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -JDO.pmfnull_exception=JDO74022: \u6C38\u7D9A\u6027\u30DE\u30CD\u30FC\u30B8\u30E3\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\u306Fnull\u3067\u3059\u3002 - -# {0}= key -JDO.instancedeleted_exception=JDO74023: \u30AD\u30FC{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306F\u3001\u3053\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u3067\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002 - -# Missing CMP 1.1 finder -# {0}=finder name -EXC_MissingCMP11Finder=JDO74024: CMP 1.1\u30D5\u30A1\u30A4\u30F3\u30C0{0}\u306EJDOQL\u554F\u5408\u305B\u8981\u7D20\u306E\u5B9A\u7FA9\u304C\u5B58\u5728\u3057\u306A\u3044\u3001\u307E\u305F\u306F\u7121\u52B9\u3067\u3059\u3002 - -# Messages for cmp logging - -# {0}=bean name -# {1} application name -# {2} bundle name -# {3}=validation message -CMG.ExceptionInValidate=JDO74025: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{1}''\u30E2\u30B8\u30E5\u30FC\u30EB''{2}''\u5185\u306ECMP Bean ''{0}''\u306E\u691C\u8A3C\u6642\u306B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {3} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.ExceptionInGenerate=JDO74026: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{1}''\u30E2\u30B8\u30E5\u30FC\u30EB''{2}''\u5185\u306ECMP Bean ''{0}''\u306E\u751F\u6210\u6642\u306B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {3} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.DBException=JDO74027: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30FB\u30E2\u30C7\u30EB\u306E\u30ED\u30FC\u30C9\u6642\u3001\u307E\u305F\u306F\u4F5C\u6210\u6642\u306BDBException\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.Schema2BeansException=JDO74028: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u306E\u30ED\u30FC\u30C9\u6642\u3001\u307E\u305F\u306F\u4F5C\u6210\u6642\u306BSchema2BeansException\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.ModelException=JDO74029: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u306E\u30E2\u30C7\u30EB\u306E\u30ED\u30FC\u30C9\u6642\u3001\u307E\u305F\u306F\u4F5C\u6210\u6642\u306BModelException\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInInit=JDO74030: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u306ECMP\u30B3\u30FC\u30C9\u751F\u6210\u306E\u521D\u671F\u5316\u6642\u306BIOException\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInCleanup=JDO74031: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u306ECMP\u30B3\u30FC\u30C9\u751F\u6210\u306E\u7D42\u4E86\u6642\u306BIOException\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {2} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.IOExceptionInGenerate=JDO74032: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{1}''\u30E2\u30B8\u30E5\u30FC\u30EB''{2}''\u306ECMP Bean ''{0}''\u306E\u30B3\u30FC\u30C9\u751F\u6210\u6642\u306BIOException\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {3} - -# {0} - application name. -# {1} - bundle name. -EXC_MissingCMPResource=JDO74033: CMP Bean\u3092\u6301\u3064\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u3092\u30C7\u30D7\u30ED\u30A4\u3067\u304D\u307E\u305B\u3093\u3002\u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u306Fcmp-resource\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002cmp-resource\u306E\u6700\u5C0F\u8981\u4EF6\u306F\u3001Bean\u3067\u4F7F\u7528\u3059\u308BJDBC\u30EA\u30BD\u30FC\u30B9\u307E\u305F\u306F\u6C38\u7D9A\u6027\u30DE\u30CD\u30FC\u30B8\u30E3\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\u30FB\u30EA\u30BD\u30FC\u30B9\u306EJNDI\u540D\u306E\u6307\u5B9A\u3067\u3059\u3002 - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.SQLException=JDO74034: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30FB\u30E2\u30C7\u30EB\u306E\u30ED\u30FC\u30C9\u6642\u3001\u307E\u305F\u306F\u4F5C\u6210\u6642\u306BSQLException\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {2} - -# {0} application name -# {1} bundle name -# {2} name of dbschema file -CMG.MissingDBSchema=JDO74035: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30FB\u30E2\u30C7\u30EB\u306E\u4F5C\u6210\u6642\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB''{2}''\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u306A\u3044\u304B\u3001\u307E\u305F\u306F\u8AAD\u307F\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002 - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.CannotSaveDBSchema=JDO74036: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30FB\u30E2\u30C7\u30EB\u306E\u4FDD\u5B58\u6642\u306BIOException\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {2} - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBCLIOverrides=JDO74038: \u30C7\u30D7\u30ED\u30A4\u3059\u308B\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u306F\u3059\u3067\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u6B21\u306E\u3044\u305A\u308C\u306E\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3082\u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u306F\u9069\u7528\u3055\u308C\u307E\u305B\u3093: --uniquetablenames\u3001--createtables\u3001--dropandcreatetables\u3001--dbvendorname\u3002 - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBUniqueTableNames=JDO74039: \u30C7\u30D7\u30ED\u30A4\u3059\u308B\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u306F\u3059\u3067\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3--uniquetablenames\u306F\u9069\u7528\u3055\u308C\u307E\u305B\u3093\u3002 - -# {0} - application name. -# {1} - bundle name. -CMG.BeansFileSizeIsZero=JDO74040: ''{0}''\u304B\u3089''{1}''\u3078\u30C7\u30D7\u30ED\u30A4\u3059\u308B\u3068\u304D\u306B\u3001sun-cmp-mappings.xml\u304C\u5B58\u5728\u3057\u307E\u3059\u304C\u5185\u5BB9\u304C\u7A7A\u3067\u3059\u3002\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u3001\u6709\u52B9\u306A\u5185\u5BB9\u3092\u6301\u3061\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u30D1\u30C3\u30B1\u30FC\u30B8\u5316\u3055\u308C\u308B\u304B\u3001\u307E\u305F\u306F\u5B58\u5728\u3057\u306A\u3044\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059(\u5F8C\u8005\u306E\u5834\u5408\u306F\u81EA\u52D5\u7684\u306B\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30FB\u30B9\u30AD\u30FC\u30DE\u304C\u751F\u6210\u3055\u308C\u307E\u3059)\u3002 - -# {0} - application name. -# {1} - bundle name. -# {2} exception text -CMG.InvalidSunCmpMappingsFile=JDO74041: ''{0}''\u304B\u3089''{1}''\u3078\u30C7\u30D7\u30ED\u30A4\u3059\u308B\u3068\u304D\u306B\u3001sun-cmp-mappings.xml\u304C\u5B58\u5728\u3057\u307E\u3059\u304C\u5185\u5BB9\u304C\u7121\u52B9\u3067\u3059: {2} - -# {0} bean name -# {1} application name -# {2} bundle name -CMG.MissingBeanMapping=JDO74042: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{1}''\u30E2\u30B8\u30E5\u30FC\u30EB''{2}''\u5185\u306ECMP Bean ''{0}''\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u304Csun-cmp-mappings.xml\u306B\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 - -# {0}= ejb -# {1}= method name -GEN.update_not_allowed=JDO74043: Bean ''{0}''\u3001\u30E1\u30BD\u30C3\u30C9{1}: \u3053\u306EBean\u30BF\u30A4\u30D7\u3067\u306F\u3001\u66F4\u65B0\u64CD\u4F5C\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002 -JDO74043.diag.cause.1=\u8AAD\u53D6\u308A\u5C02\u7528Bean\u3067\u3001\u4F5C\u6210\u3001\u9664\u53BB\u3001\u307E\u305F\u306F\u66F4\u65B0\u304C\u547C\u3073\u51FA\u3055\u308C\u307E\u3057\u305F\u3002 -JDO74043.diag.check.1=\u8AAD\u53D6\u308A\u5C02\u7528Bean\u306E\u66F4\u65B0\u3092\u8A66\u307F\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002 -JDO74043.diag.check.2=\u66F4\u65B0\u304C\u5FC5\u8981\u306A\u5834\u5408\u306F\u3001\u8AAD\u53D6\u308A\u5C02\u7528Bean\u3068\u3001\u66F4\u65B0\u53EF\u80FD\u306ABean\u306E2\u3064\u306E\u7570\u306A\u308BEJB\u3068\u3057\u3066\u30C7\u30D7\u30ED\u30A4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u3059\u3079\u3066\u306E\u66F4\u65B0\u306F\u3001\u7B2C2\u306EBean\u306B\u5BFE\u3057\u3066\u884C\u3046\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 - -#{0}=ejb -#{0}=field name -CMG.CMRAccessNotAllowed=JDO74044: Bean ''{0}''\u306F\u8AAD\u53D6\u308A\u5C02\u7528\u3067\u3059\u3002CMR\u30D5\u30A3\u30FC\u30EB\u30C9''{1}''\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002 - -# {0}= ejb -# {1}= key -GEN.clone_exception=JDO74045: \u30AD\u30FC{1}\u3092\u6301\u3064Bean ''{0}''\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u8907\u88FD\u3067\u304D\u307E\u305B\u3093\u3002 -JDO74045.diag.cause.1=\u3053\u306ECMP Bean\u306E\u72B6\u614B\u30AF\u30E9\u30B9\u304C\u6B63\u3057\u304F\u751F\u6210\u3055\u308C\u307E\u305B\u3093\u3002 -JDO74045.diag.check.1=\u3053\u308C\u306F\u4E88\u671F\u305B\u306C\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3068\u5B8C\u5168\u306A\u30A8\u30E9\u30FC\u30FB\u30ED\u30B0\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u7528\u610F\u3057\u3066\u9023\u7D61\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.MappingConversionException=JDO74046: JDOCodeGenerator: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3''{0}''\u3001\u30E2\u30B8\u30E5\u30FC\u30EB''{1}''\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u30FB\u30E2\u30C7\u30EB\u306E\u30ED\u30FC\u30C9\u6642\u3001\u307E\u305F\u306F\u4F5C\u6210\u6642\u306BMappingConversionException\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F: {2} - -JDO.pm_closed_exception=JDO74047: \u6C38\u7D9A\u6027\u30DE\u30CD\u30FC\u30B8\u30E3\u306F\u9589\u3058\u3089\u308C\u3066\u3044\u307E\u3059\u3002 - -# The following messages JDO76606 through JDO76615 were originally in -# cmp/support/sqlstore/src/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties -# They have been moved to this bundle as part of the INF#82833 -# Most of these messages had been moved to persistence/common module -# -# DeploymentEventListenerImpl messages - ejb -# -# {0} Application name. -# {1} File name. -ejb.BaseProcessor.cannotdroptables=JDO76607: \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3{0}\u306E\u8868\u3092\u30C9\u30ED\u30C3\u30D7\u3067\u304D\u307E\u305B\u3093\u3002\u60F3\u5B9A\u3055\u308C\u308BDDL\u30D5\u30A1\u30A4\u30EB{1}\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002 -# {0} File name. -ejb.BaseProcessor.nodropfile=JDO76608: \u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u3059\u308B\u8868\u3092\u30C9\u30ED\u30C3\u30D7\u3067\u304D\u307E\u305B\u3093\u3002\u60F3\u5B9A\u3055\u308C\u308BDDL\u30D5\u30A1\u30A4\u30EB{0}\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002 - -ejb.PersistenceProcessor.nondefaultprovider=JDO76616: java2db\u6A5F\u80FD\u306F\u3001\u6307\u5B9A\u3055\u308C\u305F\u6C38\u7D9A\u6027\u30D7\u30ED\u30D0\u30A4\u30C0''{0}''\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u3057\u305F\u304C\u3063\u3066\u3001''{1}''\u3068\u3044\u3046\u540D\u524D\u306EPU\u306E\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u8868\u306F\u3001\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u4F5C\u6210\u3001\u524A\u9664\u3001\u307E\u305F\u306F\u305D\u306E\u4E21\u65B9\u306F\u884C\u308F\u308C\u307E\u305B\u3093\u3002 - -# -# -# -ejb.CMPProcessor.createanddroptables=\u8868: {0}\u306E\u4F5C\u6210\u3001\u8868: {1}\u306E\u524A\u9664\u3092\u884C\u3046\u30A4\u30D9\u30F3\u30C8\u3092\u51E6\u7406\u3057\u3066\u3044\u307E\u3059\u3002 -ejb.PersistenceProcessor.createanddroptables=\u8868: {0}\u306E\u4F5C\u6210\u3001\u8868: {1}\u306E\u524A\u9664\u3092\u884C\u3046\u30A4\u30D9\u30F3\u30C8\u3092\u51E6\u7406\u3057\u3066\u3044\u307E\u3059\u3002 -ejb.PersistenceProcessor.createanddropfilenames=\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3059\u308B\u30A4\u30D9\u30F3\u30C8\u3092\u51E6\u7406\u3057\u3066\u3044\u307E\u3059 - \u30D5\u30A1\u30A4\u30EB\u306E\u4F5C\u6210: {0}\u3001\u304A\u3088\u3073\u30D5\u30A1\u30A4\u30EB\u306E\u524A\u9664: {1}\u3002 -ejb.CMPProcessor.createanddropfilenames=\u4F5C\u6210\u306B\u4F7F\u7528\u3055\u308C\u308B\u30D5\u30A1\u30A4\u30EB\u306E\u540D\u524D\u306F{0}\u3001\u524A\u9664\u306B\u4F7F\u7528\u3055\u308C\u308B\u540D\u524D\u306F{1}\u3067\u3059\u3002 diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_ko.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_ko.properties deleted file mode 100644 index 1b7cbae1bc4..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_ko.properties +++ /dev/null @@ -1,286 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO74000 - JDO74999 -############################################################################### -#{0}=exact name of the ejbCreate... method. -#{1}=Abstract bean name. -EXC_NoCreateException=JDO74000: {1}\uC758 {0}() \uBA54\uC18C\uB4DC\uB294 throws \uC808\uC5D0\uC11C CreateException\uC744 \uC120\uC5B8\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. - -EXC_TransactionNotActive=JDO74001: \uD2B8\uB79C\uC7AD\uC158\uC774 \uD65C\uC131 \uC0C1\uD0DC\uAC00 \uC544\uB2D9\uB2C8\uB2E4. -# {0}= ejb -# {1}= method name -EXC_PKUpdate=JDO74002: Bean ''{0}'' {1} \uBA54\uC18C\uB4DC: \uAE30\uBCF8 \uD0A4 \uD544\uB4DC \uAC12\uC744 \uBCC0\uACBD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -CMG.ModelExceptionOnDeleteAction=JDO74003: setDeleteAction\uC5D0\uC11C ModelException\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -JDO74003.diag.cause.1=CMP \uBAA8\uB4C8\uC5D0 \uB0B4\uBD80 \uC624\uB958\uAC00 \uC788\uC2B5\uB2C8\uB2E4. -JDO74003.diag.check.1=\uC608\uAE30\uCE58 \uC54A\uC740 \uB0B4\uBD80 \uC624\uB958\uC785\uB2C8\uB2E4. \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 \uC774\uB984 \uBC0F \uC804\uCCB4 \uC624\uB958 \uB85C\uADF8 \uBA54\uC2DC\uC9C0\uC758 \uB0B4\uC6A9\uC744 Payara Support\uC5D0 \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. - -# {0}= ejb -# {1}= method name -GEN.generic_method_exception=JDO74004: Bean ''{0}'' {1} \uBA54\uC18C\uB4DC: - -# {0}= ejb -# {1}= method name -GEN.cmrgettersetter_exception=JDO74005: Bean ''{0}''\uC740(\uB294) {1}\uC744(\uB97C) \uD638\uCD9C\uD558\uB294 \uC911 \uC9C0\uC18D\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -JDO74005.diag.cause.1=CMR \uD544\uB4DC\uB294 ejbCreate\uC5D0\uC11C \uC561\uC138\uC2A4\uB429\uB2C8\uB2E4. -JDO74005.diag.check.1=ejbPostCreate\uC5D0\uC11C CMR \uD544\uB4DC\uC5D0 \uC561\uC138\uC2A4\uD558\uB3C4\uB85D Bean \uCF54\uB4DC\uB97C \uBCC0\uACBD\uD558\uC2ED\uC2DC\uC624. - -# {0}= ejb -# {1}= method name -# {2}= parameters -GEN.cmrsettercol_nullexception=JDO74006: Bean ''{0}'' {1} \uBA54\uC18C\uB4DC: \uBAA8\uC74C \uAC12\uC744 \uB110\uB85C \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -JDO74006.diag.cause.1=\uBAA8\uC74C CMR \uC9D1\uD569 \uBA54\uC18C\uB4DC\uC5D0 \uC804\uB2EC\uB41C \uB9E4\uAC1C\uBCC0\uC218\uB294 \uB110\uC785\uB2C8\uB2E4. -JDO74006.diag.check.1=Collection.remove() \uBA54\uC18C\uB4DC\uB97C \uC0AC\uC6A9\uD558\uC5EC \uC774 \uBAA8\uC74C\uC5D0\uC11C \uBAA8\uB4E0 \uAD00\uB828 Bean\uC744 \uC81C\uAC70\uD558\uC2ED\uC2DC\uC624. - -GEN.ejbcreate_exception_dup=JDO74007: Bean ''{0}'' {1} \uBA54\uC18C\uB4DC: \uC911\uBCF5 \uD0A4; \uB9E4\uAC1C\uBCC0\uC218: {2} -GEN.ejbcreate_exception_othr=JDO74008: Bean ''{0}'' {1} \uBA54\uC18C\uB4DC: ejbCreate \uC911 \uBB38\uC81C \uBC1C\uC0DD; \uB9E4\uAC1C\uBCC0\uC218: {2} -GEN.ejbSSReturnBody_exception=JDO74009: Bean ''{0}'' {1} \uBA54\uC18C\uB4DC: {2} \uB9E4\uAC1C\uBCC0\uC218\uB85C JDOQL \uC9C8\uC758\uB97C \uC2E4\uD589\uD558\uB294 \uC911 \uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -GEN.ejbSSReturnBody_exception_woparams=JDO74010: Bean ''{0}'' {1} \uBA54\uC18C\uB4DC: JDOQL \uC9C8\uC758 \uC2E4\uD589 \uC911 \uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. - -# {0}= ejb -# {1}= key -GEN.findbypk_exception_notfound=JDO74011: Bean ''{0}'' \uBA54\uC18C\uB4DC findByPrimaryKey: \uD0A4\uAC00 {1}\uC778 Bean\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -# {0}=finder -GEN.11finder_unsupported_interface_param=JDO74012: CMP 1.1 \uAC80\uC0C9\uAE30 ''{0}'' \uB9E4\uAC1C\uBCC0\uC218 ''{1}''\uC740(\uB294) \uC9C0\uC6D0\uB418\uB294 \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4. \uB85C\uCEEC \uBC0F \uC6D0\uACA9 \uC778\uD130\uD398\uC774\uC2A4 \uC720\uD615\uC758 \uB9E4\uAC1C\uBCC0\uC218\uB294 \uC9C8\uC758 \uB9E4\uAC1C\uBCC0\uC218\uB85C \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. - -# {0}=finder name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_finder_exception=JDO74013: \uB2E8\uC77C \uAC1D\uCCB4 \uAC80\uC0C9\uAE30 ''{0}''\uC740(\uB294) {1} \uAC12\uC744 \uBC18\uD658\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -GEN.parameters=\uB9E4\uAC1C\uBCC0\uC218: - -# {0}=finder name -GEN.noinstances_finder_exception=JDO74015: \uB2E8\uC77C \uAC1D\uCCB4 \uAC80\uC0C9\uAE30 ''{0}''\uC758 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. - -# {0}=selector name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_selector_exception=JDO74016: \uB2E8\uC77C \uAC1D\uCCB4 \uC120\uD0DD\uAE30 ''{0}''\uC740(\uB294) {1} \uAC12\uC744 \uBC18\uD658\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -# {0}=selector name -GEN.noinstances_selector_exception=JDO74017: \uB2E8\uC77C \uAC1D\uCCB4 \uC120\uD0DD\uAE30 ''{0}''\uC758 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. - -# {0}=selector name -GEN.primitivetypenull_exception=JDO74018: \uC6D0\uC2DC \uC720\uD615 \uAC12\uC744 \uBC18\uD658\uD558\uB294 \uB2E8\uC77C \uAC1D\uCCB4 \uC120\uD0DD\uAE30 ''{0}''\uC740(\uB294) \uB110\uC744 \uBC18\uD658\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -# {0} = bean instance. -JDO.beannotloaded_exception=JDO74019: Bean {0}\uC740 \uB85C\uB4DC\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uC774 \uC778\uC2A4\uD134\uC2A4\uC758 \uC9C0\uC18D\uC131 \uAD00\uB9AC\uC790\uB294 \uB110\uC785\uB2C8\uB2E4. -JDO74019.diag.cause.1=EJB \uCEE8\uD14C\uC774\uB108 \uBC0F CMR \uB7F0\uD0C0\uC784 \uC218\uBA85 \uC8FC\uAE30 \uC624\uB958\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4. -JDO74019.diag.check.1=\uC608\uAE30\uCE58 \uC54A\uC740 \uB0B4\uBD80 \uC624\uB958\uC785\uB2C8\uB2E4. JDO \uBC0F CMP \uB85C\uAE45\uC744 \uC124\uC815\uD55C \uD6C4 \uC804\uCCB4 \uC624\uB958 \uB85C\uADF8 \uBA54\uC2DC\uC9C0\uC758 \uB0B4\uC6A9\uC744 Payara Support\uC5D0 \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. - -# {0} = bean instance. -JDO.beaninuse_exception=JDO74020: Bean {0}\uC740(\uB294) \uD55C \uD2B8\uB79C\uC7AD\uC158\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC774 \uC778\uC2A4\uD134\uC2A4\uC758 \uC9C0\uC18D\uC131 \uAD00\uB9AC\uC790\uB294 \uB110\uC774 \uC544\uB2D9\uB2C8\uB2E4. -JDO74020.diag.cause.1=EJB \uCEE8\uD14C\uC774\uB108 \uBC0F CMR \uB7F0\uD0C0\uC784 \uC218\uBA85 \uC8FC\uAE30 \uC624\uB958\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4. -JDO74020.diag.check.1=\uC608\uAE30\uCE58 \uC54A\uC740 \uB0B4\uBD80 \uC624\uB958\uC785\uB2C8\uB2E4. JDO \uBC0F CMP \uB85C\uAE45\uC744 \uC124\uC815\uD55C \uD6C4 \uC804\uCCB4 \uC624\uB958 \uB85C\uADF8 \uBA54\uC2DC\uC9C0\uC758 \uB0B4\uC6A9\uC744 Payara Support\uC5D0 \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. - -# {0} = bean instance. -JDO.containertransaction_exception=JDO74021: Bean {0}\uC740(\uB294) \uCEE8\uD14C\uC774\uB108 \uD2B8\uB79C\uC7AD\uC158\uC5D0 \uCC38\uC5EC\uD558\uC9C0\uB9CC \uC774 \uC778\uC2A4\uD134\uC2A4\uC758 \uC9C0\uC18D\uC131 \uAD00\uB9AC\uC790\uB294 \uB110\uC785\uB2C8\uB2E4. -JDO74021.diag.cause.1=ejbRemove \uB610\uB294 ejbStore\uAC00 \uAC19\uC740 \uD2B8\uB79C\uC7AD\uC158\uC5D0 \uB85C\uB4DC\uB418\uB294 Bean\uC774 \uC5C6\uC774 \uD65C\uC131 \uD2B8\uB79C\uC7AD\uC158\uC5D0\uC11C \uD638\uCD9C\uB429\uB2C8\uB2E4. EJB \uCEE8\uD14C\uC774\uB108 \uBC0F CMR \uB7F0\uD0C0\uC784 \uC218\uBA85 \uC8FC\uAE30 \uC624\uB958\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4. -JDO74021.diag.check.1=\uC608\uAE30\uCE58 \uC54A\uC740 \uB0B4\uBD80 \uC624\uB958\uC785\uB2C8\uB2E4. JDO \uBC0F CMP \uB85C\uAE45\uC744 \uC124\uC815\uD55C \uD6C4 \uC804\uCCB4 \uC624\uB958 \uB85C\uADF8 \uBA54\uC2DC\uC9C0\uC758 \uB0B4\uC6A9\uC744 Payara Support\uC5D0 \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. - -JDO.pmfnull_exception=JDO74022: \uC9C0\uC18D\uC131 \uAD00\uB9AC\uC790 \uD329\uD1A0\uB9AC\uB294 \uB110\uC785\uB2C8\uB2E4. - -# {0}= key -JDO.instancedeleted_exception=JDO74023: \uD0A4\uAC00 {0}\uC778 \uC778\uC2A4\uD134\uC2A4\uB294 \uC774 \uD2B8\uB79C\uC7AD\uC158\uC5D0\uC11C \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. - -# Missing CMP 1.1 finder -# {0}=finder name -EXC_MissingCMP11Finder=JDO74024: CMP 1.1 \uAC80\uC0C9\uAE30 {0}\uC758 JDOQL \uC9C8\uC758 \uC694\uC18C \uC815\uC758\uAC00 \uB204\uB77D\uB418\uC5C8\uAC70\uB098 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. - -# Messages for cmp logging - -# {0}=bean name -# {1} application name -# {2} bundle name -# {3}=validation message -CMG.ExceptionInValidate=JDO74025: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{1}'' \uBAA8\uB4C8 ''{2}''\uC5D0\uC11C CMP Bean ''{0}''\uC744(\uB97C) \uAC80\uC99D\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {3} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.ExceptionInGenerate=JDO74026: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{1}'' \uBAA8\uB4C8 ''{2}''\uC5D0\uC11C CMP Bean ''{0}''\uC744(\uB97C) \uC0DD\uC131\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {3} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.DBException=JDO74027: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}'' \uBAA8\uB4C8 ''{1}''\uC758 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uBAA8\uB378\uC744 \uB85C\uB4DC\uD558\uAC70\uB098 \uC0DD\uC131\uD558\uB294 \uC911 DBException \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.Schema2BeansException=JDO74028: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}'' \uBAA8\uB4C8 ''{1}''\uC758 \uB9E4\uD551\uC744 \uB85C\uB4DC\uD558\uAC70\uB098 \uC0DD\uC131\uD558\uB294 \uC911 Schema2BeansException \uBC1C\uC0DD: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.ModelException=JDO74029: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}'' \uBAA8\uB4C8 ''{1}''\uC758 \uBAA8\uB4C8\uC744 \uB85C\uB4DC\uD558\uAC70\uB098 \uC0DD\uC131\uD558\uB294 \uC911 ModelException \uBC1C\uC0DD: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInInit=JDO74030: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}'' \uBAA8\uB4C8 ''{1}''\uC758 CMP \uCF54\uB4DC \uC0DD\uC131\uC744 \uCD08\uAE30\uD654\uD558\uB294 \uC911 IOException \uBC1C\uC0DD: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInCleanup=JDO74031: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}'' \uBAA8\uB4C8 ''{1}''\uC758 CMP \uCF54\uB4DC \uC0DD\uC131\uC744 \uB05D\uB0B4\uB294 \uC911 IOException \uBC1C\uC0DD: {2} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.IOExceptionInGenerate=JDO74032: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{1}'' \uBAA8\uB4C8 ''{2}''\uC5D0\uC11C CMP Bean ''{0}'' \uC758 \uCF54\uB4DC\uB97C \uC0DD\uC131\uD558\uB294 \uC911 IOException \uBC1C\uC0DD: {3} - -# {0} - application name. -# {1} - bundle name. -EXC_MissingCMPResource=JDO74033: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}'' \uBAA8\uB4C8 ''{1}''\uC744 CMP Bean\uACFC \uD568\uAED8 \uBC30\uCE58\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. cmp-resource\uAC00 \uC774 \uBAA8\uB4C8\uC744 \uC704\uD574 \uC815\uC758\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. cmp-resource\uC758 \uCD5C\uC18C \uC694\uAD6C \uC0AC\uD56D\uC740 Bean\uACFC \uD568\uAED8 \uC0AC\uC6A9\uD560 jdbc-resource \uB610\uB294 persistence-manager-factory-resource\uC758 jndi-name\uC744 \uC9C0\uC815\uD558\uB294 \uAC83\uC785\uB2C8\uB2E4. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.SQLException=JDO74034: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}'' \uBAA8\uB4C8 ''{1}''\uC758 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uBAA8\uB378\uC744 \uB85C\uB4DC\uD558\uAC70\uB098 \uC0DD\uC131\uD558\uB294 \uC911 SQLException\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. {2} - -# {0} application name -# {1} bundle name -# {2} name of dbschema file -CMG.MissingDBSchema=JDO74035: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}'' \uBAA8\uB4C8 ''{1}''\uC758 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uBAA8\uB378\uC744 \uC0DD\uC131\uD558\uB294 \uC911 \uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC2A4\uD0A4\uB9C8 \uD30C\uC77C ''{2}''\uC744(\uB97C) \uC77D\uAC70\uB098 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.CannotSaveDBSchema=JDO74036: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}'' \uBAA8\uB4C8 ''{1}''\uC758 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uBAA8\uB378\uC744 \uC800\uC7A5\uD558\uB294 \uC911 IOException\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. {2} - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBCLIOverrides=JDO74038: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}''\uC744(\uB97C) \uBC30\uCE58\uD558\uB294 \uC911: \uBAA8\uB4C8 ''{1}''\uC774(\uAC00) \uC774\uBBF8 \uB9E4\uD551\uB418\uC5C8\uC73C\uBBC0\uB85C \uB2E4\uC74C \uBC30\uCE58 \uC635\uC158\uC774 \uC774 \uBAA8\uB4C8\uC5D0 \uC801\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. --uniquetablenames, --createtables, --dropandcreatetables, --dbvendorname. - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBUniqueTableNames=JDO74039: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}''\uC744(\uB97C) \uBC30\uCE58\uD558\uB294 \uC911: \uBAA8\uB4C8 ''{1}''\uC774(\uAC00) \uC774\uBBF8 \uB9E4\uD551\uB418\uC5C8\uC73C\uBBC0\uB85C --uniquetablenames \uBC30\uCE58 \uC635\uC158\uC774 \uC801\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. - -# {0} - application name. -# {1} - bundle name. -CMG.BeansFileSizeIsZero=JDO74040: ''{0}''\uC5D0\uC11C ''{1}''\uC744(\uB97C) \uBC30\uCE58\uD558\uB294 \uC911: sun-cmp-mappings.xml\uC774 \uC874\uC7AC\uD558\uC9C0\uB9CC \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. sun-cmp-mappings.xml\uC5D0\uB294 \uC801\uD569\uD55C \uB0B4\uC6A9\uC774 \uB4E4\uC5B4 \uC788\uC5B4 \uBAA8\uB4C8\uC5D0 \uD3EC\uD568\uB418\uAC70\uB098, \uADF8\uB807\uC9C0 \uC54A\uC73C\uBA74 \uC5C6\uC5B4\uC57C \uD569\uB2C8\uB2E4(\uC774 \uACBD\uC6B0\uC5D0\uB294 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uC2A4\uD0A4\uB9C8\uAC00 \uC790\uB3D9\uC73C\uB85C \uC0DD\uC131\uB429\uB2C8\uB2E4). - -# {0} - application name. -# {1} - bundle name. -# {2} exception text -CMG.InvalidSunCmpMappingsFile=JDO74041: ''{0}''\uC5D0\uC11C ''{1}''\uC744(\uB97C) \uBC30\uCE58\uD558\uB294 \uC911: sun-cmp-mappings.xml\uC774 \uC874\uC7AC\uD558\uC9C0\uB9CC \uBD80\uC801\uD569\uD55C \uB0B4\uC6A9\uC774 \uB4E4\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. {2} - -# {0} bean name -# {1} application name -# {2} bundle name -CMG.MissingBeanMapping=JDO74042: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{1}'' \uBAA8\uB4C8 ''{2}''\uC758 CMP Bean ''{0}''\uC5D0 \uB300\uD55C \uB9E4\uD551\uC774 sun-cmp-mappings.xml\uC5D0\uC11C \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4. - -# {0}= ejb -# {1}= method name -GEN.update_not_allowed=JDO74043: Bean ''{0}'' {1} \uBA54\uC18C\uB4DC: \uC774 Bean \uC720\uD615\uC5D0\uB294 \uC5C5\uB370\uC774\uD2B8 \uC791\uC5C5\uC774 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -JDO74043.diag.cause.1=\uC77D\uAE30 \uC804\uC6A9 Bean\uC5D0 \uB300\uD55C \uC0DD\uC131, \uC81C\uAC70 \uB610\uB294 \uC5C5\uB370\uC774\uD2B8 \uC791\uC5C5\uC774 \uD638\uCD9C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -JDO74043.diag.check.1=\uC77D\uAE30 \uC804\uC6A9 Bean\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uB824 \uD558\uC9C0 \uB9C8\uC2ED\uC2DC\uC624. -JDO74043.diag.check.2=\uC5C5\uB370\uC774\uD2B8\uAC00 \uD544\uC694\uD55C \uACBD\uC6B0\uC5D0\uB294 Bean\uC744 \uC77D\uAE30 \uC804\uC6A9 Bean\uACFC \uC5C5\uB370\uC774\uD2B8\uD560 \uC218 \uC788\uB294 Bean\uC758 \uB450 \uAC00\uC9C0 EJB\uB85C \uBC30\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4. \uBAA8\uB4E0 \uC5C5\uB370\uC774\uD2B8\uB294 \uC5C5\uB370\uC774\uD2B8\uD560 \uC218 \uC788\uB294 Bean\uC5D0 \uC218\uD589\uD574\uC57C \uD569\uB2C8\uB2E4. - -#{0}=ejb -#{0}=field name -CMG.CMRAccessNotAllowed=JDO74044: Bean ''{0}''\uC740(\uB294) \uC77D\uAE30 \uC804\uC6A9\uC774\uBA70 CMR \uD544\uB4DC ''{1}''\uC758 \uC561\uC138\uC2A4\uB97C \uD5C8\uC6A9\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. - -# {0}= ejb -# {1}= key -GEN.clone_exception=JDO74045: \uD0A4 {1}\uC744(\uB97C) \uC0AC\uC6A9\uD558\uC5EC Bean ''{0}'' \uC778\uC2A4\uD134\uC2A4\uB97C \uBCF5\uC81C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -JDO74045.diag.cause.1=\uC774 CMP Bean\uC5D0 \uB300\uD55C \uC0C1\uD0DC \uD074\uB798\uC2A4\uAC00 \uC81C\uB300\uB85C \uC0DD\uC131\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -JDO74045.diag.check.1=\uC608\uAE30\uCE58 \uC54A\uC740 \uB0B4\uBD80 \uC624\uB958\uC785\uB2C8\uB2E4. \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 \uC774\uB984 \uBC0F \uC804\uCCB4 \uC624\uB958 \uB85C\uADF8 \uBA54\uC2DC\uC9C0\uC758 \uB0B4\uC6A9\uC744 Payara Support\uC5D0 \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.MappingConversionException=JDO74046: JDOCodeGenerator: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 ''{0}'' \uBAA8\uB4C8 ''{1}''\uC758 \uB9E4\uD551 \uBAA8\uB378\uC744 \uB85C\uB4DC\uD558\uAC70\uB098 \uC0DD\uC131\uD558\uB294 \uC911 MappingConversionException \uBC1C\uC0DD: {2} - -JDO.pm_closed_exception=JDO74047: \uC9C0\uC18D\uC131 \uAD00\uB9AC\uC790\uAC00 \uB2EB\uD614\uC2B5\uB2C8\uB2E4. - -# The following messages JDO76606 through JDO76615 were originally in -# cmp/support/sqlstore/src/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties -# They have been moved to this bundle as part of the INF#82833 -# Most of these messages had been moved to persistence/common module -# -# DeploymentEventListenerImpl messages - ejb -# -# {0} Application name. -# {1} File name. -ejb.BaseProcessor.cannotdroptables=JDO76607: \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 {0}\uC758 \uD14C\uC774\uBE14\uC744 \uB4DC\uB86D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC608\uC0C1\uD55C DDL \uD30C\uC77C {1}\uC744(\uB97C) \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -# {0} File name. -ejb.BaseProcessor.nodropfile=JDO76608: \uBC30\uCE58\uB97C \uC704\uD574 \uD14C\uC774\uBE14\uC744 \uB4DC\uB86D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC608\uC0C1\uD55C DDL \uD30C\uC77C {0}\uC744(\uB97C) \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -ejb.PersistenceProcessor.nondefaultprovider=JDO76616: \uC9C0\uC815\uD55C \uC9C0\uC18D\uC131 \uC81C\uACF5\uC790 ''{0}''\uC5D0 \uB300\uD574 java2db \uAE30\uB2A5\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB530\uB77C\uC11C ''{1}''(\uC774)\uB77C\uB294 \uC774\uB984\uC758 PU\uC5D0 \uB300\uD574 \uC5D4\uD2F0\uD2F0\uC5D0 \uC5F0\uACB0\uB41C \uD14C\uC774\uBE14\uC774 \uC0DD\uC131\uB418\uC9C0 \uC54A\uAC70\uB098 \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC0AD\uC81C\uB429\uB2C8\uB2E4. - -# -# -# -ejb.CMPProcessor.createanddroptables=\uC774\uBCA4\uD2B8 \uCC98\uB9AC \uC911 - \uD14C\uC774\uBE14 \uC0DD\uC131: {0}, \uD14C\uC774\uBE14 \uC0AD\uC81C: {1}. -ejb.PersistenceProcessor.createanddroptables=\uC774\uBCA4\uD2B8 \uCC98\uB9AC \uC911 - \uD14C\uC774\uBE14 \uC0DD\uC131: {0}, \uD14C\uC774\uBE14 \uC0AD\uC81C: {1}. -ejb.PersistenceProcessor.createanddropfilenames=\uD30C\uC77C \uC0DD\uC131 \uC774\uBCA4\uD2B8 \uCC98\uB9AC \uC911 - \uD30C\uC77C \uC0DD\uC131: {0}, \uD30C\uC77C \uC0AD\uC81C: {1}. -ejb.CMPProcessor.createanddropfilenames=\uC0AC\uC6A9\uD560 \uD30C\uC77C \uC774\uB984 - \uC0DD\uC131\uC6A9: {0}, \uC0AD\uC81C\uC6A9: {1}. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_pt_BR.properties deleted file mode 100644 index d35fb9fa01f..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_pt_BR.properties +++ /dev/null @@ -1,286 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO74000 - JDO74999 -############################################################################### -#{0}=exact name of the ejbCreate... method. -#{1}=Abstract bean name. -EXC_NoCreateException=JDO74000: M\u00E9todo {0}() em {1} n\u00E3o declara CreateException em sua cl\u00E1usula de gera\u00E7\u00E3o. - -EXC_TransactionNotActive=JDO74001: A transa\u00E7\u00E3o n\u00E3o est\u00E1 ativa. -# {0}= ejb -# {1}= method name -EXC_PKUpdate=JDO74002: M\u00E9todo {1} do bean "{0}": N\u00E3o \u00E9 poss\u00EDvel alterar o valor do campo Chave Prim\u00E1ria. - -CMG.ModelExceptionOnDeleteAction=JDO74003: ModelException obtido em setDeleteAction: -JDO74003.diag.cause.1=Erro interno no m\u00F3dulo CMP. -JDO74003.diag.check.1=Esse \u00E9 um erro interno inesperado. Entre em contato com a Oracle tendo sua aplica\u00E7\u00E3o e a mensagem completa do log de erros. - -# {0}= ejb -# {1}= method name -GEN.generic_method_exception=JDO74004: M\u00E9todo {1} do bean "{0}": - -# {0}= ejb -# {1}= method name -GEN.cmrgettersetter_exception=JDO74005: O bean "{0}" n\u00E3o \u00E9 persistente durante a chamada para {1}. -JDO74005.diag.cause.1=O campo CMR \u00E9 acessado em ejbCreate. -JDO74005.diag.check.1=Altere o c\u00F3digo do bean para acessar campos CMR no ejbPostCreate. - -# {0}= ejb -# {1}= method name -# {2}= parameters -GEN.cmrsettercol_nullexception=JDO74006: M\u00E9todo {1} do bean "{0}": N\u00E3o \u00E9 poss\u00EDvel definir o valor do Conjunto como nulo. -JDO74006.diag.cause.1=O par\u00E2metro passado para o m\u00E9todo definido de Conjunto CMR \u00E9 nulo. -JDO74006.diag.check.1=Utilize o m\u00E9todo Collection.remove() para remover todos os beans relacionados desse Conjunto. - -GEN.ejbcreate_exception_dup=JDO74007: M\u00E9todo {1} do bean "{0}": chave duplicada, par\u00E2metros: {2} -GEN.ejbcreate_exception_othr=JDO74008: M\u00E9todo {1} do bean "{0}": problema durante ejbCreate; par\u00E2metros: {2} -GEN.ejbSSReturnBody_exception=JDO74009: M\u00E9todo {1} do bean "{0}": problemas ao executar consulta JDOQL com par\u00E2metros {2} -GEN.ejbSSReturnBody_exception_woparams=JDO74010: M\u00E9todo {1} do bean "{0}": problemas ao executar a consulta JDOQL. - -# {0}= ejb -# {1}= key -GEN.findbypk_exception_notfound=JDO74011: M\u00E9todo findByPrimaryKey do bean {0}: n\u00E3o \u00E9 poss\u00EDvel localizar um bean com chave {1} - -# {0}=finder -GEN.11finder_unsupported_interface_param=JDO74012: Localizador CMP 1.1 "{0}" par\u00E2metro "{1}" n\u00E3o \u00E9 do tipo suportado. Par\u00E2metros de tipos de interfaces locais e remotas n\u00E3o t\u00EAm suporte como par\u00E2metros de consulta. - -# {0}=finder name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_finder_exception=JDO74013: Localizador de objeto-\u00FAnico "{0}" n\u00E3o pode retornar {1} valores. - -GEN.parameters=Par\u00E2metros: - -# {0}=finder name -GEN.noinstances_finder_exception=JDO74015: Nenhum resultado para o localizador de objeto-\u00FAnico "{0}". - -# {0}=selector name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_selector_exception=JDO74016: O seletor de objeto-\u00FAnico "{0}" n\u00E3o pode retornar {1} valores. - -# {0}=selector name -GEN.noinstances_selector_exception=JDO74017: Nenhum resultado para o seletor de objeto-\u00FAnico "{0}". - -# {0}=selector name -GEN.primitivetypenull_exception=JDO74018: O seletor de objeto-\u00FAnico "{0}" retornando a um valor de tipo primitivo n\u00E3o pode retornar nulo. - -# {0} = bean instance. -JDO.beannotloaded_exception=JDO74019: O bean {0} n\u00E3o est\u00E1 carregado. O gerenciador de persist\u00EAncia nesta inst\u00E2ncia \u00E9 nulo. -JDO74019.diag.cause.1=Erro poss\u00EDvel no EJB Container e no ciclo de vida de runtime de CMR. -JDO74019.diag.check.1=Este \u00E9 um erro interno inesperado. Ative o log de JDO e CMP e entre em contato com a Oracle tendo a mensagem completa do log de erros. - -# {0} = bean instance. -JDO.beaninuse_exception=JDO74020: N\u00E3o \u00E9 poss\u00EDvel utilizar o bean {0} em mais de uma transa\u00E7\u00E3o. O gerenciador de persist\u00EAncia nesta inst\u00E2ncia n\u00E3o \u00E9 nulo. -JDO74020.diag.cause.1=Erro poss\u00EDvel no EJB Container e no ciclo de vida de runtime de CMR. -JDO74020.diag.check.1=Este \u00E9 um erro interno inesperado. Ative o log de JDO e CMP e entre em contato com a Oracle tendo a mensagem completa do log de erros. - -# {0} = bean instance. -JDO.containertransaction_exception=JDO74021: O bean {0} participa em uma transa\u00E7\u00E3o de container mas o gerenciador de persist\u00EAncia nesta inst\u00E2ncia \u00E9 nulo. -JDO74021.diag.cause.1=ejbRemove ou ejbStore \u00E9 chamado em uma transa\u00E7\u00E3o ativa sem o bean sendo carregado na mesma transa\u00E7\u00E3o. Erro poss\u00EDvel no EJB Container e no ciclo de vida de runtime de CMR. -JDO74021.diag.check.1=Este \u00E9 um erro interno inesperado. Ative o log de JDO e CMP e entre em contato com a Oracle tendo a mensagem completa do log de erros. - -JDO.pmfnull_exception=JDO74022: A f\u00E1brica do gerenciador de persist\u00EAncia \u00E9 nulo. - -# {0}= key -JDO.instancedeleted_exception=JDO74023: A inst\u00E2ncia com a chave {0} foi deletada nesta transa\u00E7\u00E3o. - -# Missing CMP 1.1 finder -# {0}=finder name -EXC_MissingCMP11Finder=JDO74024: Defini\u00E7\u00E3o ausente ou inv\u00E1lida de elementos da consulta JDOQL para o localizador CMP 1.1 {0}. - -# Messages for cmp logging - -# {0}=bean name -# {1} application name -# {2} bundle name -# {3}=validation message -CMG.ExceptionInValidate=JDO74025: JDOCodeGenerator: Obtida uma exce\u00E7\u00E3o ao validar o bean CMP "{0}" no m\u00F3dulo "{1}" da aplica\u00E7\u00E3o "{2}": {3} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.ExceptionInGenerate=JDO74026: JDOCodeGenerator: Obtida uma exce\u00E7\u00E3o ao gerar o bean CMP "{0}" no m\u00F3dulo "{1}" da aplica\u00E7\u00E3o "{2}": {3} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.DBException=JDO74027: JDOCodeGenerator: Obtida uma DBException ao carregar ou criar o modelo de banco de dados para o m\u00F3dulo "{0}" da aplica\u00E7\u00E3o "{1}": {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.Schema2BeansException=JDO2: JDOCodeGenerator: Obtida uma Schema2BeansException ao carregar ou criar o mapeamento para o m\u00F3dulo "{0}" da aplica\u00E7\u00E3o "{1}": {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.ModelException=JDO74029: JDOCodeGenerator: Obtida uma ModelException ao carregar ou criar o modelo para o m\u00F3dulo "{0}" da aplica\u00E7\u00E3o "{1}": {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInInit=JDO74030: JDOCodeGenerator: Obtida uma IOException ao inicializar a gera\u00E7\u00E3o de c\u00F3digo CMP para o m\u00F3dulo "{0}" da aplica\u00E7\u00E3o "{1}": {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInCleanup=JDO74031: JDOCodeGenerator: Obtida uma IOException ao finalizar a gera\u00E7\u00E3o de c\u00F3digo CMP para o m\u00F3dulo "{0}" da aplica\u00E7\u00E3o "{1}" {2}: - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.IOExceptionInGenerate=JDO74032: JDOCodeGenerator: Obtida uma IOException ao gerar o c\u00F3digo para o bean CMP "{0}" no m\u00F3dulo "{1}" da aplica\u00E7\u00E3o "{2}": {3} - -# {0} - application name. -# {1} - bundle name. -EXC_MissingCMPResource=JDO74033: N\u00E3o \u00E9 poss\u00EDvel implantar a aplica\u00E7\u00E3o"{0}" e o m\u00F3dulo "{1}" com beans CMP: recurso-cmp n\u00E3o est\u00E1 definido para esse m\u00F3dulo. O requisito m\u00EDnimo para um cmp-resource \u00E9 especificar o jndi-name de um jbdc-resource ou um persistence-manager-factory-resource para ser utilizado com o beans. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.SQLException=JDO74034: JDOCodeGenerator: Obtida uma SQLException ao carregar ou criar o modelo de banco de dados para o m\u00F3dulo "{0}" da aplica\u00E7\u00E3o "{1}": {2} - -# {0} application name -# {1} bundle name -# {2} name of dbschema file -CMG.MissingDBSchema=JDO74035: JDOCodeGenerator: Problema ao criar o modelo de banco de dados para o m\u00F3dulo "{0}" da aplica\u00E7\u00E3o "{1}": n\u00E3o \u00E9 poss\u00EDvel acessar ou ler o arquivo de esquema "{2}". - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.CannotSaveDBSchema=JDO74036: JDOCodeGenerator: Obtida uma IOException ao salvar o modelo do banco de dados para o m\u00F3dulo "{0}" da aplica\u00E7\u00E3o "{1}": {2} - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBCLIOverrides=JDO74038: Ao implantar a aplica\u00E7\u00E3o "{0}": o m\u00F3dulo "{1}" j\u00E1 est\u00E1 mapeado. Portanto, nenhuma das seguintes op\u00E7\u00F5es de implanta\u00E7\u00E3o ser\u00E1 aplicada a este m\u00F3dulo: --uniquetablenames, --createtables, --dropandcreatetables, --dbvendorname. - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBUniqueTableNames=JDO74039: Ao implantar a aplica\u00E7\u00E3o "{0}": o m\u00F3dulo "{1}" j\u00E1 est\u00E1 mapeado. Portanto, a op\u00E7\u00E3o de implanta\u00E7\u00E3o --uniquetablenames n\u00E3o ser\u00E1 aplicada. - -# {0} - application name. -# {1} - bundle name. -CMG.BeansFileSizeIsZero=JDO74040: Ao implantar "{1}" do "{0}": sun-cmp-mappings.xml existe, mas est\u00E1 vazio. Deveria ter conte\u00FAdo v\u00E1lido e ser encapsulado no m\u00F3dulo ou deveria estar ausente (caso em que o esquema do banco de dados seria gerado automaticamente). - -# {0} - application name. -# {1} - bundle name. -# {2} exception text -CMG.InvalidSunCmpMappingsFile=JDO74041: Ao implantar "{1}" do "{0}": sun-cmp-mappings.xml existe mas tem conte\u00FAdo inv\u00E1lido: {2} - -# {0} bean name -# {1} application name -# {2} bundle name -CMG.MissingBeanMapping=JDO74042: O mapeamento para o bean CMP "{0}" no m\u00F3dulo "{1}" da aplica\u00E7\u00E3o "{2}" est\u00E1 ausente no sun-cmp-mappings.xml. - -# {0}= ejb -# {1}= method name -GEN.update_not_allowed=JDO74043: M\u00E9todo {1} do bean "{0}": A atualiza\u00E7\u00E3o de opera\u00E7\u00F5es n\u00E3o \u00E9 permitida para este tipo de bean. -JDO74043.diag.cause.1=Criar, remover ou atualizar \u00E9 chamado em um bean somente para leitura. -JDO74043.diag.check.1=N\u00E3o tente atualizar beans somente para leitura. -JDO74043.diag.check.2=Se a atualiza\u00E7\u00E3o for necess\u00E1ria, o bean precisa ser implantado como dois EJBs diferentes: como um bean somente para leitura e como bean atualiz\u00E1vel. Todas as atualiza\u00E7\u00F5es precisam ser feitas no segundo bean. - -#{0}=ejb -#{0}=field name -CMG.CMRAccessNotAllowed=JDO74044: O bean "{0}" \u00E9 somente para leitura e n\u00E3o permitir\u00E1 o acesso ao campo CMR "{1}". - -# {0}= ejb -# {1}= key -GEN.clone_exception=JDO74045: N\u00E3o \u00E9 poss\u00EDvel clonar a inst\u00E2ncia do bean "{0}" com a chave {1}. -JDO74045.diag.cause.1=A classe de estado n\u00E3o \u00E9 adequadamente gerada para este bean CMP. -JDO74045.diag.check.1=Esse \u00E9 um erro interno inesperado. Entre em contato com a Oracle tendo sua aplica\u00E7\u00E3o e a mensagem completa do log de erros. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.MappingConversionException=JDO74046: JDOCodeGenerator: Detectada uma MappingConversionException ao carregar ou criar o modelo de mapeamento para o m\u00F3dulo "{0}" da aplica\u00E7\u00E3o "{1}": {2} - -JDO.pm_closed_exception=JDO74047: O gerenciador de persist\u00EAncia est\u00E1 fechado. - -# The following messages JDO76606 through JDO76615 were originally in -# cmp/support/sqlstore/src/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties -# They have been moved to this bundle as part of the INF#82833 -# Most of these messages had been moved to persistence/common module -# -# DeploymentEventListenerImpl messages - ejb -# -# {0} Application name. -# {1} File name. -ejb.BaseProcessor.cannotdroptables=JDO76607: N\u00E3o \u00E9 poss\u00EDvel eliminar tabelas para a aplica\u00E7\u00E3o {0}. O arquivo DDL {1} esperado n\u00E3o est\u00E1 dispon\u00EDvel. -# {0} File name. -ejb.BaseProcessor.nodropfile=JDO76608: N\u00E3o \u00E9 poss\u00EDvel eliminar tabelas para a implanta\u00E7\u00E3o. O arquivo DDL {0} esperado n\u00E3o est\u00E1 dispon\u00EDvel. - -ejb.PersistenceProcessor.nondefaultprovider=JDO76616: O recurso java2db n\u00E3o possui suporte para o provedor de persist\u00EAncia "{0}" especificado. Desta forma, a tabelas associadas com as entidades do PU denominado "{1}" n\u00E3o seriam criadas e/ou eliminadas do banco de dados. - -# -# -# -ejb.CMPProcessor.createanddroptables=Evento de processamento para criar tabelas: {0}, eliminar tabelas: {1}. -ejb.PersistenceProcessor.createanddroptables=Evento de processamento para criar tabelas: {0}, eliminar tabelas: {1}. -ejb.PersistenceProcessor.createanddropfilenames=Evento de processamento para criar arquivos - criar arquivo: {0}, e eliminar arquivo: {1}. -ejb.CMPProcessor.createanddropfilenames=Nomes dos arquivos a serem usados para cria\u00E7\u00E3o s\u00E3o: {0}, e para elimina\u00E7\u00E3o s\u00E3o: {1}. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_zh_CN.properties deleted file mode 100644 index bbae9df97e4..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_zh_CN.properties +++ /dev/null @@ -1,286 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO74000 - JDO74999 -############################################################################### -#{0}=exact name of the ejbCreate... method. -#{1}=Abstract bean name. -EXC_NoCreateException=JDO74000: {1} \u4E2D\u7684\u65B9\u6CD5 {0}() \u672A\u5728\u5176\u629B\u51FA\u5B50\u53E5\u4E2D\u58F0\u660E\u521B\u5EFA\u5F02\u5E38\u9519\u8BEF\u3002 - -EXC_TransactionNotActive=JDO74001: \u4E8B\u52A1\u5904\u7406\u5904\u4E8E\u975E\u6D3B\u52A8\u72B6\u6001\u3002 -# {0}= ejb -# {1}= method name -EXC_PKUpdate=JDO74002: Bean ''{0}'' \u65B9\u6CD5 {1}: \u4E0D\u80FD\u66F4\u6539\u4E3B\u952E\u5B57\u6BB5\u503C\u3002 - -CMG.ModelExceptionOnDeleteAction=JDO74003: \u5728 setDeleteAction \u4E2D\u6355\u83B7 ModelException: -JDO74003.diag.cause.1=CMP \u6A21\u5757\u4E2D\u51FA\u73B0\u5185\u90E8\u9519\u8BEF\u3002 -JDO74003.diag.check.1=\u6B64\u9519\u8BEF\u4E3A\u610F\u5916\u5185\u90E8\u9519\u8BEF\u3002\u8BF7\u4E0E Payara Support \u8054\u7CFB (\u5E76\u63D0\u4F9B\u5E94\u7528\u7A0B\u5E8F\u53CA\u5B8C\u6574\u7684\u9519\u8BEF\u65E5\u5FD7\u6D88\u606F)\u3002 - -# {0}= ejb -# {1}= method name -GEN.generic_method_exception=JDO74004: Bean ''{0}'' \u65B9\u6CD5 {1}: - -# {0}= ejb -# {1}= method name -GEN.cmrgettersetter_exception=JDO74005: \u8C03\u7528 {1} \u671F\u95F4 Bean ''{0}'' \u4E0D\u5177\u6709\u6301\u4E45\u6027\u3002 -JDO74005.diag.cause.1=\u5728 ejbCreate \u4E2D\u8BBF\u95EE CMR \u5B57\u6BB5\u3002 -JDO74005.diag.check.1=\u66F4\u6539 Bean \u4EE3\u7801\u4EE5\u5728 ejbPostCreate \u4E2D\u8BBF\u95EE CMR \u5B57\u6BB5\u3002 - -# {0}= ejb -# {1}= method name -# {2}= parameters -GEN.cmrsettercol_nullexception=JDO74006: Bean ''{0}'' \u65B9\u6CD5 {1}: \u4E0D\u80FD\u5C06\u96C6\u5408\u503C\u8BBE\u7F6E\u4E3A\u7A7A\u503C\u3002 -JDO74006.diag.cause.1=\u4F20\u9001\u7ED9\u96C6\u5408 CMR \u8BBE\u7F6E\u65B9\u6CD5\u7684\u53C2\u6570\u4E3A\u7A7A\u503C\u3002 -JDO74006.diag.check.1=\u4F7F\u7528 Collection.remove() \u65B9\u6CD5\u5220\u9664\u6B64\u96C6\u5408\u4E2D\u7684\u6240\u6709\u76F8\u5173 Bean\u3002 - -GEN.ejbcreate_exception_dup=JDO74007: Bean ''{0}'' \u65B9\u6CD5 {1}: \u91CD\u590D\u7684\u5173\u952E\u5B57; \u53C2\u6570: {2} -GEN.ejbcreate_exception_othr=JDO74008: Bean ''{0}'' \u65B9\u6CD5 {1}: ejbCreate \u671F\u95F4\u51FA\u73B0\u95EE\u9898; \u53C2\u6570: {2} -GEN.ejbSSReturnBody_exception=JDO74009: Bean ''{0}'' \u65B9\u6CD5 {1}: \u8FD0\u884C\u4F7F\u7528\u53C2\u6570 {2} \u7684 JDOQL \u67E5\u8BE2\u65F6\u51FA\u73B0\u95EE\u9898 -GEN.ejbSSReturnBody_exception_woparams=JDO74010: Bean ''{0}'' \u65B9\u6CD5 {1}: \u8FD0\u884C JDOQL \u67E5\u8BE2\u65F6\u51FA\u73B0\u95EE\u9898\u3002 - -# {0}= ejb -# {1}= key -GEN.findbypk_exception_notfound=JDO74011: Bean ''{0}'' \u65B9\u6CD5 findByPrimaryKey: \u627E\u4E0D\u5230\u5177\u6709\u952E {1} \u7684 Bean - -# {0}=finder -GEN.11finder_unsupported_interface_param=JDO74012: CMP 1.1 \u67E5\u627E\u5668 ''{0}'' \u7684\u53C2\u6570 ''{1}'' \u4E0D\u5C5E\u4E8E\u652F\u6301\u7684\u7C7B\u578B\u3002\u4E0D\u652F\u6301\u5C06\u672C\u5730\u548C\u8FDC\u7A0B\u63A5\u53E3\u7C7B\u578B\u7684\u53C2\u6570\u4F5C\u4E3A\u67E5\u8BE2\u53C2\u6570\u3002 - -# {0}=finder name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_finder_exception=JDO74013: \u5355\u4E00\u5BF9\u8C61\u67E5\u627E\u5668 ''{0}'' \u4E0D\u80FD\u8FD4\u56DE {1} \u4E2A\u503C\u3002 - -GEN.parameters=\u53C2\u6570: - -# {0}=finder name -GEN.noinstances_finder_exception=JDO74015: \u5355\u4E00\u5BF9\u8C61\u67E5\u627E\u5668 ''{0}'' \u6CA1\u6709\u7ED3\u679C\u3002 - -# {0}=selector name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_selector_exception=JDO74016: \u5355\u4E00\u5BF9\u8C61\u9009\u62E9\u5668 ''{0}'' \u4E0D\u80FD\u8FD4\u56DE {1} \u4E2A\u503C\u3002 - -# {0}=selector name -GEN.noinstances_selector_exception=JDO74017: \u5355\u4E00\u5BF9\u8C61\u9009\u62E9\u5668 ''{0}'' \u6CA1\u6709\u7ED3\u679C\u3002 - -# {0}=selector name -GEN.primitivetypenull_exception=JDO74018: \u8FD4\u56DE\u57FA\u5143\u7C7B\u578B\u503C\u7684\u5355\u4E00\u5BF9\u8C61\u9009\u62E9\u5668 ''{0}'' \u4E0D\u80FD\u8FD4\u56DE\u7A7A\u503C\u3002 - -# {0} = bean instance. -JDO.beannotloaded_exception=JDO74019: \u672A\u52A0\u8F7D Bean {0}\u3002\u8BE5\u5B9E\u4F8B\u4E2D\u7684\u6301\u4E45\u6027\u7BA1\u7406\u5668\u4E3A\u7A7A\u503C\u3002 -JDO74019.diag.cause.1=EJB \u5BB9\u5668\u548C CMR \u8FD0\u884C\u65F6\u751F\u547D\u5468\u671F\u4E2D\u53EF\u80FD\u51FA\u73B0\u9519\u8BEF\u3002 -JDO74019.diag.check.1=\u6B64\u9519\u8BEF\u4E3A\u610F\u5916\u5185\u90E8\u9519\u8BEF\u3002\u8BF7\u6253\u5F00 JDO \u548C CMP \u65E5\u5FD7\u8BB0\u5F55\u5E76\u4E0E Payara Support \u8054\u7CFB (\u5E76\u63D0\u4F9B\u5B8C\u6574\u7684\u9519\u8BEF\u65E5\u5FD7\u6D88\u606F)\u3002 - -# {0} = bean instance. -JDO.beaninuse_exception=JDO74020: \u65E0\u6CD5\u5728\u591A\u4E2A\u4E8B\u52A1\u5904\u7406\u4E2D\u4F7F\u7528 Bean {0}\u3002\u8BE5\u5B9E\u4F8B\u4E2D\u7684\u6301\u4E45\u6027\u7BA1\u7406\u5668\u4E0D\u4E3A\u7A7A\u503C\u3002 -JDO74020.diag.cause.1=EJB \u5BB9\u5668\u548C CMR \u8FD0\u884C\u65F6\u751F\u547D\u5468\u671F\u4E2D\u53EF\u80FD\u51FA\u73B0\u9519\u8BEF\u3002 -JDO74020.diag.check.1=\u6B64\u9519\u8BEF\u4E3A\u610F\u5916\u5185\u90E8\u9519\u8BEF\u3002\u8BF7\u6253\u5F00 JDO \u548C CMP \u65E5\u5FD7\u8BB0\u5F55\u5E76\u4E0E Payara Support \u8054\u7CFB (\u5E76\u63D0\u4F9B\u5B8C\u6574\u7684\u9519\u8BEF\u65E5\u5FD7\u6D88\u606F)\u3002 - -# {0} = bean instance. -JDO.containertransaction_exception=JDO74021: Bean {0} \u53C2\u4E0E\u4E86\u5BB9\u5668\u4E8B\u52A1\u5904\u7406, \u4F46\u8BE5\u5B9E\u4F8B\u4E2D\u7684\u6301\u4E45\u6027\u7BA1\u7406\u5668\u4E3A\u7A7A\u503C\u3002 -JDO74021.diag.cause.1=\u5728\u6D3B\u52A8\u4E8B\u52A1\u5904\u7406\u4E2D\u8C03\u7528 ejbRemove \u6216 ejbStore, \u4F46\u6CA1\u6709\u5728\u540C\u4E00\u4E8B\u52A1\u5904\u7406\u4E2D\u52A0\u8F7D Bean\u3002EJB \u5BB9\u5668\u548C CMR \u8FD0\u884C\u65F6\u751F\u547D\u5468\u671F\u4E2D\u53EF\u80FD\u51FA\u73B0\u9519\u8BEF\u3002 -JDO74021.diag.check.1=\u6B64\u9519\u8BEF\u4E3A\u610F\u5916\u5185\u90E8\u9519\u8BEF\u3002\u8BF7\u6253\u5F00 JDO \u548C CMP \u65E5\u5FD7\u8BB0\u5F55\u5E76\u4E0E Payara Support \u8054\u7CFB (\u5E76\u63D0\u4F9B\u5B8C\u6574\u7684\u9519\u8BEF\u65E5\u5FD7\u6D88\u606F)\u3002 - -JDO.pmfnull_exception=JDO74022: \u6301\u4E45\u6027\u7BA1\u7406\u5668\u5DE5\u5382\u4E3A\u7A7A\u503C\u3002 - -# {0}= key -JDO.instancedeleted_exception=JDO74023: \u5728\u6B64\u4E8B\u52A1\u5904\u7406\u4E2D, \u5E26\u6709\u952E {0} \u7684\u5B9E\u4F8B\u5DF2\u5220\u9664\u3002 - -# Missing CMP 1.1 finder -# {0}=finder name -EXC_MissingCMP11Finder=JDO74024: \u7F3A\u5C11 CMP 1.1 \u67E5\u627E\u5668 {0} \u7684 JDOQL \u67E5\u8BE2\u5143\u7D20\u7684\u5B9A\u4E49\u6216\u8BE5\u5B9A\u4E49\u65E0\u6548\u3002 - -# Messages for cmp logging - -# {0}=bean name -# {1} application name -# {2} bundle name -# {3}=validation message -CMG.ExceptionInValidate=JDO74025: JDOCodeGenerator: \u9A8C\u8BC1\u5E94\u7528\u7A0B\u5E8F ''{1}'' \u7684\u6A21\u5757 ''{2}'' \u4E2D\u7684 CMP Bean ''{0}'' \u65F6\u6355\u83B7\u5F02\u5E38\u9519\u8BEF: {3} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.ExceptionInGenerate=JDO74026: JDOCodeGenerator: \u751F\u6210\u5E94\u7528\u7A0B\u5E8F ''{1}'' \u7684\u6A21\u5757 ''{2}'' \u4E2D\u7684 CMP Bean ''{0}'' \u65F6\u6355\u83B7\u5F02\u5E38\u9519\u8BEF: {3} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.DBException=JDO74027: JDOCodeGenerator: \u4E3A\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u7684\u6A21\u5757 ''{1}'' \u52A0\u8F7D\u6216\u521B\u5EFA\u6570\u636E\u5E93\u6A21\u578B\u65F6\u6355\u83B7 DBException: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.Schema2BeansException=JDO74028: JDOCodeGenerator: \u4E3A\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u7684\u6A21\u5757 ''{1}'' \u52A0\u8F7D\u6216\u521B\u5EFA\u6620\u5C04\u65F6\u6355\u83B7 Schema2BeansException: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.ModelException=JDO74029: JDOCodeGenerator: \u4E3A\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u7684\u6A21\u5757 ''{1}'' \u52A0\u8F7D\u6216\u521B\u5EFA\u6A21\u578B\u65F6\u6355\u83B7 ModelException: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInInit=JDO74030: JDOCodeGenerator: \u4E3A\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u6A21\u5757 ''{1}'' \u521D\u59CB\u5316 CMP \u4EE3\u7801\u751F\u6210\u65F6\u6355\u83B7 IOException: {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInCleanup=JDO74031: JDOCodeGenerator: \u4E3A\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u6A21\u5757 ''{1}'' \u5B8C\u6210 CMP \u4EE3\u7801\u751F\u6210\u65F6\u6355\u83B7 IOException: {2} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.IOExceptionInGenerate=JDO74032: JDOCodeGenerator: \u4E3A\u5E94\u7528\u7A0B\u5E8F ''{1}'' \u6A21\u5757 ''{2}'' \u4E2D\u7684 CMP Bean ''{0}'' \u751F\u6210\u4EE3\u7801\u65F6\u6355\u83B7 IOException: {3} - -# {0} - application name. -# {1} - bundle name. -EXC_MissingCMPResource=JDO74033: \u65E0\u6CD5\u90E8\u7F72\u5E26\u6709 CMP Bean \u7684\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u7684\u6A21\u5757 ''{1}'': \u6CA1\u6709\u4E3A\u6B64\u6A21\u5757\u5B9A\u4E49 cmp-resource\u3002\u5BF9\u4E8E cmp-resource, \u6700\u4F4E\u8981\u6C42\u662F\u6307\u5B9A jdbc-resource \u6216 persistence-manager-factory-resource \u7684 jndi-name, \u4EE5\u4FBF\u4E0E Bean \u4E00\u8D77\u4F7F\u7528\u3002 - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.SQLException=JDO74034: JDOCodeGenerator: \u4E3A\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u6A21\u5757 ''{1}'' \u52A0\u8F7D\u6216\u521B\u5EFA\u6570\u636E\u5E93\u6A21\u578B\u65F6\u6355\u83B7 SQLException: {2} - -# {0} application name -# {1} bundle name -# {2} name of dbschema file -CMG.MissingDBSchema=JDO74035: JDOCodeGenerator: \u4E3A\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u7684\u6A21\u5757 ''{1}'' \u521B\u5EFA\u6570\u636E\u5E93\u6A21\u578B\u65F6\u51FA\u73B0\u95EE\u9898: \u65E0\u6CD5\u8BBF\u95EE\u6216\u8BFB\u53D6\u6A21\u5F0F\u6587\u4EF6 ''{2}''\u3002 - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.CannotSaveDBSchema=JDO74036: JDOCodeGenerator: \u4E3A\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u6A21\u5757 ''{1}'' \u4FDD\u5B58\u6570\u636E\u5E93\u6A21\u578B\u65F6\u6355\u83B7 IOException: {2} - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBCLIOverrides=JDO74038: \u90E8\u7F72\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u65F6: \u6A21\u5757 ''{1}'' \u5DF2\u6620\u5C04, \u56E0\u6B64\u4EE5\u4E0B\u90E8\u7F72\u9009\u9879\u5747\u4E0D\u5E94\u7528\u4E8E\u6B64\u6A21\u5757: --uniquetablenames, --createtables, --dropandcreatetables, --dbvendorname\u3002 - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBUniqueTableNames=JDO74039: \u90E8\u7F72\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u65F6: \u6A21\u5757 ''{1}'' \u5DF2\u6620\u5C04, \u56E0\u6B64\u5C06\u4E0D\u5E94\u7528\u90E8\u7F72\u9009\u9879 --uniquetablenames\u3002 - -# {0} - application name. -# {1} - bundle name. -CMG.BeansFileSizeIsZero=JDO74040: \u90E8\u7F72 ''{0}'' \u4E2D\u7684 ''{1}'' \u65F6: sun-cmp-mappings.xml \u5B58\u5728\u4F46\u4E3A\u7A7A\u3002\u5B83\u5E94\u8BE5\u5177\u6709\u6709\u6548\u5185\u5BB9\u5E76\u6253\u5305\u5728\u6A21\u5757\u4E2D, \u6216\u8005\u4E0D\u5B58\u5728 (\u6B64\u65F6\u5C06\u81EA\u52A8\u751F\u6210\u6570\u636E\u5E93\u6A21\u5F0F)\u3002 - -# {0} - application name. -# {1} - bundle name. -# {2} exception text -CMG.InvalidSunCmpMappingsFile=JDO74041: \u90E8\u7F72 ''{0}'' \u4E2D\u7684 ''{1}'' \u65F6: sun-cmp-mappings.xml \u5B58\u5728\u4F46\u5185\u5BB9\u65E0\u6548: {2} - -# {0} bean name -# {1} application name -# {2} bundle name -CMG.MissingBeanMapping=JDO74042: sun-cmp-mappings.xml \u4E2D\u7F3A\u5C11\u5E94\u7528\u7A0B\u5E8F ''{1}'' \u7684\u6A21\u5757 ''{2}'' \u4E2D\u7684 CMP Bean ''{0}'' \u7684\u6620\u5C04\u3002 - -# {0}= ejb -# {1}= method name -GEN.update_not_allowed=JDO74043: Bean ''{0}'' \u65B9\u6CD5 {1}: \u4E0D\u5141\u8BB8\u5BF9\u6B64 Bean \u7C7B\u578B\u6267\u884C\u66F4\u65B0\u64CD\u4F5C\u3002 -JDO74043.diag.cause.1=\u5728\u53EA\u8BFB Bean \u4E0A\u8C03\u7528\u521B\u5EFA, \u5220\u9664\u6216\u66F4\u65B0\u3002 -JDO74043.diag.check.1=\u8BF7\u52FF\u5C1D\u8BD5\u66F4\u65B0\u53EA\u8BFB Bean\u3002 -JDO74043.diag.check.2=\u5982\u679C\u9700\u8981\u66F4\u65B0, \u5FC5\u987B\u5C06 Bean \u90E8\u7F72\u4E3A\u4E24\u4E2A\u4E0D\u540C\u7684 EJB: \u53EA\u8BFB Bean \u548C\u53EF\u66F4\u65B0 Bean\u3002\u6240\u6709\u66F4\u65B0\u90FD\u5FC5\u987B\u5728\u7B2C\u4E8C\u4E2A Bean \u4E0A\u8FDB\u884C\u3002 - -#{0}=ejb -#{0}=field name -CMG.CMRAccessNotAllowed=JDO74044: Bean ''{0}'' \u4E3A\u53EA\u8BFB Bean, \u4E0D\u5141\u8BB8\u8BBF\u95EE CMR \u5B57\u6BB5 ''{1}''\u3002 - -# {0}= ejb -# {1}= key -GEN.clone_exception=JDO74045: \u65E0\u6CD5\u7528\u952E {1} \u514B\u9686 Bean ''{0}'' \u5B9E\u4F8B\u3002 -JDO74045.diag.cause.1=\u6CA1\u6709\u4E3A\u6B64 CMP Bean \u751F\u6210\u6B63\u786E\u7684\u72B6\u6001\u7C7B\u3002 -JDO74045.diag.check.1=\u6B64\u9519\u8BEF\u4E3A\u610F\u5916\u5185\u90E8\u9519\u8BEF\u3002\u8BF7\u4E0E Payara Support \u8054\u7CFB (\u5E76\u63D0\u4F9B\u5E94\u7528\u7A0B\u5E8F\u53CA\u5B8C\u6574\u7684\u9519\u8BEF\u65E5\u5FD7\u6D88\u606F)\u3002 - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.MappingConversionException=JDO74046: JDOCodeGenerator: \u4E3A\u5E94\u7528\u7A0B\u5E8F ''{0}'' \u7684\u6A21\u5757 ''{1}'' \u52A0\u8F7D\u6216\u521B\u5EFA\u6620\u5C04\u6A21\u578B\u65F6\u6355\u83B7 MappingConversionException: {2} - -JDO.pm_closed_exception=JDO74047: \u5DF2\u5173\u95ED\u6301\u4E45\u6027\u7BA1\u7406\u5668\u3002 - -# The following messages JDO76606 through JDO76615 were originally in -# cmp/support/sqlstore/src/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties -# They have been moved to this bundle as part of the INF#82833 -# Most of these messages had been moved to persistence/common module -# -# DeploymentEventListenerImpl messages - ejb -# -# {0} Application name. -# {1} File name. -ejb.BaseProcessor.cannotdroptables=JDO76607: \u65E0\u6CD5\u4E3A\u5E94\u7528\u7A0B\u5E8F{0}\u5220\u9664\u8868\u3002\u9700\u8981\u7684 DDL \u6587\u4EF6 {1} \u4E0D\u53EF\u7528\u3002 -# {0} File name. -ejb.BaseProcessor.nodropfile=JDO76608: \u65E0\u6CD5\u4E3A\u90E8\u7F72\u5220\u9664\u8868\u3002\u9700\u8981\u7684 DDL \u6587\u4EF6 {0} \u4E0D\u53EF\u7528\u3002 - -ejb.PersistenceProcessor.nondefaultprovider=JDO76616: \u60A8\u6307\u5B9A\u7684\u6301\u4E45\u6027\u63D0\u4F9B\u7A0B\u5E8F ''{0}'' \u4E0D\u652F\u6301 java2db \u529F\u80FD\u3002\u56E0\u6B64\u5C06\u4E0D\u4F1A\u5728\u6570\u636E\u5E93\u4E2D\u521B\u5EFA\u548C/\u6216\u4ECE\u6570\u636E\u5E93\u4E2D\u5220\u9664\u4E0E\u540D\u4E3A ''{1}'' \u7684 PU \u7684\u5B9E\u4F53\u5173\u8054\u7684\u8868\u683C\u3002 - -# -# -# -ejb.CMPProcessor.createanddroptables=\u5904\u7406\u4E8B\u4EF6\u4EE5\u521B\u5EFA\u8868: {0}, \u5220\u9664\u8868: {1}\u3002 -ejb.PersistenceProcessor.createanddroptables=\u5904\u7406\u4E8B\u4EF6\u4EE5\u521B\u5EFA\u8868: {0}, \u5220\u9664\u8868: {1}\u3002 -ejb.PersistenceProcessor.createanddropfilenames=\u5904\u7406\u4E8B\u4EF6\u4EE5\u521B\u5EFA\u6587\u4EF6 - \u521B\u5EFA\u6587\u4EF6: {0}, \u5220\u9664\u6587\u4EF6: {1}\u3002 -ejb.CMPProcessor.createanddropfilenames=\u7528\u4E8E\u521B\u5EFA\u7684\u6587\u4EF6\u540D\u4E3A: {0}, \u7528\u4E8E\u521B\u5EFA\u7684\u6587\u4EF6\u540D\u4E3A: {1}\u3002 diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_zh_TW.properties deleted file mode 100644 index ebf4ceb8d6e..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle_zh_TW.properties +++ /dev/null @@ -1,286 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO74000 - JDO74999 -############################################################################### -#{0}=exact name of the ejbCreate... method. -#{1}=Abstract bean name. -EXC_NoCreateException=JDO74000\uFF1A{1} \u4E2D\u7684\u65B9\u6CD5 {0}() \u4E0D\u5728 throws \u5B50\u53E5\u4E2D\u5BA3\u544A CreateException\u3002 - -EXC_TransactionNotActive=JDO74001\uFF1A\u4F5C\u696D\u4E8B\u4EF6\u4E0D\u5728\u4F7F\u7528\u4E2D\u3002 -# {0}= ejb -# {1}= method name -EXC_PKUpdate=JDO74002\uFF1ABean ''{0}'' \u65B9\u6CD5 {1}\uFF1A\u7121\u6CD5\u8B8A\u66F4\u4E3B\u9375\u6B04\u4F4D\u503C\u3002 - -CMG.ModelExceptionOnDeleteAction=JDO74003\uFF1A\u5728 setDeleteAction \u4E0A\u64F7\u53D6 ModelException\uFF1A -JDO74003.diag.cause.1=CMP \u6A21\u7D44\u4E2D\u767C\u751F\u5167\u90E8\u932F\u8AA4\u3002 -JDO74003.diag.check.1=\u9019\u662F\u672A\u9810\u671F\u7684\u5167\u90E8\u932F\u8AA4\u3002\u8ACB\u8207 Payara Support \u9023\u7D61\uFF0C\u63D0\u4F9B\u60A8\u7684\u61C9\u7528\u7A0B\u5F0F\u548C\u5B8C\u6574\u7684\u932F\u8AA4\u65E5\u8A8C\u8A0A\u606F\u3002 - -# {0}= ejb -# {1}= method name -GEN.generic_method_exception=JDO74004\uFF1ABean ''{0}'' \u65B9\u6CD5 {1}\uFF1A - -# {0}= ejb -# {1}= method name -GEN.cmrgettersetter_exception=JDO74005\uFF1ABean ''{0}'' \u5728\u547C\u53EB {1} \u6642\u4E0D\u5177\u6709\u6301\u7E8C\u6027\u3002 -JDO74005.diag.cause.1=\u5728 ejbCreate \u4E2D\u5B58\u53D6 CMR \u6B04\u4F4D\u3002 -JDO74005.diag.check.1=\u8B8A\u66F4 Bean \u4EE3\u78BC\u4EE5\u5B58\u53D6 ejbPostCreate \u4E2D\u7684 CMR \u6B04\u4F4D\u3002 - -# {0}= ejb -# {1}= method name -# {2}= parameters -GEN.cmrsettercol_nullexception=JDO74006\uFF1ABean ''{0}'' \u65B9\u6CD5 {1}\uFF1A\u7121\u6CD5\u5C07\u96C6\u5408\u503C\u8A2D\u5B9A\u70BA\u7A7A\u3002 -JDO74006.diag.cause.1=\u50B3\u9001\u81F3\u96C6\u5408 CMR \u8A2D\u5B9A\u65B9\u6CD5\u7684\u53C3\u6578\u70BA\u7A7A\u3002 -JDO74006.diag.check.1=\u4F7F\u7528 Collection.remove() \u65B9\u6CD5\u5F9E\u6B64\u96C6\u5408\u4E2D\u79FB\u9664\u6240\u6709\u76F8\u95DC Bean\u3002 - -GEN.ejbcreate_exception_dup=JDO74007\uFF1ABean ''{0}'' \u65B9\u6CD5 {1}\uFF1A\u8907\u88FD\u9375\uFF1B\u53C3\u6578\uFF1A{2} -GEN.ejbcreate_exception_othr=JDO74008\uFF1ABean ''{0}'' \u65B9\u6CD5 {1}\uFF1AejbCreate \u671F\u9593\u51FA\u73FE\u554F\u984C\uFF1B\u53C3\u6578\uFF1A{2} -GEN.ejbSSReturnBody_exception=JDO74009\uFF1ABean ''{0}'' \u65B9\u6CD5 {1}\uFF1A\u4F7F\u7528\u53C3\u6578 {2} \u57F7\u884C JDOQL \u67E5\u8A62\u6642\u51FA\u73FE\u554F\u984C -GEN.ejbSSReturnBody_exception_woparams=JDO74010\uFF1ABean ''{0}'' \u65B9\u6CD5 {1}\uFF1A\u57F7\u884C JDOQL \u67E5\u8A62\u6642\u51FA\u73FE\u554F\u984C\u3002 - -# {0}= ejb -# {1}= key -GEN.findbypk_exception_notfound=JDO74011\uFF1ABean ''{0}'' \u65B9\u6CD5 findByPrimaryKey\uFF1A\u4F7F\u7528\u9375 {1} \u627E\u4E0D\u5230 Bean - -# {0}=finder -GEN.11finder_unsupported_interface_param=JDO74012\uFF1ACMP 1.1 \u5C0B\u6A94\u7A0B\u5F0F ''{0}'' \u53C3\u6578 ''{1}'' \u4E0D\u662F\u53D7\u652F\u63F4\u7684\u985E\u578B\u3002\u672C\u6A5F\u4ECB\u9762\u985E\u578B\u7684\u53C3\u6578\u548C Remote \u4ECB\u9762\u985E\u578B\u7684\u53C3\u6578\u4E0D\u505A\u70BA\u67E5\u8A62\u53C3\u6578\u652F\u63F4\u3002 - -# {0}=finder name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_finder_exception=JDO74013\uFF1A\u55AE\u7269\u4EF6\u5C0B\u6A94\u7A0B\u5F0F ''{0}'' \u7121\u6CD5\u50B3\u56DE {1} \u500B\u503C\u3002 - -GEN.parameters=\u53C3\u6578\uFE30 - -# {0}=finder name -GEN.noinstances_finder_exception=JDO74015\uFF1A\u7121\u55AE\u7269\u4EF6\u5C0B\u6A94\u7A0B\u5F0F ''{0}'' \u7684\u7D50\u679C\u3002 - -# {0}=selector name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_selector_exception=JDO74016\uFF1A\u55AE\u7269\u4EF6\u9078\u64C7\u5668 ''{0}'' \u7121\u6CD5\u50B3\u56DE {1} \u500B\u503C\u3002 - -# {0}=selector name -GEN.noinstances_selector_exception=JDO74017\uFF1A\u7121\u55AE\u7269\u4EF6\u9078\u64C7\u5668 ''{0}'' \u7684\u7D50\u679C\u3002 - -# {0}=selector name -GEN.primitivetypenull_exception=JDO74018\uFF1A\u50B3\u56DE\u539F\u59CB\u985E\u578B\u503C\u7684\u55AE\u7269\u4EF6\u9078\u64C7\u5668 ''{0}'' \u7121\u6CD5\u50B3\u56DE\u7A7A\u503C\u3002 - -# {0} = bean instance. -JDO.beannotloaded_exception=JDO74019\uFF1A\u672A\u8F09\u5165 Bean {0}\u3002\u6B64\u57F7\u884C\u8655\u7406\u4E2D\u7684\u6301\u7E8C\u6027\u7BA1\u7406\u7A0B\u5F0F\u70BA\u7A7A\u3002 -JDO74019.diag.cause.1=EJB \u5BB9\u5668\u548C CMR \u904B\u884C\u6642\u9593\u751F\u547D\u9031\u671F\u4E2D\u53EF\u80FD\u767C\u751F\u932F\u8AA4\u3002 -JDO74019.diag.check.1=\u9019\u662F\u672A\u9810\u671F\u7684\u5167\u90E8\u932F\u8AA4\u3002\u8ACB\u958B\u555F JDO \u548C CMP \u65E5\u8A8C\uFF0C\u4E26\u8207 Payara Support \u9023\u7D61\uFF0C\u63D0\u4F9B\u5B8C\u6574\u7684\u932F\u8AA4\u65E5\u8A8C\u8A0A\u606F\u3002 - -# {0} = bean instance. -JDO.beaninuse_exception=JDO74020\uFF1A\u7121\u6CD5\u5728\u591A\u500B\u4F5C\u696D\u4E8B\u4EF6\u4E2D\u4F7F\u7528 Bean {0}\u3002\u6B64\u57F7\u884C\u8655\u7406\u4E2D\u7684\u6301\u7E8C\u6027\u7BA1\u7406\u7A0B\u5F0F\u4E0D\u70BA\u7A7A\u3002 -JDO74020.diag.cause.1=EJB \u5BB9\u5668\u548C CMR \u904B\u884C\u6642\u9593\u751F\u547D\u9031\u671F\u4E2D\u53EF\u80FD\u767C\u751F\u932F\u8AA4\u3002 -JDO74020.diag.check.1=\u9019\u662F\u672A\u9810\u671F\u7684\u5167\u90E8\u932F\u8AA4\u3002\u8ACB\u958B\u555F JDO \u548C CMP \u65E5\u8A8C\uFF0C\u4E26\u8207 Payara Support \u9023\u7D61\uFF0C\u63D0\u4F9B\u5B8C\u6574\u7684\u932F\u8AA4\u65E5\u8A8C\u8A0A\u606F\u3002 - -# {0} = bean instance. -JDO.containertransaction_exception=JDO74021\uFF1ABean {0} \u53C3\u8207\u5BB9\u5668\u4F5C\u696D\u4E8B\u4EF6\uFF0C\u4F46\u6B64\u57F7\u884C\u8655\u7406\u4E2D\u7684\u6301\u7E8C\u6027\u7BA1\u7406\u7A0B\u5F0F\u70BA\u7A7A\u3002 -JDO74021.diag.cause.1=\u5728\u4F7F\u7528\u4E2D\u7684\u4F5C\u696D\u4E8B\u4EF6\u5167\u547C\u53EB ejbRemove \u6216 ejbStore\uFF0C\u800C\u7121\u9700\u5728\u540C\u4E00\u4F5C\u696D\u4E8B\u4EF6\u4E2D\u8F09\u5165 Bean\u3002EJB \u5BB9\u5668\u548C CMR \u904B\u884C\u6642\u9593\u751F\u547D\u9031\u671F\u4E2D\u53EF\u80FD\u767C\u751F\u932F\u8AA4\u3002 -JDO74021.diag.check.1=\u9019\u662F\u672A\u9810\u671F\u7684\u5167\u90E8\u932F\u8AA4\u3002\u8ACB\u958B\u555F JDO \u548C CMP \u65E5\u8A8C\uFF0C\u4E26\u8207 Payara Support \u9023\u7D61\uFF0C\u63D0\u4F9B\u5B8C\u6574\u7684\u932F\u8AA4\u65E5\u8A8C\u8A0A\u606F\u3002 - -JDO.pmfnull_exception=JDO74022\uFF1A\u6301\u7E8C\u6027\u7BA1\u7406\u7A0B\u5F0F\u5DE5\u5EE0\u70BA\u7A7A\u3002 - -# {0}= key -JDO.instancedeleted_exception=JDO74023\uFF1A\u5177\u6709\u9375 {0} \u7684\u57F7\u884C\u8655\u7406\u5728\u6B64\u4F5C\u696D\u4E8B\u4EF6\u4E2D\u5DF2\u88AB\u522A\u9664\u3002 - -# Missing CMP 1.1 finder -# {0}=finder name -EXC_MissingCMP11Finder=JDO74024\uFF1ACMP 1.1 \u5C0B\u6A94\u7A0B\u5F0F {0} \u7684 JDOQL \u67E5\u8A62\u5143\u7D20\u5B9A\u7FA9\u7F3A\u5C11\u6216\u7121\u6548\u3002 - -# Messages for cmp logging - -# {0}=bean name -# {1} application name -# {2} bundle name -# {3}=validation message -CMG.ExceptionInValidate=JDO74025\uFF1AJDOCodeGenerator\uFF1A\u6AA2\u9A57\u61C9\u7528\u7A0B\u5F0F ''{1}'' \u6A21\u7D44 ''{2}'': {3} \u7684 CMP\u8EDF\u9AD4\u5143\u4EF6 ''{0}''\u6642, \u9047\u5230\u4E00\u500B\u4F8B\u5916\u60C5\u6CC1 - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.ExceptionInGenerate=JDO74026\uFF1AJDOCodeGenerator\uFF1A\u5728\u61C9\u7528\u7A0B\u5F0F ''{1}'' \u6A21\u7D44 ''{2}'' \u4E2D\u7522\u751F CMP Bean ''{0}'' \u6642\u64F7\u53D6\u5230\u7570\u5E38\uFF1A{3} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.DBException=JDO74027\uFF1AJDOCodeGenerator\uFF1A\u8F09\u5165\u6216\u5EFA\u7ACB\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6A21\u7D44 ''{1}'' \u7684\u8CC7\u6599\u5EAB\u6A21\u578B\u6642\u64F7\u53D6\u5230 DBException\uFF1A{2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.Schema2BeansException=JDO74028\uFF1AJDOCodeGenerator\uFF1A\u8F09\u5165\u6216\u5EFA\u7ACB\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6A21\u7D44 ''{1}'' \u7684\u5C0D\u61C9\u6642\u64F7\u53D6\u5230 Schema2BeansException\uFF1A{2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.ModelException=JDO74029\uFF1AJDOCodeGenerator\uFF1A\u8F09\u5165\u6216\u5EFA\u7ACB\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6A21\u7D44 ''{1}'' \u7684\u6A21\u578B\u6642\u64F7\u53D6\u5230 ModelException\uFF1A{2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInInit=JDO74030\uFF1AJDOCodeGenerator\uFF1A\u521D\u59CB\u5316\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6A21\u7D44 ''{1}'' \u7684 CMP \u4EE3\u78BC\u7522\u751F\u6642\u64F7\u53D6\u5230 IOException\uFF1A{2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInCleanup=JDO74031\uFF1AJDOCodeGenerator\uFF1A\u5B8C\u6210\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6A21\u7D44 ''{1}'' \u7684 CMP \u4EE3\u78BC\u7522\u751F\u6642\u64F7\u53D6\u5230 IOException\uFF1A{2} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.IOExceptionInGenerate=JDO74032\uFF1AJDOCodeGenerator\uFF1A\u5728\u61C9\u7528\u7A0B\u5F0F ''{1}'' \u6A21\u7D44 ''{2}'' \u4E2D\u7522\u751F CMP Bean ''{0}'' \u7684\u4EE3\u78BC\u6642\u64F7\u53D6\u5230 IOException\uFF1A{3} - -# {0} - application name. -# {1} - bundle name. -EXC_MissingCMPResource=JDO74033\uFF1A\u7121\u6CD5\u4F7F\u7528 CMP Bean \u5EFA\u7F6E\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6A21\u7D44 ''{1}''\uFF1A\u672A\u91DD\u5C0D\u6B64\u6A21\u7D44\u5B9A\u7FA9 cmp-resource\u3002cmp-resource \u7684\u6700\u4F4E\u9700\u6C42\u70BA\u6307\u5B9A jdbc-resource \u6216 persistence-manager-factory-resource \u7684 jndi-name\uFF0C\u4EE5\u8207 Bean \u4E00\u540C\u4F7F\u7528\u3002 - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.SQLException=JDO74034\uFF1AJDOCodeGenerator\uFF1A\u8F09\u5165\u6216\u5EFA\u7ACB\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6A21\u7D44 ''{1}'' \u7684\u8CC7\u6599\u5EAB\u6A21\u578B\u6642\u64F7\u53D6\u5230 SQLException\uFF1A{2} - -# {0} application name -# {1} bundle name -# {2} name of dbschema file -CMG.MissingDBSchema=JDO74035\uFF1AJDOCodeGenerator\uFF1A\u5EFA\u7ACB\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6A21\u7D44 ''{1}'' \u7684\u8CC7\u6599\u5EAB\u6A21\u578B\u6642\u51FA\u73FE\u554F\u984C\uFF1A\u7121\u6CD5\u5B58\u53D6\u6216\u8B80\u53D6\u6A21\u5F0F\u6A94\u6848 ''{2}''\u3002 - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.CannotSaveDBSchema=JDO74036\uFF1AJDOCodeGenerator\uFF1A\u5132\u5B58\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6A21\u7D44 ''{1}'' \u7684\u8CC7\u6599\u5EAB\u6A21\u578B\u6642\u64F7\u53D6\u5230 IOException\uFF1A{2} - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBCLIOverrides=JDO74038\uFF1A\u5EFA\u7F6E\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6642\uFF1A\u6A21\u7D44 ''{1}'' \u5DF2\u5C0D\u61C9\uFF0C\u56E0\u6B64\uFF0C\u4E0B\u5217\u5EFA\u7F6E\u9078\u9805\u5747\u4E0D\u6703\u5957\u7528\u81F3\u6B64\u6A21\u7D44\uFF1A--uniquetablenames\u3001--createtables\u3001--dropandcreatetables\u3001--dbvendorname\u3002 - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBUniqueTableNames=JDO74039\uFF1A\u5EFA\u7F6E\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6642\uFF1A\u6A21\u7D44 ''{1}'' \u5DF2\u5C0D\u61C9\uFF0C\u56E0\u6B64\u5EFA\u7F6E\u9078\u9805 --uniquetablenames \u5C07\u4E0D\u6703\u88AB\u5957\u7528\u3002 - -# {0} - application name. -# {1} - bundle name. -CMG.BeansFileSizeIsZero=JDO74040\uFF1A\u5F9E ''{0}'' \u5EFA\u7F6E ''{1}'' \u6642\uFF1Asun-cmp-mappings.xml \u5B58\u5728\uFF0C\u4F46\u70BA\u7A7A\u3002\u5B83\u61C9\u5305\u542B\u6709\u6548\u5167\u5BB9\u4E26\u5C01\u88DD\u65BC\u6A21\u7D44\u4E2D\uFF0C\u6216\u4E0D\u5B58\u5728 (\u5728\u6B64\u60C5\u6CC1\u4E0B\uFF0C\u8CC7\u6599\u5EAB\u7DB1\u8981\u5C07\u81EA\u52D5\u7522\u751F)\u3002 - -# {0} - application name. -# {1} - bundle name. -# {2} exception text -CMG.InvalidSunCmpMappingsFile=JDO74041\uFF1A\u5F9E ''{0}'' \u5EFA\u7F6E ''{1}'' \u6642\uFF1Asun-cmp-mappings.xml \u5B58\u5728\uFF0C\u4F46\u5177\u6709\u7121\u6548\u5167\u5BB9\uFF1A{2} - -# {0} bean name -# {1} application name -# {2} bundle name -CMG.MissingBeanMapping=JDO74042\uFF1Asun-cmp-mappings.xml \u7F3A\u5C11\u61C9\u7528\u7A0B\u5F0F ''{1}'' \u6A21\u7D44 ''{2}'' \u4E2D CMP Bean ''{0}'' \u7684\u5C0D\u61C9\u3002 - -# {0}= ejb -# {1}= method name -GEN.update_not_allowed=JDO74043\uFF1ABean ''{0}'' \u65B9\u6CD5 {1}\uFF1A\u4E0D\u5141\u8A31\u70BA\u6B64 Bean \u985E\u578B\u57F7\u884C\u66F4\u65B0\u4F5C\u696D\u3002 -JDO74043.diag.cause.1=\u5728\u552F\u8B80 Bean \u4E0A\u547C\u53EB\u5EFA\u7ACB\u3001\u79FB\u9664\u6216\u66F4\u65B0\u3002 -JDO74043.diag.check.1=\u8ACB\u52FF\u5617\u8A66\u66F4\u65B0\u552F\u8B80 Bean\u3002 -JDO74043.diag.check.2=\u5982\u679C\u9700\u8981\u66F4\u65B0\uFF0C\u5247 Bean \u5FC5\u9808\u5EFA\u7F6E\u70BA\u5169\u500B\u4E0D\u540C\u7684 EJB\uFF1A\u5373\u505A\u70BA\u552F\u8B80 Bean \u548C\u53EF\u66F4\u65B0 Bean\u3002\u6240\u6709\u66F4\u65B0\u5FC5\u9808\u5728\u7B2C\u4E8C\u500B Bean \u4E0A\u57F7\u884C\u3002 - -#{0}=ejb -#{0}=field name -CMG.CMRAccessNotAllowed=JDO74044\uFF1ABean ''{0}'' \u70BA\u552F\u8B80\u4E26\u4E14\u5C07\u4E0D\u5141\u8A31\u5B58\u53D6 CMR \u6B04\u4F4D ''{1}''\u3002 - -# {0}= ejb -# {1}= key -GEN.clone_exception=JDO74045\uFF1A\u7121\u6CD5\u4F7F\u7528\u9375 {1} \u8907\u88FD Bean ''{0}'' \u57F7\u884C\u8655\u7406\u3002 -JDO74045.diag.cause.1=\u72C0\u614B\u985E\u5225\u672A\u91DD\u5C0D\u6B64 CMP Bean \u6B63\u78BA\u7522\u751F\u3002 -JDO74045.diag.check.1=\u9019\u662F\u672A\u9810\u671F\u7684\u5167\u90E8\u932F\u8AA4\u3002\u8ACB\u8207 Payara Support \u9023\u7D61\uFF0C\u63D0\u4F9B\u60A8\u7684\u61C9\u7528\u7A0B\u5F0F\u548C\u5B8C\u6574\u7684\u932F\u8AA4\u65E5\u8A8C\u8A0A\u606F\u3002 - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.MappingConversionException=JDO74046\uFF1AJDOCodeGenerator\uFF1A\u8F09\u5165\u6216\u5EFA\u7ACB\u61C9\u7528\u7A0B\u5F0F ''{0}'' \u6A21\u7D44 ''{1}'' \u7684\u5C0D\u61C9\u6A21\u578B\u6642\u64F7\u53D6\u5230 MappingConversionException\uFF1A{2} - -JDO.pm_closed_exception=JDO74047\uFE30\u6301\u7E8C\u6027\u7BA1\u7406\u7A0B\u5F0F\u5DF2\u95DC\u9589\u3002 - -# The following messages JDO76606 through JDO76615 were originally in -# cmp/support/sqlstore/src/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties -# They have been moved to this bundle as part of the INF#82833 -# Most of these messages had been moved to persistence/common module -# -# DeploymentEventListenerImpl messages - ejb -# -# {0} Application name. -# {1} File name. -ejb.BaseProcessor.cannotdroptables=JDO76607\uFF1A\u7121\u6CD5\u6E05\u9664\u61C9\u7528\u7A0B\u5F0F {0} \u7684\u8868\u683C\u3002\u9810\u671F\u7684 DDL \u6A94\u6848 {1} \u4E0D\u53EF\u7528\u3002 -# {0} File name. -ejb.BaseProcessor.nodropfile=JDO76608\uFF1A\u7121\u6CD5\u6E05\u9664\u5EFA\u7F6E\u7684\u8868\u683C\u3002\u9810\u671F\u7684 DDL \u6A94\u6848 {0} \u4E0D\u53EF\u7528\u3002 - -ejb.PersistenceProcessor.nondefaultprovider=JDO76616\uFF1A\u60A8\u6307\u5B9A\u7684\u6301\u7E8C\u6027\u63D0\u4F9B\u8005 ''{0}'' \u4E0D\u652F\u63F4 java2db \u529F\u80FD\u3002\u56E0\u6B64\u4E0D\u6703\u5EFA\u7ACB\u8207 ''{1}'' PU \u4E4B\u5BE6\u9AD4\u95DC\u806F\u7684\u8868\u683C\uFF0C\u4EE5\u53CA (\u6216) \u5F9E\u8CC7\u6599\u5EAB\u6E05\u9664\u9019\u4E9B\u8868\u683C\u3002 - -# -# -# -ejb.CMPProcessor.createanddroptables=\u8655\u7406\u4E8B\u4EF6\u4EE5\u5EFA\u7ACB\u8868\u683C\uFF1A{0}\uFF0C\u6E05\u9664\u8868\u683C\uFF1A{1}\u3002 -ejb.PersistenceProcessor.createanddroptables=\u8655\u7406\u4E8B\u4EF6\u4EE5\u5EFA\u7ACB\u8868\u683C\uFF1A{0}\uFF0C\u6E05\u9664\u8868\u683C\uFF1A{1}\u3002 -ejb.PersistenceProcessor.createanddropfilenames=\u8655\u7406\u4E8B\u4EF6\u4EE5\u5EFA\u7ACB\u6A94\u6848 - \u5EFA\u7ACB\u6A94\u6848\uFF1A{0}\uFF0C\u4EE5\u53CA\u6E05\u9664\u6A94\u6848\uFF1A{1}\u3002 -ejb.CMPProcessor.createanddropfilenames=\u5EFA\u7ACB\u6642\u8981\u4F7F\u7528\u7684\u6A94\u6848\u540D\u7A31\u70BA\uFF1A{0}\uFF0C\u6E05\u9664\u6642\u8981\u4F7F\u7528\u7684\u540D\u7A31\u70BA\uFF1A{1}\u3002 diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_de.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_de.properties deleted file mode 100644 index a4f2c0bb7d4..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_de.properties +++ /dev/null @@ -1,228 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# -# resource bundle for query messages -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 75. -# -# This file is divided into following sections. -# 1. main ejbqlc compiler class -# 2. ejbqlc error message helper class -# 3. ejbqlc syntax error messages -# 4. ejbqlc semantic error messages -# 5. ejbqlc code generation error messages -# 6. Miscellaneous -# -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################# -#

    -# Message ID Range: JDO75000 - JDO75099 -############################################################################# - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -LOG_EJBQLCCompile=JDO75000: EJBQLC-Kompilierabfrage\nBean: {0}\nMethode: {1}\nEJBQL: {2} -# {0} - name of the compiler pass -LOG_EJBQLCStartPass=JDO75001: EJBQLC-Start {0} -# {0} - name of the compiler pass -LOG_EJBQLCDumpTree=JDO75002: EJBQLC-Dump-Baumstruktur {0} -# {0} - String repr of the EJBQLC compile result -LOG_EJBQLCResult=JDO75003: EJBQLC-Ergebnis {0} -ERR_MissingMethodInstance=JDO75004: Fehlende finder/selector-Methodeninstanz. -# {0} - bean name -# {1} - finder/selector method signature -EXC_MissingEjbqlQueryText=JDO75005: Unvollst\u00E4ndiger Deployment-Deskriptor f\u00FCr Bean {0}: Fehlendes oder leeres ejb-ql-Element in Abfrageelement f\u00FCr Methode {1}. - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_InvalidEJBQLQuery=JDO75006: Ung\u00FCltige EJBQLC-Abfrage\nBean: {0}\nMethode: {1}\nEJBQL: {2}\nFehler: {3} - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_EJBQLQueryInternalError=JDO75007: Schwerwiegender interner Ausnahmefehler beim Parsen von EJBQL:\nBean: {0}\nMethode: {1}\nEJBQL: {2}\nFehler: {3} -JDO75007.diag.cause.1=Interner Fehler im CMP-Modul. -JDO75007.diag.check.1=Dies ist ein unerwarteter interner Fehler. Wenden Sie sich mit der Anwendung und der vollst\u00E4ndigen Meldung aus dem Fehlerlog an Payara Support. - -ERR_UnexpectedException=JDO75008: Unerwartete Ausnahme bei {0} - -############################################################################# -# -# Message ID Range: JDO75100 - JDO75199 -############################################################################# -EXC_PositionInfoMsg={0} -EXC_PositionInfoMsgColumn=Spalte ({0}): {1} -EXC_PositionInfoMsgLineColumn=Zeile ({0}) Spalte ({1}): {2} - -ERR_FatalInternalError=JDO75100: Schwerwiegender interner Fehler: {0} - -############################################################################# -# -# Message ID Range: JDO75200 - JDO75299 -############################################################################# -EXC_SyntaxError=JDO75200: Syntaxfehler. -EXC_SyntaxErrorAt=JDO75201: Syntaxfehler bei ''{0}''. -EXC_UnexpectedToken=JDO75202: Syntaxfehler, unerwartetes Token ''{0}''. -EXC_UnexpectedChar=JDO75203: Syntaxfehler, unerwartetes Zeichen ''{0}''. -EXC_ExpectedCharFound=JDO75204: Syntaxfehler, erwartetes Zeichen ''{0}'', ''{1}'' gefunden. -EXC_UnexpectedEOF=JDO75205: Syntaxfehler, unerwartetes Ende der EJBQL-Abfrage. - -############################################################################# -# -# Message ID Range: JDO75300 - JDO75499 -############################################################################# -EXC_MultipleDeclaration=JDO75300: Mehrfache Deklaration von ''{0}''. -EXC_UndefinedIdentifier=JDO75301: Undefinierte ID ''{0}''. -EXC_BooleanWhereClauseExpected=JDO75302: Boolescher Ausdruck erwartet, wobei Klauselausdruck Typ ''{0}'' aufweist. -EXC_OrderableOrderbyClauseExpected=JDO75303: Sortierbarer Ausdruck erwartet, orderby-Klauselausdruck weist Typ ''{0}'' auf. -EXC_OrderableExpected=JDO75304: Sortierbarer Ausdruck erwartet, Ausdruck weist Typ ''{0}'' auf. -EXC_NumberExprExpected=JDO75305: Numerischer Ausdruck erwartet, Ausdruck weist Typ ''{0}'' auf. -EXC_StringExprExpected=JDO75306: Zeichenfolgenausdruck erwartet, Ausdruck weist Typ ''{0}'' auf. -EXC_NumberOrStringExprExpected=JDO75307: Numerischer Ausdruck oder Zeichenfolge erwartet, Ausdruck weist Typ ''{0}'' auf. -EXC_IntExprExpected=JDO75308: Ganzzahliger Ausdruck erwartet, Ausdruck weist Typ ''{0}'' auf. -EXC_DoubleExprExpected=JDO75309: Doppelter Ausdruck erwartet, Ausdruck weist Typ ''{0}'' auf. -EXC_IdentificationVariableExcepted=JDO75310: ID ''{0}'' stellt keine Identifikationsvariable dar. -EXC_InvalidArguments=JDO75311: Ung\u00FCltige Argumente f\u00FCr ''{0}''. -EXC_InvalidParameterIndex=JDO75312: Ung\u00FCltiger Parameter ''{0}''. Muss mindestens 1 und nicht gr\u00F6\u00DFer als {1} sein. -EXC_AbstractSchemNameExpected=JDO75313: ID ''{0}'' stellt keinen abstrakten Schematyp dar. -EXC_UnknownField=JDO75314: ''{0}'' stellt kein CMP-Feld oder CMR-Feld des Entity Beans f\u00FCr den abstrakten Schematyp ''{1}'' dar. -EXC_SingleValuedCMROrCMPFieldExpected=JDO75315: Feld ''{0}'' des Typs ''{1}'' ist kein Einzelwert-CMR-Feld bzw. kein CMP-Feld. -EXC_CMPFieldExpected=JDO75316: Feld ''{0}'' des Typs ''{1}'' ist kein CMP-Feld. -EXC_SingleValuedCMRFieldExpected=JDO75317: Feld ''{0}'' des Typs ''{1}'' ist kein Einzelwert-CMR-Feld. -EXC_CollectionValuedCMRFieldExpected=JDO75318: Feld ''{0}'' des Typs ''{1}'' ist kein Collection-CMR-Feld. -EXC_CollectionElementTypeMismatch=JDO75319: Collection-Elementtyp ''{0}'' ist nicht kompatibel mit Werttyp ''{1}''. -EXC_InCollectionElementTypeMismatch=JDO75320: Im Collection-Ausdruckstyp ist ''{0}'' nicht kompatibel mit Werttyp ''{1}''. -EXC_InvalidPatternDefinition=JDO75321: Ung\u00FCltiges Muster ''{0}'' des LIKE-Ausdrucks, erwartet wird der Typ Zeichenfolge. -EXC_InvalidEscapeDefinition=JDO75322: Ung\u00FCltige ESCAPE-Definition ''{0}'' des LIKE-Ausdrucks, aus einzelnen Zeichen bestehendes Zeichenfolgenliteral erwartet. -EXC_InvalidEscapeParameterDefinition=JDO75323: Ung\u00FCltiger ESCAPE-Parameter ''{0}''des LIKE-Ausdrucks, Typzeichen oder Zeichen erwartet. -EXC_InvalidLHSLiteral=JDO75324: Ung\u00FCltige Verwendung des Literals ''{0}'' auf der linken Seite eines ''{1}''-Vorgangs. -EXC_InvalidLHSParameter=JDO75325: Ung\u00FCltige Verwendung des Eingabeparameters ''{0}'' auf der linken Seite eines ''{1}''-Vorgangs. -EXC_MultipleEJBNameParameter=JDO75326: Mehrfachzugriff des gleichen Eingabeparameters ''{0}'' unter Verwendung eines anderen ejb-name ''{1}''. Derselbe Eingabeparameter war zuvor mit dem ejb-name ''{2}'' assoziiert. - -# Error: result-type-mapping specified for a finder method -EXC_InvalidResultTypeMappingForFinder=JDO75327: result-type-mapping darf f\u00FCr Suchmethoden nicht angegeben werden. -# Error: result-type-mapping specified as Remote, -# but bean does not have remote interface -# {0} - ejb name -EXC_InvalidRemoteResultTypeMappingForMultiSelector=JDO75328: result-type-mapping ist als ''Remote'' angegeben, aber Bean ''{0}'' verf\u00FCgt \u00FCber keine Remote-Schnittstelle. -# Error: result-type-mapping is specified as Local or not specified, -# but bean does not have local interface -# {0} - ejb name -EXC_InvalidLocalResultTypeMappingForMultiSelector=JDO75329: result-type-mapping ist als ''Lokal'' angegeben oder ist standardm\u00E4\u00DFig "Lokal", aber Bean ''{0}'' verf\u00FCgt \u00FCber keine lokale Schnittstelle. -# Error: result-type-mapping is specified as Remote, -# but single-object selector does not return remote interface. -EXC_InvalidRemoteResultTypeMappingForSingleSelector=JDO75330: result-type-mapping ist als 'Remote' angegeben, aber der Einzelobjekt-Selector gibt keine Remote-Schnittstelle zur\u00FCck. -# Error: result-type-mapping is specified as Local or not specified, -# but single-object selector does not return local interface. -EXC_InvalidLocalResultTypeMappingForSingleSelector=JDO75331: result-type-mapping ist als 'Lokal' angegeben oder ist standardm\u00E4\u00DFig "Lokal", aber der Einzelobjekt-Selector gibt keine lokale Schnittstelle zur\u00FCck. -# Error: result-type-mapping is specified for a selector method returning -# non-entity objects -# {0} - type of of the select clause expression -EXC_InvalidResultTypeMappingForSelector=JDO75332: result-type-mapping darf nicht f\u00FCr Selector angegeben werden, die Objekte zur\u00FCckgeben, die keine Entitys sind. (Der Select-Klauselausdruck weist den Typ ''{0}'' auf.) - -# Error: invalid return type for finder, e.g. java.lang.String -# {0} - finder method return type -EXC_InvalidFinderReturnType=JDO75333: Ung\u00FCltiger R\u00FCckgabetyp ''{0}'' f\u00FCr Suchmethode. -# Error: the select clause of the finder's EJBQL query has an invalid type, -# e.g. java.lang.String -# {0} - type of of the select clause expression -EXC_InvalidFinderSelectClauseType=JDO75334: Ung\u00FCltiger Typ ''{0}'' des Select-Klauselausdrucks f\u00FCr Suchmethode. -# Error: type mismatch between the return type of the selector and -# the select clause of the EJBQL query -# {0} - selector method return type -# {1} - type of of the select clause expression -EXC_InvalidSelectorReturnType=JDO75335: Der Selector-R\u00FCckgabetyp ''{0}'' ist nicht kompatibel mit dem Select-Klauseltyp ''{1}''. -# Error: mismatch between orderby item and select clause of EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItem=JDO75336: Das orderby-Element ''{0}'' ist nicht kompatibel mit der Select-Klausel. -# Error: mismatch between orderby item and cmp field select clause of -# EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItemForCMPSelect=JDO75337: Das orderby-Element ''{0}'' und das CMP-Feld in der Select-Klausel m\u00FCssen identisch sein. -EXC_InvalidAggregateOrderby=JDO75338: Mit einer orderby-Klausel darf keine Aggregat-Select-Klausel verwendet werden. - -ERR_SemanticError=JDO75339: Semantikfehler: -ERR_InvalidPathExpr=JDO75340: Ung\u00FCltiger Pfadausdruck -#Error: Missing information about a field of a bean -# {0} - Field -# {1} - Bean name -ERR_MissingFieldInfo=JDO75341: Fehlende Feldmetadaten f\u00FCr Feld ''{0}'' von ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75500 - JDO75599 -############################################################################# -ERR_JDOQLCodeGenerationError=JDO75500: JDOQL-Fehler bei der Codegenerierung: -ERR_UnexpectedNode=JDO75501: Unerwarteter Knoten ''{0}'', Tokentyp ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75600 - JDO75699 -############################################################################# -# -# ejbqlc EJBQLASTFactory -# -ERR_UnexpectedExceptionClone=JDO75600: Unerwartete Ausnahme beim Clonen - -# -# ejbqlc TypeSupport -# -ERR_EjbNameExpected=JDO75601: {0}: EJB-Name erwartet {1} diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_es.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_es.properties deleted file mode 100644 index 054c7194984..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_es.properties +++ /dev/null @@ -1,228 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# -# resource bundle for query messages -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 75. -# -# This file is divided into following sections. -# 1. main ejbqlc compiler class -# 2. ejbqlc error message helper class -# 3. ejbqlc syntax error messages -# 4. ejbqlc semantic error messages -# 5. ejbqlc code generation error messages -# 6. Miscellaneous -# -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################# -#
    -# Message ID Range: JDO75000 - JDO75099 -############################################################################# - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -LOG_EJBQLCCompile=JDO75000: consulta de compilaci\u00F3n EJBQLC\nBean: {0}\nM\u00E9todo: {1}\nEJBQL: {2} -# {0} - name of the compiler pass -LOG_EJBQLCStartPass=JDO75001: inicio de EJBQLC {0} -# {0} - name of the compiler pass -LOG_EJBQLCDumpTree=JDO75002: \u00E1rbol de volcado de EJBQLC {0} -# {0} - String repr of the EJBQLC compile result -LOG_EJBQLCResult=JDO75003: resultado de EJBQLC {0} -ERR_MissingMethodInstance=JDO75004: falta la instancia del m\u00E9todo del buscador/selector. -# {0} - bean name -# {1} - finder/selector method signature -EXC_MissingEjbqlQueryText=JDO75005: Descriptor de despliegue incompleto para el bean {0}: falta el elemento ejb-ql en la consulta del m\u00E9todo {1} o est\u00E1 vac\u00EDo. - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_InvalidEJBQLQuery=JDO75006: consulta de EJBQLC no v\u00E1lida\nBean: {0}\nM\u00E9todo: {1}\nEJBQL: {2}\nError: {3} - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_EJBQLQueryInternalError=JDO75007: excepci\u00F3n interna fatal al analizar EJBQL:\nBean: {0}\nM\u00E9todo: {1}\nEJBQL: {2}\nError: {3} -JDO75007.diag.cause.1=Error interno en el m\u00F3dulo CMP. -JDO75007.diag.check.1=Se trata de un error interno inesperado. P\u00F3ngase en contacto con Payara Support e indique la aplicaci\u00F3n y el mensaje completo del log de errores. - -ERR_UnexpectedException=JDO75008: excepci\u00F3n inesperada durante {0} - -############################################################################# -# -# Message ID Range: JDO75100 - JDO75199 -############################################################################# -EXC_PositionInfoMsg={0} -EXC_PositionInfoMsgColumn=columna ({0}): {1} -EXC_PositionInfoMsgLineColumn=l\u00EDnea ({0}) columna ({1}): {2} - -ERR_FatalInternalError=JDO75100: error interno fatal: {0} - -############################################################################# -# -# Message ID Range: JDO75200 - JDO75299 -############################################################################# -EXC_SyntaxError=JDO75200: error de sintaxis. -EXC_SyntaxErrorAt=JDO75201: error de sintaxis en ''{0}''. -EXC_UnexpectedToken=JDO75202: token de error de sintaxis inesperado ''{0}''. -EXC_UnexpectedChar=JDO75203: car\u00E1cter de error de sintaxis inesperado ''{0}''. -EXC_ExpectedCharFound=JDO75204: car\u00E1cter de error de sintaxis esperado ''{0}'' encontrado en ''{1}''. -EXC_UnexpectedEOF=JDO75205: error de sintaxis inesperado al final de la consulta de EJBQL. - -############################################################################# -# -# Message ID Range: JDO75300 - JDO75499 -############################################################################# -EXC_MultipleDeclaration=JDO75300: declaraci\u00F3n m\u00FAltiple de ''{0}''. -EXC_UndefinedIdentifier=JDO75301: identificador no definido ''{0}''. -EXC_BooleanWhereClauseExpected=JDO75302: expresi\u00F3n booleana esperada, donde la expresi\u00F3n de la cl\u00E1usula tiene el tipo ''{0}''. -EXC_OrderableOrderbyClauseExpected=JDO75303: expresi\u00F3n que se puede ordenar esperada; la expresi\u00F3n de la cl\u00E1usula orderby tiene el tipo ''{0}''. -EXC_OrderableExpected=JDO75304: expresi\u00F3n que se puede ordenar esperada; la expresi\u00F3n tiene el tipo ''{0}''. -EXC_NumberExprExpected=JDO75305: expresi\u00F3n num\u00E9rica esperada; la expresi\u00F3n tiene el tipo ''{0}''. -EXC_StringExprExpected=JDO75306: expresi\u00F3n de cadena esperada; la expresi\u00F3n tiene el tipo ''{0}''. -EXC_NumberOrStringExprExpected=JDO75307: expresi\u00F3n num\u00E9rica o de cadena esperada; la expresi\u00F3n tiene el tipo ''{0}''. -EXC_IntExprExpected=JDO75308: expresi\u00F3n int esperada; la expresi\u00F3n tiene el tipo ''{0}''. -EXC_DoubleExprExpected=JDO75309: expresi\u00F3n doble esperada; la expresi\u00F3n tiene el tipo ''{0}''. -EXC_IdentificationVariableExcepted=JDO75310: el identificador ''{0}'' no indica una variable de identificaci\u00F3n. -EXC_InvalidArguments=JDO75311: argumentos no v\u00E1lidos para ''{0}''. -EXC_InvalidParameterIndex=JDO75312: el par\u00E1metro ''{0}'' no es v\u00E1lido. Al menos debe tener un valor de 1 y no ser superior a {1}. -EXC_AbstractSchemNameExpected=JDO75313: el identificador ''{0}'' no indica un tipo de esquema abstracto. -EXC_UnknownField=JDO75314: ''{0}'' no indica cmp-field o cmr-field del bean de entidad para el tipo de esquema abstracto ''{1}''. -EXC_SingleValuedCMROrCMPFieldExpected=JDO75315: el campo ''{0}'' del tipo ''{1}'' no es cmr-field o cmp-field de un solo valor. -EXC_CMPFieldExpected=JDO75316: el campo ''{0}'' del tipo ''{1}'' no es cmr-field. -EXC_SingleValuedCMRFieldExpected=JDO75317: el campo ''{0}'' del tipo ''{1}'' no es cmr-field de un solo valor. -EXC_CollectionValuedCMRFieldExpected=JDO75318: el campo ''{0}'' del tipo ''{1}'' no es cmr-field de un valor de recopilaci\u00F3n. -EXC_CollectionElementTypeMismatch=JDO75319: el tipo de elemento de la recopilaci\u00F3n ''{0}'' no es compatible con el tipo de valor ''{1}''. -EXC_InCollectionElementTypeMismatch=JDO75320: en el tipo de expresi\u00F3n de la recopilaci\u00F3n, ''{0}'' no es compatible con el tipo de valor ''{1}''. -EXC_InvalidPatternDefinition=JDO75321: patr\u00F3n''{0}'' no v\u00E1lido para la expresi\u00F3n LIKE. Se esperaba un tipo de cadena. -EXC_InvalidEscapeDefinition=JDO75322: ESCAPE ''{0}'' no v\u00E1lido para la expresi\u00F3n LIKE. Se esperaba una cadena literal de un \u00FAnico car\u00E1cter. -EXC_InvalidEscapeParameterDefinition=JDO75323: par\u00E1metro ESCAPE ''{0}'' no v\u00E1lido para la expresi\u00F3n LIKE. Se esperaba una cadena el tipo char o car\u00E1cter. -EXC_InvalidLHSLiteral=JDO75324: uso no v\u00E1lido del literal ''{0}'' a la izquierda de una operaci\u00F3n ''{1}''. -EXC_InvalidLHSParameter=JDO75325: uso no v\u00E1lido del par\u00E1metro de entrada ''{0}'' a la izquierda de una operaci\u00F3n ''{1}''. -EXC_MultipleEJBNameParameter=JDO75326: acceso m\u00FAltiple del mismo par\u00E1metro de entrada ''{0}'' con un ejb-name diferente ''{1}''. El mismo par\u00E1metro de entrada antes estaba asociado al ejb-name ''{2}''. - -# Error: result-type-mapping specified for a finder method -EXC_InvalidResultTypeMappingForFinder=JDO75327: no se debe especificar result-type-mapping para m\u00E9todos del buscador. -# Error: result-type-mapping specified as Remote, -# but bean does not have remote interface -# {0} - ejb name -EXC_InvalidRemoteResultTypeMappingForMultiSelector=JDO75328: se ha especificado result-type-mapping como ''Remoto'', pero el bean ''{0}'' no tiene una interfaz remota. -# Error: result-type-mapping is specified as Local or not specified, -# but bean does not have local interface -# {0} - ejb name -EXC_InvalidLocalResultTypeMappingForMultiSelector=JDO75329: se ha especificado result-type-mapping como ''Local'' o no se ha especificado, pero el bean ''{0}'' no tiene una interfaz local. -# Error: result-type-mapping is specified as Remote, -# but single-object selector does not return remote interface. -EXC_InvalidRemoteResultTypeMappingForSingleSelector=JDO75330: se especific\u00F3 result-type-mapping como 'Remoto', pero el selector de un solo objeto no devuelve una interfaz remota. -# Error: result-type-mapping is specified as Local or not specified, -# but single-object selector does not return local interface. -EXC_InvalidLocalResultTypeMappingForSingleSelector=JDO75331: se ha especificado result-type-mapping como 'Local' o no se ha especificado, pero el selector de un solo objeto no devuelve una interfaz local. -# Error: result-type-mapping is specified for a selector method returning -# non-entity objects -# {0} - type of of the select clause expression -EXC_InvalidResultTypeMappingForSelector=JDO75332: result-type-mapping no se debe especificar para selectores que devuelvan objetos sin entidades. (La expresi\u00F3n de la cl\u00E1usula select tiene el tipo ''{0}'') - -# Error: invalid return type for finder, e.g. java.lang.String -# {0} - finder method return type -EXC_InvalidFinderReturnType=JDO75333: tipo de retorno no v\u00E1lido ''{0}'' para el m\u00E9todo del buscador. -# Error: the select clause of the finder's EJBQL query has an invalid type, -# e.g. java.lang.String -# {0} - type of of the select clause expression -EXC_InvalidFinderSelectClauseType=JDO75334: tipo no v\u00E1lido ''{0}'' de la expresi\u00F3n de la cl\u00E1usula select para el m\u00E9todo del buscador. -# Error: type mismatch between the return type of the selector and -# the select clause of the EJBQL query -# {0} - selector method return type -# {1} - type of of the select clause expression -EXC_InvalidSelectorReturnType=JDO75335: el tipo de retorno del selector ''{0}'' no es compatible con el tipo de cl\u00E1usula select ''{1}''. -# Error: mismatch between orderby item and select clause of EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItem=JDO75336: el elemento orderby ''{0}'' no es compatible con la cl\u00E1usula select. -# Error: mismatch between orderby item and cmp field select clause of -# EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItemForCMPSelect=JDO75337: el elemento orderby ''{0}'' y el campo cmp deben ser iguales en la cl\u00E1usula select. -EXC_InvalidAggregateOrderby=JDO75338: una cl\u00E1usula select agregada no se debe utilizar con una cl\u00E1usula order by. - -ERR_SemanticError=JDO75339: Error sem\u00E1ntico: -ERR_InvalidPathExpr=JDO75340: expresi\u00F3n de ruta de acceso no v\u00E1lida -#Error: Missing information about a field of a bean -# {0} - Field -# {1} - Bean name -ERR_MissingFieldInfo=JDO75341: faltan los metadatos del campo ''{0}'' de ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75500 - JDO75599 -############################################################################# -ERR_JDOQLCodeGenerationError=JDO75500: Error en la generaci\u00F3n del c\u00F3digo JDOQL: -ERR_UnexpectedNode=JDO75501: nodo inesperado ''{0}'', tipo de token ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75600 - JDO75699 -############################################################################# -# -# ejbqlc EJBQLASTFactory -# -ERR_UnexpectedExceptionClone=JDO75600: excepci\u00F3n inesperada durante clonaci\u00F3n - -# -# ejbqlc TypeSupport -# -ERR_EjbNameExpected=JDO75601: {0}: nombre ejb esperado {1} diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_fr.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_fr.properties deleted file mode 100644 index a0cbe329734..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_fr.properties +++ /dev/null @@ -1,228 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# -# resource bundle for query messages -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 75. -# -# This file is divided into following sections. -# 1. main ejbqlc compiler class -# 2. ejbqlc error message helper class -# 3. ejbqlc syntax error messages -# 4. ejbqlc semantic error messages -# 5. ejbqlc code generation error messages -# 6. Miscellaneous -# -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################# -#
    -# Message ID Range: JDO75000 - JDO75099 -############################################################################# - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -LOG_EJBQLCCompile=JDO75000 : EJBQLC compile la requ\u00EAte\nBean : {0}\nM\u00E9thode : {1}\nEJBQL : {2} -# {0} - name of the compiler pass -LOG_EJBQLCStartPass=JDO75001 : EJBQLC d\u00E9marre {0} -# {0} - name of the compiler pass -LOG_EJBQLCDumpTree=JDO75002 : arborescence de vidage EJBQLC {0} -# {0} - String repr of the EJBQLC compile result -LOG_EJBQLCResult=JDO75003 : r\u00E9sultat EJBQLC {0} -ERR_MissingMethodInstance=JDO75004 : instance de m\u00E9thode s\u00E9lecteur/finder manquante. -# {0} - bean name -# {1} - finder/selector method signature -EXC_MissingEjbqlQueryText=JDO75005 : descripteur de d\u00E9ploiement incomplet pour le bean {0} : \u00E9l\u00E9ment ejb-ql manquant ou vide dans l''\u00E9l\u00E9ment de requ\u00EAte pour la m\u00E9thode {1}. - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_InvalidEJBQLQuery=JDO75006 : requ\u00EAte EJBQLC non valide\nBean : {0}\nM\u00E9thode : {1}\nEJBQL : {2}\nErreur : {3} - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_EJBQLQueryInternalError=JDO75007 : exception interne fatale lors de l''analyse d''EJBQL :\nBean : {0}\nM\u00E9thode : {1}\nEJBQL : {2}\nErreur : {3} -JDO75007.diag.cause.1=Erreur interne du module CMP. -JDO75007.diag.check.1=Erreur interne inattendue. Contactez Payara Support et indiquez votre application et le message du journal d'erreurs dans sa totalit\u00E9. - -ERR_UnexpectedException=JDO75008 : exception inattendue lors de {0} - -############################################################################# -# -# Message ID Range: JDO75100 - JDO75199 -############################################################################# -EXC_PositionInfoMsg={0} -EXC_PositionInfoMsgColumn=colonne({0}) : {1} -EXC_PositionInfoMsgLineColumn=ligne({0}) colonne({1}) : {2} - -ERR_FatalInternalError=JDO75100 : erreur interne fatale : {0} - -############################################################################# -# -# Message ID Range: JDO75200 - JDO75299 -############################################################################# -EXC_SyntaxError=JDO75200 : erreur de syntaxe. -EXC_SyntaxErrorAt=JDO75201 : erreur de syntaxe \u00E0 ''{0}''. -EXC_UnexpectedToken=JDO75202 : jeton inattendu d''erreur de syntaxe ''{0}''. -EXC_UnexpectedChar=JDO75203 : caract\u00E8re inattendu d''erreur de syntaxe ''{0}''. -EXC_ExpectedCharFound=JDO75204 : caract\u00E8re attendu d''erreur de syntaxe ''{0}'', trouv\u00E9 ''{1}''. -EXC_UnexpectedEOF=JDO75205 : fin inattendue de la requ\u00EAte EJBQL due \u00E0 une erreur de syntaxe. - -############################################################################# -# -# Message ID Range: JDO75300 - JDO75499 -############################################################################# -EXC_MultipleDeclaration=JDO75300 : d\u00E9clarations multiples de ''{0}''. -EXC_UndefinedIdentifier=JDO75301 : identificateur non d\u00E9fini ''{0}''. -EXC_BooleanWhereClauseExpected=JDO75302 : expression bool\u00E9enne attendue lorsque l''expression de la clause est de type ''{0}''. -EXC_OrderableOrderbyClauseExpected=JDO75303 : expression de tri attendue, l''expression de la clause orderby est de type ''{0}''. -EXC_OrderableExpected=JDO75304 : expression de tri attendue, l''expression a le type ''{0}''. -EXC_NumberExprExpected=JDO75305 : expression de type Number attendue, l''expression est de type ''{0}''. -EXC_StringExprExpected=JDO75306 : expression de type String attendue, l''expression est de type ''{0}''. -EXC_NumberOrStringExprExpected=JDO75307 : expression de type Number ou String attendue, l''expression est de type ''{0}''. -EXC_IntExprExpected=JDO75308 : expression de type Int attendue, l''expression est de type ''{0}''. -EXC_DoubleExprExpected=JDO75309 : expression de type Double attendue, l''expression est de type ''{0}''. -EXC_IdentificationVariableExcepted=JDO75310 : l''identificateur ''{0}'' n''indique pas une variable d''identification. -EXC_InvalidArguments=JDO75311 : arguments non valides pour ''{0}''. -EXC_InvalidParameterIndex=JDO75312 : param\u00E8tre incorrect ''{0}''. Il doit \u00EAtre d\u00E9fini sur au moins 1 et ne doit pas exc\u00E9der {1}. -EXC_AbstractSchemNameExpected=JDO75313 : l''identificateur ''{0}'' n''indique pas un type de sch\u00E9ma abstrait. -EXC_UnknownField=JDO75314 : ''{0}'' n''indique pas un champ de type cmp ou cmr du bean Entity pour un type de sch\u00E9ma abstrait ''{1}''. -EXC_SingleValuedCMROrCMPFieldExpected=JDO75315 : le champ ''{0}'' de type ''{1}'' n''est pas un champ de type cmr ou cmp \u00E0 valeur unique. -EXC_CMPFieldExpected=JDO75316 : le champ ''{0}'' de type ''{1}'' n''est pas un champ cmp. -EXC_SingleValuedCMRFieldExpected=JDO75317 : le champ ''{0}'' de type ''{1}'' n''est pas un champ de type cmr \u00E0 valeur unique. -EXC_CollectionValuedCMRFieldExpected=JDO75318 : le champ ''{0}'' de type ''{1}'' n''est pas un champ de type cmr de valeur collection. -EXC_CollectionElementTypeMismatch=JDO75319 : le type d''\u00E9l\u00E9ment Collection ''{0}'' n''est pas compatible avec le type de valeur ''{1}''. -EXC_InCollectionElementTypeMismatch=JDO75320 : le type d''expression Collection ''{0}'' n''est pas compatible avec le type de valeur ''{1}''. -EXC_InvalidPatternDefinition=JDO75321 : mod\u00E8le ''{0}'' de l''expression LIKE non valide, type String attendu. -EXC_InvalidEscapeDefinition=JDO75322 : param\u00E8tre ESCAPE ''{0}'' de l''expression LIKE non valide, litt\u00E9ral de cha\u00EEne \u00E0 caract\u00E8re unique attendu. -EXC_InvalidEscapeParameterDefinition=JDO75323 : param\u00E8tre ESCAPE ''{0}'' de l''expression LIKE non valide, type char ou de caract\u00E8re attendu. -EXC_InvalidLHSLiteral=JDO75324 : utilisation non valide du litt\u00E9ral ''{0}'' du c\u00F4t\u00E9 gauche d''une op\u00E9ration ''{1}''. -EXC_InvalidLHSParameter=JDO75325 : utilisation non valide du param\u00E8tre d''entr\u00E9e ''{0}'' du c\u00F4t\u00E9 gauche d''une op\u00E9ration ''{1}''. -EXC_MultipleEJBNameParameter=JDO75326 : acc\u00E8s multiple au m\u00EAme param\u00E8tre d''entr\u00E9e ''{0}'', impliquant diff\u00E9rents noms ejb-name ''{1}''. Un m\u00EAme param\u00E8tre d''entr\u00E9e a \u00E9t\u00E9 pr\u00E9alablement associ\u00E9 au nom ejb-name ''{2}''. - -# Error: result-type-mapping specified for a finder method -EXC_InvalidResultTypeMappingForFinder=JDO75327 : le mapping de type r\u00E9sultat ne doit pas \u00EAtre sp\u00E9cifi\u00E9 pour les m\u00E9thodes finder. -# Error: result-type-mapping specified as Remote, -# but bean does not have remote interface -# {0} - ejb name -EXC_InvalidRemoteResultTypeMappingForMultiSelector=JDO75328\u00A0: le mapping de type r\u00E9sultat est sp\u00E9cifi\u00E9 comme "distant", mais le bean ''{0}'' ne dispose pas d''une interface distante. -# Error: result-type-mapping is specified as Local or not specified, -# but bean does not have local interface -# {0} - ejb name -EXC_InvalidLocalResultTypeMappingForMultiSelector=JDO75329\u00A0: le mapping de type r\u00E9sultat est sp\u00E9cifi\u00E9 comme "local" (valeur par d\u00E9faut), mais le bean ''{0}'' ne dispose pas d''une interface locale. -# Error: result-type-mapping is specified as Remote, -# but single-object selector does not return remote interface. -EXC_InvalidRemoteResultTypeMappingForSingleSelector=JDO75330 : le mapping de type r\u00E9sultat est sp\u00E9cifi\u00E9 comme "distant", mais le s\u00E9lecteur d'objet unique ne renvoie pas une interface distante. -# Error: result-type-mapping is specified as Local or not specified, -# but single-object selector does not return local interface. -EXC_InvalidLocalResultTypeMappingForSingleSelector=JDO75331 : le mapping de type r\u00E9sultat est sp\u00E9cifi\u00E9 comme "local" (valeur par d\u00E9faut), mais le s\u00E9lecteur d'objet unique ne renvoie pas une interface locale. -# Error: result-type-mapping is specified for a selector method returning -# non-entity objects -# {0} - type of of the select clause expression -EXC_InvalidResultTypeMappingForSelector=JDO75332 : le mapping de type r\u00E9sultat ne doit pas \u00EAtre sp\u00E9cifi\u00E9 pour les s\u00E9lecteurs qui renvoient des objets n''appartenant pas \u00E0 une entit\u00E9. (L''expression de la clause select est de type ''{0}'') - -# Error: invalid return type for finder, e.g. java.lang.String -# {0} - finder method return type -EXC_InvalidFinderReturnType=JDO75333 : type de donn\u00E9es renvoy\u00E9 non valide ''{0}'' pour la m\u00E9thode finder. -# Error: the select clause of the finder's EJBQL query has an invalid type, -# e.g. java.lang.String -# {0} - type of of the select clause expression -EXC_InvalidFinderSelectClauseType=JDO75334 : type ''{0}'' non valide de l''expression de la clause select pour la m\u00E9thode finder. -# Error: type mismatch between the return type of the selector and -# the select clause of the EJBQL query -# {0} - selector method return type -# {1} - type of of the select clause expression -EXC_InvalidSelectorReturnType=JDO75335 : le type de donn\u00E9es renvoy\u00E9 du s\u00E9lecteur ''{0}'' n''est pas compatible avec le type de clause select ''{1}''. -# Error: mismatch between orderby item and select clause of EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItem=JDO75336 : l''\u00E9l\u00E9ment orderby ''{0}'' n''est pas compatible avec la clause select. -# Error: mismatch between orderby item and cmp field select clause of -# EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItemForCMPSelect=JDO75337 : l''\u00E9l\u00E9ment orderby ''{0}'' et le champ cmp de la clause select doivent \u00EAtre identiques. -EXC_InvalidAggregateOrderby=JDO75338 : une clause select d'agr\u00E9gation ne doit pas \u00EAtre utilis\u00E9e avec une clause 'order by'. - -ERR_SemanticError=JDO75339 : erreur s\u00E9mantique : -ERR_InvalidPathExpr=JDO75340 : expression du chemin non valide -#Error: Missing information about a field of a bean -# {0} - Field -# {1} - Bean name -ERR_MissingFieldInfo=JDO75341 : m\u00E9tadonn\u00E9es de champ manquantes pour le champ ''{0}'' de ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75500 - JDO75599 -############################################################################# -ERR_JDOQLCodeGenerationError=JDO75500 : erreur de g\u00E9n\u00E9ration de code JDOQL : -ERR_UnexpectedNode=JDO75501 : noeud inattendu ''{0}'', type de jeton ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75600 - JDO75699 -############################################################################# -# -# ejbqlc EJBQLASTFactory -# -ERR_UnexpectedExceptionClone=JDO75600 : exception inattendue lors du clonage - -# -# ejbqlc TypeSupport -# -ERR_EjbNameExpected=JDO75601 : {0} : nom ejb attendu : {1} diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_it.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_it.properties deleted file mode 100644 index e08348dbd52..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_it.properties +++ /dev/null @@ -1,228 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# -# resource bundle for query messages -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 75. -# -# This file is divided into following sections. -# 1. main ejbqlc compiler class -# 2. ejbqlc error message helper class -# 3. ejbqlc syntax error messages -# 4. ejbqlc semantic error messages -# 5. ejbqlc code generation error messages -# 6. Miscellaneous -# -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################# -#
    -# Message ID Range: JDO75000 - JDO75099 -############################################################################# - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -LOG_EJBQLCCompile=JDO75000: query di compilazione EJBQLC\nBean: {0}\nMetodo: {1}\nEJBQL: {2} -# {0} - name of the compiler pass -LOG_EJBQLCStartPass=JDO75001: inizio EJBQLC {0} -# {0} - name of the compiler pass -LOG_EJBQLCDumpTree=JDO75002: struttura (ad albero) del dump EJBQLC {0} -# {0} - String repr of the EJBQLC compile result -LOG_EJBQLCResult=JDO75003: risultato EJBQLC {0} -ERR_MissingMethodInstance=JDO75004: istanza del metodo strumento di ricerca/selettore mancante. -# {0} - bean name -# {1} - finder/selector method signature -EXC_MissingEjbqlQueryText=JDO75005: descrittore di distribuzione incompleto per il bean {0}: elemento EJB-QL mancante o vuoto nell''elemento della query per il metodo {1}. - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_InvalidEJBQLQuery=JDO75006: query EJBQL non valida\nBean: {0}\nMetodo: {1}\nEJBQL: {2}\nErrore: {3} - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_EJBQLQueryInternalError=JDO75007: eccezione interna irreversibile durante l''analisi di EJBQL:\nBean: {0}\nMetodo: {1}\nEJBQL: {2}\nErrore: {3} -JDO75007.diag.cause.1=Errore interno nel modulo CMP. -JDO75007.diag.check.1=Questo \u00E8 un messaggio di errore interno imprevisto. Contattare Payara Support indicando l'applicazione e il messaggio completo del log degli errori. - -ERR_UnexpectedException=JDO75008: eccezione imprevista durante {0} - -############################################################################# -# -# Message ID Range: JDO75100 - JDO75199 -############################################################################# -EXC_PositionInfoMsg={0} -EXC_PositionInfoMsgColumn=colonna({0}): {1} -EXC_PositionInfoMsgLineColumn=riga({0}) colonna({1}): {2} - -ERR_FatalInternalError=JDO75100: errore interno irreversibile: {0} - -############################################################################# -# -# Message ID Range: JDO75200 - JDO75299 -############################################################################# -EXC_SyntaxError=JDO75200: errore di sintassi. -EXC_SyntaxErrorAt=JDO75201: errore di sintassi in ''{0}''. -EXC_UnexpectedToken=JDO75202: errore di sintassi - token ''{0}'' imprevisto. -EXC_UnexpectedChar=JDO75203: errore di sintassi - carattere ''{0}'' imprevisto. -EXC_ExpectedCharFound=JDO75204: errore di sintassi - previsto il carattere ''{0}'', trovato ''{1}''. -EXC_UnexpectedEOF=JDO75205: errore di sintassi - fine imprevista della query EJBQL. - -############################################################################# -# -# Message ID Range: JDO75300 - JDO75499 -############################################################################# -EXC_MultipleDeclaration=JDO75300: dichiarazione multipla di ''{0}''. -EXC_UndefinedIdentifier=JDO75301: identificativo non definito ''{0}''. -EXC_BooleanWhereClauseExpected=JDO75302: prevista espressione booleana, clausola WHERE \u00E8 di tipo ''{0}''. -EXC_OrderableOrderbyClauseExpected=JDO75303: prevista espressione ordinabile, l''espressione della clausola orderby \u00E8 del tipo ''{0}''. -EXC_OrderableExpected=JDO75304: prevista espressione ordinabile, l''espressione \u00E8 del tipo ''{0}''. -EXC_NumberExprExpected=JDO75305: prevista espressione numerica, l''espressione \u00E8 del tipo ''{0}''. -EXC_StringExprExpected=JDO75306: prevista espressione di stringa, l''espressione \u00E8 del tipo ''{0}''. -EXC_NumberOrStringExprExpected=JDO75307: Prevista espressione numerica o di stringa, l''espressione \u00E8 del tipo ''{0}''. -EXC_IntExprExpected=JDO75308: prevista espressione Int, l''espressione \u00E8 del tipo ''{0}''. -EXC_DoubleExprExpected=JDO75309: prevista espressione Double, l''espressione \u00E8 del tipo ''{0}''. -EXC_IdentificationVariableExcepted=JDO75310: l''identificativo ''{0}'' non indica una variabile di identificazione. -EXC_InvalidArguments=JDO75311: argomento/i non valido/i per ''{0}''. -EXC_InvalidParameterIndex=JDO75312: parametro ''{0}'' non valido. Deve essere almeno 1 e non essere maggiore di {1}. -EXC_AbstractSchemNameExpected=JDO75313: l''identificativo ''{0}'' non indica un tipo di schema astratto. -EXC_UnknownField=JDO75314: ''{0}'' non indica un campo CMP o CMR del bean dell''entit\u00E0 per il tipo di schema astratto ''{1}''. -EXC_SingleValuedCMROrCMPFieldExpected=JDO75315: il campo ''{0}'' di tipo ''{1}'' non \u00E8 un campo CMR o CMP a valori singoli. -EXC_CMPFieldExpected=JDO75316: il campo ''{0}'' di tipo ''{1}'' non \u00E8 un campo CMP. -EXC_SingleValuedCMRFieldExpected=JDO75317: il campo ''{0}'' di tipo ''{1}'' non \u00E8 un campo CMR a valori singoli. -EXC_CollectionValuedCMRFieldExpected=JDO75318: il campo ''{0}'' di tipo ''{1}'' non \u00E8 un campo CMR con valori di raccolta. -EXC_CollectionElementTypeMismatch=JDO75319: il tipo di elemento di raccolta ''{0}'' non \u00E8 compatibile con il tipo di valore ''{1}''. -EXC_InCollectionElementTypeMismatch=JDO75320: il tipo di elemento in raccolta ''{0}'' non \u00E8 compatibile con il tipo di valore ''{1}''. -EXC_InvalidPatternDefinition=JDO75321: pattern non valido ''{0}'' dell''espressione LIKE, previsto tipo String. -EXC_InvalidEscapeDefinition=JDO75322: ESCAPE non valido ''{0}'' dell''espressione LIKE, previsto valore String a carattere singolo. -EXC_InvalidEscapeParameterDefinition=JDO75323: parametro ESCAPE ''{0}'' non valido dell''espressione LIKE, previsto tipo char o Character. -EXC_InvalidLHSLiteral=JDO75324: utilizzo errato del valore ''{0}'' sul lato sinistro di un''operazione di ''{1}''. -EXC_InvalidLHSParameter=JDO75325: utilizzo errato del parametro di input ''{0}'' sul lato sinistro di un''operazione di ''{1}''. -EXC_MultipleEJBNameParameter=JDO75326: accesso multiplo dello stesso parametro di input ''{0}'' con nome EJB diverso ''{1}''. Lo stesso parametro di input \u00E8 stato associato in precedenza al nome EJB ''{2}''. - -# Error: result-type-mapping specified for a finder method -EXC_InvalidResultTypeMappingForFinder=JDO75327: result-type-mapping non deve essere specificato per i metodi dello strumento di ricerca. -# Error: result-type-mapping specified as Remote, -# but bean does not have remote interface -# {0} - ejb name -EXC_InvalidRemoteResultTypeMappingForMultiSelector=JDO75328: result-type-mapping \u00E8 specificato come ''Remoto'', ma il bean ''{0}'' non dispone di un''interfaccia remota. -# Error: result-type-mapping is specified as Local or not specified, -# but bean does not have local interface -# {0} - ejb name -EXC_InvalidLocalResultTypeMappingForMultiSelector=JDO75329: result-type-mapping \u00E8 specificato o predefinito come ''Locale'', ma il bean ''{0}'' non dispone di un''interfaccia locale. -# Error: result-type-mapping is specified as Remote, -# but single-object selector does not return remote interface. -EXC_InvalidRemoteResultTypeMappingForSingleSelector=JDO75330: result-type-mapping \u00E8 specificato come 'Remoto', ma il selettore di oggetti singoli non restituisce un'interfaccia remota. -# Error: result-type-mapping is specified as Local or not specified, -# but single-object selector does not return local interface. -EXC_InvalidLocalResultTypeMappingForSingleSelector=JDO75331: result-type-mapping \u00E8 specificato o predefinito come 'Locale', ma il selettore di oggetti singoli non restituisce un'interfaccia locale. -# Error: result-type-mapping is specified for a selector method returning -# non-entity objects -# {0} - type of of the select clause expression -EXC_InvalidResultTypeMappingForSelector=JDO75332: result-type-mapping non deve essere specificato per i selettori che restituiscono oggetti non-entity. (L''espressione della clausola select \u00E8 del tipo ''{0}''). - -# Error: invalid return type for finder, e.g. java.lang.String -# {0} - finder method return type -EXC_InvalidFinderReturnType=JDO75333: tipo restituito non valido ''{0}'' per il metodo dello strumento di ricerca. -# Error: the select clause of the finder's EJBQL query has an invalid type, -# e.g. java.lang.String -# {0} - type of of the select clause expression -EXC_InvalidFinderSelectClauseType=JDO75334: tipo ''{0}'' di espressione della clausola select non valido per il metodo dello strumento di ricerca. -# Error: type mismatch between the return type of the selector and -# the select clause of the EJBQL query -# {0} - selector method return type -# {1} - type of of the select clause expression -EXC_InvalidSelectorReturnType=JDO75335: il tipo restituito ''{0}'' del selettore non \u00E8 compatibile con il tipo di clausola select ''{1}''. -# Error: mismatch between orderby item and select clause of EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItem=JDO75336: la voce orderby ''{0}'' non \u00E8 compatibile con la clausola select. -# Error: mismatch between orderby item and cmp field select clause of -# EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItemForCMPSelect=JDO75337: la voce orderby ''{0}'' e il campo CMP nella clausola select devono essere identici. -EXC_InvalidAggregateOrderby=JDO75338: non utilizzare una clausola select aggregata con una clausola order by. - -ERR_SemanticError=JDO75339: errore semantico: -ERR_InvalidPathExpr=JDO75340: espressione di percorso non valida -#Error: Missing information about a field of a bean -# {0} - Field -# {1} - Bean name -ERR_MissingFieldInfo=JDO75341: metadati di campo mancanti per il campo ''{0}'' di ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75500 - JDO75599 -############################################################################# -ERR_JDOQLCodeGenerationError=JDO75500: errore di generazione del codice JDOQL: -ERR_UnexpectedNode=JDO75501: nodo imprevisto ''{0}'', tipo di token ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75600 - JDO75699 -############################################################################# -# -# ejbqlc EJBQLASTFactory -# -ERR_UnexpectedExceptionClone=JDO75600: eccezione imprevista durante la duplicazione - -# -# ejbqlc TypeSupport -# -ERR_EjbNameExpected=JDO75601: {0}: previsto nome EJB {1} diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_ja.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_ja.properties deleted file mode 100644 index 758f8cc0f63..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_ja.properties +++ /dev/null @@ -1,228 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# -# resource bundle for query messages -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 75. -# -# This file is divided into following sections. -# 1. main ejbqlc compiler class -# 2. ejbqlc error message helper class -# 3. ejbqlc syntax error messages -# 4. ejbqlc semantic error messages -# 5. ejbqlc code generation error messages -# 6. Miscellaneous -# -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################# -#
    -# Message ID Range: JDO75000 - JDO75099 -############################################################################# - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -LOG_EJBQLCCompile=JDO75000: EJBQLC\u30B3\u30F3\u30D1\u30A4\u30EB\u30FB\u554F\u5408\u305B\nBean: {0}\n\u30E1\u30BD\u30C3\u30C9: {1}\nEJBQL: {2} -# {0} - name of the compiler pass -LOG_EJBQLCStartPass=JDO75001: EJBQLC\u30B9\u30BF\u30FC\u30C8{0} -# {0} - name of the compiler pass -LOG_EJBQLCDumpTree=JDO75002: EJBQLC\u30C0\u30F3\u30D7\u30FB\u30C4\u30EA\u30FC{0} -# {0} - String repr of the EJBQLC compile result -LOG_EJBQLCResult=JDO75003: EJBQLC\u7D50\u679C{0} -ERR_MissingMethodInstance=JDO75004: finder/selector\u30E1\u30BD\u30C3\u30C9\u30FB\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -# {0} - bean name -# {1} - finder/selector method signature -EXC_MissingEjbqlQueryText=JDO75005: Bean {0}\u306E\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u304C\u4E0D\u5B8C\u5168\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9{1}\u306Equery\u8981\u7D20\u306B\u542B\u307E\u308C\u308Bejb-ql\u8981\u7D20\u304C\u5B58\u5728\u3057\u306A\u3044\u3001\u307E\u305F\u306F\u7A7A\u3067\u3059\u3002 - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_InvalidEJBQLQuery=JDO75006: EJBQL\u554F\u5408\u305B\u304C\u7121\u52B9\u3067\u3059\u3002\nBean: {0}\n\u30E1\u30BD\u30C3\u30C9: {1}\nEJBQL: {2}\n\u30A8\u30E9\u30FC: {3} - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_EJBQLQueryInternalError=JDO75007: EJBQL\u306E\u30D1\u30FC\u30B9\u6642\u306B\u81F4\u547D\u7684\u306A\u5185\u90E8\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\nBean: {0}\n\u30E1\u30BD\u30C3\u30C9: {1}\nEJBQL: {2}\n\u30A8\u30E9\u30FC: {3} -JDO75007.diag.cause.1=CMP\u30E2\u30B8\u30E5\u30FC\u30EB\u3067\u5185\u90E8\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 -JDO75007.diag.check.1=\u3053\u308C\u306F\u4E88\u671F\u305B\u306C\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3068\u5B8C\u5168\u306A\u30A8\u30E9\u30FC\u30FB\u30ED\u30B0\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u7528\u610F\u3057\u3066\u9023\u7D61\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -ERR_UnexpectedException=JDO75008: {0}\u4E2D\u306B\u4E88\u671F\u305B\u306C\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F - -############################################################################# -# -# Message ID Range: JDO75100 - JDO75199 -############################################################################# -EXC_PositionInfoMsg={0} -EXC_PositionInfoMsgColumn=\u5217({0}): {1} -EXC_PositionInfoMsgLineColumn=\u884C({0})\u5217({1}): {2} - -ERR_FatalInternalError=JDO75100: \u81F4\u547D\u7684\u306A\u5185\u90E8\u30A8\u30E9\u30FC: {0} - -############################################################################# -# -# Message ID Range: JDO75200 - JDO75299 -############################################################################# -EXC_SyntaxError=JDO75200: \u69CB\u6587\u30A8\u30E9\u30FC\u3002 -EXC_SyntaxErrorAt=JDO75201: ''{0}''\u306B\u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002 -EXC_UnexpectedToken=JDO75202: \u69CB\u6587\u30A8\u30E9\u30FC\u3002\u4E88\u671F\u305B\u306C\u30C8\u30FC\u30AF\u30F3''{0}''\u304C\u3042\u308A\u307E\u3059\u3002 -EXC_UnexpectedChar=JDO75203: \u69CB\u6587\u30A8\u30E9\u30FC\u3002\u4E88\u671F\u305B\u306Cchar ''{0}''\u304C\u3042\u308A\u307E\u3059\u3002 -EXC_ExpectedCharFound=JDO75204: \u69CB\u6587\u30A8\u30E9\u30FC\u3002''{1}''\u3067\u4E88\u671F\u305B\u306Cchar ''{0}''\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002 -EXC_UnexpectedEOF=JDO75205: \u69CB\u6587\u30A8\u30E9\u30FC\u3002EJBQL\u554F\u5408\u305B\u306E\u4E88\u671F\u3057\u306A\u3044\u7D42\u4E86\u3067\u3059\u3002 - -############################################################################# -# -# Message ID Range: JDO75300 - JDO75499 -############################################################################# -EXC_MultipleDeclaration=JDO75300: ''{0}''\u304C\u8907\u6570\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u3002 -EXC_UndefinedIdentifier=JDO75301: \u8B58\u5225\u5B50''{0}''\u306F\u672A\u5B9A\u7FA9\u3067\u3059\u3002 -EXC_BooleanWhereClauseExpected=JDO75302: \u30D6\u30FC\u30EB\u5F0F\u304C\u60F3\u5B9A\u3055\u308C\u307E\u3059\u3002where\u53E5\u306E\u5F0F\u306E\u578B\u306F''{0}''\u3067\u3059\u3002 -EXC_OrderableOrderbyClauseExpected=JDO75303: Orderable\u5F0F\u304C\u60F3\u5B9A\u3055\u308C\u307E\u3059\u3002orderby\u53E5\u306E\u5F0F\u306E\u578B\u306F''{0}''\u3067\u3059\u3002 -EXC_OrderableExpected=JDO75304: Orderable\u5F0F\u304C\u60F3\u5B9A\u3055\u308C\u307E\u3059\u3002\u5F0F\u306E\u578B\u306F''{0}''\u3067\u3059\u3002 -EXC_NumberExprExpected=JDO75305: Number\u5F0F\u304C\u60F3\u5B9A\u3055\u308C\u307E\u3059\u3002\u5F0F\u306E\u578B\u306F''{0}''\u3067\u3059\u3002 -EXC_StringExprExpected=JDO75306: String\u5F0F\u304C\u60F3\u5B9A\u3055\u308C\u307E\u3059\u3002\u5F0F\u306E\u578B\u306F''{0}''\u3067\u3059\u3002 -EXC_NumberOrStringExprExpected=JDO75307: Number\u307E\u305F\u306FString\u5F0F\u304C\u60F3\u5B9A\u3055\u308C\u307E\u3059\u3002\u5F0F\u306E\u578B\u306F''{0}''\u3067\u3059\u3002 -EXC_IntExprExpected=JDO75308: Int\u5F0F\u304C\u60F3\u5B9A\u3055\u308C\u307E\u3059\u3002\u5F0F\u306E\u578B\u306F''{0}''\u3067\u3059\u3002 -EXC_DoubleExprExpected=JDO75309: Double\u5F0F\u304C\u60F3\u5B9A\u3055\u308C\u307E\u3059\u3002\u5F0F\u306E\u578B\u306F''{0}''\u3067\u3059\u3002 -EXC_IdentificationVariableExcepted=JDO75310: \u8B58\u5225\u5B50''{0}''\u306F\u8B58\u5225\u5909\u6570\u3092\u793A\u3057\u307E\u305B\u3093\u3002 -EXC_InvalidArguments=JDO75311: ''{0}''\u306E\u5F15\u6570\u304C\u7121\u52B9\u3067\u3059\u3002 -EXC_InvalidParameterIndex=JDO75312: \u30D1\u30E9\u30E1\u30FC\u30BF''{0}''\u304C\u7121\u52B9\u3067\u3059\u3002\u3053\u308C\u306F\u30011\u4EE5\u4E0A\u3067''{1}''\u672A\u6E80\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -EXC_AbstractSchemNameExpected=JDO75313: \u8B58\u5225\u5B50''{0}''\u306F\u62BD\u8C61\u30B9\u30AD\u30FC\u30DE\u578B\u3092\u793A\u3057\u307E\u305B\u3093\u3002 -EXC_UnknownField=JDO75314: ''{0}''\u306F\u62BD\u8C61\u30B9\u30AD\u30FC\u30DE\u578B''{1}''\u306E\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3Bean\u306Ecmp-field\u307E\u305F\u306Fcmr-field\u3092\u793A\u3057\u307E\u305B\u3093\u3002 -EXC_SingleValuedCMROrCMPFieldExpected=JDO75315: \u578B''{1}''\u306E\u30D5\u30A3\u30FC\u30EB\u30C9''{0}''\u306F\u5358\u4E00\u5024\u304C\u8A2D\u5B9A\u3055\u308C\u305Fcmr-field\u307E\u305F\u306Fcmp-field\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -EXC_CMPFieldExpected=JDO75316: \u578B''{1}''\u306E\u30D5\u30A3\u30FC\u30EB\u30C9''{0}''\u306Fcmp-field\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -EXC_SingleValuedCMRFieldExpected=JDO75317: \u578B''{1}''\u306E\u30D5\u30A3\u30FC\u30EB\u30C9''{0}''\u306F\u5358\u4E00\u5024\u304C\u8A2D\u5B9A\u3055\u308C\u305Fcmr-field\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -EXC_CollectionValuedCMRFieldExpected=JDO75318: \u578B''{1}''\u306E\u30D5\u30A3\u30FC\u30EB\u30C9''{0}''\u306F\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u5024\u304C\u8A2D\u5B9A\u3055\u308C\u305Fcmr-field\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -EXC_CollectionElementTypeMismatch=JDO75319: \u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u8981\u7D20\u578B''{0}''\u306F\u5024\u578B''{1}''\u3068\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -EXC_InCollectionElementTypeMismatch=JDO75320: Collection\u5F0F\u306E\u578B''{0}''\u306F\u5024\u578B''{1}''\u3068\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -EXC_InvalidPatternDefinition=JDO75321: LIKE\u5F0F\u306E\u30D1\u30BF\u30FC\u30F3''{0}''\u304C\u7121\u52B9\u3067\u3059\u3002\u4E88\u671F\u3055\u308C\u308B\u30BF\u30A4\u30D7\u306FString\u3067\u3059\u3002 -EXC_InvalidEscapeDefinition=JDO75322: LIKE\u5F0F\u306EESCAPE ''{0}''\u304C\u7121\u52B9\u3067\u3059\u3002\u5358\u4E00\u6587\u5B57\u306E\u6587\u5B57\u5217\u30EA\u30C6\u30E9\u30EB\u304C\u60F3\u5B9A\u3055\u308C\u307E\u3059\u3002 -EXC_InvalidEscapeParameterDefinition=JDO75323: LIKE\u5F0F\u306EESCAPE ''{0}''\u304C\u7121\u52B9\u3067\u3059\u3002\u4E88\u671F\u3055\u308C\u308B\u30BF\u30A4\u30D7\u306Fchar\u578B\u307E\u305F\u306FCharacter\u3067\u3059\u3002 -EXC_InvalidLHSLiteral=JDO75324: ''{1}''\u64CD\u4F5C\u306E\u5DE6\u5074\u306E\u30EA\u30C6\u30E9\u30EB''{0}''\u306E\u4F7F\u7528\u304C\u7121\u52B9\u3067\u3059\u3002 -EXC_InvalidLHSParameter=JDO75325: ''{1}''\u64CD\u4F5C\u306E\u5DE6\u5074\u306E\u5165\u529B\u30D1\u30E9\u30E1\u30FC\u30BF''{0}''\u306E\u4F7F\u7528\u304C\u7121\u52B9\u3067\u3059\u3002 -EXC_MultipleEJBNameParameter=JDO75326: \u540C\u4E00\u5165\u529B\u30D1\u30E9\u30E1\u30FC\u30BF''{0}''\u306E\u8907\u6570\u30A2\u30AF\u30BB\u30B9\u306F\u3001\u7570\u306A\u308BEJB\u540D''{1}''\u3092\u524D\u63D0\u3068\u3057\u3066\u3044\u307E\u3059\u3002\u4EE5\u524D\u306F\u540C\u4E00\u5165\u529B\u30D1\u30E9\u30E1\u30FC\u30BF\u306FEJB\u540D''{2}''\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u307E\u3057\u305F\u3002 - -# Error: result-type-mapping specified for a finder method -EXC_InvalidResultTypeMappingForFinder=JDO75327: finder\u30E1\u30BD\u30C3\u30C9\u306B\u306Fresult-type-mapping\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002 -# Error: result-type-mapping specified as Remote, -# but bean does not have remote interface -# {0} - ejb name -EXC_InvalidRemoteResultTypeMappingForMultiSelector=JDO75328: result-type-mapping\u304C''Remote''\u3068\u3057\u3066\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001Bean ''{0}''\u306B\u306F\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -# Error: result-type-mapping is specified as Local or not specified, -# but bean does not have local interface -# {0} - ejb name -EXC_InvalidLocalResultTypeMappingForMultiSelector=JDO75329: result-type-mapping\u304C''Local''\u3068\u3057\u3066\u6307\u5B9A(\u307E\u305F\u306F\u30C7\u30D5\u30A9\u30EB\u30C8\u8A2D\u5B9A)\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001Bean ''{0}''\u306B\u306F\u30ED\u30FC\u30AB\u30EB\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -# Error: result-type-mapping is specified as Remote, -# but single-object selector does not return remote interface. -EXC_InvalidRemoteResultTypeMappingForSingleSelector=JDO75330: result-type-mapping\u304C''Remote''\u3068\u3057\u3066\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u30B7\u30F3\u30B0\u30EB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u30FB\u30BB\u30EC\u30AF\u30BF\u306F\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u8FD4\u3057\u307E\u305B\u3093\u3002 -# Error: result-type-mapping is specified as Local or not specified, -# but single-object selector does not return local interface. -EXC_InvalidLocalResultTypeMappingForSingleSelector=JDO75331: result-type-mapping\u304C''Local''\u3068\u3057\u3066\u6307\u5B9A(\u307E\u305F\u306F\u30C7\u30D5\u30A9\u30EB\u30C8\u8A2D\u5B9A)\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u30B7\u30F3\u30B0\u30EB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u30FB\u30BB\u30EC\u30AF\u30BF\u306F\u30ED\u30FC\u30AB\u30EB\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u8FD4\u3057\u307E\u305B\u3093\u3002 -# Error: result-type-mapping is specified for a selector method returning -# non-entity objects -# {0} - type of of the select clause expression -EXC_InvalidResultTypeMappingForSelector=JDO75332: \u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u4EE5\u5916\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u8FD4\u3059\u30BB\u30EC\u30AF\u30BF\u306B\u306Fresult-type-mapping\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002(select\u53E5\u306E\u5F0F\u306E\u578B\u306F''{0}''\u3067\u3059) - -# Error: invalid return type for finder, e.g. java.lang.String -# {0} - finder method return type -EXC_InvalidFinderReturnType=JDO75333: finder\u30E1\u30BD\u30C3\u30C9\u306E\u623B\u308A\u578B''{0}''\u304C\u7121\u52B9\u3067\u3059\u3002 -# Error: the select clause of the finder's EJBQL query has an invalid type, -# e.g. java.lang.String -# {0} - type of of the select clause expression -EXC_InvalidFinderSelectClauseType=JDO75334: finder\u30E1\u30BD\u30C3\u30C9\u306Eselect\u53E5\u306E\u5F0F\u306E\u578B''{0}''\u304C\u7121\u52B9\u3067\u3059\u3002 -# Error: type mismatch between the return type of the selector and -# the select clause of the EJBQL query -# {0} - selector method return type -# {1} - type of of the select clause expression -EXC_InvalidSelectorReturnType=JDO75335: \u30BB\u30EC\u30AF\u30BF\u306E\u623B\u308A\u578B''{0}''\u306Fselect\u53E5\u306E\u578B''{1}''\u3068\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -# Error: mismatch between orderby item and select clause of EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItem=JDO75336: orderby\u30A2\u30A4\u30C6\u30E0''{0}''\u306Fselect\u53E5\u3068\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -# Error: mismatch between orderby item and cmp field select clause of -# EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItemForCMPSelect=JDO75337: orderby\u30A2\u30A4\u30C6\u30E0''{0}''\u3068\u3001select\u53E5\u5185\u306Ecmp\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u540C\u4E00\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -EXC_InvalidAggregateOrderby=JDO75338: \u53E5\u304B\u3089\u306E\u547D\u4EE4\u3067aggregate select\u53E5\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 - -ERR_SemanticError=JDO75339: \u30BB\u30DE\u30F3\u30C6\u30A3\u30C3\u30AF\u30FB\u30A8\u30E9\u30FC: -ERR_InvalidPathExpr=JDO75340: \u7121\u52B9\u306A\u30D1\u30B9expr -#Error: Missing information about a field of a bean -# {0} - Field -# {1} - Bean name -ERR_MissingFieldInfo=JDO75341: {1}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u30FB\u30E1\u30BF\u30C7\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093 - -############################################################################# -# -# Message ID Range: JDO75500 - JDO75599 -############################################################################# -ERR_JDOQLCodeGenerationError=JDO75500: JDOQL\u30B3\u30FC\u30C9\u751F\u6210\u30A8\u30E9\u30FC: -ERR_UnexpectedNode=JDO75501: \u4E88\u671F\u305B\u306C\u30CE\u30FC\u30C9''{0}''\u3001\u30C8\u30FC\u30AF\u30F3\u578B''{1}'' - -############################################################################# -# -# Message ID Range: JDO75600 - JDO75699 -############################################################################# -# -# ejbqlc EJBQLASTFactory -# -ERR_UnexpectedExceptionClone=JDO75600: \u30AF\u30ED\u30FC\u30F3\u6642\u306E\u4E88\u671F\u305B\u306C\u4F8B\u5916 - -# -# ejbqlc TypeSupport -# -ERR_EjbNameExpected=JDO75601: {0}: \u60F3\u5B9A\u3055\u308C\u308BEJB\u540D{1} diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_ko.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_ko.properties deleted file mode 100644 index 07b4a49dad0..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_ko.properties +++ /dev/null @@ -1,228 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# -# resource bundle for query messages -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 75. -# -# This file is divided into following sections. -# 1. main ejbqlc compiler class -# 2. ejbqlc error message helper class -# 3. ejbqlc syntax error messages -# 4. ejbqlc semantic error messages -# 5. ejbqlc code generation error messages -# 6. Miscellaneous -# -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################# -#
    -# Message ID Range: JDO75000 - JDO75099 -############################################################################# - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -LOG_EJBQLCCompile=JDO75000: EJBQLC \uCEF4\uD30C\uC77C \uC9C8\uC758\nBean: {0}\n\uBA54\uC18C\uB4DC: {1}\nEJBQL: {2} -# {0} - name of the compiler pass -LOG_EJBQLCStartPass=JDO75001: EJBQLC \uC2DC\uC791 {0} -# {0} - name of the compiler pass -LOG_EJBQLCDumpTree=JDO75002: EJBQLC \uB364\uD504 \uD2B8\uB9AC {0} -# {0} - String repr of the EJBQLC compile result -LOG_EJBQLCResult=JDO75003: EJBQLC \uACB0\uACFC {0} -ERR_MissingMethodInstance=JDO75004: \uAC80\uC0C9\uAE30/\uC120\uD0DD\uAE30 \uBA54\uC18C\uB4DC \uC778\uC2A4\uD134\uC2A4\uAC00 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -# {0} - bean name -# {1} - finder/selector method signature -EXC_MissingEjbqlQueryText=JDO75005: \uC644\uC804\uD558\uC9C0 \uC54A\uC740 Bean {0}\uC758 \uBC30\uCE58 \uAE30\uC220\uC790: {1} \uBA54\uC18C\uB4DC\uC758 \uC9C8\uC758 \uC694\uC18C\uC5D0 ejb-ql \uC694\uC18C\uAC00 \uB204\uB77D\uB418\uC5C8\uAC70\uB098 \uC774 \uC694\uC18C\uAC00 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_InvalidEJBQLQuery=JDO75006: \uBD80\uC801\uD569\uD55C EJBQL \uC9C8\uC758\nBean: {0}\n\uBA54\uC18C\uB4DC: {1}\nEJBQL: {2}\n\uC624\uB958: {3} - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_EJBQLQueryInternalError=JDO75007: EJBQL\uC744 \uAD6C\uBB38 \uBD84\uC11D\uD558\uB294 \uC911 \uCE58\uBA85\uC801\uC778 \uB0B4\uBD80 \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD:\nBean: {0}\n\uBA54\uC18C\uB4DC: {1}\nEJBQL: {2}\n\uC624\uB958: {3} -JDO75007.diag.cause.1=CMP \uBAA8\uB4C8\uC5D0 \uB0B4\uBD80 \uC624\uB958\uAC00 \uC788\uC2B5\uB2C8\uB2E4. -JDO75007.diag.check.1=\uC608\uAE30\uCE58 \uC54A\uC740 \uB0B4\uBD80 \uC624\uB958\uC785\uB2C8\uB2E4. \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 \uC774\uB984 \uBC0F \uC804\uCCB4 \uC624\uB958 \uB85C\uADF8 \uBA54\uC2DC\uC9C0\uC758 \uB0B4\uC6A9\uC744 Payara Support\uC5D0 \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. - -ERR_UnexpectedException=JDO75008: {0} \uC911 \uC608\uAE30\uCE58 \uC54A\uC740 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. - -############################################################################# -# -# Message ID Range: JDO75100 - JDO75199 -############################################################################# -EXC_PositionInfoMsg={0} -EXC_PositionInfoMsgColumn=\uC5F4({0}): {1} -EXC_PositionInfoMsgLineColumn=\uD589({0}) \uC5F4({1}): {2} - -ERR_FatalInternalError=JDO75100: \uCE58\uBA85\uC801 \uB0B4\uBD80 \uC624\uB958: {0} - -############################################################################# -# -# Message ID Range: JDO75200 - JDO75299 -############################################################################# -EXC_SyntaxError=JDO75200: \uAD6C\uBB38 \uC624\uB958\uC785\uB2C8\uB2E4. -EXC_SyntaxErrorAt=JDO75201: ''{0}''\uC5D0 \uAD6C\uBB38 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -EXC_UnexpectedToken=JDO75202: \uAD6C\uBB38 \uC624\uB958. \uC608\uAE30\uCE58 \uC54A\uC740 \uD1A0\uD070 ''{0}''. -EXC_UnexpectedChar=JDO75203: \uAD6C\uBB38 \uC624\uB958. \uC608\uAE30\uCE58 \uC54A\uC740 \uBB38\uC790 ''{0}''. -EXC_ExpectedCharFound=JDO75204: \uAD6C\uBB38 \uC624\uB958. \uC608\uC0C1 \uBB38\uC790 ''{0}'', \uCC3E\uC740 \uBB38\uC790 ''{1}''. -EXC_UnexpectedEOF=JDO75205: EJBQL \uC9C8\uC758\uC758 \uC608\uAE30\uCE58 \uC54A\uC740 \uC885\uB8CC \uAD6C\uBB38 \uC624\uB958 - -############################################################################# -# -# Message ID Range: JDO75300 - JDO75499 -############################################################################# -EXC_MultipleDeclaration=JDO75300: ''{0}''\uC758 \uBCF5\uC218 \uC120\uC5B8 -EXC_UndefinedIdentifier=JDO75301: \uC2DD\uBCC4\uC790 ''{0}''\uC774(\uAC00) \uC815\uC758\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -EXC_BooleanWhereClauseExpected=JDO75302: \uBD80\uC6B8 \uD45C\uD604\uC2DD\uC774 \uC608\uC0C1\uB418\uC5C8\uC9C0\uB9CC where \uC808 \uD45C\uD604\uC2DD\uC758 \uC720\uD615\uC774 ''{0}''\uC785\uB2C8\uB2E4. -EXC_OrderableOrderbyClauseExpected=JDO75303: \uC815\uB82C\uC774 \uAC00\uB2A5\uD55C \uD45C\uD604\uC2DD\uC774 \uC608\uC0C1\uB418\uC5C8\uC9C0\uB9CC orderby \uC808 \uD45C\uD604\uC2DD\uC758 \uC720\uD615\uC774 ''{0}''\uC785\uB2C8\uB2E4. -EXC_OrderableExpected=JDO75304: \uC815\uB82C\uC774 \uAC00\uB2A5\uD55C \uD45C\uD604\uC2DD\uC774 \uC608\uC0C1\uB418\uC5C8\uC9C0\uB9CC \uD45C\uD604\uC2DD\uC758 \uC720\uD615\uC774 ''{0}''\uC785\uB2C8\uB2E4. -EXC_NumberExprExpected=JDO75305: \uC22B\uC790 \uD45C\uD604\uC2DD\uC774 \uC608\uC0C1\uB418\uC5C8\uC9C0\uB9CC \uD45C\uD604\uC2DD\uC758 \uC720\uD615\uC774 ''{0}''\uC785\uB2C8\uB2E4. -EXC_StringExprExpected=JDO75306: \uBB38\uC790\uC5F4 \uD45C\uD604\uC2DD\uC774 \uC608\uC0C1\uB418\uC5C8\uC9C0\uB9CC \uD45C\uD604\uC2DD\uC758 \uC720\uD615\uC774 ''{0}''\uC785\uB2C8\uB2E4. -EXC_NumberOrStringExprExpected=JDO75307: \uC22B\uC790 \uB610\uB294 \uBB38\uC790\uC5F4 \uD45C\uD604\uC2DD\uC774 \uC608\uC0C1\uB418\uC5C8\uC9C0\uB9CC \uD45C\uD604\uC2DD\uC758 \uC720\uD615\uC774 ''{0}''\uC785\uB2C8\uB2E4. -EXC_IntExprExpected=JDO75308: Int \uD45C\uD604\uC2DD\uC774 \uC608\uC0C1\uB418\uC5C8\uC9C0\uB9CC \uD45C\uD604\uC2DD\uC758 \uC720\uD615\uC774 ''{0}''\uC785\uB2C8\uB2E4. -EXC_DoubleExprExpected=JDO75309: Double \uD45C\uD604\uC2DD\uC774 \uC608\uC0C1\uB418\uC5C8\uC9C0\uB9CC \uD45C\uD604\uC2DD\uC758 \uC720\uD615\uC774 ''{0}''\uC785\uB2C8\uB2E4. -EXC_IdentificationVariableExcepted=JDO75310: ''{0}'' \uC2DD\uBCC4\uC790\uB294 \uC2DD\uBCC4 \uBCC0\uC218\uB97C \uB098\uD0C0\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -EXC_InvalidArguments=JDO75311: ''{0}''\uC758 \uC778\uC218\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -EXC_InvalidParameterIndex=JDO75312: \uBD80\uC801\uD569\uD55C \uB9E4\uAC1C\uBCC0\uC218 ''{0}''. \uC801\uC5B4\uB3C4 1\uC774\uC5B4\uC57C \uD558\uBA70 {1}\uBCF4\uB2E4 \uD06C\uC9C0 \uC54A\uC544\uC57C \uD569\uB2C8\uB2E4. -EXC_AbstractSchemNameExpected=JDO75313: ''{0}'' \uC2DD\uBCC4\uC790\uB294 \uCD94\uC0C1 \uC2A4\uD0A4\uB9C8 \uC720\uD615\uC744 \uB098\uD0C0\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -EXC_UnknownField=JDO75314: ''{0}''\uC740(\uB294) \uCD94\uC0C1 \uC2A4\uD0A4\uB9C8 \uC720\uD615 ''{1}''\uC5D0 \uD574\uB2F9\uD558\uB294 \uC5D4\uD2F0\uD2F0 Bean\uC758 cmp \uD544\uB4DC \uB610\uB294 cmr \uD544\uB4DC\uB97C \uB098\uD0C0\uB0B4\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -EXC_SingleValuedCMROrCMPFieldExpected=JDO75315: ''{1}'' \uC720\uD615\uC758 ''{0}'' \uD544\uB4DC\uB294 \uB2E8\uC77C \uAC12\uC758 cmr \uD544\uB4DC \uB610\uB294 cmp \uD544\uB4DC\uAC00 \uC544\uB2D9\uB2C8\uB2E4. -EXC_CMPFieldExpected=JDO75316: ''{1}'' \uC720\uD615\uC758 ''{0}'' \uD544\uB4DC\uB294 cmp \uD544\uB4DC\uAC00 \uC544\uB2D9\uB2C8\uB2E4. -EXC_SingleValuedCMRFieldExpected=JDO75317: ''{1}'' \uC720\uD615\uC758 ''{0}'' \uD544\uB4DC\uB294 \uB2E8\uC77C \uAC12\uC758 cmr \uD544\uB4DC\uAC00 \uC544\uB2D9\uB2C8\uB2E4. -EXC_CollectionValuedCMRFieldExpected=JDO75318: ''{1}'' \uC720\uD615\uC758 ''{0}'' \uD544\uB4DC\uB294 \uBAA8\uC74C \uAC12\uC758 cmr \uD544\uB4DC\uAC00 \uC544\uB2D9\uB2C8\uB2E4. -EXC_CollectionElementTypeMismatch=JDO75319: \uBAA8\uC74C \uC694\uC18C \uC720\uD615 ''{0}''\uC740(\uB294) \uAC12 \uC720\uD615 ''{1}''\uACFC(\uC640) \uD638\uD658\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -EXC_InCollectionElementTypeMismatch=JDO75320: \uBAA8\uC74C \uD45C\uD604\uC2DD\uC5D0\uC11C ''{0}'' \uC720\uD615\uC740 \uAC12 \uC720\uD615 ''{1}''\uACFC(\uC640) \uD638\uD658\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -EXC_InvalidPatternDefinition=JDO75321: LIKE \uD45C\uD604\uC2DD\uC5D0 \uBD80\uC801\uD569\uD55C \uD328\uD134 ''{0}''\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4. \uC608\uC0C1 \uAC12\uC740 \uBB38\uC790\uC5F4 \uC720\uD615\uC785\uB2C8\uB2E4. -EXC_InvalidEscapeDefinition=JDO75322: LIKE \uD45C\uD604\uC2DD\uC5D0 \uBD80\uC801\uD569\uD55C ESCAPE ''{0}''\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4. \uC608\uC0C1 \uAC12\uC740 \uB2E8\uC77C \uBB38\uC790\uC5F4 \uB9AC\uD130\uB7F4\uC785\uB2C8\uB2E4. -EXC_InvalidEscapeParameterDefinition=JDO75323: LIKE \uD45C\uD604\uC2DD\uC5D0 \uBD80\uC801\uD569\uD55C ESCAPE \uB9E4\uAC1C\uBCC0\uC218 ''{0}''\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4. \uC608\uC0C1 \uAC12\uC740 \uBB38\uC790 \uC720\uD615\uC785\uB2C8\uB2E4. -EXC_InvalidLHSLiteral=JDO75324: ''{1}'' \uC791\uC5C5\uC758 \uC67C\uCABD\uC5D0 ''{0}'' \uB9AC\uD130\uB7F4\uC774 \uC798\uBABB \uC0AC\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -EXC_InvalidLHSParameter=JDO75325: ''{1}'' \uC791\uC5C5\uC758 \uC67C\uCABD\uC5D0 \uC785\uB825 \uB9E4\uAC1C\uBCC0\uC218 ''{0}''\uC774(\uAC00) \uC798\uBABB \uC0AC\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -EXC_MultipleEJBNameParameter=JDO75326: \uB2E4\uB978 ejb-name ''{1}''\uC744(\uB97C) \uC0AC\uC6A9\uD558\uC5EC \uB3D9\uC77C\uD55C \uC785\uB825 \uB9E4\uAC1C\uBCC0\uC218 ''{0}''\uC774(\uAC00) \uB2E4\uC911\uC73C\uB85C \uC561\uC138\uC2A4\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uB3D9\uC77C \uC785\uB825 \uB9E4\uAC1C\uBCC0\uC218\uAC00 \uC774\uC804\uC5D0 ejb-name ''{2}''\uACFC(\uC640) \uC5F0\uAD00\uB418\uC5C8\uC2B5\uB2C8\uB2E4. - -# Error: result-type-mapping specified for a finder method -EXC_InvalidResultTypeMappingForFinder=JDO75327: \uAC80\uC0C9\uAE30 \uBA54\uC18C\uB4DC\uC5D0\uB294 result-type-mapping\uC744 \uC9C0\uC815\uD558\uC9C0 \uB9C8\uC2ED\uC2DC\uC624. -# Error: result-type-mapping specified as Remote, -# but bean does not have remote interface -# {0} - ejb name -EXC_InvalidRemoteResultTypeMappingForMultiSelector=JDO75328: result-type-mapping\uC774 ''Remote''\uB85C \uC9C0\uC815\uB418\uC5C8\uC9C0\uB9CC Bean ''{0}''\uC5D0 \uC6D0\uACA9 \uC778\uD130\uD398\uC774\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. -# Error: result-type-mapping is specified as Local or not specified, -# but bean does not have local interface -# {0} - ejb name -EXC_InvalidLocalResultTypeMappingForMultiSelector=JDO75329: result-type-mapping\uC774 ''Local''\uB85C \uC9C0\uC815\uB418\uC5C8\uAC70\uB098 \uC774 \uAC12\uC744 \uAE30\uBCF8\uAC12\uC73C\uB85C \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uD558\uC9C0\uB9CC Bean ''{0}''\uC5D0 \uB85C\uCEEC \uC778\uD130\uD398\uC774\uC2A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. -# Error: result-type-mapping is specified as Remote, -# but single-object selector does not return remote interface. -EXC_InvalidRemoteResultTypeMappingForSingleSelector=JDO75330: result-type-mapping\uC774 'Remote'\uB85C \uC9C0\uC815\uB418\uC5C8\uC9C0\uB9CC \uB2E8\uC77C \uAC1D\uCCB4 \uC120\uD0DD\uAE30\uB294 \uC6D0\uACA9 \uC778\uD130\uD398\uC774\uC2A4\uB97C \uBC18\uD658\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -# Error: result-type-mapping is specified as Local or not specified, -# but single-object selector does not return local interface. -EXC_InvalidLocalResultTypeMappingForSingleSelector=JDO75331: result-type-mapping\uC774 'Local'\uB85C \uC9C0\uC815\uB418\uC5C8\uAC70\uB098 \uC774 \uAC12\uC744 \uAE30\uBCF8\uAC12\uC73C\uB85C \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uD558\uC9C0\uB9CC \uB2E8\uC77C \uAC1D\uCCB4 \uC120\uD0DD\uAE30\uB294 \uB85C\uCEEC \uC778\uD130\uD398\uC774\uC2A4\uB97C \uBC18\uD658\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -# Error: result-type-mapping is specified for a selector method returning -# non-entity objects -# {0} - type of of the select clause expression -EXC_InvalidResultTypeMappingForSelector=JDO75332: \uC5D4\uD2F0\uD2F0\uAC00 \uC544\uB2CC \uAC1D\uCCB4\uB97C \uBC18\uD658\uD558\uB294 \uC120\uD0DD\uAE30 \uBA54\uC18C\uB4DC\uC5D0\uB294 result-type-mapping\uC744 \uC9C0\uC815\uD558\uC9C0 \uB9C8\uC2ED\uC2DC\uC624. (select \uC808 \uD45C\uD604\uC2DD\uC758 \uC720\uD615\uC740 ''{0}''\uC785\uB2C8\uB2E4.) - -# Error: invalid return type for finder, e.g. java.lang.String -# {0} - finder method return type -EXC_InvalidFinderReturnType=JDO75333: \uAC80\uC0C9\uAE30 \uBA54\uC18C\uB4DC\uC5D0 \uBD80\uC801\uD569\uD55C \uBC18\uD658 \uC720\uD615 ''{0}''\uC774 \uC788\uC2B5\uB2C8\uB2E4. -# Error: the select clause of the finder's EJBQL query has an invalid type, -# e.g. java.lang.String -# {0} - type of of the select clause expression -EXC_InvalidFinderSelectClauseType=JDO75334: \uAC80\uC0C9\uAE30 \uBA54\uC18C\uB4DC\uC758 select \uC808 \uD45C\uD604\uC2DD\uC5D0 \uBD80\uC801\uD569\uD55C \uC720\uD615 ''{0}''\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4. -# Error: type mismatch between the return type of the selector and -# the select clause of the EJBQL query -# {0} - selector method return type -# {1} - type of of the select clause expression -EXC_InvalidSelectorReturnType=JDO75335: \uC120\uD0DD\uAE30 \uBC18\uD658 \uC720\uD615 ''{0}''\uC740(\uB294) select \uC808 \uC720\uD615 ''{1}''\uACFC(\uC640) \uD638\uD658\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -# Error: mismatch between orderby item and select clause of EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItem=JDO75336: orderby \uD56D\uBAA9 ''{0}''\uC740(\uB294) select \uC808\uACFC \uD638\uD658\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -# Error: mismatch between orderby item and cmp field select clause of -# EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItemForCMPSelect=JDO75337: orderby \uD56D\uBAA9 ''{0}'' \uACFC select \uC808\uC758 cmp \uD544\uB4DC\uB294 \uAC19\uC544\uC57C \uD569\uB2C8\uB2E4. -EXC_InvalidAggregateOrderby=JDO75338: aggregate select \uC808\uC740 order by \uC808\uACFC \uD568\uAED8 \uC0AC\uC6A9\uD558\uC9C0 \uB9C8\uC2ED\uC2DC\uC624. - -ERR_SemanticError=JDO75339: \uAD6C\uBB38 \uC624\uB958: -ERR_InvalidPathExpr=JDO75340: \uBD80\uC801\uD569\uD55C \uACBD\uB85C \uD45C\uD604\uC2DD -#Error: Missing information about a field of a bean -# {0} - Field -# {1} - Bean name -ERR_MissingFieldInfo=JDO75341: ''{1}''\uC758 ''{0}'' \uD544\uB4DC\uC5D0 \uD544\uB4DC \uBA54\uD0C0 \uB370\uC774\uD130\uAC00 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4. - -############################################################################# -# -# Message ID Range: JDO75500 - JDO75599 -############################################################################# -ERR_JDOQLCodeGenerationError=JDO75500: JDOQL \uCF54\uB4DC \uC0DD\uC131 \uC624\uB958: -ERR_UnexpectedNode=JDO75501: \uC608\uAE30\uCE58 \uC54A\uC740 \uB178\uB4DC ''{0}'', \uD1A0\uD070 \uC720\uD615 ''{1}''" - -############################################################################# -# -# Message ID Range: JDO75600 - JDO75699 -############################################################################# -# -# ejbqlc EJBQLASTFactory -# -ERR_UnexpectedExceptionClone=JDO75600: \uBCF5\uC81C \uC911 \uC608\uAE30\uCE58 \uC54A\uC740 \uC608\uC678 \uC0AC\uD56D \uBC1C\uC0DD - -# -# ejbqlc TypeSupport -# -ERR_EjbNameExpected=JDO75601: {0}: \uC608\uC0C1\uB418\uB294 ejb \uC774\uB984 {1} diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_pt_BR.properties deleted file mode 100644 index 568cfd0a65b..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_pt_BR.properties +++ /dev/null @@ -1,228 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# -# resource bundle for query messages -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 75. -# -# This file is divided into following sections. -# 1. main ejbqlc compiler class -# 2. ejbqlc error message helper class -# 3. ejbqlc syntax error messages -# 4. ejbqlc semantic error messages -# 5. ejbqlc code generation error messages -# 6. Miscellaneous -# -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################# -#
    -# Message ID Range: JDO75000 - JDO75099 -############################################################################# - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -LOG_EJBQLCCompile=JDO75000: Consulta de compila\u00E7\u00E3o EJBQCL\nBean: {0}\nM\u00E9todo: {1}\nEJBQL: {2} -# {0} - name of the compiler pass -LOG_EJBQLCStartPass=JDO75001: Iniciar EJBQLC {0} -# {0} - name of the compiler pass -LOG_EJBQLCDumpTree=JDO75002: \u00C1rvore de dump EJBQLC {0} -# {0} - String repr of the EJBQLC compile result -LOG_EJBQLCResult=JDO75003: Resultado EJBQLC {0} -ERR_MissingMethodInstance=JDO75004: Inst\u00E2ncia do m\u00E9todo localizador/seletor ausente. -# {0} - bean name -# {1} - finder/selector method signature -EXC_MissingEjbqlQueryText=JDO75005: Descritor de implanta\u00E7\u00E3o incompleto para o bean {0}: Elemento ejb-ql ausente ou vazio no elemento de consulta para o m\u00E9todo {1}. - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_InvalidEJBQLQuery=JDO75006: Consulta EJBQL inv\u00E1lida\nBean: {0}\nM\u00E9todo: {1}\nEJBQL: {2}\nErro: {3} - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_EJBQLQueryInternalError=JDO75007: Exce\u00E7\u00E3o fatal interna ao fazer parsing de EJBQL:\nBean: {0}\nM\u00E9todo: {1}\nEJBQL: {2}\nErro: {3} -JDO75007.diag.cause.1=Erro interno no m\u00F3dulo CMP. -JDO75007.diag.check.1=Esse \u00E9 um erro interno inesperado. Entre em contato com a Oracle tendo sua aplica\u00E7\u00E3o e a mensagem completa do log de erros. - -ERR_UnexpectedException=JDO75008: Exce\u00E7\u00E3o inesperada durante {0} - -############################################################################# -# -# Message ID Range: JDO75100 - JDO75199 -############################################################################# -EXC_PositionInfoMsg={0} -EXC_PositionInfoMsgColumn=coluna({0}): {1} -EXC_PositionInfoMsgLineColumn=linha({0}) coluna({1}): {2} - -ERR_FatalInternalError=JDO75100: Erro fatal interno: {0} - -############################################################################# -# -# Message ID Range: JDO75200 - JDO75299 -############################################################################# -EXC_SyntaxError=JDO75200: Erro de sintaxe. -EXC_SyntaxErrorAt=JDO75201: Erro de sintaxe em "{0}". -EXC_UnexpectedToken=JDO75202: Erro de sintaxe para token inesperado "{0}". -EXC_UnexpectedChar=JDO75203: Erro de sintaxe por caractere inesperado "{0}". -EXC_ExpectedCharFound=JDO75204: Erro de sintaxe por caractere esperado "{0}", encontrado "{1}". -EXC_UnexpectedEOF=JDO75205: Erro de sintaxe por fim inesperado da consulta EJBQL. - -############################################################################# -# -# Message ID Range: JDO75300 - JDO75499 -############################################################################# -EXC_MultipleDeclaration=JDO75300: M\u00FAltipla declara\u00E7\u00E3o de "{0}". -EXC_UndefinedIdentifier=JDO75301: Identificador indefinido "{0}". -EXC_BooleanWhereClauseExpected=JDO75302: Express\u00E3o booliana esperada, onde a express\u00E3o de cl\u00E1usula tinha o tipo "{0}". -EXC_OrderableOrderbyClauseExpected=JDO75303: Express\u00E3o orden\u00E1vel esperada, onde a express\u00E3o de cl\u00E1usula tinha o tipo "{0}". -EXC_OrderableExpected=JDO75304: Express\u00E3o orden\u00E1vel esperada, onde a express\u00E3o tem o tipo "{0}". -EXC_NumberExprExpected=JDO75305: Express\u00E3o num\u00E9rica esperada, onde a express\u00E3o tem o tipo "{0}". -EXC_StringExprExpected=JDO75306: Express\u00E3o de String esperada, onde a express\u00E3o tem o tipo "{0}". -EXC_NumberOrStringExprExpected=JDO75307: Express\u00E3o num\u00E9rica ou String esperada, onde a express\u00E3o tem o tipo "{0}". -EXC_IntExprExpected=JDO75308: Express\u00E3o inteira esperada, onde a express\u00E3o tem o tipo "{0}". -EXC_DoubleExprExpected=JDO75309: Express\u00E3o dupla esperada, onde a express\u00E3o tem o tipo "{0}". -EXC_IdentificationVariableExcepted=JDO75310: O identificador "{0}" n\u00E3o denota uma vari\u00E1vel de identifica\u00E7\u00E3o. -EXC_InvalidArguments=JDO75311: Argumentos inv\u00E1lidos para "{0}". -EXC_InvalidParameterIndex=JDO75312: Par\u00E2metro inv\u00E1lido "{0}". Ele precisa ser ao menos 1 e n\u00E3o maior que {1}. -EXC_AbstractSchemNameExpected=JDO75313: O identificador "{0}" n\u00E3o denota um tipo de esquema abstrato. -EXC_UnknownField=JDO75314: "{0}" n\u00E3o denota um campo cmp ou um campo cmr do bean da entidade para o tipo de esquema abstrato "{1}". -EXC_SingleValuedCMROrCMPFieldExpected=JDO75315: O campo "{0}" do tipo "{1}" n\u00E3o \u00E9 um campo cmr ou um campo cmp de valor \u00FAnico. -EXC_CMPFieldExpected=JDO75316: O campo "{0}" do tipo "{1}" n\u00E3o \u00E9 um campo cmp. -EXC_SingleValuedCMRFieldExpected=JDO75317: O campo "{0}" do tipo "{1}" n\u00E3o \u00E9 um campo cmr de valor \u00FAnico. -EXC_CollectionValuedCMRFieldExpected=JDO75318: O campo "{0}" do tipo "{1}" n\u00E3o \u00E9 um campo cmr de valor de conjunto. -EXC_CollectionElementTypeMismatch=JDO75319: O tipo de elemento de conjunto "{0}" n\u00E3o \u00E9 compat\u00EDvel com o tipo de valor "{1}". -EXC_InCollectionElementTypeMismatch=JDO75320: O tipo de express\u00E3o no conjunto "{0}" n\u00E3o \u00E9 compat\u00EDvel com o tipo de valor "{1}". -EXC_InvalidPatternDefinition=JDO75321: Padr\u00E3o inv\u00E1lido "{0}" da express\u00E3o LIKE, String de tipo esperado. -EXC_InvalidEscapeDefinition=JDO75322: ESCAPE inv\u00E1lido "{0}" da express\u00E3o LIKE, literal de string de caracteres \u00FAnica esperada. -EXC_InvalidEscapeParameterDefinition=JDO75323: Par\u00E2metro ESCAPE inv\u00E1lido "{0}" da express\u00E3o LIKE, tipo de caractere ou Caractere esperado. -EXC_InvalidLHSLiteral=JDO75324: Uso inv\u00E1lido de literal "{0}" no lado esquerdo de uma opera\u00E7\u00E3o "{1}". -EXC_InvalidLHSParameter=JDO75325: Uso inv\u00E1lido do par\u00E2metro de sa\u00EDda "{0}" no lado esquerdo de uma opera\u00E7\u00E3o "{1}". -EXC_MultipleEJBNameParameter=JDO75326: M\u00FAltiplo acesso ao mesmo par\u00E2metro de entrada "{0}" assumindo outro ejb-name "{1}". O mesmo par\u00E2metro de entrada foi associado antes com o ejb-name "{2}". - -# Error: result-type-mapping specified for a finder method -EXC_InvalidResultTypeMappingForFinder=JDO75327: mapeamento de tipo de resultado n\u00E3o pode ser especificado para m\u00E9todos do localizador. -# Error: result-type-mapping specified as Remote, -# but bean does not have remote interface -# {0} - ejb name -EXC_InvalidRemoteResultTypeMappingForMultiSelector=JDO75328: result-type-mapping \u00E9 especificado como "Remoto", mas o bean "{0}" n\u00E3o tem uma interface remota. -# Error: result-type-mapping is specified as Local or not specified, -# but bean does not have local interface -# {0} - ejb name -EXC_InvalidLocalResultTypeMappingForMultiSelector=JDO75329: o mapeamento de tipo de resultado \u00E9 especificado ou o default \u00E9 "Local", mas o bean "{0}" n\u00E3o tem uma interface local. -# Error: result-type-mapping is specified as Remote, -# but single-object selector does not return remote interface. -EXC_InvalidRemoteResultTypeMappingForSingleSelector=JDO75330: result-type-mapping \u00E9 especificado como "Remoto", mas o seletor de objeto \u00FAnico n\u00E3o retorna a uma interface remota. -# Error: result-type-mapping is specified as Local or not specified, -# but single-object selector does not return local interface. -EXC_InvalidLocalResultTypeMappingForSingleSelector=JDO75331: result-type-mapping \u00E9 especificado ou o default \u00E9 "Local", mas o seletor de objeto \u00FAnico n\u00E3o retorna uma interface local. -# Error: result-type-mapping is specified for a selector method returning -# non-entity objects -# {0} - type of of the select clause expression -EXC_InvalidResultTypeMappingForSelector=JDO75332: result-type-mapping de resultado n\u00E3o pode ser especificado para seletores que retornam objetos que n\u00E3o s\u00E3o da entidade. (A express\u00E3o de cl\u00E1usula de sele\u00E7\u00E3o tem o tipo "{0}") - -# Error: invalid return type for finder, e.g. java.lang.String -# {0} - finder method return type -EXC_InvalidFinderReturnType=JDO75333: Tipo de retorno inv\u00E1lido "{0}" para o m\u00E9todo de localizador. -# Error: the select clause of the finder's EJBQL query has an invalid type, -# e.g. java.lang.String -# {0} - type of of the select clause expression -EXC_InvalidFinderSelectClauseType=JDO75334: Tipo inv\u00E1lido "{0}" da express\u00E3o da cl\u00E1usula de sele\u00E7\u00E3o para o m\u00E9todo de localizador. -# Error: type mismatch between the return type of the selector and -# the select clause of the EJBQL query -# {0} - selector method return type -# {1} - type of of the select clause expression -EXC_InvalidSelectorReturnType=JDO75335: O tipo de retorno do seletor "{0}" n\u00E3o \u00E9 compat\u00EDvel com o tipo de cl\u00E1usula de sele\u00E7\u00E3o "{1}". -# Error: mismatch between orderby item and select clause of EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItem=JDO75336: O item de ordenar por "{0}" n\u00E3o \u00E9 compat\u00EDvel com a cl\u00E1usula de sele\u00E7\u00E3o. -# Error: mismatch between orderby item and cmp field select clause of -# EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItemForCMPSelect=JDO75337: O item de ordenar por "{0}" e o campo cmp na cl\u00E1usula de sele\u00E7\u00E3o precisam ser os mesmos. -EXC_InvalidAggregateOrderby=JDO75338: Uma cl\u00E1usula de sele\u00E7\u00E3o agregada n\u00E3o deve ser utilizada com uma cl\u00E1usula de ordenar por. - -ERR_SemanticError=JDO75339: Erro de sem\u00E2ntica: -ERR_InvalidPathExpr=JDO75340: Express\u00E3o inv\u00E1lida de caminho -#Error: Missing information about a field of a bean -# {0} - Field -# {1} - Bean name -ERR_MissingFieldInfo=JDO75341: Metadados ausentes do campo para o campo "{0}" de "{1}" - -############################################################################# -# -# Message ID Range: JDO75500 - JDO75599 -############################################################################# -ERR_JDOQLCodeGenerationError=JDO75500: Erro de gera\u00E7\u00E3o de c\u00F3digo JDOQL: -ERR_UnexpectedNode=JDO75501: N\u00F3 inesperado "{0}", tipo de token "{1}" - -############################################################################# -# -# Message ID Range: JDO75600 - JDO75699 -############################################################################# -# -# ejbqlc EJBQLASTFactory -# -ERR_UnexpectedExceptionClone=JDO75600: Exce\u00E7\u00E3o inesperada durante a clonagem - -# -# ejbqlc TypeSupport -# -ERR_EjbNameExpected=JDO75601: {0}: nome ejb esperado {1} diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_zh_CN.properties deleted file mode 100644 index 8f3d1488076..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_zh_CN.properties +++ /dev/null @@ -1,228 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# -# resource bundle for query messages -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 75. -# -# This file is divided into following sections. -# 1. main ejbqlc compiler class -# 2. ejbqlc error message helper class -# 3. ejbqlc syntax error messages -# 4. ejbqlc semantic error messages -# 5. ejbqlc code generation error messages -# 6. Miscellaneous -# -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################# -#
    -# Message ID Range: JDO75000 - JDO75099 -############################################################################# - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -LOG_EJBQLCCompile=JDO75000: EJBQLC \u7F16\u8BD1\u67E5\u8BE2\nBean: {0}\n\u65B9\u6CD5: {1}\nEJBQL: {2} -# {0} - name of the compiler pass -LOG_EJBQLCStartPass=JDO75001: EJBQLC \u542F\u52A8 {0} -# {0} - name of the compiler pass -LOG_EJBQLCDumpTree=JDO75002: EJBQLC \u8F6C\u50A8\u6811 {0} -# {0} - String repr of the EJBQLC compile result -LOG_EJBQLCResult=JDO75003: EJBQLC \u7ED3\u679C {0} -ERR_MissingMethodInstance=JDO75004: \u7F3A\u5C11\u67E5\u627E\u5668/\u9009\u62E9\u5668\u65B9\u6CD5\u5B9E\u4F8B\u3002 -# {0} - bean name -# {1} - finder/selector method signature -EXC_MissingEjbqlQueryText=JDO75005: Bean {0} \u7684\u90E8\u7F72\u63CF\u8FF0\u7B26\u4E0D\u5B8C\u6574: \u65B9\u6CD5 {1} \u7684\u67E5\u8BE2\u5143\u7D20\u4E2D\u7F3A\u5C11 ejb-ql \u5143\u7D20\u6216\u8BE5\u5143\u7D20\u4E3A\u7A7A\u3002 - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_InvalidEJBQLQuery=JDO75006: EJBQL \u67E5\u8BE2\u65E0\u6548\nBean: {0}\n\u65B9\u6CD5: {1}\nEJBQL: {2}\n\u9519\u8BEF: {3} - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_EJBQLQueryInternalError=JDO75007: \u89E3\u6790 EJBQL \u65F6\u51FA\u73B0\u81F4\u547D\u7684\u5185\u90E8\u5F02\u5E38\u9519\u8BEF:\nBean: {0}\n\u65B9\u6CD5: {1}\nEJBQL: {2}\n\u9519\u8BEF: {3} -JDO75007.diag.cause.1=CMP \u6A21\u5757\u4E2D\u51FA\u73B0\u5185\u90E8\u9519\u8BEF\u3002 -JDO75007.diag.check.1=\u6B64\u9519\u8BEF\u4E3A\u610F\u5916\u5185\u90E8\u9519\u8BEF\u3002\u8BF7\u4E0E Payara Support \u8054\u7CFB (\u5E76\u63D0\u4F9B\u5E94\u7528\u7A0B\u5E8F\u53CA\u5B8C\u6574\u7684\u9519\u8BEF\u65E5\u5FD7\u6D88\u606F)\u3002 - -ERR_UnexpectedException=JDO75008: {0} \u671F\u95F4\u53D1\u751F\u610F\u5916\u7684\u5F02\u5E38\u9519\u8BEF - -############################################################################# -# -# Message ID Range: JDO75100 - JDO75199 -############################################################################# -EXC_PositionInfoMsg={0} -EXC_PositionInfoMsgColumn=\u5217({0}): {1} -EXC_PositionInfoMsgLineColumn=\u884C({0}) \u5217({1}): {2} - -ERR_FatalInternalError=JDO75100: \u81F4\u547D\u7684\u5185\u90E8\u9519\u8BEF: {0} - -############################################################################# -# -# Message ID Range: JDO75200 - JDO75299 -############################################################################# -EXC_SyntaxError=JDO75200: \u8BED\u6CD5\u9519\u8BEF\u3002 -EXC_SyntaxErrorAt=JDO75201: \u5728 ''{0}'' \u5904\u6709\u8BED\u6CD5\u9519\u8BEF\u3002 -EXC_UnexpectedToken=JDO75202: \u8BED\u6CD5\u9519\u8BEF: \u610F\u5916\u6807\u8BB0 ''{0}''\u3002 -EXC_UnexpectedChar=JDO75203: \u8BED\u6CD5\u9519\u8BEF: \u610F\u5916\u5B57\u7B26 ''{0}''\u3002 -EXC_ExpectedCharFound=JDO75204: \u8BED\u6CD5\u9519\u8BEF: \u9700\u8981\u5B57\u7B26 ''{0}'', \u5374\u627E\u5230 ''{1}''\u3002 -EXC_UnexpectedEOF=JDO75205: \u8BED\u6CD5\u9519\u8BEF\u5BFC\u81F4 EJBQL \u67E5\u8BE2\u610F\u5916\u7ED3\u675F\u3002 - -############################################################################# -# -# Message ID Range: JDO75300 - JDO75499 -############################################################################# -EXC_MultipleDeclaration=JDO75300: \u591A\u4E2A ''{0}'' \u58F0\u660E\u3002 -EXC_UndefinedIdentifier=JDO75301: \u6807\u8BC6\u7B26 ''{0}'' \u672A\u5B9A\u4E49\u3002 -EXC_BooleanWhereClauseExpected=JDO75302: \u9700\u8981\u5E03\u5C14\u8868\u8FBE\u5F0F, where \u5B50\u53E5\u8868\u8FBE\u5F0F\u5177\u6709\u7C7B\u578B ''{0}''\u3002 -EXC_OrderableOrderbyClauseExpected=JDO75303: \u9700\u8981\u53EF\u6392\u5E8F\u7684\u8868\u8FBE\u5F0F, orderby \u5B50\u53E5\u8868\u8FBE\u5F0F\u5177\u6709\u7C7B\u578B ''{0}''\u3002 -EXC_OrderableExpected=JDO75304: \u9700\u8981\u53EF\u6392\u5E8F\u7684\u8868\u8FBE\u5F0F, \u8868\u8FBE\u5F0F\u5177\u6709\u7C7B\u578B ''{0}''\u3002 -EXC_NumberExprExpected=JDO75305: \u9700\u8981\u6570\u5B57\u8868\u8FBE\u5F0F, \u8868\u8FBE\u5F0F\u5177\u6709\u7C7B\u578B ''{0}''\u3002 -EXC_StringExprExpected=JDO75306: \u9700\u8981\u5B57\u7B26\u4E32\u8868\u8FBE\u5F0F, \u8868\u8FBE\u5F0F\u5177\u6709\u7C7B\u578B ''{0}''\u3002 -EXC_NumberOrStringExprExpected=JDO75307: \u9700\u8981\u6570\u5B57\u6216\u5B57\u7B26\u4E32\u8868\u8FBE\u5F0F, \u8868\u8FBE\u5F0F\u5177\u6709\u7C7B\u578B ''{0}''\u3002 -EXC_IntExprExpected=JDO75308: \u9700\u8981\u6574\u578B\u8868\u8FBE\u5F0F, \u8868\u8FBE\u5F0F\u5177\u6709\u7C7B\u578B ''{0}''\u3002 -EXC_DoubleExprExpected=JDO75309: \u9700\u8981\u53CC\u7CBE\u5EA6\u6D6E\u70B9\u578B\u8868\u8FBE\u5F0F, \u8868\u8FBE\u5F0F\u5177\u6709\u7C7B\u578B ''{0}''\u3002 -EXC_IdentificationVariableExcepted=JDO75310: \u6807\u8BC6\u7B26 ''{0}'' \u4E0D\u8868\u793A\u6807\u8BC6\u53D8\u91CF\u3002 -EXC_InvalidArguments=JDO75311: ''{0}'' \u7684\u53C2\u6570\u65E0\u6548\u3002 -EXC_InvalidParameterIndex=JDO75312: \u53C2\u6570 ''{0}'' \u65E0\u6548\u3002\u5B83\u5FC5\u987B\u4ECB\u4E8E 1 \u548C {1} \u4E4B\u95F4\u3002 -EXC_AbstractSchemNameExpected=JDO75313: \u6807\u8BC6\u7B26 ''{0}'' \u4E0D\u8868\u793A\u62BD\u8C61\u6A21\u5F0F\u7C7B\u578B\u3002 -EXC_UnknownField=JDO75314: ''{0}'' \u4E0D\u8868\u793A\u62BD\u8C61\u6A21\u5F0F\u7C7B\u578B ''{1}'' \u7684\u5B9E\u4F53 Bean \u7684 cmp-field \u6216 cmr-field\u3002 -EXC_SingleValuedCMROrCMPFieldExpected=JDO75315: \u7C7B\u578B\u4E3A ''{1}'' \u7684\u5B57\u6BB5 ''{0}'' \u4E0D\u662F\u5355\u503C cmr-field \u6216 cmp-field\u3002 -EXC_CMPFieldExpected=JDO75316: \u7C7B\u578B\u4E3A ''{1}'' \u7684\u5B57\u6BB5 ''{0}'' \u4E0D\u662F cmp-field\u3002 -EXC_SingleValuedCMRFieldExpected=JDO75317: \u7C7B\u578B\u4E3A ''{1}'' \u7684\u5B57\u6BB5 ''{0}'' \u4E0D\u662F\u5355\u503C cmr-field\u3002 -EXC_CollectionValuedCMRFieldExpected=JDO75318: \u7C7B\u578B\u4E3A ''{1}'' \u7684\u5B57\u6BB5 ''{0}'' \u4E0D\u662F\u96C6\u5408\u503C cmr-field\u3002 -EXC_CollectionElementTypeMismatch=JDO75319: \u96C6\u5408\u5143\u7D20\u7C7B\u578B ''{0}'' \u4E0E\u503C\u7C7B\u578B ''{1}'' \u4E0D\u517C\u5BB9\u3002 -EXC_InCollectionElementTypeMismatch=JDO75320: In \u96C6\u5408\u8868\u8FBE\u5F0F\u7C7B\u578B ''{0}'' \u4E0E\u503C\u7C7B\u578B ''{1}'' \u4E0D\u517C\u5BB9\u3002 -EXC_InvalidPatternDefinition=JDO75321: LIKE \u8868\u8FBE\u5F0F\u7684\u6A21\u5F0F ''{0}'' \u65E0\u6548, \u9700\u8981\u5B57\u7B26\u4E32\u7C7B\u578B\u3002 -EXC_InvalidEscapeDefinition=JDO75322: LIKE \u8868\u8FBE\u5F0F\u7684 ESCAPE ''{0}'' \u65E0\u6548, \u9700\u8981\u5355\u5B57\u7B26\u5B57\u7B26\u4E32\u3002 -EXC_InvalidEscapeParameterDefinition=JDO75323: LIKE \u8868\u8FBE\u5F0F\u7684 ESCAPE \u53C2\u6570 ''{0}'' \u65E0\u6548, \u9700\u8981\u5B57\u7B26\u7C7B\u578B\u3002 -EXC_InvalidLHSLiteral=JDO75324: \u5728 ''{1}'' \u64CD\u4F5C\u7684\u5DE6\u4FA7\u4F7F\u7528\u6587\u5B57\u503C ''{0}'' \u65E0\u6548\u3002 -EXC_InvalidLHSParameter=JDO75325: \u5728 ''{1}'' \u64CD\u4F5C\u7684\u5DE6\u4FA7\u4F7F\u7528\u8F93\u5165\u53C2\u6570 ''{0}'' \u65E0\u6548\u3002 -EXC_MultipleEJBNameParameter=JDO75326: \u591A\u6B21\u8BBF\u95EE\u540C\u4E00\u8F93\u5165\u53C2\u6570 ''{0}'' (\u5047\u8BBE\u4E0D\u540C\u7684 ejb-name ''{1}'')\u3002\u540C\u4E00\u8F93\u5165\u53C2\u6570\u5148\u524D\u5DF2\u4E0E ejb-name ''{2}'' \u5173\u8054\u3002 - -# Error: result-type-mapping specified for a finder method -EXC_InvalidResultTypeMappingForFinder=JDO75327: \u4E0D\u5141\u8BB8\u4E3A\u67E5\u627E\u5668\u65B9\u6CD5\u6307\u5B9A result-type-mapping\u3002 -# Error: result-type-mapping specified as Remote, -# but bean does not have remote interface -# {0} - ejb name -EXC_InvalidRemoteResultTypeMappingForMultiSelector=JDO75328: result-type-mapping \u6307\u5B9A\u4E3A ''Remote'', \u4F46 Bean ''{0}'' \u6CA1\u6709\u8FDC\u7A0B\u63A5\u53E3\u3002 -# Error: result-type-mapping is specified as Local or not specified, -# but bean does not have local interface -# {0} - ejb name -EXC_InvalidLocalResultTypeMappingForMultiSelector=JDO75329: result-type-mapping \u6307\u5B9A (\u6216\u9ED8\u8BA4) \u4E3A ''Local'', \u4F46 Bean ''{0}'' \u6CA1\u6709\u672C\u5730\u63A5\u53E3\u3002 -# Error: result-type-mapping is specified as Remote, -# but single-object selector does not return remote interface. -EXC_InvalidRemoteResultTypeMappingForSingleSelector=JDO75330: result-type-mapping \u6307\u5B9A\u4E3A 'Remote', \u4F46\u5355\u4E00\u5BF9\u8C61\u9009\u62E9\u5668\u4E0D\u8FD4\u56DE\u8FDC\u7A0B\u63A5\u53E3\u3002 -# Error: result-type-mapping is specified as Local or not specified, -# but single-object selector does not return local interface. -EXC_InvalidLocalResultTypeMappingForSingleSelector=JDO75331: result-type-mapping \u6307\u5B9A (\u6216\u9ED8\u8BA4) \u4E3A 'Local', \u4F46\u5355\u4E00\u5BF9\u8C61\u9009\u62E9\u5668\u4E0D\u8FD4\u56DE\u672C\u5730\u63A5\u53E3\u3002 -# Error: result-type-mapping is specified for a selector method returning -# non-entity objects -# {0} - type of of the select clause expression -EXC_InvalidResultTypeMappingForSelector=JDO75332: \u4E0D\u5141\u8BB8\u4E3A\u8FD4\u56DE\u975E\u5B9E\u4F53\u5BF9\u8C61\u7684\u9009\u62E9\u5668\u6307\u5B9A\u3002(select \u5B50\u53E5\u8868\u8FBE\u5F0F\u5177\u6709\u7C7B\u578B ''{0}'') - -# Error: invalid return type for finder, e.g. java.lang.String -# {0} - finder method return type -EXC_InvalidFinderReturnType=JDO75333: \u67E5\u627E\u5668\u65B9\u6CD5\u7684\u8FD4\u56DE\u7C7B\u578B ''{0}'' \u65E0\u6548\u3002 -# Error: the select clause of the finder's EJBQL query has an invalid type, -# e.g. java.lang.String -# {0} - type of of the select clause expression -EXC_InvalidFinderSelectClauseType=JDO75334: \u67E5\u627E\u5668\u65B9\u6CD5\u7684 select \u5B50\u53E5\u8868\u8FBE\u5F0F\u7684\u7C7B\u578B ''{0}'' \u65E0\u6548\u3002 -# Error: type mismatch between the return type of the selector and -# the select clause of the EJBQL query -# {0} - selector method return type -# {1} - type of of the select clause expression -EXC_InvalidSelectorReturnType=JDO75335: \u9009\u62E9\u5668\u8FD4\u56DE\u7C7B\u578B ''{0}'' \u4E0E select \u5B50\u53E5\u7C7B\u578B ''{1}'' \u4E0D\u517C\u5BB9\u3002 -# Error: mismatch between orderby item and select clause of EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItem=JDO75336: orderby \u9879 ''{0}'' \u4E0E select \u5B50\u53E5\u4E0D\u517C\u5BB9\u3002 -# Error: mismatch between orderby item and cmp field select clause of -# EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItemForCMPSelect=JDO75337: select \u5B50\u53E5\u4E2D\u7684 orderby \u9879 ''{0}'' \u4E0E cmp \u5B57\u6BB5\u5FC5\u987B\u76F8\u540C\u3002 -EXC_InvalidAggregateOrderby=JDO75338: \u805A\u96C6 select \u5B50\u53E5\u4E0D\u80FD\u4E0E order by \u5B50\u53E5\u4E00\u8D77\u4F7F\u7528\u3002 - -ERR_SemanticError=JDO75339: \u8BED\u4E49\u9519\u8BEF: -ERR_InvalidPathExpr=JDO75340: \u8DEF\u5F84\u8868\u8FBE\u5F0F\u65E0\u6548 -#Error: Missing information about a field of a bean -# {0} - Field -# {1} - Bean name -ERR_MissingFieldInfo=JDO75341: ''{1}'' \u7684\u5B57\u6BB5 ''{0}'' \u7F3A\u5C11\u5B57\u6BB5\u5143\u6570\u636E - -############################################################################# -# -# Message ID Range: JDO75500 - JDO75599 -############################################################################# -ERR_JDOQLCodeGenerationError=JDO75500: JDOQL \u4EE3\u7801\u751F\u6210\u9519\u8BEF: -ERR_UnexpectedNode=JDO75501: \u610F\u5916\u7684\u8282\u70B9 ''{0}'', \u6807\u8BB0\u7C7B\u578B ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75600 - JDO75699 -############################################################################# -# -# ejbqlc EJBQLASTFactory -# -ERR_UnexpectedExceptionClone=JDO75600: \u514B\u9686\u671F\u95F4\u53D1\u751F\u610F\u5916\u7684\u5F02\u5E38\u9519\u8BEF - -# -# ejbqlc TypeSupport -# -ERR_EjbNameExpected=JDO75601: {0}: \u610F\u5916\u7684 ejb \u540D\u79F0 {1} diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_zh_TW.properties deleted file mode 100644 index 03e70a24964..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle_zh_TW.properties +++ /dev/null @@ -1,228 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# -# resource bundle for query messages -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 75. -# -# This file is divided into following sections. -# 1. main ejbqlc compiler class -# 2. ejbqlc error message helper class -# 3. ejbqlc syntax error messages -# 4. ejbqlc semantic error messages -# 5. ejbqlc code generation error messages -# 6. Miscellaneous -# -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################# -#
    -# Message ID Range: JDO75000 - JDO75099 -############################################################################# - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -LOG_EJBQLCCompile=JDO75000\uFF1AEJBQLC \u7DE8\u8B6F\u67E5\u8A62\nBean\uFF1A{0}\n\u65B9\u6CD5\uFF1A{1}\nEJBQL\uFF1A{2} -# {0} - name of the compiler pass -LOG_EJBQLCStartPass=JDO75001\uFF1AEJBQLC \u555F\u52D5 {0} -# {0} - name of the compiler pass -LOG_EJBQLCDumpTree=JDO75002\uFF1AEJBQLC \u50BE\u5370\u6A39 {0} -# {0} - String repr of the EJBQLC compile result -LOG_EJBQLCResult=JDO75003\uFF1AEJBQLC \u7D50\u679C {0} -ERR_MissingMethodInstance=JDO75004\uFF1A\u7F3A\u5C11\u5C0B\u6A94\u7A0B\u5F0F/\u9078\u64C7\u5668\u65B9\u6CD5\u57F7\u884C\u8655\u7406\u3002 -# {0} - bean name -# {1} - finder/selector method signature -EXC_MissingEjbqlQueryText=JDO75005\uFF1ABean {0} \u7684\u5EFA\u7F6E\u63CF\u8FF0\u5143\u4E0D\u5B8C\u6574\uFF1A\u65B9\u6CD5 {1} \u7684\u67E5\u8A62\u5143\u7D20\u4E2D\u4E4B ejb-ql \u5143\u7D20\u7F3A\u5C11\u6216\u70BA\u7A7A\u3002 - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_InvalidEJBQLQuery=JDO75006\uFF1AEJBQL \u67E5\u8A62\u7121\u6548\nBean\uFF1A{0}\n\u65B9\u6CD5\uFF1A{1}\nEJBQL\uFF1A{2}\n\u932F\u8AA4\uFF1A{3} - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_EJBQLQueryInternalError=JDO75007\uFF1A\u5256\u6790 EJBQL \u6642\u51FA\u73FE\u81F4\u547D\u5167\u90E8\u7570\u5E38\uFF1A\nBean\uFF1A{0}\n\u65B9\u6CD5\uFF1A{1}\nEJBQL\uFF1A{2}\n\u932F\u8AA4\uFF1A{3} -JDO75007.diag.cause.1=CMP \u6A21\u7D44\u4E2D\u767C\u751F\u5167\u90E8\u932F\u8AA4\u3002 -JDO75007.diag.check.1=\u9019\u662F\u672A\u9810\u671F\u7684\u5167\u90E8\u932F\u8AA4\u3002\u8ACB\u8207 Payara Support \u9023\u7D61\uFF0C\u63D0\u4F9B\u60A8\u7684\u61C9\u7528\u7A0B\u5F0F\u548C\u5B8C\u6574\u7684\u932F\u8AA4\u65E5\u8A8C\u8A0A\u606F\u3002 - -ERR_UnexpectedException=JDO75008\uFF1A{0} \u671F\u9593\u51FA\u73FE\u672A\u9810\u671F\u7570\u5E38 - -############################################################################# -# -# Message ID Range: JDO75100 - JDO75199 -############################################################################# -EXC_PositionInfoMsg={0} -EXC_PositionInfoMsgColumn=\u6B04({0})\uFF1A{1} -EXC_PositionInfoMsgLineColumn=\u884C({0}) \u6B04({1})\uFF1A{2} - -ERR_FatalInternalError=JDO75100\uFF1A\u81F4\u547D\u5167\u90E8\u932F\u8AA4\uFF1A{0} - -############################################################################# -# -# Message ID Range: JDO75200 - JDO75299 -############################################################################# -EXC_SyntaxError=JDO75200\uFF1A\u8A9E\u6CD5\u932F\u8AA4\u3002 -EXC_SyntaxErrorAt=JDO75201\uFF1A\u5728 ''{0}'' \u8655\u767C\u751F\u8A9E\u6CD5\u932F\u8AA4\u3002 -EXC_UnexpectedToken=JDO75202\uFF1A\u672A\u9810\u671F\u7684\u8A9E\u6CD5\u932F\u8AA4\u8A18\u865F ''{0}''\u3002 -EXC_UnexpectedChar=JDO75203\uFF1A\u672A\u9810\u671F\u7684\u8A9E\u6CD5\u932F\u8AA4\u5B57\u5143 ''{0}''\u3002 -EXC_ExpectedCharFound=JDO75204\uFF1A\u9810\u671F\u7684\u8A9E\u6CD5\u932F\u8AA4\u5B57\u5143 ''{0}''\uFF0C\u627E\u5230 ''{1}''\u3002 -EXC_UnexpectedEOF=JDO75205\uFF1A\u672A\u9810\u671F\u7D50\u675F EJBQL \u67E5\u8A62\u6642\u767C\u751F\u8A9E\u6CD5\u932F\u8AA4\u3002 - -############################################################################# -# -# Message ID Range: JDO75300 - JDO75499 -############################################################################# -EXC_MultipleDeclaration=JDO75300\uFF1A''{0}'' \u7684\u591A\u91CD\u5BA3\u544A\u3002 -EXC_UndefinedIdentifier=JDO75301\uFF1A\u672A\u5B9A\u7FA9\u7684\u8B58\u5225\u78BC ''{0}''\u3002 -EXC_BooleanWhereClauseExpected=JDO75302\uFF1A\u9810\u671F\u5E03\u6797\u8868\u793A\u5F0F\uFF0Cwhere \u9673\u8FF0\u8868\u793A\u5F0F\u7684\u985E\u578B\u70BA ''{0}''\u3002 -EXC_OrderableOrderbyClauseExpected=JDO75303\uFF1A\u9810\u671F orderable \u8868\u793A\u5F0F\uFF0Corderby \u9673\u8FF0\u8868\u793A\u5F0F\u7684\u985E\u578B\u70BA ''{0}''\u3002 -EXC_OrderableExpected=JDO75304\uFF1A\u9810\u671F orderable \u8868\u793A\u5F0F\uFF0C\u8868\u793A\u5F0F\u7684\u985E\u578B\u70BA ''{0}''\u3002 -EXC_NumberExprExpected=JDO75305\uFF1A\u9810\u671F\u6578\u503C\u8868\u793A\u5F0F\uFF0C\u8868\u793A\u5F0F\u7684\u985E\u578B\u70BA ''{0}''\u3002 -EXC_StringExprExpected=JDO75306\uFF1A\u9810\u671F\u5B57\u4E32\u8868\u793A\u5F0F\uFF0C\u8868\u793A\u5F0F\u7684\u985E\u578B\u70BA ''{0}''\u3002 -EXC_NumberOrStringExprExpected=JDO75307\uFF1A\u9810\u671F\u6578\u503C\u6216\u5B57\u4E32\u8868\u793A\u5F0F\uFF0C\u8868\u793A\u5F0F\u7684\u985E\u578B\u70BA ''{0}''\u3002 -EXC_IntExprExpected=JDO75308\uFF1A\u9810\u671F Int (\u6574\u6578) \u8868\u793A\u5F0F\uFF0C\u8868\u793A\u5F0F\u7684\u985E\u578B\u70BA ''{0}''\u3002 -EXC_DoubleExprExpected=JDO75309\uFF1A\u9810\u671F\u96D9\u500D\u8868\u793A\u5F0F\uFF0C\u8868\u793A\u5F0F\u7684\u985E\u578B\u70BA ''{0}''\u3002 -EXC_IdentificationVariableExcepted=JDO75310\uFF1A\u8B58\u5225\u78BC ''{0}'' \u4E0D\u6307\u5B9A\u8B58\u5225\u8B8A\u6578\u3002 -EXC_InvalidArguments=JDO75311\uFF1A''{0}'' \u7684\u5F15\u6578\u7121\u6548\u3002 -EXC_InvalidParameterIndex=JDO75312\uFF1A\u53C3\u6578 ''{0}'' \u7121\u6548\u3002\u5B83\u5FC5\u9808\u81F3\u5C11\u70BA 1 \u4E14\u4E0D\u5927\u65BC {1}\u3002 -EXC_AbstractSchemNameExpected=JDO75313\uFF1A\u8B58\u5225\u78BC ''{0}'' \u4E0D\u6307\u5B9A\u62BD\u8C61\u7DB1\u8981\u985E\u578B\u3002 -EXC_UnknownField=JDO75314\uFF1A\u5B9A\u7FA9\u62BD\u8C61\u7DB1\u8981\u985E\u578B''{1}''\u6642,''{0}''\u4E0D\u8868\u793A\u500B\u9AD4\u8EDF\u9AD4\u5143\u4EF6\u7684 cmp-field \u6216 cmr-field \u6B04\u4F4D -EXC_SingleValuedCMROrCMPFieldExpected=JDO75315\uFF1A\u985E\u578B ''{1}'' \u7684\u6B04\u4F4D ''{0}'' \u4E0D\u662F\u5177\u6709\u55AE\u4E00\u503C\u7684 cmr-field \u6216 cmp-field\u3002 -EXC_CMPFieldExpected=JDO75316\uFF1A\u985E\u578B ''{1}'' \u7684\u6B04\u4F4D ''{0}'' \u4E0D\u662F cmp-field\u3002 -EXC_SingleValuedCMRFieldExpected=JDO75317\uFF1A\u985E\u578B ''{1}'' \u7684\u6B04\u4F4D ''{0}'' \u4E0D\u662F\u5177\u6709\u55AE\u4E00\u503C\u7684 cmr-field\u3002 -EXC_CollectionValuedCMRFieldExpected=JDO75318\uFF1A\u985E\u578B ''{1}'' \u7684\u6B04\u4F4D ''{0}'' \u4E0D\u662F\u5177\u6709\u96C6\u5408\u503C\u7684 cmr-field\u3002 -EXC_CollectionElementTypeMismatch=JDO75319\uFF1A\u96C6\u5408\u5143\u7D20\u985E\u578B ''{0}'' \u8207\u503C\u985E\u578B ''{1}'' \u4E0D\u76F8\u5BB9\u3002 -EXC_InCollectionElementTypeMismatch=JDO75320\uFF1A\u96C6\u5408\u8868\u793A\u5F0F\u985E\u578B ''{0}'' \u8207\u503C\u985E\u578B ''{1}'' \u4E0D\u76F8\u5BB9\u3002 -EXC_InvalidPatternDefinition=JDO75321\uFF1ALIKE \u8868\u793A\u5F0F\u7684\u6A23\u5F0F ''{0}'' \u7121\u6548\uFF0C\u9810\u671F\u985E\u578B\u5B57\u4E32\u3002 -EXC_InvalidEscapeDefinition=JDO75322\uFF1ALIKE \u8868\u793A\u5F0F\u7684 ESCAPE ''{0}'' \u7121\u6548\uFF0C\u9810\u671F\u55AE\u4E00\u5B57\u5143\u5B57\u4E32\u6587\u5B57\u3002 -EXC_InvalidEscapeParameterDefinition=JDO75323\uFF1ALIKE \u8868\u793A\u5F0F\u7684 ESCAPE \u53C3\u6578 ''{0}'' \u7121\u6548\uFF0C\u9810\u671F\u985E\u578B char \u6216 Character\u3002 -EXC_InvalidLHSLiteral=JDO75324\uFF1A\u4F7F\u7528 ''{1}'' \u4F5C\u696D\u7684\u5DE6\u5074\u6587\u5B57 ''{0}'' \u7121\u6548\u3002 -EXC_InvalidLHSParameter=JDO75325\uFF1A\u4F7F\u7528 ''{1}'' \u4F5C\u696D\u7684\u5DE6\u5074\u8F38\u5165\u53C3\u6578 ''{0}'' \u7121\u6548\u3002 -EXC_MultipleEJBNameParameter=JDO75326\uFF1A\u5047\u8A2D\u4E0D\u540C ejb-name ''{1}'' \u4E4B\u540C\u4E00\u8F38\u5165\u53C3\u6578 ''{0}'' \u7684\u591A\u91CD\u5B58\u53D6\u3002\u540C\u4E00\u8F38\u5165\u53C3\u6578\u8207\u5148\u524D\u7684 ejb-name ''{2}'' \u95DC\u806F\u3002 - -# Error: result-type-mapping specified for a finder method -EXC_InvalidResultTypeMappingForFinder=JDO75327\uFF1A\u4E0D\u53EF\u70BA\u5C0B\u6A94\u7A0B\u5F0F\u65B9\u6CD5\u6307\u5B9A result-type-mapping\u3002 -# Error: result-type-mapping specified as Remote, -# but bean does not have remote interface -# {0} - ejb name -EXC_InvalidRemoteResultTypeMappingForMultiSelector=JDO75328\uFF1Aresult-type-mapping \u88AB\u6307\u5B9A\u70BA\u300C\u9060\u7AEF\u300D\uFF0C\u4F46\u662F Bean ''{0}'' \u7121 Remote \u4ECB\u9762\u3002 -# Error: result-type-mapping is specified as Local or not specified, -# but bean does not have local interface -# {0} - ejb name -EXC_InvalidLocalResultTypeMappingForMultiSelector=JDO75329\uFF1Aresult-type-mapping \u88AB\u6307\u5B9A\u70BA\u6216\u9810\u8A2D\u70BA\u300C\u672C\u6A5F\u300D\uFF0C\u4F46\u662F Bean ''{0}'' \u7121 Local \u4ECB\u9762\u3002 -# Error: result-type-mapping is specified as Remote, -# but single-object selector does not return remote interface. -EXC_InvalidRemoteResultTypeMappingForSingleSelector=JDO75330\uFF1Aresult-type-mapping \u88AB\u6307\u5B9A\u70BA\u300C\u9060\u7AEF\u300D\uFF0C\u4F46\u662F\u55AE\u7269\u4EF6\u9078\u64C7\u5668\u4E0D\u50B3\u56DE Remote \u4ECB\u9762\u3002 -# Error: result-type-mapping is specified as Local or not specified, -# but single-object selector does not return local interface. -EXC_InvalidLocalResultTypeMappingForSingleSelector=JDO75331\uFF1Aresult-type-mapping \u88AB\u6307\u5B9A\u70BA\u6216\u9810\u8A2D\u70BA\u300C\u672C\u6A5F\u300D\uFF0C\u4F46\u662F\u55AE\u7269\u4EF6\u9078\u64C7\u5668\u4E0D\u50B3\u56DE Local \u4ECB\u9762\u3002 -# Error: result-type-mapping is specified for a selector method returning -# non-entity objects -# {0} - type of of the select clause expression -EXC_InvalidResultTypeMappingForSelector=JDO75332\uFF1A\u4E0D\u53EF\u70BA\u50B3\u56DE\u975E\u5BE6\u9AD4\u7269\u4EF6\u7684\u9078\u64C7\u5668\u6307\u5B9A result-type-mapping\u3002(select \u9673\u8FF0\u8868\u793A\u5F0F\u7684\u985E\u578B\u70BA ''{0}'') - -# Error: invalid return type for finder, e.g. java.lang.String -# {0} - finder method return type -EXC_InvalidFinderReturnType=JDO75333\uFF1A\u5C0B\u6A94\u7A0B\u5F0F\u65B9\u6CD5\u7684\u50B3\u56DE\u985E\u578B ''{0}'' \u7121\u6548\u3002 -# Error: the select clause of the finder's EJBQL query has an invalid type, -# e.g. java.lang.String -# {0} - type of of the select clause expression -EXC_InvalidFinderSelectClauseType=JDO75334\uFF1A\u5C0B\u6A94\u7A0B\u5F0F\u65B9\u6CD5\u4E4B select \u9673\u8FF0\u8868\u793A\u5F0F\u7684\u985E\u578B ''{0}'' \u7121\u6548\u3002 -# Error: type mismatch between the return type of the selector and -# the select clause of the EJBQL query -# {0} - selector method return type -# {1} - type of of the select clause expression -EXC_InvalidSelectorReturnType=JDO75335\uFF1A\u9078\u64C7\u5668\u50B3\u56DE\u985E\u578B ''{0}'' \u8207\u9078\u53D6\u5B50\u53E5\u985E\u578B ''{1}'' \u4E0D\u76F8\u5BB9\u3002 -# Error: mismatch between orderby item and select clause of EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItem=JDO75336\uFF1Aorderby \u9805\u76EE ''{0}'' \u8207 select \u5B50\u53E5\u4E0D\u76F8\u5BB9\u3002 -# Error: mismatch between orderby item and cmp field select clause of -# EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItemForCMPSelect=JDO75337\uFF1Aorderby \u9805\u76EE ''{0}'' \u8207 select \u5B50\u53E5\u4E2D\u7684 cmp \u6B04\u4F4D\u5FC5\u9808\u76F8\u540C\u3002 -EXC_InvalidAggregateOrderby=JDO75338\uFF1Aaggregate select \u5B50\u53E5\u4E0D\u53EF\u8207 order by \u5B50\u53E5\u540C\u6642\u4F7F\u7528\u3002 - -ERR_SemanticError=JDO75339\uFF1A\u8A9E\u7FA9\u932F\u8AA4\uFF1A -ERR_InvalidPathExpr=JDO75340\uFF1A\u8DEF\u5F91\u8868\u793A\u5F0F\u7121\u6548 -#Error: Missing information about a field of a bean -# {0} - Field -# {1} - Bean name -ERR_MissingFieldInfo=JDO75341\uFF1A\u7F3A\u5C11 ''{1}'' \u4E4B\u6B04\u4F4D ''{0}'' \u7684\u6B04\u4F4D\u4E2D\u4ECB\u8CC7\u6599 - -############################################################################# -# -# Message ID Range: JDO75500 - JDO75599 -############################################################################# -ERR_JDOQLCodeGenerationError=JDO75500\uFF1AJDOQL \u4EE3\u78BC\u7522\u751F\u932F\u8AA4\uFF1A -ERR_UnexpectedNode=JDO75501\uFF1A\u672A\u9810\u671F\u7BC0\u9EDE ''{0}''\uFF0C\u8A18\u865F\u985E\u578B ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75600 - JDO75699 -############################################################################# -# -# ejbqlc EJBQLASTFactory -# -ERR_UnexpectedExceptionClone=JDO75600\uFF1A\u8907\u88FD\u671F\u9593\u51FA\u73FE\u672A\u9810\u671F\u7570\u5E38 - -# -# ejbqlc TypeSupport -# -ERR_EjbNameExpected=JDO75601\uFF1A{0}\uFF1A\u9810\u671F EJB \u540D\u7A31 {1} diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_de.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_de.properties deleted file mode 100644 index 5e6cf26ccb7..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_de.properties +++ /dev/null @@ -1,300 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# This file contains overrides for the messages defined in the -# "" section of file -# model/src/com/sun/jdo/api/persistence/model/Bundle.properties. -# -# The message ID for a given key in this file should be identical to the -# message ID for the corresponding key in the above file. No new messages -# should be added to this file without first defining them in the above -# file -- only overrides should be added to this file. -# -# Due to sub sections in the validation section, the order may not be sequential. - -# Validation messages for beans -# Validation message for bean not found -# {0}=class name -util.validation.class_not_found=JDO72300: Das der generierten Klasse {0} entsprechende Bean kann nicht gefunden werden.\n\u00DCberpr\u00FCfen Sie, ob der Content Ihres Moduls Inkonsistenzen aufweist (Beans, Deployment-Deskriptor, CMP-Zuordnung, EJB-JAR). -# Validation message for related bean not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: Das der generierten Klasse {0} f\u00FCr das Feld {1} entsprechende verwandte Bean kann nicht gefunden werden.\n\u00DCberpr\u00FCfen Sie, ob der Content Ihres Moduls Inkonsistenzen aufweist (Beans, Deployment-Deskriptor, CMP-Zuordnung, EJB-JAR). -# Validation message for bean not a CMP bean -# {0}=bean name -util.validation.class_not_persistence_capable=JDO72302: Das der generierten Klasse {0} entsprechende Bean ist kein g\u00FCltiges CMP-Bean.\nKorrigieren Sie das Bean, sodass es sich um ein g\u00FCltiges CMP-Bean handelt. -# Validation message for related bean not a CMP bean -# {0}=bean name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: Das der generierten Klasse {0} f\u00FCr das Feld {1} entsprechende verwandte Bean ist kein g\u00FCltiges CMP-Bean.\nKorrigieren Sie das Bean, sodass es sich um ein g\u00FCltiges CMP-Bean handelt. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: Das der generierten Klasse {0} entsprechende Bean darf nicht persistent sein.\n\u00DCberpr\u00FCfen Sie, ob der Content Ihres Moduls Inkonsistenzen aufweist (Beans, Deployment-Deskriptor, CMP-Zuordnung, EJB-JAR). -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: Das der generierten Klasse {0} f\u00FCr das Feld {1} entsprechende verwandte Bean darf nicht persistent sein.\n\u00DCberpr\u00FCfen Sie, ob der Content Ihres Moduls Inkonsistenzen aufweist (Beans, Deployment-Deskriptor, CMP-Zuordnung, EJB-JAR). -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: Dieser Fehler (Die Klasse {0} implementiert java.io.Serializable und muss daher auch die readObject-Methode definieren) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: Dieser Fehler (Die Klasse {0} implementiert java.io.Serializable und muss daher auch die writeObject-Methode definieren) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for bean which has no CMP fields -# {0}=class name -util.validation.class_no_fields=JDO72308: Das der generierten Klasse {0} entsprechende Bean muss mindestens ein CMP-Feld aufweisen.\nF\u00FCgen Sie dem Bean ein CMP-Feld hinzu. -# Validation message for bean which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: Das der generierten Klasse {0} entsprechende Bean ist nicht zugeordnet.\nLegen Sie die prim\u00E4re Tabelle f\u00FCr das Bean fest. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: Alle Prim\u00E4rschl\u00FCsselspalten in der prim\u00E4ren Tabelle {1} des der generierten Klasse {0} entsprechenden Beans m\u00FCssen Schl\u00FCsselfeldern zugeordnet werden.\nOrdnen Sie die folgenden Prim\u00E4rschl\u00FCsselspalten zu Schl\u00FCsselfeldern zu: {2}. Falls Sie diesen Spalten bereits Felder zugeordnet haben, vergewissern Sie sich, dass es sich dabei um Schl\u00FCsselfelder handelt. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: Das Feld {0} wurde als CMP-Feld angegeben, ist aber nicht in der JAVA-Datei vorhanden.\n\u00DCberpr\u00FCfen Sie, ob der Content Ihres Moduls Inkonsistenzen aufweist (Beans, Deployment-Deskriptor, CMP-Zuordnung, EJB-JAR). -# Validation message for field not allowed to be a CMP field -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: Das Feld {0} darf kein CMP-Feld sein.\n\u00DCberpr\u00FCfen Sie, ob der Content Ihres Moduls Inkonsistenzen aufweist (Beans, Deployment-Deskriptor, CMP-Zuordnung, EJB-JAR). -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: Das Feld {0} muss konsistent entweder als CMP- oder als CMR-Feld definiert werden.\n\u00DCberpr\u00FCfen Sie, ob der Content Ihres Moduls Inkonsistenzen aufweist (Beans, Deployment-Deskriptor, CMP-Zuordnung, EJB-JAR). -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: Das Feld {0} ist inkonsistent.\nVergewissern Sie sich, dass es sich um ein CMP-Feld handelt. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: Das Feld {0} darf kein CMR-Feld sein.\n\u00C4ndern Sie den Typ des Feldes in einen Wrapper- oder Basistyp.\nIst der Typ richtig, \u00FCberpr\u00FCfen Sie, ob der Content Ihres Moduls Inkonsistenzen aufweist (Beans, Deployment-Deskriptor, CMP-Zuordnung, EJB-JAR). -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: Das Feld {0} muss eine Beziehung sein.\n\u00C4ndern Sie den Typ des Feldes in eine Collection oder ein anderes CMP-Bean.\nIst der Typ richtig, \u00FCberpr\u00FCfen Sie, ob der Content Ihres Moduls Inkonsistenzen aufweist (Beans, Deployment-Deskriptor, CMP-Zuordnung, EJB-JAR). -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: Das Feld {0} weist eine ung\u00FCltige Abrufgruppe auf. Der Standard ist keine g\u00FCltige Abrufgruppe f\u00FCr verwaltete Felder. Falls das Feld kein verwaltetes Feld ist, kann es dennoch als solches behandelt werden, sofern Sie \u00FCber ein CMR-Feld f\u00FCr dieses Bean verf\u00FCgen, das derselben Spalte zugeordnet ist wie {0}.\nW\u00E4hlen Sie eine andere Abrufgruppe. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: Das Feld {0} darf kein Schl\u00FCsselfeld sein, da seine Zuordnung ein Large Object (z.B. BLOB/CLOB-Spalte) enth\u00E4lt.\nAktualisieren Sie die Spaltenzuordnung, oder \u00E4ndern Sie das Feld, sodass es kein prim\u00E4res Schl\u00FCsselfeld ist. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324: The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: Das Feld {0} weist eine ung\u00FCltige Collection-Klasse auf.\nAktualisieren Sie den Typ der Beziehung auf ein Set oder eine allgemeine Collection, oder entfernen Sie das CMR-Feld. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: F\u00FCr das Feld {0} wurde kein verwandtes Bean festgelegt, es ist aber Spalten zugeordnet.\nAktualisieren Sie das verwandte Bean, oder heben Sie die Zuordnung der Beziehung auf. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: Das Feld {0} weist ein ung\u00FCltiges verwandtes Feld {1} auf. Verwandte Felder m\u00FCssen f\u00FCr beide Beziehungsfelder festgelegt werden.\nVergewissern Sie sich, dass das CMR-Feld auf beiden Seiten der Beziehung festgelegt wurde. -# Validation message for inverse field which does not exist in the related bean -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related bean name -util.validation.related_class_mismatch=JDO72327: Das Feld {0} weist ein verwandtes Feld {1} auf, das nicht in dem der generierten Klasse {2} entsprechenden verwandten Bean vorhanden ist.\nAktualisieren Sie das verwandte Bean und ggf. den Namen des CMR-Feldes. -# Validation message for inverse field set and no related bean set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: F\u00FCr das Feld {0} wurde kein verwandtes Bean festgelegt, aber es hat ein verwandtes Feld {1}.\nAktualisieren Sie das verwandte Bean, oder setzen Sie den Namen des CMR-Feldes auf "None". - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=bean name -util.validation.schema_not_found=JDO72331: Das Schema {0} f\u00FCr das der generierten Klasse {1} entsprechende Bean kann nicht gefunden werden.\nStellen Sie die Schemadatei wieder her. -# Validation message for related schema not found -# {0}=schema name -# {1}=related bean name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: Das Schema {0} f\u00FCr das der generierten Klasse {1} des Feldes {2} entsprechende verwandte Bean kann nicht gefunden werden.\nStellen Sie die Schemadatei wieder her. -# Validation message for schema not set but primary table set -# {0}=bean name -util.validation.schema_not_set=JDO72333: F\u00FCr das der generierten Klasse {0} entsprechende Bean wurde kein Schema festgelegt, aber es wurde Tabellen zugeordnet.\nAktualisieren Sie die zugeordnete Schemaeigenschaft f\u00FCr das Bean, oder heben Sie die Zuordnung der prim\u00E4ren Tabelle auf. -# Validation message for schemas don't match -# {0}=bean name -# {1}=related bean name -# {2}=field name -util.validation.schema_mismatch=JDO72334: Die Schemen f\u00FCr das der generierten Klasse {0} entsprechende Bean und ihr verwandtes, der generierten Klasse {1} des Feldes {2} entsprechende Bean m\u00FCssen \u00FCbereinstimmen.\nAktualisieren Sie die zugeordnete Schemaeigenschaft f\u00FCr eines der Beans. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=bean name -util.validation.table_no_primarykey=JDO72335: Wenn die Tabelle {0} f\u00FCr das Bean der generierten Klasse {1} als prim\u00E4re Tabelle zugeordnet ist, muss sie einen prim\u00E4ren Schl\u00FCssel aufweisen.\nW\u00E4hlen Sie eine andere prim\u00E4re Tabelle, oder vergewissern Sie sich, dass der Content der Schemadatei korrekt ist. -# Validation message for table not found -# {0}=table name -# {1}=bean name -util.validation.table_not_found=JDO72336: Tabelle {0} f\u00FCr das der generierten Klasse {1} entsprechende Bean kann nicht gefunden werden.\nVergewissern Sie sich, dass die Schemadatei existiert und ihren ordnungsgem\u00E4\u00DFen Content aufweist. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: Tabelle {0} f\u00FCr das verwandte Bean des Feldes {1} kann nicht gefunden werden.\nStellen Sie sicher, dass die Schemadatei existiert und ihren ordnungsgem\u00E4\u00DFen Content aufweist. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=bean name -util.validation.table_mismatch=JDO72355: Beziehung {1} ist Spalte {0} zugeordnet, die nicht zu den zugeordneten prim\u00E4ren oder sekund\u00E4ren Tabellen f\u00FCr das Bean geh\u00F6rt, das der generierten Klasse {2} entspricht. \nAktualisieren Sie die Tabellenzuordnung oder die Beziehungszuordnung. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.table_mismatch_related=JDO72338: Beziehung {1} ist Spalte {0} zugeordnet, die nicht zu den zugeordneten prim\u00E4ren oder sekund\u00E4ren Tabellen f\u00FCr das Bean geh\u00F6rt, das der generierten Klasse {2} entspricht. \nAktualisieren Sie die Tabellenzuordnung oder die Beziehungszuordnung. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=bean name -util.validation.column_not_found=JDO72339: Die Spalten im Referenzschl\u00FCsselpaar {0} f\u00FCr die Einrichtung der sekund\u00E4ren Tabelle des Bean, das der generierten Klasse {1} entspricht, k\u00F6nnen nicht gefunden werden.\nStellen Sie sicher, dass die Schemadatei existiert und ihren ordnungsgem\u00E4\u00DFen Content aufweist. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_not_found_related=JDO72340: Die Spalte {0} f\u00FCr die Zuordnung des Feldes {1} in dem der generierten Klasse {2} entsprechenden Bean kann nicht gefunden werden.\nVergewissern Sie sich, dass die Schemadatei existiert und ihren ordnungsgem\u00E4\u00DFen Content aufweist. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_invalid=JDO72341: Die Spalten im Schl\u00FCsselpaar {0} f\u00FCr die Beziehung {1} in dem der generierten Klasse {2} entsprechenden Bean k\u00F6nnen nicht gefunden werden.\nVergewissern Sie sich, dass die Schemadatei existiert und ihren ordnungsgem\u00E4\u00DFen Content aufweist. - -# Validation messages for key class elements - -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: Dieser Fehler (Die Schl\u00FCsselklasseneigenschaft f\u00FCr das Bean, das der generierten Klasse {0} entspricht, wurde nicht festgelegt) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: Die generierte Schl\u00FCsselklasse {0} f\u00FCr das Bean, das der generierten Klasse {1} entspricht, existiert nicht. Stellen Sie sicher, dass die Schl\u00FCsselklasse existiert und mit einem vollst\u00E4ndig angegebenen Namen angegeben ist. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: Dieser Fehler (Die generierte Schl\u00FCsselklasse {0} f\u00FCr das Bean, das der generierten Klasse {1} entspricht, muss \u00F6ffentlich sein) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: Dieser Fehler (Die generierte Schl\u00FCsselklasse {0} f\u00FCr das Bean, das der generierten Klasse {1} entspricht, muss java.io.Serializable implementieren) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: Dieser Fehler (Wenn die generierte Schl\u00FCsselklasse {0} f\u00FCr das Bean, das der generierten Klasse {1} entspricht, als innere Klasse definiert ist, muss sie statisch sein) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: Der Typ des nicht statischen Feldes {0} der Schl\u00FCsselklasse ist ung\u00FCltig, woraus eine ung\u00FCltige generierte Schl\u00FCsselklasse {1} resultiert. G\u00FCltige Typen sind: Zeichenfolge, Zahlentyp oder Datentyp. Wenn es sich um eine benutzerdefinierte prim\u00E4re Schl\u00FCsselklasse handelt, kann der Typ auch ein Basistyp sein.\nAktualisieren Sie den Typ des Schl\u00FCsselklassenfeldes. -# Validation message for key class field must have the same type as the pc class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: Dieser Fehler (Das Feld {0} der generierten Schl\u00FCsselklasse {1} muss denselben Typ aufweisen wie das entsprechende Feld in der persistenten Klasse {2}) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: Dieser Fehler: (Alle Schl\u00FCsselfelder des Beans, das der generierten Klasse {0} entspricht, m\u00FCssen in der Schl\u00FCsselklasse {1} vorhanden sein.\nF\u00FCgen Sie der generierten Schl\u00FCsselklasse die folgenden Schl\u00FCsselfelder hinzu: {2}) sollte nicht auftreten. Wenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: Dieser Fehler (Die generierte Schl\u00FCsselklasse {0} f\u00FCr das Bean, das der generierten Klasse {1} entspricht, muss einen \u00F6ffentlichen Konstruktor definieren) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: Dieser Fehler (Die generierte Schl\u00FCsselklasse {0} f\u00FCr das Bean, das der generierten Klasse {1} entspricht, muss die equals-Methode aus java.lang.Object \u00FCberschreiben) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Fehlerbericht ein. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: Dieser Fehler (Die generierte Schl\u00FCsselklasse {0} f\u00FCr das Bean, das der generierten Klasse {1} entspricht, muss die hashCode-Methode aus java.lang.Object \u00FCberschreiben) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356: Dieser Fehler (Das Bean, das der generierten Klasse {0} entspricht, muss genau ein Versionsfeld aufweisen) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357: Dieser Fehler (Das Beziehungsfeld {0} darf kein Versionsfeld sein) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358: Dieser Fehler (Das Versionsfeld {0} weist eine ung\u00FCltige Abrufgruppe auf. Versionsfelder m\u00FCssen zur Standardabrufgruppe geh\u00F6ren) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359: Dieser Fehler (Das Feld {0} darf kein Schl\u00FCsselfeld sein, da es als Versionsfeld definiert ist) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360: Dieser Fehler (Das Versionsfeld {0} muss vom Typ ''long'' sein) sollte nicht auftreten.\nWenden Sie sich an den Support, und reichen Sie einen Bug ein. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361: Das generierte Versionsfeld {0} muss genau einer Spalte zugeordnet werden.\nAktualisieren Sie die Versionsspaltenzuordnung. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362: Die Versionsspalte {0} befindet sich nicht in der prim\u00E4ren Tabelle f\u00FCr das Bean, das der generierten Klasse {2} entspricht.\nAktualisieren Sie die Versionsspalte. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363: Die Versionsspalte {0}, die f\u00FCr das Bean angegeben wurde, das der generierten Klasse {2} entspricht, darf keine Nullwerte oder nicht-numerischen Werte enthalten.\nAktualisieren Sie das Schema, oder w\u00E4hlen Sie eine andere Versionsspalte. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364: Die Versionsspalte {0}, die f\u00FCr das Bean angegeben wurde, die der generierten Klasse {2} entspricht, darf nicht Teil des prim\u00E4ren Schl\u00FCssels sein.\nAktualisieren Sie das Schema, oder w\u00E4hlen Sie eine andere Versionsspalte. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364: Die Versionsspalte {0}, die f\u00FCr das Bean angegeben wurde, das der generierten Klasse {2} entspricht, darf nicht Teil eines Fremdschl\u00FCssels sein.\nAktualisieren Sie das Schema, oder w\u00E4hlen Sie eine andere Versionsspalte. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365: Die vom generierten Versionsfeld {0} verwendete Versionsspalte ist auch einem CMP-Feld zugeordnet. CMP-Felder d\u00FCrfen nicht zu Spalten zugeordnet werden, in denen Versionsnummern gespeichert sind.\nAktualisieren Sie die Spaltenzuordnung der CMP-Felder, oder w\u00E4hlen Sie eine andere Versionsspalte aus. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_es.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_es.properties deleted file mode 100644 index 606bc98db6d..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_es.properties +++ /dev/null @@ -1,300 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# This file contains overrides for the messages defined in the -# "" section of file -# model/src/com/sun/jdo/api/persistence/model/Bundle.properties. -# -# The message ID for a given key in this file should be identical to the -# message ID for the corresponding key in the above file. No new messages -# should be added to this file without first defining them in the above -# file -- only overrides should be added to this file. -# -# Due to sub sections in the validation section, the order may not be sequential. - -# Validation messages for beans -# Validation message for bean not found -# {0}=class name -util.validation.class_not_found=JDO72300: no se ha encontrado el bean correspondiente a la clase generada {0}.\nCompruebe si existe una inconsistencia en el contenido del m\u00F3dulo (beans, descriptor de despliegue, cmp-mapping, ejb-jar). -# Validation message for related bean not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: no se ha encontrado el bean relacionado correspondiente a la clase {0} generada del campo {1}.\nCompruebe si existe una inconsistencia en el contenido del m\u00F3dulo (beans, descriptor de despliegue, cmp-mapping, ejb-jar). -# Validation message for bean not a CMP bean -# {0}=bean name -util.validation.class_not_persistence_capable=JDO72302: el Bean correspondiente a la clase {0} generada no es un bean de CMP v\u00E1lido.\nCorr\u00EDjalo para que sea un bean de CMP v\u00E1lido. -# Validation message for related bean not a CMP bean -# {0}=bean name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: el bean relacionado correspondiente a la clase {0} generada para el campo {1} no es un bean de CMP v\u00E1lido.\nCorr\u00EDjalo para que sea un bean de CMP v\u00E1lido. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: el bean correspondiente a la clase {0} generada no puede ser compatible con persistencia.\nCompruebe si existe una inconsistencia en el contenido del m\u00F3dulo (beans, descriptor de despliegue, cmp-mapping, ejb-jar). -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: el bean relacionado correspondiente a la clase {0} generada para el campo {1} no puede ser compatible con persistencia.\nCompruebe si existe una inconsistencia en el contenido del m\u00F3dulo (beans, descriptor de despliegue, cmp-mapping, ejb-jar). -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: no se deber\u00EDa producir este error (La clase {0} implanta java.io.Serializable, por lo tanto, debe definir tambi\u00E9n el m\u00E9todo readObject).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: no se deber\u00EDa producir este error (La clase {0} implanta java.io.Serializable, por lo tanto, debe definir tambi\u00E9n el m\u00E9todo writeObject).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for bean which has no CMP fields -# {0}=class name -util.validation.class_no_fields=JDO72308: el bean correspondiente a la clase {0} generada debe tener al menos un campo CMP.\nAgregue un campo CMP al bean. -# Validation message for bean which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: el bean correspondiente a la clase {0} generada no se ha asignado.\nDefina la tabla primaria del bean. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: se deben asignar a los campos de clave las columnas de clave primaria en la tabla primaria {1} del bean correspondiente a la clase generada {0}.\nAsigne las siguientes columnas de clave primaria a los campos de clave: {2}. Si ya tiene asignados campos a estas columnas, verifique que son campos de clave. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: se ha especificado el campo {0} como campo CMP, pero no se encuentra en el archivo .java.\nCompruebe si existe una inconsistencia en el contenido del m\u00F3dulo (beans, descriptor de despliegue, cmp-mapping, ejb-jar). -# Validation message for field not allowed to be a CMP field -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: el campo {0} no puede ser un campo CMP.\nCompruebe si existe una inconsistencia en el contenido del m\u00F3dulo (beans, descriptor de despliegue, cmp-mapping, ejb-jar). -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: el campo {0} se debe definir de forma consistente como un campo CMP o un campo CMR.\nCompruebe si existe una inconsistencia en el contenido del m\u00F3dulo (beans, descriptor de despliegue, cmp-mapping, ejb-jar). -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: el campo {0} no es consistente.\nAseg\u00FArese de que el campo es CMP. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: el campo {0} no puede ser CMR.\nCambie el tipo de campo a envoltorio o primitivo.\nSi el tipo es correcto, compruebe si existe una inconsistencia en el contenido del m\u00F3dulo (beans, descriptor de despliegue, cmp-mapping, ejb-jar). -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: el campo {0} debe ser una relaci\u00F3n.\nCambie el tipo de campo a recopilaci\u00F3n u otro bean de CMP.\nSi el tipo es correcto, compruebe si existe una inconsistencia en el contenido del m\u00F3dulo (beans, descriptor de despliegue, cmp-mapping, ejb-jar). -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: el campo {0} tiene un grupo de recuperaci\u00F3n no v\u00E1lido. El grupo por defecto no es un grupo de recuperaci\u00F3n v\u00E1lido para campos gestionados. Si el campo no es un campo gestionado, se debe utilizar como tal si tiene un CMR asignado a este bean, asignado a su vez a la misma columna que {0}.\nSeleccione un grupo de recuperaci\u00F3n diferente. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: el campo {0} no puede ser un campo de clave, ya que su asignaci\u00F3n contiene una columna de objeto grande (es decir, BLOB/CLOB).\nActualice la asignaci\u00F3n de columnas o cambie este campo de forma que no sea un campo de clave primaria. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324: The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: el campo {0} tiene una clase de recopilaci\u00F3n no v\u00E1lida.\nActualice el tipo de relaci\u00F3n para que sea un juego o una recopilaci\u00F3n gen\u00E9rica o elimine el CMR. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: el campo {0} no tiene definido un bean relacionado, pero est\u00E1 asignado a columnas.\nActualice el bean relacionado o anule la asignaci\u00F3n de la relaci\u00F3n. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: el campo {0} tiene un campo relacionado {1} no v\u00E1lido. Se deben definir los campos relacionados para los dos campos de relaci\u00F3n.\nAseg\u00FArese de que el campo CMR se encuentra definido a ambos lados de la relaci\u00F3n. -# Validation message for inverse field which does not exist in the related bean -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related bean name -util.validation.related_class_mismatch=JDO72327: el campo {0} tiene un campo relacionado {1} que no existe en el bean relacionado correspondiente a la clase {2} generada.\nActualice el bean relacionado y el nombre de campo CMR si es necesario. -# Validation message for inverse field set and no related bean set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: el campo {0} no tiene definido un bean relacionado, pero tiene un campo relacionado {1}.\nActualice el bean relacionado o defina el campo CMR en Ninguno. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=bean name -util.validation.schema_not_found=JDO72331: no se ha encontrado el esquema {0} para el bean correspondiente a la clase {1} generada.\nRestaure el archivo de esquema. -# Validation message for related schema not found -# {0}=schema name -# {1}=related bean name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: no se ha encontrado el esquema {0} para el bean relacionado correspondiente a la clase {1} generada del campo {2}.\nRestaure el archivo de esquema. -# Validation message for schema not set but primary table set -# {0}=bean name -util.validation.schema_not_set=JDO72333: el bean correspondiente a la clase {0} generada no tiene definido un esquema, pero est\u00E1 asignado a las tablas.\nActualice la propiedad de esquema asignada del bean o anule la asignaci\u00F3n de la tabla primaria. -# Validation message for schemas don't match -# {0}=bean name -# {1}=related bean name -# {2}=field name -util.validation.schema_mismatch=JDO72334: los esquemas del bean correspondiente a la clase {0} generada y su bean relacionado correspondiente a la clase generada {1} del campo {2} deben coincidir.\nActualice la propiedad de esquema asignada de uno de los beans. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=bean name -util.validation.table_no_primarykey=JDO72335: si la tabla {0} del bean correspondiente a la clase generada {1} se ha asignado como tabla primaria, tambi\u00E9n debe tener una clave primaria.\nSeleccione otra tabla primaria o verifique que el contenido del archivo de esquema es correcto. -# Validation message for table not found -# {0}=table name -# {1}=bean name -util.validation.table_not_found=JDO72336: no se ha encontrado la tabla {0} para el bean correspondiente a la clase {1} generada.\nVerifique que el archivo de esquema existe y que su contenido es correcto. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: no se ha encontrado la tabla {0} para el bean relacionado del campo {1}.\nVerifique que el archivo de esquema existe y que su contenido es correcto. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=bean name -util.validation.table_mismatch=JDO72355: la relaci\u00F3n {1} se ha asignado a la columna {0}, que no pertenece a una de las tablas primarias o secundarias asignadas del bean correspondiente a la clase {2} generada. \nActualice la asignaci\u00F3n de tablas o de relaciones. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.table_mismatch_related=JDO72338: la relaci\u00F3n {1} se ha asignado a la columna {0}, que no pertenece a una de las tablas primarias o secundarias asignadas del bean relacionado correspondiente a la clase {2} generada. \nActualice la asignaci\u00F3n de tablas o de relaciones. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=bean name -util.validation.column_not_found=JDO72339: no se han encontrado las columnas en el par de claves de referencia {0} para la configuraci\u00F3n de la tabla secundaria del bean correspondiente a la clase {1} generada.\nVerifique que el archivo de esquema existe y que su contenido es correcto. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_not_found_related=JDO72340: no se ha encontrado la columna {0} para asignar el campo {1} en el bean correspondiente a la clase {2} generada.\nVerifique que el archivo de esquema existe y que su contenido es correcto. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_invalid=JDO72341: no se han encontrado las columnas en el par de claves {0} para la relaci\u00F3n {1} del bean correspondiente a la clase {2} generada.\nVerifique que el archivo de esquema existe y que su contenido es correcto. - -# Validation messages for key class elements - -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: no se deber\u00EDa producir este error (No se ha definido la propiedad de clase de clave del bean correspondiente a la clase {0} generada).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: la clase de clave generada {0} del bean correspondiente a la clase {1} generada no existe. Verifique que la clase de clave existe y que se ha especificado con un nombre totalmente cualificado. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: no se deber\u00EDa producir este error (La clase de clave generada {0} del bean correspondiente a la clase {1} generada debe ser p\u00FAblica).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: no se deber\u00EDa producir este error (La clase de clave generada {0} del bean correspondiente a la clase {1} generada debe implantar java.io.Serializable).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: no se deber\u00EDa producir este error (Si la clase de clave generada {0} del bean correspondiente a la clase {1} generada se define como clase interna, \u00E9sta deber ser est\u00E1tica).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: el tipo de campo no est\u00E1tico {0} de la clase de clave no es v\u00E1lido y, por consiguiente, se muestra una clase de clave generada {1} no v\u00E1lida. Los tipos tipo v\u00E1lidos son: cadena, num\u00E9rico o de fecha. Si hay una clase de clave primaria definida por el usuario, tambi\u00E9n debe ser del tipo primitivo.\nActualice el tipo de campo de clase de clave. -# Validation message for key class field must have the same type as the pc class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: no se deber\u00EDa producir este error (El campo {0} de la clase de clave generada {1} debe ser del mismo tipo que el campo correspondiente de la clase compatible con persistencia {2}).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: no se deber\u00EDa producir este error (Todos los campos de clave del bean correspondientes a la clase {0} generada deben estar presentes en la clase de clave {1}.\nAgregue los campos de clave siguientes a la clase de clave generada: {2}). P\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: no se deber\u00EDa producir este error (La clase de clave generada {0} del bean correspondiente a la clase {1} generada debe definir un constructor p\u00FAblico).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: no se deber\u00EDa producir este error. (La clase de clave generada {0} del bean correspondiente a la clase {1} generada debe sustituir al m\u00E9todo equals de java.lang.Object).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: no se deber\u00EDa producir este error (La clase de clave generada {0} del bean correspondiente a la clase {1} generada debe sustituir al m\u00E9todo hashCode de java.lang.Object).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356: no se deber\u00EDa producir este error (El bean correspondiente a la clase {0} generada debe tener exactamente un campo de versi\u00F3n).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357: no se deber\u00EDa producir este error (El campo de relaci\u00F3n {0} no puede ser un campo de versi\u00F3n).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358: no se deber\u00EDa producir este error (El campo de versi\u00F3n {0} tiene un grupo de recuperaci\u00F3n no v\u00E1lido. Los campos de versi\u00F3n deben pertenecer al grupo de recuperaci\u00F3n por defecto).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359: no se deber\u00EDa producir este error (El campo {0} no puede ser un campo de clave porque se ha definido como campo de versi\u00F3n).\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360: no se deber\u00EDa producir este error (El campo de versi\u00F3n {0} debe ser del tipo ''largo'').\nP\u00F3ngase en contacto con los Servicios de Soporte Oracle y registre un bug. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361: el campo de versi\u00F3n generado {0} se debe asignar exactamente a una columna.\nActualice la asignaci\u00F3n de columnas de versi\u00F3n. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362: la columna de versi\u00F3n {0} no se encuentra en la tabla primaria del bean correspondiente a la clase {2} generada.\nActualice la columna de versi\u00F3n. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363: la columna de versi\u00F3n {0} especificada para el bean correspondiente a la clase {2} generada no puede soportar valores NULL o no num\u00E9ricos.\nActualice el esquema o seleccione otra columna de versi\u00F3n. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364: la columna de versi\u00F3n {0} especificada para el bean correspondiente a la clase {2} generada no puede formar parte de la clave primaria.\nActualice el esquema o seleccione otra columna de versi\u00F3n. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364: la columna de versi\u00F3n {0} especificada para el bean correspondiente a la clase generada {2} no puede formar parte de una clave ajena.\nActualice el esquema o seleccione otra columna de versi\u00F3n. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365: la columna de versi\u00F3n utilizada por el campo de versi\u00F3n generado {0} tambi\u00E9n se ha asignado a un campo CMP. Los campos CMP no se pueden asignar a columnas utilizadas para almacenar n\u00FAmeros de versi\u00F3n.\nActualice la asignaci\u00F3n de columnas de los campos CMP o seleccione otra columna de versi\u00F3n. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_fr.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_fr.properties deleted file mode 100644 index ce58a17c163..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_fr.properties +++ /dev/null @@ -1,300 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# This file contains overrides for the messages defined in the -# "" section of file -# model/src/com/sun/jdo/api/persistence/model/Bundle.properties. -# -# The message ID for a given key in this file should be identical to the -# message ID for the corresponding key in the above file. No new messages -# should be added to this file without first defining them in the above -# file -- only overrides should be added to this file. -# -# Due to sub sections in the validation section, the order may not be sequential. - -# Validation messages for beans -# Validation message for bean not found -# {0}=class name -util.validation.class_not_found=JDO72300 : impossible de trouver le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0}.\nRecherchez les incoh\u00E9rences \u00E9ventuelles dans votre module (beans, descripteur de d\u00E9ploiement, cmp-mapping, ejb-jar). -# Validation message for related bean not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301 : impossible de trouver le bean r\u00E9f\u00E9renc\u00E9 correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} pour le champ {1}.\nRecherchez les incoh\u00E9rences \u00E9ventuelles dans votre module (beans, descripteur de d\u00E9ploiement, cmp-mapping, ejb-jar). -# Validation message for bean not a CMP bean -# {0}=bean name -util.validation.class_not_persistence_capable=JDO72302 : le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} n''est pas un bean CMP valide.\nCorrigez le bean pour en faire un bean CMP valide. -# Validation message for related bean not a CMP bean -# {0}=bean name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303 : le bean r\u00E9f\u00E9renc\u00E9 correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} pour le champ {1} n''est pas un bean CMP valide.\nCorrigez le bean pour en faire un bean CMP valide. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304 : le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} n''est pas autoris\u00E9 \u00E0 \u00EAtre capable de persistance.\nRecherchez les incoh\u00E9rences \u00E9ventuelles dans votre module (beans, descripteur de d\u00E9ploiement, cmp-mapping, ejb-jar). -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305 : le bean r\u00E9f\u00E9renc\u00E9 correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} pour le champ {1} n''est pas autoris\u00E9 \u00E0 \u00EAtre capable de persistance.\nRecherchez les incoh\u00E9rences \u00E9ventuelles dans votre module (beans, descripteur de d\u00E9ploiement, cmp-mapping, ejb-jar). -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306 : cette erreur (La classe {0} impl\u00E9mente java.io.Serializable, elle doit donc \u00E9galement d\u00E9finir la m\u00E9thode readObject) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307 : cette erreur (La classe {0} impl\u00E9mente java.io.Serializable, elle doit donc \u00E9galement d\u00E9finir la m\u00E9thode writeObject) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for bean which has no CMP fields -# {0}=class name -util.validation.class_no_fields=JDO72308 : le bean correspondant \u00E0 la class\u00E9 g\u00E9n\u00E9r\u00E9e {0} doit poss\u00E9der au moins un champ CMP.\nAjoutez un champ CMP au bean. -# Validation message for bean which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309 : le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} n''est pas mapp\u00E9.\nD\u00E9finissez la table principale du bean. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310 : toutes les colonnes de la cl\u00E9 primaire {1} du bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} doivent \u00EAtre mapp\u00E9es sur des champs de cl\u00E9.\nMappez les colonnes de la cl\u00E9 primaire suivantes sur les champs de cl\u00E9 : {2}. Si vous avez d\u00E9j\u00E0 mapp\u00E9 des champs sur ces colonnes, v\u00E9rifiez qu''il s''agit de champs de cl\u00E9. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311 : le champ {0} a \u00E9t\u00E9 sp\u00E9cifi\u00E9 comme champ CMP, mais il n''appara\u00EEt pas dans le fichier .java.\nRecherchez les incoh\u00E9rences \u00E9ventuelles dans votre module (beans, descripteur de d\u00E9ploiement, cmp-mapping, ejb-jar). -# Validation message for field not allowed to be a CMP field -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312 : le champ {0} n''est pas autoris\u00E9 \u00E0 \u00EAtre un champ CMP.\nRecherchez les incoh\u00E9rences \u00E9ventuelles dans votre module (beans, descripteur de d\u00E9ploiement, cmp-mapping, ejb-jar). -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313 : le champ {0} doit toujours \u00EAtre d\u00E9fini comme champ CMP ou CMR.\nRecherchez les incoh\u00E9rences \u00E9ventuelles dans votre module (beans, descripteur de d\u00E9ploiement, cmp-mapping, ejb-jar). -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314 : le champ {0} n''est pas coh\u00E9rent.\nV\u00E9rifiez qu''il s''agit d''un champ CMP. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315 : le champ {0} n''est pas autoris\u00E9 \u00E0 \u00EAtre un champ CMR.\nModifiez le type de champ pour en faire un wrapper ou un primitif.\nSi le type est correct, recherchez les incoh\u00E9rences \u00E9ventuelles dans le contenu de votre module (beans, descripteur de d\u00E9ploiement, cmp-mapping, ejb-jar). -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316 : le champ {0} doit \u00EAtre une relation.\nModifiez le type de champ pour en faire une collection ou un autre bean CMP.\nSi le type est correct, recherchez les incoh\u00E9rences \u00E9ventuelles dans le contenu de votre module (beans, descripteur de d\u00E9ploiement, cmp-mapping, ejb-jar). -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317 : le champ {0} comprend un groupe d''extraction non valide. Le groupe par d\u00E9faut n''est pas un groupe d''extraction valide pour les champs g\u00E9r\u00E9s. Si votre champ n''est pas g\u00E9r\u00E9, il peut \u00EAtre trait\u00E9 comme tel si ce bean a un CMR mapp\u00E9 sur la m\u00EAme colonne que {0}.\nChoisissez un groupe d''extraction diff\u00E9rent. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319 : le champ {0} n''est pas autoris\u00E9 \u00E0 \u00EAtre un champ de cl\u00E9, car son mapping contient une colonne d''objets volumineux (BLOB/CLOB, par exemple).\nMettez \u00E0 jour le mapping de la colonne ou modifiez ce champ pour qu''il ne soit plus un champ de cl\u00E9 primaire. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324: The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324 : le champ {0} poss\u00E8de une classe de collection non valide.\nMettez \u00E0 jour le type de relation afin d''avoir une collection d\u00E9finie ou g\u00E9n\u00E9rique, ou enlevez le CMR. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325 : le champ {0} ne poss\u00E8de pas de bean r\u00E9f\u00E9renc\u00E9 d\u00E9fini, mais il est mapp\u00E9 sur des colonnes.\nMettez \u00E0 jour le bean r\u00E9f\u00E9renc\u00E9 ou annulez le mapping de la relation. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326 : le champ {0} contient un champ r\u00E9f\u00E9renc\u00E9 {1} non valide. Les champs r\u00E9f\u00E9renc\u00E9s doivent \u00EAtre d\u00E9finis pour les deux champs de relation.\nV\u00E9rifiez que le champ CMR est d\u00E9fini dans les deux parties de la relation. -# Validation message for inverse field which does not exist in the related bean -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related bean name -util.validation.related_class_mismatch=JDO72327 : le champ {0} comprend un champ r\u00E9f\u00E9renc\u00E9 {1} qui n''existe pas dans le bean r\u00E9f\u00E9renc\u00E9 correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {2}.\nMettez \u00E0 jour le bean r\u00E9f\u00E9renc\u00E9 et le nom du champ CMR, si n\u00E9cessaire. -# Validation message for inverse field set and no related bean set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328 : aucun bean r\u00E9f\u00E9renc\u00E9 n''a \u00E9t\u00E9 d\u00E9fini pour le champ {0}, mais ce dernier poss\u00E8de le champ r\u00E9f\u00E9renc\u00E9 {1}.\nMettez \u00E0 jour le bean r\u00E9f\u00E9renc\u00E9 ou choisissez Aucun comme nom de champ CMR. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=bean name -util.validation.schema_not_found=JDO72331 : impossible de trouver le sch\u00E9ma {0} pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1}.\nRestaurez le fichier sch\u00E9ma. -# Validation message for related schema not found -# {0}=schema name -# {1}=related bean name -# {2}=field name -util.validation.schema_not_found_related=JDO72332 : impossible de trouver le sch\u00E9ma {0} pour le bean r\u00E9f\u00E9renc\u00E9 correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1} du champ {2}.\nRestaurez le fichier sch\u00E9ma. -# Validation message for schema not set but primary table set -# {0}=bean name -util.validation.schema_not_set=JDO72333 : le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} ne poss\u00E8de pas de sch\u00E9ma d\u00E9fini, mais il est mapp\u00E9 sur les tables.\nMettez \u00E0 jour la propri\u00E9t\u00E9 du sch\u00E9ma mapp\u00E9 pour le bean ou annulez le mapping de la table principale. -# Validation message for schemas don't match -# {0}=bean name -# {1}=related bean name -# {2}=field name -util.validation.schema_mismatch=JDO72334 : les sch\u00E9mas du bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} et son bean r\u00E9f\u00E9renc\u00E9 correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1} du champ {2} doivent correspondre.\nMettez \u00E0 jour la propri\u00E9t\u00E9 du sch\u00E9ma mapp\u00E9 pour l''un des beans. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=bean name -util.validation.table_no_primarykey=JDO72335 : si la table {0} du bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1} est mapp\u00E9e en tant que table principale, elle doit disposer d''une cl\u00E9 primaire.\nChoisissez une table principale diff\u00E9rente ou v\u00E9rifiez que le contenu du fichier sch\u00E9ma est correct. -# Validation message for table not found -# {0}=table name -# {1}=bean name -util.validation.table_not_found=JDO72336 : impossible de trouver la table {0} du bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1}.\nV\u00E9rifiez que le fichier sch\u00E9ma existe et que son contenu est correct. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337 : impossible de trouver la table {0} pour le bean r\u00E9f\u00E9renc\u00E9 du champ {1}.\nV\u00E9rifiez que le fichier sch\u00E9ma existe et que son contenu est correct. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=bean name -util.validation.table_mismatch=JDO72355 : la relation {1} est mapp\u00E9e sur la colonne {0} qui ne fait pas partie des tables principales ou secondaires mapp\u00E9es pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {2}. \nMettez \u00E0 jour le mapping de la table ou de la relation. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.table_mismatch_related=JDO72338 : la relation {1} est mapp\u00E9e sur la colonne {0} qui ne fait pas partie des tables principales ou secondaires mapp\u00E9es pour le bean r\u00E9f\u00E9renc\u00E9 correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {2}. \nMettez \u00E0 jour le mapping de la table ou de la relation. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=bean name -util.validation.column_not_found=JDO72339 : impossible de trouver les colonnes dans la paire de cl\u00E9s de r\u00E9f\u00E9rence {0} pour la d\u00E9finition de la table secondaire du bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1}.\nV\u00E9rifiez que le fichier sch\u00E9ma existe et que son contenu est correct. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_not_found_related=JDO72340 : impossible de trouver la colonne {0} pour le mapping du champ {1} dans le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {2}.\nV\u00E9rifiez que le fichier sch\u00E9ma existe et que son contenu est correct. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_invalid=JDO72341 : impossible de trouver les colonnes dans la paire de cl\u00E9s {0} pour la relation {1} dans le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {2}.\nV\u00E9rifiez que le fichier sch\u00E9ma existe et que son contenu est correct. - -# Validation messages for key class elements - -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343 : cette erreur (La propri\u00E9t\u00E9 de la classe de cl\u00E9 du bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} n''est pas d\u00E9finie) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344 : la classe de cl\u00E9 g\u00E9n\u00E9r\u00E9e {0} pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1} n''existe pas. V\u00E9rifiez que votre classe de cl\u00E9 existe et qu''elle porte un nom qualifi\u00E9 complet. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345 : cette erreur (La classe de cl\u00E9 g\u00E9n\u00E9r\u00E9e {0} pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1} doit \u00EAtre publique) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346 : cette erreur (La classe de cl\u00E9 g\u00E9n\u00E9r\u00E9e {0} pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1} doit impl\u00E9menter java.io.Serializable) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347 : cette erreur (Si la classe de cl\u00E9 g\u00E9n\u00E9r\u00E9e {0} pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1} est d\u00E9finie comme une classe interne, elle doit \u00EAtre statique) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348 : le champ non statique {0} de la classe de cl\u00E9 n''\u00E9tant pas valide, la classe de cl\u00E9 g\u00E9n\u00E9r\u00E9e {1} est incorrecte. Les types valides sont les suivants : String, Number et Date. Si vous disposez d''une classe de cl\u00E9 primaire, le type peut \u00E9galement \u00EAtre primitif.\nMettez \u00E0 jour le type du champ de la classe de cl\u00E9. -# Validation message for key class field must have the same type as the pc class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350 : cette erreur (Le champ {0} de la classe de cl\u00E9 g\u00E9n\u00E9r\u00E9e {1} doit \u00EAtre du m\u00EAme type que le champ correspondant dans la classe capable de persistance {2}) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351 : cette erreur (Tous les champs de cl\u00E9 du bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} doivent \u00EAtre pr\u00E9sents dans la classe de cl\u00E9 {1}.\nAjoutez les champs de cl\u00E9 suivants \u00E0 la classe de cl\u00E9 g\u00E9n\u00E9r\u00E9e : {2}) ne devrait pas se produire. Contactez le support technique et signalez le bug. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352 : cette erreur (La classe de cl\u00E9 g\u00E9n\u00E9r\u00E9e {0} pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1} doit d\u00E9finir un constructeur public) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353 : cette erreur (La classe de cl\u00E9 g\u00E9n\u00E9r\u00E9e {0} pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1} doit remplacer la m\u00E9thode equals de java.lang.Object) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354 : cette erreur (La classe de cl\u00E9 g\u00E9n\u00E9r\u00E9e {0} pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {1} doit remplacer la m\u00E9thode hashCode de java.lang.Object) ne devrait pas se produire.\nContactez le support technique et signalez le bug. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356 : cette erreur (Le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {0} doit disposer d''un seul champ de version) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357 : cette erreur (Le champ de relation {0} n''est pas autoris\u00E9 \u00E0 \u00EAtre un champ de version) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358 : cette erreur (Le champ de version {0} contient un groupe d''extraction non valide. Les champs de version doivent appartenir au groupe d''extraction par d\u00E9faut) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359 : cette erreur (Le champ {0} n''est pas autoris\u00E9 \u00E0 \u00EAtre un champ de cl\u00E9, car il est d\u00E9fini en tant que champ de version) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360 : cette erreur (Le champ de version {0} doit \u00EAtre un champ long) ne devrait pas se produire.\nContactez le support technique et signalez le bug. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361 : le champ de version g\u00E9n\u00E9r\u00E9 {0} doit \u00EAtre mapp\u00E9 sur une seule colonne.\nMettez \u00E0 jour le mapping des colonnes de version. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362 : la colonne de version {0} ne figure pas dans la table principale du bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {2}.\nMettez \u00E0 jour la colonne de version. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363 : la colonne de version {0} sp\u00E9cifi\u00E9e pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {2} ne peut pas \u00EAtre Nullable ou avoir une valeur non num\u00E9rique.\nMettez \u00E0 jour le sch\u00E9ma ou choisissez une colonne de version diff\u00E9rente. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364 : la colonne de version {0} sp\u00E9cifi\u00E9e pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {2} ne peut pas faire partie de la cl\u00E9 primaire.\nMettez \u00E0 jour le sch\u00E9ma ou choisissez une colonne de version diff\u00E9rente. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364 : la colonne de version {0} sp\u00E9cifi\u00E9e pour le bean correspondant \u00E0 la classe g\u00E9n\u00E9r\u00E9e {2} ne peut pas faire partie d''une cl\u00E9 \u00E9trang\u00E8re.\nMettez \u00E0 jour le sch\u00E9ma ou choisissez une colonne de version diff\u00E9rente. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365 : la colonne de version utilis\u00E9e par le champ de version g\u00E9n\u00E9r\u00E9 {0} est \u00E9galement mapp\u00E9e sur un champ CMP. Les champs CMP ne peuvent pas \u00EAtre mapp\u00E9s sur des colonnes servant \u00E0 stocker des num\u00E9ros de version.\nMettez \u00E0 jour le mapping de la colonne des champs CMP ou choisissez une colonne de version diff\u00E9rente. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_it.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_it.properties deleted file mode 100644 index fa69d424923..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_it.properties +++ /dev/null @@ -1,300 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# This file contains overrides for the messages defined in the -# "" section of file -# model/src/com/sun/jdo/api/persistence/model/Bundle.properties. -# -# The message ID for a given key in this file should be identical to the -# message ID for the corresponding key in the above file. No new messages -# should be added to this file without first defining them in the above -# file -- only overrides should be added to this file. -# -# Due to sub sections in the validation section, the order may not be sequential. - -# Validation messages for beans -# Validation message for bean not found -# {0}=class name -util.validation.class_not_found=JDO72300: impossibile trovare il bean corrispondente alla classe generata {0}.\nControllare che non vi siano incoerenze nei contenuti dei moduli (bean, descrittore di distribuzione, mapping CMP, JAR EJB). -# Validation message for related bean not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: impossibile trovare il bean correlato corrispondente alla classe generata {0} per il campo {1}.\nControllare che non vi siano incoerenze nei contenuti dei moduli (bean, descrittore di distribuzione, mapping CMP, JAR EJB). -# Validation message for bean not a CMP bean -# {0}=bean name -util.validation.class_not_persistence_capable=JDO72302: il bean corrispondente alla classe generata {0} non \u00E8 un bean CMP valido.\nCorreggerlo in un bean CMP valido. -# Validation message for related bean not a CMP bean -# {0}=bean name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: il bean correlato corrispondente alla classe generata {0} per il campo {1} non \u00E8 un bean CMP valido.\nCorreggerlo in un bean CMP valido. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: il bean corrispondente alla classe generata {0} non pu\u00F2 avere funzionalit\u00E0 di persistenza.\nControllare che non vi siano incoerenze nei contenuti dei moduli (bean, descrittore di distribuzione, mapping CMP, JAR EJB). -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: il bean correlato corrispondente alla classe generata {0} per il campo {1} non pu\u00F2 avere funzionalit\u00E0 di persistenza.\nControllare che non vi siano incoerenze nei contenuti dei moduli (bean, descrittore di distribuzione, mapping CMP, JAR EJB). -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: questo errore (La classe {0} implementa java.io.Serializable quindi deve definire anche il metodo readObject) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: questo errore (La classe {0} implementa java.io.Serializable quindi deve definire anche il metodo writeObject) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for bean which has no CMP fields -# {0}=class name -util.validation.class_no_fields=JDO72308: il bean corrispondente alla classe generata {0} deve avere almeno un campo CMP.\nAggiungere un campo CMP al bean. -# Validation message for bean which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: il bean corrispondente alla classe generata {0} non \u00E8 mappato.\nImpostare la tabella primaria per il bean. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: tutte le colonne della chiave primaria nella tabella primaria {1} del bean corrispondente alla classe generata {0} devono essere mappate ai campi chiave.\nMappare le seguenti colonne chiave primaria ai campi chiave: {2}. Se sono gi\u00E0 presenti campi mappati a queste colonne, verificare che siano campi chiave. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: il campo {0} \u00E8 stato specificato come campo CMP, ma non \u00E8 presente nel file .java.\nControllare che non vi siano incoerenze nei contenuti dei moduli (bean, descrittore di distribuzione, mapping CMP, JAR EJB). -# Validation message for field not allowed to be a CMP field -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: il campo {0} non pu\u00F2 essere un campo CMP.\nControllare che non vi siano incoerenze nei contenuti dei moduli (bean, descrittore di distribuzione, mapping CMP, JAR EJB). -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: il campo {0} deve essere definito sempre come campo CMP oppure come campo CMR.\nControllare che non vi siano incoerenze nei contenuti dei moduli (bean, descrittore di distribuzione, mapping CMP, JAR EJB). -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: il campo {0} non \u00E8 coerente.\nAssicurarsi che il campo sia un campo CMP. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: il campo {0} non pu\u00F2 essere un campo CMR.\nModificare il tipo di campo in wrapper o predefinito.\nSe il tipo \u00E8 corretto, controllare che non vi siano incoerenze nei contenuti dei moduli (bean, descrittore di distribuzione, mapping CMP, JAR EJB). -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: il campo {0} deve essere una relazione.\nModificare il tipo di campo in raccolta o altro bean CMP.\nSe il tipo \u00E8 corretto, controllare che non vi siano incoerenze nei contenuti dei moduli (bean, descrittore di distribuzione, mapping CMP, JAR EJB). -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: il campo {0} ha un gruppo di recupero non valido. Il valore predefinito non \u00E8 un gruppo di recupero valido per i campi gestiti. Se il campo non \u00E8 un campo gestito, pu\u00F2 essere trattato come se lo fosse se \u00E8 presente per questo bean un CMR mappato alla stessa colonna di {0}.\nSelezionare un gruppo di recupero diverso. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: il campo {0} non pu\u00F2 essere un campo chiave poich\u00E9 il relativo mapping contiene una colonna oggetto di grandi dimensioni (ad esempio BLOB/CLOB).\nAggiornare il mapping della colonna o modificare il campo in modo che non sia un campo chiave primaria. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324: The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: il campo {0} ha una classe di raccolta non valida.\nAggiornare il tipo di relazione in modo che sia un insieme o una raccolta generica, oppure rimuovere il CMR. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: il campo {0} non ha un insieme di bean correlato, ma \u00E8 mappato alle colonne.\nAggiornare il bean correlato o eliminare il mapping alla relazione. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: il campo {0} ha un campo {1} correlato non valido. I campi correlati devono essere impostati per entrambi i campi relazione.\nAccertarsi che il campo CMR sia impostato su entrambi i lati della relazione. -# Validation message for inverse field which does not exist in the related bean -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related bean name -util.validation.related_class_mismatch=JDO72327: il campo {0} ha un campo {1} correlato non esistente nel bean correlato corrispondente alla classe generata {2}.\nAggiornare il bean correlato e, se necessario, il nome del campo CMR. -# Validation message for inverse field set and no related bean set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: il campo {0} non ha un insieme di bean correlato, ma ha un campo {1} correlato.\nAggiornare il bean correlato o impostare il nome del campo CMR su Nessuno. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=bean name -util.validation.schema_not_found=JDO72331: impossibile trovare lo schema {0} per il bean corrispondente alla classe generata {1}.\nRipristinare il file di schema. -# Validation message for related schema not found -# {0}=schema name -# {1}=related bean name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: impossibile trovare lo schema {0} per il bean correlato corrispondente alla classe generata {1} del campo {2}.\nRipristinare il file di schema. -# Validation message for schema not set but primary table set -# {0}=bean name -util.validation.schema_not_set=JDO72333: il bean corrispondente alla classe generata {0} non ha un insieme di schemi, ma \u00E8 mappato alle tabelle.\nAggiornare la propriet\u00E0 dello schema mappato per il bean o eliminare il mapping della tabella primaria. -# Validation message for schemas don't match -# {0}=bean name -# {1}=related bean name -# {2}=field name -util.validation.schema_mismatch=JDO72334: gli schemi per il bean corrispondente alla classe generata {0} e il bean correlato corrispondente alla classe generata {1} del campo {2} devono corrispondere.\nAggiornare la propriet\u00E0 dello schema mappato di uno dei bean. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=bean name -util.validation.table_no_primarykey=JDO72335: se la tabella {0} per il bean corrispondente alla classe generata {1} \u00E8 mappata come tabella primaria, deve avere una chiave primaria.\nScegliere una tabella primaria diversa o verificare che il contenuto del file di schema sia corretto. -# Validation message for table not found -# {0}=table name -# {1}=bean name -util.validation.table_not_found=JDO72336: impossibile trovare la tabella {0} per il bean corrispondente alla classe generata {1}.\nVerificare che il file di schema esista e che il relativo contenuto sia corretto. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: impossibile trovare la tabella {0} per il bean correlato del campo {1}.\nVerificare che il file di schema esista e che il relativo contenuto sia corretto. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=bean name -util.validation.table_mismatch=JDO72355: la relazione {1} \u00E8 mappata alla colonna {0} che non \u00E8 una delle tabelle primarie o secondarie mappate per il bean corrispondente alla classe generata {2}. \nAggiornare il mapping delle tabelle o il mapping di relazione. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.table_mismatch_related=JDO72338: la relazione {1} \u00E8 mappata alla colonna {0} che non \u00E8 una delle tabelle primarie o secondarie mappate per il bean correlato corrispondente alla classe generata {2}. \nAggiornare il mapping delle tabelle o il mapping di relazione. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=bean name -util.validation.column_not_found=JDO72339: impossibile trovare le colonne nella coppia di chiavi di riferimento {0} per la configurazione della tabella secondaria del bean corrispondente alla classe generata {1}.\nVerificare che il file di schema esista e che il contenuto sia corretto. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_not_found_related=JDO72340: impossibile trovare la colonna {0} per mappare il campo {1} nel bean corrispondente alla classe generata {2}.\nVerificare che il file di schema esista e che il contenuto sia corretto. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_invalid=JDO72341: impossibile trovare le colonne nella coppia di chiavi {0} per la relazione {1} nel bean corrispondente alla classe generata {2}.\nVerificare che il file di schema esista e che il contenuto sia corretto. - -# Validation messages for key class elements - -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: questo errore (La propriet\u00E0 della classe chiave per il bean corrispondente alla classe generata {0} non \u00E8 impostata) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: la classe di chiavi generata {0} per il bean corrispondente alla classe generata {1} non esiste. Verificare che la classe di chiavi esista e che sia specificata con un nome completamente qualificato. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: questo errore (La classe di chiavi generata {0} per il bean corrispondente alla classe generata {1} deve essere pubblico) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: questo errore (La classe di chiavi generata {0} per il bean corrispondente alla classe generata {1} deve implementare java.io.Serializable) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: questo errore (Se la classe di chiavi generata {0} per il bean corrispondente alla classe generata {1} \u00E8 definita come classe interna, deve essere statica) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: il tipo di campo non statico {0} della classe di chiavi non \u00E8 valido e d\u00E0 luogo a una classe di chiavi generata {1} non valida. I tipi validi sono: stringa, un tipo di numero o un tipo di data. Se si dispone di una classe di chiavi primarie definita dall''utente, il tipo pu\u00F2 anche essere primitivo.\nAggiornare il tipo di campo della classe di chiavi. -# Validation message for key class field must have the same type as the pc class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: questo errore (Il campo {0} della classe di chiavi generata {1} deve essere dello stesso tipo del campo corrispondente nel {2} con funzionalit\u00E0 di persistenza) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: questo errore (Tutti i campi chiave del bean corrispondente alla classe generata {0} devono essere presenti nella classe di chiavi {1}.\nAggiungere i seguenti campi chiave alla classe di chiavi generata: {2}) non dovrebbe verificarsi. Contattare il Supporto Oracle e segnalare un bug. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: questo errore (La classe di chiavi generata {0} per il bean corrispondente alla classe generata {1} deve definire un costruttore pubblico) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: questo errore (La classe di chiavi generata {0} per il bean corrispondente alla classe generata {1} deve ignorare il metodo equals di java.lang.Object) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: questo errore (La classe di chiavi generata {0} per il bean corrispondente alla classe generata {1} deve ignorare il metodo hashCode di java.lang.Object) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356: questo errore (Il bean corrispondente alla classe generata {0} deve avere esattamente un campo versione) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357: questo errore (Il campo relazione {0} non pu\u00F2 essere un campo versione) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358: questo errore (Il campo versione {0} ha un gruppo di recupero non valido. I campi versione devono appartenere al gruppo di recupero predefinito) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359: questo errore (Il campo {0} non pu\u00F2 essere un campo chiave in quanto \u00E8 definito come campo versione) non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360: questo errore (Il campo versione {0} deve essere di tipo ''lungo'') non dovrebbe verificarsi.\nContattare il Supporto Oracle e segnalare un bug. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361: il campo versione generato {0} deve essere mappato esattamente a una colonna.\nAggiornare il mapping della colonna versione. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362: la colonna versione {0} non \u00E8 nella tabella primaria per il bean corrispondente alla classe generata {2}.\nAggiornare la colonna versione. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363: la colonna versione {0} specificata per il bean corrispondente alla classe generata {2} non pu\u00F2 essere annullabile o non numerica.\nAggiornare lo schema o scegliere una colonna versione diversa. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364: la colonna versione {0} specificata per il bean corrispondente alla classe generata {2} non pu\u00F2 fare parte della chiave primaria.\nAggiornare lo schema o scegliere una colonna versione diversa. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364: la colonna versione {0} specificata per il bean corrispondente alla classe generata {2} non pu\u00F2 fare parte di una chiave esterna.\nAggiornare lo schema o scegliere una colonna versione diversa. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365: la colonna versione utilizzata dal campo versione generato {0} \u00E8 mappata anche a un campo CMP. I campi CMP non possono essere mappati alle colonne utilizzate per memorizzare i numeri di versione.\nAggiornare il mapping della colonna dei campi CMP o scegliere una colonna versione diversa. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_ja.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_ja.properties deleted file mode 100644 index 2e58dd1e312..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_ja.properties +++ /dev/null @@ -1,300 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# This file contains overrides for the messages defined in the -# "" section of file -# model/src/com/sun/jdo/api/persistence/model/Bundle.properties. -# -# The message ID for a given key in this file should be identical to the -# message ID for the corresponding key in the above file. No new messages -# should be added to this file without first defining them in the above -# file -- only overrides should be added to this file. -# -# Due to sub sections in the validation section, the order may not be sequential. - -# Validation messages for beans -# Validation message for bean not found -# {0}=class name -util.validation.class_not_found=JDO72300: \u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308BBean\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u4E0D\u6574\u5408\u306B\u3064\u3044\u3066\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30F3\u30C6\u30F3\u30C4(Bean\u3001\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u3001cmp-mapping\u3001ejb-jar)\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related bean not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: \u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308B\u95A2\u9023Bean\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u4E0D\u6574\u5408\u306B\u3064\u3044\u3066\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30F3\u30C6\u30F3\u30C4(Bean\u3001\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u3001cmp-mapping\u3001ejb-jar)\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for bean not a CMP bean -# {0}=bean name -util.validation.class_not_persistence_capable=JDO72302: \u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306F\u6709\u52B9\u306ACMP Bean\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\nBean\u3092\u6709\u52B9\u306ACMP Bean\u306B\u4FEE\u6B63\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related bean not a CMP bean -# {0}=bean name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: \u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308B\u95A2\u9023Bean\u306F\u6709\u52B9\u306ACMP Bean\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\nBean\u3092\u6709\u52B9\u306ACMP Bean\u306B\u4FEE\u6B63\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: \u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308BBean\u3092\u6C38\u7D9A\u53EF\u80FD\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u4E0D\u6574\u5408\u306B\u3064\u3044\u3066\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30F3\u30C6\u30F3\u30C4(Bean\u3001\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u3001cmp-mapping\u3001ejb-jar)\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: \u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308B\u95A2\u9023Bean\u3092\u6C38\u7D9A\u53EF\u80FD\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u4E0D\u6574\u5408\u306B\u3064\u3044\u3066\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30F3\u30C6\u30F3\u30C4(Bean\u3001\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u3001cmp-mapping\u3001ejb-jar)\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: \u3053\u306E\u30A8\u30E9\u30FC(\u30AF\u30E9\u30B9{0}\u306Fjava.io.Serializable\u3092\u5B9F\u88C5\u3059\u308B\u305F\u3081\u3001readObject\u30E1\u30BD\u30C3\u30C9\u3082\u5B9A\u7FA9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: \u3053\u306E\u30A8\u30E9\u30FC(\u30AF\u30E9\u30B9{0}\u306Fjava.io.Serializable\u3092\u5B9F\u88C5\u3059\u308B\u305F\u3081\u3001writeObject\u30E1\u30BD\u30C3\u30C9\u3082\u5B9A\u7FA9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for bean which has no CMP fields -# {0}=class name -util.validation.class_no_fields=JDO72308: \u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306B\u306F\u3001\u5C11\u306A\u304F\u3068\u30821\u3064\u306ECMP\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u5FC5\u8981\u3067\u3059\u3002\nBean\u306BCMP\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for bean which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: \u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306F\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\nBean\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: \u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868{1}\u306B\u542B\u307E\u308C\u308B\u3059\u3079\u3066\u306E\u4E3B\u30AD\u30FC\u5217\u306F\u3001\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u6B21\u306E\u4E3B\u30AD\u30FC\u5217\u3092\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044: {2}\u3002\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u3059\u3067\u306B\u3053\u308C\u3089\u306E\u5217\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u305D\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u3042\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306FCMP\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u3057\u3066\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001.java\u30D5\u30A1\u30A4\u30EB\u306B\u5B58\u5728\u3057\u307E\u305B\u3093\u3002\n\u4E0D\u6574\u5408\u306B\u3064\u3044\u3066\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30F3\u30C6\u30F3\u30C4(Bean\u3001\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u3001cmp-mapping\u3001ejb-jar)\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field not allowed to be a CMP field -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092CMP\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u4E0D\u6574\u5408\u306B\u3064\u3044\u3066\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30F3\u30C6\u30F3\u30C4(Bean\u3001\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u3001cmp-mapping\u3001ejb-jar)\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u3001\u6574\u5408\u7684\u306BCMP\u30D5\u30A3\u30FC\u30EB\u30C9\u307E\u305F\u306FCMR\u306E\u3044\u305A\u308C\u304B\u3068\u3057\u3066\u5B9A\u7FA9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u4E0D\u6574\u5408\u306B\u3064\u3044\u3066\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30F3\u30C6\u30F3\u30C4(Bean\u3001\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u3001cmp-mapping\u3001ejb-jar)\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u6574\u5408\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\n\u3053\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u304CCMP\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u3042\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092CMR\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u578B\u3092wrapper\u307E\u305F\u306Fprimitive\u306B\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\u578B\u304C\u6B63\u3057\u3044\u5834\u5408\u306F\u3001\u4E0D\u6574\u5408\u306B\u3064\u3044\u3066\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30F3\u30C6\u30F3\u30C4(Bean\u3001\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u3001cmp-mapping\u3001ejb-jar)\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u95A2\u4FC2\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u578B\u3092\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u307E\u305F\u306F\u305D\u306E\u4ED6\u306ECMP Bean\u306B\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\u578B\u304C\u6B63\u3057\u3044\u5834\u5408\u306F\u3001\u4E0D\u6574\u5408\u306B\u3064\u3044\u3066\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30F3\u30C6\u30F3\u30C4(Bean\u3001\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u3001cmp-mapping\u3001ejb-jar)\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u7121\u52B9\u306A\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u304C\u3042\u308A\u307E\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F\u3001\u7BA1\u7406\u5BFE\u8C61\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u6709\u52B9\u306A\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u7BA1\u7406\u5BFE\u8C61\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u306A\u3044\u5834\u5408\u306F\u3001{0}\u3068\u540C\u3058\u5217\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u308BCMR\u304C\u3053\u306EBean\u306B\u5B58\u5728\u3059\u308B\u5834\u5408\u3068\u540C\u69D8\u306B\u6271\u3046\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\n\u5225\u306E\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: \u30DE\u30C3\u30D4\u30F3\u30B0\u306B\u30E9\u30FC\u30B8\u30FB\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8(BLOB/CLOB\u306A\u3069)\u304C\u542B\u307E\u308C\u308B\u305F\u3081\u3001\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u30DE\u30C3\u30D4\u30F3\u30B0\u5217\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u3053\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u4E3B\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u306A\u3089\u306A\u3044\u3088\u3046\u306B\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324: The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u7121\u52B9\u306A\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u30FB\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u3059\u3002\n\u95A2\u4FC2\u306E\u578B\u3092set\u307E\u305F\u306Fgeneric\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u306B\u5909\u66F4\u3059\u308B\u304B\u3001CMR\u3092\u9664\u53BB\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u95A2\u9023Bean\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001\u5217\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\u95A2\u9023Bean\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u95A2\u4FC2\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u53D6\u308A\u6D88\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u7121\u52B9\u306A\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u304C\u3042\u308A\u307E\u3059\u3002\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u3001\u95A2\u4FC2\u306E\u4E21\u65B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u8A2D\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u95A2\u4FC2\u306E\u4E21\u7AEF\u306BCMR\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for inverse field which does not exist in the related bean -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related bean name -util.validation.related_class_mismatch=JDO72327: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u3001\u751F\u6210\u30AF\u30E9\u30B9{2}\u306B\u5BFE\u5FDC\u3059\u308B\u95A2\u9023Bean\u306B\u5B58\u5728\u3057\u306A\u3044\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u304C\u3042\u308A\u307E\u3059\u3002\n\u95A2\u9023Bean\u3092\u66F4\u65B0\u3057\u3001\u5FC5\u8981\u306B\u5FDC\u3058\u3066CMR\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u3092\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for inverse field set and no related bean set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u306F\u95A2\u9023Bean\u306F\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001\u95A2\u9023\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u304C\u3042\u308A\u307E\u3059\u3002\n\u95A2\u9023Bean\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001CMR\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u3092\u300C\u306A\u3057\u300D\u306B\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=bean name -util.validation.schema_not_found=JDO72331: \u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u30B9\u30AD\u30FC\u30DE{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u5FA9\u5143\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related schema not found -# {0}=schema name -# {1}=related bean name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: \u30D5\u30A3\u30FC\u30EB\u30C9{2}\u306E\u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308B\u95A2\u9023Bean\u306E\u30B9\u30AD\u30FC\u30DE{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u5FA9\u5143\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for schema not set but primary table set -# {0}=bean name -util.validation.schema_not_set=JDO72333: \u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306B\u306F\u30B9\u30AD\u30FC\u30DE\u30FB\u30BB\u30C3\u30C8\u304C\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u3053\u308C\u304C\u8868\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\nBean\u306E\u30DE\u30C3\u30D7\u6E08\u307F\u30B9\u30AD\u30FC\u30DE\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u3068\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u53D6\u308A\u6D88\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for schemas don't match -# {0}=bean name -# {1}=related bean name -# {2}=field name -util.validation.schema_mismatch=JDO72334: \u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u30B9\u30AD\u30FC\u30DE\u3068\u3001\u30D5\u30A3\u30FC\u30EB\u30C9{2}\u306E\u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u30B9\u30AD\u30FC\u30DE\u306F\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u3044\u305A\u308C\u304B\u306EBean\u306E\u30DE\u30C3\u30D7\u6E08\u307F\u30B9\u30AD\u30FC\u30DE\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=bean name -util.validation.table_no_primarykey=JDO72335: \u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u8868{0}\u304C\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u3068\u3057\u3066\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u4E3B\u30AD\u30FC\u304C\u5FC5\u8981\u3067\u3059\u3002\n\u5225\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u3092\u9078\u629E\u3059\u308B\u304B\u3001\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for table not found -# {0}=table name -# {1}=bean name -util.validation.table_not_found=JDO72336: \u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u8868{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3001\u305D\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: \u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u95A2\u9023Bean\u306E\u8868{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3001\u305D\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=bean name -util.validation.table_mismatch=JDO72355: \u95A2\u4FC2{1}\u306F\u3001\u751F\u6210\u3055\u308C\u308B\u30AF\u30E9\u30B9{2}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u3001\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u307E\u305F\u306F\u30BB\u30AB\u30F3\u30C0\u30EA\u8868\u306E\u5217\u3068\u306F\u7570\u306A\u308B\u5217{0}\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\u8868\u30DE\u30C3\u30D4\u30F3\u30B0\u307E\u305F\u306F\u95A2\u4FC2\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.table_mismatch_related=JDO72338: \u95A2\u4FC2{1}\u306F\u3001\u751F\u6210\u3055\u308C\u308B\u30AF\u30E9\u30B9{2}\u306B\u5BFE\u5FDC\u3059\u308B\u95A2\u9023Bean\u306E\u3001\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u307E\u305F\u306F\u30BB\u30AB\u30F3\u30C0\u30EA\u8868\u306E\u5217\u3068\u306F\u7570\u306A\u308B\u5217{0}\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n\u8868\u30DE\u30C3\u30D4\u30F3\u30B0\u307E\u305F\u306F\u95A2\u4FC2\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=bean name -util.validation.column_not_found=JDO72339: \u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u30BB\u30AB\u30F3\u30C0\u30EA\u8868\u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u306E\u305F\u3081\u306E\u53C2\u7167\u9375\u30DA\u30A2{0}\u306B\u5217\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3001\u305D\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_not_found_related=JDO72340: \u751F\u6210\u30AF\u30E9\u30B9{2}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u3092\u30DE\u30C3\u30D4\u30F3\u30B0\u3059\u308B\u305F\u3081\u306E\u5217{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3001\u305D\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_invalid=JDO72341: \u751F\u6210\u30AF\u30E9\u30B9{2}\u306B\u5BFE\u5FDC\u3059\u308BBean\u5185\u306E\u95A2\u4FC2{1}\u306E\u9375\u30DA\u30A2{0}\u306B\u5217\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u3001\u305D\u306E\u5185\u5BB9\u304C\u6B63\u3057\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# Validation messages for key class elements - -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: \u3053\u306E\u30A8\u30E9\u30FC(\u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: \u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u751F\u6210\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u304C\u5B58\u5728\u3057\u3001\u5B8C\u5168\u4FEE\u98FE\u540D\u3067\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: \u3053\u306E\u30A8\u30E9\u30FC(\u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u751F\u6210\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u306Fpublic\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: \u3053\u306E\u30A8\u30E9\u30FC(\u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u751F\u6210\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u306Fjava.io.Serializable\u3092\u5B9F\u88C5\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: \u3053\u306E\u30A8\u30E9\u30FC(\u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u751F\u6210\u306E\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u304C\u5185\u90E8\u30AF\u30E9\u30B9\u3068\u3057\u3066\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u9759\u7684\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: \u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u306E{0}\u304C\u7121\u52B9\u3067\u3042\u308B\u305F\u3081\u3001\u7121\u52B9\u306A\u751F\u6210\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{1}\u304C\u751F\u3058\u3066\u3044\u307E\u3059\u3002\u6709\u52B9\u306A\u578B\u306F\u3001String\u3001Number\u3001\u307E\u305F\u306FDate\u3067\u3059\u3002\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u306E\u4E3B\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u304C\u3042\u308B\u3068\u304D\u306F\u3001primitive\u578B\u3082\u6709\u52B9\u3067\u3059\u3002\n\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u578B\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for key class field must have the same type as the pc class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: \u3053\u306E\u30A8\u30E9\u30FC(\u751F\u6210\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{1}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306E\u578B\u306F\u3001\u6C38\u7D9A\u53EF\u80FD\u306A{2}\u306B\u542B\u307E\u308C\u308B\u5BFE\u5FDC\u3059\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: \u3053\u306E\u30A8\u30E9\u30FC(\u751F\u6210\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u3059\u3079\u3066\u306E\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u3001\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{1}\u306B\u5B58\u5728\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u751F\u6210\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9\u306B\u6B21\u306E\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044: {2})\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: \u3053\u306E\u30A8\u30E9\u30FC(\u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u751F\u6210\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u306F\u3001public\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u5B9A\u7FA9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: \u3053\u306E\u30A8\u30E9\u30FC(\u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u751F\u6210\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u306F\u3001java.lang.Object\u304B\u3089\u306Eequals\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: \u3053\u306E\u30A8\u30E9\u30FC(\u751F\u6210\u30AF\u30E9\u30B9{1}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u751F\u6210\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9{0}\u306F\u3001java.lang.Object\u304B\u3089\u306EhashCode\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356:\u3053\u306E\u30A8\u30E9\u30FC(\u751F\u6210\u3055\u308C\u308B\u30AF\u30E9\u30B9{0}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306F1\u3064\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u6301\u3064\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357:\u3053\u306E\u30A8\u30E9\u30FC(\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358:\u3053\u306E\u30A8\u30E9\u30FC(\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30B0\u30EB\u30FC\u30D7{0}\u306B\u7121\u52B9\u306A\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u304C\u3042\u308A\u307E\u3059\u3002\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30D5\u30A7\u30C3\u30C1\u30FB\u30B0\u30EB\u30FC\u30D7\u306B\u5C5E\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359:\u3053\u306E\u30A8\u30E9\u30FC(\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u3042\u308B\u305F\u3081\u3001\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360:\u3053\u306E\u30A8\u30E9\u30FC(\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306E\u30BF\u30A4\u30D7\u306F''long''\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059)\u306E\u767A\u751F\u306F\u554F\u984C\u3067\u3059\u3002\n\u30B5\u30DD\u30FC\u30C8\u306B\u9023\u7D61\u3057\u3001\u30D0\u30B0\u3092\u30D5\u30A1\u30A4\u30EA\u30F3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361:\u751F\u6210\u3055\u308C\u308B\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u30011\u3064\u306E\u5217\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u30D0\u30FC\u30B8\u30E7\u30F3\u5217\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362:\u30D0\u30FC\u30B8\u30E7\u30F3\u5217{0}\u306F\u3001\u751F\u6210\u3055\u308C\u308B\u30AF\u30E9\u30B9{2}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306E\u30D7\u30E9\u30A4\u30DE\u30EA\u8868\u306B\u542B\u307E\u308C\u307E\u305B\u3093\u3002\n\u30D0\u30FC\u30B8\u30E7\u30F3\u5217\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363:\u751F\u6210\u3055\u308C\u305F\u30AF\u30E9\u30B9{2}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306B\u6307\u5B9A\u3055\u308C\u305F\u30D0\u30FC\u30B8\u30E7\u30F3\u5217{0}\u3092\u3001null\u306B\u3067\u304D\u308B\u5217\u3001\u307E\u305F\u306F\u6570\u5024\u3067\u306F\u306A\u3044\u5217\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364:\u751F\u6210\u3055\u308C\u305F\u30AF\u30E9\u30B9{2}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306B\u6307\u5B9A\u3055\u308C\u305F\u30D0\u30FC\u30B8\u30E7\u30F3\u5217{0}\u3092\u3001\u4E3B\u30AD\u30FC\u306E\u4E00\u90E8\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u5217\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364:\u751F\u6210\u3055\u308C\u305F\u30AF\u30E9\u30B9{2}\u306B\u5BFE\u5FDC\u3059\u308BBean\u306B\u6307\u5B9A\u3055\u308C\u305F\u30D0\u30FC\u30B8\u30E7\u30F3\u5217{0}\u3092\u3001\u5916\u90E8\u30AD\u30FC\u306E\u4E00\u90E8\u306B\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\n\u30B9\u30AD\u30FC\u30DE\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u5217\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365:\u751F\u6210\u3055\u308C\u305F\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u304C\u4F7F\u7528\u3059\u308B\u30D0\u30FC\u30B8\u30E7\u30F3\u5217\u304C\u3001CMP\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3082\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u30D0\u30FC\u30B8\u30E7\u30F3\u756A\u53F7\u3092\u683C\u7D0D\u3059\u308B\u5217\u3068CMP\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30DE\u30C3\u30D4\u30F3\u30B0\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\nCMP\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5217\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F4\u65B0\u3059\u308B\u304B\u3001\u5225\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u5217\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_ko.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_ko.properties deleted file mode 100644 index 8a9b7404dfd..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_ko.properties +++ /dev/null @@ -1,300 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# This file contains overrides for the messages defined in the -# "" section of file -# model/src/com/sun/jdo/api/persistence/model/Bundle.properties. -# -# The message ID for a given key in this file should be identical to the -# message ID for the corresponding key in the above file. No new messages -# should be added to this file without first defining them in the above -# file -- only overrides should be added to this file. -# -# Due to sub sections in the validation section, the order may not be sequential. - -# Validation messages for beans -# Validation message for bean not found -# {0}=class name -util.validation.class_not_found=JDO72300: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uBAA8\uB4C8 \uB0B4\uC6A9(Bean, \uBC30\uCE58 \uAE30\uC220\uC790, cmp-mapping, ejb-jar)\uC5D0\uC11C \uBD88\uC77C\uCE58 \uC5EC\uBD80\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for related bean not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: {1} \uD544\uB4DC\uC758 \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 \uAD00\uB828 Bean\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uBAA8\uB4C8 \uB0B4\uC6A9(Bean, \uBC30\uCE58 \uAE30\uC220\uC790, cmp-mapping, ejb-jar)\uC5D0\uC11C \uBD88\uC77C\uCE58 \uC5EC\uBD80\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for bean not a CMP bean -# {0}=bean name -util.validation.class_not_persistence_capable=JDO72302: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC740 \uC801\uD569\uD55C CMP Bean\uC774 \uC544\uB2D9\uB2C8\uB2E4.\n \uC801\uD569\uD55C CMP Bean\uC73C\uB85C \uC218\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for related bean not a CMP bean -# {0}=bean name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: {1} \uD544\uB4DC\uC758 \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 \uAD00\uB828 Bean\uC740 \uC801\uD569\uD55C CMP Bean\uC774 \uC544\uB2D9\uB2C8\uB2E4.\n\uC801\uD569\uD55C CMP Bean\uC73C\uB85C \uC218\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC740 \uC9C0\uC18D\uC131\uC774 \uC788\uB294 Bean\uC774 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uBAA8\uB4C8 \uB0B4\uC6A9(Bean, \uBC30\uCE58 \uAE30\uC220\uC790, cmp-mapping, ejb-jar)\uC5D0\uC11C \uBD88\uC77C\uCE58 \uC5EC\uBD80\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: {1} \uD544\uB4DC\uC758 \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 \uAD00\uB828 Bean\uC740 \uC9C0\uC18D\uC131\uC774 \uC788\uB294 Bean\uC774 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uBAA8\uB4C8 \uB0B4\uC6A9(Bean, \uBC30\uCE58 \uAE30\uC220\uC790, cmp-mapping, ejb-jar)\uC5D0\uC11C \uBD88\uC77C\uCE58 \uC5EC\uBD80\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: \uC774 \uC624\uB958({0} \uD074\uB798\uC2A4\uB294 java.io.Serializable\uC744 \uAD6C\uD604\uD558\uAE30 \uB54C\uBB38\uC5D0 readObject \uBA54\uC18C\uB4DC\uB3C4 \uC815\uC758\uD574\uC57C \uD568)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: \uC774 \uC624\uB958({0} \uD074\uB798\uC2A4\uB294 java.io.Serializable\uC744 \uAD6C\uD604\uD558\uAE30 \uB54C\uBB38\uC5D0 writeObject \uBA54\uC18C\uB4DC\uB3C4 \uC815\uC758\uD574\uC57C \uD568)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for bean which has no CMP fields -# {0}=class name -util.validation.class_no_fields=JDO72308: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC5D0\uB294 CMP \uD544\uB4DC\uAC00 \uC801\uC5B4\uB3C4 \uD558\uB098 \uC774\uC0C1 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4.\nBean\uC5D0 CMP \uD544\uB4DC\uB97C \uCD94\uAC00\uD558\uC2ED\uC2DC\uC624. -# Validation message for bean which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC774 \uB9E4\uD551\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\nBean\uC758 \uAE30\uBCF8 \uD14C\uC774\uBE14\uC744 \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uAE30\uBCF8 \uD14C\uC774\uBE14 {1}\uC5D0 \uC788\uB294 \uBAA8\uB4E0 \uAE30\uBCF8 \uD0A4 \uC5F4\uC740 \uD0A4 \uD544\uB4DC\uC5D0 \uB9E4\uD551\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uB2E4\uC74C \uAE30\uBCF8 \uD0A4 \uC5F4\uC744 \uD0A4 \uD544\uB4DC\uC5D0 \uB9E4\uD551\uD558\uC2ED\uC2DC\uC624. {2}. \uC774\uB7EC\uD55C \uC5F4\uC5D0 \uC774\uBBF8 \uB9E4\uD551\uB41C \uD544\uB4DC\uAC00 \uC788\uB294 \uACBD\uC6B0 \uD0A4 \uD544\uB4DC\uC778\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: {0} \uD544\uB4DC\uB294 CMP \uD544\uB4DC\uB85C \uC9C0\uC815\uB418\uC5C8\uC9C0\uB9CC .java \uD30C\uC77C\uC5D0\uB294 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uBAA8\uB4C8 \uB0B4\uC6A9(Bean, \uBC30\uCE58 \uAE30\uC220\uC790, cmp-mapping, ejb-jar)\uC5D0\uC11C \uBD88\uC77C\uCE58 \uC5EC\uBD80\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for field not allowed to be a CMP field -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: {0} \uD544\uB4DC\uB294 CMP \uD544\uB4DC\uAC00 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uBAA8\uB4C8 \uB0B4\uC6A9(Bean, \uBC30\uCE58 \uAE30\uC220\uC790, cmp mapping, ejb-jar)\uC5D0\uC11C \uBD88\uC77C\uCE58 \uC5EC\uBD80\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: {0} \uD544\uB4DC\uB294 CMP \uD544\uB4DC\uB098 CMR\uB85C \uC77C\uAD00\uC131 \uC788\uAC8C \uC815\uC758\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uBAA8\uB4C8 \uB0B4\uC6A9(Bean, \uBC30\uCE58 \uAE30\uC220\uC790, cmp-mapping, ejb-jar)\uC5D0\uC11C \uBD88\uC77C\uCE58 \uC5EC\uBD80\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: {0} \uD544\uB4DC\uC5D0 \uC77C\uAD00\uC131\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC774 \uD544\uB4DC\uAC00 CMP \uD544\uB4DC\uC778\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: {0} \uD544\uB4DC\uB294 CMR\uC774 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uD544\uB4DC \uC720\uD615\uC744 \uB798\uD37C \uB610\uB294 \uC6D0\uC2DC \uC720\uD615\uC73C\uB85C \uBCC0\uACBD\uD558\uC2ED\uC2DC\uC624.\n\uC720\uD615\uC774 \uC815\uD655\uD55C \uACBD\uC6B0\uC5D0\uB294 \uBAA8\uB4C8 \uB0B4\uC6A9(Bean, \uBC30\uCE58 \uAE30\uC220\uC790, cmp-mapping, ejb-jar)\uC5D0\uC11C \uBD88\uC77C\uCE58 \uC5EC\uBD80\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: {0} \uD544\uB4DC\uB294 \uAD00\uACC4\uC5EC\uC57C \uD569\uB2C8\uB2E4.\n\uD544\uB4DC \uC720\uD615\uC744 \uBAA8\uC74C \uB610\uB294 \uAE30\uD0C0 CMP Bean\uC73C\uB85C \uBCC0\uACBD\uD558\uC2ED\uC2DC\uC624.\n\uC720\uD615\uC774 \uC815\uD655\uD55C \uACBD\uC6B0\uC5D0\uB294 \uBAA8\uB4C8 \uB0B4\uC6A9(Bean, \uBC30\uCE58 \uAE30\uC220\uC790, cmp-mapping, ejb-jar)\uC5D0\uC11C \uBD88\uC77C\uCE58 \uC5EC\uBD80\uB97C \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: {0} \uD544\uB4DC\uC5D0 \uBD80\uC801\uD569\uD55C \uC778\uCD9C \uADF8\uB8F9\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uAE30\uBCF8\uAC12\uC740 \uAD00\uB9AC \uB300\uC0C1 \uD544\uB4DC\uC5D0 \uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 \uC801\uD569\uD55C \uC778\uCD9C \uADF8\uB8F9\uC774 \uC544\uB2D9\uB2C8\uB2E4. \uD544\uB4DC\uAC00 \uAD00\uB9AC \uB300\uC0C1 \uD544\uB4DC\uAC00 \uC544\uB2CC \uACBD\uC6B0\uC5D0\uB294 {0}\uACFC(\uC640) \uAC19\uC740 \uC5F4\uC5D0 \uB9E4\uD551\uB41C \uC774 Bean\uC5D0 CMR\uC774 \uC788\uC73C\uBA74 \uAD00\uB9AC \uB300\uC0C1 \uD544\uB4DC\uB85C \uCDE8\uAE09\uB429\uB2C8\uB2E4.\n\uB2E4\uB978 \uC778\uCD9C \uADF8\uB8F9\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: \uB9E4\uD551\uC5D0 \uD070 \uAC1D\uCCB4(\uC608: BLOB/CLOB) \uC5F4\uC774 \uC788\uAE30 \uB54C\uBB38\uC5D0 {0} \uD544\uB4DC\uB294 \uD0A4 \uD544\uB4DC\uAC00 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC5F4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uC774 \uD544\uB4DC\uB97C \uBCC0\uACBD\uD558\uC5EC \uD574\uB2F9 \uD544\uB4DC\uAC00 \uAE30\uBCF8 \uD0A4 \uD544\uB4DC\uAC00 \uB418\uC9C0 \uC54A\uB3C4\uB85D \uD558\uC2ED\uC2DC\uC624. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324: The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: {0} \uD544\uB4DC\uC5D0 \uBD80\uC801\uD569\uD55C \uBAA8\uC74C \uD074\uB798\uC2A4\uAC00 \uC788\uC2B5\uB2C8\uB2E4.\n\uAD00\uACC4\uC758 \uC720\uD615\uC744 \uC9D1\uD569 \uB610\uB294 \uC77C\uBC18 \uBAA8\uC74C\uC73C\uB85C \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 CMR\uC744 \uC81C\uAC70\uD558\uC2ED\uC2DC\uC624. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: {0} \uD544\uB4DC\uC5D0 \uAD00\uB828 Bean\uC774 \uC124\uC815\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC9C0\uB9CC \uC5F4\uC5D0 \uB9E4\uD551\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.\n\uAD00\uB828 Bean\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uAD00\uACC4 \uB9E4\uD551\uC744 \uCDE8\uC18C\uD558\uC2ED\uC2DC\uC624. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: {0} \uD544\uB4DC\uC5D0 \uBD80\uC801\uD569\uD55C \uAD00\uB828 \uD544\uB4DC {1}\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4. \uAD00\uB828 \uD544\uB4DC\uB294 \uB450 \uAD00\uACC4 \uD544\uB4DC\uC5D0 \uB300\uD574 \uBAA8\uB450 \uC124\uC815\uD574\uC57C \uD569\uB2C8\uB2E4.\nCMR \uD544\uB4DC\uAC00 \uAD00\uACC4\uC758 \uC591\uCABD \uBAA8\uB450\uC5D0 \uC124\uC815\uB418\uC5B4 \uC788\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for inverse field which does not exist in the related bean -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related bean name -util.validation.related_class_mismatch=JDO72327: {0} \uD544\uB4DC\uC5D0\uB294 \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {2}\uC5D0 \uD574\uB2F9\uD558\uB294 \uAD00\uB828 Bean\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uB294 \uAD00\uB828 \uD544\uB4DC {1}\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4.\n\uAD00\uB828 Bean\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uACE0 \uD544\uC694\uD55C \uACBD\uC6B0 CMR \uD544\uB4DC \uC774\uB984\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for inverse field set and no related bean set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: {0} \uD544\uB4DC\uC5D0\uB294 \uAD00\uB828 Bean\uC774 \uC124\uC815\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC9C0\uB9CC \uAD00\uB828 \uD544\uB4DC {1}\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4.\n\uAD00\uB828 Bean\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 CMR \uD544\uB4DC \uC774\uB984\uC744 \uC5C6\uC74C\uC73C\uB85C \uC124\uC815\uD558\uC2ED\uC2DC\uC624. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=bean name -util.validation.schema_not_found=JDO72331: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 {0} \uC2A4\uD0A4\uB9C8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC744 \uBCF5\uC6D0\uD558\uC2ED\uC2DC\uC624. -# Validation message for related schema not found -# {0}=schema name -# {1}=related bean name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: {2} \uD544\uB4DC\uC758 \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 \uAD00\uB828 Bean\uC758 {0} \uC2A4\uD0A4\uB9C8\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC744 \uBCF5\uC6D0\uD558\uC2ED\uC2DC\uC624. -# Validation message for schema not set but primary table set -# {0}=bean name -util.validation.schema_not_set=JDO72333: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC740 \uC2A4\uD0A4\uB9C8\uAC00 \uC124\uC815\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC9C0\uB9CC \uD14C\uC774\uBE14\uC5D0 \uB9E4\uD551\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.\nBean\uC758 \uB9E4\uD551\uB41C \uC2A4\uD0A4\uB9C8 \uC18D\uC131\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uAE30\uBCF8 \uD14C\uC774\uBE14\uC758 \uB9E4\uD551\uC744 \uCDE8\uC18C\uD558\uC2ED\uC2DC\uC624. -# Validation message for schemas don't match -# {0}=bean name -# {1}=related bean name -# {2}=field name -util.validation.schema_mismatch=JDO72334: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uACFC {2} \uD544\uB4DC\uC758 \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 \uAD00\uB828 Bean\uC758 \uC2A4\uD0A4\uB9C8\uAC00 \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4.\n\uB450 Bean \uC911 \uD558\uB098\uC758 \uB9E4\uD551\uB41C \uC2A4\uD0A4\uB9C8 \uC18D\uC131\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=bean name -util.validation.table_no_primarykey=JDO72335: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 {0} \uD14C\uC774\uBE14\uC774 \uAE30\uBCF8 \uD14C\uC774\uBE14\uB85C \uB9E4\uD551\uB41C \uACBD\uC6B0\uC5D0\uB294 \uAE30\uBCF8 \uD0A4\uAC00 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uB2E4\uB978 \uAE30\uBCF8 \uD14C\uC774\uBE14\uC744 \uC120\uD0DD\uD558\uAC70\uB098 \uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC758 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for table not found -# {0}=table name -# {1}=bean name -util.validation.table_not_found=JDO72336: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 {0} \uD14C\uC774\uBE14\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uACE0 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: {1} \uD544\uB4DC\uC758 \uAD00\uB828 Bean\uC5D0 \uD574\uB2F9\uD558\uB294 {0} \uD14C\uC774\uBE14\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uACE0 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=bean name -util.validation.table_mismatch=JDO72355:{1} \uAD00\uACC4\uB294 \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {2}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uB9E4\uD551\uB41C \uAE30\uBCF8 \uB610\uB294 \uBCF4\uC870 \uD14C\uC774\uBE14 \uC911 \uD558\uB098\uAC00 \uC544\uB2CC {0} \uC5F4\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4. \n\uD14C\uC774\uBE14 \uB9E4\uD551 \uB610\uB294 \uAD00\uACC4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.table_mismatch_related=JDO72338:{1} \uAD00\uACC4\uB294 \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {2}\uC5D0 \uD574\uB2F9\uD558\uB294 \uAD00\uB828 Bean\uC758 \uB9E4\uD551\uB41C \uAE30\uBCF8 \uB610\uB294 \uBCF4\uC870 \uD14C\uC774\uBE14 \uC911 \uD558\uB098\uAC00 \uC544\uB2CC {0} \uC5F4\uC5D0 \uB9E4\uD551\uB429\uB2C8\uB2E4. \n\uD14C\uC774\uBE14 \uB9E4\uD551 \uB610\uB294 \uAD00\uACC4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=bean name -util.validation.column_not_found=JDO72339: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uBCF4\uC870 \uD14C\uC774\uBE14 \uC124\uC815 \uCC38\uC870 \uD0A4 \uC30D {0}\uC5D0\uC11C \uC5F4\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uACE0 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_not_found_related=JDO72340: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {2}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 {1} \uD544\uB4DC\uC758 \uB9E4\uD551\uC5D0 \uC0AC\uC6A9\uD560 {0} \uC5F4\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uACE0 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_invalid=JDO72341: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {2}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 {1} \uAD00\uACC4\uC5D0 \uB300\uD55C \uD0A4 \uC30D {0}\uC5D0\uC11C \uC5F4\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8 \uD30C\uC77C\uC774 \uC874\uC7AC\uD558\uACE0 \uB0B4\uC6A9\uC774 \uC815\uD655\uD55C\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. - -# Validation messages for key class elements - -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: \uC774 \uC624\uB958(\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uD0A4 \uD074\uB798\uC2A4 \uC18D\uC131\uC774 \uC124\uC815\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uC0DD\uC131\uB41C \uD0A4 \uD074\uB798\uC2A4 {0}\uC774(\uAC00) \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uD0A4 \uD074\uB798\uC2A4\uAC00 \uC874\uC7AC\uD558\uBA70 \uC815\uADDC\uD654\uB41C \uC774\uB984\uC774 \uC9C0\uC815\uB418\uC5B4 \uC788\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: \uC774 \uC624\uB958(\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uC0DD\uC131\uB41C \uD0A4 \uD074\uB798\uC2A4 {0}\uC740(\uB294) \uACF5\uC6A9\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: \uC774 \uC624\uB958(\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uC0DD\uC131\uB41C \uD0A4 \uD074\uB798\uC2A4 {0}\uC740(\uB294) java.io.Serializable\uC744 \uAD6C\uD604\uD574\uC57C \uD569\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: \uC774 \uC624\uB958(\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uC0DD\uC131\uB41C \uD0A4 \uD074\uB798\uC2A4 {0}\uC774(\uAC00) \uB0B4\uBD80 \uD074\uB798\uC2A4\uB85C \uC815\uC758\uB41C \uACBD\uC6B0 \uD0A4 \uD074\uB798\uC2A4\uB294 \uC815\uC801\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: \uD0A4 \uD074\uB798\uC2A4\uC758 \uBE44\uC815\uC801 \uD544\uB4DC {0}\uC758 \uC720\uD615\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC544 \uC0DD\uC131\uB41C \uD0A4 \uD074\uB798\uC2A4 {1}\uC774(\uAC00) \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. \uC801\uD569\uD55C \uC720\uD615\uC740 \uBB38\uC790\uC5F4, \uC22B\uC790 \uC720\uD615 \uB610\uB294 \uB0A0\uC9DC \uC720\uD615\uC785\uB2C8\uB2E4. \uC0AC\uC6A9\uC790\uAC00 \uC815\uC758\uD55C \uAE30\uBCF8 \uD0A4 \uD074\uB798\uC2A4\uAC00 \uC788\uB294 \uACBD\uC6B0\uC5D0\uB294 \uC6D0\uC2DC \uC720\uD615\uB3C4 \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.\n\uD0A4 \uD074\uB798\uC2A4 \uD544\uB4DC\uC758 \uC720\uD615\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for key class field must have the same type as the pc class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: \uC774 \uC624\uB958(\uC0DD\uC131\uB41C \uD0A4 \uD074\uB798\uC2A4 {1}\uC758 {0} \uD544\uB4DC\uB294 \uC9C0\uC18D\uC131\uC774 \uC788\uB294 {2}\uC758 \uD574\uB2F9 \uD544\uB4DC\uC640 \uAC19\uC740 \uC720\uD615\uC774\uC5B4\uC57C \uD568)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: \uC774 \uC624\uB958(\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uBAA8\uB4E0 \uD0A4 \uD544\uB4DC\uB294 \uD0A4 \uD074\uB798\uC2A4 {1}\uC5D0 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uB2E4\uC74C \uD0A4 \uD544\uB4DC\uB97C \uC0DD\uC131\uB41C \uD0A4 \uD074\uB798\uC2A4\uC5D0 \uCD94\uAC00\uD558\uC2ED\uC2DC\uC624. {2})\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4. \uACE0\uAC1D \uC9C0\uC6D0 \uC13C\uD130\uC5D0 \uBB38\uC758\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: \uC774 \uC624\uB958(\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uC0DD\uC131\uB41C \uD0A4 \uD074\uB798\uC2A4 {0}\uC740(\uB294) \uACF5\uC6A9 \uAD6C\uC131\uC790\uB97C \uC815\uC758\uD574\uC57C \uD569\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: \uC774 \uC624\uB958(\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uC0DD\uC131\uB41C \uD0A4 \uD074\uB798\uC2A4 {0}\uC740(\uB294) java.lang.Object\uC758 equals \uBA54\uC18C\uB4DC\uB97C \uB300\uCCB4\uD574\uC57C \uD569\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: \uC774 \uC624\uB958(\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {1}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uC0DD\uC131\uB41C \uD0A4 \uD074\uB798\uC2A4 {0}\uC740(\uB294) java.lang.Object\uC758 hashCode \uBA54\uC18C\uB4DC\uB97C \uB300\uCCB4\uD574\uC57C \uD569\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356:\uC774 \uC624\uB958(\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {0}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uBC84\uC804 \uD544\uB4DC\uB294 \uB2E8 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357:\uC774 \uC624\uB958(\uAD00\uACC4 \uD544\uB4DC {0}\uC740(\uB294) \uBC84\uC804 \uD544\uB4DC\uC77C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358:\uC774 \uC624\uB958(\uBC84\uC804 \uD544\uB4DC {0}\uC5D0 \uBD80\uC801\uD569\uD55C \uC778\uCD9C \uADF8\uB8F9\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uBC84\uC804 \uD544\uB4DC\uB294 \uAE30\uBCF8 \uC778\uCD9C \uADF8\uB8F9\uC5D0 \uC18D\uD574\uC57C \uD569\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359:\uC774 \uC624\uB958(\uD544\uB4DC {0}\uC740(\uB294) \uBC84\uC804 \uD544\uB4DC\uB85C \uC815\uC758\uB418\uAE30 \uB54C\uBB38\uC5D0 \uD0A4 \uD544\uB4DC\uAC00 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360:\uC774 \uC624\uB958(\uBC84\uC804 \uD544\uB4DC {0}\uC740(\uB294) ''long'' \uC720\uD615\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4)\uB294 \uBC1C\uC0DD\uD558\uBA74 \uC548\uB429\uB2C8\uB2E4.\n\uC9C0\uC6D0 \uBD80\uC11C\uC5D0 \uC5F0\uB77D\uD558\uC5EC \uBC84\uADF8\uB97C \uBCF4\uACE0\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361:\uC0DD\uC131\uB41C \uBC84\uC804 \uD544\uB4DC {0}\uC740(\uB294) \uB2E8 \uD558\uB098\uC758 \uC5F4\uC5D0 \uB9E4\uD551\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4.\n\uBC84\uC804 \uC5F4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362:\uBC84\uC804 \uC5F4 {0}\uC774(\uAC00) \uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {2}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC758 \uAE30\uBCF8 \uD14C\uC774\uBE14\uC5D0 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uBC84\uC804 \uC5F4\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363:\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {2}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC5D0 \uC9C0\uC815\uB41C \uBC84\uC804 \uC5F4 {0}\uC740(\uB294) \uB110 \uB610\uB294 \uC22B\uC790\uAC00 \uC544\uB2CC \uAC12\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uB2E4\uB978 \uBC84\uC804 \uC5F4\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364:\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {2}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC5D0 \uC9C0\uC815\uB41C \uBC84\uC804 \uC5F4 {0}\uC740(\uB294) \uAE30\uBCF8 \uD0A4\uC758 \uC77C\uBD80\uAC00 \uC544\uB2D9\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uB2E4\uB978 \uBC84\uC804 \uC5F4\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364:\uC0DD\uC131\uB41C \uD074\uB798\uC2A4 {2}\uC5D0 \uD574\uB2F9\uD558\uB294 Bean\uC5D0 \uC9C0\uC815\uB41C \uBC84\uC804 \uC5F4 {0}\uC740(\uB294) \uC678\uB798 \uD0A4\uC758 \uC77C\uBD80\uAC00 \uC544\uB2D9\uB2C8\uB2E4.\n\uC2A4\uD0A4\uB9C8\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uB2E4\uB978 \uBC84\uC804 \uC5F4\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365:\uC0DD\uC131\uB41C \uBC84\uC804 \uD544\uB4DC {0}\uC5D0\uC11C \uC0AC\uC6A9\uD558\uB294 \uBC84\uC804 \uC5F4\uC774 CMP \uD544\uB4DC\uC5D0\uB3C4 \uB9E4\uD551\uB429\uB2C8\uB2E4. CMP \uD544\uB4DC\uB294 \uBC84\uC804 \uBC88\uD638\uB97C \uC800\uC7A5\uD558\uB294 \uB370 \uC0AC\uC6A9\uB41C \uC5F4\uC5D0 \uB9E4\uD551\uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\nCMP \uD544\uB4DC\uC758 \uC5F4 \uB9E4\uD551\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uAC70\uB098 \uB2E4\uB978 \uBC84\uC804 \uC5F4\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_pt_BR.properties deleted file mode 100644 index 58160882f57..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_pt_BR.properties +++ /dev/null @@ -1,300 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# This file contains overrides for the messages defined in the -# "" section of file -# model/src/com/sun/jdo/api/persistence/model/Bundle.properties. -# -# The message ID for a given key in this file should be identical to the -# message ID for the corresponding key in the above file. No new messages -# should be added to this file without first defining them in the above -# file -- only overrides should be added to this file. -# -# Due to sub sections in the validation section, the order may not be sequential. - -# Validation messages for beans -# Validation message for bean not found -# {0}=class name -util.validation.class_not_found=JDO72300: N\u00E3o \u00E9 poss\u00EDvel localizar o bean correspondente \u00E0 classe gerada {0}.\nVerifique se h\u00E1 uma inconsist\u00EAncia no conte\u00FAdo de seu m\u00F3dulo (beans, descritor de implanta\u00E7\u00E3o, cmp-mapping, ejb-jar). -# Validation message for related bean not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: N\u00E3o \u00E9 poss\u00EDvel localizar o bean correspondente \u00E0 classe gerada {0} para o campo {1}.\nVerifique se h\u00E1 uma inconsist\u00EAncia no conte\u00FAdo de seu m\u00F3dulo (beans, descritor de implanta\u00E7\u00E3o, cmp-mapping, ejb-jar). -# Validation message for bean not a CMP bean -# {0}=bean name -util.validation.class_not_persistence_capable=JDO72302: O bean correspondente \u00E0 classe gerada {0} n\u00E3o \u00E9 um bean CMP v\u00E1lido.\nCorrija o bean para que seja um bean CMP v\u00E1lido. -# Validation message for related bean not a CMP bean -# {0}=bean name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: O bean correspondente \u00E0 classe gerada {0} para o campo {1} n\u00E3o \u00E9 um bean CMP v\u00E1lido.\nCorrija o bean para que seja um bean CMP v\u00E1lido. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: O bean correspondente \u00E0 classe gerada {0} n\u00E3o tem a permiss\u00E3o de ser de capacidade de persist\u00EAncia.\nVerifique se h\u00E1 uma inconsist\u00EAncia no conte\u00FAdo de seu m\u00F3dulo (beans, descritor de implanta\u00E7\u00E3o, cmp-mapping, ejb-jar). -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: O bean correspondente \u00E0 classe gerada {0} para o campo {1} n\u00E3o tem a permiss\u00E3o de ser de capacidade de persist\u00EAncia.\nVerifique se h\u00E1 uma inconsist\u00EAncia no conte\u00FAdo de seu m\u00F3dulo (beans, descritor de implanta\u00E7\u00E3o, cmp-mapping, ejb-jar). -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: Este erro (A classe {0} implementa o java.io.Serializable, portanto, tamb\u00E9m precisa definir o m\u00E9todo readObject) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: Este erro (A classe {0} implementa o java.io.Serializable, portanto, tamb\u00E9m precisa definir o m\u00E9todo writeObject) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for bean which has no CMP fields -# {0}=class name -util.validation.class_no_fields=JDO72308: O bean correspondente \u00E0 classe gerada {0} precisa ter ao menos um campo CMP.\nAdicione um campo CMP ao bean. -# Validation message for bean which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: O bean correspondente \u00E0 classe gerada {0} n\u00E3o est\u00E1 mapeado.\nDefina a tabela principal para o bean. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: Todas as colunas de chave prim\u00E1ria na tabela principal {1} do bean correspondente \u00E0 classe gerada {0} precisam ser mapeadas para campos chave.\nMapeie as seguintes colunas de chave prim\u00E1ria para campos chave: {2}. Caso j\u00E1 tenha campos mapeados para esta colunas, verifique se eles s\u00E3o campos chave. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: O campo {0} foi especificado como um campo CMP, mas ele n\u00E3o est\u00E1 no arquivo .java.\nVerifique se h\u00E1 uma inconsist\u00EAncia no conte\u00FAdo de seu m\u00F3dulo (beans, descritor de implanta\u00E7\u00E3o, cmp-mapping, ejb-jar). -# Validation message for field not allowed to be a CMP field -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: O campo "{0}" n\u00E3o tem a permiss\u00E3o de ser um campo CMP.\nVerifique se h\u00E1 uma inconsist\u00EAncia no conte\u00FAdo de seu m\u00F3dulo (beans, descritor de implanta\u00E7\u00E3o, cmp-mapping, ejb-jar). -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: O campo {0} precisa ser definido de forma consistente como um campo CMP ou CMR.\nVerifique se h\u00E1 uma inconsist\u00EAncia no conte\u00FAdo de seu m\u00F3dulo (beans, descritor de implanta\u00E7\u00E3o, cmp-mapping, ejb-jar). -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: O campo {0} \u00E9 inconsistente.\nAssegure que o campo seja um campo CMP. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: O campo "{0}" n\u00E3o tem a permiss\u00E3o de ser um CRM.\nAltere o tipo do campo para ser do tipo encapsulador ou primitivo.\nSe o tipo estiver correto, verifique se h\u00E1 uma inconsist\u00EAncia no conte\u00FAdo de seu m\u00F3dulo (beans, descritor de implanta\u00E7\u00E3o, cmp-mapping, ejb-jar). -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: O campo "{0}" precisa ser um relacionamento.\nAltere o tipo do campo para ser um conjunto ou outro bean CMP.\nSe o tipo estiver correto, verifique se h\u00E1 uma inconsist\u00EAncia no conte\u00FAdo de seu m\u00F3dulo (beans, descritor de implanta\u00E7\u00E3o, cmp-mapping, ejb-jar). -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: O campo {0} tem um grupo de extra\u00E7\u00E3o inv\u00E1lido. O default n\u00E3o \u00E9 um grupo de extra\u00E7\u00E3o v\u00E1lido para campos gerenciados. Se seu campo n\u00E3o for um campo gerenciado, ele poder\u00E1 ser tratado como tal se voc\u00EA tiver um CMR mapeado para a mesma coluna que {0}.\nSelecione outro grupo de extra\u00E7\u00E3o. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: O campo {0} n\u00E3o tem a permiss\u00E3o de ser um campo-chave, j\u00E1 que seu mapeamento cont\u00E9m uma coluna de objeto grande (e.g. BLOB/CLOB).\nAtualize o mapeamento de colunas ou altere este campo para que n\u00E3o seja um campo de chave prim\u00E1ria. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324: The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: O campo {0} tem uma classe de conjunto inv\u00E1lida.\nAtualize o tipo de relacionamento para que seja um conjunto gen\u00E9rico ou remova o CMR. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: O campo {0} n\u00E3o possui um bean relacionado definido, mas est\u00E1 mapeado \u00E0s colunas.\nAtualize o bean relacionado ou cancele o mapeamento do relacionamento. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: O campo {0} tem um campo relacionado inv\u00E1lido {1}. Os campos relacionados precisam ser definidos para ambos os campos de relacionamento.\nAssegure-se de que o campo CMR esteja definido em ambos os lados do relacionamento. -# Validation message for inverse field which does not exist in the related bean -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related bean name -util.validation.related_class_mismatch=JDO72327: O campo {0} possui um campo relacionado {1} que n\u00E3o existe no bean relacionado correspondente \u00E0 classe gerada {2}.\nAtualize o bean relacionado e atualize o nome do campo CMR se for necess\u00E1rio. -# Validation message for inverse field set and no related bean set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: O campo {0} n\u00E3o possui um bean relacionado definido, mas tem um campo relacionado {1}.\nAtualize o bean relacionado e defina o nome do campo CMR como Nenhum. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=bean name -util.validation.schema_not_found=JDO72331: N\u00E3o \u00E9 poss\u00EDvel encontrar o esquema {0} para o bean correspondente para a classe gerada {1}.\nRestaure o arquivo de esquema. -# Validation message for related schema not found -# {0}=schema name -# {1}=related bean name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: N\u00E3o \u00E9 poss\u00EDvel encontrar o esquema {0} para o bean relacionado correspondente para a classe gerada {1} do campo {2}.\nRestaure o arquivo de esquema. -# Validation message for schema not set but primary table set -# {0}=bean name -util.validation.schema_not_set=JDO72333: O bean correspondente \u00E0 classe gerada {0} n\u00E3o tem um esquema definido, mas est\u00E1 mapeado \u00E0s tabelas.\nAtualize a propriedade do esquema mapeado para o bean ou cancele o mapeamento da tabela principal. -# Validation message for schemas don't match -# {0}=bean name -# {1}=related bean name -# {2}=field name -util.validation.schema_mismatch=JDO72334: Os esquemas para o bean correspondente \u00E0 classe gerada {0} e seu bean relacionado correspondente \u00E0 classe gerada {1} do campo {2} precisam coincidir.\nAtualize a propriedade do esquema mapeado de um dos beans. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=bean name -util.validation.table_no_primarykey=JDO72335: Se a tabela {0} para o bean correspondente \u00E0 classe gerada {1} estiver mapeada como a tabela principal, ela precisa ter uma chave prim\u00E1ria.\nEscolha outra tabela principal ou verifique se o conte\u00FAdo do arquivo de esquema est\u00E1 correto. -# Validation message for table not found -# {0}=table name -# {1}=bean name -util.validation.table_not_found=JDO72336: N\u00E3o \u00E9 poss\u00EDvel encontrar a tabela {0} para o bean correspondente \u00E0 classe gerada {1}.\nVerifique se o arquivo de esquema existe e se o conte\u00FAdo est\u00E1 correto. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: N\u00E3o \u00E9 poss\u00EDvel localizar a tabela {0} para o bean relacionado do campo {1}.\nVerifique se o arquivo de esquema existe e se o conte\u00FAdo est\u00E1 correto. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=bean name -util.validation.table_mismatch=JDO72355: O relacionamento {1} est\u00E1 mapeado \u00E0 coluna {0} que n\u00E3o \u00E9 uma das tabelas principais ou secund\u00E1rias mapeadas para o bean correspondente \u00E0 classe gerada {2}. \nAtualize o mapeamento da tabela ou o mapeamento do relacionamento. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.table_mismatch_related=JDO72338:O relacionamento {1} est\u00E1 mapeado \u00E0 coluna {0} que n\u00E3o \u00E9 uma das tabelas principais ou secund\u00E1rias mapeadas para o bean relacionado correspondente \u00E0 classe gerada {2}. \nAtualize o mapeamento da tabela ou o mapeamento do relacionamento. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=bean name -util.validation.column_not_found=JDO72339: N\u00E3o \u00E9 poss\u00EDvel localizar as colunas em um par de chaves referenciadas {0} para a configura\u00E7\u00E3o da tabela secund\u00E1ria do bean correspondente \u00E0 classe gerada {1}.\nVerifique se o arquivo de esquema existe e se o conte\u00FAdo est\u00E1 correto. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_not_found_related=JDO72340: N\u00E3o \u00E9 poss\u00EDvel localizar a coluna {0} para mapear o campo {1} no bean correspondente \u00E0 classe gerada {2}.\nVerifique se o arquivo de esquema existe e se o conte\u00FAdo est\u00E1 correto. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_invalid=JDO72341: N\u00E3o \u00E9 poss\u00EDvel localizar as colunas no par de chaves {0} para o relacionamento {1} no bean correspondente \u00E0 classe gerada {2}.\nVerifique se o arquivo de esquema existe e se o conte\u00FAdo est\u00E1 correto. - -# Validation messages for key class elements - -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: Este erro (A propriedade da classe chave para o bean correspondente \u00E0 classe gerada {0} n\u00E3o est\u00E1 definida) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: A classe chave gerada {0} para o bean correspondente \u00E0 classe gerada {1} n\u00E3o existe. Verifique se sua classe chave existe e est\u00E1 especificada com um nome totalmente qualificado. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: Este erro (A classe chave gerada {0} para o bean correspondente \u00E0 classe gerada {1} precisa ser p\u00FAblica) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: Este erro (A classe chave gerada {0} para o bean correspondente \u00E0 classe gerada {1} precisa implementar o java.io.Serializable) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: Este erro (A classe chave gerada {0} para o bean correspondente \u00E0 classe gerada {1} est\u00E1 definida como uma classe interna mas deveria ser est\u00E1tica) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: O tipo de campo n\u00E3o est\u00E1tico {0} da classe de chave \u00E9 inv\u00E1lido, resultando em um classe de chave gerada inv\u00E1lida {1}. Os tipos v\u00E1lidos s\u00E3o: String, um tipo de n\u00FAmero ou um tipo de data. Caso voc\u00EA tenha uma classe de chave prim\u00E1ria definida pelo usu\u00E1rio, o tipo tamb\u00E9m pode ser um primitivo.\nAtualize o tipo do campo da classe de chave. -# Validation message for key class field must have the same type as the pc class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: Este erro (O campo {0} da classe chave {1} precisa ter o mesmo tipo que o campo correspondente na classe com capacidade de persist\u00EAncia {2}) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: Este erro (Todos os campos do bean correspondente \u00E0 classe gerada {0} precisam estar presentes na classe chave {1}.\nAdicione os seguintes campos chave \u00E0 classe chave: {2}) n\u00E3o deve ocorrer. Entre em contato com o suporte e registre um bug. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: Este erro (A classe chave gerada {0} para o bean correspondente \u00E0 classe gerada {1} precisa definir um construtor p\u00FAblico) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: Este erro (A classe chave gerada {0} para o bean correspondente \u00E0 classe gerada {1} deve substituir o m\u00E9todo de igualdade do java.lang.Object) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: Este erro (A classe chave gerada {0} para o bean correspondente \u00E0 classe gerada {1} precisa substituir o m\u00E9todo hashCode do java.lang.Object) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356:Este erro (O bean correspondente \u00E0 classe gerada {0} precisa ter exatamente um campo de vers\u00E3o) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357:Este erro (O campo de relacionamento "{0}" n\u00E3o tem a permiss\u00E3o de ser um campo de vers\u00E3o) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358:Este erro (O campo de vers\u00E3o {0} tem um grupo de extra\u00E7\u00E3o inv\u00E1lido. Os campos de vers\u00E3o precisam pertencer ao grupo de extra\u00E7\u00E3o default) para que o erro n\u00E3o ocorra.\nEntre em contato com o suporte e registre um bug. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359:Este erro (O campo {0} n\u00E3o tem a permiss\u00E3o de ser um campo chave, j\u00E1 est\u00E1 definido como um campo de vers\u00E3o) n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360:Este erro (O campo de vers\u00E3o "{0}" precisa ser do tipo "longo") n\u00E3o deve ocorrer.\nEntre em contato com o suporte e registre um bug. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361:O campo de vers\u00E3o gerado "{0}" precisa ser mapeado para exatamente uma coluna.\nAtualize o mapeamento de colunas de vers\u00E3o. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362:A coluna de vers\u00E3o {0} n\u00E3o \u00E9 a tabela principal para o bean correspondente \u00E0 classe gerada {2}.\nAtualize a coluna de vers\u00E3o. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363:A coluna de vers\u00E3o {0} especificada para o bean correspondente \u00E0 classe gerada {2} pode n\u00E3o ser anul\u00E1vel ou n\u00E3o num\u00E9rica.\nAtualize o esquema ou selecione outra coluna de vers\u00E3o. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364:A coluna de vers\u00E3o {0} especificada para o bean correspondente \u00E0 classe gerada {2} pode n\u00E3o ser parte da chave prim\u00E1ria.\nAtualize o esquema ou selecione outra coluna de vers\u00E3o. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364:A coluna de vers\u00E3o {0} especificada para o bean correspondente \u00E0 classe gerada {2} pode n\u00E3o ser parte da chave estrangeira.\nAtualize o esquema ou selecione outra coluna de vers\u00E3o. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365:A coluna de vers\u00E3o utilizada pelo campo de vers\u00E3o gerado {0} tamb\u00E9m est\u00E1 mapeada para um campo CMP. Os campos CMP n\u00E3o podem ser mapeados para colunas utilizadas para armazenar n\u00FAmeros de vers\u00E3o.\nAtualize o mapeamento de colunas dos campos CMP ou selecione outra coluna de vers\u00E3o. diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_zh_CN.properties deleted file mode 100644 index 5278b013ba7..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_zh_CN.properties +++ /dev/null @@ -1,300 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# This file contains overrides for the messages defined in the -# "" section of file -# model/src/com/sun/jdo/api/persistence/model/Bundle.properties. -# -# The message ID for a given key in this file should be identical to the -# message ID for the corresponding key in the above file. No new messages -# should be added to this file without first defining them in the above -# file -- only overrides should be added to this file. -# -# Due to sub sections in the validation section, the order may not be sequential. - -# Validation messages for beans -# Validation message for bean not found -# {0}=class name -util.validation.class_not_found=JDO72300: \u627E\u4E0D\u5230\u4E0E\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684 Bean\u3002\n\u8BF7\u68C0\u67E5\u6A21\u5757\u5185\u5BB9 (Bean, \u90E8\u7F72\u63CF\u8FF0\u7B26, cmp-mapping, ejb-jar) \u4E2D\u662F\u5426\u4E0D\u4E00\u81F4\u3002 -# Validation message for related bean not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: \u627E\u4E0D\u5230\u4E0E\u5B57\u6BB5 {1} \u7684\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684\u76F8\u5173 Bean\u3002\n\u8BF7\u68C0\u67E5\u6A21\u5757\u5185\u5BB9 (Bean, \u90E8\u7F72\u63CF\u8FF0\u7B26, cmp-mapping, ejb-jar) \u4E2D\u662F\u5426\u4E0D\u4E00\u81F4\u3002 -# Validation message for bean not a CMP bean -# {0}=bean name -util.validation.class_not_persistence_capable=JDO72302: \u4E0E\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684 Bean \u4E0D\u662F\u6709\u6548\u7684 CMP Bean\u3002\n\u8BF7\u5C06\u8BE5 Bean \u66F4\u6B63\u4E3A\u6709\u6548\u7684 CMP Bean\u3002 -# Validation message for related bean not a CMP bean -# {0}=bean name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: \u4E0E\u5B57\u6BB5 {1} \u7684\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684\u76F8\u5173 Bean \u4E0D\u662F\u6709\u6548\u7684 CMP Bean\u3002\n\u8BF7\u5C06\u8BE5 Bean \u66F4\u6B63\u4E3A\u6709\u6548\u7684 CMP Bean\u3002 -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: \u4E0D\u5141\u8BB8\u4E0E\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684 Bean \u5177\u6709\u6301\u4E45\u6027\u3002\n\u8BF7\u68C0\u67E5\u6A21\u5757\u5185\u5BB9 (Bean, \u90E8\u7F72\u63CF\u8FF0\u7B26, cmp-mapping, ejb-jar) \u4E2D\u662F\u5426\u4E0D\u4E00\u81F4\u3002 -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: \u4E0D\u5141\u8BB8\u4E0E\u5B57\u6BB5 {1} \u7684\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684\u76F8\u5173 Bean \u5177\u6709\u6301\u4E45\u6027\u3002\n\u8BF7\u68C0\u67E5\u6A21\u5757\u5185\u5BB9 (Bean, \u90E8\u7F72\u63CF\u8FF0\u7B26, cmp-mapping, ejb-jar) \u4E2D\u662F\u5426\u4E0D\u4E00\u81F4\u3002 -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: \u6B64\u9519\u8BEF (\u7C7B {0} \u5B9E\u73B0 java.io.Serializable, \u56E0\u6B64\u5B83\u8FD8\u5FC5\u987B\u5B9A\u4E49\u65B9\u6CD5 readObject) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: \u6B64\u9519\u8BEF (\u7C7B {0} \u5B9E\u73B0 java.io.Serializable, \u56E0\u6B64\u5B83\u8FD8\u5FC5\u987B\u5B9A\u4E49\u65B9\u6CD5 writeObject) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for bean which has no CMP fields -# {0}=class name -util.validation.class_no_fields=JDO72308: \u4E0E\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684 Bean \u5FC5\u987B\u81F3\u5C11\u6709\u4E00\u4E2A CMP \u5B57\u6BB5\u3002\n\u8BF7\u5C06 CMP \u5B57\u6BB5\u6DFB\u52A0\u5230 Bean\u3002 -# Validation message for bean which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: \u672A\u6620\u5C04\u4E0E\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684 Bean\u3002\n\u8BF7\u4E3A\u6B64 Bean \u8BBE\u7F6E\u4E3B\u8868\u3002 -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: \u4E0E\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684 Bean \u7684\u4E3B\u8868 {1} \u4E2D\u7684\u6240\u6709\u4E3B\u952E\u5217\u5FC5\u987B\u6620\u5C04\u5230\u952E\u5B57\u6BB5\u3002\n\u8BF7\u5C06\u4EE5\u4E0B\u4E3B\u952E\u5217\u6620\u5C04\u5230\u952E\u5B57\u6BB5: {2}\u3002\u5982\u679C\u60A8\u5DF2\u7ECF\u5C06\u5B57\u6BB5\u6620\u5C04\u5230\u8FD9\u4E9B\u5217, \u8BF7\u9A8C\u8BC1\u5B83\u4EEC\u662F\u5426\u4E3A\u952E\u5B57\u6BB5\u3002 - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: \u5DF2\u5C06\u5B57\u6BB5 {0} \u6307\u5B9A\u4E3A CMP \u5B57\u6BB5, \u4F46\u8BE5\u5B57\u6BB5\u4E0D\u5728 .java \u6587\u4EF6\u4E2D\u3002\n\u8BF7\u68C0\u67E5\u6A21\u5757\u5185\u5BB9 (Bean, \u90E8\u7F72\u63CF\u8FF0\u7B26, cmp-mapping, ejb-jar) \u4E2D\u662F\u5426\u4E0D\u4E00\u81F4\u3002 -# Validation message for field not allowed to be a CMP field -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: \u4E0D\u5141\u8BB8\u5B57\u6BB5 {0} \u4E3A CMP \u5B57\u6BB5\u3002\n\u8BF7\u68C0\u67E5\u6A21\u5757\u5185\u5BB9 (Bean, \u90E8\u7F72\u63CF\u8FF0\u7B26, cmp-mapping, ejb-jar) \u4E2D\u662F\u5426\u4E0D\u4E00\u81F4\u3002 -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: \u5B57\u6BB5 {0} \u5FC5\u987B\u4E00\u81F4\u5B9A\u4E49\u4E3A CMP \u5B57\u6BB5\u6216 CMR \u5B57\u6BB5\u3002\n\u8BF7\u68C0\u67E5\u6A21\u5757\u5185\u5BB9 (Bean, \u90E8\u7F72\u63CF\u8FF0\u7B26, cmp-mapping, ejb-jar) \u4E2D\u662F\u5426\u4E0D\u4E00\u81F4\u3002 -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: \u5B57\u6BB5 {0} \u4E0D\u4E00\u81F4\u3002\n\u8BF7\u786E\u4FDD\u8BE5\u5B57\u6BB5\u4E3A CMP \u5B57\u6BB5\u3002 -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: \u4E0D\u5141\u8BB8\u5B57\u6BB5 {0} \u4E3A CMR \u5B57\u6BB5\u3002\n\u8BF7\u5C06\u5B57\u6BB5\u7C7B\u578B\u66F4\u6539\u4E3A\u5305\u88C5\u6216\u57FA\u5143\u7C7B\u578B\u3002\n\u5982\u679C\u7C7B\u578B\u6B63\u786E, \u8BF7\u68C0\u67E5\u6A21\u5757\u5185\u5BB9 (Bean, \u90E8\u7F72\u63CF\u8FF0\u7B26, cmp-mapping, ejb-jar) \u4E2D\u662F\u5426\u4E0D\u4E00\u81F4\u3002 -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: \u5B57\u6BB5 {0} \u5FC5\u987B\u4E3A\u5173\u7CFB\u5B57\u6BB5\u3002\n\u8BF7\u5C06\u5B57\u6BB5\u7C7B\u578B\u66F4\u6539\u4E3A\u96C6\u5408\u6216\u5176\u4ED6 CMP Bean\u3002\n\u5982\u679C\u7C7B\u578B\u6B63\u786E, \u8BF7\u68C0\u67E5\u6A21\u5757\u5185\u5BB9 (Bean, \u90E8\u7F72\u63CF\u8FF0\u7B26, cmp-mapping, ejb-jar) \u4E2D\u662F\u5426\u4E0D\u4E00\u81F4\u3002 -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: \u5B57\u6BB5 {0} \u5177\u6709\u65E0\u6548\u83B7\u53D6\u7EC4\u3002\u9ED8\u8BA4\u503C\u4E0D\u662F\u7BA1\u7406\u5B57\u6BB5\u7684\u6709\u6548\u7684\u83B7\u53D6\u7EC4\u3002\u5982\u679C\u5B57\u6BB5\u4E0D\u662F\u7BA1\u7406\u5B57\u6BB5, \u5219\u53EF\u80FD\u4F1A\u5C06\u5176\u89C6\u4E3A\u7BA1\u7406\u5B57\u6BB5, \u6761\u4EF6\u662F\u6B64 Bean \u5177\u6709 CMR (\u6B64 Bean \u4E0E {0} \u6620\u5C04\u5230\u540C\u4E00\u5217)\u3002\n\u8BF7\u9009\u62E9\u5176\u4ED6\u83B7\u53D6\u7EC4\u3002 -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: \u5B57\u6BB5 {0} \u4E0D\u5141\u8BB8\u662F\u5173\u952E\u5B57\u6BB5, \u8FD9\u662F\u56E0\u4E3A\u5B83\u7684\u6620\u5C04\u4E2D\u5305\u542B\u5927\u5BF9\u8C61 (\u4F8B\u5982 BLOB/CLOB) \u5217\u3002\n\u8BF7\u66F4\u65B0\u5217\u6620\u5C04\u6216\u66F4\u6539\u6B64\u5B57\u6BB5, \u4EE5\u4F7F\u5B83\u4E0D\u662F\u4E3B\u952E\u5B57\u6BB5\u3002 -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324: The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: \u5B57\u6BB5 {0} \u5177\u6709\u65E0\u6548\u96C6\u5408\u7C7B\u3002\n\u8BF7\u5C06\u5173\u7CFB\u7C7B\u578B\u66F4\u65B0\u4E3A\u96C6\u6216\u901A\u7528\u96C6\u5408, \u6216\u8005\u5220\u9664 CMR\u3002 -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: \u5B57\u6BB5 {0} \u6CA1\u6709\u76F8\u5173\u7684 Bean \u96C6, \u4F46\u5B83\u6620\u5C04\u5230\u5217\u3002\n\u8BF7\u66F4\u65B0\u76F8\u5173\u7684 Bean \u6216\u53D6\u6D88\u6620\u5C04\u5173\u7CFB\u3002 -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: \u5B57\u6BB5 {0} \u5177\u6709\u65E0\u6548\u7684\u76F8\u5173\u5B57\u6BB5 {1}\u3002\u5FC5\u987B\u4E3A\u4E24\u4E2A\u5173\u7CFB\u5B57\u6BB5\u90FD\u8BBE\u7F6E\u76F8\u5173\u5B57\u6BB5\u3002\n\u786E\u4FDD\u5728\u5173\u7CFB\u7684\u53CC\u65B9\u90FD\u8BBE\u7F6E\u4E86 CMR \u5B57\u6BB5\u3002 -# Validation message for inverse field which does not exist in the related bean -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related bean name -util.validation.related_class_mismatch=JDO72327: \u5B57\u6BB5 {0} \u5177\u6709\u76F8\u5173\u5B57\u6BB5 {1}, \u8BE5\u5B57\u6BB5\u5728\u4E0E\u751F\u6210\u7684\u7C7B {2} \u5BF9\u5E94\u7684\u76F8\u5173 Bean \u4E2D\u4E0D\u5B58\u5728\u3002\n\u5982\u679C\u9700\u8981, \u5219\u66F4\u65B0\u76F8\u5173 Bean \u5E76\u66F4\u65B0 CMR \u5B57\u6BB5\u540D\u79F0\u3002 -# Validation message for inverse field set and no related bean set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: \u5B57\u6BB5 {0} \u6CA1\u6709\u76F8\u5173\u7684 Bean \u96C6, \u4F46\u5177\u6709\u76F8\u5173\u7684\u5B57\u6BB5 {1}\u3002\n\u8BF7\u66F4\u65B0\u76F8\u5173\u7684 Bean \u6216\u5C06 CMR \u5B57\u6BB5\u540D\u79F0\u8BBE\u7F6E\u4E3A\u201C\u65E0\u201D\u3002 - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=bean name -util.validation.schema_not_found=JDO72331: \u627E\u4E0D\u5230\u4E0E\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684 Bean \u7684\u6A21\u5F0F {0}\u3002\n\u8BF7\u8FD8\u539F\u6A21\u5F0F\u6587\u4EF6\u3002 -# Validation message for related schema not found -# {0}=schema name -# {1}=related bean name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: \u627E\u4E0D\u5230\u4E0E\u5B57\u6BB5 {2} \u7684\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684\u76F8\u5173 Bean \u7684\u6A21\u5F0F {0}\u3002\n\u8BF7\u8FD8\u539F\u6A21\u5F0F\u6587\u4EF6\u3002 -# Validation message for schema not set but primary table set -# {0}=bean name -util.validation.schema_not_set=JDO72333: \u4E0E\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684 Bean \u6CA1\u6709\u6A21\u5F0F\u96C6, \u4F46\u5B83\u5DF2\u6620\u5C04\u5230\u8868\u3002\n\u8BF7\u66F4\u65B0 Bean \u7684\u6620\u5C04\u6A21\u5F0F\u5C5E\u6027\u6216\u53D6\u6D88\u6620\u5C04\u4E3B\u8868\u3002 -# Validation message for schemas don't match -# {0}=bean name -# {1}=related bean name -# {2}=field name -util.validation.schema_mismatch=JDO72334: \u4E0E\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684 Bean \u4E0E\u5BF9\u5E94\u4E8E\u5B57\u6BB5 {2} \u7684\u751F\u6210\u7684\u7C7B {1} \u7684\u5176\u76F8\u5173 Bean \u7684\u6A21\u5F0F\u5FC5\u987B\u5339\u914D\u3002\n\u8BF7\u66F4\u65B0\u5176\u4E2D\u4E00\u4E2A Bean \u7684\u6620\u5C04\u6A21\u5F0F\u5C5E\u6027\u3002 -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=bean name -util.validation.table_no_primarykey=JDO72335: \u5982\u679C\u4E0E\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684 Bean \u7684\u8868 {0} \u6620\u5C04\u4E3A\u4E3B\u8868, \u5219\u5B83\u5FC5\u987B\u6709\u4E3B\u952E\u3002\n\u8BF7\u9009\u62E9\u5176\u4ED6\u4E3B\u8868, \u6216\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u7684\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 -# Validation message for table not found -# {0}=table name -# {1}=bean name -util.validation.table_not_found=JDO72336: \u627E\u4E0D\u5230\u4E0E\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684 Bean \u7684\u8868 {0}\u3002\n\u8BF7\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u662F\u5426\u5B58\u5728, \u4EE5\u53CA\u5176\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: \u627E\u4E0D\u5230\u5B57\u6BB5 {1} \u7684\u76F8\u5173 Bean \u7684\u8868 {0}\u3002\n\u8BF7\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u662F\u5426\u5B58\u5728, \u4EE5\u53CA\u5176\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=bean name -util.validation.table_mismatch=JDO72355: \u5173\u7CFB {1} \u6620\u5C04\u5230\u5217 {0}, \u6B64\u5217\u4E0D\u662F\u4E0E\u751F\u6210\u7684\u7C7B {2} \u5BF9\u5E94\u7684 Bean \u7684\u5DF2\u6620\u5C04\u4E3B\u8868\u6216\u8F85\u52A9\u8868\u4E4B\u4E00\u3002\n\u8BF7\u66F4\u65B0\u8868\u6620\u5C04\u6216\u5173\u7CFB\u6620\u5C04\u3002 -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.table_mismatch_related=JDO72338: \u5173\u7CFB {1} \u6620\u5C04\u5230\u5217 {0}, \u6B64\u5217\u4E0D\u662F\u4E0E\u751F\u6210\u7684\u7C7B {2} \u5BF9\u5E94\u7684 Bean \u7684\u5DF2\u6620\u5C04\u4E3B\u8868\u6216\u8F85\u52A9\u8868\u4E4B\u4E00\u3002\n\u8BF7\u66F4\u65B0\u8868\u6620\u5C04\u6216\u5173\u7CFB\u6620\u5C04\u3002 -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=bean name -util.validation.column_not_found=JDO72339: \u627E\u4E0D\u5230\u4E0E\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684 Bean \u7684\u8F85\u52A9\u8868\u8BBE\u7F6E\u7684\u5F15\u7528\u952E\u5BF9 {0} \u4E2D\u7684\u5217\u3002\n\u8BF7\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u662F\u5426\u5B58\u5728, \u4EE5\u53CA\u5176\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_not_found_related=JDO72340: \u627E\u4E0D\u5230\u7528\u4E8E\u6620\u5C04\u4E0E\u751F\u6210\u7684\u7C7B {2} \u5BF9\u5E94\u7684 Bean \u4E2D\u7684\u5B57\u6BB5 {1} \u7684\u5217 {0}\u3002\n\u8BF7\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u662F\u5426\u5B58\u5728, \u4EE5\u53CA\u5176\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_invalid=JDO72341: \u627E\u4E0D\u5230\u4E0E\u751F\u6210\u7684\u7C7B {2} \u5BF9\u5E94\u7684 Bean \u4E2D\u7684\u5173\u7CFB {1} \u7684\u952E\u5BF9 {0} \u4E2D\u7684\u5217\u3002\n\u8BF7\u9A8C\u8BC1\u6A21\u5F0F\u6587\u4EF6\u662F\u5426\u5B58\u5728, \u4EE5\u53CA\u5176\u5185\u5BB9\u662F\u5426\u6B63\u786E\u3002 - -# Validation messages for key class elements - -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: \u6B64\u9519\u8BEF (\u672A\u8BBE\u7F6E\u4E0E\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684 Bean \u7684\u952E\u7C7B\u5C5E\u6027) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: \u4E0E\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684 Bean \u7684\u751F\u6210\u7684\u952E\u7C7B {0} \u4E0D\u5B58\u5728\u3002\u8BF7\u9A8C\u8BC1\u952E\u7C7B\u662F\u5426\u5B58\u5728, \u4EE5\u53CA\u662F\u5426\u4EE5\u5168\u9650\u5B9A\u540D\u79F0\u6307\u5B9A\u3002 -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: \u6B64\u9519\u8BEF (\u4E0E\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684 Bean \u7684\u751F\u6210\u7684\u952E\u7C7B {0} \u5FC5\u987B\u4E3A\u516C\u5171\u7C7B) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: \u6B64\u9519\u8BEF (\u4E0E\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684 Bean \u7684\u751F\u6210\u7684\u952E\u7C7B {0} \u5FC5\u987B\u5B9E\u73B0 java.io.Serializable) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: \u6B64\u9519\u8BEF (\u4E0E\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684 Bean \u7684\u751F\u6210\u7684\u952E\u7C7B {0} \u5B9A\u4E49\u4E3A\u5185\u90E8\u7C7B\u65F6, \u5B83\u5FC5\u987B\u4E3A\u9759\u6001) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: \u952E\u7C7B\u7684\u975E\u9759\u6001\u5B57\u6BB5 {0} \u7684\u7C7B\u578B\u65E0\u6548, \u5BFC\u81F4\u751F\u6210\u65E0\u6548\u7684\u952E\u7C7B {1}\u3002\u6709\u6548\u7684\u7C7B\u578B\u4E3A: String, \u4E00\u4E2A Number \u7C7B\u578B, \u6216\u4E00\u4E2A Date \u7C7B\u578B\u3002\u5982\u679C\u60A8\u6709\u4E00\u4E2A\u7528\u6237\u5B9A\u4E49\u7684\u4E3B\u952E\u7C7B, \u7C7B\u578B\u4E5F\u5E94\u662F\u57FA\u5143\u7C7B\u578B\u3002\n\u8BF7\u66F4\u65B0\u952E\u7C7B\u5B57\u6BB5\u7684\u7C7B\u578B\u3002 -# Validation message for key class field must have the same type as the pc class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: \u6B64\u9519\u8BEF (\u751F\u6210\u7684\u952E\u7C7B {1} \u7684\u5B57\u6BB5 {0} \u5FC5\u987B\u4E0E\u5177\u6709\u6301\u4E45\u6027\u7684 {2} \u4E2D\u7684\u5BF9\u5E94\u5B57\u6BB5\u5177\u6709\u76F8\u540C\u7C7B\u578B) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: \u6B64\u9519\u8BEF (\u4E0E\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684 Bean \u7684\u6240\u6709\u952E\u5B57\u6BB5\u5FC5\u987B\u5728\u952E\u7C7B {1} \u4E2D\u5B58\u5728\u3002\n\u8BF7\u5C06\u4EE5\u4E0B\u952E\u5B57\u6BB5\u6DFB\u52A0\u5230\u751F\u6210\u7684\u952E\u7C7B: {2}) \u4E0D\u5E94\u53D1\u751F\u3002\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: \u6B64\u9519\u8BEF (\u4E0E\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684 Bean \u7684\u751F\u6210\u7684\u952E\u7C7B {0} \u5FC5\u987B\u5B9A\u4E49\u516C\u5171\u6784\u9020\u5668) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: \u6B64\u9519\u8BEF (\u4E0E\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684 Bean \u7684\u751F\u6210\u7684\u952E\u7C7B {0} \u5FC5\u987B\u8986\u76D6 java.lang.Object \u4E2D\u7684 equals \u65B9\u6CD5) \u4E0D\u5E94\u53D1\u751F\u3002\n\\\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: \u6B64\u9519\u8BEF (\u4E0E\u751F\u6210\u7684\u7C7B {1} \u5BF9\u5E94\u7684 Bean \u7684\u751F\u6210\u7684\u952E\u7C7B {0} \u5FC5\u987B\u8986\u76D6 java.lang.Object \u4E2D\u7684 hashCode \u65B9\u6CD5) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356: \u6B64\u9519\u8BEF (\u4E0E\u751F\u6210\u7684\u7C7B {0} \u5BF9\u5E94\u7684 Bean \u5FC5\u987B\u5177\u6709\u4E00\u4E2A\u7248\u672C\u5B57\u6BB5) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357: \u6B64\u9519\u8BEF (\u5173\u7CFB\u5B57\u6BB5 {0} \u4E0D\u80FD\u7528\u4F5C\u7248\u672C\u5B57\u6BB5) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358: \u6B64\u9519\u8BEF (\u7248\u672C\u5B57\u6BB5 {0} \u5177\u6709\u65E0\u6548\u7684\u83B7\u53D6\u7EC4\u3002\u7248\u672C\u5B57\u6BB5\u5FC5\u987B\u5C5E\u4E8E\u9ED8\u8BA4\u83B7\u53D6\u7EC4) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359: \u6B64\u9519\u8BEF (\u5B57\u6BB5 {0} \u4E0D\u80FD\u7528\u4F5C\u952E\u5B57\u6BB5, \u56E0\u4E3A\u5B83\u5DF2\u88AB\u5B9A\u4E49\u4E3A\u7248\u672C\u5B57\u6BB5) \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360: \u6B64\u9519\u8BEF (\u7248\u672C\u5B57\u6BB5 {0} \u7684\u7C7B\u578B\u5FC5\u987B\u4E3A ''\u957F\u6574\u578B'') \u4E0D\u5E94\u53D1\u751F\u3002\n\u8BF7\u4E0E\u652F\u6301\u4EBA\u5458\u8054\u7CFB, \u5E76\u4E0A\u62A5 Bug\u3002 -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361: \u5FC5\u987B\u5C06\u751F\u6210\u7684\u7248\u672C\u5B57\u6BB5 {0} \u6620\u5C04\u5230\u4E00\u4E2A\u5217\u3002\n\u66F4\u65B0\u7248\u672C\u5217\u6620\u5C04\u3002 -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362: \u7248\u672C\u5217 {0} \u4E0D\u5728\u4E0E\u751F\u6210\u7684\u7C7B {2} \u5BF9\u5E94\u7684 Bean \u7684\u4E3B\u8868\u4E2D\u3002\n\\\u8BF7\u66F4\u65B0\u7248\u672C\u5217\u3002 -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363: \u4E3A\u4E0E\u751F\u6210\u7684\u7C7B {2} \u5BF9\u5E94\u7684 Bean \u6240\u6307\u5B9A\u7684\u7248\u672C\u5217 {0} \u4E0D\u53EF\u4E3A\u7A7A\u503C\u6216\u975E\u6570\u5B57\u3002\n\u8BF7\u66F4\u65B0\u6A21\u5F0F\u6216\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5217\u3002 -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364: \u4E3A\u4E0E\u751F\u6210\u7684\u7C7B {2} \u5BF9\u5E94\u7684 Bean \u6240\u6307\u5B9A\u7684\u7248\u672C\u5217 {0} \u4E0D\u53EF\u4EE5\u662F\u4E3B\u952E\u7684\u4E00\u90E8\u5206\u3002\n\u8BF7\u66F4\u65B0\u6A21\u5F0F\u6216\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5217\u3002 -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364: \u4E3A\u4E0E\u751F\u6210\u7684\u7C7B {2} \u5BF9\u5E94\u7684 Bean \u6240\u6307\u5B9A\u7684\u7248\u672C\u5217 {0} \u4E0D\u53EF\u4EE5\u662F\u5916\u952E\u7684\u4E00\u90E8\u5206\u3002\n\u8BF7\u66F4\u65B0\u6A21\u5F0F\u6216\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5217\u3002 -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365: \u751F\u6210\u7684\u7248\u672C\u5B57\u6BB5 {0} \u6240\u4F7F\u7528\u7684\u7248\u672C\u5217\u4E5F\u6620\u5C04\u5230 CMP \u5B57\u6BB5\u3002\u4E0D\u80FD\u5C06 CMP \u5B57\u6BB5\u6620\u5C04\u5230\u7528\u4E8E\u5B58\u50A8\u7248\u672C\u53F7\u7684\u5217\u4E2D\u3002\n\u8BF7\u66F4\u65B0 CMP \u5B57\u6BB5\u7684\u5217\u6620\u5C04\u6216\u9009\u62E9\u5176\u4ED6\u7248\u672C\u5217\u3002 diff --git a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_zh_TW.properties deleted file mode 100644 index 30e56b287a9..00000000000 --- a/appserver/persistence/cmp-l10n/support-ejb-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/ejb/model/Bundle_zh_TW.properties +++ /dev/null @@ -1,300 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# This file contains overrides for the messages defined in the -# "" section of file -# model/src/com/sun/jdo/api/persistence/model/Bundle.properties. -# -# The message ID for a given key in this file should be identical to the -# message ID for the corresponding key in the above file. No new messages -# should be added to this file without first defining them in the above -# file -- only overrides should be added to this file. -# -# Due to sub sections in the validation section, the order may not be sequential. - -# Validation messages for beans -# Validation message for bean not found -# {0}=class name -util.validation.class_not_found=JDO72300\uFF1A\u627E\u4E0D\u5230\u8207\u6240\u7522\u751F\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u7684 Bean\u3002\n\u8ACB\u5728\u6A21\u7D44\u5167\u5BB9 (Bean\u3001\u5EFA\u7F6E\u63CF\u8FF0\u5143\u3001cmp-mapping\u3001ejb-jar) \u4E2D\u6AA2\u67E5\u4E0D\u4E00\u81F4\u7684\u60C5\u6CC1\u3002 -# Validation message for related bean not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301\uFF1A\u627E\u4E0D\u5230\u8207\u70BA\u6B04\u4F4D {1} \u7522\u751F\u7684\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u7684\u76F8\u95DC Bean\u3002\n\u8ACB\u5728\u6A21\u7D44\u5167\u5BB9 (Bean\u3001\u5EFA\u7F6E\u63CF\u8FF0\u5143\u3001cmp-mapping\u3001ejb-jar) \u4E2D\u6AA2\u67E5\u4E0D\u4E00\u81F4\u7684\u60C5\u6CC1\u3002 -# Validation message for bean not a CMP bean -# {0}=bean name -util.validation.class_not_persistence_capable=JDO72302\uFF1A\u8207\u6240\u7522\u751F\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u7684 Bean \u4E0D\u662F\u6709\u6548\u7684 CMP Bean\u3002\n\u8ACB\u5C07\u8A72 Bean \u6821\u6B63\u70BA\u6709\u6548\u7684 CMP Bean\u3002 -# Validation message for related bean not a CMP bean -# {0}=bean name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303\uFF1A\u8207\u70BA\u6B04\u4F4D {1} \u7522\u751F\u7684\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u7684\u76F8\u95DC Bean \u4E0D\u662F\u6709\u6548\u7684 CMP Bean\u3002\n\u8ACB\u5C07\u8A72 Bean \u6821\u6B63\u70BA\u6709\u6548\u7684 CMP Bean\u3002 -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304\uFF1A\u4E0D\u5141\u8A31\u8207\u6240\u7522\u751F\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u7684 Bean \u5177\u6709\u6301\u7E8C\u6027\u3002\n\u8ACB\u5728\u6A21\u7D44\u5167\u5BB9 (Bean\u3001\u5EFA\u7F6E\u63CF\u8FF0\u5143\u3001cmp-mapping\u3001ejb-jar) \u4E2D\u6AA2\u67E5\u4E0D\u4E00\u81F4\u7684\u60C5\u6CC1\u3002 -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305\uFF1A\u4E0D\u5141\u8A31\u8207\u70BA\u6B04\u4F4D {1} \u7522\u751F\u7684\u985E\u5225 {0} \u5C0D\u61C9\u7684\u76F8\u95DC Bean \u5177\u6709\u6301\u7E8C\u6027\u3002\n\u8ACB\u5728\u6A21\u7D44\u5167\u5BB9 (Bean\u3001\u5EFA\u7F6E\u63CF\u8FF0\u5143\u3001cmp-mapping\u3001ejb-jar) \u4E2D\u6AA2\u67E5\u4E0D\u4E00\u81F4\u7684\u60C5\u6CC1\u3002 -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306\uFF1A\u6B64\u932F\u8AA4 (\u985E\u5225 {0} \u5BE6\u884C java.io.Serializable\uFF0C\u56E0\u6B64\u5B83\u9084\u5FC5\u9808\u5B9A\u7FA9\u65B9\u6CD5 readObject) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307\uFF1A\u6B64\u932F\u8AA4 (\u985E\u5225 {0} \u5BE6\u884C java.io.Serializable\uFF0C\u56E0\u6B64\u5B83\u9084\u5FC5\u9808\u5B9A\u7FA9\u65B9\u6CD5 writeObject) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for bean which has no CMP fields -# {0}=class name -util.validation.class_no_fields=JDO72308\uFF1A\u8207\u6240\u7522\u751F\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u7684 Bean \u5FC5\u9808\u81F3\u5C11\u5177\u6709\u4E00\u500B CMP \u6B04\u4F4D\u3002\n\u8ACB\u589E\u52A0\u4E00\u500B CMP \u6B04\u4F4D\u81F3 Bean\u3002 -# Validation message for bean which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309\uFF1A\u672A\u5C0D\u61C9\u8207\u6240\u7522\u751F\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u7684 Bean\u3002\n\u8ACB\u70BA Bean \u8A2D\u5B9A\u4E3B\u8868\u683C\u3002 -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310\uFF1A\u8207\u6240\u7522\u751F\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u7684 Bean \u4E4B\u4E3B\u8868\u683C {1} \u4E2D\u7684\u6240\u6709\u4E3B\u9375\u6B04\u5FC5\u9808\u5C0D\u61C9\u81F3\u9375\u6B04\u4F4D\u3002\n\u8ACB\u5C07\u4E0B\u5217\u4E3B\u9375\u6B04\u5C0D\u61C9\u81F3\u9375\u6B04\u4F4D\uFF1A{2}\u3002\u5982\u679C\u5DF2\u6709\u8207\u9019\u4E9B\u6B04\u5C0D\u61C9\u7684\u6B04\u4F4D\uFF0C\u5247\u8ACB\u9A57\u8B49\u5B83\u5011\u662F\u5426\u70BA\u9375\u6B04\u4F4D\u3002 - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311\uFF1A\u6B04\u4F4D {0} \u88AB\u6307\u5B9A\u70BA CMP \u6B04\u4F4D\uFF0C\u4F46\u5B83\u4E26\u4E0D\u5728 .java \u6A94\u6848\u4E2D\u3002\n\u8ACB\u5728\u6A21\u7D44\u5167\u5BB9 (Bean\u3001\u5EFA\u7F6E\u63CF\u8FF0\u5143\u3001cmp-mapping\u3001ejb-jar) \u4E2D\u6AA2\u67E5\u4E0D\u4E00\u81F4\u7684\u60C5\u6CC1\u3002 -# Validation message for field not allowed to be a CMP field -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312\uFF1A\u4E0D\u5141\u8A31\u6B04\u4F4D {0} \u70BA CMP \u6B04\u4F4D\u3002\n\u8ACB\u5728\u6A21\u7D44\u5167\u5BB9 (Bean\u3001\u5EFA\u7F6E\u63CF\u8FF0\u5143\u3001cmp-mapping\u3001ejb-jar) \u4E2D\u6AA2\u67E5\u4E0D\u4E00\u81F4\u7684\u60C5\u6CC1\u3002 -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313\uFF1A\u6B04\u4F4D {0} \u5FC5\u9808\u4E00\u81F4\u5730\u5B9A\u7FA9\u70BA CMP \u6B04\u4F4D\u6216 CMR \u6B04\u4F4D\u3002\n\u8ACB\u5728\u6A21\u7D44\u5167\u5BB9 (Bean\u3001\u5EFA\u7F6E\u63CF\u8FF0\u5143\u3001cmp-mapping\u3001ejb-jar) \u4E2D\u6AA2\u67E5\u4E0D\u4E00\u81F4\u7684\u60C5\u6CC1\u3002 -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314\uFF1A\u6B04\u4F4D {0} \u4E0D\u4E00\u81F4\u3002\n\u78BA\u5B9A\u8A72\u6B04\u4F4D\u662F CMP \u6B04\u4F4D\u3002 -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315\uFF1A\u4E0D\u5141\u8A31\u6B04\u4F4D {0} \u70BA CMR \u6B04\u4F4D\u3002\n\u8ACB\u5C07\u6B04\u4F4D\u7684\u985E\u578B\u8B8A\u66F4\u70BA\u5305\u88DD\u985E\u578B\u6216\u539F\u59CB\u985E\u578B\u3002\n\u5982\u679C\u985E\u578B\u6B63\u78BA\uFF0C\u8ACB\u5728\u6A21\u7D44\u5167\u5BB9 (Bean\u3001\u5EFA\u7F6E\u63CF\u8FF0\u5143\u3001cmp-mapping\u3001ejb-jar) \u4E2D\u6AA2\u67E5\u4E0D\u4E00\u81F4\u7684\u60C5\u6CC1\u3002 -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316\uFF1A\u6B04\u4F4D {0} \u5FC5\u9808\u662F\u95DC\u4FC2\u6B04\u4F4D\u3002\n\u8ACB\u5C07\u6B04\u4F4D\u7684\u985E\u578B\u8B8A\u66F4\u70BA\u96C6\u5408\u6216\u5176\u4ED6 CMP Bean\u3002\n\u5982\u679C\u985E\u578B\u6B63\u78BA\uFF0C\u8ACB\u5728\u6A21\u7D44\u5167\u5BB9 (Bean\u3001\u5EFA\u7F6E\u63CF\u8FF0\u5143\u3001cmp-mapping\u3001ejb-jar) \u4E2D\u6AA2\u67E5\u4E0D\u4E00\u81F4\u7684\u60C5\u6CC1\u3002 -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317\uFF1A\u6B04\u4F4D {0} \u5177\u6709\u7121\u6548\u7684\u64F7\u53D6\u7FA4\u7D44\u3002\u9810\u8A2D\u4E0D\u662F\u7BA1\u7406\u5F0F\u6B04\u4F4D\u7684\u6709\u6548\u64F7\u53D6\u7FA4\u7D44\u3002\u5982\u679C\u6B04\u4F4D\u4E0D\u662F\u7BA1\u7406\u5F0F\u6B04\u4F4D\uFF0C\u5728\u60A8\u6709\u5C0D\u61C9\u81F3\u8207 {0} \u76F8\u540C\u7684\u6B04\u4E4B Bean \u7684 CMR \u6642\uFF0C\u5247\u53EF\u4EE5\u5C07\u5176\u8996\u70BA\u7BA1\u7406\u5F0F\u6B04\u4F4D\u3002\n\u9078\u53D6\u4E0D\u540C\u7684\u64F7\u53D6\u7FA4\u7D44\u3002 -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319\uFF1A\u4E0D\u5141\u8A31\u6B04\u4F4D {0} \u70BA\u9375\u6B04\u4F4D\uFF0C\u56E0\u70BA\u5B83\u7684\u5C0D\u61C9\u5305\u542B\u5927\u7269\u4EF6 (\u4F8B\u5982\uFF0CBLOB/CLOB) \u6B04\u3002\n\u66F4\u65B0\u6B04\u5C0D\u61C9\uFF0C\u6216\u8B8A\u66F4\u6B64\u6B04\u4F4D\uFF0C\u4EE5\u4F7F\u5176\u4E0D\u70BA\u4E3B\u9375\u6B04\u4F4D\u3002 -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324: The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324\uFF1A\u6B04\u4F4D {0} \u5177\u6709\u7121\u6548\u7684\u96C6\u5408\u985E\u5225\u3002\n\u5C07\u95DC\u4FC2\u7684\u985E\u578B\u66F4\u65B0\u70BA\u96C6\u6216\u901A\u7528\u96C6\u5408\uFF0C\u6216\u79FB\u9664 CMR\u3002 -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325\uFF1A\u6B04\u4F4D {0} \u7121\u76F8\u95DC\u7684 Bean \u96C6\uFF0C\u4F46\u5176\u5C0D\u61C9\u81F3\u6B04\u3002\n\u66F4\u65B0\u76F8\u95DC\u7684 Bean \u6216\u53D6\u6D88\u5C0D\u61C9\u95DC\u4FC2\u3002 -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326\uFF1A\u6B04\u4F4D {0} \u5177\u6709\u7121\u6548\u7684\u76F8\u95DC\u6B04\u4F4D {1}\u3002\u5FC5\u9808\u70BA\u5169\u500B\u95DC\u4FC2\u6B04\u4F4D\u5747\u8A2D\u5B9A\u76F8\u95DC\u6B04\u4F4D\u3002\n\u8ACB\u78BA\u5B9A\u5728\u95DC\u4FC2\u7684\u5169\u5074\u5747\u8A2D\u5B9A\u4E86 CMR \u6B04\u4F4D\u3002 -# Validation message for inverse field which does not exist in the related bean -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related bean name -util.validation.related_class_mismatch=JDO72327\uFF1A\u6B04\u4F4D {0} \u5177\u6709\u76F8\u95DC\u6B04\u4F4D {1}\uFF0C\u8A72\u6B04\u4F4D\u4E0D\u5B58\u5728\u65BC\u8207\u6240\u7522\u751F\u985E\u5225 {2} \u5C0D\u61C9\u7684\u76F8\u95DC Bean \u4E2D\u3002\n\u5982\u6709\u5FC5\u8981\uFF0C\u8ACB\u66F4\u65B0\u76F8\u95DC\u7684 Bean\uFF0C\u4E26\u66F4\u65B0 CMR \u6B04\u4F4D\u540D\u7A31\u3002 -# Validation message for inverse field set and no related bean set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328\uFF1A\u6B04\u4F4D {0} \u7121\u76F8\u95DC\u7684 Bean \u96C6\uFF0C\u4F46\u5176\u5177\u6709\u76F8\u95DC\u6B04\u4F4D {1}\u3002\n\u66F4\u65B0\u76F8\u95DC\u7684 Bean\uFF0C\u6216\u5C07 CMR \u6B04\u4F4D\u540D\u7A31\u8A2D\u5B9A\u70BA None\u3002 - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=bean name -util.validation.schema_not_found=JDO72331\uFF1A\u627E\u4E0D\u5230\u8207\u6240\u7522\u751F\u985E\u5225 {1} \u76F8\u5C0D\u61C9\u7684 Bean \u4E4B\u7DB1\u8981 {0}\u3002\n\u8ACB\u5FA9\u539F\u7DB1\u8981\u6A94\u6848\u3002 -# Validation message for related schema not found -# {0}=schema name -# {1}=related bean name -# {2}=field name -util.validation.schema_not_found_related=JDO72332\uFE55\u627E\u4E0D\u5230\u8207\u6B04\u4F4D {2} \u4E4B\u6240\u7522\u751F\u985E\u5225 {1} \u5C0D\u61C9\u7684\u76F8\u95DC Bean \u4E4B\u7DB1\u8981 {0}\u3002\n\u8ACB\u5FA9\u539F\u7DB1\u8981\u6A94\u6848\u3002 -# Validation message for schema not set but primary table set -# {0}=bean name -util.validation.schema_not_set=JDO72333\uFF1A\u8207\u6240\u7522\u751F\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u7684 Bean \u7121\u7DB1\u8981\u8A2D\u5B9A\uFF0C\u4F46\u5176\u5C0D\u61C9\u81F3\u8868\u683C\u3002\n\u8ACB\u66F4\u65B0 Bean \u7684\u5DF2\u5C0D\u61C9\u7DB1\u8981\u7279\u6027\uFF0C\u6216\u53D6\u6D88\u5C0D\u61C9\u4E3B\u8868\u683C\u3002 -# Validation message for schemas don't match -# {0}=bean name -# {1}=related bean name -# {2}=field name -util.validation.schema_mismatch=JDO72334\uFF1A\u8207\u6240\u7522\u751F\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u7684 Bean \u4E4B\u7DB1\u8981\u5FC5\u9808\u7B26\u5408\u8207\u6B04\u4F4D {2} \u4E4B\u6240\u7522\u751F\u985E\u5225 {1} \u5C0D\u61C9\u7684\u76F8\u95DC Bean\u3002\n\u8ACB\u66F4\u65B0\u5176\u4E2D\u4E00\u500B Bean \u7684\u5DF2\u5C0D\u61C9\u7DB1\u8981\u7279\u6027\u3002 -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=bean name -util.validation.table_no_primarykey=JDO72335\uFF1A\u5982\u679C\u8207\u6240\u7522\u751F\u985E\u5225 {1} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u8868\u683C {0} \u5C0D\u61C9\u70BA\u4E3B\u8868\u683C\uFF0C\u5247\u5176\u5FC5\u9808\u5177\u6709\u4E3B\u9375\u3002\n\u8ACB\u9078\u64C7\u4E0D\u540C\u7684\u4E3B\u8868\u683C\u6216\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u7684\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 -# Validation message for table not found -# {0}=table name -# {1}=bean name -util.validation.table_not_found=JDO72336\uFF1A\u627E\u4E0D\u5230\u8207\u6240\u7522\u751F\u985E\u5225 {1} \u76F8\u5C0D\u61C9\u7684 Bean \u4E4B\u8868\u683C {0}\u3002\n\u8ACB\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u662F\u5426\u5B58\u5728\uFF0C\u4EE5\u53CA\u5176\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337\uFF1A\u627E\u4E0D\u5230\u6B04\u4F4D {1} \u4E4B\u76F8\u95DC Bean \u7684\u8868\u683C {0}\u3002\n\u8ACB\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u662F\u5426\u5B58\u5728\uFF0C\u4EE5\u53CA\u5176\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=bean name -util.validation.table_mismatch=JDO72355\uFF1A\u95DC\u4FC2 {1} \u5C0D\u61C9\u81F3\u6B04 {0}\uFF0C\u8A72\u6B04\u4E0D\u662F\u8207\u6240\u7522\u751F\u985E\u5225 {2} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u5176\u4E2D\u4E00\u500B\u5DF2\u5C0D\u61C9\u4E3B\u8868\u683C\u6216\u8F14\u52A9\u8868\u683C\u3002\n\u8ACB\u66F4\u65B0\u8868\u683C\u5C0D\u61C9\u6216\u95DC\u4FC2\u5C0D\u61C9\u3002 -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.table_mismatch_related=JDO72338\uFF1A\u95DC\u4FC2 {1} \u5C0D\u61C9\u81F3\u6B04 {0}\uFF0C\u8A72\u6B04\u4E0D\u662F\u8207\u6240\u7522\u751F\u985E\u5225 {2} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u5176\u4E2D\u4E00\u500B\u5DF2\u5C0D\u61C9\u4E3B\u8868\u683C\u6216\u8F14\u52A9\u8868\u683C\u3002\n\u8ACB\u66F4\u65B0\u8868\u683C\u5C0D\u61C9\u6216\u95DC\u4FC2\u5C0D\u61C9\u3002 -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=bean name -util.validation.column_not_found=JDO72339\uFF1A\u627E\u4E0D\u5230\u8207\u6240\u7522\u751F\u985E\u5225 {1} \u76F8\u5C0D\u61C9\u7684 Bean \u8F14\u52A9\u8868\u683C\u8A2D\u5B9A\u4E4B\u53C3\u7167\u9375\u5C0D {0} \u4E2D\u7684\u6B04\u3002\n\u8ACB\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u662F\u5426\u5B58\u5728\uFF0C\u4EE5\u53CA\u5176\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_not_found_related=JDO72340\uFF1A\u627E\u4E0D\u5230\u8207\u6240\u7522\u751F\u985E\u5225 {2} \u76F8\u5C0D\u61C9\u7684 Bean \u4E2D\u7528\u65BC\u5C0D\u61C9\u6B04\u4F4D {1} \u7684\u6B04 {0}\u3002\n\u8ACB\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u662F\u5426\u5B58\u5728\uFF0C\u4EE5\u53CA\u5176\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_invalid=JDO72341\uFF1A\u627E\u4E0D\u5230\u8207\u6240\u7522\u751F\u985E\u5225 {2} \u76F8\u5C0D\u61C9\u7684 Bean \u4E2D\u95DC\u4FC2 {1} \u4E4B\u9375\u5C0D {0} \u4E2D\u7684\u6B04\u3002\n\u8ACB\u9A57\u8B49\u7DB1\u8981\u6A94\u6848\u662F\u5426\u5B58\u5728\uFF0C\u4EE5\u53CA\u5176\u5167\u5BB9\u662F\u5426\u6B63\u78BA\u3002 - -# Validation messages for key class elements - -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343\uFF1A\u6B64\u932F\u8AA4 (\u672A\u8A2D\u5B9A\u8207\u6240\u7522\u751F\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u9375\u985E\u5225\u7279\u6027) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344\uFF1A\u8207\u6240\u7522\u751F\u985E\u5225 {1} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u6240\u7522\u751F\u9375\u985E\u5225 {0} \u4E0D\u5B58\u5728\u3002\u8ACB\u9A57\u8B49\u9375\u985E\u5225\u662F\u5426\u5B58\u5728\uFF0C\u4EE5\u53CA\u662F\u5426\u4F7F\u7528\u5B8C\u5168\u5408\u683C\u7684\u540D\u7A31\u6307\u5B9A\u3002 -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345\uFF1A\u6B64\u932F\u8AA4 (\u8207\u6240\u7522\u751F\u985E\u5225 {1} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u6240\u7522\u751F\u9375\u985E\u5225 {0} \u5FC5\u9808\u70BA\u516C\u7528\u7684) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346\uFF1A\u6B64\u932F\u8AA4 (\u8207\u6240\u7522\u751F\u985E\u5225 {1} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u6240\u7522\u751F\u9375\u985E\u5225 {0} \u5FC5\u9808\u5BE6\u884C java.io.Serializable) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347\uFF1A\u6B64\u932F\u8AA4 (\u5982\u679C\u8207\u6240\u7522\u751F\u985E\u5225 {1} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u6240\u7522\u751F\u9375\u985E\u5225 {0} \u5B9A\u7FA9\u70BA\u5167\u90E8\u985E\u5225\uFF0C\u5247\u5176\u5FC5\u9808\u70BA\u975C\u614B\u985E\u5225) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348\uFF1A\u9375\u985E\u5225\u7684\u975E\u975C\u614B\u6B04\u4F4D {0} \u4E4B\u985E\u578B\u7121\u6548\uFF0C\u5C0E\u81F4\u7522\u751F\u7684\u9375\u985E\u5225 {1} \u7121\u6548\u3002\u6709\u6548\u985E\u578B\u70BA\uFF1A\u5B57\u4E32\u3001\u6578\u503C\u985E\u578B\u6216\u65E5\u671F\u985E\u578B\u3002\u5982\u679C\u60A8\u5177\u6709\u4F7F\u7528\u8005\u5B9A\u7FA9\u7684\u4E3B\u9375\u985E\u5225\uFF0C\u5176\u985E\u578B\u53EF\u80FD\u4E5F\u662F\u539F\u59CB\u985E\u578B\u3002\n\u8ACB\u66F4\u65B0\u9375\u985E\u5225\u6B04\u4F4D\u7684\u985E\u578B\u3002 -# Validation message for key class field must have the same type as the pc class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350\uFF1A\u6B64\u932F\u8AA4 (\u6240\u7522\u751F\u9375\u985E\u5225 {1} \u7684\u6B04\u4F4D {0} \u5FC5\u9808\u5177\u6709\u8207\u6301\u7E8C\u6027\u985E\u5225 {2} \u4E2D\u7684\u5C0D\u61C9\u6B04\u4F4D\u76F8\u540C\u7684\u985E\u578B) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351\uFF1A\u6B64\u932F\u8AA4 (\u8207\u6240\u7522\u751F\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u6240\u6709\u9375\u6B04\u4F4D\u5FC5\u9808\u5B58\u5728\u65BC\u9375\u985E\u5225 {1} \u4E2D\u3002\n\u5C07\u4E0B\u5217\u9375\u6B04\u4F4D\u589E\u52A0\u81F3\u7522\u751F\u7684\u9375\u985E\u5225\uFF1A{2}) \u4E0D\u61C9\u767C\u751F\u3002\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352\uFF1A\u6B64\u932F\u8AA4 (\u8207\u6240\u7522\u751F\u985E\u5225 {1} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u6240\u7522\u751F\u9375\u985E\u5225 {0} \u5FC5\u9808\u5B9A\u7FA9\u516C\u7528\u5EFA\u69CB\u5B50) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353\uFF1A\u6B64\u932F\u8AA4 (\u8207\u6240\u7522\u751F\u985E\u5225 {1} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u6240\u7522\u751F\u9375\u985E\u5225 {0} \u5FC5\u9808\u7F6E\u63DB java.lang.Object \u7684 equals \u65B9\u6CD5) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354\uFF1A\u6B64\u932F\u8AA4 (\u8207\u6240\u7522\u751F\u985E\u5225 {1} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u6240\u7522\u751F\u9375\u985E\u5225 {0} \u5FC5\u9808\u7F6E\u63DB java.lang.Object \u7684 hashCode \u65B9\u6CD5) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356\uFF1A\u6B64\u932F\u8AA4 (\u8207\u6240\u7522\u751F\u985E\u5225 {0} \u76F8\u5C0D\u61C9\u7684 Bean \u5FC5\u9808\u6070\u597D\u5177\u6709\u4E00\u500B\u7248\u672C\u6B04\u4F4D) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357\uFF1A\u6B64\u932F\u8AA4 (\u4E0D\u5141\u8A31\u95DC\u4FC2\u6B04\u4F4D {0} \u70BA\u7248\u672C\u6B04\u4F4D) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358\uFF1A\u6B64\u932F\u8AA4 (\u7248\u672C\u6B04\u4F4D {0} \u5177\u6709\u7121\u6548\u7684\u64F7\u53D6\u7FA4\u7D44\u3002\u7248\u672C\u6B04\u4F4D\u5FC5\u9808\u5C6C\u65BC\u9810\u8A2D\u64F7\u53D6\u7FA4\u7D44) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359\uFF1A\u6B64\u932F\u8AA4 (\u4E0D\u5141\u8A31\u6B04\u4F4D {0} \u70BA\u9375\u6B04\u4F4D\uFF0C\u56E0\u70BA\u5176\u5DF2\u5B9A\u7FA9\u70BA\u7248\u672C\u6B04\u4F4D) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360\uFF1A\u6B64\u932F\u8AA4 (\u7248\u672C\u6B04\u4F4D {0} \u7684\u985E\u578B\u5FC5\u9808\u70BA\u300C\u9577\u6574\u6578\u300D) \u4E0D\u61C9\u767C\u751F\u3002\n\u8ACB\u9023\u7D61\u652F\u63F4\u90E8\u9580\uFF0C\u4E26\u63D0\u5831\u932F\u8AA4\u3002 -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361\uFF1A\u7522\u751F\u7684\u7248\u672C\u6B04\u4F4D {0} \u5FC5\u9808\u6070\u597D\u5C0D\u61C9\u81F3\u4E00\u500B\u6B04\u3002\n\u66F4\u65B0\u7248\u672C\u6B04\u4F4D\u5C0D\u61C9\u3002 -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362\uFF1A\u7248\u672C\u6B04 {0} \u4E0D\u5728\u8207\u6240\u7522\u751F\u985E\u5225 {2} \u76F8\u5C0D\u61C9\u4E4B Bean \u7684\u4E3B\u8868\u683C\u4E2D\u3002\n\u66F4\u65B0\u7248\u672C\u6B04\u3002 -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363\uFF1A\u70BA\u8207\u6240\u7522\u751F\u985E\u5225 {2} \u76F8\u5C0D\u61C9\u7684 Bean \u6307\u5B9A\u7684\u7248\u672C\u6B04 {0} \u4E0D\u53EF\u70BA\u7A7A\u6216\u975E\u6578\u5B57\u5B57\u5143\u3002\n\u8ACB\u66F4\u65B0\u7DB1\u8981\u6216\u9078\u64C7\u4E0D\u540C\u7684\u7248\u672C\u6B04\u3002 -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364\uFF1A\u70BA\u8207\u6240\u7522\u751F\u985E\u5225 {2} \u76F8\u5C0D\u61C9\u7684 Bean \u6307\u5B9A\u7684\u7248\u672C\u6B04 {0} \u4E0D\u53EF\u70BA\u4E3B\u9375\u7684\u4E00\u90E8\u5206\u3002\n\u8ACB\u66F4\u65B0\u7DB1\u8981\u6216\u9078\u64C7\u4E0D\u540C\u7684\u7248\u672C\u6B04\u3002 -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364\uFF1A\u70BA\u8207\u6240\u7522\u751F\u985E\u5225 {2} \u76F8\u5C0D\u61C9\u7684 Bean \u6307\u5B9A\u7684\u7248\u672C\u6B04 {0} \u4E0D\u53EF\u70BA\u5916\u4F86\u9375\u7684\u4E00\u90E8\u5206\u3002\n\u8ACB\u66F4\u65B0\u7DB1\u8981\u6216\u9078\u64C7\u4E0D\u540C\u7684\u7248\u672C\u6B04\u3002 -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365\uFF1A\u7531\u6240\u7522\u751F\u7684\u7248\u672C\u6B04\u4F4D {0} \u4F7F\u7528\u7684\u7248\u672C\u6B04\u9084\u53EF\u5C0D\u61C9\u81F3 CMP \u6B04\u4F4D\u3002CMP \u6B04\u4F4D\u4E0D\u53EF\u5C0D\u61C9\u81F3\u7528\u65BC\u5132\u5B58\u7248\u672C\u7DE8\u865F\u7684\u6B04\u3002\n\u8ACB\u66F4\u65B0 CMP \u6B04\u4F4D\u7684\u6B04\u5C0D\u61C9\u6216\u9078\u64C7\u4E0D\u540C\u7684\u7248\u672C\u6B04\u3002 diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/osgi.bundle b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/osgi.bundle deleted file mode 100644 index d3a3cd988aa..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/osgi.bundle +++ /dev/null @@ -1,41 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -Fragment-Host: fish.payara.server.internal.persistence.cmp.support-sqlstore; bundle-version=${project.osgi.version} diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/pom.xml b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/pom.xml deleted file mode 100755 index f88b3b0451b..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/pom.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp-l10n - 7.2026.5-SNAPSHOT - - cmp-support-sqlstore-l10n - - support-sqlstore module for cmp l10n - - - true - - - - - - org.glassfish.hk2 - osgiversion-maven-plugin - - - compute-osgi-version - - compute-osgi-version - - - - - - org.apache.felix - maven-bundle-plugin - - - bundle-manifest - process-classes - - manifest - - - - - - - - - - - - - src/main/resources - - **/*.jar - - - - - diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_de.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_de.properties deleted file mode 100644 index 568fa075f42..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_de.properties +++ /dev/null @@ -1,643 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# Resource bundle for sqlstore runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Please note that many package names and classnames have changed over time. -# Unfortunately, this file was not maintained to follow above convention. -# Please ignore if the package/class name does not match actual names as today. -# -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 76. -# -# This file is divided into the following sections: -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# 1. JDO: PersistenceManagerFactory/PersistenceManager/ExtentCollection/LifeCycle -# 2. Model -# 3. StateManager -# 4. sql generator components: RetrieveDesc, ResultDesc plus all the files under generator subdir -# 5. SQLStoreManager -# 6. Connection/Connectionpool/Transaction/DBVendorType -# 7. EJB integration. -# 8. Generic messages. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -#################################################################################################### -# -# Message ID Range: JDO76000 - JDO76099 -#################################################################################################### -jdo.persistencemanagerfactoryimpl.getpersistencemanager.error=JDO76000: In einer Transaktion k\u00F6nnen nicht mehrere Kombinationen von Benutzername/Kennwort verwendet werden. -jdo.persistencemanagerfactoryimpl.getpersistencemanager.notconfigured=JDO76001: PersistenceManagerFactory ist nicht konfiguriert. -jdo.persistencemanagerfactoryimpl.notsupported=JDO76002: Vorgang wird f\u00FCr interne PersistenceManagerFactoryImpl nicht unterst\u00FCtzt -jdo.persistencemanagerimpl.acquireexclusivelock.interrupted=JDO76003: Exklusive Sperre konnte aufgrund einer InterruptedException nicht erworben werden -jdo.persistencemanagerimpl.acquiresharelock.failed=JDO76004: Sperre im SHARE-Modus konnte nicht angefordert werden, da _readWriteCount kleiner als null ist -jdo.persistencemanagerimpl.acquiresharelock.interrupted=JDO76005: Sperre im SHARE-Modus konnte aufgrund einer InterruptedException nicht angefordert werden -jdo.persistencemanagerimpl.another_pm=JDO76006: Objekt ist mit anderem PersistenceManager verbunden. -jdo.persistencemanagerimpl.assertactivetransaction.error=JDO76007: Die mit diesem Persistence Manager verbundene Transaktion ist nicht aktiv. -jdo.persistencemanagerimpl.assertclosed.closed=JDO76008: PersistenceManager ist geschlossen. -jdo.persistencemanagerimpl.assertpersistencecapable.error=JDO76009: Klasse {0} wurde nicht f\u00FCr Transparent Persistence erweitert. Verwenden Sie einen .ide-, .jar- oder .war-Packager zum Verpacken Ihrer persistenzf\u00E4higen Klassen vor dem Ausf\u00FChren. Oder setzen Sie die Executor-Eigenschaft auf der Hauptklasse auf ''Persistence Executor'' f\u00FCr das Ausf\u00FChren aus IDE. -jdo.persistencemanagerimpl.close.activetransaction=JDO76010: Es liegt eine offene Transaktion in Verbindung mit diesem Persistence Manager vor. -jdo.persistencemanagerimpl.fetchinstance.none=JDO76012: Kein Objekt f\u00FCr diese ObjectId gefunden. -jdo.persistencemanagerimpl.internaldeletepersistent.transient=JDO76014: Nicht dauerhaftes Objekt kann nicht gel\u00F6scht werden. -jdo.persistencemanagerimpl.internalmakepersistent.dups=JDO76015: Eine Instanz mit demselben Prim\u00E4rschl\u00FCssel existiert bereits in diesem PersistenceManager-Cache. -jdo.persistencemanagerimpl.loadclassforoid.wrongoidclass=JDO76016: Fehler beim Abrufen der Objektklasse aus OID. -jdo.persistencemanagerimpl.newscoinstance.wrongclass=JDO76017: SCO-Instanz der Klasse {0} kann nicht erstellt werden, dass es sich nicht um einen g\u00FCltigen Typ handelt. -jdo.persistencemanagerimpl.notprocessed=JDO76018: Persistente Instanzen konnten aufgrund von zyklischen Abh\u00E4ngigkeiten nicht zur\u00FCckgesetzt werden. -jdo.persistencemanagerimpl.releaseexclusivelock.failed=JDO76019: Exklusive Sperre konnte nicht freigegeben werden, da _readWriteCount gr\u00F6\u00DFer als null ist -jdo.persistencemanagerimpl.releasesharelock.failed=JDO76020: Sperre im SHARE-Modus konnte nicht freigegeben werden, da _readWriteCount null ist -jdo.persistencemanagerwrapper.invalidpm=JDO76021: PersistenceManagerWrapper ist geschlossen. -jdo.extentcollection.constructor.invalidclass=JDO76022: Ung\u00FCltige Klasse ''{0}'' f\u00FCr Extent Collection. -jdo.extentcollection.constructor.nonpc=JDO76023: Die Klasse ''{0}'' ist nicht persistenzf\u00E4hig. -jdo.extentcollection.constructor.subclasses=JDO76024: Die True-Option f\u00FCr Unterklassen wird f\u00FCr Extent Collections nicht unterst\u00FCtzt. -jdo.extentcollection.illegalmodification=JDO76025: Unzul\u00E4ssige \u00C4nderung der Extent Collection f\u00FCr Klasse ''{0}''. -jdo.extentcollection.methodnotsupported=JDO76026: Extent Collection-Methode {0} wird nicht unterst\u00FCtzt. -jdo.lifecycle.xactnotactive=JDO76027: Aktive Transaktion f\u00FCr die Durchf\u00FChrung dieses Vorgangs erforderlich. -jdo.persistencemanagerimpl.newinstance.badsm=JDO76028: StateManager ist nicht vollst\u00E4ndig konfiguriert. -jdo.persistencemanagerimpl.setjtatransaction.notnulljta=JDO76029: Es wurde versucht, Nicht-Null-javax.transaction.Transaction zu ersetzen: {0} mit {1}. -jdo.persistencemanagerfactoryimpl.getpersistencemgr.closed=JDO76030: PersistenceManager f\u00FCr diese javax.transaction.Transaction: {0} ist bereits geschlossen oder wird durchgef\u00FChrt. -jdo.persistencemanagerfactoryimpl.registerpm.registered=JDO76031: Diese Instanz von javax.transaction.Transaction: {0} ist bereits bei einem anderen PersistenceManager registriert: {1}. -jdo.persistencemanagerimpl.verificationfailed=JDO76032: Die versionskonsistente Instanz hat die \u00DCberpr\u00FCfung mit dem Datenspeicher nicht bestanden. -jdo.persistencemanagerfactoryimpl.getversionconsistencycache.nullstore=JDO76033: StoreManager ist nicht konfiguriert. - -# -# -# -sqlstore.state.lifecyclestate.changestate=LifeCycleState.changeState(), alter Status = {0}, neuer Status = {1}. -sqlstore.state.lifecyclestate.initial=LifeCycleState.getLifeCycleState(), Ursprungsstatus = {0}. - -# -# -# -sqlstore.persistencemgr.acquireexclusivelock.count=acquireExclusiveLock(), Thread {0} mit _readWriteCount = {1}. -sqlstore.persistencemgr.acquireexclusivelock=acquireExclusiveock(), Thread {0} muss warten. -sqlstore.persistencemgr.acquiresharedlock.rdwrcount=acquireShareLock(), Thread {0} hat freigegebene Sperre mit _readWriteCount ={1} angefordert. -sqlstore.persistencemgr.acquiresharedlock=acquireShareLock(), Thread {0} muss warten. -sqlstore.persistencemgr.aftercompletion.process=---PersistenceManagerImpl.afterCompletion()-Prozess: {0}. -sqlstore.persistencemgr.aftercompletion=---PersistenceManagerImpl.afterCompletion() Abbruch: {0}. -sqlstore.persistencemgr.assertactivetx.closed=--- PersistenceManagerImpl.assertActiveTransaction: Geschlossen f\u00FCr {0}. -sqlstore.persistencemgr.assertactivetx=--- PersistenceManagerImpl.assertActiveTransaction: {0}. -sqlstore.persistencemgr.assertisopen=--- PersistenceManagerImpl.assertIsOpen: Geschlossen f\u00FCr {0}. -sqlstore.persistencemgr.beforecompletion=---PersistenceManagerImpl.beforeCompletion(). -sqlstore.persistencemgr.cacheproperties=PersistenceManagerImpl cache properties: _txCacheInitialCapacity={0}, _flushedCacheInitialCapacity={1}, _flushedCacheLoadFactor={2}, _weakCacheInitialCapacity={3}, _weakCacheLoadFactor={4}. -sqlstore.persistencemgr.deregisterinstance.verified=---PersistenceManagerImpl.deregisterInstance() -- Registrierung mit "verify" aufgehoben. -sqlstore.persistencemgr.deregisterinstance.verify=---PersistenceManagerImpl.deregisterInstance() mit "verify SM" -- oid: {0} f\u00FCr PersistenceManager: {1} und JTA: {2}. -sqlstore.persistencemgr.deregisterinstance=---PersistenceManagerImpl.deregisterInstance() oid: {0} f\u00FCr PersistenceManager: {1} und JTA: {2}. -sqlstore.persistencemgr.getbyobjid=---PersistenceManagerImpl.getObjectById() OID:{0} f\u00FCr PersistenceManager: {1} und JTA: {2}. -sqlstore.persistencemgr.getcurrentwrapper=---PersistenceManagerImpl.getCurrentWrapper() > aktuell: {0}. -sqlstore.persistencemgr.getobjid.notpc=---PersistenceManagerImpl.getObjectId() NOT PC: {0} f\u00FCr PersistenceManager: {1}. -sqlstore.persistencemgr.getobjid.notpm=---PersistenceManagerImpl.getObjectId() NOT PM: {0} f\u00FCr PersistenceManager: {1} und JTA: {2}. -sqlstore.persistencemgr.getobjid= :{0} ---PersistenceManagerImpl.getObjectId() PC: {1} f\u00FCr PersistenceManager: {2} und JTA: {3}. -sqlstore.persistencemgr.internalcloneoid.old=---PersistenceManagerImpl.internalCloneOid(): alt: {0} neu: {1} identisch: {2}. -sqlstore.persistencemgr.internalcloneoid=---PersistenceManagerImpl.internalCloneOid()-Fehler: {0}. -sqlstore.persistencemgr.isactivetx=---PersistenceManagerImpl.isActiveTransaction(): {0}. -sqlstore.persistencemgr.isnontxread=---PersistenceManagerImpl.isNontransactionalRead(): {0}. -sqlstore.persistencemgr.isoptimistic=---PersistenceManagerImpl.isOptimisticTransaction(): {0}. -sqlstore.persistencemgr.loadingclass=Wird geladen ... ClassName: {0}. -sqlstore.persistencemgr.loadingfile=Wird geladen ... FileName: {0} {1} {2}. -sqlstore.persistencemgr.makepersistent.done=---PersistenceManagerImpl.makePersistent() {0} beendet f\u00FCr: {1} und JTA: {2}. -sqlstore.persistencemgr.makepersistent= {0} ---PersistenceManagerImpl.makePersistent() PC: {1} f\u00FCr PersistenceManager: {2} und JTA: {3}. -sqlstore.persistencemgr.newcollection=---PersistenceManagerImpl.newCollectionInstanceInternal() type: {0}. -sqlstore.persistencemgr.popcurrentwrapper=---PersistenceManagerImpl.popCurrentWrapper() > aktuell: {0} vorher: {1}. -sqlstore.persistencemgr.pushcurrentwrapper=---PersistenceManagerImpl.pushCurrentWrapper() > aktuell: {0} neu: {1}. -sqlstore.persistencemgr.registerinstance= {0} ---PersistenceManagerImpl.registerInstance() oid/sm: {1}/{2} f\u00FCr PersistenceManager: {3} und JTA: {4}. -sqlstore.persistencemgr.registerinstancein_txc=registerInstance in TXC: {0} / {1} f\u00FCr PersistenceManager: {2} und JTA: {3}. -sqlstore.persistencemgr.registerinstancein_wkc=registerInstance in WKC. -sqlstore.persistencemgr.releaseexclusivelock=releaseExclusiveock(), Thread {0} mit _readWriteCount = {1}. -sqlstore.persistencemgr.releasesharedlock=releaseShareLock(), Thread {0} mit _readWriteCount = {1}. -sqlstore.persistencemgr.replacingdeletedinstance=Gel\u00F6schte Instanz wird durch neue Instanz f\u00FCr Objekt-ID ersetzt: {0}. -sqlstore.persistencemgr.setkeyfields=---PersistenceManagerImpl.setKeyFields()-Fehler: {0}. -# -# -# -sqlstore.sqlpersistencemgrfactory.getfrompool.pmt=<--SQLPersistenceManagerFactory.getFromPool() PM: {0} f\u00FCr JTA {1}. -sqlstore.sqlpersistencemgrfactory.getfrompool=<--SQLPersistenceManagerFactory.getFromPool(). -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.found= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() hat javax.transaction gefunden. Transaktion: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx.notfound=<->SQLPersistenceManagerFactory.getPersistenceManager() hat keine JDO-Transaktion gefunden. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx=<->SQLPersistenceManagerFactory.getPersistenceManager() JDO-Transaktion: {0}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmclosedfor= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() PM ist geschlossen f\u00FCr: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmt= {0} <->SQLPersistenceManagerFactory.getPersistenceManager(): {1} f\u00FCr JTA: {2}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr=:{0} -->SQLPersistenceManagerFactory.getPersistenceManager(). -sqlstore.sqlpersistencemgrfactory.init=---SQLPersistenceManagerFactory.initialize(). -sqlstore.sqlpersistencemgrfactory.pmCacheBucketSize=---SQLPersistenceManagerFactory pmCacheBucketSize = {0}. -sqlstore.sqlpersistencemgrfactory.pmCacheInitialCapacity=---SQLPersistenceManagerFactory pmCacheInitialCapacity = {0}. -sqlstore.sqlpersistencemgrfactory.registerpersistencemgr.pmt=<->SQLPersistenceManagerFactory.registerPersistenceManager() PM: {0} f\u00FCr JTA-Transaktion: {1}. -sqlstore.sqlpersistencemgrfactory.releasepm.pmt=---SQLPersistenceManagerFactory.releasePersistenceManager() PM:{0} f\u00FCr JTA-Transaktion: {1}. -sqlstore.sqlpersistencemgrfactory.returnToPool=<--SQLPersistenceManagerFactory.returnToPool(). - - -############################################################################### -# -# Message ID Range: JDO76100 - JDO76199 -############################################################################### -core.configuration.columnnotable=JDO76100: Der Spaltendeskriptor verf\u00FCgt \u00FCber keinen g\u00FCltigen Tabellendeskriptor. -core.configuration.fieldnotable=JDO76101: Das Feld {0} ist mit keiner Tabelle verbunden. -core.configuration.fieldnotmapped=JDO76102: Das persistente Feld {0} f\u00FCr die Klasse {1} ist nicht zugeordnet. -core.configuration.iddescnofield=JDO76103: Das SqlIDDesc-Objekt wurde nicht ordnungsgem\u00E4\u00DF eingerichtet. Es sind keine Feldbeschreibungen verf\u00FCgbar. -core.configuration.loadfailed.class=JDO76104: Die Konfiguration f\u00FCr die Klasse {0} konnte nicht geladen werden. -core.configuration.noneexistentpkfield=JDO76105: Das Feld {0} in der ObjectId-Klasse {1} existiert nicht in der PersistenceCapable-Klasse {2}. -core.configuration.unsupportedconsistencylevel=JDO76106: Die Klasse {0} weist eine nicht unterst\u00FCtzte Konsistenzebene auf. Die derzeit unterst\u00FCtzten Konsistenzebenen lauten "keine", "\u00C4nderung bei Durchf\u00FChrung \u00FCberpr\u00FCfen", "Bei Laden sperren" und "Version von verwendeten Instanzen \u00FCberpr\u00FCfen". -core.configuration.validationfailed=JDO76107: Die Zuordnung f\u00FCr Klasse {0} ist ung\u00FCltig:\n{1}. -core.configuration.validationproblem=JDO76108: \u00DCberpr\u00FCfungsfehler in Klasse {0}: {1} -# -# -# -core.fielddesc.minvalue=JDO76109: Wert: {0} ist niedriger als zul\u00E4ssiges Minimum: {1} f\u00FCr Feldtyp {2}. -core.fielddesc.maxvalue=JDO76110: Wert: {0} ist gr\u00F6\u00DFer als zul\u00E4ssiges Maximum: {1} f\u00FCr Feldtyp {2}. -core.configuration.noneexistentvcfield=JDO76111: Das Feld {0} ist als Versionsfeld markiert, existiert jedoch in der PersistenceCapable-Klasse {1} nicht. -core.configuration.loadfailed.field=JDO76112: Die Konfiguration f\u00FCr Feld {0} in Klasse {1} konnte nicht geladen werden. - -# -# -# -sqlstore.model.classdesc.assocrelatedfield=verkn\u00FCpftes Beziehungsfeld = {0}. -sqlstore.model.classdesc.createsqldesc=SqlIDDesc wird aus {0} erstellt. -sqlstore.model.classdesc.fieldinfo=Feldname = {0}, ID= {1}. -sqlstore.model.classdesc.general={0}.{1} =>{2} -sqlstore.model.classdesc.getlocalfielddesc=<-> SqlPersistenceDesc.getLocalFieldDesc(), Klasse ={0} ausgeblendetes Feld {1} f\u00FCr Spalte {2} hinzugef\u00FCgt. -sqlstore.model.classdesc.loadedclass=OID-Klasse erfolgreich geladen= {0}. -sqlstore.model.classdesc.persistconfiginit.exit=<-- SqlPersistenceConfig.initialize(). -sqlstore.model.classdesc.persistconfiginit=--> SqlPersistenceConfig.initialize(), Klasse = {0}. -sqlstore.model.classdesc.pkfield=PK-Feld = {0}. -sqlstore.model.classdesc.primarytrackedfield=Feld {0} ist das prim\u00E4r \u00FCberwachte Feld. -sqlstore.model.classdesc.unsetconcurrencychk=Eigenschaft IN_CONCURRENCY_CHECK f\u00FCr lf {0} wird aufgehoben. -sqlstore.model.classdesc.unsetrefintegrityupdate=Eigenschaft REF_INTEGRITY_UPDATES f\u00FCr ff {0} wird aufgehoben. -sqlstore.model.classdesc.vcfield=Versionskonsistenzfeld = {0}. -sqlstore.model.fielddesc.addingfield=Feld {0}, das von Feld {1} \u00FCberwacht werden soll, wird hinzugef\u00FCgt -sqlstore.model.fielddesc.convertvalue.from_to=convertValue: {0} Von: {1} In: {2}. -sqlstore.model.fielddesc.convertvalue.hidden=convertValue: ausgeblendet {0} ... R\u00FCckgabe. -sqlstore.model.fielddesc.convertvalue=convertValue: NULL ... R\u00FCckgabe. -sqlstore.model.fielddesc.fieldname={0} = {1}. -sqlstore.model.fielddesc.setupdesc=setupDesc(): fieldName {0} fieldType {1}. -sqlstore.model.configcacheimpl.size_before={0} Gr\u00F6\u00DFe vor Bereinigung: {1}. -sqlstore.model.configcacheimpl.size_after={0} Gr\u00F6\u00DFe nach Bereinigung: {1}. - - -############################################################################### -# -# Message ID Range: JDO76200 - JDO76299 -############################################################################### -core.statemanager.anotherowner=JDO76200: Eine SCO-Instanz, die Eigentum eines anderen Objekts ist, kann nicht zugewiesen werden. -core.statemanager.cantnewoid=JDO76201: Neue Prim\u00E4rschl\u00FCsselinstanz der Klasse {0} konnte nicht erstellt werden. -core.statemanager.cantschedulejointable=JDO76202: Vereinigungstabelleneintrag von Klasse {0} und {1} wurde nicht geplant, da die Beziehungsfeldbeschreibung null ist. -core.statemanager.cantsetkeyfield=JDO76203: Wert f\u00FCr Prim\u00E4rschl\u00FCsselfeld {0} konnte nicht festgelegt werden. -core.statemanager.conflictingvalues=JDO76204: Widerspr\u00FCchliche Werte zwischen Feld {0} und Feld {1}, die derselben Spalte zugeordnet sind -core.statemanager.getfieldfailed=JDO76205: Feld konnte nicht abgerufen werden. -core.statemanager.invalidpk=JDO76206: Ung\u00FCltiges Null-Prim\u00E4rschl\u00FCsselfeld {0} beim Neuladen einer Instanz der persistenzf\u00E4higen Klasse {1}. Die ObjectId der Instanz ist {2} -core.statemanager.nopkupdate=JDO76207: Die Aktualisierung eines Prim\u00E4rschl\u00FCsselfeldes ist nicht zul\u00E4ssig. -core.statemanager.nopm=JDO76208: Der Statusmanager enth\u00E4lt keine Referenz zum Persistence Manager. -core.statemanager.notnavigable=JDO76209: Es wurde versucht, auf das Feld {0} der Klasse {1} zuzugreifen. Das Feld wurde zuvor nicht instanziiert und diese Klasse l\u00E4sst keine dynamische Navigation zu. Sie m\u00FCssen entweder das Feld anfordern, wenn Sie die Klasse abrufen, oder die dynamische Navigation zulassen, damit das Feld automatisch abgerufen wird, wenn darauf zugegriffen wird. -core.statemanager.objectnotfound=JDO76210: Objekt existiert nicht im Datenspeicher. -core.statemanager.poshiddenindex=JDO76211: Der Index auf einem ausgeblendeten Feld muss negativ ein, aber der aktuelle Index ist {0}. -core.statemanager.readonly=JDO76212: Es wurde versucht, das schreibgesch\u00FCtzte Feld {0} der Klasse {1} zu \u00E4ndern. -core.statemanager.releaselock.wrongthread=JDO76213: Dieser Thread {0} verf\u00FCgt \u00FCber keine StateManager-Sperre. -core.statemanager.setfieldfailed=JDO76214: Feld konnte nicht festgelegt werden. -core.statemanager.wrongusageforoverlappingpkfkdelete=JDO76215: Falscher Versuch, eine Instanz aus einer verwalteten Beziehung zu entfernen. Die Beziehung wird durch eine prim\u00E4re Schl\u00FCsselspalte auf der anderen Seite definiert. Ein L\u00F6schvorgang in einer Collection erfordert die Aktualisierung der Spalte auf der anderen Seite und die Aktualisierung des Prim\u00E4rschl\u00FCssels ist unzul\u00E4ssig. Aus diesem Grund kann eine Instanz aus einer verwalteten Beziehungs-Collection, die durch einen Prim\u00E4rschl\u00FCssel definiert ist, nur entfernt werden, indem die Instanz entweder explizit oder kaskadierend gel\u00F6scht wird. -core.statemanager.toomanyrows=JDO76215: Es wurden mehrere Zeilen f\u00FCr eine der der Klasse {0} zugeordneten Tabellen zur\u00FCckgegeben. Jede Tabelle, die einer Klasse zugeordnet ist, darf nur eine Zeile f\u00FCr jede Instanz des Objekts enthalten. -core.statemanager.copyFields.mismatch=JDO76216: Es wurde versucht, Felder aus einem StateManager in einen anderen zu kopieren, wobei diese StateManager Instanzen unterschiedlicher Typen verwalten: {0} und {1}. - -# -# -# -sqlstore.sqlstatemanager.adddependency=<-> SQLStateManager.addDependency(), dieser StateManager: {0}, anderer StateManager: {1}. -sqlstore.sqlstatemanager.addupdate=<-> SQLStateManager.addUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.applyupdates.exit=<-- SqlStateManager.applyUpdates(). -sqlstore.sqlstatemanager.applyupdates=--> SqlStateManager.applyUpdates(), Feld = {0}. -sqlstore.sqlstatemanager.clearpersistencefields.exit=<--- SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.clearpersistencefields=--> SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.copychanges.exit=<-- SQLStateManager.copyChanges(). -sqlstore.sqlstatemanager.copychanges=--> SQLStateManager.copyChanges(), Statusmanager = {0}. -sqlstore.sqlstatemanager.deletepersistence=<-> SqlStateManager.deletePersistence(), Typ = {0}. -sqlstore.sqlstatemanager.getbeforeimage.exit=<-- SqlStateManager.getBeforeImage(). -sqlstore.sqlstatemanager.getbeforeimage=--> SqlStateManager.getBeforeImage(), Typ = {0}. -sqlstore.sqlstatemanager.isbeforeimagerequired=isBeforeImageRequired ist: {0}. -sqlstore.sqlstatemanager.loadforread.exit=<-- SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforread=--> SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforupdate.exit=<-- SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loadforupdate=--> SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loggingfield=Logging-Feld = {0} mit Wert = {1}. -sqlstore.sqlstatemanager.makedirty.fixscocollection=--- SqlStateManager.makeDirty(), fix SCOCollection. -sqlstore.sqlstatemanager.makedirty.fixscodate=--- SqlStateManager.makeDirty(), fix SCODate. -sqlstore.sqlstatemanager.makedirty=--> SqlStateManager.makeDirty(), field = {0}. -sqlstore.sqlstatemanager.makedirtyfield=Markiertes Dirty Feld = {0}. -sqlstore.sqlstatemanager.makepersistence=<-> SqlStateManager.makePersistence(), Typ = {0}. -sqlstore.sqlstatemanager.makepresent=--> SqlStateManager.makePresent(), Feld = {0}. -sqlstore.sqlstatemanager.marking={0} als vorhanden markieren. -sqlstore.sqlstatemanager.newtype=Neuer Typ: {0}. -sqlstore.sqlstatemanager.nosuchmethodexcep.clone=Ausnahme: {0} Clone ... f\u00FCr Typ {1}. -sqlstore.sqlstatemanager.preparegetfield.exit=<-- SqlStateManager.prepareGetField(). -sqlstore.sqlstatemanager.preparegetfield=--> SqlStateManager.prepareGetField(), Name = {0}. -sqlstore.sqlstatemanager.preparesetfield.exit=<-- SQLStateManager.prepareSetField(). -sqlstore.sqlstatemanager.preparesetfield=--> SQLStateManager.prepareSetField(), Name = {0}. -sqlstore.sqlstatemanager.preparetoupdateph1.exit=<-- SqlStateManager.prepareToUpdateI(). -sqlstore.sqlstatemanager.preparetoupdateph1=--> SqlStateManager.prepareToUpdatePhaseI(), Typ = {0}. -sqlstore.sqlstatemanager.preparetoupdateph2.exit=<-- SqlStateManager.prepareToUpdateII(). -sqlstore.sqlstatemanager.preparetoupdateph2=--> SqlStateManager.prepareToUpdatePhaseII(), Typ = {0}. -sqlstore.sqlstatemanager.preparetoupdateph3.exit=<-- SqlStateManager.prepareToUpdateIII(). -sqlstore.sqlstatemanager.preparetoupdateph3=--> SqlStateManager.prepareToUpdatePhaseIII(), Typ = {0}. -sqlstore.sqlstatemanager.prepareupdatefield.exit=<-- SQLStateManager.prepareUpdateField(). -sqlstore.sqlstatemanager.prepareupdatefield=--> SQLStateManager.prepareUpdateField(), Name = {0} f\u00FCr Status: {1}. -sqlstore.sqlstatemanager.prepareupdatefieldspl.exit=<-- SQLStateManager.prepareUpdateFieldSpecial(). -sqlstore.sqlstatemanager.prepareupdatefieldspl=--> SQLStateManager.prepareUpdateFieldSpecial, Name = {0} f\u00FCr Status: {1}. -sqlstore.sqlstatemanager.processcollectionupdate.exit=<-- SQLStateManager.processCollectionUpdates(). -sqlstore.sqlstatemanager.processcollectionupdate=--> SQLStateManager.processCollectionUpdates(), beforeList={0}, afterlist={1}. -sqlstore.sqlstatemanager.processforeign=Fremdes Feld verarbeiten ={0}. -sqlstore.sqlstatemanager.processforeignfield.remove=-- SQLStateManager.processForeignField(): war Collection - entfernen. -sqlstore.sqlstatemanager.processforeignfield.remove_from_bi=-- SQLStateManager.processForeignField(): ist SCOCollection - aus BI entfernen. -sqlstore.sqlstatemanager.processforeignfield.reset=-- SQLStateManager.processForeignField(): war SCOCollection - zur\u00FCcksetzen. -sqlstore.sqlstatemanager.processforeignfield=-- SQLStateManager.processForeignField(): Wert: {0} Typ: {1}. -sqlstore.sqlstatemanager.realizefield.exit=<-- SqlStateManager.realizeField(). -sqlstore.sqlstatemanager.realizefield=--> SqlStateManager.realizeField(), Name = {0}. -sqlstore.sqlstatemanager.realizeforeignfield.exit=<-- SqlStateManager.realizeField(), Feld realisiert = {0}. -sqlstore.sqlstatemanager.realizeforeignfield=--> SqlStateManager.realizeField(), Name = {0}. -sqlstore.sqlstatemanager.recordingfield=Feld wird aufgezeichnet = {0}. -sqlstore.sqlstatemanager.refreshpersistent.exit=<-- SqlStateManager.refreshPersistent(). -sqlstore.sqlstatemanager.refreshpersistent=--> SqlStateManager.refreshPersistence(), Typ = {0}. -sqlstore.sqlstatemanager.reload.exit=<-- SqlStateManager.reload(FieldDesc). -sqlstore.sqlstatemanager.reload=--> SqlStateManager.reload(FieldDesc), Typ = {0}, Feld = {1}. -sqlstore.sqlstatemanager.removeupdate=<-> SQLStateManager.removeUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.replaceobjectfield.unsetsco=-- SqlStateManager.replaceObjectField(), SCO aufheben. -sqlstore.sqlstatemanager.replaceobjectfield=-- SqlStateManager.replaceObjectField(), Feld = {0}, Typ= {1}. -sqlstore.sqlstatemanager.reset=--> SqlStateManager.reset(), retValues = {0}, wasNew: {1}, keepState: {2}. -sqlstore.sqlstatemanager.resettingcollection=Collection wird zur\u00FCckgesetzt. -sqlstore.sqlstatemanager.resettingdate=Datum wird zur\u00FCckgesetzt. -sqlstore.sqlstatemanager.resolvedependencies=<-> SQLStateManager.resolveDependencies(), obj={0}. -sqlstore.sqlstatemanager.resolvedependency=<-> SQLStateManager.resolveDependency(), Abh\u00E4ngigkeit aufgel\u00F6st: lobj={0}, f={1}, fobj={2}. -sqlstore.sqlstatemanager.retrieve.exit=<-- SqlStateManager.retrieve(). -sqlstore.sqlstatemanager.retrieve=--> SqlStateManager.retrieve(), Name = {0}. -sqlstore.sqlstatemanager.retrieveforeign.exit=<-- SqlStateManager.retrieveForeign(). -sqlstore.sqlstatemanager.retrieveforeign=--> SqlStateManager.retrieveForeign(), Name = {0}. -sqlstore.sqlstatemanager.unsetmask=Masken f\u00FCr Feld aufheben = {0}. -sqlstore.sqlstatemanager.unconditionalreload.exit=<-- SqlStateManager.reload(). -sqlstore.sqlstatemanager.unconditionalreload=--> SqlStateManager.reload(), Typ = {0}. -sqlstore.sqlstatemanager.updatebeforeimage=<-> SQLStateManager.updateBeforeImage(), Name = {0},Wert = {1}. -sqlstore.sqlstatemanager.updateobjfield.exit=<-- SQLStateManager.updateObjectField(). -sqlstore.sqlstatemanager.updateobjfield=--> SQLStateManager.updateObjectField(), Name = {0}, Typ = {1}. -sqlstore.sqlstatemanager.updatepersistent.exit=<-- SqlStateManager.updatePersistent(). -sqlstore.sqlstatemanager.updatepersistent.immediateflush=<--> SqlStateManager.updatePersistent(), sofortiges Zur\u00FCcksetzen erforderlich: Obj={0}, n\u00E4chstes={1}. -sqlstore.sqlstatemanager.updatepersistent.skipped=<--> SqlStateManager.updatePersistent() \u00FCbersprungen, Typ ={0}, Obj= {1}. -sqlstore.sqlstatemanager.updatepersistent=--> SqlStateManager.updatePersistent(), Typ = {0}. -sqlstore.sqlstatemanager.updatetrackedfields.exit=<-- updateTrackedFields(). -sqlstore.sqlstatemanager.updatetrackedfields=--> updateTrackedFields(), f = {0} Wert = {1} fieldToIgnore = {2}. - - -############################################################################### -# -# Message ID Range: JDO76300 - JDO76399 -############################################################################### -core.constraint.duporderby=JDO76300: Das Constraint ist ein \\"order by\\"-Constraint f\u00FCr das Feld {0}, das bereits in einem \\"order by\\"-Constraint angegeben wurde. -core.constraint.fielddisallowed=JDO76301: Der fieldName-Parameter wurde angegeben, aber ist f\u00FCr den Vorgang {0} nicht zul\u00E4ssig. -core.constraint.fieldrequired=JDO76302: Der fieldName-Parameter fehlt, aber der Vorgang {0} erfordert ein Feld. -core.constraint.illegalParameterInfo=JDO76303: addConstraint() f\u00FCr OP_PARAMETER muss mit einem Wert vom Typ ParameterInfo aufgerufen werden. -core.constraint.illegalnode=JDO76304: Unzul\u00E4ssiger Constraint-Knoten {0} im SqlConstraint Stack. -core.constraint.illegalop=JDO76305: Der Vorgangsparameter wies einen unzul\u00E4ssigen Wert f\u00FCr {0} auf. -core.constraint.needfieldnamenode=JDO76306: Fehler im Constraint Stack. Erwartet wird ein Feldname. -core.constraint.needfieldnode=JDO76307: Fehler im Constraint Stack. Eine Feldbeschreibung wird erwartet. -core.constraint.needvalnode=JDO76308: Fehler im Constraint Stack. Ein Wert wird erwartet. -core.constraint.stackempty=JDO76309: Der Constraint Stack ist leer - nicht gen\u00FCgend Werte f\u00FCr die Operatorzahl. -core.constraint.unknownfield=JDO76310: Das Feld {0}, das im Abrufdeskriptor angegeben ist, ist kein Mitglied der Klasse {1}. -core.constraint.valdisallowed=JDO76311: Der Wertparameter wurde angegeben, ist jedoch f\u00FCr den Vorgang {0} nicht zul\u00E4ssig. -core.constraint.valrequired=JDO76312: Der Wertparameter fehlt, aber der Vorgang {0} erfordert einen Wert. -sqlstore.resultdesc.errorgettingvalefromresulset=JDO76313: Fehler beim Abrufen von Wert aus resultset bei Index {0} als resultType {1}. columnSqlType {2}. Ausnahmefehler: {3} -sqlstore.resultdesc.foreignfieldprojection=JDO76314: Abfragen f\u00FCr {0} sollten keine Projektionen f\u00FCr ein Beziehungsfeld aufweisen. -sqlstore.resultdesc.unknownfieldtype=JDO76317: Unbekannter Feldtyp {0} wurde angetroffen. -sqlstore.retrievedesc.toomanyprojections=JDO76318: Es kann nicht mehr als eine Projektion f\u00FCr eine RetrieveDesc festgelegt werden. -sqlstore.retrievedesc.toomanyresulttypes=JDO76319: Es kann nicht mehr als ein Ergebnistyp f\u00FCr eine RetrieveDesc festgelegt werden. -sqlstore.selectstatement.noupdatelocksupport=JDO76320: Einer der Objekttypen, die diese Abfrage betreffen, hat die Konsistenzebene "bei Laden sperren". F\u00FCr die Durchsetzung dieser Konsistenzebene ist es erforderlich, dass der Datenspeicher die Sperrfunktion f\u00FCr die Aktualisierung auf der Zeilenebene unterst\u00FCtzt. Der Datenspeicher unterst\u00FCtzt die Sperrfunktion f\u00FCr die Aktualisierung auf der Zeilenebene nicht. -sqlstore.sql.generator.statement.likeescapenotsupported=JDO76321: LIKE ESCAPE-Klausel wird in dieser Datenbank nicht unterst\u00FCtzt. -sqlstore.sql.generator.statement.positionthreeargsnotsupported=JDO76322: Drittes Argument f\u00FCr POSITION-Klausel muss 1 sein. -core.configuration.classnotmapped=JDO76323: Die Klasse {0} ist nicht zugeordnet. -core.configuration.classnotmappedtotable=JDO76324: Die Klasse {0} ist der Tabelle {1} nicht zugeordnet. -sqlstore.sql.generator.statement.unexpectedconstraint=JDO76325: Eine Bedingung f\u00FCr Vorgang {0} kann nie Root f\u00FCr eine Where-Klausel sein. - -# -# Following messages are used within other messages. They need to be i18ned but need not be numbered. -# -sqlstore.sql.generator.statement.sqlStatement=SQL-Anweisung -sqlstore.sql.generator.statement.withinputvalues= Eingabewerte: -sqlstore.sql.generator.statement.withnoinputvalues= keine Eingabewerte. - - -# -# -# -sqlstore.resultdesc.deserializing=Deserialisierung = {0}. -sqlstore.resultdesc.marking_field=lokales Feld {0} als vorhanden markieren. -sqlstore.resultdesc.marking_foreign_field=fremdes Feld {0} als vorhanden markieren. -sqlstore.resultdesc.marking_key_field=Schl\u00FCsselfeld {0} als vorhanden markieren. -sqlstore.resultdesc.returning_field=Feld {0} als Projektion zur\u00FCckgeben. -# -# -# -sqlstore.sql.concurrency.concurrencychkdirty.exit=--> ConcurrencyCheckDirty.update(). -sqlstore.sql.concurrency.concurrencychkdirty=--> ConcurrencyCheckDirty.update(), beforeImage = {0}. -sqlstore.sql.concurrencyoptverify.resumetx=<--> ConcurrencyOptVerify.resume(), resumed transaction = {0}. -sqlstore.sql.concurrencyoptverify.suspendtx=<--> ConcurrencyOptVerify.suspend(), suspended transaction = {0}. -sqlstore.sql.concurrencyoptverify.update.exit=<-- ConcurrencyOptVerify.update(). -sqlstore.sql.concurrencyoptverify.update=--> ConcurrencyOptVerify.update(), beforeImage = {0}. -sqlstore.sql.generator.dbstatement.addbatch=addbatch ({0}) -sqlstore.sql.generator.dbstatement.bindinputcolumn=bindInputColumn-Index: {0} Wert: {1} sqlType: {2}. -sqlstore.sql.generator.dbstatement.executebatch=executeBatch {0}-Befehle werden ausgef\u00FChrt -sqlstore.sql.generator.selectqueryplan.processforeignfield.exit=<-- SelectQueryPlan.processForeignFields(). -sqlstore.sql.generator.selectqueryplan.processforeignfield=--> SelectQueryPlan.processForeignFields(), Klasse = {0}. -sqlstore.sql.generator.selectqueryplan.processlocalfield.exit=<-- SelectQueryPlan.processLocalFields(). -sqlstore.sql.generator.selectqueryplan.processlocalfield=--> SelectQueryPlan.processLocalFields(), Klasse = {0}. -sqlstore.sql.generator.selectqueryplan.processstmts.exit=<-- SelectQueryPlan.processStatements(). -sqlstore.sql.generator.selectqueryplan.processstmts=--> SelectQueryPlan.processStatements(), Klasse = {0}, Anweisungen = {1}. -sqlstore.sql.updateobjdescimpl.afterimagenull=AfterImage ist nicht festgelegt. -sqlstore.sql.updateobjdescimpl.beforeimagenull=BeforeImage ist nicht festgelegt. -sqlstore.sql.updateobjdescimpl.markrelationshipchange=<--> UpdateDesc.markRelationshipChange(). -sqlstore.sql.updateobjdescimpl.updated={0} wird aktualisiert. - - -############################################################################### -# -# Message ID Range: JDO76400 - JDO76499 -############################################################################### -# -# -# -core.persistencestore.jdbcerror=JDO76400: JDBC-SQLException beim Ausf\u00FChren der SQL-Anweisung:\n{0}.\nWeitere Informationen finden Sie in der SQLException. -sqlstore.retrievedesc.stmntsnotjoined=JDO76401: Mehrere nicht unterst\u00FCtzte SQL-Anweisungen f\u00FCr eine RetrieveDesc. -core.persistencestore.toofewrows=JDO76402: Beim Versuch, den Wert f\u00FCr die Verkn\u00FCpfung {1} der Klasse {0} zu erhalten, wurden weniger Zeilen von der Datenbank zur\u00FCckgegeben als minimal f\u00FCr diese Verkn\u00FCpfung zul\u00E4ssig. Die minimal zul\u00E4ssige Anzahl von Zeilen ist {2}. -core.persistencestore.toomanyobjforcard1=JDO76403: Die Datenbank ist nicht mit dem persistenten Modell konsistent. Bei dem Versuch, das Objekt zu erhalten, auf das durch die {1}-Verkn\u00FCpfung der {0}-Klasse verwiesen wurde, wurden {2} Elemente erhalten, aber nur 1 Element kann aufgenommen werden, da die zul\u00E4ssige Obergrenze f\u00FCr die Verkn\u00FCpfung bei 1 liegt. -core.persistencestore.toomanyrows=JDO76405: Beim Versuch, den Wert f\u00FCr die Verkn\u00FCpfung {1} der Klasse {0} abzurufen, wurden mehr Zeilen von der Datenbank zur\u00FCckgegeben als maximal f\u00FCr diese Verkn\u00FCpfung zul\u00E4ssig. Die maximal zul\u00E4ssige Anzahl von Zeilen ist {2}. -core.store.concurrentaccess=JDO76406: Ausnahme durch gleichzeitigen Zugriff: Objekt f\u00FCr {0} wurde aktualisiert oder in einer anderen Transaktion gel\u00F6scht. -sqlstore.sqlstoremanager.errorcloseresultset=JDO76407: Fehler beim Schlie\u00DFen der SQL-Ergebnismenge. Ausnahmefehler: {0} -sqlstore.sqlstoremanager.errorclosestatement=JDO76408: Fehler beim Schlie\u00DFen der SQL-Anweisung. Ausnahmefehler: {0} -sqlstore.sql.generator.selectqueryplan.plansnotjoined=JDO76409: Mehrere nicht unterst\u00FCtzte Abfragepl\u00E4ne f\u00FCr eine RetrieveDesc. - -# -# -# -sqlstore.sqlstoremanager.executeQuery.exit=<-- SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeQuery=--> SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeupdate.exit=<-- SQLStoreManager.executeUpdate(), betroffene Zeilen = {0}. -sqlstore.sqlstoremanager.executeupdate=--> SQLStoreManager.executeUpdate(). -sqlstore.sqlstoremanager.executeupdatebatch.addbatch={0}; Batch hinzuf\u00FCgen. -sqlstore.sqlstoremanager.executeupdatebatch.exit=<-- SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.executeupdatebatch.exit.flush=<-- SQLStoreManager.executeUpdateBatch(), betroffene Zeilen = {0}. -sqlstore.sqlstoremanager.executeupdatebatch.flushbatch={0}; Batch zur\u00FCcksetzen. -sqlstore.sqlstoremanager.executeupdatebatch=--> SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.getpersistenceconfig=<--> SQLStoreManager.getPersistenceConfig(), classType = {0}. -sqlstore.sqlstoremanager.selectnoncorrelated.exit=<-- SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.selectnoncorrelated=--> SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.vendortype=<--> SQLStoreManager: Herstellertyp = {0}. - - -############################################################################### -# -# Message ID Range: JDO76500 - JDO76599 -############################################################################### -# -# - database -# -connection.connectionmanager.badnew=JDO76500: Neuer ''{0}'' muss gr\u00F6\u00DFer sein als bzw. gleich sein wie aktueller ''{1}''. -connection.connectionmanager.badvalue=JDO76501: Ung\u00FCltiger Wert f\u00FCr ''{0}''. -connection.connectionmanager.conntimeout=JDO76502: Timeout f\u00FCr Verbindung \u00FCberschritten. -connection.connectionmanager.getconnection.mismatch=JDO76503: Connection im Pool weist nicht denselben Benutzerkontext auf. -connection.connectionmanager.isdown=JDO76504: Der Verbindungsmanager wird heruntergefahren. -connection.connectionmanager.maxpool=JDO76505: Connection Pool wird zu umfangreich. -connection.connectionmanager.msintervalvalue=JDO76506: MsInterval muss gr\u00F6\u00DFer sein als null und kleiner als oder gleich MsWait. -connection.connectionmanager.mswaitvalue=JDO76507: MsWait muss gr\u00F6\u00DFer als oder gleich null sein. -connection.connectionmanager.nulldriver=JDO76508: Wert NULL f\u00FCr Treibername. -connection.connectionmanager.nullurl=JDO76509: Wert NULL f\u00FCr URL. -connection.connectionmanager.poolsize=JDO76510: 'maxPool' muss gr\u00F6\u00DFer als oder gleich 'minPool' sein. -connection.connectionmanager.threaditerupted=JDO76511: Thread unterbrochen. -connection.connectionmanager.zero=JDO76512: ''{0}'' muss gr\u00F6\u00DFer als oder gleich null sein. -# -# -# -sqlstore.database.dbvendor.cantloadDefaultProperties=JDO76513: Eigenschaften f\u00FCr Standarddatenbank konnten nicht geladen werden. -sqlstore.database.dbvendor.init.default=JDO76514: -->Eigenschaft f\u00FCr Herstellertyp {0} konnte nicht geladen werden. Verwendet werden Standardwerte. -sqlstore.database.dbvendor.cantinstantiateclass=JDO76515: Klasse {0} konnte nicht instanziiert werden. -# -# -# -sqlstore.database.oracle.defineCol=JDO76516: Spalte f\u00FCr Anweisung konnte nicht definiert werden. -sqlstore.database.oracle.nooracleavailable=JDO76517: Bei der Initialisierung der Oracle-Ressourcen-Factory ''{0}'' konnte weder eine Instanz von oracle.jdbc.OraclePreparedStatement noch von oracle.jdbc.driver.OraclePreparedStatement abgerufen werden. Die Oracle-spezifische Optimierung wird deaktiviert. Wenn Instanzen, die diese Ressource verwenden, Bind-Werte f\u00FCr Spalten ben\u00F6tigen, die der Fixed Char-Spalte zugeordnet sind, werden die Werte mit Leerzeichen aufgef\u00FCllt, um die in der zugeh\u00F6rigen dbschema-Datei angegebene L\u00E4nge zu erreichen. -sqlstore.database.oracle.fixedcharpadded=JDO76518: Wert "{0}" ist an eine CHAR-Spalte gebunden. Dies erfordert eine besondere Behandlung bei Oracle. Da die Klasse OraclePreparedStatement nicht vom Treiber abgerufen werden konnte, wird der Wert mit Leerzeichen aufgef\u00FCllt, bis die in der erfassten dbschema-Datei angegebene L\u00E4nge von {1} erreicht ist. -# -# -# -core.configuration.getvendortypefailed=JDO76519: Herstellertyp f\u00FCr den Datenspeicher konnte nicht identifiziert werden. -jdo.sqlpersistencemanagerfactory.errorgettingDatabaseInfo=JDO76520: Fehler beim Abrufen von Informationen zur Datenbank. Folgender Ausnahmefehler trat auf: - -# -# -# -sqlstore.connection.conncectiomgr.found=<--> ConnectionManager.getConnection: gefunden {0}. -sqlstore.connection.conncectiomgr.getnewconn=<--> ConnectionManager.getConnection: neu {0}. -sqlstore.connection.conncectiomgr.replacefreeconn=<--> ConnectionManager.replaceFreeConnection: frei {0}. -sqlstore.connectionimpl.clearxact.close=--- ConnectionImpl.clearXact: Verbindung beendet. -sqlstore.connectionimpl.clearxact.disassocxact=--- ConnectionImpl.clearXact: disassociateXact. -sqlstore.connectionimpl.clearxact=--- ConnectionImpl.clearXact: . -sqlstore.connectionimpl.close.connrelease=<--- ConnectionImpl.close: Verbindung freigegeben. -sqlstore.connectionimpl.close.exit=<--- ConnectionImpl.close: Verbindung beendet. -sqlstore.connectionimpl.close.freepending=<--- ConnectionImpl.close: set FreePending. -sqlstore.connectionimpl.close.putfreelist=<--- ConnectionImpl.close: in freeList gesetzt. -sqlstore.connectionimpl.close.replaced=<--- ConnectionImpl.close: Verbindung ersetzt. -sqlstore.connectionimpl.close=---> ConnectionImpl.close. -sqlstore.connectionimpl.close_arg=---> ConnectionImpl.close: {0}. -sqlstore.connectionimpl.commit=--- ConnectionImpl.commit: Verbindung beendet. -sqlstore.connectionimpl.finalize=--- ConnectionImpl.finalize: Verbindung beendet. -sqlstore.connectionimpl.internalcommit=--- ConnectionImpl.internalCommit: -sqlstore.connectionimpl.pendingdisassocxact=--- ConnectionImpl.clearXact: disassociateXact steht aus. -sqlstore.connectionimpl.rollback.close=--- ConnectionImpl.rollback: Verbindung beendet. -sqlstore.connectionimpl.rollback=--- ConnectionImpl.rollback:. -# -# -# -sqlstore.database.dbvendor.castRequiredForNumericValues=<-> DBVendorType.isCastRequiredForNumericValues(): {0}. -sqlstore.database.dbvendor.getModFunctionName=<-> DBVendorType.getModFunctionName(): {0}. -sqlstore.database.dbvendor.getNullComparisonFunctionName=<-> DBVendorType.getNullComparisonFunctionName(): {0}. -sqlstore.database.dbvendor.getConcatCast=<-> DBVendorType.getConcatCast(): {0}. -sqlstore.database.dbvendor.getSpecialDBOperation=<-> DBVendorType.getSpecialDBOperation(): {0}. -sqlstore.database.dbvendor.getabs=<-> DBVendorType.getAbs(): {0}. -sqlstore.database.dbvendor.getcharlength=<-> DBVendorType.getCharLength(): {0}. -sqlstore.database.dbvendor.getforupdate=<-> DBVendorType.getForUpdate(): {0}. -sqlstore.database.dbvendor.getholdlock=<-> DBVendorType.getHoldlock(): {0}. -sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull(): {0}. -sqlstore.database.dbvendor.getisnull=<-> DBVendorType.getIsNull(): {0}. -sqlstore.database.dbvendor.getleftjoin=<-> DBVendorType.getLeftJoin(): {0}. -sqlstore.database.dbvendor.getleftjoinpost=<-> DBVendorType.getLeftJoinPost(): {0}. -sqlstore.database.dbvendor.getleftlikeescape=<-> DBVendorType.getLeftLikeEscape(): {0}. -sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}. -sqlstore.database.dbvendor.getposition3args=<-> DBVendorType.getPositionThreeArrgs(): {0}. -sqlstore.database.dbvendor.getposition=<-> DBVendorType.getPosition(): {0}. -sqlstore.database.dbvendor.getpositionin=<-> DBVendorType.getPositionIn(): {0}. -sqlstore.database.dbvendor.getpositionsrchsrc=<-> DBVendorType.getPositionSearchSource(): {0}. -sqlstore.database.dbvendor.getquotecharstart=<-> DBVendorType.getQuoteCharStart(): {0}. -sqlstore.database.dbvendor.getrightjoinipre=<-> DBVendorType.getRightJoin(): {0}. -sqlstore.database.dbvendor.getrightlikeescape=<-> DBVendorType.getRightLikeEscape(): {0}. -sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim(): {0}. -sqlstore.database.dbvendor.getrtrimpost=<-> DBVendorType.getRtrimPost(): {0}. -sqlstore.database.dbvendor.getsqrt=<-> DBVendorType.getSqrt(): {0}. -sqlstore.database.dbvendor.getstringconcat=<-> DBVendorType.getStringConcat(): {0}. -sqlstore.database.dbvendor.getsubstring=<-> DBVendorType.getSubstring(): {0}. -sqlstore.database.dbvendor.getsubstringfor=<-> DBVendorType.getSubstringFor(): {0}. -sqlstore.database.dbvendor.getsubstringfrom=<-> DBVendorType.getSubstringFrom(): {0}. -sqlstore.database.dbvendor.gettablelistend=<-> DBVendorType.getTableListEnd(): {0}. -sqlstore.database.dbvendor.gettableliststart=<-> DBVendorType.getTableListStart(): {0}. -sqlstore.database.dbvendor.isAnsiTrim=<-> DBVendorType.isAnsiTrim(): {0}. -sqlstore.database.dbvendor.isInlineNumeric=<-> DBVendorType.isInlineNumeric(): {0}. -sqlstore.database.dbvendor.isNativeOuterJoin=<-> DBVendorType.isNativeOuterJoin(): {0}. -sqlstore.database.dbvendor.isParameterCast=<-> DBVendorType.isParameterCast(): {0}. -sqlstore.database.dbvendor.isdistinctupdatelocksupported=<-> DBVendorType.isDistinctSupportedWithUpdateLock(): {0}. -sqlstore.database.dbvendor.islockcolumnlistsupported=<-> DBVendorType.isLockColumnListSupported(): {0}. -sqlstore.database.dbvendor.isupdatelocksupported=<-> DBVendorType.isUpdateLockSupported(): {0}. -sqlstore.database.dbvendor.mapemptystrtonull=<-> DBVendorType.mapEmptyStringToNull(): {0}. -sqlstore.database.dbvendor.overrideproperties.with=<-> DBVendorType.overrideProperties(): {0} mit: {1}. -sqlstore.database.dbvendor.overrideproperties=<-> DBVendorType.overrideProperties() - NONE. -sqlstore.database.dbvendor.supportslikeescape=<-> DBVendorType.supportsLikeEscape(): {0}. -sqlstore.database.dbvendor.vendorname=<-> DBVendorType(), vendorName: [{0}] vendorType: {1}. -# -# -# -sqlstore.transactionimpl.call.info={0} Tran[ {1} ].{2}: {3} f\u00FCr {4}. -sqlstore.transactionimpl.call={0} Tran[ {1} ].{2}:status = {3}, txType: {4} f\u00FCr {5}. -sqlstore.transactionimpl.closeconnection=--- TransactionImpl.closeConnection() {0} f\u00FCr {1}. -sqlstore.transactionimpl.general={0}. -sqlstore.transactionimpl.getconnection=--- TransactionImpl.getConnection(): {0} TX optimistic: {1} referenceCount = {2} f\u00FCr {3}. -sqlstore.transactionimpl.releaseconnection=--- TransactionImpl.releaseConnection(): TX optimistic: {0} Inside Commit: {1} referenceCount: {2} f\u00FCr {3}. -sqlstore.transactionimpl.rollbackconnection=--- TransactionImpl.rollbackConnection(): {0} f\u00FCr {1}. -sqlstore.transactionimpl.status={0} Tran[ {1} ].setStatus: {2} => {3} f\u00FCr {4}. - - -############################################################################### -# All the source files under subdir ejb. -# Message ID Range: JDO76600 - JDO76699 -############################################################################### -# -#EJBHelper messages -# -# {0} - method name -ejb.ejbhelper.nonmanaged=JDO76600: Methode {0} darf nicht in einer nicht verwalteten Umgebung aufgerufen werden. - -# -# Common messages between SunContainerHelper and DeploymentHelper -# so they have a neutral key, that still starts with "ejb". -# -# {0} - jndi name. -ejb.jndi.lookupfailed=JDO76604: JNDI-Suche nach cmp-resource ''{0}'' war nicht erfolgreich. -JDO76604.diag.cause.1=CMP-Ressource mit diesem JNDI-Namen ist nicht mit dieser Instanz registriert. -JDO76604.diag.cause.2=JNDI-Name f\u00FCr die CMP-Ressource ist falsch geschrieben. -JDO76604.diag.check.1=\u00DCberpr\u00FCfen Sie den JNDI-Namen f\u00FCr die zu verwendende Ressource. -JDO76604.diag.check.2=\u00DCberpr\u00FCfen Sie den JNDI-Namen der im Modul angegebenen CMP-Ressource. - -# {0} - jndi name. -# {1} - returned class name. -ejb.jndi.unexpectedinstance=JDO76605: JNDI-Suche nach cmp-resource ''{0}'' hat eine Instanz eines unerwarteten Typs zur\u00FCckgegeben: {1}. -JDO76605.diag.cause.1=CMP-Ressource mit diesem JNDI-Namen referenziert nicht die jdbc-resource oder persistence-manager-factory-resource. -JDO76605.diag.cause.2=JNDI-Name f\u00FCr die CMP-Ressource ist falsch geschrieben. -JDO76605.diag.check.1=\u00DCberpr\u00FCfen Sie den JNDI-Namen f\u00FCr die zu verwendende Ressource. -JDO76605.diag.check.2=\u00DCberpr\u00FCfen Sie den JNDI-Namen der im Modul angegebenen CMP-Ressource. - -# -# DeploymentHelper messages - ejb -# -# -# -# -ejb.DeploymentHelper.getconnection=Verbindung mit JNDI-Name ''{0}'' wird abgerufen. - -# The messages JDO76606 through JDO76615 that were originally here -# have been moved to -# cmp/support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties -# As part of INF# -# So do not use these messages. - - -# -#CMPHelper messages -# -ejb.cmphelper.nonmanaged=JDO76613: Ung\u00FCltiger Zugriff von CMPHelper. Diese Klasse wird nur f\u00FCr die CMP-Unterst\u00FCtzung verwendet und sollte au\u00DFerhalb eines Application Servers nicht aufgerufen werden. - -# -#SunTransactionHelper messages -# - -# {0} class name -ejb.SunTransactionHelper.wrongdatasourcetype=JDO76616: DataSource ist nicht vom erwarteten Typ. Erwartet wird: com.sun.appserv.jdbc.DataSource, erhalten: {0}. - - -############################################################################### -# -############################################################################### -# -# -# -vendor=Sun Microsystems -# majorVersion (minorVersion) buildDate -fullVersion={0} ({1}) {2} -# -# -# -core.generic.unknownfield=Dieses Feld {0} ist kein Mitglied der Klasse {1}. -core.generic.unknownexception=Unbekannte Ausnahme erhalten. -core.generic.nullparam=Der {0}-Parameter ist null. -core.generic.notinstanceof=Das Objekt der Klasse {0} ist keine Instanz von {1}. - - -############################################################################### -# -############################################################################### -core.configuration.cantloadclass=Klasse {0} konnte nicht geladen werden. -sqlstore.exception.log=Ausnahmefehler. -jdo.lifecycle.deleted.accessField=Zugriff auf Feld einer gel\u00F6schten Instanz nicht m\u00F6glich. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_es.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_es.properties deleted file mode 100644 index dc0c87ce64a..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_es.properties +++ /dev/null @@ -1,643 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# Resource bundle for sqlstore runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Please note that many package names and classnames have changed over time. -# Unfortunately, this file was not maintained to follow above convention. -# Please ignore if the package/class name does not match actual names as today. -# -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 76. -# -# This file is divided into the following sections: -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# 1. JDO: PersistenceManagerFactory/PersistenceManager/ExtentCollection/LifeCycle -# 2. Model -# 3. StateManager -# 4. sql generator components: RetrieveDesc, ResultDesc plus all the files under generator subdir -# 5. SQLStoreManager -# 6. Connection/Connectionpool/Transaction/DBVendorType -# 7. EJB integration. -# 8. Generic messages. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -#################################################################################################### -# -# Message ID Range: JDO76000 - JDO76099 -#################################################################################################### -jdo.persistencemanagerfactoryimpl.getpersistencemanager.error=JDO76000: no se pueden utilizar varias combinaciones de nombre de usuario/contrase\u00F1a en la misma transacci\u00F3n. -jdo.persistencemanagerfactoryimpl.getpersistencemanager.notconfigured=JDO76001: PersistenceManagerFactory no est\u00E1 configurado. -jdo.persistencemanagerfactoryimpl.notsupported=JDO76002: no est\u00E1 soportada la operaci\u00F3n para PersistenceManagerFactoryImpl interno. -jdo.persistencemanagerimpl.acquireexclusivelock.interrupted=JDO76003: fallo al adquirir un bloqueo exclusivo debido a InterruptedException -jdo.persistencemanagerimpl.acquiresharelock.failed=JDO76004: fallo al adquirir un bloqueo compartido debido a que _readWriteCount es inferior a cero -jdo.persistencemanagerimpl.acquiresharelock.interrupted=JDO76005: fallo al adquirir un bloqueo compartido debido a InterruptedException -jdo.persistencemanagerimpl.another_pm=JDO76006: el objeto est\u00E1 asociado a otro PersistenceManager. -jdo.persistencemanagerimpl.assertactivetransaction.error=JDO76007: la transacci\u00F3n asociada a este gestor de persistencia no est\u00E1 activa. -jdo.persistencemanagerimpl.assertclosed.closed=JDO76008: PersistenceManager est\u00E1 cerrado. -jdo.persistencemanagerimpl.assertpersistencecapable.error=JDO76009: la clase {0} no se ha mejorado para la persistencia transparente. Use el empaquetador WAR o el JAR de IDE para empaquetar las clases compatibles con persistencia antes de ejecutarlas. O bien, defina la propiedad Ejecutor de la clase principal en Ejecutor de Persistencia para que se ejecute desde IDE. -jdo.persistencemanagerimpl.close.activetransaction=JDO76010: hay una transacci\u00F3n abierta asociada a este gestor de persistencia. -jdo.persistencemanagerimpl.fetchinstance.none=JDO76012: no se ha encontrado el objeto para este ObjectId. -jdo.persistencemanagerimpl.internaldeletepersistent.transient=JDO76014: no se puede suprimir el objeto no persistente. -jdo.persistencemanagerimpl.internalmakepersistent.dups=JDO76015: ya existe una instancia con la misma clave primaria en esta cach\u00E9 de PersistenceManager. -jdo.persistencemanagerimpl.loadclassforoid.wrongoidclass=JDO76016: error al recuperar la clase de objeto de OID. -jdo.persistencemanagerimpl.newscoinstance.wrongclass=JDO76017: no se puede crear la instancia SCO de la clase {0} porque no es un tipo v\u00E1lido. -jdo.persistencemanagerimpl.notprocessed=JDO76018: no se pueden vaciar instancias persistentes debido a dependencias circulares. -jdo.persistencemanagerimpl.releaseexclusivelock.failed=JDO76019: fallo al liberar un bloqueo exclusivo porque _readWriteCount es superior a cero -jdo.persistencemanagerimpl.releasesharelock.failed=JDO76020: fallo al liberar un bloqueo compartido porque _readWriteCount es igual a cero -jdo.persistencemanagerwrapper.invalidpm=JDO76021: PersistenceManagerWrapper est\u00E1 cerrado. -jdo.extentcollection.constructor.invalidclass=JDO76022: clase ''{0}'' no v\u00E1lida para la recopilaci\u00F3n de extensiones. -jdo.extentcollection.constructor.nonpc=JDO76023: la clase ''{0}'' no es compatible con persistencia. -jdo.extentcollection.constructor.subclasses=JDO76024: no est\u00E1 soportada la opci\u00F3n true de las subclases para las recopilaciones de extensiones. -jdo.extentcollection.illegalmodification=JDO76025: modificaci\u00F3n no v\u00E1lida de recopilaci\u00F3n de extensiones para la clase ''{0}''. -jdo.extentcollection.methodnotsupported=JDO76026: no est\u00E1 soportado el m\u00E9todo de recopilaci\u00F3n de extensiones {0}. -jdo.lifecycle.xactnotactive=JDO76027: se necesita una transacci\u00F3n activa para realizar esta operaci\u00F3n. -jdo.persistencemanagerimpl.newinstance.badsm=JDO76028: StateManager no est\u00E1 configurado en su totalidad. -jdo.persistencemanagerimpl.setjtatransaction.notnulljta=JDO76029: se ha intentado sustituir javax.transaction.Transaction no nulo: {0} por {1}. -jdo.persistencemanagerfactoryimpl.getpersistencemgr.closed=JDO76030: el valor PersistenceManager para este javax.transaction.Transaction: {0} ya se ha cerrado o confirmado. -jdo.persistencemanagerfactoryimpl.registerpm.registered=JDO76031: esta instancia de javax.transaction.Transaction: {0} ya se ha registrado con otro PersistenceManager: {1}. -jdo.persistencemanagerimpl.verificationfailed=JDO76032: la instancia de consistencia de versi\u00F3n no ha podido realizar la verificaci\u00F3n con el almac\u00E9n de datos. -jdo.persistencemanagerfactoryimpl.getversionconsistencycache.nullstore=JDO76033: StoreManager no est\u00E1 configurado. - -# -# -# -sqlstore.state.lifecyclestate.changestate=LifeCycleState.changeState(), estado antiguo = {0}, nuevo estado = {1}. -sqlstore.state.lifecyclestate.initial=LifeCycleState.getLifeCycleState(), estado inicial = {0}. - -# -# -# -sqlstore.persistencemgr.acquireexclusivelock.count=acquireExclusiveLock(), thread {0} con _readWriteCount = {1}. -sqlstore.persistencemgr.acquireexclusivelock=acquireExclusiveock(), thread {0} cambiando a en espera. -sqlstore.persistencemgr.acquiresharedlock.rdwrcount=acquireShareLock(), thread {0} ha adquirido el bloqueo compartido con _readWriteCount ={1}. -sqlstore.persistencemgr.acquiresharedlock=acquireShareLock(), thread {0} cambiando a en espera. -sqlstore.persistencemgr.aftercompletion.process=---Proceso PersistenceManagerImpl.afterCompletion(): {0}. -sqlstore.persistencemgr.aftercompletion=---Aborto de PersistenceManagerImpl.afterCompletion(): {0}. -sqlstore.persistencemgr.assertactivetx.closed=--- PersistenceManagerImpl.assertActiveTransaction: Cerrado para {0}. -sqlstore.persistencemgr.assertactivetx=--- PersistenceManagerImpl.assertActiveTransaction: {0}. -sqlstore.persistencemgr.assertisopen=--- PersistenceManagerImpl.assertIsOpen: cerrado para {0}. -sqlstore.persistencemgr.beforecompletion=---PersistenceManagerImpl.beforeCompletion(). -sqlstore.persistencemgr.cacheproperties=Propiedades de cach\u00E9 de PersistenceManagerImpl: _txCacheInitialCapacity={0}, _flushedCacheInitialCapacity={1}, _flushedCacheLoadFactor={2}, _weakCacheInitialCapacity={3}, _weakCacheLoadFactor={4}. -sqlstore.persistencemgr.deregisterinstance.verified=---PersistenceManagerImpl.deregisterInstance(): registro anulado con verify. -sqlstore.persistencemgr.deregisterinstance.verify=---PersistenceManagerImpl.deregisterInstance() with verify SM -- oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.deregisterinstance=---OID de PersistenceManagerImpl.deregisterInstance(): {0} para PersistenceManager: {1} y JTA: {2}. -sqlstore.persistencemgr.getbyobjid=---OID de PersistenceManagerImpl.getObjectById():{0} para PersistenceManager: {1} y JTA: {2}. -sqlstore.persistencemgr.getcurrentwrapper=---PersistenceManagerImpl.getCurrentWrapper() > actual: {0}. -sqlstore.persistencemgr.getobjid.notpc=---PersistenceManagerImpl.getObjectId() NOT PC: {0} for PersistenceManager: {1}. -sqlstore.persistencemgr.getobjid.notpm=---PersistenceManagerImpl.getObjectId() NOT PM: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getobjid= :{0} ---PC de PersistenceManagerImpl.getObjectId(): {1} para PersistenceManager: {2} y JTA: {3}. -sqlstore.persistencemgr.internalcloneoid.old=---PersistenceManagerImpl.internalCloneOid(): antiguo: {0} nuevo: {1} mismo: {2}. -sqlstore.persistencemgr.internalcloneoid=---PersistenceManagerImpl.internalCloneOid(): error: {0}. -sqlstore.persistencemgr.isactivetx=---PersistenceManagerImpl.isActiveTransaction(): {0}. -sqlstore.persistencemgr.isnontxread=---PersistenceManagerImpl.isNontransactionalRead(): {0}. -sqlstore.persistencemgr.isoptimistic=---PersistenceManagerImpl.isOptimisticTransaction(): {0}. -sqlstore.persistencemgr.loadingclass=Cargando ... ClassName: {0}. -sqlstore.persistencemgr.loadingfile=Cargando ... FileName: {0} {1} {2}. -sqlstore.persistencemgr.makepersistent.done=---PersistenceManagerImpl.makePersistent() {0} terminado para: {1} y JTA: {2}. -sqlstore.persistencemgr.makepersistent= {0} ---PersistenceManagerImpl.makePersistent() PC: {1} para PersistenceManager: {2} y JTA: {3}. -sqlstore.persistencemgr.newcollection=---PersistenceManagerImpl.newCollectionInstanceInternal() tipo: {0}. -sqlstore.persistencemgr.popcurrentwrapper=---PersistenceManagerImpl.popCurrentWrapper() > actual: {0} anterior: {1}. -sqlstore.persistencemgr.pushcurrentwrapper=---PersistenceManagerImpl.pushCurrentWrapper() > actual: {0} nuevo: {1}. -sqlstore.persistencemgr.registerinstance= {0} ---PersistenceManagerImpl.registerInstance() oid/sm: {1}/{2} para PersistenceManager: {3} y JTA: {4}. -sqlstore.persistencemgr.registerinstancein_txc=registerInstance in TXC :{0} / {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.registerinstancein_wkc=registerInstance in WKC. -sqlstore.persistencemgr.releaseexclusivelock=releaseExclusiveock(), thread {0} con _readWriteCount = {1}. -sqlstore.persistencemgr.releasesharedlock=releaseShareLock(), thread {0} con _readWriteCount = {1}. -sqlstore.persistencemgr.replacingdeletedinstance=Sustituyendo instancia suprimida con una nueva para el ID de objeto: {0}. -sqlstore.persistencemgr.setkeyfields=---PersistenceManagerImpl.setKeyFields(): error: {0}. -# -# -# -sqlstore.sqlpersistencemgrfactory.getfrompool.pmt=<--SQLPersistenceManagerFactory.getFromPool() PM: {0} para JTA {1}. -sqlstore.sqlpersistencemgrfactory.getfrompool=<--SQLPersistenceManagerFactory.getFromPool(). -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.found= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() ha encontrado javax.transaction.Transaction: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx.notfound=<->SQLPersistenceManagerFactory.getPersistenceManager() no ha encontrado la transacci\u00F3n de JDO. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx=<->SQLPersistenceManagerFactory.getPersistenceManager() Transacci\u00F3n de JDO: {0}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmclosedfor= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() PM se ha cerrado para: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmt= {0} <->SQLPersistenceManagerFactory.getPersistenceManager(): {1} para JTA: {2}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr=:{0} -->SQLPersistenceManagerFactory.getPersistenceManager(). -sqlstore.sqlpersistencemgrfactory.init=---SQLPersistenceManagerFactory.initialize(). -sqlstore.sqlpersistencemgrfactory.pmCacheBucketSize=---SQLPersistenceManagerFactory pmCacheBucketSize = {0}. -sqlstore.sqlpersistencemgrfactory.pmCacheInitialCapacity=---SQLPersistenceManagerFactory pmCacheInitialCapacity = {0}. -sqlstore.sqlpersistencemgrfactory.registerpersistencemgr.pmt=<->SQLPersistenceManagerFactory.registerPersistenceManager() PM: {0} for JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.releasepm.pmt=---SQLPersistenceManagerFactory.releasePersistenceManager() PM:{0} para JTA Transacci\u00F3n: {1}. -sqlstore.sqlpersistencemgrfactory.returnToPool=<--SQLPersistenceManagerFactory.returnToPool(). - - -############################################################################### -# -# Message ID Range: JDO76100 - JDO76199 -############################################################################### -core.configuration.columnnotable=JDO76100: el descriptor de columna no incluye un descriptor de tabla v\u00E1lido. -core.configuration.fieldnotable=JDO76101: el campo {0} no est\u00E1 asociado a ninguna tabla. -core.configuration.fieldnotmapped=JDO76102: el campo persistente {0} de la clase {1} no est\u00E1 asignado. -core.configuration.iddescnofield=JDO76103: no se ha configurado correctamente el objeto SqlIDDesc. No hay ning\u00FAn descriptor de campo disponible. -core.configuration.loadfailed.class=JDO76104: no se ha podido cargar la configuraci\u00F3n de la clase {0}. -core.configuration.noneexistentpkfield=JDO76105: el campo {0} de la clase ObjectId {1} no existe en la clase PersistenceCapable {2}. -core.configuration.unsupportedconsistencylevel=JDO76106: la clase {0} tiene un nivel de consistencia no soportado. Los niveles de consistencia actualmente soportados son "none", "check-modified-at-commit", "lock-when-loaded" y "check-version-of-accessed-instances". -core.configuration.validationfailed=JDO76107: la asignaci\u00F3n de la clase {0} no es v\u00E1lida:\n{1}. -core.configuration.validationproblem=JDO76108: error de validaci\u00F3n de la clase {0}: {1} -# -# -# -core.fielddesc.minvalue=JDO76109: el valor {0} es inferior al m\u00EDnimo permitido, {1}, para el tipo de campo {2}. -core.fielddesc.maxvalue=JDO76110: El valor {0} es superior al m\u00E1ximo permitido, {1}, para el tipo de campo {2}. -core.configuration.noneexistentvcfield=JDO76111: el campo {0} se ha marcado como campo de versi\u00F3n, pero no existe en la clase PersistenceCapable {1}. -core.configuration.loadfailed.field=JDO76112: fallo al cargar la configuraci\u00F3n del campo {0} en la clase {1}. - -# -# -# -sqlstore.model.classdesc.assocrelatedfield=campo de relaci\u00F3n asociado = {0}. -sqlstore.model.classdesc.createsqldesc=creando SqlIDDesc de {0}. -sqlstore.model.classdesc.fieldinfo=nombre del campo = {0}, ID= {1}. -sqlstore.model.classdesc.general={0}.{1} =>{2} -sqlstore.model.classdesc.getlocalfielddesc=<-> SqlPersistenceDesc.getLocalFieldDesc(), clase ={0} campo oculto agregado {1} para la columna {2}. -sqlstore.model.classdesc.loadedclass=Clase de OID cargada correctamente = {0}. -sqlstore.model.classdesc.persistconfiginit.exit=<-- SqlPersistenceConfig.initialize(). -sqlstore.model.classdesc.persistconfiginit=--> SqlPersistenceConfig.initialize(), clase = {0}. -sqlstore.model.classdesc.pkfield=Campo de clave primaria = {0}. -sqlstore.model.classdesc.primarytrackedfield=el campo {0} es el campo primario del seguimiento. -sqlstore.model.classdesc.unsetconcurrencychk=anulando definici\u00F3n de la propiedad IN_CONCURRENCY_CHECK para lf {0}. -sqlstore.model.classdesc.unsetrefintegrityupdate=anulando definici\u00F3n de la propiedad REF_INTEGRITY_UPDATES para ff {0}. -sqlstore.model.classdesc.vcfield=Campo de consistencia de la versi\u00F3n = {0}. -sqlstore.model.fielddesc.addingfield=agregando campo {0} para su seguimiento por parte del campo{1}. -sqlstore.model.fielddesc.convertvalue.from_to=convertValue: {0} De: {1} A: {2}. -sqlstore.model.fielddesc.convertvalue.hidden=convertValue: devuelve {0} ... oculto. -sqlstore.model.fielddesc.convertvalue=convertValue: devuelve NULL ... -sqlstore.model.fielddesc.fieldname={0} = {1}. -sqlstore.model.fielddesc.setupdesc=setupDesc(): fieldName {0} fieldType {1}. -sqlstore.model.configcacheimpl.size_before=tama\u00F1o de {0} antes de la limpieza: {1}. -sqlstore.model.configcacheimpl.size_after=tama\u00F1o de {0} despu\u00E9s de la limpieza: {1}. - - -############################################################################### -# -# Message ID Range: JDO76200 - JDO76299 -############################################################################### -core.statemanager.anotherowner=JDO76200: no se puede asignar una instancia SCO que pertenezca a otro objeto. -core.statemanager.cantnewoid=JDO76201: fallo al crear una instancia de clave primaria nueva de la clase {0}. -core.statemanager.cantschedulejointable=JDO76202: fallo al programar la entrada de la tabla de uni\u00F3n entre la clase {0} y {1}, porque la descripci\u00F3n del campo de relaci\u00F3n es nula. -core.statemanager.cantsetkeyfield=JDO76203: fallo al definir el valor para el campo de clave primaria {0}. -core.statemanager.conflictingvalues=JDO76204: se ha producido un conflicto de valores entre el campo {0} y el campo {1} asignados a la misma columna -core.statemanager.getfieldfailed=JDO76205: fallo al obtener el campo. -core.statemanager.invalidpk=JDO76206: campo de clave primaria nulo {0} no v\u00E1lido al volver a cargar la instancia de la clase compatible con persistencia {1}. El ObjectId de la instancia es {2}. -core.statemanager.nopkupdate=JDO76207: no se permite la actualizaci\u00F3n de un campo de clave primaria. -core.statemanager.nopm=JDO76208: El gestor de estado no contiene una referencia al gestor de persistencia. -core.statemanager.notnavigable=JDO76209: se ha intentado acceder al campo {0} de la clase {1}. No se ha instanciado previamente este campo y esta clase no permite la navegaci\u00F3n din\u00E1mica. Debe solicitar el campo al recuperar la clase o permitir la navegaci\u00F3n din\u00E1mica para que se pueda recuperar autom\u00E1ticamente al acceder a \u00E9l. -core.statemanager.objectnotfound=JDO76210: el objeto no existe en el almac\u00E9n de datos. -core.statemanager.poshiddenindex=JDO76211: el \u00EDndice a un campo oculto deber\u00EDa ser negativo. Sin embargo, se ha obtenido un \u00EDndice {0}. -core.statemanager.readonly=JDO76212: se ha intentado modificar el campo de s\u00F3lo lectura {0} de la clase {1}. -core.statemanager.releaselock.wrongthread=JDO76213: este thread {0} no mantiene el bloqueo de StateManager. -core.statemanager.setfieldfailed=JDO76214: fallo al definir el campo. -core.statemanager.wrongusageforoverlappingpkfkdelete=JDO76215: Intento incorrecto de eliminar una instancia de una relaci\u00F3n gestionada. La relaci\u00F3n est\u00E1 definida por una columna de clave primaria del otro lado. Para realizar una operaci\u00F3n de eliminaci\u00F3n en una recopilaci\u00F3n, es necesario actualizar la columna del otro lado y no est\u00E1 permitido actualizar la clave primaria. Por lo tanto, s\u00F3lo se puede realizar la eliminaci\u00F3n de una instancia de una recopilaci\u00F3n de relaciones gestionadas definida por una clave primaria mediante la supresi\u00F3n de la instancia de forma expl\u00EDcita o en cascada. -core.statemanager.toomanyrows=JDO76215: se han devuelto varias filas para una de las tablas asignada a la clase {0}. Cada tabla asignada a una clase deber\u00EDa tener s\u00F3lo una fila por cada instancia del objeto. -core.statemanager.copyFields.mismatch=JDO76216: se ha intentado copiar los campos de un StateManager a otro que est\u00E1 gestionando instancias de diferentes tipos: {0} y {1}. - -# -# -# -sqlstore.sqlstatemanager.adddependency=<-> SQLStateManager.addDependency(), este StateManager: {0}, otro StateManager: {1}. -sqlstore.sqlstatemanager.addupdate=<-> SQLStateManager.addUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.applyupdates.exit=<-- SqlStateManager.applyUpdates(). -sqlstore.sqlstatemanager.applyupdates=--> SqlStateManager.applyUpdates(), campo = {0}. -sqlstore.sqlstatemanager.clearpersistencefields.exit=<--- SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.clearpersistencefields=--> SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.copychanges.exit=<-- SQLStateManager.copyChanges(). -sqlstore.sqlstatemanager.copychanges=--> SQLStateManager.copyChanges(), gestor de estado = {0}. -sqlstore.sqlstatemanager.deletepersistence=<-> SqlStateManager.deletePersistence(), tipo = {0}. -sqlstore.sqlstatemanager.getbeforeimage.exit=<-- SqlStateManager.getBeforeImage(). -sqlstore.sqlstatemanager.getbeforeimage=--> SqlStateManager.getBeforeImage(), tipo = {0}. -sqlstore.sqlstatemanager.isbeforeimagerequired=isBeforeImageRequired es: {0}. -sqlstore.sqlstatemanager.loadforread.exit=<-- SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforread=--> SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforupdate.exit=<-- SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loadforupdate=--> SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loggingfield=registrando campo = {0} con el valor = {1}. -sqlstore.sqlstatemanager.makedirty.fixscocollection=--- SqlStateManager.makeDirty(), fix SCOCollection. -sqlstore.sqlstatemanager.makedirty.fixscodate=--- SqlStateManager.makeDirty(), fix SCODate. -sqlstore.sqlstatemanager.makedirty=--> SqlStateManager.makeDirty(), campo = {0}. -sqlstore.sqlstatemanager.makedirtyfield=Campo sucio marcado = {0}. -sqlstore.sqlstatemanager.makepersistence=<-> SqlStateManager.makePersistence(), tipo = {0}. -sqlstore.sqlstatemanager.makepresent=--> SqlStateManager.makePresent(), campo = {0}. -sqlstore.sqlstatemanager.marking=marcando: {0} como presente. -sqlstore.sqlstatemanager.newtype=Nuevo Tipo: {0}. -sqlstore.sqlstatemanager.nosuchmethodexcep.clone=Excepci\u00F3n: clon de {0} ... para el tipo {1}. -sqlstore.sqlstatemanager.preparegetfield.exit=<-- SqlStateManager.prepareGetField(). -sqlstore.sqlstatemanager.preparegetfield=--> SqlStateManager.prepareGetField(), nombre = {0}. -sqlstore.sqlstatemanager.preparesetfield.exit=<-- SQLStateManager.prepareSetField(). -sqlstore.sqlstatemanager.preparesetfield=--> SQLStateManager.prepareSetField(), nombre = {0}. -sqlstore.sqlstatemanager.preparetoupdateph1.exit=<-- SqlStateManager.prepareToUpdateI(). -sqlstore.sqlstatemanager.preparetoupdateph1=--> SqlStateManager.prepareToUpdatePhaseI(), tipo = {0}. -sqlstore.sqlstatemanager.preparetoupdateph2.exit=<-- SqlStateManager.prepareToUpdateII(). -sqlstore.sqlstatemanager.preparetoupdateph2=--> SqlStateManager.prepareToUpdatePhaseII(), tipo = {0}. -sqlstore.sqlstatemanager.preparetoupdateph3.exit=<-- SqlStateManager.prepareToUpdateIII(). -sqlstore.sqlstatemanager.preparetoupdateph3=--> SqlStateManager.prepareToUpdatePhaseIII(), tipo = {0}. -sqlstore.sqlstatemanager.prepareupdatefield.exit=<-- SQLStateManager.prepareUpdateField(). -sqlstore.sqlstatemanager.prepareupdatefield=--> SQLStateManager.prepareUpdateField(), nombre = {0} para el estado: {1}. -sqlstore.sqlstatemanager.prepareupdatefieldspl.exit=<-- SQLStateManager.prepareUpdateFieldSpecial(). -sqlstore.sqlstatemanager.prepareupdatefieldspl=--> SQLStateManager.prepareUpdateFieldSpecial, nombre = {0} para el estado: {1}. -sqlstore.sqlstatemanager.processcollectionupdate.exit=<-- SQLStateManager.processCollectionUpdates(). -sqlstore.sqlstatemanager.processcollectionupdate=--> SQLStateManager.processCollectionUpdates(), beforeList={0}, afterlist={1}. -sqlstore.sqlstatemanager.processforeign=procesar campo ajeno = {0}. -sqlstore.sqlstatemanager.processforeignfield.remove=-- SQLStateManager.processForeignField(): era Collection - eliminar. -sqlstore.sqlstatemanager.processforeignfield.remove_from_bi=-- SQLStateManager.processForeignField(): es SCOCollection - eliminar de BI. -sqlstore.sqlstatemanager.processforeignfield.reset=-- SQLStateManager.processForeignField(): era SCOCollection - restablecer. -sqlstore.sqlstatemanager.processforeignfield=-- SQLStateManager.processForeignField(): valor: {0} tipo: {1}. -sqlstore.sqlstatemanager.realizefield.exit=<-- SqlStateManager.realizeField(). -sqlstore.sqlstatemanager.realizefield=--> SqlStateManager.realizeField(), nombre = {0}. -sqlstore.sqlstatemanager.realizeforeignfield.exit=<-- SqlStateManager.realizeField(), campo detectado = {0}. -sqlstore.sqlstatemanager.realizeforeignfield=--> SqlStateManager.realizeField(), nombre = {0}. -sqlstore.sqlstatemanager.recordingfield=grabando campo = {0}. -sqlstore.sqlstatemanager.refreshpersistent.exit=<-- SqlStateManager.refreshPersistent(). -sqlstore.sqlstatemanager.refreshpersistent=--> SqlStateManager.refreshPersistence(), tipo = {0}. -sqlstore.sqlstatemanager.reload.exit=<-- SqlStateManager.reload(FieldDesc). -sqlstore.sqlstatemanager.reload=--> SqlStateManager.reload(FieldDesc), tipo = {0}, campo = {1}. -sqlstore.sqlstatemanager.removeupdate=<-> SQLStateManager.removeUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.replaceobjectfield.unsetsco=-- SqlStateManager.replaceObjectField(), anular definici\u00F3n de SCO. -sqlstore.sqlstatemanager.replaceobjectfield=-- SqlStateManager.replaceObjectField(), campo = {0}, tipo = {1}. -sqlstore.sqlstatemanager.reset=--> SqlStateManager.reset(), retValues = {0}, wasNew: {1}, keepState: {2}. -sqlstore.sqlstatemanager.resettingcollection=Restableciendo recopilaci\u00F3n. -sqlstore.sqlstatemanager.resettingdate=Restableciendo fecha. -sqlstore.sqlstatemanager.resolvedependencies=<-> SQLStateManager.resolveDependencies(), obj={0}. -sqlstore.sqlstatemanager.resolvedependency=<-> SQLStateManager.resolveDependency(), dependencia resuelta: lobj={0}, f={1}, fobj={2}. -sqlstore.sqlstatemanager.retrieve.exit=<-- SqlStateManager.retrieve(). -sqlstore.sqlstatemanager.retrieve=--> SqlStateManager.retrieve(), nombre = {0}. -sqlstore.sqlstatemanager.retrieveforeign.exit=<-- SqlStateManager.retrieveForeign(). -sqlstore.sqlstatemanager.retrieveforeign=--> SqlStateManager.retrieveForeign(), nombre = {0}. -sqlstore.sqlstatemanager.unsetmask=anulando definici\u00F3n de m\u00E1scaras para el campo = {0}. -sqlstore.sqlstatemanager.unconditionalreload.exit=<-- SqlStateManager.reload(). -sqlstore.sqlstatemanager.unconditionalreload=--> SqlStateManager.reload(), tipo = {0}. -sqlstore.sqlstatemanager.updatebeforeimage=<-> SQLStateManager.updateBeforeImage(), nombre = {0}, valor = {1}. -sqlstore.sqlstatemanager.updateobjfield.exit=<-- SQLStateManager.updateObjectField(). -sqlstore.sqlstatemanager.updateobjfield=--> SQLStateManager.updateObjectField(), nombre = {0}, tipo = {1}. -sqlstore.sqlstatemanager.updatepersistent.exit=<-- SqlStateManager.updatePersistent(). -sqlstore.sqlstatemanager.updatepersistent.immediateflush=<--> SqlStateManager.updatePersistent(), vaciado inmediato necesario: obj={0}, siguiente ={1}. -sqlstore.sqlstatemanager.updatepersistent.skipped=<--> SqlStateManager.updatePersistent() omitido, tipo = {0}, obj = {1}. -sqlstore.sqlstatemanager.updatepersistent=--> SqlStateManager.updatePersistent(), tipo = {0}. -sqlstore.sqlstatemanager.updatetrackedfields.exit=<-- updateTrackedFields(). -sqlstore.sqlstatemanager.updatetrackedfields=--> updateTrackedFields(), f = {0} valor = {1} fieldToIgnore = {2}. - - -############################################################################### -# -# Message ID Range: JDO76300 - JDO76399 -############################################################################### -core.constraint.duporderby=JDO76300: esta restricci\u00F3n es una propiedad \\"order by\\" para el campo {0} que ya se ha especificado en la restricci\u00F3n \\"order by\\". -core.constraint.fielddisallowed=JDO76301: se ha especificado el par\u00E1metro fieldName, pero no se permite con la operaci\u00F3n {0}. -core.constraint.fieldrequired=JDO76302: falta el par\u00E1metro fieldName. La operaci\u00F3n {0} necesita un campo. -core.constraint.illegalParameterInfo=JDO76303: se debe llamar a addConstraint() de OP_PARAMETER con el tipo de valor ParameterInfo. -core.constraint.illegalnode=JDO76304: nodo de restricci\u00F3n no v\u00E1lido {0} en la pila SqlConstraint. -core.constraint.illegalop=JDO76305: el par\u00E1metro de operaci\u00F3n contiene un valor {0} no v\u00E1lido. -core.constraint.needfieldnamenode=JDO76306: error en la pila de restricciones. Se esperaba un nombre de campo. -core.constraint.needfieldnode=JDO76307: error en la pila de restricciones. Se esperaba una descripci\u00F3n de campo. -core.constraint.needvalnode=JDO76308: error en la pila de restricciones. Se esperaba un valor. -core.constraint.stackempty=JDO76309: la pila de restricciones est\u00E1 vac\u00EDa. No hay suficientes valores para el n\u00FAmero del operador. -core.constraint.unknownfield=JDO76310: el campo {0} especificado en el descriptor de recuperaci\u00F3n no es miembro de la clase {1}. -core.constraint.valdisallowed=JDO76311: se ha especificado el par\u00E1metro del valor, pero no se permite con la operaci\u00F3n {0}. -core.constraint.valrequired=JDO76312: falta el par\u00E1metro del valor. La operaci\u00F3n {0} necesita un valor. -sqlstore.resultdesc.errorgettingvalefromresulset=JDO76313: error al obtener el valor de resultset en el \u00EDndice {0} como resultType {1}. columnSqlType {2}. Excepci\u00F3n: {3} -sqlstore.resultdesc.foreignfieldprojection=JDO76314: la consultas de {0} no deber\u00EDa tener proyecciones en un campo de relaci\u00F3n. -sqlstore.resultdesc.unknownfieldtype=JDO76317: se ha encontrado un tipo de campo desconocido {0}. -sqlstore.retrievedesc.toomanyprojections=JDO76318: no se pueden definir varias proyecciones para RetrieveDesc. -sqlstore.retrievedesc.toomanyresulttypes=JDO76319: no se pueden definir varios tipos de resultados para RetrieveDesc. -sqlstore.selectstatement.noupdatelocksupport=JDO76320: uno de los tipos de objetos relacionado con esta consulta tiene un nivel de consistencia "lock-when-loaded". Para aplicar este nivel de consistencia, es necesario que el almac\u00E9n de datos soporte el bloqueo de actualizaci\u00F3n por filas. El almac\u00E9n de datos no soporta el bloqueo de actualizaci\u00F3n por filas. -sqlstore.sql.generator.statement.likeescapenotsupported=JDO76321: la cl\u00E1usula LIKE ESCAPE no est\u00E1 soportada en esta base de datos. -sqlstore.sql.generator.statement.positionthreeargsnotsupported=JDO76322: el tercer arg para la cl\u00E1usula POSITION debe ser 1. -core.configuration.classnotmapped=JDO76323: la clase {0} no se ha asignado. -core.configuration.classnotmappedtotable=JDO76324: la clase {0} no est\u00E1 asignada a la tabla {1}. -sqlstore.sql.generator.statement.unexpectedconstraint=JDO76325: una restricci\u00F3n para la operaci\u00F3n {0} no puede ser nunca el elemento ra\u00EDz de una cl\u00E1usula WHERE. - -# -# Following messages are used within other messages. They need to be i18ned but need not be numbered. -# -sqlstore.sql.generator.statement.sqlStatement=Sentencia SQL -sqlstore.sql.generator.statement.withinputvalues= valores de entrada: -sqlstore.sql.generator.statement.withnoinputvalues= ning\u00FAn valor de entrada. - - -# -# -# -sqlstore.resultdesc.deserializing=deserializando = {0}. -sqlstore.resultdesc.marking_field=marcando campo local {0} como presente. -sqlstore.resultdesc.marking_foreign_field=marcando campo ajeno {0} como presente. -sqlstore.resultdesc.marking_key_field=marcando campo de clave {0} como presente. -sqlstore.resultdesc.returning_field=devolviendo campo {0} como proyecci\u00F3n. -# -# -# -sqlstore.sql.concurrency.concurrencychkdirty.exit=--> ConcurrencyCheckDirty.update(). -sqlstore.sql.concurrency.concurrencychkdirty=--> ConcurrencyCheckDirty.update(), beforeImage = {0}. -sqlstore.sql.concurrencyoptverify.resumetx=<--> ConcurrencyOptVerify.resume(), transacci\u00F3n reanudada = {0}. -sqlstore.sql.concurrencyoptverify.suspendtx=<--> ConcurrencyOptVerify.suspend(), transacci\u00F3n suspendida = {0}. -sqlstore.sql.concurrencyoptverify.update.exit=<-- ConcurrencyOptVerify.update(). -sqlstore.sql.concurrencyoptverify.update=--> ConcurrencyOptVerify.update(), beforeImage = {0}. -sqlstore.sql.generator.dbstatement.addbatch=addbatch ({0}) -sqlstore.sql.generator.dbstatement.bindinputcolumn=\u00EDndice de bindInputColumn: {0} valor: {1} sqlType: {2}. -sqlstore.sql.generator.dbstatement.executebatch=executeBatch ejecutando {0} comandos -sqlstore.sql.generator.selectqueryplan.processforeignfield.exit=<-- SelectQueryPlan.processForeignFields(). -sqlstore.sql.generator.selectqueryplan.processforeignfield=--> SelectQueryPlan.processForeignFields(), clase = {0}. -sqlstore.sql.generator.selectqueryplan.processlocalfield.exit=<-- SelectQueryPlan.processLocalFields(). -sqlstore.sql.generator.selectqueryplan.processlocalfield=--> SelectQueryPlan.processLocalFields(), clase = {0}. -sqlstore.sql.generator.selectqueryplan.processstmts.exit=<-- SelectQueryPlan.processStatements(). -sqlstore.sql.generator.selectqueryplan.processstmts=--> SelectQueryPlan.processStatements(), clase = {0}, sentencias = {1}. -sqlstore.sql.updateobjdescimpl.afterimagenull=AfterImage no se ha definido. -sqlstore.sql.updateobjdescimpl.beforeimagenull=BeforeImage no se ha definido. -sqlstore.sql.updateobjdescimpl.markrelationshipchange=<--> UpdateDesc.markRelationshipChange(). -sqlstore.sql.updateobjdescimpl.updated={0} se ha actualizado. - - -############################################################################### -# -# Message ID Range: JDO76400 - JDO76499 -############################################################################### -# -# -# -core.persistencestore.jdbcerror=JDO76400: se ha obtenido una excepci\u00F3n SQLException de JDBC al ejecutar la sentencia SQL:\n{0}.\nExamine la excepci\u00F3n SQLException para obtener m\u00E1s informaci\u00F3n. -sqlstore.retrievedesc.stmntsnotjoined=JDO76401: varias sentencias SQL no soportadas para un RetrieveDesc. -core.persistencestore.toofewrows=JDO76402: se han devuelto menos filas de la base de datos que las que permite la cardinalidad de esta asociaci\u00F3n al intentar obtener el valor de la asociaci\u00F3n {1} de la clase {0}. El n\u00FAmero m\u00EDnimo de filas permitido es {2}. -core.persistencestore.toomanyobjforcard1=JDO76403: la base de datos no es consistente con el modelo persistente. Se ha intentado recuperar el objeto correspondiente a la asociaci\u00F3n {1} de los elementos recuperados {2} de la clase {0}, pero s\u00F3lo se puede incluir 1 elemento, ya que el l\u00EDmite superior de cardinalidad es 1. -core.persistencestore.toomanyrows=JDO76405: se han devuelto m\u00E1s filas de la base de datos que las que permite la cardinalidad de esta asociaci\u00F3n al intentar obtener el valor de la asociaci\u00F3n {1} de la clase {0}. El n\u00FAmero m\u00E1ximo de filas permitido es {2}. -core.store.concurrentaccess=JDO76406: excepci\u00F3n de acceso simult\u00E1neo: otra transacci\u00F3n ha actualizado o suprimido el objeto para {0}. -sqlstore.sqlstoremanager.errorcloseresultset=JDO76407: error al cerrar el juego de resultados SQL. Excepci\u00F3n: {0} -sqlstore.sqlstoremanager.errorclosestatement=JDO76408: error al cerrar la sentencia SQL. Excepci\u00F3n: {0} -sqlstore.sql.generator.selectqueryplan.plansnotjoined=JDO76409: varios planes de consulta no soportados para un RetrieveDesc. - -# -# -# -sqlstore.sqlstoremanager.executeQuery.exit=<-- SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeQuery=--> SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeupdate.exit=<-- SQLStoreManager.executeUpdate(), filas afectadas = {0}. -sqlstore.sqlstoremanager.executeupdate=--> SQLStoreManager.executeUpdate(). -sqlstore.sqlstoremanager.executeupdatebatch.addbatch={0}; agregar lote. -sqlstore.sqlstoremanager.executeupdatebatch.exit=<-- SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.executeupdatebatch.exit.flush=<-- SQLStoreManager.executeUpdateBatch(), filas afectadas = {0}. -sqlstore.sqlstoremanager.executeupdatebatch.flushbatch={0}; vaciar lote. -sqlstore.sqlstoremanager.executeupdatebatch=--> SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.getpersistenceconfig=<--> SQLStoreManager.getPersistenceConfig(), classType = {0}. -sqlstore.sqlstoremanager.selectnoncorrelated.exit=<-- SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.selectnoncorrelated=--> SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.vendortype=<--> SQLStoreManager: tipo de proveedor = {0}. - - -############################################################################### -# -# Message ID Range: JDO76500 - JDO76599 -############################################################################### -# -# - database -# -connection.connectionmanager.badnew=JDO76500: ''{0}'' nuevo debe ser superior o igual a ''{1}'' actual. -connection.connectionmanager.badvalue=JDO76501: valor no v\u00E1lido para ''{0}''. -connection.connectionmanager.conntimeout=JDO76502: el timeout de la conexi\u00F3n ha caducado. -connection.connectionmanager.getconnection.mismatch=JDO76503: la conexi\u00F3n de pool no tiene el mismo contexto de usuario. -connection.connectionmanager.isdown=JDO76504: se est\u00E1 cerrando el gestor de conexiones. -connection.connectionmanager.maxpool=JDO76505: el pool de conexiones est\u00E1 en su capacidad m\u00E1xima. -connection.connectionmanager.msintervalvalue=JDO76506: MsInterval debe ser mayor que cero y menor o igual que MsWait. -connection.connectionmanager.mswaitvalue=JDO76507: MsWait debe ser mayor o igual que cero. -connection.connectionmanager.nulldriver=JDO76508: valor NULL para el nombre de controlador. -connection.connectionmanager.nullurl=JDO76509: valor NULL para URL. -connection.connectionmanager.poolsize=JDO76510: 'maxPool' debe ser mayor o igual que 'minPool'. -connection.connectionmanager.threaditerupted=JDO76511: thread interrumpido. -connection.connectionmanager.zero=JDO76512: ''{0}'' debe ser mayor o igual que cero. -# -# -# -sqlstore.database.dbvendor.cantloadDefaultProperties=JDO76513: no se pueden cargar las propiedades de la base de datos por defecto. -sqlstore.database.dbvendor.init.default=JDO76514: -->No se ha podido cargar la propiedad de tipo de proveedor {0}. Se utilizar\u00E1n los valores por defecto. -sqlstore.database.dbvendor.cantinstantiateclass=JDO76515: fallo al instanciar la clase {0}. -# -# -# -sqlstore.database.oracle.defineCol=JDO76516: fallo al definir la columna para la sentencia. -sqlstore.database.oracle.nooracleavailable=JDO76517: al inicializar la f\u00E1brica de recursos de Oracle ''{0}'', se ha producido un fallo al obtener una instancia de oracle.jdbc.OraclePreparedStatement u oracle.jdbc.driver.OraclePreparedStatement. Se desactivar\u00E1 la optimizaci\u00F3n espec\u00EDfica de Oracle. Si las instancias que utilizan este recurso necesitan valores de enlace para las columnas asignadas a la columna de caracteres fijos, los valores se rellenar\u00E1n con espacios hasta la longitud especificada en el archivo dbschema correspondiente. -sqlstore.database.oracle.fixedcharpadded=JDO76518: el valor "{0}" est\u00E1 enlazado a una columna CHAR. En Oracle, esto se debe tratar de forma especial. Debido a que la clase OraclePreparedStatement no se ha podido obtener del controlador, el valor se rellenar\u00E1 con espacios hasta la longitud {1}, tal y como se especifica en el archivo dbschema capturado. -# -# -# -core.configuration.getvendortypefailed=JDO76519: fallo al identificar el tipo de proveedor para el almac\u00E9n de datos. -jdo.sqlpersistencemanagerfactory.errorgettingDatabaseInfo=JDO76520: errores al obtener la informaci\u00F3n sobre la base de datos. Se ha obtenido la siguiente excepci\u00F3n: - -# -# -# -sqlstore.connection.conncectiomgr.found=<--> ConnectionManager.getConnection: se ha encontrado {0}. -sqlstore.connection.conncectiomgr.getnewconn=<--> ConnectionManager.getConnection: nueva {0}. -sqlstore.connection.conncectiomgr.replacefreeconn=<--> ConnectionManager.replaceFreeConnection: libre {0}. -sqlstore.connectionimpl.clearxact.close=--- ConnectionImpl.clearXact: conexi\u00F3n cerrada. -sqlstore.connectionimpl.clearxact.disassocxact=--- ConnectionImpl.clearXact: disassociateXact . -sqlstore.connectionimpl.clearxact=--- ConnectionImpl.clearXact: . -sqlstore.connectionimpl.close.connrelease=<--- ConnectionImpl.close: conexi\u00F3n liberada. -sqlstore.connectionimpl.close.exit=<--- ConnectionImpl.close: conexi\u00F3n cerrada. -sqlstore.connectionimpl.close.freepending=<--- ConnectionImpl.close: definir FreePending. -sqlstore.connectionimpl.close.putfreelist=<--- ConnectionImpl.close: incluir en freeList. -sqlstore.connectionimpl.close.replaced=<--- ConnectionImpl.close: conexi\u00F3n sustituida. -sqlstore.connectionimpl.close=---> ConnectionImpl.close. -sqlstore.connectionimpl.close_arg=---> ConnectionImpl.close: {0}. -sqlstore.connectionimpl.commit=--- ConnectionImpl.commit: conexi\u00F3n cerrada. -sqlstore.connectionimpl.finalize=--- ConnectionImpl.finalize: conexi\u00F3n cerrada. -sqlstore.connectionimpl.internalcommit=--- ConnectionImpl.internalCommit: . -sqlstore.connectionimpl.pendingdisassocxact=--- ConnectionImpl.clearXact: Pending disassociateXact. -sqlstore.connectionimpl.rollback.close=--- ConnectionImpl.rollback: conexi\u00F3n cerrada. -sqlstore.connectionimpl.rollback=--- ConnectionImpl.rollback:. -# -# -# -sqlstore.database.dbvendor.castRequiredForNumericValues=<-> DBVendorType.isCastRequiredForNumericValues(): {0}. -sqlstore.database.dbvendor.getModFunctionName=<-> DBVendorType.getModFunctionName(): {0}. -sqlstore.database.dbvendor.getNullComparisonFunctionName=<-> DBVendorType.getNullComparisonFunctionName(): {0}. -sqlstore.database.dbvendor.getConcatCast=<-> DBVendorType.getConcatCast(): {0}. -sqlstore.database.dbvendor.getSpecialDBOperation=<-> DBVendorType.getSpecialDBOperation(): {0}. -sqlstore.database.dbvendor.getabs=<-> DBVendorType.getAbs(): {0}. -sqlstore.database.dbvendor.getcharlength=<-> DBVendorType.getCharLength(): {0}. -sqlstore.database.dbvendor.getforupdate=<-> DBVendorType.getForUpdate(): {0}. -sqlstore.database.dbvendor.getholdlock=<-> DBVendorType.getHoldlock(): {0}. -sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull(): {0}. -sqlstore.database.dbvendor.getisnull=<-> DBVendorType.getIsNull(): {0}. -sqlstore.database.dbvendor.getleftjoin=<-> DBVendorType.getLeftJoin(): {0}. -sqlstore.database.dbvendor.getleftjoinpost=<-> DBVendorType.getLeftJoinPost(): {0}. -sqlstore.database.dbvendor.getleftlikeescape=<-> DBVendorType.getLeftLikeEscape(): {0}. -sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}. -sqlstore.database.dbvendor.getposition3args=<-> DBVendorType.getPositionThreeArrgs(): {0}. -sqlstore.database.dbvendor.getposition=<-> DBVendorType.getPosition(): {0}. -sqlstore.database.dbvendor.getpositionin=<-> DBVendorType.getPositionIn(): {0}. -sqlstore.database.dbvendor.getpositionsrchsrc=<-> DBVendorType.getPositionSearchSource(): {0}. -sqlstore.database.dbvendor.getquotecharstart=<-> DBVendorType.getQuoteCharStart(): {0}. -sqlstore.database.dbvendor.getrightjoinipre=<-> DBVendorType.getRightJoin(): {0}. -sqlstore.database.dbvendor.getrightlikeescape=<-> DBVendorType.getRightLikeEscape(): {0}. -sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim(): {0}. -sqlstore.database.dbvendor.getrtrimpost=<-> DBVendorType.getRtrimPost(): {0}. -sqlstore.database.dbvendor.getsqrt=<-> DBVendorType.getSqrt(): {0}. -sqlstore.database.dbvendor.getstringconcat=<-> DBVendorType.getStringConcat(): {0}. -sqlstore.database.dbvendor.getsubstring=<-> DBVendorType.getSubstring(): {0}. -sqlstore.database.dbvendor.getsubstringfor=<-> DBVendorType.getSubstringFor(): {0}. -sqlstore.database.dbvendor.getsubstringfrom=<-> DBVendorType.getSubstringFrom(): {0}. -sqlstore.database.dbvendor.gettablelistend=<-> DBVendorType.getTableListEnd(): {0}. -sqlstore.database.dbvendor.gettableliststart=<-> DBVendorType.getTableListStart(): {0}. -sqlstore.database.dbvendor.isAnsiTrim=<-> DBVendorType.isAnsiTrim(): {0}. -sqlstore.database.dbvendor.isInlineNumeric=<-> DBVendorType.isInlineNumeric(): {0}. -sqlstore.database.dbvendor.isNativeOuterJoin=<-> DBVendorType.isNativeOuterJoin(): {0}. -sqlstore.database.dbvendor.isParameterCast=<-> DBVendorType.isParameterCast(): {0}. -sqlstore.database.dbvendor.isdistinctupdatelocksupported=<-> DBVendorType.isDistinctSupportedWithUpdateLock(): {0}. -sqlstore.database.dbvendor.islockcolumnlistsupported=<-> DBVendorType.isLockColumnListSupported(): {0}. -sqlstore.database.dbvendor.isupdatelocksupported=<-> DBVendorType.isUpdateLockSupported(): {0}. -sqlstore.database.dbvendor.mapemptystrtonull=<-> DBVendorType.mapEmptyStringToNull(): {0}. -sqlstore.database.dbvendor.overrideproperties.with=<-> DBVendorType.overrideProperties() : {0} con: {1}. -sqlstore.database.dbvendor.overrideproperties=<-> DBVendorType.overrideProperties() - NONE. -sqlstore.database.dbvendor.supportslikeescape=<-> DBVendorType.supportsLikeEscape(): {0}. -sqlstore.database.dbvendor.vendorname=<-> DBVendorType(), vendorName: [{0}] vendorType: {1}. -# -# -# -sqlstore.transactionimpl.call.info={0} Tran[ {1} ].{2}: {3} para {4}. -sqlstore.transactionimpl.call={0} Tran[ {1} ].{2}:status = {3}, txType: {4} for {5}. -sqlstore.transactionimpl.closeconnection=--- TransactionImpl.closeConnection() {0} para {1}. -sqlstore.transactionimpl.general={0}. -sqlstore.transactionimpl.getconnection=--- TransactionImpl.getConnection(): {0} Transacci\u00F3n optimista: {1} referenceCount = {2} para {3}. -sqlstore.transactionimpl.releaseconnection=--- TransactionImpl.releaseConnection(): Transacci\u00F3n optimista: {0} Dentro de Confirmaci\u00F3n: {1} referenceCount: {2} para {3}. -sqlstore.transactionimpl.rollbackconnection=--- TransactionImpl.rollbackConnection(): {0} para {1}. -sqlstore.transactionimpl.status={0} Tran[ {1} ].setStatus: {2} => {3} para {4}. - - -############################################################################### -# All the source files under subdir ejb. -# Message ID Range: JDO76600 - JDO76699 -############################################################################### -# -#EJBHelper messages -# -# {0} - method name -ejb.ejbhelper.nonmanaged=JDO76600: no se deber\u00EDa llamar al m\u00E9todo {0} en un entorno no gestionado. - -# -# Common messages between SunContainerHelper and DeploymentHelper -# so they have a neutral key, that still starts with "ejb". -# -# {0} - jndi name. -ejb.jndi.lookupfailed=JDO76604: fallo al realizar la b\u00FAsqueda en JNDI de cmp-resource ''{0}''. -JDO76604.diag.cause.1=El recurso de CMP con este nombre de JNDI no se ha registrado con esta instancia. -JDO76604.diag.cause.2=El recurso de CMP con este nombre JNDI no est\u00E1 bien escrito. -JDO76604.diag.check.1=Compruebe el nombre JNDI del recurso que tiene previsto utilizar. -JDO76604.diag.check.2=Compruebe el nombre JNDI del recurso de CMP especificado en el m\u00F3dulo. - -# {0} - jndi name. -# {1} - returned class name. -ejb.jndi.unexpectedinstance=JDO76605: La b\u00FAsqueda en JNDI de cmp-resource ''{0}'' ha devuelto una instancia con un tipo inesperado: {1}. -JDO76605.diag.cause.1=El recurso de CMP con este nombre JNDI no hace referencia a jdbc-resource ni a persistence-manager-factory-resource. -JDO76605.diag.cause.2=El recurso de CMP con este nombre JNDI no est\u00E1 bien escrito. -JDO76605.diag.check.1=Compruebe el nombre JNDI del recurso que tiene previsto utilizar. -JDO76605.diag.check.2=Compruebe el nombre JNDI del recurso de CMP especificado en el m\u00F3dulo. - -# -# DeploymentHelper messages - ejb -# -# -# -# -ejb.DeploymentHelper.getconnection=Obteniendo conexi\u00F3n para nombre de JNDI ''{0}''. - -# The messages JDO76606 through JDO76615 that were originally here -# have been moved to -# cmp/support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties -# As part of INF# -# So do not use these messages. - - -# -#CMPHelper messages -# -ejb.cmphelper.nonmanaged=JDO76613: acceso no v\u00E1lido de CMPHelper. Esta clase se utiliza s\u00F3lo para el soporte de CMP y no se deber\u00EDa llamar fuera de un servidor de aplicaciones. - -# -#SunTransactionHelper messages -# - -# {0} class name -ejb.SunTransactionHelper.wrongdatasourcetype=JDO76616: DataSource no tiene el tipo esperado. Se esperaba: com.sun.appserv.jdbc.DataSource; se ha obtenido: {0}. - - -############################################################################### -# -############################################################################### -# -# -# -vendor=Sun Microsystems -# majorVersion (minorVersion) buildDate -fullVersion={0} ({1}) {2} -# -# -# -core.generic.unknownfield=El campo {0} no es miembro de la clase {1}. -core.generic.unknownexception=Se ha obtenido una excepci\u00F3n desconocida. -core.generic.nullparam=El par\u00E1metro {0} es nulo. -core.generic.notinstanceof=El objeto de la clase {0} no es una instancia de {1}. - - -############################################################################### -# -############################################################################### -core.configuration.cantloadclass=Fallo al cargar la clase {0}. -sqlstore.exception.log=Exception. -jdo.lifecycle.deleted.accessField=No se puede acceder a un campo de una instancia suprimida. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_fr.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_fr.properties deleted file mode 100644 index 0343652572e..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_fr.properties +++ /dev/null @@ -1,643 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# Resource bundle for sqlstore runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Please note that many package names and classnames have changed over time. -# Unfortunately, this file was not maintained to follow above convention. -# Please ignore if the package/class name does not match actual names as today. -# -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 76. -# -# This file is divided into the following sections: -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# 1. JDO: PersistenceManagerFactory/PersistenceManager/ExtentCollection/LifeCycle -# 2. Model -# 3. StateManager -# 4. sql generator components: RetrieveDesc, ResultDesc plus all the files under generator subdir -# 5. SQLStoreManager -# 6. Connection/Connectionpool/Transaction/DBVendorType -# 7. EJB integration. -# 8. Generic messages. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -#################################################################################################### -# -# Message ID Range: JDO76000 - JDO76099 -#################################################################################################### -jdo.persistencemanagerfactoryimpl.getpersistencemanager.error=JDO76000 : impossible d'utiliser des combinaisons multiples nom utilisateur/mot de passe dans la m\u00EAme transaction. -jdo.persistencemanagerfactoryimpl.getpersistencemanager.notconfigured=JDO76001 : PersistenceManagerFactory n'est pas configur\u00E9. -jdo.persistencemanagerfactoryimpl.notsupported=JDO76002 : l'op\u00E9ration n'est pas prise en charge pour l'\u00E9l\u00E9ment PersistenceManagerFactoryImpl interne. -jdo.persistencemanagerimpl.acquireexclusivelock.interrupted=JDO76003 : \u00E9chec de l'obtention d'un verrou exclusif en raison d'une exception InterruptedException. -jdo.persistencemanagerimpl.acquiresharelock.failed=JDO76004 : \u00E9chec de l'obtention d'un verrou partag\u00E9 car la valeur _readWritecount est inf\u00E9rieure \u00E0 z\u00E9ro -jdo.persistencemanagerimpl.acquiresharelock.interrupted=JDO76003 : \u00E9chec de l'obtention d'un verrou partag\u00E9 en raison d'une exception InterruptedException. -jdo.persistencemanagerimpl.another_pm=JDO76006 : l'objet est associ\u00E9 \u00E0 un autre gestionnaire PersistenceManager. -jdo.persistencemanagerimpl.assertactivetransaction.error=JDO76007 : la transaction associ\u00E9e \u00E0 ce gestionnaire de persistance n'est pas active. -jdo.persistencemanagerimpl.assertclosed.closed=JDO76008 : PersistenceManager est ferm\u00E9. -jdo.persistencemanagerimpl.assertpersistencecapable.error=JDO76009 : la classe {0} n''a pas \u00E9t\u00E9 enrichie pour la persistance transparente. Utilisez l''outil de packaging JAR ou WAR de IDE pour packager vos classes capables de persistance avant l''ex\u00E9cution. Vous pouvez \u00E9galement d\u00E9finir la propri\u00E9t\u00E9 de l''ex\u00E9cuteur de la classe principale sur Ex\u00E9cuteur de persistance afin qu''elle fonctionne \u00E0 partir de l''IDE. -jdo.persistencemanagerimpl.close.activetransaction=JDO76010 : il existe une transaction ouverte associ\u00E9e \u00E0 ce gestionnaire de persistance. -jdo.persistencemanagerimpl.fetchinstance.none=JDO76012 : objet introuvable pour cet ID objet. -jdo.persistencemanagerimpl.internaldeletepersistent.transient=JDO76014 : impossible de supprimer un objet non persistant. -jdo.persistencemanagerimpl.internalmakepersistent.dups=JDO76015 : une instance poss\u00E9dant la m\u00EAme cl\u00E9 primaire existe d\u00E9j\u00E0 dans ce cache PersistenceManager. -jdo.persistencemanagerimpl.loadclassforoid.wrongoidclass=JDO76016 : erreur lors de l'extraction de l'objet Classe \u00E0 partir d'OID. -jdo.persistencemanagerimpl.newscoinstance.wrongclass=JDO76017 : impossible de cr\u00E9er une instance SCO de la classe {0} car elle n''est pas d''un type valide. -jdo.persistencemanagerimpl.notprocessed=JDO76018 : impossible de se d\u00E9barrasser des instances persistantes en raison des d\u00E9pendances circulaires. -jdo.persistencemanagerimpl.releaseexclusivelock.failed=JDO76019 : \u00E9chec de la lib\u00E9ration d'un verrou exclusif car la valeur _readWriteCount est sup\u00E9rieure \u00E0 z\u00E9ro. -jdo.persistencemanagerimpl.releasesharelock.failed=JDO76020 : \u00E9chec de la lib\u00E9ration d'un verrou partag\u00E9 car la valeur _readWriteCount est \u00E9gale \u00E0 z\u00E9ro. -jdo.persistencemanagerwrapper.invalidpm=JDO76021 : PersistenceManagerWrapper est ferm\u00E9. -jdo.extentcollection.constructor.invalidclass=JDO76022 : classe non valide ''{0}'' pour la collection d''extents. -jdo.extentcollection.constructor.nonpc=JDO76023 : la classe ''{0}'' n''est pas capable de persistance. -jdo.extentcollection.constructor.subclasses=JDO76024 : les sous-classes d'option true ne sont pas prises en charge pour les collections d'extents. -jdo.extentcollection.illegalmodification=JDO76025 : modification interdite de la collection d''extents pour la classe ''{0}''. -jdo.extentcollection.methodnotsupported=JDO76026 : la m\u00E9thode de collection d''extents {0} n''est pas prise en charge. -jdo.lifecycle.xactnotactive=JDO76027 : une transaction active est requise pour r\u00E9aliser cette op\u00E9ration. -jdo.persistencemanagerimpl.newinstance.badsm=JDO76028 : StateManager n'est pas totalement configur\u00E9. -jdo.persistencemanagerimpl.setjtatransaction.notnulljta=JDO76029 : tentative de remplacement de la transaction non NULL javax.transaction.Transaction : {0} par {1}. -jdo.persistencemanagerfactoryimpl.getpersistencemgr.closed=JDO76030 : le gestionnaire PersistenceManager pour la transaction javax.transaction.Transaction : {0} est d\u00E9j\u00E0 ferm\u00E9 ou en cours de validation. -jdo.persistencemanagerfactoryimpl.registerpm.registered=JDO76031 : l''instance de javax.transaction.Transaction : {0} est d\u00E9j\u00E0 inscrite dans un autre PersistenceManager : {1}. -jdo.persistencemanagerimpl.verificationfailed=JDO76032 : l'instance de coh\u00E9rence de la version n'a pas pu effectuer la v\u00E9rification avec la banque de donn\u00E9es. -jdo.persistencemanagerfactoryimpl.getversionconsistencycache.nullstore=JDO76033 : StoreManager n'est pas configur\u00E9. - -# -# -# -sqlstore.state.lifecyclestate.changestate=LifeCycleState.changeState(), ancien \u00E9tat = {0}, nouvel \u00E9tat = {1}. -sqlstore.state.lifecyclestate.initial=LifeCycleState.getLifeCycleState(), \u00E9tat initial = {0}. - -# -# -# -sqlstore.persistencemgr.acquireexclusivelock.count=acquireExclusiveLock(), thread {0} avec _readWriteCount = {1}. -sqlstore.persistencemgr.acquireexclusivelock=acquireExclusiveock(), le thread {0} va attendre. -sqlstore.persistencemgr.acquiresharedlock.rdwrcount=acquireShareLock(), le thread {0} a acquis un verrou partag\u00E9 avec _readWriteCount ={1}. -sqlstore.persistencemgr.acquiresharedlock=acquireShareLock(), le thread {0} va attendre. -sqlstore.persistencemgr.aftercompletion.process=---PersistenceManagerImpl.afterCompletion() process: {0}. -sqlstore.persistencemgr.aftercompletion=---PersistenceManagerImpl.afterCompletion() abort: {0}. -sqlstore.persistencemgr.assertactivetx.closed=--- PersistenceManagerImpl.assertActiveTransaction: Closed for {0}. -sqlstore.persistencemgr.assertactivetx=--- PersistenceManagerImpl.assertActiveTransaction: {0}. -sqlstore.persistencemgr.assertisopen=--- PersistenceManagerImpl.assertIsOpen: Closed for {0}. -sqlstore.persistencemgr.beforecompletion=---PersistenceManagerImpl.beforeCompletion(). -sqlstore.persistencemgr.cacheproperties=Propri\u00E9t\u00E9s de cache PersistenceManagerImpl : _txCacheInitialCapacity={0}, _flushedCacheInitialCapacity={1}, _flushedCacheLoadFactor={2}, _weakCacheInitialCapacity={3}, _weakCacheLoadFactor={4}. -sqlstore.persistencemgr.deregisterinstance.verified=---PersistenceManagerImpl.deregisterInstance() -- deregistered with verify. -sqlstore.persistencemgr.deregisterinstance.verify=---PersistenceManagerImpl.deregisterInstance() with verify SM -- oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.deregisterinstance=---PersistenceManagerImpl.deregisterInstance() oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getbyobjid=---PersistenceManagerImpl.getObjectById() OID:{0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getcurrentwrapper=---PersistenceManagerImpl.getCurrentWrapper() > current: {0}. -sqlstore.persistencemgr.getobjid.notpc=---PersistenceManagerImpl.getObjectId() NOT PC: {0} for PersistenceManager: {1}. -sqlstore.persistencemgr.getobjid.notpm=---PersistenceManagerImpl.getObjectId() NOT PM: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getobjid= :{0} ---PersistenceManagerImpl.getObjectId() PC: {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.internalcloneoid.old=---PersistenceManagerImpl.internalCloneOid(): old: {0} new: {1} same: {2}. -sqlstore.persistencemgr.internalcloneoid=---PersistenceManagerImpl.internalCloneOid() error: {0}. -sqlstore.persistencemgr.isactivetx=---PersistenceManagerImpl.isActiveTransaction() : {0}. -sqlstore.persistencemgr.isnontxread=---PersistenceManagerImpl.isNontransactionalRead() : {0}. -sqlstore.persistencemgr.isoptimistic=---PersistenceManagerImpl.isOptimisticTransaction() : {0}. -sqlstore.persistencemgr.loadingclass=Chargement... Nom de classe : {0}. -sqlstore.persistencemgr.loadingfile=Chargement... Nom de fichier : {0} {1} {2}. -sqlstore.persistencemgr.makepersistent.done=---PersistenceManagerImpl.makePersistent() {0} finished for: {1} and JTA: {2}. -sqlstore.persistencemgr.makepersistent= {0} ---PersistenceManagerImpl.makePersistent() PC: {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.newcollection=---PersistenceManagerImpl.newCollectionInstanceInternal() type: {0}. -sqlstore.persistencemgr.popcurrentwrapper=---PersistenceManagerImpl.popCurrentWrapper() > current: {0} prev: {1}. -sqlstore.persistencemgr.pushcurrentwrapper=---PersistenceManagerImpl.pushCurrentWrapper() > current: {0} new: {1}. -sqlstore.persistencemgr.registerinstance= {0} ---PersistenceManagerImpl.registerInstance() oid/sm: {1}/{2} for PersistenceManager: {3} and JTA: {4}. -sqlstore.persistencemgr.registerinstancein_txc=registerInstance in TXC :{0} / {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.registerinstancein_wkc=registerInstance in WKC. -sqlstore.persistencemgr.releaseexclusivelock=releaseExclusiveock(), thread {0} avec _readWriteCount = {1}. -sqlstore.persistencemgr.releasesharedlock=releaseShareLock(), thread {0} avec _readWriteCount = {1}. -sqlstore.persistencemgr.replacingdeletedinstance=Remplacement de l''instance supprim\u00E9e par une nouvelle instance pour l''ID d''objet : {0}. -sqlstore.persistencemgr.setkeyfields=---PersistenceManagerImpl.setKeyFields() error: {0}. -# -# -# -sqlstore.sqlpersistencemgrfactory.getfrompool.pmt=<--SQLPersistenceManagerFactory.getFromPool() PM: {0} for JTA {1}. -sqlstore.sqlpersistencemgrfactory.getfrompool=<--SQLPersistenceManagerFactory.getFromPool(). -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.found= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() found javax.transaction.Transaction: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx.notfound=<->SQLPersistenceManagerFactory.getPersistenceManager() not found JDO Transaction. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx=<->SQLPersistenceManagerFactory.getPersistenceManager() JDO Transaction: {0}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmclosedfor= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() PM is closed for: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmt= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() : {1} for JTA: {2}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr=:{0} -->SQLPersistenceManagerFactory.getPersistenceManager(). -sqlstore.sqlpersistencemgrfactory.init=---SQLPersistenceManagerFactory.initialize(). -sqlstore.sqlpersistencemgrfactory.pmCacheBucketSize=---SQLPersistenceManagerFactory pmCacheBucketSize = {0}. -sqlstore.sqlpersistencemgrfactory.pmCacheInitialCapacity=---SQLPersistenceManagerFactory pmCacheInitialCapacity = {0}. -sqlstore.sqlpersistencemgrfactory.registerpersistencemgr.pmt=<->SQLPersistenceManagerFactory.registerPersistenceManager() PM: {0} for JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.releasepm.pmt=---SQLPersistenceManagerFactory.releasePersistenceManager() PM:{0} for JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.returnToPool=<--SQLPersistenceManagerFactory.returnToPool(). - - -############################################################################### -# -# Message ID Range: JDO76100 - JDO76199 -############################################################################### -core.configuration.columnnotable=JDO76100 : le descripteur de colonne ne poss\u00E9dait pas de descripteur de table valide. -core.configuration.fieldnotable=JDO76101 : le champ {0} n''est associ\u00E9 \u00E0 aucune table. -core.configuration.fieldnotmapped=JDO76102 : le champ persistant {0} pour la classe {1} n''est pas mapp\u00E9. -core.configuration.iddescnofield=JDO76103 : l'objet SqlIDDesc n'a pas \u00E9t\u00E9 d\u00E9fini correctement. Les descripteurs de champ ne sont pas disponibles. -core.configuration.loadfailed.class=JDO76104 : \u00E9chec du chargement de la configuration pour la classe {0}. -core.configuration.noneexistentpkfield=JDO76105 : le champ {0} dans la classe ObjectId {1} n''existe pas dans la classe PersistenceCapable {2}. -core.configuration.unsupportedconsistencylevel=JDO76106 : le niveau de coh\u00E9rence de la classe {0} n''est pas pris en charge. Les niveaux de coh\u00E9rence pris en charge actuellement sont "none", "check-modified-at-commit", "lock-when-loaded" et "check-version-of-accessed-instances". -core.configuration.validationfailed=JDO76107 : le mapping pour la classe {0} n''est pas valide :\n{1}. -core.configuration.validationproblem=JDO76108 : erreur de validation dans la classe {0} : {1} -# -# -# -core.fielddesc.minvalue=JDO76109 : la valeur {0} est inf\u00E9rieure au minimum autoris\u00E9 ({1}) pour le type de champ {2}. -core.fielddesc.maxvalue=JDO76110 : la valeur {0} est sup\u00E9rieure au maximum autoris\u00E9 ({1}) pour le type de champ {2}. -core.configuration.noneexistentvcfield=JDO76111 : le champ {0} est d\u00E9fini comme champ de version, mais il ne figure pas dans la classe PersistenceCapable {1}. -core.configuration.loadfailed.field=JDO76112 : \u00E9chec du chargement de la configuration pour le champ {0} dans la classe {1}. - -# -# -# -sqlstore.model.classdesc.assocrelatedfield=champ de relation associ\u00E9 = {0}. -sqlstore.model.classdesc.createsqldesc=cr\u00E9ation de SqlIDDesc \u00E0 partir de {0}. -sqlstore.model.classdesc.fieldinfo=nom de champ = {0}, ID= {1}. -sqlstore.model.classdesc.general={0}.{1} =>{2} -sqlstore.model.classdesc.getlocalfielddesc=<-> SqlPersistenceDesc.getLocalFieldDesc(), classe ={0}, champ masqu\u00E9 ajout\u00E9 {1} pour la colonne {2}. -sqlstore.model.classdesc.loadedclass=Classe OID charg\u00E9e= {0}. -sqlstore.model.classdesc.persistconfiginit.exit=<-- SqlPersistenceConfig.initialize(). -sqlstore.model.classdesc.persistconfiginit=--> SqlPersistenceConfig.initialize(), classe = {0}. -sqlstore.model.classdesc.pkfield=Champ de cl\u00E9 primaire = {0}. -sqlstore.model.classdesc.primarytrackedfield=le champ {0} est le champ suivi primaire. -sqlstore.model.classdesc.unsetconcurrencychk=annulation de la d\u00E9finition de la propri\u00E9t\u00E9 IN_CONCURRENCY_CHECK pour If {0}. -sqlstore.model.classdesc.unsetrefintegrityupdate=annulation de la d\u00E9finition de la propri\u00E9t\u00E9 REF_INTEGRITY_UPDATES pour ff {0}. -sqlstore.model.classdesc.vcfield=Champ de coh\u00E9rence de la version = {0}. -sqlstore.model.fielddesc.addingfield=ajout du champ {0} qui doit \u00EAtre suivi par le champ {1}. -sqlstore.model.fielddesc.convertvalue.from_to=convertValue : {0} de : {1} en : {2}. -sqlstore.model.fielddesc.convertvalue.hidden=convertValue : {0} masqu\u00E9e... renvoi. -sqlstore.model.fielddesc.convertvalue=convertValue : NULL... renvoi. -sqlstore.model.fielddesc.fieldname={0} = {1}. -sqlstore.model.fielddesc.setupdesc=setupDesc() : fieldName {0} fieldType {1}. -sqlstore.model.configcacheimpl.size_before=taille de {0} avant le nettoyage : {1}. -sqlstore.model.configcacheimpl.size_after=taille de {0} apr\u00E8s le nettoyage : {1}. - - -############################################################################### -# -# Message ID Range: JDO76200 - JDO76299 -############################################################################### -core.statemanager.anotherowner=JDO76200 : impossible d'affecter une instance SCO qui appartient \u00E0 un autre objet. -core.statemanager.cantnewoid=JDO76201 : \u00E9chec de la cr\u00E9ation d''une instance de cl\u00E9 primaire de la classe {0}. -core.statemanager.cantschedulejointable=JDO76202 : impossible de planifier l''insertion de l''entr\u00E9e de la table entre la classe {0} et {1}, car la description du champ de relation est NULL. -core.statemanager.cantsetkeyfield=JDO76203 : \u00E9chec de la d\u00E9finition de la valeur du champ de cl\u00E9 primaire {0}. -core.statemanager.conflictingvalues=JDO76204 : conflit de valeurs entre les champs {0} et {1} qui sont mapp\u00E9s sur la m\u00EAme colonne. -core.statemanager.getfieldfailed=JDO76205 : \u00E9chec de l'obtention du champ. -core.statemanager.invalidpk=JDO76206 : champ de cl\u00E9 primaire NULL {0} incorrect lors du rechargement de la classe capable de persistance {1}. L''ObjectId de l''instance est {2}. -core.statemanager.nopkupdate=JDO76207 : la mise \u00E0 jour d'un champ de cl\u00E9 primaire n'est pas autoris\u00E9e. -core.statemanager.nopm=JDO76208 : le gestionnaire d'\u00E9tat ne contient pas de r\u00E9f\u00E9rence au gestionnaire de persistance. -core.statemanager.notnavigable=JDO76209 : une tentative d''acc\u00E8s au champ {0} de la classe {1} a \u00E9t\u00E9 effectu\u00E9e. Aucune instance de ce champ n''a \u00E9t\u00E9 cr\u00E9\u00E9e auparavant et cette classe ne permet pas la navigation dynamique. Vous devez adresser une demande sur ce champ lors de l''extraction de la classe ou permettre la navigation dynamique afin que ce champ puisse \u00EAtre extrait automatiquement en y acc\u00E9dant. -core.statemanager.objectnotfound=JDO76210 : l'objet n'existe pas dans la banque de donn\u00E9es. -core.statemanager.poshiddenindex=JDO76211 : l''index vers un champ masqu\u00E9 doit \u00EAtre n\u00E9gatif, mais cet index est \u00E9gal \u00E0 {0}. -core.statemanager.readonly=JDO76212 : une tentative de modification du champ en lecture seule {0} de la classe {1} a \u00E9t\u00E9 effectu\u00E9e. -core.statemanager.releaselock.wrongthread=JDO76213 : ce thread {0} n''a pas de verrou StateManager. -core.statemanager.setfieldfailed=JDO76214 : \u00E9chec de la d\u00E9finition du champ. -core.statemanager.wrongusageforoverlappingpkfkdelete=JDO76215 : tentative de suppression incorrecte d'une instance dans une relation g\u00E9r\u00E9e. La relation est d\u00E9finie par une colonne de cl\u00E9 primaire de l'autre c\u00F4t\u00E9. Une op\u00E9ration de suppression dans une collection implique la mise \u00E0 jour de la colonne de l'autre c\u00F4t\u00E9, et la mise \u00E0 jour des cl\u00E9s primaires n'est pas autoris\u00E9e. D\u00E8s lors, la suppression d'une instance dans une collection de relations g\u00E9r\u00E9es d\u00E9finie par une cl\u00E9 primaire est uniquement r\u00E9alisable en supprimant l'instance, explicitement ou par suppression en cascade. -core.statemanager.toomanyrows=JDO76215 : la requ\u00EAte a renvoy\u00E9 plus d''une ligne pour l''une des tables mapp\u00E9es sur la classe {0}. Chaque table mapp\u00E9e sur une classe devrait avoir uniquement une seule ligne pour chaque instance de l''objet. -core.statemanager.copyFields.mismatch=JDO76216 : tentative de copie de champs d''un StateManager vers un autre qui g\u00E8re des instances de plusieurs types : {0} et {1}. - -# -# -# -sqlstore.sqlstatemanager.adddependency=<-> SQLStateManager.addDependency(), this StateManager: {0}, other StateManager: {1}. -sqlstore.sqlstatemanager.addupdate=<-> SQLStateManager.addUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.applyupdates.exit=<-- SqlStateManager.applyUpdates(). -sqlstore.sqlstatemanager.applyupdates=--> SqlStateManager.applyUpdates(), champ = {0}. -sqlstore.sqlstatemanager.clearpersistencefields.exit=<--- SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.clearpersistencefields=--> SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.copychanges.exit=<-- SQLStateManager.copyChanges(). -sqlstore.sqlstatemanager.copychanges=--> SQLStateManager.copyChanges(), gestionnaire d''\u00E9tat = {0}. -sqlstore.sqlstatemanager.deletepersistence=<-> SqlStateManager.deletePersistence(), type = {0}. -sqlstore.sqlstatemanager.getbeforeimage.exit=<-- SqlStateManager.getBeforeImage(). -sqlstore.sqlstatemanager.getbeforeimage=--> SqlStateManager.getBeforeImage(), type = {0}. -sqlstore.sqlstatemanager.isbeforeimagerequired=isBeforeImageRequired est : {0}. -sqlstore.sqlstatemanager.loadforread.exit=<-- SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforread=--> SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforupdate.exit=<-- SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loadforupdate=--> SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loggingfield=champ de journalisation = {0} avec la valeur = {1}. -sqlstore.sqlstatemanager.makedirty.fixscocollection=--- SqlStateManager.makeDirty(), fix SCOCollection. -sqlstore.sqlstatemanager.makedirty.fixscodate=--- SqlStateManager.makeDirty(), fix SCODate. -sqlstore.sqlstatemanager.makedirty=--> SqlStateManager.makeDirty(), champ = {0}. -sqlstore.sqlstatemanager.makedirtyfield=Marked dirty field = {0}. -sqlstore.sqlstatemanager.makepersistence=<-> SqlStateManager.makePersistence(), type = {0}. -sqlstore.sqlstatemanager.makepresent=--> SqlStateManager.makePresent(), champ = {0}. -sqlstore.sqlstatemanager.marking=marquage de {0} comme \u00E9tant pr\u00E9sent. -sqlstore.sqlstatemanager.newtype=Nouveau type : {0}. -sqlstore.sqlstatemanager.nosuchmethodexcep.clone=Exception : clone {0}... pour le type {1}. -sqlstore.sqlstatemanager.preparegetfield.exit=<-- SqlStateManager.prepareGetField(). -sqlstore.sqlstatemanager.preparegetfield=--> SqlStateManager.prepareGetField(), nom = {0}. -sqlstore.sqlstatemanager.preparesetfield.exit=<-- SQLStateManager.prepareSetField(). -sqlstore.sqlstatemanager.preparesetfield=--> SQLStateManager.prepareSetField(), nom = {0}. -sqlstore.sqlstatemanager.preparetoupdateph1.exit=<-- SqlStateManager.prepareToUpdateI(). -sqlstore.sqlstatemanager.preparetoupdateph1=--> SqlStateManager.prepareToUpdatePhaseI(), type = {0}. -sqlstore.sqlstatemanager.preparetoupdateph2.exit=<-- SqlStateManager.prepareToUpdateII(). -sqlstore.sqlstatemanager.preparetoupdateph2=--> SqlStateManager.prepareToUpdatePhaseII(), type = {0}. -sqlstore.sqlstatemanager.preparetoupdateph3.exit=<-- SqlStateManager.prepareToUpdateIII(). -sqlstore.sqlstatemanager.preparetoupdateph3=--> SqlStateManager.prepareToUpdatePhaseIII(), type = {0}. -sqlstore.sqlstatemanager.prepareupdatefield.exit=<-- SQLStateManager.prepareUpdateField(). -sqlstore.sqlstatemanager.prepareupdatefield=--> SQLStateManager.prepareUpdateField(), nom = {0} pour l''\u00E9tat {1}. -sqlstore.sqlstatemanager.prepareupdatefieldspl.exit=<-- SQLStateManager.prepareUpdateFieldSpecial(). -sqlstore.sqlstatemanager.prepareupdatefieldspl=--> SQLStateManager.prepareUpdateFieldSpecial, nom = {0} pour l''\u00E9tat {1}. -sqlstore.sqlstatemanager.processcollectionupdate.exit=<-- SQLStateManager.processCollectionUpdates(). -sqlstore.sqlstatemanager.processcollectionupdate=--> SQLStateManager.processCollectionUpdates(), beforeList={0}, afterlist={1}. -sqlstore.sqlstatemanager.processforeign=traiter le champ \u00E9tranger = {0}. -sqlstore.sqlstatemanager.processforeignfield.remove=-- SQLStateManager.processForeignField(): was Collection - remove. -sqlstore.sqlstatemanager.processforeignfield.remove_from_bi=-- SQLStateManager.processForeignField(): is SCOCollection - remove from BI. -sqlstore.sqlstatemanager.processforeignfield.reset=-- SQLStateManager.processForeignField(): was SCOCollection - reset. -sqlstore.sqlstatemanager.processforeignfield=-- SQLStateManager.processForeignField(): value: {0} type: {1}. -sqlstore.sqlstatemanager.realizefield.exit=<-- SqlStateManager.realizeField(). -sqlstore.sqlstatemanager.realizefield=--> SqlStateManager.realizeField(), nom = {0}. -sqlstore.sqlstatemanager.realizeforeignfield.exit=<-- SqlStateManager.realizeField(), champ r\u00E9alis\u00E9 = {0}. -sqlstore.sqlstatemanager.realizeforeignfield=--> SqlStateManager.realizeField(), nom = {0}. -sqlstore.sqlstatemanager.recordingfield=enregistrement du champ = {0}. -sqlstore.sqlstatemanager.refreshpersistent.exit=<-- SqlStateManager.refreshPersistent(). -sqlstore.sqlstatemanager.refreshpersistent=--> SqlStateManager.refreshPersistence(), type = {0}. -sqlstore.sqlstatemanager.reload.exit=<-- SqlStateManager.reload(FieldDesc). -sqlstore.sqlstatemanager.reload=--> SqlStateManager.reload(FieldDesc), type = {0}, champ = {1}. -sqlstore.sqlstatemanager.removeupdate=<-> SQLStateManager.removeUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.replaceobjectfield.unsetsco=-- SqlStateManager.replaceObjectField(), unset SCO. -sqlstore.sqlstatemanager.replaceobjectfield=-- SqlStateManager.replaceObjectField(), field = {0}, type= {1}. -sqlstore.sqlstatemanager.reset=--> SqlStateManager.reset(), retValues = {0}, wasNew : {1}, keepState : {2}. -sqlstore.sqlstatemanager.resettingcollection=R\u00E9initialisation de la collection. -sqlstore.sqlstatemanager.resettingdate=R\u00E9initialisation de la date. -sqlstore.sqlstatemanager.resolvedependencies=<-> SQLStateManager.resolveDependencies(), obj={0}. -sqlstore.sqlstatemanager.resolvedependency=<-> SQLStateManager.resolveDependency(), d\u00E9pendance r\u00E9solue : lobj={0}, f={1}, fobj={2}. -sqlstore.sqlstatemanager.retrieve.exit=<-- SqlStateManager.retrieve(). -sqlstore.sqlstatemanager.retrieve=--> SqlStateManager.retrieve(), nom = {0}. -sqlstore.sqlstatemanager.retrieveforeign.exit=<-- SqlStateManager.retrieveForeign(). -sqlstore.sqlstatemanager.retrieveforeign=--> SqlStateManager.retrieveForeign(), nom = {0}. -sqlstore.sqlstatemanager.unsetmask=annulation de la d\u00E9finition des masques pour le champ = {0}. -sqlstore.sqlstatemanager.unconditionalreload.exit=<-- SqlStateManager.reload(). -sqlstore.sqlstatemanager.unconditionalreload=--> SqlStateManager.reload(), type = {0}. -sqlstore.sqlstatemanager.updatebeforeimage=<-> SQLStateManager.updateBeforeImage(), nom = {0}, valeur = {1}. -sqlstore.sqlstatemanager.updateobjfield.exit=<-- SQLStateManager.updateObjectField(). -sqlstore.sqlstatemanager.updateobjfield=--> SQLStateManager.updateObjectField(), nom = {0}, type = {1}. -sqlstore.sqlstatemanager.updatepersistent.exit=<-- SqlStateManager.updatePersistent(). -sqlstore.sqlstatemanager.updatepersistent.immediateflush=<--> SqlStateManager.updatePersistent(), vidage imm\u00E9diat requis : obj={0}, next={1}. -sqlstore.sqlstatemanager.updatepersistent.skipped=<--> SqlStateManager.updatePersistent() non pris en compte, type={0}, obj={1}. -sqlstore.sqlstatemanager.updatepersistent=--> SqlStateManager.updatePersistent(), type = {0}. -sqlstore.sqlstatemanager.updatetrackedfields.exit=<-- updateTrackedFields(). -sqlstore.sqlstatemanager.updatetrackedfields=--> updateTrackedFields(), f = {0} valeur = {1} fieldToIgnore = {2}. - - -############################################################################### -# -# Message ID Range: JDO76300 - JDO76399 -############################################################################### -core.constraint.duporderby=JDO76300 : la contrainte est "order by" pour le champ {0} qui a d\u00E9j\u00E0 \u00E9t\u00E9 sp\u00E9cifi\u00E9 dans une contrainte "order by". -core.constraint.fielddisallowed=JDO76301\u00A0: le param\u00E8tre fieldName a \u00E9t\u00E9 d\u00E9fini mais il n''est pas autoris\u00E9 avec l''op\u00E9ration {0}. -core.constraint.fieldrequired=JDO76302 : le param\u00E8tre fieldName est absent mais l''op\u00E9ration {0} exige un champ. -core.constraint.illegalParameterInfo=JDO76303 : addConstraint() de OP_PARAMETER doit \u00EAtre appel\u00E9 avec la valeur de type ParameterInfo. -core.constraint.illegalnode=JDO76304 : noeud de contrainte {0} interdit dans la pile SqlConstraint. -core.constraint.illegalop=JDO76305 : le param\u00E8tre d''op\u00E9ration contenait une valeur interdite pour {0}. -core.constraint.needfieldnamenode=JDO76306 : erreur dans la pile de contraintes. Un nom de champ est attendu. -core.constraint.needfieldnode=JDO76307 : erreur dans la pile de contraintes. Une description de champ est attendue. -core.constraint.needvalnode=JDO76308 : erreur dans la pile de contraintes. Une valeur est attendue. -core.constraint.stackempty=JDO76309 : la pile de contraintes est vide. Il n'y a pas assez de valeurs pour le nombre d'op\u00E9rateurs. -core.constraint.unknownfield=JDO76310 : le champ {0} d\u00E9fini dans le descripteur d''extraction n''appartient pas \u00E0 la classe {1}. -core.constraint.valdisallowed=JDO76311\u00A0: le param\u00E8tre de valeur a \u00E9t\u00E9 d\u00E9fini mais il n''est pas autoris\u00E9 avec l''op\u00E9ration {0}. -core.constraint.valrequired=JDO76312 : le param\u00E8tre de valeur est manquant mais l''op\u00E9ration {0} exige une valeur. -sqlstore.resultdesc.errorgettingvalefromresulset=JDO76313 : erreur lors de l''obtention de la valeur \u00E0 partir de l''ensemble de r\u00E9sultats dans l''index {0} en tant que resultType {1}. columnSqlType {2}. Exception : {3} -sqlstore.resultdesc.foreignfieldprojection=JDO76314 : les requ\u00EAtes de {0} ne doivent pas avoir de projection sur un champ de relation. -sqlstore.resultdesc.unknownfieldtype=JDO76317 : type de champ inconnu {0} d\u00E9tect\u00E9. -sqlstore.retrievedesc.toomanyprojections=JDO76318 : impossible de d\u00E9finir plusieurs projections pour RetrieveDesc. -sqlstore.retrievedesc.toomanyresulttypes=JDO76319 : impossible de d\u00E9finir plusieurs types de r\u00E9sultat pour RetrieveDesc. -sqlstore.selectstatement.noupdatelocksupport=JDO76320 : l'un des types d'objet de cette requ\u00EAte a le niveau de coh\u00E9rence "lock-when-loaded". L'application de ce niveau de coh\u00E9rence implique que la banque de donn\u00E9es prenne en charge le verrouillage pour les mises \u00E0 jour au niveau des lignes. La banque de donn\u00E9es ne prend pas en charge le verrouillage pour les mises \u00E0 jour au niveau des lignes. -sqlstore.sql.generator.statement.likeescapenotsupported=JDO76321 : clause LIKE ESCAPE non prise en charge sur cette base de donn\u00E9es. -sqlstore.sql.generator.statement.positionthreeargsnotsupported=JDO76322 : le troisi\u00E8me argument pour la clause POSITION doit \u00EAtre 1. -core.configuration.classnotmapped=JDO76323 : la classe {0} n''est pas mapp\u00E9e. -core.configuration.classnotmappedtotable=JDO76324 : la classe {0} n''est pas mapp\u00E9e sur la table {1}. -sqlstore.sql.generator.statement.unexpectedconstraint=JDO76325 : une contrainte d''op\u00E9ration {0} ne peut jamais \u00EAtre la racine d''une clause where. - -# -# Following messages are used within other messages. They need to be i18ned but need not be numbered. -# -sqlstore.sql.generator.statement.sqlStatement=Instruction SQL -sqlstore.sql.generator.statement.withinputvalues= valeurs d'entr\u00E9e : -sqlstore.sql.generator.statement.withnoinputvalues= aucune valeur en entr\u00E9e. - - -# -# -# -sqlstore.resultdesc.deserializing=d\u00E9s\u00E9rialisation = {0}. -sqlstore.resultdesc.marking_field=marquage du champ local {0} comme \u00E9tant pr\u00E9sent. -sqlstore.resultdesc.marking_foreign_field=marquage du champ \u00E9tranger {0} comme \u00E9tant pr\u00E9sent. -sqlstore.resultdesc.marking_key_field=marquage du champ de cl\u00E9 {0} comme \u00E9tant pr\u00E9sent. -sqlstore.resultdesc.returning_field=renvoi du champ {0} en tant que projection. -# -# -# -sqlstore.sql.concurrency.concurrencychkdirty.exit=--> ConcurrencyCheckDirty.update(). -sqlstore.sql.concurrency.concurrencychkdirty=--> ConcurrencyCheckDirty.update(), beforeImage = {0}. -sqlstore.sql.concurrencyoptverify.resumetx=<--> ConcurrencyOptVerify.resume(), transaction reprise = {0}. -sqlstore.sql.concurrencyoptverify.suspendtx=<--> ConcurrencyOptVerify.suspend(), transaction suspendue = {0}. -sqlstore.sql.concurrencyoptverify.update.exit=<-- ConcurrencyOptVerify.update(). -sqlstore.sql.concurrencyoptverify.update=--> ConcurrencyOptVerify.update(), beforeImage = {0}. -sqlstore.sql.generator.dbstatement.addbatch=addbatch ({0}) -sqlstore.sql.generator.dbstatement.bindinputcolumn=index bindInputColumn : {0}, valeur : {1}, sqlType : {2}. -sqlstore.sql.generator.dbstatement.executebatch=executeBatch ex\u00E9cutant {0} commandes -sqlstore.sql.generator.selectqueryplan.processforeignfield.exit=<-- SelectQueryPlan.processForeignFields(). -sqlstore.sql.generator.selectqueryplan.processforeignfield=--> SelectQueryPlan.processForeignFields(), classe = {0}. -sqlstore.sql.generator.selectqueryplan.processlocalfield.exit=<-- SelectQueryPlan.processLocalFields(). -sqlstore.sql.generator.selectqueryplan.processlocalfield=--> SelectQueryPlan.processLocalFields(), classe = {0}. -sqlstore.sql.generator.selectqueryplan.processstmts.exit=<-- SelectQueryPlan.processStatements(). -sqlstore.sql.generator.selectqueryplan.processstmts=--> SelectQueryPlan.processStatements(), classe = {0}, instructions = {1}. -sqlstore.sql.updateobjdescimpl.afterimagenull=AfterImage n'est pas d\u00E9fini. -sqlstore.sql.updateobjdescimpl.beforeimagenull=BeforeImage n'est pas d\u00E9fini. -sqlstore.sql.updateobjdescimpl.markrelationshipchange=<--> UpdateDesc.markRelationshipChange(). -sqlstore.sql.updateobjdescimpl.updated={0} est mis \u00E0 jour. - - -############################################################################### -# -# Message ID Range: JDO76400 - JDO76499 -############################################################################### -# -# -# -core.persistencestore.jdbcerror=JDO76400 : exception SQLException JDBC lors de l''ex\u00E9cution de l''instruction SQL :\n{0}.\nPour plus d''informations, examinez le message de l''exception. -sqlstore.retrievedesc.stmntsnotjoined=JDO76401 : instructions SQL multiples non prises en charge pour RetrieveDesc. -core.persistencestore.toofewrows=JDO76402 : la tentative d''obtention \u00E0 partir de la base de donn\u00E9es de la valeur pour l''association {1} de la classe {0} a renvoy\u00E9 un nombre de lignes inf\u00E9rieur au nombre autoris\u00E9 par la cardinalit\u00E9 de cette association. Le nombre minimal de lignes autoris\u00E9 est de {2}. -core.persistencestore.toomanyobjforcard1=JDO76403 : la base de donn\u00E9es n''est pas coh\u00E9rente avec le mod\u00E8le persistant. La tentative d''extraction de l''objet d\u00E9fini par l''association de {1} de la classe {0} a fourni {2} \u00E9l\u00E9ments, mais 1 seul \u00E9l\u00E9ment peut \u00EAtre trait\u00E9 car la limite sup\u00E9rieure de la cardinalit\u00E9 pour l''association est de 1. -core.persistencestore.toomanyrows=JDO76405 : la tentative d''obtention \u00E0 partir de la base de donn\u00E9es de la valeur pour l''association {1} de la classe {0} a renvoy\u00E9 un nombre de lignes sup\u00E9rieur au nombre autoris\u00E9 par la cardinalit\u00E9 de cette association. Le nombre maximal de lignes autoris\u00E9 est de {2}. -core.store.concurrentaccess=JDO76406 : exception d''acc\u00E8s simultan\u00E9 : l''objet vers {0} a d\u00E9j\u00E0 \u00E9t\u00E9 mis \u00E0 jour ou supprim\u00E9 par une autre transaction. -sqlstore.sqlstoremanager.errorcloseresultset=JDO76407 : erreur lors de la fermeture de l''ensemble de r\u00E9sultats SQL. Exception : {0} -sqlstore.sqlstoremanager.errorclosestatement=JDO76408 : erreur lors de la fermeture de l''instruction SQL. Exception : {0} -sqlstore.sql.generator.selectqueryplan.plansnotjoined=JDO76409 : plans de requ\u00EAtes multiples non pris en charge pour RetrieveDesc. - -# -# -# -sqlstore.sqlstoremanager.executeQuery.exit=<-- SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeQuery=--> SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeupdate.exit=<-- SQLStoreManager.executeUpdate(), lignes affect\u00E9es = {0}. -sqlstore.sqlstoremanager.executeupdate=--> SQLStoreManager.executeUpdate(). -sqlstore.sqlstoremanager.executeupdatebatch.addbatch={0} ; ajouter le batch. -sqlstore.sqlstoremanager.executeupdatebatch.exit=<-- SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.executeupdatebatch.exit.flush=<-- SQLStoreManager.executeUpdateBatch(), lignes affect\u00E9es = {0}. -sqlstore.sqlstoremanager.executeupdatebatch.flushbatch={0} ; vider le batch. -sqlstore.sqlstoremanager.executeupdatebatch=--> SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.getpersistenceconfig=<--> SQLStoreManager.getPersistenceConfig(), classType = {0}. -sqlstore.sqlstoremanager.selectnoncorrelated.exit=<-- SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.selectnoncorrelated=--> SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.vendortype=<--> SQLStoreManager : type de fournisseur = {0}. - - -############################################################################### -# -# Message ID Range: JDO76500 - JDO76599 -############################################################################### -# -# - database -# -connection.connectionmanager.badnew=JDO76500 : le nouvel \u00E9l\u00E9ment ''{0}'' doit \u00EAtre sup\u00E9rieur ou \u00E9gal \u00E0 l''\u00E9l\u00E9ment ''{1}'' actuel. -connection.connectionmanager.badvalue=JDO76501 : la valeur pour ''{0}'' n''est pas valide. -connection.connectionmanager.conntimeout=JDO76502 : fin du d\u00E9lai de connexion. -connection.connectionmanager.getconnection.mismatch=JDO76503 : la connexion mise en pool n'a pas le m\u00EAme contexte utilisateur. -connection.connectionmanager.isdown=JDO76504 : l'arr\u00EAt du gestionnaire de connexions est en cours. -connection.connectionmanager.maxpool=JDO76505 : le pool de connexions est \u00E0 son maximum. -connection.connectionmanager.msintervalvalue=JDO76506 : MsInterval doit \u00EAtre sup\u00E9rieur \u00E0 z\u00E9ro et inf\u00E9rieur ou \u00E9gal \u00E0 MsWait. -connection.connectionmanager.mswaitvalue=JDO76507 : MsWait doit \u00EAtre sup\u00E9rieur ou \u00E9gal \u00E0 z\u00E9ro. -connection.connectionmanager.nulldriver=JDO76508 : valeur NULL pour le nom du pilote. -connection.connectionmanager.nullurl=JDO76509 : valeur NULL pour l'URL. -connection.connectionmanager.poolsize=JDO76510 : 'maxPool' doit \u00EAtre sup\u00E9rieur ou \u00E9gal \u00E0 'minPool'. -connection.connectionmanager.threaditerupted=JDO76511 : thread interrompu. -connection.connectionmanager.zero=JDO76512 : ''{0}'' doit \u00EAtre sup\u00E9rieur ou \u00E9gal \u00E0 z\u00E9ro. -# -# -# -sqlstore.database.dbvendor.cantloadDefaultProperties=JDO76513\u00A0: impossible de charger les propri\u00E9t\u00E9s de la base de donn\u00E9es par d\u00E9faut. -sqlstore.database.dbvendor.init.default=JDO76514 : --> Impossible de charger la propri\u00E9t\u00E9 pour le type de fournisseur {0}. La valeur par d\u00E9faut va \u00EAtre utilis\u00E9e. -sqlstore.database.dbvendor.cantinstantiateclass=JDO76515 : \u00E9chec de l''instanciation de la classe {0}. -# -# -# -sqlstore.database.oracle.defineCol=JDO76516 : \u00E9chec de la d\u00E9finition d'une colonne pour l'instruction. -sqlstore.database.oracle.nooracleavailable=JDO76517 : \u00E9chec de l''obtention d''une instance oracle.jdbc.OraclePreparedStatement ou oracle.jdbc.driver.OraclePreparedStatement lors de l''initialisation de la fabrique de ressources Oracle ''{0}''. La fonction d''optimisation d''Oracle va \u00EAtre d\u00E9sactiv\u00E9e. Si des instances utilisant cette ressource exigent des valeurs de liaison pour les colonnes mapp\u00E9es \u00E0 la colonne ''Fixed Char'', les valeurs seront compl\u00E9t\u00E9es avec des espaces sur la longueur sp\u00E9cifi\u00E9e dans le fichier dbschema correspondant. -sqlstore.database.oracle.fixedcharpadded=JDO76518 : la valeur "{0}" est li\u00E9e \u00E0 une colonne CHAR. Une gestion particuli\u00E8re est requise pour Oracle. Etant donn\u00E9 que la classe OraclePreparedStatement n''a pas pu \u00EAtre extraite du pilote, la valeur est compl\u00E9t\u00E9e avec des espaces sur la longueur {1}, tel qu''indiqu\u00E9 dans le fichier dbschema captur\u00E9. -# -# -# -core.configuration.getvendortypefailed=JDO76519 : impossible d'identifier le type de fournisseur pour la banque de donn\u00E9es. -jdo.sqlpersistencemanagerfactory.errorgettingDatabaseInfo=JDO76520 : erreurs lors de l'obtention d'informations sur la base de donn\u00E9es. L'exception suivante s'est produite : - -# -# -# -sqlstore.connection.conncectiomgr.found=<--> ConnectionManager.getConnection : {0} trouv\u00E9. -sqlstore.connection.conncectiomgr.getnewconn=<--> ConnectionManager.getConnection : nouveau {0}. -sqlstore.connection.conncectiomgr.replacefreeconn=<--> ConnectionManager.replaceFreeConnection : {0} libre. -sqlstore.connectionimpl.clearxact.close=--- ConnectionImpl.clearXact : connexion ferm\u00E9e. -sqlstore.connectionimpl.clearxact.disassocxact=--- ConnectionImpl.clearXact : disassociateXact. -sqlstore.connectionimpl.clearxact=--- ConnectionImpl.clearXact :. -sqlstore.connectionimpl.close.connrelease=<--- ConnectionImpl.close : connexion lib\u00E9r\u00E9e. -sqlstore.connectionimpl.close.exit=<--- ConnectionImpl.close : connexion ferm\u00E9e. -sqlstore.connectionimpl.close.freepending=<--- ConnectionImpl.close : d\u00E9finir FreePending. -sqlstore.connectionimpl.close.putfreelist=<--- ConnectionImpl.close : plac\u00E9 dans freeList. -sqlstore.connectionimpl.close.replaced=<--- ConnectionImpl.close : connexion remplac\u00E9e. -sqlstore.connectionimpl.close=---> ConnectionImpl.close. -sqlstore.connectionimpl.close_arg=---> ConnectionImpl.close : {0}. -sqlstore.connectionimpl.commit=--- ConnectionImpl.commit : connexion ferm\u00E9e. -sqlstore.connectionimpl.finalize=--- ConnectionImpl.finalize : connexion ferm\u00E9e. -sqlstore.connectionimpl.internalcommit=--- ConnectionImpl.internalCommit :. -sqlstore.connectionimpl.pendingdisassocxact=--- ConnectionImpl.clearXact : disassociateXact en suspens. -sqlstore.connectionimpl.rollback.close=--- ConnectionImpl.rollback : connexion ferm\u00E9e. -sqlstore.connectionimpl.rollback=--- ConnectionImpl.rollback :. -# -# -# -sqlstore.database.dbvendor.castRequiredForNumericValues=<-> DBVendorType.isCastRequiredForNumericValues() : {0}. -sqlstore.database.dbvendor.getModFunctionName=<-> DBVendorType.getModFunctionName() : {0}. -sqlstore.database.dbvendor.getNullComparisonFunctionName=<-> DBVendorType.getNullComparisonFunctionName() : {0}. -sqlstore.database.dbvendor.getConcatCast=<-> DBVendorType.getConcatCast() : {0}. -sqlstore.database.dbvendor.getSpecialDBOperation=<-> DBVendorType.getSpecialDBOperation() : {0}. -sqlstore.database.dbvendor.getabs=<-> DBVendorType.getAbs() : {0}. -sqlstore.database.dbvendor.getcharlength=<-> DBVendorType.getCharLength() : {0}. -sqlstore.database.dbvendor.getforupdate=<-> DBVendorType.getForUpdate() : {0}. -sqlstore.database.dbvendor.getholdlock=<-> DBVendorType.getHoldlock() : {0}. -sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull() : {0}. -sqlstore.database.dbvendor.getisnull=<-> DBVendorType.getIsNull() : {0}. -sqlstore.database.dbvendor.getleftjoin=<-> DBVendorType.getLeftJoin() : {0}. -sqlstore.database.dbvendor.getleftjoinpost=<-> DBVendorType.getLeftJoinPost() : {0}. -sqlstore.database.dbvendor.getleftlikeescape=<-> DBVendorType.getLeftLikeEscape() : {0}. -sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}. -sqlstore.database.dbvendor.getposition3args=<-> DBVendorType.getPositionThreeArrgs() : {0}. -sqlstore.database.dbvendor.getposition=<-> DBVendorType.getPosition() : {0}. -sqlstore.database.dbvendor.getpositionin=<-> DBVendorType.getPositionIn() : {0}. -sqlstore.database.dbvendor.getpositionsrchsrc=<-> DBVendorType.getPositionSearchSource() : {0}. -sqlstore.database.dbvendor.getquotecharstart=<-> DBVendorType.getQuoteCharStart() : {0}. -sqlstore.database.dbvendor.getrightjoinipre=<-> DBVendorType.getRightJoin() : {0}. -sqlstore.database.dbvendor.getrightlikeescape=<-> DBVendorType.getRightLikeEscape() : {0}. -sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim() : {0}. -sqlstore.database.dbvendor.getrtrimpost=<-> DBVendorType.getRtrimPost() : {0}. -sqlstore.database.dbvendor.getsqrt=<-> DBVendorType.getSqrt() : {0}. -sqlstore.database.dbvendor.getstringconcat=<-> DBVendorType.getStringConcat() : {0}. -sqlstore.database.dbvendor.getsubstring=<-> DBVendorType.getSubstring() : {0}. -sqlstore.database.dbvendor.getsubstringfor=<-> DBVendorType.getSubstringFor() : {0}. -sqlstore.database.dbvendor.getsubstringfrom=<-> DBVendorType.getSubstringFrom() : {0}. -sqlstore.database.dbvendor.gettablelistend=<-> DBVendorType.getTableListEnd() : {0}. -sqlstore.database.dbvendor.gettableliststart=<-> DBVendorType.getTableListStart() : {0}. -sqlstore.database.dbvendor.isAnsiTrim=<-> DBVendorType.isAnsiTrim() : {0}. -sqlstore.database.dbvendor.isInlineNumeric=<-> DBVendorType.isInlineNumeric() : {0}. -sqlstore.database.dbvendor.isNativeOuterJoin=<-> DBVendorType.isNativeOuterJoin() : {0}. -sqlstore.database.dbvendor.isParameterCast=<-> DBVendorType.isParameterCast() : {0}. -sqlstore.database.dbvendor.isdistinctupdatelocksupported=<-> DBVendorType.isDistinctSupportedWithUpdateLock() : {0}. -sqlstore.database.dbvendor.islockcolumnlistsupported=<-> DBVendorType.isLockColumnListSupported() : {0}. -sqlstore.database.dbvendor.isupdatelocksupported=<-> DBVendorType.isUpdateLockSupported() : {0}. -sqlstore.database.dbvendor.mapemptystrtonull=<-> DBVendorType.mapEmptyStringToNull() : {0}. -sqlstore.database.dbvendor.overrideproperties.with=<-> DBVendorType.overrideProperties() : {0} avec : {1}. -sqlstore.database.dbvendor.overrideproperties=<-> DBVendorType.overrideProperties() - NONE. -sqlstore.database.dbvendor.supportslikeescape=<-> DBVendorType.supportsLikeEscape() : {0}. -sqlstore.database.dbvendor.vendorname=<-> DBVendorType(), vendorName : [{0}] vendorType : {1}. -# -# -# -sqlstore.transactionimpl.call.info={0} Tran[ {1} ].{2}: {3} for {4}. -sqlstore.transactionimpl.call={0} Tran[ {1} ].{2}:status = {3}, txType: {4} for {5}. -sqlstore.transactionimpl.closeconnection=--- TransactionImpl.closeConnection() {0} for {1}. -sqlstore.transactionimpl.general={0}. -sqlstore.transactionimpl.getconnection=--- TransactionImpl.getConnection(): {0} TX optimistic: {1} referenceCount = {2} for {3}. -sqlstore.transactionimpl.releaseconnection=--- TransactionImpl.releaseConnection(): TX optimistic: {0} Inside Commit: {1} referenceCount: {2} for {3}. -sqlstore.transactionimpl.rollbackconnection=--- TransactionImpl.rollbackConnection(): {0} for {1}. -sqlstore.transactionimpl.status={0} Tran[ {1} ].setStatus: {2} => {3} for {4}. - - -############################################################################### -# All the source files under subdir ejb. -# Message ID Range: JDO76600 - JDO76699 -############################################################################### -# -#EJBHelper messages -# -# {0} - method name -ejb.ejbhelper.nonmanaged=JDO76600 : vous ne pouvez pas appeler la m\u00E9thode {0} dans un environnement qui n''est pas g\u00E9r\u00E9. - -# -# Common messages between SunContainerHelper and DeploymentHelper -# so they have a neutral key, that still starts with "ejb". -# -# {0} - jndi name. -ejb.jndi.lookupfailed=JDO76604 : \u00E9chec de la recherche JNDI d''une ressource CMP ''{0}''. -JDO76604.diag.cause.1=La ressource CMP portant ce nom JNDI n'est pas inscrite aupr\u00E8s de cette instance. -JDO76604.diag.cause.2=Le nom JNDI de la ressource CMP est mal orthographi\u00E9. -JDO76604.diag.check.1=V\u00E9rifiez le nom JNDI de la ressource \u00E0 utiliser. -JDO76604.diag.check.2=V\u00E9rifiez le nom JNDI de la ressource CMP sp\u00E9cifi\u00E9e dans le module. - -# {0} - jndi name. -# {1} - returned class name. -ejb.jndi.unexpectedinstance=JDO76605 : la recherche JNDI d''une ressource CMP ''{0}'' a renvoy\u00E9 une instance de type inattendu : {1}. -JDO76605.diag.cause.1=La ressource CMP portant ce nom JNDI ne fait pas r\u00E9f\u00E9rence \u00E0 la ressource jdbc-resource ou persistence-manager-factory-resource. -JDO76605.diag.cause.2=Le nom JNDI de la ressource CMP est mal orthographi\u00E9. -JDO76605.diag.check.1=V\u00E9rifiez le nom JNDI de la ressource \u00E0 utiliser. -JDO76605.diag.check.2=V\u00E9rifiez le nom JNDI de la ressource CMP sp\u00E9cifi\u00E9e dans le module. - -# -# DeploymentHelper messages - ejb -# -# -# -# -ejb.DeploymentHelper.getconnection=Obtention de la connexion pour le nom JNDI ''{0}''. - -# The messages JDO76606 through JDO76615 that were originally here -# have been moved to -# cmp/support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties -# As part of INF# -# So do not use these messages. - - -# -#CMPHelper messages -# -ejb.cmphelper.nonmanaged=JDO76613 : acc\u00E8s non valide \u00E0 CMPHelper. Cette classe est utilis\u00E9e pour la prise en charge CMP uniquement et ne doit pas \u00EAtre appel\u00E9e en dehors du serveur d'applications. - -# -#SunTransactionHelper messages -# - -# {0} class name -ejb.SunTransactionHelper.wrongdatasourcetype=JDO76616 : dataSource ne correspond pas au type attendu. Attendu : com.sun.appserv.jdbc.DataSource, obtenu : {0}. - - -############################################################################### -# -############################################################################### -# -# -# -vendor=Sun Microsystems -# majorVersion (minorVersion) buildDate -fullVersion={0} ({1}) {2} -# -# -# -core.generic.unknownfield=Le champ {0} n''est pas un membre de la classe {1}. -core.generic.unknownexception=Exception inconnue g\u00E9n\u00E9r\u00E9e. -core.generic.nullparam=Le param\u00E8tre {0} est NULL. -core.generic.notinstanceof=L''objet de classe {0} n''est pas une instance de {1}. - - -############################################################################### -# -############################################################################### -core.configuration.cantloadclass=Echec du chargement de la classe {0}. -sqlstore.exception.log=Exception. -jdo.lifecycle.deleted.accessField=Impossible d'acc\u00E9der au champ d'une instance supprim\u00E9e. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_it.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_it.properties deleted file mode 100644 index c03830f31d3..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_it.properties +++ /dev/null @@ -1,643 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# Resource bundle for sqlstore runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Please note that many package names and classnames have changed over time. -# Unfortunately, this file was not maintained to follow above convention. -# Please ignore if the package/class name does not match actual names as today. -# -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 76. -# -# This file is divided into the following sections: -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# 1. JDO: PersistenceManagerFactory/PersistenceManager/ExtentCollection/LifeCycle -# 2. Model -# 3. StateManager -# 4. sql generator components: RetrieveDesc, ResultDesc plus all the files under generator subdir -# 5. SQLStoreManager -# 6. Connection/Connectionpool/Transaction/DBVendorType -# 7. EJB integration. -# 8. Generic messages. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -#################################################################################################### -# -# Message ID Range: JDO76000 - JDO76099 -#################################################################################################### -jdo.persistencemanagerfactoryimpl.getpersistencemanager.error=JDO76000: impossibile utilizzare pi\u00F9 combinazioni di nome utente/password nella stessa transazione. -jdo.persistencemanagerfactoryimpl.getpersistencemanager.notconfigured=JDO76001: PersistenceManagerFactory non configurato. -jdo.persistencemanagerfactoryimpl.notsupported=JDO76002: l'operazione non \u00E8 supportata per il PersistenceManagerFactoryImpl interno. -jdo.persistencemanagerimpl.acquireexclusivelock.interrupted=JDO76003: acquisizione del lock esclusivo non riuscita a causa di InterruptedException -jdo.persistencemanagerimpl.acquiresharelock.failed=JDO76004: acquisizione del lock condiviso non riuscita poich\u00E9 _readWriteCount \u00E8 minore di zero -jdo.persistencemanagerimpl.acquiresharelock.interrupted=JDO76005: acquisizione del lock condiviso non riuscita a causa di InterruptedException -jdo.persistencemanagerimpl.another_pm=JDO76006: l'oggetto \u00E8 associato a un altro Persistence Manager. -jdo.persistencemanagerimpl.assertactivetransaction.error=JDO76007: la transazione associata a questo Persistence Manager non \u00E8 attiva. -jdo.persistencemanagerimpl.assertclosed.closed=JDO76008: Persistence Manager \u00E8 chiuso. -jdo.persistencemanagerimpl.assertpersistencecapable.error=JDO76009: la classe {0} non \u00E8 stata migliorata per la trasparenza persistente. Usare il packager JAR o WAR dell''IDE per raggruppare le classi con funzionalit\u00E0 di persistenza prima dell''esecuzione. In alternativa, impostare la propriet\u00E0 Executor della classe principale su Persistence Executor per l''esecuzione dall''IDE. -jdo.persistencemanagerimpl.close.activetransaction=JDO76010: esiste una transazione aperta associata a questo Persistence Manager. -jdo.persistencemanagerimpl.fetchinstance.none=JDO76012: oggetto non trovato per questo ObjectId. -jdo.persistencemanagerimpl.internaldeletepersistent.transient=JDO76014: impossibile eliminare oggetto non persistente. -jdo.persistencemanagerimpl.internalmakepersistent.dups=JDO76015: un'istanza con la stessa chiave primaria esiste gi\u00E0 nella cache di PersistenceManager. -jdo.persistencemanagerimpl.loadclassforoid.wrongoidclass=JDO76016: errore durante il recupero della classe di oggetto da OID. -jdo.persistencemanagerimpl.newscoinstance.wrongclass=JDO76017: impossibile creare un''istanza SCO della classe {0} poich\u00E9 il tipo non \u00E8 valido. -jdo.persistencemanagerimpl.notprocessed=JDO76018: impossibile cancellare istanze persistenti a causa di dipendenze circolari. -jdo.persistencemanagerimpl.releaseexclusivelock.failed=JDO76019: impossibile rilasciare il lock esclusivo perch\u00E9 _readWriteCount \u00E8 maggiore di zero -jdo.persistencemanagerimpl.releasesharelock.failed=JDO76020: impossibile rilasciare il lock condiviso perch\u00E9 _readWriteCount \u00E8 pari a zero -jdo.persistencemanagerwrapper.invalidpm=JDO76021: PersistenceManagerWrapper \u00E8 chiuso. -jdo.extentcollection.constructor.invalidclass=JDO76022: classe ''{0}'' non valida per la raccolta di extent. -jdo.extentcollection.constructor.nonpc=JDO76023: la classe ''{0}'' non ha funzionalit\u00E0 di persistenza. -jdo.extentcollection.constructor.subclasses=JDO76024: classi secondarie di opzioni true non \u00E8 supportato per le raccolte di extent. -jdo.extentcollection.illegalmodification=JDO76025: modifica non valida della raccolta di extent per la classe ''{0}''. -jdo.extentcollection.methodnotsupported=JDO76026: metodo {0} di raccolta degli extent non supportato. -jdo.lifecycle.xactnotactive=JDO76027: per eseguire questa operazione \u00E8 necessaria una transazione attiva. -jdo.persistencemanagerimpl.newinstance.badsm=JDO76028: configurazione di StateManager non completa. -jdo.persistencemanagerimpl.setjtatransaction.notnulljta=JDO76029: tentativo di sostituire javax.transaction.Transaction: {0} non nulla con {1}. -jdo.persistencemanagerfactoryimpl.getpersistencemgr.closed=JDO76030: PersistenceManager per questa javax.transaction.Transaction: {0} \u00E8 gi\u00E0 chiuso o in fase di commit. -jdo.persistencemanagerfactoryimpl.registerpm.registered=JDO76031: questa istanza di javax.transaction.Transaction: {0} \u00E8 gi\u00E0 registrata con un altro PersistenceManager: {1}. -jdo.persistencemanagerimpl.verificationfailed=JDO76032: verifica dell'istanza di coerenza delle versioni a fronte del data store non riuscita. -jdo.persistencemanagerfactoryimpl.getversionconsistencycache.nullstore=JDO76033: StoreManager non configurato. - -# -# -# -sqlstore.state.lifecyclestate.changestate=LifeCycleState.changeState(), stato precedente = {0}, nuovo stato = {1}. -sqlstore.state.lifecyclestate.initial=LifeCycleState.getLifeCycleState(), stato iniziale = {0}. - -# -# -# -sqlstore.persistencemgr.acquireexclusivelock.count=acquireExclusiveLock(), thread {0} con _readWriteCount = {1}. -sqlstore.persistencemgr.acquireexclusivelock=acquireExclusiveock(), thread {0} in prospettiva di attesa. -sqlstore.persistencemgr.acquiresharedlock.rdwrcount=acquireShareLock(), il thread {0} ha acquisito il lock condiviso con _readWriteCount ={1}. -sqlstore.persistencemgr.acquiresharedlock=acquireShareLock(), thread {0} in prospettiva di attesa. -sqlstore.persistencemgr.aftercompletion.process=---PersistenceManagerImpl.afterCompletion() process: {0}. -sqlstore.persistencemgr.aftercompletion=---PersistenceManagerImpl.afterCompletion() abort: {0}. -sqlstore.persistencemgr.assertactivetx.closed=--- PersistenceManagerImpl.assertActiveTransaction: Closed for {0}. -sqlstore.persistencemgr.assertactivetx=--- PersistenceManagerImpl.assertActiveTransaction: {0}. -sqlstore.persistencemgr.assertisopen=--- PersistenceManagerImpl.assertIsOpen: chiuso per {0}. -sqlstore.persistencemgr.beforecompletion=---PersistenceManagerImpl.beforeCompletion(). -sqlstore.persistencemgr.cacheproperties=Propriet\u00E0 cache PersistenceManagerImpl: _txCacheInitialCapacity={0}, _flushedCacheInitialCapacity={1}, _flushedCacheLoadFactor={2}, _weakCacheInitialCapacity={3}, _weakCacheLoadFactor={4}. -sqlstore.persistencemgr.deregisterinstance.verified=---PersistenceManagerImpl.deregisterInstance() -- deregistered with verify. -sqlstore.persistencemgr.deregisterinstance.verify=---PersistenceManagerImpl.deregisterInstance() with verify SM -- oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.deregisterinstance=---PersistenceManagerImpl.deregisterInstance() oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getbyobjid=---PersistenceManagerImpl.getObjectById() OID:{0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getcurrentwrapper=---PersistenceManagerImpl.getCurrentWrapper() > current: {0}. -sqlstore.persistencemgr.getobjid.notpc=---PersistenceManagerImpl.getObjectId() NOT PC: {0} for PersistenceManager: {1}. -sqlstore.persistencemgr.getobjid.notpm=---PersistenceManagerImpl.getObjectId() NOT PM: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getobjid= :{0} ---PersistenceManagerImpl.getObjectId() PC: {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.internalcloneoid.old=---PersistenceManagerImpl.internalCloneOid(): old: {0} new: {1} same: {2}. -sqlstore.persistencemgr.internalcloneoid=---PersistenceManagerImpl.internalCloneOid() errore: {0}. -sqlstore.persistencemgr.isactivetx=---PersistenceManagerImpl.isActiveTransaction(): {0}. -sqlstore.persistencemgr.isnontxread=---PersistenceManagerImpl.isNontransactionalRead(): {0}. -sqlstore.persistencemgr.isoptimistic=---PersistenceManagerImpl.isOptimisticTransaction(): {0}. -sqlstore.persistencemgr.loadingclass=Caricamento in corso... Nome classe: {0}. -sqlstore.persistencemgr.loadingfile=Caricamento in corso... Nome file: {0} {1} {2}. -sqlstore.persistencemgr.makepersistent.done=---PersistenceManagerImpl.makePersistent() {0} finished for: {1} and JTA: {2}. -sqlstore.persistencemgr.makepersistent= {0} ---PersistenceManagerImpl.makePersistent() PC: {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.newcollection=---PersistenceManagerImpl.newCollectionInstanceInternal() type: {0}. -sqlstore.persistencemgr.popcurrentwrapper=---PersistenceManagerImpl.popCurrentWrapper() > current: {0} prev: {1}. -sqlstore.persistencemgr.pushcurrentwrapper=---PersistenceManagerImpl.pushCurrentWrapper() > current: {0} new: {1}. -sqlstore.persistencemgr.registerinstance= {0} ---PersistenceManagerImpl.registerInstance() oid/sm: {1}/{2} for PersistenceManager: {3} and JTA: {4}. -sqlstore.persistencemgr.registerinstancein_txc=registerInstance in TXC :{0} / {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.registerinstancein_wkc=registerInstance in WKC. -sqlstore.persistencemgr.releaseexclusivelock=releaseExclusiveock(), thread {0} con _readWriteCount = {1}. -sqlstore.persistencemgr.releasesharedlock=releaseShareLock(), thread {0} con _readWriteCount = {1}. -sqlstore.persistencemgr.replacingdeletedinstance=Sostituzione dell''istanza eliminata con una nuova per l''ID oggetto: {0}. -sqlstore.persistencemgr.setkeyfields=---PersistenceManagerImpl.setKeyFields() errore: {0}. -# -# -# -sqlstore.sqlpersistencemgrfactory.getfrompool.pmt=<--SQLPersistenceManagerFactory.getFromPool() PM: {0} for JTA {1}. -sqlstore.sqlpersistencemgrfactory.getfrompool=<--SQLPersistenceManagerFactory.getFromPool(). -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.found= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() ha trovato javax.transaction. Transazione: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx.notfound=<->SQLPersistenceManagerFactory.getPersistenceManager() non ha trovato la transazione JDO. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx=<->SQLPersistenceManagerFactory.getPersistenceManager() JDO Transaction: {0}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmclosedfor= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() PM \u00E8 chiuso per: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmt= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() : {1} for JTA: {2}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr=:{0} -->SQLPersistenceManagerFactory.getPersistenceManager(). -sqlstore.sqlpersistencemgrfactory.init=---SQLPersistenceManagerFactory.initialize(). -sqlstore.sqlpersistencemgrfactory.pmCacheBucketSize=---SQLPersistenceManagerFactory pmCacheBucketSize = {0}. -sqlstore.sqlpersistencemgrfactory.pmCacheInitialCapacity=---SQLPersistenceManagerFactory pmCacheInitialCapacity = {0}. -sqlstore.sqlpersistencemgrfactory.registerpersistencemgr.pmt=<->SQLPersistenceManagerFactory.registerPersistenceManager() PM: {0} for JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.releasepm.pmt=---SQLPersistenceManagerFactory.releasePersistenceManager() PM:{0} for JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.returnToPool=<--SQLPersistenceManagerFactory.returnToPool(). - - -############################################################################### -# -# Message ID Range: JDO76100 - JDO76199 -############################################################################### -core.configuration.columnnotable=JDO76100: il descrittore della colonna non dispone di un descrittore tabella valido. -core.configuration.fieldnotable=JDO76101: il campo {0} non \u00E8 associato ad alcuna tabella. -core.configuration.fieldnotmapped=JDO76102: il campo persistente {0} per la classe {1} non \u00E8 mappato. -core.configuration.iddescnofield=JDO76103: l'oggetto SqlIDDesc non \u00E8 stato impostato correttamente. Nessun descrittore di campo disponibile. -core.configuration.loadfailed.class=JDO76104: caricamento della configurazione per la classe {0} non riuscito. -core.configuration.noneexistentpkfield=JDO76105: il campo {0} nella classe ObjectId {1} non esiste nella classe PersistenceCapable {2}. -core.configuration.unsupportedconsistencylevel=JDO76106: la classe {0} ha un livello di coerenza non supportato. I livelli di coerenza supportati al momento sono "none", "check-modified-at-commit", "lock-when-loaded" e "check-version-of-accessed-instances". -core.configuration.validationfailed=JDO76107: il mapping per la classe {0} non \u00E8 valido:\n{1}. -core.configuration.validationproblem=JDO76108: errore di convalida nella classe {0}: {1} -# -# -# -core.fielddesc.minvalue=JDO76109: il valore: {0} \u00E8 minore del minimo consentito: {1} per il tipo di campo {2}. -core.fielddesc.maxvalue=JDO76110: il valore: {0} \u00E8 maggiore del massimo consentito: {1} per il tipo di campo {2}. -core.configuration.noneexistentvcfield=JDO76111: il campo {0} \u00E8 contrassegnato come campo versione ma non esiste nella classe PersistenceCapable {1}. -core.configuration.loadfailed.field=JDO76112: caricamento della configurazione per il campo {0} nella classe {1} non riuscito. - -# -# -# -sqlstore.model.classdesc.assocrelatedfield=campo relazione associato = {0}. -sqlstore.model.classdesc.createsqldesc=creazione SqlIDDesc da {0}. -sqlstore.model.classdesc.fieldinfo=nome campo = {0}, ID = {1}. -sqlstore.model.classdesc.general={0}.{1} =>{2} -sqlstore.model.classdesc.getlocalfielddesc=<-> SqlPersistenceDesc.getLocalFieldDesc(), classe ={0}, aggiunto campo nascosto {1} per la colonna {2}. -sqlstore.model.classdesc.loadedclass=Caricamento della classe OID = {0} riuscito. -sqlstore.model.classdesc.persistconfiginit.exit=<-- SqlPersistenceConfig.initialize(). -sqlstore.model.classdesc.persistconfiginit=--> SqlPersistenceConfig.initialize(), classe = {0}. -sqlstore.model.classdesc.pkfield=Campo PK = {0}. -sqlstore.model.classdesc.primarytrackedfield=il campo {0} \u00E8 il campo registrato primario. -sqlstore.model.classdesc.unsetconcurrencychk=annullamento dell''impostazione della propriet\u00E0 IN_CONCURRENCY_CHECK per lf {0}. -sqlstore.model.classdesc.unsetrefintegrityupdate=annullamento dell''impostazione della propriet\u00E0 REF_INTEGRITY_UPDATES per ff {0}. -sqlstore.model.classdesc.vcfield=Campo coerenza versione = {0}. -sqlstore.model.fielddesc.addingfield=aggiunta del campo {0} da registrare mediante il campo {1}. -sqlstore.model.fielddesc.convertvalue.from_to=convertValue: {0} da: {1} in: {2}. -sqlstore.model.fielddesc.convertvalue.hidden=convertValue: {0} nascosto... torna. -sqlstore.model.fielddesc.convertvalue=convertValue: NULL... restituisce. -sqlstore.model.fielddesc.fieldname={0} = {1}. -sqlstore.model.fielddesc.setupdesc=setupDesc(): fieldName {0} fieldType {1}. -sqlstore.model.configcacheimpl.size_before=dimensione {0} prima del cleanup: {1}. -sqlstore.model.configcacheimpl.size_after=dimensione {0} dopo il cleanup: {1}. - - -############################################################################### -# -# Message ID Range: JDO76200 - JDO76299 -############################################################################### -core.statemanager.anotherowner=JDO76200: impossibile assegnare istanza SCO di propriet\u00E0 di un altro oggetto. -core.statemanager.cantnewoid=JDO76201: creazione di una nuova istanza di chiave primaria della classe {0} non riuscita. -core.statemanager.cantschedulejointable=JDO76202: pianificazione della voce della tabella dei collegamenti tra la classe {0} e {1} non riuscita. La descrizione del campo relazione \u00E8 nulla. -core.statemanager.cantsetkeyfield=JDO76203: impostazione del valore per il campo chiave primaria {0} non riuscita. -core.statemanager.conflictingvalues=JDO76204: conflitto di valori tra il campo {0} e il campo {1} mappati nella stessa colonna -core.statemanager.getfieldfailed=JDO76205: tentativo di ottenere il campo non riuscito. -core.statemanager.invalidpk=JDO76206: campo chiave primaria nullo non valido {0} durante il ricaricamento di un''istanza di una classe con funzionalit\u00E0 di persistenza {1}. L''ObjectId dell''istanza \u00E8 {2}. -core.statemanager.nopkupdate=JDO76207: aggiornamento di un campo chiave primaria non consentito. -core.statemanager.nopm=JDO76208: lo State Manager non contiene riferimenti al Persistence Manager. -core.statemanager.notnavigable=JDO76209: si \u00E8 verificato un tentativo di accesso al campo {0} della classe {1}. In precedenza non \u00E8 stata creata un''istanza di questo campo e questa classe non consente la navigazione dinamica. \u00C8 necessario richiedere il campo al momento del recupero della classe oppure consentire la navigazione dinamica in modo da consentire il recupero automatico all''accesso. -core.statemanager.objectnotfound=JDO76210: l'oggetto non esiste nel data store. -core.statemanager.poshiddenindex=JDO76211: l''indice di un campo nascosto deve essere negativo, ma \u00E8 stato ottenuto l''indice {0}. -core.statemanager.readonly=JDO76212: \u00E8 stato eseguito un tentativo di modificare il campo di sola lettura {0} della classe {1}. -core.statemanager.releaselock.wrongthread=JDO76213: questo thread {0} non contiene il lock StateManager. -core.statemanager.setfieldfailed=JDO76214: impostazione del campo non riuscita. -core.statemanager.wrongusageforoverlappingpkfkdelete=JDO76215: tentativo errato di rimuovere un'istanza da una relazione gestita. La relazione \u00E8 definita da una colonna chiave primaria sull'altro lato. Le operazioni di rimozione su una raccolta richiedono l'aggiornamento della colonna sull'altro lato, ma l'aggiornamento della chiave primaria non \u00E8 consentito. Per questo motivo, la rimozione di un'istanza da una raccolta di relazioni gestite definita da una chiave primaria pu\u00F2 essere eseguita solo eliminando l'istanza, in modo esplicito o mediante l'eliminazione a catena. -core.statemanager.toomanyrows=JDO76215: restituite pi\u00F9 righe per una delle tabelle mappate alla classe {0}. Ogni tabella mappata a una classe deve avere solo una riga per ogni istanza dell''oggetto. -core.statemanager.copyFields.mismatch=JDO76216: tentativo di copia di campi tra StateManager che gestiscono istanze di tipi diversi: {0} e {1}. - -# -# -# -sqlstore.sqlstatemanager.adddependency=<-> SQLStateManager.addDependency(), questo StateManager: {0}, altro StateManager: {1}. -sqlstore.sqlstatemanager.addupdate=<-> SQLStateManager.addUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.applyupdates.exit=<-- SqlStateManager.applyUpdates(). -sqlstore.sqlstatemanager.applyupdates=--> SqlStateManager.applyUpdates(), campo = {0}. -sqlstore.sqlstatemanager.clearpersistencefields.exit=<--- SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.clearpersistencefields=--> SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.copychanges.exit=<-- SQLStateManager.copyChanges(). -sqlstore.sqlstatemanager.copychanges=--> SQLStateManager.copyChanges(), State Manager = {0}. -sqlstore.sqlstatemanager.deletepersistence=<-> SqlStateManager.deletePersistence(), tipo = {0}. -sqlstore.sqlstatemanager.getbeforeimage.exit=<-- SqlStateManager.getBeforeImage(). -sqlstore.sqlstatemanager.getbeforeimage=--> SqlStateManager.getBeforeImage(), tipo = {0}. -sqlstore.sqlstatemanager.isbeforeimagerequired=isBeforeImageRequired \u00E8: {0}. -sqlstore.sqlstatemanager.loadforread.exit=<-- SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforread=--> SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforupdate.exit=<-- SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loadforupdate=--> SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loggingfield=registrazione campo = {0} con il valore = {1}. -sqlstore.sqlstatemanager.makedirty.fixscocollection=--- SqlStateManager.makeDirty(), correzione di SCOCollection. -sqlstore.sqlstatemanager.makedirty.fixscodate=--- SqlStateManager.makeDirty(), correzione di SCODate. -sqlstore.sqlstatemanager.makedirty=--> SqlStateManager.makeDirty(), campo = {0}. -sqlstore.sqlstatemanager.makedirtyfield=Campo contrassegnato come non corretto = {0}. -sqlstore.sqlstatemanager.makepersistence=<-> SqlStateManager.makePersistence(), tipo = {0}. -sqlstore.sqlstatemanager.makepresent=--> SqlStateManager.makePresent(), campo = {0}. -sqlstore.sqlstatemanager.marking=Contrassegno di: {0} come presente. -sqlstore.sqlstatemanager.newtype=Nuovo tipo: {0}. -sqlstore.sqlstatemanager.nosuchmethodexcep.clone=Eccezione: copia di {0}... per il tipo {1}. -sqlstore.sqlstatemanager.preparegetfield.exit=<-- SqlStateManager.prepareGetField(). -sqlstore.sqlstatemanager.preparegetfield=--> SqlStateManager.prepareGetField(), nome = {0}. -sqlstore.sqlstatemanager.preparesetfield.exit=<-- SQLStateManager.prepareSetField(). -sqlstore.sqlstatemanager.preparesetfield=--> SQLStateManager.prepareSetField(), nome = {0}. -sqlstore.sqlstatemanager.preparetoupdateph1.exit=<-- SqlStateManager.prepareToUpdateI(). -sqlstore.sqlstatemanager.preparetoupdateph1=--> SqlStateManager.prepareToUpdatePhaseI(), tipo = {0}. -sqlstore.sqlstatemanager.preparetoupdateph2.exit=<-- SqlStateManager.prepareToUpdateII(). -sqlstore.sqlstatemanager.preparetoupdateph2=--> SqlStateManager.prepareToUpdatePhaseII(), tipo = {0}. -sqlstore.sqlstatemanager.preparetoupdateph3.exit=<-- SqlStateManager.prepareToUpdateIII(). -sqlstore.sqlstatemanager.preparetoupdateph3=--> SqlStateManager.prepareToUpdatePhaseIII(), tipo = {0}. -sqlstore.sqlstatemanager.prepareupdatefield.exit=<-- SQLStateManager.prepareUpdateField(). -sqlstore.sqlstatemanager.prepareupdatefield=--> SQLStateManager.prepareUpdateField(), nome = {0} per lo stato: {1}. -sqlstore.sqlstatemanager.prepareupdatefieldspl.exit=<-- SQLStateManager.prepareUpdateFieldSpecial(). -sqlstore.sqlstatemanager.prepareupdatefieldspl=--> SQLStateManager.prepareUpdateFieldSpecial, nome = {0} per lo stato: {1}. -sqlstore.sqlstatemanager.processcollectionupdate.exit=<-- SQLStateManager.processCollectionUpdates(). -sqlstore.sqlstatemanager.processcollectionupdate=--> SQLStateManager.processCollectionUpdates(), beforeList={0}, afterlist={1}. -sqlstore.sqlstatemanager.processforeign=campo esterno processo ={0}. -sqlstore.sqlstatemanager.processforeignfield.remove=-- SQLStateManager.processForeignField(): era Collection - rimosso. -sqlstore.sqlstatemanager.processforeignfield.remove_from_bi=-- SQLStateManager.processForeignField(): \u00E8 SCOCollection - rimosso da BI. -sqlstore.sqlstatemanager.processforeignfield.reset=-- SQLStateManager.processForeignField(): era SCOCollection - reimpostato. -sqlstore.sqlstatemanager.processforeignfield=-- SQLStateManager.processForeignField(): valore: {0} tipo: {1}. -sqlstore.sqlstatemanager.realizefield.exit=<-- SqlStateManager.realizeField(). -sqlstore.sqlstatemanager.realizefield=--> SqlStateManager.realizeField(), nome = {0}. -sqlstore.sqlstatemanager.realizeforeignfield.exit=<-- SqlStateManager.realizeField(), campo realizzato = {0}. -sqlstore.sqlstatemanager.realizeforeignfield=--> SqlStateManager.realizeField(), nome = {0}. -sqlstore.sqlstatemanager.recordingfield=registrazione del campo = {0}. -sqlstore.sqlstatemanager.refreshpersistent.exit=<-- SqlStateManager.refreshPersistent(). -sqlstore.sqlstatemanager.refreshpersistent=--> SqlStateManager.refreshPersistence(), tipo = {0}. -sqlstore.sqlstatemanager.reload.exit=<-- SqlStateManager.reload(FieldDesc). -sqlstore.sqlstatemanager.reload=--> SqlStateManager.reload(FieldDesc), tipo = {0}, campo = {1}. -sqlstore.sqlstatemanager.removeupdate=<-> SQLStateManager.removeUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.replaceobjectfield.unsetsco=-- SqlStateManager.replaceObjectField(), annullamento impostazione SCO. -sqlstore.sqlstatemanager.replaceobjectfield=-- SqlStateManager.replaceObjectField(), campo = {0}, tipo = {1}. -sqlstore.sqlstatemanager.reset=--> SqlStateManager.reset(), retValues = {0}, wasNew: {1}, keepState: {2}. -sqlstore.sqlstatemanager.resettingcollection=Reimpostazione raccolta. -sqlstore.sqlstatemanager.resettingdate=Reimpostazione data. -sqlstore.sqlstatemanager.resolvedependencies=<-> SQLStateManager.resolveDependencies(), oggetto = {0}. -sqlstore.sqlstatemanager.resolvedependency=<-> SQLStateManager.resolveDependency(), dipendenza risolta: lobj={0}, f={1}, fobj={2}. -sqlstore.sqlstatemanager.retrieve.exit=<-- SqlStateManager.retrieve(). -sqlstore.sqlstatemanager.retrieve=--> SqlStateManager.retrieve(), nome = {0}. -sqlstore.sqlstatemanager.retrieveforeign.exit=<-- SqlStateManager.retrieveForeign(). -sqlstore.sqlstatemanager.retrieveforeign=--> SqlStateManager.retrieveForeign(), nome = {0}. -sqlstore.sqlstatemanager.unsetmask=annullamento dell''impostazione delle maschere per il campo = {0}. -sqlstore.sqlstatemanager.unconditionalreload.exit=<-- SqlStateManager.reload(). -sqlstore.sqlstatemanager.unconditionalreload=--> SqlStateManager.reload(), tipo = {0}. -sqlstore.sqlstatemanager.updatebeforeimage=<-> SQLStateManager.updateBeforeImage(), nome = {0}, valore = {1}. -sqlstore.sqlstatemanager.updateobjfield.exit=<-- SQLStateManager.updateObjectField(). -sqlstore.sqlstatemanager.updateobjfield=--> SQLStateManager.updateObjectField(), nome = {0}, tipo = {1}. -sqlstore.sqlstatemanager.updatepersistent.exit=<-- SqlStateManager.updatePersistent(). -sqlstore.sqlstatemanager.updatepersistent.immediateflush=<--> SqlStateManager.updatePersistent(), richiesto flush immediato: oggetto ={0}, successivo ={1}. -sqlstore.sqlstatemanager.updatepersistent.skipped=<--> SqlStateManager.updatePersistent() saltato, tipo ={0}, oggetto = {1}. -sqlstore.sqlstatemanager.updatepersistent=--> SqlStateManager.updatePersistent(), tipo = {0}. -sqlstore.sqlstatemanager.updatetrackedfields.exit=<-- updateTrackedFields(). -sqlstore.sqlstatemanager.updatetrackedfields=--> updateTrackedFields(), f = {0} valore = {1} fieldToIgnore = {2}. - - -############################################################################### -# -# Message ID Range: JDO76300 - JDO76399 -############################################################################### -core.constraint.duporderby=JDO76300: il vincolo \u00E8 di tipo \\"order by\\" per il campo {0} che \u00E8 gi\u00E0 specificato in un vincolo \\"order by\\". -core.constraint.fielddisallowed=JDO76301: \u00E8 stato specificato il parametro fieldName, non consentito con l''operazione {0}. -core.constraint.fieldrequired=JDO76302: parametro fieldName mancante, ma l''operazione {0} richiede un campo. -core.constraint.illegalParameterInfo=JDO76303: addConstraint() per OP_PARAMETER deve essere richiamato con valore di tipo ParameterInfo. -core.constraint.illegalnode=JDO76304: nodo di vincolo non valido {0} nello stack SqlConstraint. -core.constraint.illegalop=JDO76305: il parametro dell''operazione conteneva un valore {0} non valido. -core.constraint.needfieldnamenode=JDO76306: errore nello stack del vincolo. \u00C8 previsto un nome di campo. -core.constraint.needfieldnode=JDO76307: errore nello stack del vincolo. \u00C8 prevista una descrizione di campo. -core.constraint.needvalnode=JDO76308: errore nello stack del vincolo. \u00C8 previsto un valore. -core.constraint.stackempty=JDO76309: lo stack del vincolo \u00E8 vuoto -- valori non sufficienti per il numero dell'operatore. -core.constraint.unknownfield=JDO76310: il campo {0} specificato nel descrittore di recupero non \u00E8 un membro della classe {1}. -core.constraint.valdisallowed=JDO76311: \u00E8 stato specificato il parametro value, non consentito con l''operazione {0}. -core.constraint.valrequired=JDO76312: parametro value mancante, ma l''operazione {0} richiede un valore. -sqlstore.resultdesc.errorgettingvalefromresulset=JDO76313: errore durante il tentativo di ottenere il valore da resultset all''indice {0} come resultType {1}. columnSqlType {2}. Eccezione: {3} -sqlstore.resultdesc.foreignfieldprojection=JDO76314: le query relative a {0} non devono avere proiezioni su un campo relazione. -sqlstore.resultdesc.unknownfieldtype=JDO76317: riscontrato tipo di campo sconosciuto {0}. -sqlstore.retrievedesc.toomanyprojections=JDO76318: impossibile impostare pi\u00F9 proiezioni per RetrieveDesc. -sqlstore.retrievedesc.toomanyresulttypes=JDO76319: impossibile impostare pi\u00F9 tipi di risultati per RetrieveDesc. -sqlstore.selectstatement.noupdatelocksupport=JDO76320: uno dei tipi di oggetto previsti in questa query \u00E8 al livello di coerenza "lock-when-loaded". L'applicazione di questo livello di coerenza richiede che il data store supporti il blocco per l'aggiornamento a livello di riga. Il data store non supporta il blocco per l'aggiornamento a livello di riga. -sqlstore.sql.generator.statement.likeescapenotsupported=JDO76321: la clausola LIKE ESCAPE non \u00E8 supportata in questo database. -sqlstore.sql.generator.statement.positionthreeargsnotsupported=JDO76322: il terzo argomento per la clausola POSITION deve essere 1. -core.configuration.classnotmapped=JDO76323: la classe {0} non \u00E8 mappata. -core.configuration.classnotmappedtotable=JDO76324: la classe {0} non \u00E8 mappata alla tabella {1}. -sqlstore.sql.generator.statement.unexpectedconstraint=JDO76325: un vincolo per un''operazione {0} non pu\u00F2 mai essere la radice di una clausola WHERE. - -# -# Following messages are used within other messages. They need to be i18ned but need not be numbered. -# -sqlstore.sql.generator.statement.sqlStatement=Istruzione SQL -sqlstore.sql.generator.statement.withinputvalues= valori di input: -sqlstore.sql.generator.statement.withnoinputvalues= nessun valore di input. - - -# -# -# -sqlstore.resultdesc.deserializing=deserializzazione = {0}. -sqlstore.resultdesc.marking_field=campo locale {0} contrassegnato come presente. -sqlstore.resultdesc.marking_foreign_field=campo esterno {0} contrassegnato come presente. -sqlstore.resultdesc.marking_key_field=campo chiave {0} contrassegnato come presente. -sqlstore.resultdesc.returning_field=restituzione del campo {0} come proiezione. -# -# -# -sqlstore.sql.concurrency.concurrencychkdirty.exit=--> ConcurrencyCheckDirty.update(). -sqlstore.sql.concurrency.concurrencychkdirty=--> ConcurrencyCheckDirty.update(), beforeImage = {0}. -sqlstore.sql.concurrencyoptverify.resumetx=<--> ConcurrencyOptVerify.resume(), transazione ripresa = {0}. -sqlstore.sql.concurrencyoptverify.suspendtx=<--> ConcurrencyOptVerify.suspend(), transazione sospesa = {0}. -sqlstore.sql.concurrencyoptverify.update.exit=<-- ConcurrencyOptVerify.update(). -sqlstore.sql.concurrencyoptverify.update=--> ConcurrencyOptVerify.update(), beforeImage = {0}. -sqlstore.sql.generator.dbstatement.addbatch=addbatch ({0}) -sqlstore.sql.generator.dbstatement.bindinputcolumn=Indice bindInputColumn: {0}, valore: {1}, sqlType: {2}. -sqlstore.sql.generator.dbstatement.executebatch=executeBatch esegue {0} comando/i -sqlstore.sql.generator.selectqueryplan.processforeignfield.exit=<-- SelectQueryPlan.processForeignFields(). -sqlstore.sql.generator.selectqueryplan.processforeignfield=--> SelectQueryPlan.processForeignFields(), classe = {0}. -sqlstore.sql.generator.selectqueryplan.processlocalfield.exit=<-- SelectQueryPlan.processLocalFields(). -sqlstore.sql.generator.selectqueryplan.processlocalfield=--> SelectQueryPlan.processLocalFields(), classe = {0}. -sqlstore.sql.generator.selectqueryplan.processstmts.exit=<-- SelectQueryPlan.processStatements(). -sqlstore.sql.generator.selectqueryplan.processstmts=--> SelectQueryPlan.processStatements(), classe = {0}, istruzioni = {1}. -sqlstore.sql.updateobjdescimpl.afterimagenull=AfterImage non impostato. -sqlstore.sql.updateobjdescimpl.beforeimagenull=BeforeImage non impostato. -sqlstore.sql.updateobjdescimpl.markrelationshipchange=<--> UpdateDesc.markRelationshipChange(). -sqlstore.sql.updateobjdescimpl.updated={0} \u00E8 aggiornato. - - -############################################################################### -# -# Message ID Range: JDO76400 - JDO76499 -############################################################################### -# -# -# -core.persistencestore.jdbcerror=JDO76400: rilevata una SQLException di JDBC durante l''esecuzione dell''istruzione SQL:\n{0}.\nEsaminare la SQLException per ulteriori informazioni. -sqlstore.retrievedesc.stmntsnotjoined=JDO76401: istruzioni SQL multiple non supportate per una RetrieveDesc. -core.persistencestore.toofewrows=JDO76402: \u00E8 stato restituito un numero di righe inferiore dal database nel tentativo di ottenere il valore dall''associazione {1} della classe {0} rispetto alla cardinalit\u00E0 consentita da questa associazione. Il numero minimo di righe consentito \u00E8 {2}. -core.persistencestore.toomanyobjforcard1=JDO76403: database non coerente con il modello persistente. Un tentativo di recuperare l''oggetto a cui fa riferimento l''associazione {1} della classe {0} ha recuperato {2} elementi, ma pu\u00F2 esserne gestito solo 1, poich\u00E9 il limite superiore di cardinalit\u00E0 per l''associazione \u00E8 1. -core.persistencestore.toomanyrows=JDO76405: \u00E8 stato restituito un numero di righe superiore dal database nel tentativo di ottenere il valore per l''associazione {1} della classe {0} rispetto alla cardinalit\u00E0 consentita da questa associazione. Il numero massimo di righe consentito \u00E8 {2}. -core.store.concurrentaccess=JDO76406: eccezione di accesso concorrente: l''oggetto relativo a {0} \u00E8 stato aggiornato o eliminato da un''altra transazione. -sqlstore.sqlstoremanager.errorcloseresultset=JDO76407: errore durante la chiusura del set di risultati SQL. Eccezione: {0} -sqlstore.sqlstoremanager.errorclosestatement=JDO76408: errore durante la chiusura dell''istruzione SQL. Eccezione: {0} -sqlstore.sql.generator.selectqueryplan.plansnotjoined=JDO76409: piani query multipli non supportati per una RetrieveDesc. - -# -# -# -sqlstore.sqlstoremanager.executeQuery.exit=<-- SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeQuery=--> SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeupdate.exit=<-- SQLStoreManager.executeUpdate(), righe interessate = {0}. -sqlstore.sqlstoremanager.executeupdate=--> SQLStoreManager.executeUpdate(). -sqlstore.sqlstoremanager.executeupdatebatch.addbatch={0}; aggiungere un batch. -sqlstore.sqlstoremanager.executeupdatebatch.exit=<-- SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.executeupdatebatch.exit.flush=<-- SQLStoreManager.executeUpdateBatch(), righe interessate = {0}. -sqlstore.sqlstoremanager.executeupdatebatch.flushbatch={0}; svuotare il batch. -sqlstore.sqlstoremanager.executeupdatebatch=--> SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.getpersistenceconfig=<--> SQLStoreManager.getPersistenceConfig(), classType = {0}. -sqlstore.sqlstoremanager.selectnoncorrelated.exit=<-- SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.selectnoncorrelated=--> SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.vendortype=<--> SQLStoreManager: tipo di fornitore = {0}. - - -############################################################################### -# -# Message ID Range: JDO76500 - JDO76599 -############################################################################### -# -# - database -# -connection.connectionmanager.badnew=JDO76500: nuovo/a ''{0}'' deve essere maggiore o uguale al/alla ''{1}'' corrente. -connection.connectionmanager.badvalue=JDO76501: valore non valido per ''{0}''. -connection.connectionmanager.conntimeout=JDO76502: timeout di connessione scaduto. -connection.connectionmanager.getconnection.mismatch=JDO76503: la connessione in pool non ha lo stesso contesto utente. -connection.connectionmanager.isdown=JDO76504: Connection Manager in fase di chiusura. -connection.connectionmanager.maxpool=JDO76505: connection pool al massimo. -connection.connectionmanager.msintervalvalue=JDO76506: MsInterval deve essere maggiore di zero e minore o uguale a MsWait. -connection.connectionmanager.mswaitvalue=JDO76507: MsWait deve essere maggiore o uguale a zero. -connection.connectionmanager.nulldriver=JDO76508: valore nullo per il nome driver. -connection.connectionmanager.nullurl=JDO76509: valore nullo per l'URL. -connection.connectionmanager.poolsize=JDO76510: 'maxPool' deve essere maggiore o uguale a 'minPool'. -connection.connectionmanager.threaditerupted=JDO76511: thread interrotto. -connection.connectionmanager.zero=JDO76512: ''{0}'' deve essere maggiore o uguale zero. -# -# -# -sqlstore.database.dbvendor.cantloadDefaultProperties=JDO76513: impossibile caricare le propriet\u00E0 per il database predefinito. -sqlstore.database.dbvendor.init.default=JDO76514: --> Impossibile caricare la propriet\u00E0 per il tipo di fornitore {0}. Verranno utilizzati i valori predefiniti. -sqlstore.database.dbvendor.cantinstantiateclass=JDO76515: creazione di un''istanza della classe {0} non riuscita. -# -# -# -sqlstore.database.oracle.defineCol=JDO76516: definizione della colonna per l'istruzione non riuscita. -sqlstore.database.oracle.nooracleavailable=JDO76517: impossibile ottenere un''istanza di oracle.jdbc.OraclePreparedStatement o oracle.jdbc.driver.OraclePreparedStatement durante l''inizializzazione del resource factory Oracle ''{0}''. L''ottimizzazione specifica Oracle verr\u00E0 disabilitata. Se le istanze che usano questa risorsa richiedono valori di associazione per le colonne mappate alla colonna Fixed Char, verr\u00E0 eseguita l''aggiunta di spazi nei valori fino a ottenere la lunghezza specificata nel file dbschema corrispondente. -sqlstore.database.oracle.fixedcharpadded=JDO76518: il valore "{0}" \u00E8 associato a una colonna CHAR. Ci\u00F2 richiede una gestione speciale in Oracle. Poich\u00E9 \u00E8 impossibile ottenere la classe OraclePreparedStatement dal driver, viene eseguita l''aggiunta di spazi nel valore fino a ottenere la lunghezza {1} specificata nel file dbschema acquisito. -# -# -# -core.configuration.getvendortypefailed=JDO76519: identificazione del tipo di fornitore per il data store non riuscita. -jdo.sqlpersistencemanagerfactory.errorgettingDatabaseInfo=JDO76520: errore durante il tentativo di ottenere informazioni sul database. Rilevata l'eccezione seguente: - -# -# -# -sqlstore.connection.conncectiomgr.found=<--> ConnectionManager.getConnection: {0} trovata. -sqlstore.connection.conncectiomgr.getnewconn=<--> ConnectionManager.getConnection: {0} nuova. -sqlstore.connection.conncectiomgr.replacefreeconn=<--> ConnectionManager.replaceFreeConnection: {0} libera. -sqlstore.connectionimpl.clearxact.close=--- ConnectionImpl.clearXact: connessione chiusa. -sqlstore.connectionimpl.clearxact.disassocxact=--- ConnectionImpl.clearXact: disassociateXact. -sqlstore.connectionimpl.clearxact=--- ConnectionImpl.clearXact:. -sqlstore.connectionimpl.close.connrelease=<--- ConnectionImpl.close: connessione rilasciata. -sqlstore.connectionimpl.close.exit=<--- ConnectionImpl.close: connessione chiusa. -sqlstore.connectionimpl.close.freepending=<--- ConnectionImpl.close: impostazione di FreePending. -sqlstore.connectionimpl.close.putfreelist=<--- ConnectionImpl.close: inserimento in freeList. -sqlstore.connectionimpl.close.replaced=<--- ConnectionImpl.close: connessione sostituita. -sqlstore.connectionimpl.close=---> ConnectionImpl.close. -sqlstore.connectionimpl.close_arg=---> ConnectionImpl.close: {0}. -sqlstore.connectionimpl.commit=--- ConnectionImpl.commit: connessione chiusa. -sqlstore.connectionimpl.finalize=--- ConnectionImpl.finalize: connessione chiusa. -sqlstore.connectionimpl.internalcommit=--- ConnectionImpl.internalCommit:. -sqlstore.connectionimpl.pendingdisassocxact=--- ConnectionImpl.clearXact: disassociateXact in sospeso. -sqlstore.connectionimpl.rollback.close=--- ConnectionImpl.rollback: connessione chiusa. -sqlstore.connectionimpl.rollback=--- ConnectionImpl.rollback:. -# -# -# -sqlstore.database.dbvendor.castRequiredForNumericValues=<-> DBVendorType.isCastRequiredForNumericValues(): {0}. -sqlstore.database.dbvendor.getModFunctionName=<-> DBVendorType.getModFunctionName(): {0}. -sqlstore.database.dbvendor.getNullComparisonFunctionName=<-> DBVendorType.getNullComparisonFunctionName(): {0}. -sqlstore.database.dbvendor.getConcatCast=<-> DBVendorType.getConcatCast(): {0}. -sqlstore.database.dbvendor.getSpecialDBOperation=<-> DBVendorType.getSpecialDBOperation(): {0}. -sqlstore.database.dbvendor.getabs=<-> DBVendorType.getAbs(): {0}. -sqlstore.database.dbvendor.getcharlength=<-> DBVendorType.getCharLength(): {0}. -sqlstore.database.dbvendor.getforupdate=<-> DBVendorType.getForUpdate(): {0}. -sqlstore.database.dbvendor.getholdlock=<-> DBVendorType.getHoldlock(): {0}. -sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull(): {0}. -sqlstore.database.dbvendor.getisnull=<-> DBVendorType.getIsNull(): {0}. -sqlstore.database.dbvendor.getleftjoin=<-> DBVendorType.getLeftJoin(): {0}. -sqlstore.database.dbvendor.getleftjoinpost=<-> DBVendorType.getLeftJoinPost(): {0}. -sqlstore.database.dbvendor.getleftlikeescape=<-> DBVendorType.getLeftLikeEscape(): {0}. -sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}. -sqlstore.database.dbvendor.getposition3args=<-> DBVendorType.getPositionThreeArrgs(): {0}. -sqlstore.database.dbvendor.getposition=<-> DBVendorType.getPosition(): {0}. -sqlstore.database.dbvendor.getpositionin=<-> DBVendorType.getPositionIn(): {0}. -sqlstore.database.dbvendor.getpositionsrchsrc=<-> DBVendorType.getPositionSearchSource(): {0}. -sqlstore.database.dbvendor.getquotecharstart=<-> DBVendorType.getQuoteCharStart(): {0}. -sqlstore.database.dbvendor.getrightjoinipre=<-> DBVendorType.getRightJoin(): {0}. -sqlstore.database.dbvendor.getrightlikeescape=<-> DBVendorType.getRightLikeEscape(): {0}. -sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim(): {0}. -sqlstore.database.dbvendor.getrtrimpost=<-> DBVendorType.getRtrimPost(): {0}. -sqlstore.database.dbvendor.getsqrt=<-> DBVendorType.getSqrt(): {0}. -sqlstore.database.dbvendor.getstringconcat=<-> DBVendorType.getStringConcat(): {0}. -sqlstore.database.dbvendor.getsubstring=<-> DBVendorType.getSubstring(): {0}. -sqlstore.database.dbvendor.getsubstringfor=<-> DBVendorType.getSubstringFor(): {0}. -sqlstore.database.dbvendor.getsubstringfrom=<-> DBVendorType.getSubstringFrom(): {0}. -sqlstore.database.dbvendor.gettablelistend=<-> DBVendorType.getTableListEnd(): {0}. -sqlstore.database.dbvendor.gettableliststart=<-> DBVendorType.getTableListStart(): {0}. -sqlstore.database.dbvendor.isAnsiTrim=<-> DBVendorType.isAnsiTrim(): {0}. -sqlstore.database.dbvendor.isInlineNumeric=<-> DBVendorType.isInlineNumeric(): {0}. -sqlstore.database.dbvendor.isNativeOuterJoin=<-> DBVendorType.isNativeOuterJoin(): {0}. -sqlstore.database.dbvendor.isParameterCast=<-> DBVendorType.isParameterCast(): {0}. -sqlstore.database.dbvendor.isdistinctupdatelocksupported=<-> DBVendorType.isDistinctSupportedWithUpdateLock(): {0}. -sqlstore.database.dbvendor.islockcolumnlistsupported=<-> DBVendorType.isLockColumnListSupported(): {0}. -sqlstore.database.dbvendor.isupdatelocksupported=<-> DBVendorType.isUpdateLockSupported(): {0}. -sqlstore.database.dbvendor.mapemptystrtonull=<-> DBVendorType.mapEmptyStringToNull(): {0}. -sqlstore.database.dbvendor.overrideproperties.with=<-> DBVendorType.overrideProperties() : {0} con: {1}. -sqlstore.database.dbvendor.overrideproperties=<-> DBVendorType.overrideProperties() - Nessuno. -sqlstore.database.dbvendor.supportslikeescape=<-> DBVendorType.supportsLikeEscape(): {0}. -sqlstore.database.dbvendor.vendorname=<-> DBVendorType(), vendorName: [{0}] vendorType: {1}. -# -# -# -sqlstore.transactionimpl.call.info={0} Tran[ {1} ].{2}: {3} for {4}. -sqlstore.transactionimpl.call={0} Tran[ {1} ].{2}:status = {3}, txType: {4} for {5}. -sqlstore.transactionimpl.closeconnection=--- TransactionImpl.closeConnection() {0} for {1}. -sqlstore.transactionimpl.general={0}. -sqlstore.transactionimpl.getconnection=--- TransactionImpl.getConnection(): {0} TX optimistic: {1} referenceCount = {2} for {3}. -sqlstore.transactionimpl.releaseconnection=--- TransactionImpl.releaseConnection(): TX optimistic: {0} Inside Commit: {1} referenceCount: {2} for {3}. -sqlstore.transactionimpl.rollbackconnection=--- TransactionImpl.rollbackConnection(): {0} for {1}. -sqlstore.transactionimpl.status={0} Tran[ {1} ].setStatus: {2} => {3} for {4}. - - -############################################################################### -# All the source files under subdir ejb. -# Message ID Range: JDO76600 - JDO76699 -############################################################################### -# -#EJBHelper messages -# -# {0} - method name -ejb.ejbhelper.nonmanaged=JDO76600: il metodo {0} non deve essere invocato in un ambiente non gestito. - -# -# Common messages between SunContainerHelper and DeploymentHelper -# so they have a neutral key, that still starts with "ejb". -# -# {0} - jndi name. -ejb.jndi.lookupfailed=JDO76604: ricerca JNDI della risorsa CMP ''{0}'' non riuscita. -JDO76604.diag.cause.1=La risorsa CMP con il nome JNDI specificato non \u00E8 registrata con questa istanza. -JDO76604.diag.cause.2=Ortografia errata del nome JNDI per la risorsa CMP. -JDO76604.diag.check.1=Controllare il nome JNDI per la risorsa che si intende usare. -JDO76604.diag.check.2=Controllare il nome JNDI della risorsa CMP specificata nel modulo. - -# {0} - jndi name. -# {1} - returned class name. -ejb.jndi.unexpectedinstance=JDO76605: la ricerca JNDI della risorsa CMP ''{0}'' ha restituito un''istanza di tipo imprevisto: {1}. -JDO76605.diag.cause.1=La risorsa CMP con questo nome JNDI non fa riferimento alla risorsa JDBC o alla risorsa persistence-manager-factory. -JDO76605.diag.cause.2=Ortografia errata del nome JNDI per la risorsa CMP. -JDO76605.diag.check.1=Controllare il nome JNDI per la risorsa che si intende usare. -JDO76605.diag.check.2=Controllare il nome JNDI della risorsa CMP specificata nel modulo. - -# -# DeploymentHelper messages - ejb -# -# -# -# -ejb.DeploymentHelper.getconnection=Recupero della connessione per il nome JNDI ''{0}''. - -# The messages JDO76606 through JDO76615 that were originally here -# have been moved to -# cmp/support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties -# As part of INF# -# So do not use these messages. - - -# -#CMPHelper messages -# -ejb.cmphelper.nonmanaged=JDO76613: accesso non valido di CMPHelper. Questa classe \u00E8 utilizzata solo per il supporto CMP e non deve essere invocata fuori da un Application Server. - -# -#SunTransactionHelper messages -# - -# {0} class name -ejb.SunTransactionHelper.wrongdatasourcetype=JDO76616: DataSource non del tipo previsto. Previsto: com.sun.appserv.jdbc.DataSource, ottenuto: {0}. - - -############################################################################### -# -############################################################################### -# -# -# -vendor=Sun Microsystems -# majorVersion (minorVersion) buildDate -fullVersion={0} ({1}) {2} -# -# -# -core.generic.unknownfield=Il campo {0} non \u00E8 membro della classe {1}. -core.generic.unknownexception=Ricevuta un'eccezione sconosciuta. -core.generic.nullparam=Il parametro {0} \u00E8 nullo. -core.generic.notinstanceof=L''oggetto della classe {0} non \u00E8 un''istanza di {1}. - - -############################################################################### -# -############################################################################### -core.configuration.cantloadclass=Caricamento della classe {0} non riuscito. -sqlstore.exception.log=Eccezione. -jdo.lifecycle.deleted.accessField=Impossibile accedere al campo di un'istanza eliminata. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_ja.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_ja.properties deleted file mode 100644 index a9ee703cdbf..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_ja.properties +++ /dev/null @@ -1,643 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# Resource bundle for sqlstore runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Please note that many package names and classnames have changed over time. -# Unfortunately, this file was not maintained to follow above convention. -# Please ignore if the package/class name does not match actual names as today. -# -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 76. -# -# This file is divided into the following sections: -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# 1. JDO: PersistenceManagerFactory/PersistenceManager/ExtentCollection/LifeCycle -# 2. Model -# 3. StateManager -# 4. sql generator components: RetrieveDesc, ResultDesc plus all the files under generator subdir -# 5. SQLStoreManager -# 6. Connection/Connectionpool/Transaction/DBVendorType -# 7. EJB integration. -# 8. Generic messages. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -#################################################################################################### -# -# Message ID Range: JDO76000 - JDO76099 -#################################################################################################### -jdo.persistencemanagerfactoryimpl.getpersistencemanager.error=JDO76000: \u540C\u3058\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u3067\u30E6\u30FC\u30B6\u30FC\u540D\u3068\u30D1\u30B9\u30EF\u30FC\u30C9\u306E\u8907\u6570\u306E\u7D44\u5408\u305B\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -jdo.persistencemanagerfactoryimpl.getpersistencemanager.notconfigured=JDO76001: PersistenceManagerFactory\u304C\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -jdo.persistencemanagerfactoryimpl.notsupported=JDO76002: \u5185\u90E8PersistenceManagerFactoryImpl\u306B\u5BFE\u3059\u308B\u64CD\u4F5C\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -jdo.persistencemanagerimpl.acquireexclusivelock.interrupted=JDO76003: InterruptedException\u306B\u3088\u308A\u3001\u6392\u4ED6\u7684\u30ED\u30C3\u30AF\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u307E\u3057\u305F -jdo.persistencemanagerimpl.acquiresharelock.failed=JDO76004: _readWriteCount\u304C\u30BC\u30ED\u672A\u6E80\u3067\u3042\u308B\u305F\u3081\u3001\u5171\u6709\u30ED\u30C3\u30AF\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u307E\u3057\u305F -jdo.persistencemanagerimpl.acquiresharelock.interrupted=JDO76005: InterruptedException\u306B\u3088\u308A\u3001\u5171\u6709\u30ED\u30C3\u30AF\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u307E\u3057\u305F -jdo.persistencemanagerimpl.another_pm=JDO76006: \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306F\u5225\u306EPersistenceManager\u3068\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u307E\u3059\u3002 -jdo.persistencemanagerimpl.assertactivetransaction.error=JDO76007: \u3053\u306E\u6C38\u7D9A\u6027\u30DE\u30CD\u30FC\u30B8\u30E3\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -jdo.persistencemanagerimpl.assertclosed.closed=JDO76008: PersistenceManager\u306F\u9589\u3058\u3089\u308C\u3066\u3044\u307E\u3059\u3002 -jdo.persistencemanagerimpl.assertpersistencecapable.error=JDO76009: \u30AF\u30E9\u30B9{0}\u306F\u900F\u904E\u7684\u6C38\u7D9A\u6027\u7528\u306B\u62E1\u5F35\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5B9F\u884C\u524D\u306BIDE\u306EJAR\u307E\u305F\u306FWAR\u30D1\u30C3\u30B1\u30FC\u30B8\u30E3\u3092\u4F7F\u7528\u3057\u3066\u3001\u6C38\u7D9A\u53EF\u80FD\u30AF\u30E9\u30B9\u3092\u30D1\u30C3\u30B1\u30FC\u30B8\u5316\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u307E\u305F\u306F\u3001\u30E1\u30A4\u30F3\u30FB\u30AF\u30E9\u30B9\u306EExecutor\u30D7\u30ED\u30D1\u30C6\u30A3\u3092Persistence Executor\u306B\u8A2D\u5B9A\u3057\u3001IDE\u304B\u3089\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -jdo.persistencemanagerimpl.close.activetransaction=JDO76010: \u3053\u306E\u6C38\u7D9A\u6027\u30DE\u30CD\u30FC\u30B8\u30E3\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u308B\u30AA\u30FC\u30D7\u30F3\u30FB\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059\u3002 -jdo.persistencemanagerimpl.fetchinstance.none=JDO76012: \u3053\u306EObjectId\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002 -jdo.persistencemanagerimpl.internaldeletepersistent.transient=JDO76014: \u6C38\u7D9A\u7684\u3067\u306A\u3044\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002 -jdo.persistencemanagerimpl.internalmakepersistent.dups=JDO76015: \u540C\u3058\u4E3B\u30AD\u30FC\u3092\u6301\u3064\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u3001\u3059\u3067\u306B\u3053\u306EPersistenceManager\u30AD\u30E3\u30C3\u30B7\u30E5\u306B\u5B58\u5728\u3057\u307E\u3059\u3002 -jdo.persistencemanagerimpl.loadclassforoid.wrongoidclass=JDO76016: OID\u304B\u3089\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8Class\u3092\u53D6\u5F97\u3059\u308B\u3068\u304D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 -jdo.persistencemanagerimpl.newscoinstance.wrongclass=JDO76017: \u578B\u304C\u6709\u52B9\u3067\u306A\u3044\u305F\u3081\u3001\u30AF\u30E9\u30B9{0}\u306ESCO\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002 -jdo.persistencemanagerimpl.notprocessed=JDO76018: \u5FAA\u74B0\u4F9D\u5B58\u306B\u3088\u308A\u3001\u6C38\u7D9A\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30D5\u30E9\u30C3\u30B7\u30E5\u3067\u304D\u307E\u305B\u3093\u3002 -jdo.persistencemanagerimpl.releaseexclusivelock.failed=JDO76019: _readWriteCount\u304C\u30BC\u30ED\u3088\u308A\u5927\u304D\u3044\u305F\u3081\u3001\u6392\u4ED6\u7684\u30ED\u30C3\u30AF\u306E\u89E3\u653E\u306B\u5931\u6557\u3057\u307E\u3057\u305F -jdo.persistencemanagerimpl.releasesharelock.failed=JDO76020: _readWriteCount\u304C\u30BC\u30ED\u3067\u3042\u308B\u305F\u3081\u3001\u5171\u6709\u30ED\u30C3\u30AF\u306E\u89E3\u653E\u306B\u5931\u6557\u3057\u307E\u3057\u305F -jdo.persistencemanagerwrapper.invalidpm=JDO76021: PersistenceManagerWrapper\u306F\u9589\u3058\u3066\u3044\u307E\u3059\u3002 -jdo.extentcollection.constructor.invalidclass=JDO76022: extent\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3067\u306F{0}\u306F\u7121\u52B9\u306A\u30AF\u30E9\u30B9\u3067\u3059\u3002 -jdo.extentcollection.constructor.nonpc=JDO76023: \u30AF\u30E9\u30B9{0}\u306F\u6C38\u7D9A\u53EF\u80FD\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -jdo.extentcollection.constructor.subclasses=JDO76024: extent\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3067\u306F\u3001\u30AA\u30D7\u30B7\u30E7\u30F3\u30FB\u30B5\u30D6\u30AF\u30E9\u30B9true\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -jdo.extentcollection.illegalmodification=JDO76025: \u30AF\u30E9\u30B9{0}\u306Eextent\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u306E\u5909\u66F4\u304C\u7121\u52B9\u3067\u3059\u3002 -jdo.extentcollection.methodnotsupported=JDO76026: extent\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u306E\u30E1\u30BD\u30C3\u30C9{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -jdo.lifecycle.xactnotactive=JDO76027: \u3053\u306E\u64CD\u4F5C\u3092\u5B9F\u884C\u3059\u308B\u306B\u306F\u3001\u30A2\u30AF\u30C6\u30A3\u30D6\u30FB\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u304C\u5FC5\u8981\u3067\u3059\u3002 -jdo.persistencemanagerimpl.newinstance.badsm=JDO76028: StateManager\u306E\u69CB\u6210\u304C\u4E0D\u5B8C\u5168\u3067\u3059\u3002 -jdo.persistencemanagerimpl.setjtatransaction.notnulljta=JDO76029: null\u4EE5\u5916\u306Ejavax.transaction.Transaction {0}\u3092{1}\u306B\u7F6E\u63DB\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002 -jdo.persistencemanagerfactoryimpl.getpersistencemgr.closed=JDO76030: \u3053\u306Ejavax.transaction.Transaction\u306EPersistenceManager {0}\u306F\u3001\u3059\u3067\u306B\u9589\u3058\u3089\u308C\u3066\u3044\u308B\u3001\u307E\u305F\u306F\u30B3\u30DF\u30C3\u30C8\u3057\u3066\u3044\u307E\u3059\u3002 -jdo.persistencemanagerfactoryimpl.registerpm.registered=JDO76031: \u3053\u306Ejavax.transaction.Transaction\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9{0}\u306F\u3001\u3059\u3067\u306B\u5225\u306EPersistenceManager {1}\u3067\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u3059\u3002 -jdo.persistencemanagerimpl.verificationfailed=JDO76032: \u30D0\u30FC\u30B8\u30E7\u30F3\u6574\u5408\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u3001\u30C7\u30FC\u30BF\u30FB\u30B9\u30C8\u30A2\u3068\u306E\u691C\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 -jdo.persistencemanagerfactoryimpl.getversionconsistencycache.nullstore=JDO76033: StoreManager\u304C\u69CB\u6210\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 - -# -# -# -sqlstore.state.lifecyclestate.changestate=LifeCycleState.changeState(), old state = {0}, new state = {1}. -sqlstore.state.lifecyclestate.initial=LifeCycleState.getLifeCycleState(), initial state = {0}. - -# -# -# -sqlstore.persistencemgr.acquireexclusivelock.count=acquireExclusiveLock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.acquireexclusivelock=acquireExclusiveock(), thread {0} going to wait. -sqlstore.persistencemgr.acquiresharedlock.rdwrcount=acquireShareLock(), thread {0} acquired shared lock with _readWriteCount ={1}. -sqlstore.persistencemgr.acquiresharedlock=acquireShareLock(), thread {0} going to wait. -sqlstore.persistencemgr.aftercompletion.process=---PersistenceManagerImpl.afterCompletion() process: {0}. -sqlstore.persistencemgr.aftercompletion=---PersistenceManagerImpl.afterCompletion() abort: {0}. -sqlstore.persistencemgr.assertactivetx.closed=--- PersistenceManagerImpl.assertActiveTransaction: Closed for {0}. -sqlstore.persistencemgr.assertactivetx=--- PersistenceManagerImpl.assertActiveTransaction: {0}. -sqlstore.persistencemgr.assertisopen=--- PersistenceManagerImpl.assertIsOpen: Closed for {0}. -sqlstore.persistencemgr.beforecompletion=---PersistenceManagerImpl.beforeCompletion(). -sqlstore.persistencemgr.cacheproperties=PersistenceManagerImpl cache properties: _txCacheInitialCapacity={0}, _flushedCacheInitialCapacity={1}, _flushedCacheLoadFactor={2}, _weakCacheInitialCapacity={3}, _weakCacheLoadFactor={4}. -sqlstore.persistencemgr.deregisterinstance.verified=---PersistenceManagerImpl.deregisterInstance() -- deregistered with verify. -sqlstore.persistencemgr.deregisterinstance.verify=---PersistenceManagerImpl.deregisterInstance() with verify SM -- oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.deregisterinstance=---PersistenceManagerImpl.deregisterInstance() oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getbyobjid=---PersistenceManagerImpl.getObjectById() OID:{0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getcurrentwrapper=---PersistenceManagerImpl.getCurrentWrapper() > current: {0}. -sqlstore.persistencemgr.getobjid.notpc=---PersistenceManagerImpl.getObjectId() NOT PC: {0} for PersistenceManager: {1}. -sqlstore.persistencemgr.getobjid.notpm=---PersistenceManagerImpl.getObjectId() NOT PM: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getobjid= :{0} ---PersistenceManagerImpl.getObjectId() PC: {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.internalcloneoid.old=---PersistenceManagerImpl.internalCloneOid(): old: {0} new: {1} same: {2}. -sqlstore.persistencemgr.internalcloneoid=---PersistenceManagerImpl.internalCloneOid() error: {0}. -sqlstore.persistencemgr.isactivetx=---PersistenceManagerImpl.isActiveTransaction() : {0}. -sqlstore.persistencemgr.isnontxread=---PersistenceManagerImpl.isNontransactionalRead() : {0}. -sqlstore.persistencemgr.isoptimistic=---PersistenceManagerImpl.isOptimisticTransaction() : {0}. -sqlstore.persistencemgr.loadingclass=Loading ... ClassName: {0}. -sqlstore.persistencemgr.loadingfile=Loading ... FileName: {0} {1} {2}. -sqlstore.persistencemgr.makepersistent.done=---PersistenceManagerImpl.makePersistent() {0} finished for: {1} and JTA: {2}. -sqlstore.persistencemgr.makepersistent= {0} ---PersistenceManagerImpl.makePersistent() PC: {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.newcollection=---PersistenceManagerImpl.newCollectionInstanceInternal() type: {0}. -sqlstore.persistencemgr.popcurrentwrapper=---PersistenceManagerImpl.popCurrentWrapper() > current: {0} prev: {1}. -sqlstore.persistencemgr.pushcurrentwrapper=---PersistenceManagerImpl.pushCurrentWrapper() > current: {0} new: {1}. -sqlstore.persistencemgr.registerinstance= {0} ---PersistenceManagerImpl.registerInstance() oid/sm: {1}/{2} for PersistenceManager: {3} and JTA: {4}. -sqlstore.persistencemgr.registerinstancein_txc=registerInstance in TXC :{0} / {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.registerinstancein_wkc=registerInstance in WKC. -sqlstore.persistencemgr.releaseexclusivelock=releaseExclusiveock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.releasesharedlock=releaseShareLock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.replacingdeletedinstance=Replacing deleted instance with new for Object Id: {0}. -sqlstore.persistencemgr.setkeyfields=---PersistenceManagerImpl.setKeyFields() error: {0}. -# -# -# -sqlstore.sqlpersistencemgrfactory.getfrompool.pmt=<--SQLPersistenceManagerFactory.getFromPool() PM: {0} for JTA {1}. -sqlstore.sqlpersistencemgrfactory.getfrompool=<--SQLPersistenceManagerFactory.getFromPool(). -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.found= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() found javax.transaction.Transaction: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx.notfound=<->SQLPersistenceManagerFactory.getPersistenceManager() not found JDO Transaction. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx=<->SQLPersistenceManagerFactory.getPersistenceManager() JDO Transaction: {0}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmclosedfor= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() PM is closed for: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmt= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() : {1} for JTA: {2}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr=:{0} -->SQLPersistenceManagerFactory.getPersistenceManager(). -sqlstore.sqlpersistencemgrfactory.init=---SQLPersistenceManagerFactory.initialize(). -sqlstore.sqlpersistencemgrfactory.pmCacheBucketSize=---SQLPersistenceManagerFactory pmCacheBucketSize = {0}. -sqlstore.sqlpersistencemgrfactory.pmCacheInitialCapacity=---SQLPersistenceManagerFactory pmCacheInitialCapacity = {0}. -sqlstore.sqlpersistencemgrfactory.registerpersistencemgr.pmt=<->SQLPersistenceManagerFactory.registerPersistenceManager() PM: {0} for JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.releasepm.pmt=---SQLPersistenceManagerFactory.releasePersistenceManager() PM:{0} for JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.returnToPool=<--SQLPersistenceManagerFactory.returnToPool(). - - -############################################################################### -# -# Message ID Range: JDO76100 - JDO76199 -############################################################################### -core.configuration.columnnotable=JDO76100: \u5217\u8A18\u8FF0\u5B50\u306B\u6709\u52B9\u306A\u8868\u8A18\u8FF0\u5B50\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -core.configuration.fieldnotable=JDO76101: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u3069\u306E\u8868\u3068\u3082\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -core.configuration.fieldnotmapped=JDO76102: \u30AF\u30E9\u30B9{1}\u306E\u6C38\u7D9A\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -core.configuration.iddescnofield=JDO76103: SqlIDDesc\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u6B63\u3057\u304F\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30D5\u30A3\u30FC\u30EB\u30C9\u8A18\u8FF0\u5B50\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -core.configuration.loadfailed.class=JDO76104: \u30AF\u30E9\u30B9{0}\u306E\u69CB\u6210\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 -core.configuration.noneexistentpkfield=JDO76105: ObjectId\u30AF\u30E9\u30B9{1}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9{0} PersistenceCapable\u30AF\u30E9\u30B9{2}\u306B\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 -core.configuration.unsupportedconsistencylevel=JDO76106: \u30AF\u30E9\u30B9{0}\u306B\u306F\u3001\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u306A\u3044\u6574\u5408\u6027\u30EC\u30D9\u30EB\u304C\u3042\u308A\u307E\u3059\u3002\u73FE\u5728\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u6574\u5408\u6027\u30EC\u30D9\u30EB\u306F\u3001"none"\u3001"check-modified-at-commit"\u3001"lock-when-loaded"\u3001"check-version-of-accessed-instances"\u3067\u3059\u3002 -core.configuration.validationfailed=JDO76107: \u30AF\u30E9\u30B9{0}\u306B\u5BFE\u3059\u308B\u30DE\u30C3\u30D4\u30F3\u30B0\u304C\u7121\u52B9\u3067\u3059:\n{1}\u3002 -core.configuration.validationproblem=JDO76108: \u30AF\u30E9\u30B9{0}\u3067\u691C\u8A3C\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {1} -# -# -# -core.fielddesc.minvalue=JDO76109: \u5024{0}\u306F\u3001\u30D5\u30A3\u30FC\u30EB\u30C9\u578B{2}\u306E\u8A31\u53EF\u3055\u308C\u308B\u6700\u5C0F\u5024{1}\u3092\u4E0B\u56DE\u3063\u3066\u3044\u307E\u3059\u3002 -core.fielddesc.maxvalue=JDO76110: \u5024{0}\u306F\u3001\u30D5\u30A3\u30FC\u30EB\u30C9\u578B{2}\u306E\u8A31\u53EF\u3055\u308C\u308B\u6700\u5927\u5024{1}\u3092\u4E0A\u56DE\u3063\u3066\u3044\u307E\u3059\u3002 -core.configuration.noneexistentvcfield=JDO76111: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u30D0\u30FC\u30B8\u30E7\u30F3\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u3057\u3066\u306E\u30DE\u30FC\u30AF\u304C\u4ED8\u3051\u3089\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u6C38\u7D9A\u53EF\u80FD\u30AF\u30E9\u30B9{1}\u306B\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 -core.configuration.loadfailed.field=JDO76112: \u30AF\u30E9\u30B9{1}\u5185\u306E\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306E\u69CB\u6210\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 - -# -# -# -sqlstore.model.classdesc.assocrelatedfield=associated relationship field = {0}. -sqlstore.model.classdesc.createsqldesc=creating SqlIDDesc from {0}. -sqlstore.model.classdesc.fieldinfo=field name = {0}, id= {1}. -sqlstore.model.classdesc.general={0}.{1} =>{2} -sqlstore.model.classdesc.getlocalfielddesc=<-> SqlPersistenceDesc.getLocalFieldDesc(), class ={0} added hidden field {1} for column {2}. -sqlstore.model.classdesc.loadedclass=Successfully loaded oid class= {0}. -sqlstore.model.classdesc.persistconfiginit.exit=<-- SqlPersistenceConfig.initialize(). -sqlstore.model.classdesc.persistconfiginit=--> SqlPersistenceConfig.initialize(), class = {0}. -sqlstore.model.classdesc.pkfield=PK field = {0}. -sqlstore.model.classdesc.primarytrackedfield=field {0} is the primary tracked field . -sqlstore.model.classdesc.unsetconcurrencychk=unsetting IN_CONCURRENCY_CHECK property for lf {0}. -sqlstore.model.classdesc.unsetrefintegrityupdate=unsetting REF_INTEGRITY_UPDATES property for ff {0}. -sqlstore.model.classdesc.vcfield=Version consistency field = {0}. -sqlstore.model.fielddesc.addingfield=adding field {0} to be tracked by field {1}. -sqlstore.model.fielddesc.convertvalue.from_to=convertValue: {0} From: {1} To: {2}. -sqlstore.model.fielddesc.convertvalue.hidden=convertValue: hidden {0} ... return. -sqlstore.model.fielddesc.convertvalue=convertValue: NULL ... return. -sqlstore.model.fielddesc.fieldname={0} = {1}. -sqlstore.model.fielddesc.setupdesc=setupDesc(): fieldName {0} fieldType {1}. -sqlstore.model.configcacheimpl.size_before={0} size before cleanup: {1}. -sqlstore.model.configcacheimpl.size_after={0} size after cleanup: {1}. - - -############################################################################### -# -# Message ID Range: JDO76200 - JDO76299 -############################################################################### -core.statemanager.anotherowner=JDO76200: \u5225\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u6240\u6709\u3059\u308BSCO\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u5272\u308A\u5F53\u3066\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -core.statemanager.cantnewoid=JDO76201: \u30AF\u30E9\u30B9{0}\u306E\u65B0\u898F\u4E3B\u30AD\u30FC\u30FB\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 -core.statemanager.cantschedulejointable=JDO76202: \u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u8AAC\u660E\u304Cnull\u3067\u3042\u308B\u305F\u3081\u3001\u30AF\u30E9\u30B9{0}\u3068{1}\u306E\u9593\u306E\u7D50\u5408\u8868\u30A8\u30F3\u30C8\u30EA\u306E\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 -core.statemanager.cantsetkeyfield=JDO76203: \u4E3B\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306E\u5024\u306E\u8A2D\u5B9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 -core.statemanager.conflictingvalues=JDO76204: \u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3068\u30D5\u30A3\u30FC\u30EB\u30C9{1}\u306E\u9593\u3067\u885D\u7A81\u3057\u3066\u3044\u308B\u5024\u304C\u540C\u3058\u5217\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u3059 -core.statemanager.getfieldfailed=JDO76205: \u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 -core.statemanager.invalidpk=JDO76206: \u6C38\u7D9A\u53EF\u80FD\u30AF\u30E9\u30B9{1}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u518D\u30ED\u30FC\u30C9\u3059\u308B\u3068\u304D\u306B\u3001\u4E3B\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u304C\u7121\u52B9\u306Anull\u3067\u3057\u305F\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306EObjectId\u306F{2}\u3067\u3059\u3002 -core.statemanager.nopkupdate=JDO76207: \u4E3B\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u66F4\u65B0\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002 -core.statemanager.nopm=JDO76208: \u72B6\u614B\u30DE\u30CD\u30FC\u30B8\u30E3\u306B\u6C38\u7D9A\u6027\u30DE\u30CD\u30FC\u30B8\u30E3\u3078\u306E\u53C2\u7167\u304C\u542B\u307E\u308C\u307E\u305B\u3093\u3002 -core.statemanager.notnavigable=JDO76209: \u30AF\u30E9\u30B9{1}\u306E\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306B\u30A2\u30AF\u30BB\u30B9\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002\u3053\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u3053\u308C\u307E\u3067\u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3055\u308C\u3066\u304A\u3089\u305A\u3001\u3053\u306E\u30AF\u30E9\u30B9\u306F\u52D5\u7684\u306A\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u3092\u8A31\u53EF\u3057\u307E\u305B\u3093\u3002\u30AF\u30E9\u30B9\u306E\u53D6\u5F97\u6642\u306B\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30EA\u30AF\u30A8\u30B9\u30C8\u3059\u308B\u304B\u3001\u30A2\u30AF\u30BB\u30B9\u6642\u306B\u81EA\u52D5\u7684\u306B\u53D6\u5F97\u3067\u304D\u308B\u3088\u3046\u306B\u52D5\u7684\u306A\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u3092\u8A31\u53EF\u3057\u3066\u304F\u3060\u3055\u3044\u3002 -core.statemanager.objectnotfound=JDO76210: \u30C7\u30FC\u30BF\u30FB\u30B9\u30C8\u30A2\u306B\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 -core.statemanager.poshiddenindex=JDO76211: \u96A0\u3057\u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u7D22\u5F15\u306F\u8CA0\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u304C\u3001{0}\u306E\u7D22\u5F15\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002 -core.statemanager.readonly=JDO76212: \u30AF\u30E9\u30B9{1}\u306E\u8AAD\u53D6\u308A\u5C02\u7528\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u3092\u5909\u66F4\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002 -core.statemanager.releaselock.wrongthread=JDO76213: \u3053\u306E\u30B9\u30EC\u30C3\u30C9{0}\u306FStateManager\u30ED\u30C3\u30AF\u3092\u4FDD\u6301\u3057\u307E\u305B\u3093\u3002 -core.statemanager.setfieldfailed=JDO76214: \u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u8A2D\u5B9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 -core.statemanager.wrongusageforoverlappingpkfkdelete=JDO76215: \u7BA1\u7406\u5BFE\u8C61\u95A2\u4FC2\u304B\u3089\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u9664\u53BB\u3057\u3088\u3046\u3068\u3059\u308B\u7121\u52B9\u306A\u8A66\u307F\u304C\u3042\u308A\u307E\u3057\u305F\u3002\u95A2\u4FC2\u306F\u3001\u3082\u3046\u4E00\u65B9\u306E\u5074\u306E\u4E3B\u30AD\u30FC\u5217\u306B\u3088\u3063\u3066\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u306B\u5BFE\u3059\u308B\u9664\u53BB\u64CD\u4F5C\u3067\u306F\u3001\u3082\u3046\u4E00\u65B9\u306E\u5074\u306E\u5217\u3092\u66F4\u65B0\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u3001\u4E3B\u30AD\u30FC\u306E\u66F4\u65B0\u306F\u8A31\u53EF\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u3053\u306E\u305F\u3081\u3001\u4E3B\u30AD\u30FC\u306B\u3088\u3063\u3066\u5B9A\u7FA9\u3055\u308C\u308B\u7BA1\u7406\u5BFE\u8C61\u95A2\u4FC2\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u304B\u3089\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u9664\u53BB\u306F\u3001\u660E\u793A\u7684\u306A\u3001\u307E\u305F\u306F\u30AB\u30B9\u30B1\u30FC\u30C9\u524A\u9664\u306B\u3088\u308B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u9664\u53BB\u306B\u3088\u3063\u3066\u306E\u307F\u884C\u308F\u308C\u307E\u3059\u3002 -core.statemanager.toomanyrows=JDO76215: \u30AF\u30E9\u30B9{0}\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u308B\u3044\u305A\u308C\u304B\u306E\u8868\u306E\u8907\u6570\u306E\u884C\u304C\u8FD4\u3055\u308C\u307E\u3057\u305F\u3002\u30AF\u30E9\u30B9\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u308B\u5404\u8868\u306F\u3001\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3054\u3068\u306B1\u3064\u306E\u884C\u306E\u307F\u3092\u6301\u3064\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -core.statemanager.copyFields.mismatch=JDO76216: 1\u3064\u306EStateManager\u304B\u3089\u3001{0}\u3068{1}\u306E\u7570\u306A\u308B\u30BF\u30A4\u30D7\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u7BA1\u7406\u3059\u308B\u5225\u306EStateManager\u306B\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u30B3\u30D4\u30FC\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002 - -# -# -# -sqlstore.sqlstatemanager.adddependency=<-> SQLStateManager.addDependency(), this StateManager: {0}, other StateManager: {1}. -sqlstore.sqlstatemanager.addupdate=<-> SQLStateManager.addUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.applyupdates.exit=<-- SqlStateManager.applyUpdates(). -sqlstore.sqlstatemanager.applyupdates=--> SqlStateManager.applyUpdates(), field = {0}. -sqlstore.sqlstatemanager.clearpersistencefields.exit=<--- SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.clearpersistencefields=--> SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.copychanges.exit=<-- SQLStateManager.copyChanges(). -sqlstore.sqlstatemanager.copychanges=--> SQLStateManager.copyChanges(), state manager = {0}. -sqlstore.sqlstatemanager.deletepersistence=<-> SqlStateManager.deletePersistence(), type = {0}. -sqlstore.sqlstatemanager.getbeforeimage.exit=<-- SqlStateManager.getBeforeImage(). -sqlstore.sqlstatemanager.getbeforeimage=--> SqlStateManager.getBeforeImage(), type = {0}. -sqlstore.sqlstatemanager.isbeforeimagerequired=isBeforeImageRequired is : {0}. -sqlstore.sqlstatemanager.loadforread.exit=<-- SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforread=--> SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforupdate.exit=<-- SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loadforupdate=--> SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loggingfield=logging field = {0} with value = {1}. -sqlstore.sqlstatemanager.makedirty.fixscocollection=--- SqlStateManager.makeDirty(), fix SCOCollection. -sqlstore.sqlstatemanager.makedirty.fixscodate=--- SqlStateManager.makeDirty(), fix SCODate. -sqlstore.sqlstatemanager.makedirty=--> SqlStateManager.makeDirty(), field = {0}. -sqlstore.sqlstatemanager.makedirtyfield=Marked dirty field = {0}. -sqlstore.sqlstatemanager.makepersistence=<-> SqlStateManager.makePersistence(), type = {0}. -sqlstore.sqlstatemanager.makepresent=--> SqlStateManager.makePresent(), field = {0}. -sqlstore.sqlstatemanager.marking=marking: {0} as present. -sqlstore.sqlstatemanager.newtype=New Type: {0}. -sqlstore.sqlstatemanager.nosuchmethodexcep.clone=Exception : {0} clone ... for type {1}. -sqlstore.sqlstatemanager.preparegetfield.exit=<-- SqlStateManager.prepareGetField(). -sqlstore.sqlstatemanager.preparegetfield=--> SqlStateManager.prepareGetField(), name = {0}. -sqlstore.sqlstatemanager.preparesetfield.exit=<-- SQLStateManager.prepareSetField(). -sqlstore.sqlstatemanager.preparesetfield=--> SQLStateManager.prepareSetField(), name = {0}. -sqlstore.sqlstatemanager.preparetoupdateph1.exit=<-- SqlStateManager.prepareToUpdateI(). -sqlstore.sqlstatemanager.preparetoupdateph1=--> SqlStateManager.prepareToUpdatePhaseI(), type = {0}. -sqlstore.sqlstatemanager.preparetoupdateph2.exit=<-- SqlStateManager.prepareToUpdateII(). -sqlstore.sqlstatemanager.preparetoupdateph2=--> SqlStateManager.prepareToUpdatePhaseII(), type = {0}. -sqlstore.sqlstatemanager.preparetoupdateph3.exit=<-- SqlStateManager.prepareToUpdateIII(). -sqlstore.sqlstatemanager.preparetoupdateph3=--> SqlStateManager.prepareToUpdatePhaseIII(), type = {0}. -sqlstore.sqlstatemanager.prepareupdatefield.exit=<-- SQLStateManager.prepareUpdateField(). -sqlstore.sqlstatemanager.prepareupdatefield=--> SQLStateManager.prepareUpdateField(), name = {0} for state: {1}. -sqlstore.sqlstatemanager.prepareupdatefieldspl.exit=<-- SQLStateManager.prepareUpdateFieldSpecial(). -sqlstore.sqlstatemanager.prepareupdatefieldspl=--> SQLStateManager.prepareUpdateFieldSpecial, name = {0} for state: {1}. -sqlstore.sqlstatemanager.processcollectionupdate.exit=<-- SQLStateManager.processCollectionUpdates(). -sqlstore.sqlstatemanager.processcollectionupdate=--> SQLStateManager.processCollectionUpdates(), beforeList={0}, afterlist={1}. -sqlstore.sqlstatemanager.processforeign=process foreign field ={0}. -sqlstore.sqlstatemanager.processforeignfield.remove=-- SQLStateManager.processForeignField(): was Collection - remove. -sqlstore.sqlstatemanager.processforeignfield.remove_from_bi=-- SQLStateManager.processForeignField(): is SCOCollection - remove from BI. -sqlstore.sqlstatemanager.processforeignfield.reset=-- SQLStateManager.processForeignField(): was SCOCollection - reset. -sqlstore.sqlstatemanager.processforeignfield=-- SQLStateManager.processForeignField(): value: {0} type: {1}. -sqlstore.sqlstatemanager.realizefield.exit=<-- SqlStateManager.realizeField(). -sqlstore.sqlstatemanager.realizefield=--> SqlStateManager.realizeField(), name = {0}. -sqlstore.sqlstatemanager.realizeforeignfield.exit=<-- SqlStateManager.realizeField(), field realized = {0}. -sqlstore.sqlstatemanager.realizeforeignfield=--> SqlStateManager.realizeField(), name = {0}. -sqlstore.sqlstatemanager.recordingfield=recording field = {0}. -sqlstore.sqlstatemanager.refreshpersistent.exit=<-- SqlStateManager.refreshPersistent(). -sqlstore.sqlstatemanager.refreshpersistent=--> SqlStateManager.refreshPersistence(), type = {0}. -sqlstore.sqlstatemanager.reload.exit=<-- SqlStateManager.reload(FieldDesc)\u3002 -sqlstore.sqlstatemanager.reload=--> SqlStateManager.reload(FieldDesc), type = {0}, field = {1}. -sqlstore.sqlstatemanager.removeupdate=<-> SQLStateManager.removeUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.replaceobjectfield.unsetsco=-- SqlStateManager.replaceObjectField(), unset SCO. -sqlstore.sqlstatemanager.replaceobjectfield=-- SqlStateManager.replaceObjectField(), field = {0}, type= {1}. -sqlstore.sqlstatemanager.reset=--> SqlStateManager.reset(), retValues = {0}, wasNew: {1}, keepState: {2}. -sqlstore.sqlstatemanager.resettingcollection=Resetting Collection. -sqlstore.sqlstatemanager.resettingdate=Resetting Date. -sqlstore.sqlstatemanager.resolvedependencies=<-> SQLStateManager.resolveDependencies(), obj={0}. -sqlstore.sqlstatemanager.resolvedependency=<-> SQLStateManager.resolveDependency(), dependency resolved: lobj={0}, f={1}, fobj={2}. -sqlstore.sqlstatemanager.retrieve.exit=<-- SqlStateManager.retrieve(). -sqlstore.sqlstatemanager.retrieve=--> SqlStateManager.retrieve(), name = {0}. -sqlstore.sqlstatemanager.retrieveforeign.exit=<-- SqlStateManager.retrieveForeign(). -sqlstore.sqlstatemanager.retrieveforeign=--> SqlStateManager.retrieveForeign(), name = {0}. -sqlstore.sqlstatemanager.unsetmask=unsetting masks for field = {0}. -sqlstore.sqlstatemanager.unconditionalreload.exit=<-- SqlStateManager.reload(). -sqlstore.sqlstatemanager.unconditionalreload=--> SqlStateManager.reload(), type = {0}. -sqlstore.sqlstatemanager.updatebeforeimage=<-> SQLStateManager.updateBeforeImage(), name = {0}, value = {1}. -sqlstore.sqlstatemanager.updateobjfield.exit=<-- SQLStateManager.updateObjectField(). -sqlstore.sqlstatemanager.updateobjfield=--> SQLStateManager.updateObjectField(), name = {0}, type = {1}. -sqlstore.sqlstatemanager.updatepersistent.exit=<-- SqlStateManager.updatePersistent(). -sqlstore.sqlstatemanager.updatepersistent.immediateflush=<--> SqlStateManager.updatePersistent(), immediate flush required: obj={0}, next={1}. -sqlstore.sqlstatemanager.updatepersistent.skipped=<--> SqlStateManager.updatePersistent() skipped, type ={0}, obj= {1}. -sqlstore.sqlstatemanager.updatepersistent=--> SqlStateManager.updatePersistent(), type = {0}. -sqlstore.sqlstatemanager.updatetrackedfields.exit=<-- updateTrackedFields(). -sqlstore.sqlstatemanager.updatetrackedfields=--> updateTrackedFields(), f = {0} value = {1} fieldToIgnore = {2}. - - -############################################################################### -# -# Message ID Range: JDO76300 - JDO76399 -############################################################################### -core.constraint.duporderby=JDO76300: \u5236\u7D04\u306F\u3001"order by"\u5236\u7D04\u306B\u3059\u3067\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u3001\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306E"order by"\u3067\u3059\u3002 -core.constraint.fielddisallowed=JDO76301: fieldName\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u3053\u308C\u306F\u64CD\u4F5C{0}\u3067\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002 -core.constraint.fieldrequired=JDO76302: fieldName\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u64CD\u4F5C{0}\u3067\u306F\u3053\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u5FC5\u8981\u3067\u3059\u3002 -core.constraint.illegalParameterInfo=JDO76303: OP_PARAMETER\u306EaddConstraint()\u306F\u3001ParameterInfo\u578B\u306E\u5024\u3067\u547C\u3073\u51FA\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -core.constraint.illegalnode=JDO76304: SqlConstraint\u30B9\u30BF\u30C3\u30AF\u5185\u306E\u5236\u7D04\u30CE\u30FC\u30C9{0}\u304C\u7121\u52B9\u3067\u3059\u3002 -core.constraint.illegalop=JDO76305: \u3053\u306E\u64CD\u4F5C\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u306F\u7121\u52B9\u306A\u5024{0}\u304C\u542B\u307E\u308C\u307E\u3059\u3002 -core.constraint.needfieldnamenode=JDO76306: \u5236\u7D04\u30B9\u30BF\u30C3\u30AF\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u306F\u60F3\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002 -core.constraint.needfieldnode=JDO76307: \u5236\u7D04\u30B9\u30BF\u30C3\u30AF\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u8AAC\u660E\u306F\u60F3\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002 -core.constraint.needvalnode=JDO76308: \u5236\u7D04\u30B9\u30BF\u30C3\u30AF\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002\u5024\u306F\u60F3\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002 -core.constraint.stackempty=JDO76309: \u5236\u7D04\u30B9\u30BF\u30C3\u30AF\u304C\u7A7A\u3067\u3059\u3002\u6F14\u7B97\u5B50\u6570\u306B\u5FC5\u8981\u306A\u5024\u306B\u306F\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002 -core.constraint.unknownfield=JDO76310: retrieve\u8A18\u8FF0\u5B50\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u30D5\u30A3\u30FC\u30EB\u30C9{0}\u306F\u30AF\u30E9\u30B9{1}\u306E\u30E1\u30F3\u30D0\u30FC\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -core.constraint.valdisallowed=JDO76311: value\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u3053\u308C\u306F\u64CD\u4F5C{0}\u3067\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002 -core.constraint.valrequired=JDO76312: \u5024\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u64CD\u4F5C{0}\u3067\u306F\u5024\u304C\u5FC5\u8981\u3067\u3059\u3002 -sqlstore.resultdesc.errorgettingvalefromresulset=JDO76313: \u7D22\u5F15{0}\u3067\u3001\u7D50\u679C\u30BB\u30C3\u30C8\u304B\u3089\u306EresultType {1}\u3001columnSqlType {2}\u3068\u3057\u3066\u306E\u5024\u306E\u53D6\u5F97\u6642\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u4F8B\u5916: {3} -sqlstore.resultdesc.foreignfieldprojection=JDO76314: {0}\u306E\u554F\u5408\u305B\u306F\u95A2\u4FC2\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u5C55\u958B\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -sqlstore.resultdesc.unknownfieldtype=JDO76317: \u672A\u77E5\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u578B{0}\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002 -sqlstore.retrievedesc.toomanyprojections=JDO76318: RetrieveDesc\u306B\u8907\u6570\u306E\u5C55\u958B\u3092\u8A2D\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -sqlstore.retrievedesc.toomanyresulttypes=JDO76319: RetrieveDesc\u306B\u8907\u6570\u306E\u7D50\u679C\u578B\u3092\u8A2D\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -sqlstore.selectstatement.noupdatelocksupport=JDO76320: \u3053\u306E\u554F\u5408\u305B\u306B\u95A2\u9023\u3059\u308B\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u578B\u306E1\u3064\u306B"lock-when-loaded"\u306E\u6574\u5408\u6027\u30EC\u30D9\u30EB\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u3053\u306E\u6574\u5408\u6027\u30EC\u30D9\u30EB\u3092\u9069\u7528\u3059\u308B\u306B\u306F\u3001\u30C7\u30FC\u30BF\u30FB\u30B9\u30C8\u30A2\u304C\u66F4\u65B0\u306E\u305F\u3081\u306E\u30ED\u30C3\u30AF\u3092\u884C\u30EC\u30D9\u30EB\u3067\u30B5\u30DD\u30FC\u30C8\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30C7\u30FC\u30BF\u30FB\u30B9\u30C8\u30A2\u306F\u3001\u66F4\u65B0\u306E\u305F\u3081\u306E\u30ED\u30C3\u30AF\u3092\u884C\u30EC\u30D9\u30EB\u3067\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002 -sqlstore.sql.generator.statement.likeescapenotsupported=JDO76321: \u3053\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3067\u306F\u3001LIKE ESCAPE\u53E5\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -sqlstore.sql.generator.statement.positionthreeargsnotsupported=JDO76322: POSITION\u53E5\u306E3\u756A\u76EE\u306E\u5F15\u6570\u306F1\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -core.configuration.classnotmapped=JDO76323: \u30AF\u30E9\u30B9{0}\u306F\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -core.configuration.classnotmappedtotable=JDO76324: \u30AF\u30E9\u30B9{0}\u306F\u8868{1}\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -sqlstore.sql.generator.statement.unexpectedconstraint=JDO76325: \u6F14\u7B97{0}\u306E\u5236\u7D04\u304C\u3001where\u53E5\u306E\u30EB\u30FC\u30C8\u3067\u3042\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002 - -# -# Following messages are used within other messages. They need to be i18ned but need not be numbered. -# -sqlstore.sql.generator.statement.sqlStatement=SQL\u6587 -sqlstore.sql.generator.statement.withinputvalues= \u5165\u529B\u5024: -sqlstore.sql.generator.statement.withnoinputvalues= \u5165\u529B\u5024\u304C\u3042\u308A\u307E\u305B\u3093\u3002 - - -# -# -# -sqlstore.resultdesc.deserializing=deserializing = {0}. -sqlstore.resultdesc.marking_field=marking local field {0} as present. -sqlstore.resultdesc.marking_foreign_field=marking foreign field {0} as present. -sqlstore.resultdesc.marking_key_field=marking key field {0} as present. -sqlstore.resultdesc.returning_field=returning field {0} as projection. -# -# -# -sqlstore.sql.concurrency.concurrencychkdirty.exit=--> ConcurrencyCheckDirty.update(). -sqlstore.sql.concurrency.concurrencychkdirty=--> ConcurrencyCheckDirty.update(), beforeImage = {0}. -sqlstore.sql.concurrencyoptverify.resumetx=<--> ConcurrencyOptVerify.resume(), resumed transaction = {0}. -sqlstore.sql.concurrencyoptverify.suspendtx=<--> ConcurrencyOptVerify.suspend(), suspended transaction = {0}. -sqlstore.sql.concurrencyoptverify.update.exit=<-- ConcurrencyOptVerify.update(). -sqlstore.sql.concurrencyoptverify.update=--> ConcurrencyOptVerify.update(), beforeImage = {0}. -sqlstore.sql.generator.dbstatement.addbatch=addbatch ({0}) -sqlstore.sql.generator.dbstatement.bindinputcolumn=bindInputColumn index: {0} value: {1} sqlType: {2}. -sqlstore.sql.generator.dbstatement.executebatch=executeBatch executing {0} command(s) -sqlstore.sql.generator.selectqueryplan.processforeignfield.exit=<-- SelectQueryPlan.processForeignFields(). -sqlstore.sql.generator.selectqueryplan.processforeignfield=--> SelectQueryPlan.processForeignFields(), class = {0}. -sqlstore.sql.generator.selectqueryplan.processlocalfield.exit=<-- SelectQueryPlan.processLocalFields(). -sqlstore.sql.generator.selectqueryplan.processlocalfield=--> SelectQueryPlan.processLocalFields(), class = {0}. -sqlstore.sql.generator.selectqueryplan.processstmts.exit=<-- SelectQueryPlan.processStatements(). -sqlstore.sql.generator.selectqueryplan.processstmts=--> SelectQueryPlan.processStatements(), class = {0}, statements = {1}. -sqlstore.sql.updateobjdescimpl.afterimagenull=AfterImage is not set. -sqlstore.sql.updateobjdescimpl.beforeimagenull=BeforeImage is not set. -sqlstore.sql.updateobjdescimpl.markrelationshipchange=<--> UpdateDesc.markRelationshipChange(). -sqlstore.sql.updateobjdescimpl.updated={0} is updated. - - -############################################################################### -# -# Message ID Range: JDO76400 - JDO76499 -############################################################################### -# -# -# -core.persistencestore.jdbcerror=JDO76400: SQL\u6587\u306E\u5B9F\u884C\u6642\u306BJDBC SQLException\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\n{0}\u3002\n\u8A73\u7D30\u306FSQLException\u3092\u8ABF\u3079\u3066\u304F\u3060\u3055\u3044\u3002 -sqlstore.retrievedesc.stmntsnotjoined=JDO76401: 1\u3064\u306ERetrieveDesc\u306B\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u306A\u3044\u8907\u6570\u306ESQL\u6587\u304C\u3042\u308A\u307E\u3059\u3002 -core.persistencestore.toofewrows=JDO76402: \u30AF\u30E9\u30B9{0}\u306E\u30A2\u30BD\u30B7\u30A8\u30FC\u30B7\u30E7\u30F3{1}\u306E\u5024\u3092\u53D6\u5F97\u3057\u3088\u3046\u3068\u3057\u305F\u3068\u304D\u306B\u3001\u3053\u306E\u30A2\u30BD\u30B7\u30A8\u30FC\u30B7\u30E7\u30F3\u306B\u8A31\u53EF\u3055\u308C\u308B\u30AB\u30FC\u30C7\u30A3\u30CA\u30EA\u30C6\u30A3\u3088\u308A\u3082\u5C11\u306A\u3044\u884C\u304C\u8FD4\u3055\u308C\u307E\u3057\u305F\u3002\u8A31\u5BB9\u3055\u308C\u308B\u6700\u5C0F\u884C\u6570\u306F{2}\u3067\u3059\u3002 -core.persistencestore.toomanyobjforcard1=JDO76403: \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3068\u6C38\u7D9A\u30E2\u30C7\u30EB\u306E\u9593\u306B\u6574\u5408\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30AF\u30E9\u30B9{0}\u306E\u30A2\u30BD\u30B7\u30A8\u30FC\u30B7\u30E7\u30F3{1}\u304C\u53C2\u7167\u3059\u308B\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u53D6\u5F97\u3057\u3088\u3046\u3068\u3057\u305F\u3068\u3053\u308D\u3001{2}\u30A2\u30A4\u30C6\u30E0\u304C\u53D6\u5F97\u3055\u308C\u307E\u3057\u305F\u3002\u3057\u304B\u3057\u3001\u30A2\u30BD\u30B7\u30A8\u30FC\u30B7\u30E7\u30F3\u306E\u30AB\u30FC\u30C7\u30A3\u30CA\u30EA\u30C6\u30A3\u4E0A\u9650\u304C1\u3067\u3042\u308B\u305F\u3081\u3001\u5BFE\u5FDC\u53EF\u80FD\u306A\u30A2\u30A4\u30C6\u30E0\u6570\u306F1\u3064\u306E\u307F\u3067\u3059\u3002 -core.persistencestore.toomanyrows=JDO76405: \u30AF\u30E9\u30B9{0}\u306E\u30A2\u30BD\u30B7\u30A8\u30FC\u30B7\u30E7\u30F3{1}\u306E\u5024\u3092\u53D6\u5F97\u3057\u3088\u3046\u3068\u3057\u305F\u3068\u304D\u306B\u3001\u3053\u306E\u30A2\u30BD\u30B7\u30A8\u30FC\u30B7\u30E7\u30F3\u306B\u8A31\u53EF\u3055\u308C\u308B\u30AB\u30FC\u30C7\u30A3\u30CA\u30EA\u30C6\u30A3\u3088\u308A\u3082\u591A\u3044\u884C\u304C\u8FD4\u3055\u308C\u307E\u3057\u305F\u3002\u8A31\u5BB9\u3055\u308C\u308B\u6700\u5927\u884C\u6570\u306F{2}\u3067\u3059\u3002 -core.store.concurrentaccess=JDO76406: \u4E26\u884C\u30A2\u30AF\u30BB\u30B9\u4F8B\u5916: {0}\u3078\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306F\u3001\u5225\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306B\u3088\u3063\u3066\u66F4\u65B0\u307E\u305F\u306F\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002 -sqlstore.sqlstoremanager.errorcloseresultset=JDO76407: SQL\u7D50\u679C\u30BB\u30C3\u30C8\u3092\u9589\u3058\u308B\u3068\u304D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u4F8B\u5916: {0} -sqlstore.sqlstoremanager.errorclosestatement=JDO76408: SQL\u6587\u3092\u9589\u3058\u308B\u3068\u304D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u4F8B\u5916: {0} -sqlstore.sql.generator.selectqueryplan.plansnotjoined=JDO76409: 1\u3064\u306ERetrieveDesc\u306B\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u306A\u3044\u8907\u6570\u306E\u554F\u5408\u305B\u30D7\u30E9\u30F3\u304C\u3042\u308A\u307E\u3059\u3002 - -# -# -# -sqlstore.sqlstoremanager.executeQuery.exit=<-- SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeQuery=--> SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeupdate.exit=<-- SQLStoreManager.executeUpdate(), rows affected = {0}. -sqlstore.sqlstoremanager.executeupdate=--> SQLStoreManager.executeUpdate(). -sqlstore.sqlstoremanager.executeupdatebatch.addbatch={0}; add batch. -sqlstore.sqlstoremanager.executeupdatebatch.exit=<-- SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.executeupdatebatch.exit.flush=<-- SQLStoreManager.executeUpdateBatch(), rows affected = {0}. -sqlstore.sqlstoremanager.executeupdatebatch.flushbatch={0}; flush batch. -sqlstore.sqlstoremanager.executeupdatebatch=--> SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.getpersistenceconfig=<--> SQLStoreManager.getPersistenceConfig(), classType = {0}. -sqlstore.sqlstoremanager.selectnoncorrelated.exit=<-- SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.selectnoncorrelated=--> SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.vendortype=<--> SQLStoreManager: vendor type = {0}. - - -############################################################################### -# -# Message ID Range: JDO76500 - JDO76599 -############################################################################### -# -# - database -# -connection.connectionmanager.badnew=JDO76500: \u65B0\u898F''{0}''\u306F\u3001\u73FE\u5728\u306E''{1}''\u4EE5\u4E0A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -connection.connectionmanager.badvalue=JDO76501: ''{0}''\u306E\u5024\u304C\u7121\u52B9\u3067\u3059\u3002 -connection.connectionmanager.conntimeout=JDO76502: \u63A5\u7D9A\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u307E\u3057\u305F\u3002 -connection.connectionmanager.getconnection.mismatch=JDO76503: \u30D7\u30FC\u30EB\u3055\u308C\u305F\u63A5\u7D9A\u304C\u540C\u3058\u30E6\u30FC\u30B6\u30FC\u30FB\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -connection.connectionmanager.isdown=JDO76504: \u63A5\u7D9A\u30DE\u30CD\u30FC\u30B8\u30E3\u304C\u30B7\u30E3\u30C3\u30C8\u30FB\u30C0\u30A6\u30F3\u3055\u308C\u3066\u3044\u307E\u3059\u3002 -connection.connectionmanager.maxpool=JDO76505: \u63A5\u7D9A\u30D7\u30FC\u30EB\u304C\u6700\u5927\u3067\u3059\u3002 -connection.connectionmanager.msintervalvalue=JDO76506: MsInterval\u306F\u30BC\u30ED\u3088\u308A\u5927\u304D\u304F\u3001MsWait\u4EE5\u4E0B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -connection.connectionmanager.mswaitvalue=JDO76507: MsWait\u306F\u30BC\u30ED\u4EE5\u4E0A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -connection.connectionmanager.nulldriver=JDO76508: \u30C9\u30E9\u30A4\u30D0\u540D\u304CNULL\u5024\u3002 -connection.connectionmanager.nullurl=JDO76509: URL\u304CNULL\u5024\u3002 -connection.connectionmanager.poolsize=JDO76510: maxPool\u306FminPool\u4EE5\u4E0A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -connection.connectionmanager.threaditerupted=JDO76511: \u30B9\u30EC\u30C3\u30C9\u306F\u4E2D\u65AD\u3055\u308C\u307E\u3057\u305F\u3002 -connection.connectionmanager.zero=JDO76512: {0}\u306F\u30BC\u30ED\u4EE5\u4E0A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -# -# -# -sqlstore.database.dbvendor.cantloadDefaultProperties=JDO76513: \u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3002 -sqlstore.database.dbvendor.init.default=JDO76514: -->\u30D9\u30F3\u30C0\u30FC\u30FB\u30BF\u30A4\u30D7{0}\u306E\u30D7\u30ED\u30D1\u30C6\u30A3\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u304C\u9069\u7528\u3055\u308C\u307E\u3059\u3002 -sqlstore.database.dbvendor.cantinstantiateclass=JDO76515: \u30AF\u30E9\u30B9{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 -# -# -# -sqlstore.database.oracle.defineCol=JDO76516: \u6587\u306E\u5217\u3092\u5B9A\u7FA9\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 -sqlstore.database.oracle.nooracleavailable=JDO76517: Oracle\u30EA\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA{0}\u3092\u521D\u671F\u5316\u3059\u308B\u3068\u304D\u306B\u3001oracle.jdbc.OraclePreparedStatement\u307E\u305F\u306Foracle.jdbc.driver.OraclePreparedStatement\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002Oracle\u5C02\u7528\u306E\u6700\u9069\u5316\u306F\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002\u3053\u306E\u30EA\u30BD\u30FC\u30B9\u3092\u4F7F\u7528\u3059\u308B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304CFixed Char\u5217\u306B\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u305F\u5217\u306E\u30D0\u30A4\u30F3\u30C7\u30A3\u30F3\u30B0\u5024\u3092\u5FC5\u8981\u3068\u3059\u308B\u5834\u5408\u3001\u5BFE\u5FDC\u3059\u308Bdbschema\u30D5\u30A1\u30A4\u30EB\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u9577\u3055\u306E\u7A7A\u767D\u6587\u5B57\u304C\u633F\u5165\u3055\u308C\u307E\u3059\u3002 -sqlstore.database.oracle.fixedcharpadded=JDO76518: \u5024{0}\u306FCHAR\u5217\u306B\u30D0\u30A4\u30F3\u30C9\u3055\u308C\u307E\u3059\u3002\u3053\u306E\u305F\u3081\u3001Oracle\u3067\u306F\u7279\u5225\u306A\u51E6\u7406\u304C\u5FC5\u8981\u3067\u3059\u3002\u30C9\u30E9\u30A4\u30D0\u304B\u3089OraclePreparedStatement\u30AF\u30E9\u30B9\u3092\u53D6\u5F97\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002\u5024\u306B\u306F\u3001\u53D6\u308A\u8FBC\u307E\u308C\u305Fdbschema\u30D5\u30A1\u30A4\u30EB\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u9577\u3055{1}\u306E\u7A7A\u767D\u6587\u5B57\u304C\u633F\u5165\u3055\u308C\u307E\u3059\u3002 -# -# -# -core.configuration.getvendortypefailed=JDO76519: \u30C7\u30FC\u30BF\u30FB\u30B9\u30C8\u30A2\u306E\u30D9\u30F3\u30C0\u30FC\u30FB\u30BF\u30A4\u30D7\u306E\u8B58\u5225\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 -jdo.sqlpersistencemanagerfactory.errorgettingDatabaseInfo=JDO76520: \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u95A2\u3059\u308B\u60C5\u5831\u3092\u53D6\u5F97\u3059\u308B\u3068\u304D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u6B21\u306E\u4F8B\u5916\u3092\u53D6\u5F97\u3057\u307E\u3057\u305F: - -# -# -# -sqlstore.connection.conncectiomgr.found=<--> ConnectionManager.getConnection: found {0}. -sqlstore.connection.conncectiomgr.getnewconn=<--> ConnectionManager.getConnection: new {0}. -sqlstore.connection.conncectiomgr.replacefreeconn=<--> ConnectionManager.replaceFreeConnection: free {0}. -sqlstore.connectionimpl.clearxact.close=--- ConnectionImpl.clearXact: connection closed . -sqlstore.connectionimpl.clearxact.disassocxact=--- ConnectionImpl.clearXact: disassociateXact . -sqlstore.connectionimpl.clearxact=--- ConnectionImpl.clearXact: . -sqlstore.connectionimpl.close.connrelease=<--- ConnectionImpl.close: connection released. -sqlstore.connectionimpl.close.exit=<--- ConnectionImpl.close: connection closed. -sqlstore.connectionimpl.close.freepending=<--- ConnectionImpl.close: set FreePending. -sqlstore.connectionimpl.close.putfreelist=<--- ConnectionImpl.close: put in freeList. -sqlstore.connectionimpl.close.replaced=<--- ConnectionImpl.close: connection replaced. -sqlstore.connectionimpl.close=---> ConnectionImpl.close. -sqlstore.connectionimpl.close_arg=---> ConnectionImpl.close: {0}. -sqlstore.connectionimpl.commit=--- ConnectionImpl.commit: connection closed. -sqlstore.connectionimpl.finalize=--- ConnectionImpl.finalize: connection closed. -sqlstore.connectionimpl.internalcommit=--- ConnectionImpl.internalCommit: . -sqlstore.connectionimpl.pendingdisassocxact=--- ConnectionImpl.clearXact: Pending disassociateXact. -sqlstore.connectionimpl.rollback.close=--- ConnectionImpl.rollback: connection closed. -sqlstore.connectionimpl.rollback=--- ConnectionImpl.rollback:. -# -# -# -sqlstore.database.dbvendor.castRequiredForNumericValues=<-> DBVendorType.isCastRequiredForNumericValues(): {0}. -sqlstore.database.dbvendor.getModFunctionName=<-> DBVendorType.getModFunctionName(): {0}. -sqlstore.database.dbvendor.getNullComparisonFunctionName=<-> DBVendorType.getNullComparisonFunctionName(): {0}. -sqlstore.database.dbvendor.getConcatCast=<-> DBVendorType.getConcatCast(): {0}. -sqlstore.database.dbvendor.getSpecialDBOperation=<-> DBVendorType.getSpecialDBOperation(): {0}. -sqlstore.database.dbvendor.getabs=<-> DBVendorType.getAbs(): {0}. -sqlstore.database.dbvendor.getcharlength=<-> DBVendorType.getCharLength(): {0}. -sqlstore.database.dbvendor.getforupdate=<-> DBVendorType.getForUpdate(): {0}. -sqlstore.database.dbvendor.getholdlock=<-> DBVendorType.getHoldlock(): {0}. -sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull(): {0}. -sqlstore.database.dbvendor.getisnull=<-> DBVendorType.getIsNull(): {0}. -sqlstore.database.dbvendor.getleftjoin=<-> DBVendorType.getLeftJoin(): {0}. -sqlstore.database.dbvendor.getleftjoinpost=<-> DBVendorType.getLeftJoinPost(): {0}. -sqlstore.database.dbvendor.getleftlikeescape=<-> DBVendorType.getLeftLikeEscape(): {0}. -sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}. -sqlstore.database.dbvendor.getposition3args=<-> DBVendorType.getPositionThreeArrgs(): {0}. -sqlstore.database.dbvendor.getposition=<-> DBVendorType.getPosition(): {0}. -sqlstore.database.dbvendor.getpositionin=<-> DBVendorType.getPositionIn(): {0}. -sqlstore.database.dbvendor.getpositionsrchsrc=<-> DBVendorType.getPositionSearchSource(): {0}. -sqlstore.database.dbvendor.getquotecharstart=<-> DBVendorType.getQuoteCharStart(): {0}. -sqlstore.database.dbvendor.getrightjoinipre=<-> DBVendorType.getRightJoin(): {0}. -sqlstore.database.dbvendor.getrightlikeescape=<-> DBVendorType.getRightLikeEscape(): {0}. -sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim(): {0}. -sqlstore.database.dbvendor.getrtrimpost=<-> DBVendorType.getRtrimPost(): {0}. -sqlstore.database.dbvendor.getsqrt=<-> DBVendorType.getSqrt(): {0}. -sqlstore.database.dbvendor.getstringconcat=<-> DBVendorType.getStringConcat(): {0}. -sqlstore.database.dbvendor.getsubstring=<-> DBVendorType.getSubstring(): {0}. -sqlstore.database.dbvendor.getsubstringfor=<-> DBVendorType.getSubstringFor(): {0}. -sqlstore.database.dbvendor.getsubstringfrom=<-> DBVendorType.getSubstringFrom(): {0}. -sqlstore.database.dbvendor.gettablelistend=<-> DBVendorType.getTableListEnd(): {0}. -sqlstore.database.dbvendor.gettableliststart=<-> DBVendorType.getTableListStart(): {0}. -sqlstore.database.dbvendor.isAnsiTrim=<-> DBVendorType.isAnsiTrim(): {0}. -sqlstore.database.dbvendor.isInlineNumeric=<-> DBVendorType.isInlineNumeric(): {0}. -sqlstore.database.dbvendor.isNativeOuterJoin=<-> DBVendorType.isNativeOuterJoin(): {0}. -sqlstore.database.dbvendor.isParameterCast=<-> DBVendorType.isParameterCast(): {0}. -sqlstore.database.dbvendor.isdistinctupdatelocksupported=<-> DBVendorType.isDistinctSupportedWithUpdateLock(): {0}. -sqlstore.database.dbvendor.islockcolumnlistsupported=<-> DBVendorType.isLockColumnListSupported(): {0}. -sqlstore.database.dbvendor.isupdatelocksupported=<-> DBVendorType.isUpdateLockSupported(): {0}. -sqlstore.database.dbvendor.mapemptystrtonull=<-> DBVendorType.mapEmptyStringToNull(): {0}. -sqlstore.database.dbvendor.overrideproperties.with=<-> DBVendorType.overrideProperties() : {0} with: {1}. -sqlstore.database.dbvendor.overrideproperties=<-> DBVendorType.overrideProperties() - NONE. -sqlstore.database.dbvendor.supportslikeescape=<-> DBVendorType.supportsLikeEscape(): {0}. -sqlstore.database.dbvendor.vendorname=<-> DBVendorType(), vendorName: [{0}] vendorType: {1}. -# -# -# -sqlstore.transactionimpl.call.info={0} Tran[ {1} ].{2}: {3} for {4}. -sqlstore.transactionimpl.call={0} Tran[ {1} ].{2}:status = {3}, txType: {4} for {5}. -sqlstore.transactionimpl.closeconnection=--- TransactionImpl.closeConnection() {0} for {1}. -sqlstore.transactionimpl.general={0}. -sqlstore.transactionimpl.getconnection=--- TransactionImpl.getConnection(): {0} TX optimistic: {1} referenceCount = {2} for {3}. -sqlstore.transactionimpl.releaseconnection=--- TransactionImpl.releaseConnection(): TX optimistic: {0} Inside Commit: {1} referenceCount: {2} for {3}. -sqlstore.transactionimpl.rollbackconnection=--- TransactionImpl.rollbackConnection(): {0} for {1}. -sqlstore.transactionimpl.status={0} Tran[ {1} ].setStatus: {2} => {3} for {4}. - - -############################################################################### -# All the source files under subdir ejb. -# Message ID Range: JDO76600 - JDO76699 -############################################################################### -# -#EJBHelper messages -# -# {0} - method name -ejb.ejbhelper.nonmanaged=JDO76600: \u975E\u7BA1\u7406\u5BFE\u8C61\u74B0\u5883\u3067\u306F\u30E1\u30BD\u30C3\u30C9{0}\u3092\u547C\u3073\u51FA\u305B\u307E\u305B\u3093\u3002 - -# -# Common messages between SunContainerHelper and DeploymentHelper -# so they have a neutral key, that still starts with "ejb". -# -# {0} - jndi name. -ejb.jndi.lookupfailed=JDO76604: cmp-resource ''{0}''\u306EJNDI\u30EB\u30C3\u30AF\u30FB\u30A2\u30C3\u30D7\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 -JDO76604.diag.cause.1=\u3053\u306EJNDI\u540D\u3092\u6301\u3064CMP\u30EA\u30BD\u30FC\u30B9\u306F\u3001\u3053\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306B\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -JDO76604.diag.cause.2=CMP\u30EA\u30BD\u30FC\u30B9\u306EJNDI\u540D\u306E\u30B9\u30DA\u30EB\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\u3002 -JDO76604.diag.check.1=\u4F7F\u7528\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308B\u30EA\u30BD\u30FC\u30B9\u306EJNDI\u540D\u3092\u78BA\u8A8D\u3057\u307E\u3059\u3002 -JDO76604.diag.check.2=\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308BCMP\u30EA\u30BD\u30FC\u30B9\u306EJNDI\u540D\u3092\u78BA\u8A8D\u3057\u307E\u3059\u3002 - -# {0} - jndi name. -# {1} - returned class name. -ejb.jndi.unexpectedinstance=JDO76605: cmp-resource ''{0}''\u306EJNDI\u30EB\u30C3\u30AF\u30FB\u30A2\u30C3\u30D7\u3067\u3001\u4E88\u671F\u3057\u306A\u3044\u30BF\u30A4\u30D7\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9{1}\u304C\u8FD4\u3055\u308C\u307E\u3057\u305F\u3002 -JDO76605.diag.cause.1=\u3053\u306EJNDI\u540D\u3092\u6301\u3064CMP\u30EA\u30BD\u30FC\u30B9\u306F\u3001jdbc-resource\u307E\u305F\u306Fpersistence-manager-factory-resource\u3092\u53C2\u7167\u3057\u307E\u305B\u3093\u3002 -JDO76605.diag.cause.2=CMP\u30EA\u30BD\u30FC\u30B9\u306EJNDI\u540D\u306E\u30B9\u30DA\u30EB\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\u3002 -JDO76605.diag.check.1=\u4F7F\u7528\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308B\u30EA\u30BD\u30FC\u30B9\u306EJNDI\u540D\u3092\u78BA\u8A8D\u3057\u307E\u3059\u3002 -JDO76605.diag.check.2=\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308BCMP\u30EA\u30BD\u30FC\u30B9\u306EJNDI\u540D\u3092\u78BA\u8A8D\u3057\u307E\u3059\u3002 - -# -# DeploymentHelper messages - ejb -# -# -# -# -ejb.DeploymentHelper.getconnection=Getting connection for JNDI name ''{0}''. - -# The messages JDO76606 through JDO76615 that were originally here -# have been moved to -# cmp/support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties -# As part of INF# -# So do not use these messages. - - -# -#CMPHelper messages -# -ejb.cmphelper.nonmanaged=JDO76613: CMPHelper\u306E\u30A2\u30AF\u30BB\u30B9\u306F\u7121\u52B9\u3067\u3059\u3002\u3053\u306E\u30AF\u30E9\u30B9\u306FCMP\u306E\u30B5\u30DD\u30FC\u30C8\u306E\u307F\u306B\u4F7F\u7528\u3055\u308C\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30FB\u30B5\u30FC\u30D0\u30FC\u306E\u5916\u3067\u547C\u3073\u51FA\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 - -# -#SunTransactionHelper messages -# - -# {0} class name -ejb.SunTransactionHelper.wrongdatasourcetype=JDO76616: \u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u306E\u30BF\u30A4\u30D7\u304C\u4E88\u671F\u3057\u305F\u30BF\u30A4\u30D7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u4E88\u671F\u3055\u308C\u308B\u30BF\u30A4\u30D7: com.sun.appserv.jdbc.DataSource got: {0}\u3002 - - -############################################################################### -# -############################################################################### -# -# -# -vendor=Sun Microsystems -# majorVersion (minorVersion) buildDate -fullVersion={0} ({1}) {2} -# -# -# -core.generic.unknownfield=The field {0} is not a member of the class {1}. -core.generic.unknownexception=Got an unknown exception. -core.generic.nullparam=The {0} parameter is null. -core.generic.notinstanceof=The object of class {0} is not an instance of {1}. - - -############################################################################### -# -############################################################################### -core.configuration.cantloadclass=\u30AF\u30E9\u30B9{0}\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 -sqlstore.exception.log=\u4F8B\u5916\u3002 -jdo.lifecycle.deleted.accessField=\u524A\u9664\u3055\u308C\u305F\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002 diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_ko.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_ko.properties deleted file mode 100644 index 88e9874a678..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_ko.properties +++ /dev/null @@ -1,643 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# Resource bundle for sqlstore runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Please note that many package names and classnames have changed over time. -# Unfortunately, this file was not maintained to follow above convention. -# Please ignore if the package/class name does not match actual names as today. -# -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 76. -# -# This file is divided into the following sections: -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# 1. JDO: PersistenceManagerFactory/PersistenceManager/ExtentCollection/LifeCycle -# 2. Model -# 3. StateManager -# 4. sql generator components: RetrieveDesc, ResultDesc plus all the files under generator subdir -# 5. SQLStoreManager -# 6. Connection/Connectionpool/Transaction/DBVendorType -# 7. EJB integration. -# 8. Generic messages. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -#################################################################################################### -# -# Message ID Range: JDO76000 - JDO76099 -#################################################################################################### -jdo.persistencemanagerfactoryimpl.getpersistencemanager.error=JDO76000: \uAC19\uC740 \uD2B8\uB79C\uC7AD\uC158\uC5D0\uC11C \uC5EC\uB7EC \uC0AC\uC6A9\uC790 \uC774\uB984/\uBE44\uBC00\uBC88\uD638 \uC870\uD569\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerfactoryimpl.getpersistencemanager.notconfigured=JDO76001: PersistenceManagerFactory\uAC00 \uAD6C\uC131\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerfactoryimpl.notsupported=JDO76002: \uB0B4\uBD80 PersistenceManagerFactoryImpl\uC5D0\uB294 \uC791\uC5C5\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.acquireexclusivelock.interrupted=JDO76003: InterruptedException \uB54C\uBB38\uC5D0 \uB2E8\uB3C5 \uC7A0\uAE08\uC744 \uC5BB\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.acquiresharelock.failed=JDO76004: _readWriteCount\uAC00 0\uBCF4\uB2E4 \uC791\uAE30 \uB54C\uBB38\uC5D0 \uACF5\uC720 \uC7A0\uAE08\uC744 \uC5BB\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.acquiresharelock.interrupted=JDO76005: InterruptedException \uB54C\uBB38\uC5D0 \uACF5\uC720 \uC7A0\uAE08\uC744 \uC5BB\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.another_pm=JDO76006: \uAC1D\uCCB4\uAC00 \uB2E4\uB978 PersistenceManager\uC640 \uC5F0\uAD00\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.assertactivetransaction.error=JDO76007: \uC774 \uC9C0\uC18D\uC131 \uAD00\uB9AC\uC790\uC5D0 \uC5F0\uAD00\uB41C \uD2B8\uB79C\uC7AD\uC158\uC774 \uD65C\uC131\uD654\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.assertclosed.closed=JDO76008: PersistenceManager\uAC00 \uB2EB\uD614\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.assertpersistencecapable.error=JDO76009: {0} \uD074\uB798\uC2A4\uAC00 \uD22C\uBA85\uD55C \uC9C0\uC18D\uC131\uC6A9\uC73C\uB85C \uD5A5\uC0C1\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC2E4\uD589 \uC804\uC5D0 IDE\uC758 JAR \uB610\uB294 WAR \uD328\uD0A4\uC800\uB97C \uC0AC\uC6A9\uD574\uC11C \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uB97C \uD328\uD0A4\uC9C0\uD654\uD558\uC2ED\uC2DC\uC624. \uB610\uB294 \uC8FC \uD074\uB798\uC2A4\uC758 \uC2E4\uD589\uC790 \uC18D\uC131\uC744 IDE\uC5D0\uC11C \uC2E4\uD589\uD560 \uC9C0\uC18D\uC131 \uC2E4\uD589\uC790\uB85C \uC124\uC815\uD558\uC2ED\uC2DC\uC624. -jdo.persistencemanagerimpl.close.activetransaction=JDO76010: \uC774 \uC9C0\uC18D\uC131 \uAD00\uB9AC\uC790\uC5D0 \uC5F0\uAD00\uB41C \uC5F4\uB9B0 \uD2B8\uB79C\uC7AD\uC158\uC774 \uC788\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.fetchinstance.none=JDO76012: \uC774 ObjectId\uC5D0 \uD574\uB2F9\uD558\uB294 \uAC1D\uCCB4\uB97C \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.internaldeletepersistent.transient=JDO76014: \uBE44\uC9C0\uC18D\uC131 \uAC1D\uCCB4\uB97C \uC0AD\uC81C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.internalmakepersistent.dups=JDO76015: \uC774 PersistenceManager \uCE90\uC2DC\uC5D0 \uAC19\uC740 \uAE30\uBCF8 \uD0A4\uB97C \uAC00\uC9C4 \uC778\uC2A4\uD134\uC2A4\uAC00 \uC874\uC7AC\uD569\uB2C8\uB2E4. -jdo.persistencemanagerimpl.loadclassforoid.wrongoidclass=JDO76016: OID\uC5D0\uC11C \uAC1D\uCCB4 \uD074\uB798\uC2A4\uB97C \uAC80\uC0C9\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.newscoinstance.wrongclass=JDO76017: {0} \uD074\uB798\uC2A4\uC758 SCO \uC778\uC2A4\uD134\uC2A4\uB294 \uC801\uD569\uD55C \uC720\uD615\uC774 \uC544\uB2C8\uAE30 \uB54C\uBB38\uC5D0 \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.notprocessed=JDO76018: \uC21C\uD658 \uC885\uC18D\uC131 \uB54C\uBB38\uC5D0 \uC9C0\uC18D\uC131 \uC778\uC2A4\uD134\uC2A4\uB97C \uBE44\uC6B8 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.releaseexclusivelock.failed=JDO76019: _readWriteCount\uAC00 0\uBCF4\uB2E4 \uD06C\uAE30 \uB54C\uBB38\uC5D0 \uB2E8\uB3C5 \uC7A0\uAE08\uC744 \uD574\uC81C\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.releasesharelock.failed=JDO76020: _readWriteCount\uAC00 0\uC774\uAE30 \uB54C\uBB38\uC5D0 \uACF5\uC720 \uC7A0\uAE08\uC744 \uD574\uC81C\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerwrapper.invalidpm=JDO76021: PersistenceManagerWrapper\uAC00 \uB2EB\uD614\uC2B5\uB2C8\uB2E4. -jdo.extentcollection.constructor.invalidclass=JDO76022: \uBC94\uC704 \uBAA8\uC74C\uC758 ''{0}'' \uD074\uB798\uC2A4\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -jdo.extentcollection.constructor.nonpc=JDO76023: ''{0}'' \uD074\uB798\uC2A4\uB294 \uC9C0\uC18D\uC131\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. -jdo.extentcollection.constructor.subclasses=JDO76024: \uBC94\uC704 \uBAA8\uC74C\uC5D0\uB294 \uD558\uC704 \uD074\uB798\uC2A4 true \uC635\uC158\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jdo.extentcollection.illegalmodification=JDO76025: ''{0}'' \uD074\uB798\uC2A4\uC758 \uBC94\uC704 \uBAA8\uC74C\uC5D0 \uC798\uBABB\uB41C \uC218\uC815 \uC0AC\uD56D\uC774 \uC788\uC2B5\uB2C8\uB2E4. -jdo.extentcollection.methodnotsupported=JDO76026: \uBC94\uC704 \uBAA8\uC74C \uBA54\uC18C\uB4DC {0}\uC740(\uB294) \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jdo.lifecycle.xactnotactive=JDO76027: \uC774 \uC791\uC5C5\uC744 \uC218\uD589\uD558\uB824\uBA74 \uD65C\uC131 \uD2B8\uB79C\uC7AD\uC158\uC774 \uD544\uC694\uD569\uB2C8\uB2E4. -jdo.persistencemanagerimpl.newinstance.badsm=JDO76028: StateManager\uAC00 \uC644\uC804\uD788 \uAD6C\uC131\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4! -jdo.persistencemanagerimpl.setjtatransaction.notnulljta=JDO76029: \uB110\uC774 \uC544\uB2CC javax.transaction.Transaction \uBCC0\uACBD \uC2DC\uB3C4: {0}\uC5D0\uC11C {1}(\uC73C)\uB85C \uBCC0\uACBD\uD569\uB2C8\uB2E4. -jdo.persistencemanagerfactoryimpl.getpersistencemgr.closed=JDO76030: \uC774 javax.transaction.Transaction\uC758 PersistenceManager: {0}\uC774(\uAC00) \uC774\uBBF8 \uB2EB\uD600 \uC788\uAC70\uB098 \uCEE4\uBC0B\uB418\uB294 \uC911\uC785\uB2C8\uB2E4. -jdo.persistencemanagerfactoryimpl.registerpm.registered=JDO76031: javax.transaction.Transaction\uC758 \uC774 \uC778\uC2A4\uD134\uC2A4: {0}\uC740(\uB294) \uC774\uBBF8 \uB2E4\uB978 PersistenceManager: {1}\uC5D0 \uB4F1\uB85D\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerimpl.verificationfailed=JDO76032: \uBC84\uC804 \uC77C\uAD00\uC131\uC744 \uAC00\uC9C4 \uC778\uC2A4\uD134\uC2A4\uAC00 \uB370\uC774\uD130 \uC800\uC7A5\uC18C\uB97C \uD655\uC778\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -jdo.persistencemanagerfactoryimpl.getversionconsistencycache.nullstore=JDO76033: StoreManager\uAC00 \uAD6C\uC131\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. - -# -# -# -sqlstore.state.lifecyclestate.changestate=LifeCycleState.changeState(), old state = {0}, new state = {1}. -sqlstore.state.lifecyclestate.initial=LifeCycleState.getLifeCycleState(), initial state = {0}. - -# -# -# -sqlstore.persistencemgr.acquireexclusivelock.count=acquireExclusiveLock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.acquireexclusivelock=acquireExclusiveock(), thread {0} going to wait. -sqlstore.persistencemgr.acquiresharedlock.rdwrcount=acquireShareLock(), thread {0} acquired shared lock with _readWriteCount ={1}. -sqlstore.persistencemgr.acquiresharedlock=acquireShareLock(), thread {0} going to wait. -sqlstore.persistencemgr.aftercompletion.process=---PersistenceManagerImpl.afterCompletion() process: {0}. -sqlstore.persistencemgr.aftercompletion=---PersistenceManagerImpl.afterCompletion() abort: {0}. -sqlstore.persistencemgr.assertactivetx.closed=--- PersistenceManagerImpl.assertActiveTransaction: Closed for {0}. -sqlstore.persistencemgr.assertactivetx=--- PersistenceManagerImpl.assertActiveTransaction: {0}. -sqlstore.persistencemgr.assertisopen=--- PersistenceManagerImpl.assertIsOpen: Closed for {0}. -sqlstore.persistencemgr.beforecompletion=---PersistenceManagerImpl.beforeCompletion(). -sqlstore.persistencemgr.cacheproperties=PersistenceManagerImpl cache properties: _txCacheInitialCapacity={0}, _flushedCacheInitialCapacity={1}, _flushedCacheLoadFactor={2}, _weakCacheInitialCapacity={3}, _weakCacheLoadFactor={4}. -sqlstore.persistencemgr.deregisterinstance.verified=---PersistenceManagerImpl.deregisterInstance() -- deregistered with verify. -sqlstore.persistencemgr.deregisterinstance.verify=---PersistenceManagerImpl.deregisterInstance() with verify SM -- oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.deregisterinstance=---PersistenceManagerImpl.deregisterInstance() oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getbyobjid=---PersistenceManagerImpl.getObjectById() OID:{0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getcurrentwrapper=---PersistenceManagerImpl.getCurrentWrapper() > current: {0}. -sqlstore.persistencemgr.getobjid.notpc=---PersistenceManagerImpl.getObjectId() NOT PC: {0} - PersistenceManager: {1}. -sqlstore.persistencemgr.getobjid.notpm=---PersistenceManagerImpl.getObjectId() NOT PM: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getobjid= :{0} ---PersistenceManagerImpl.getObjectId() PC: {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.internalcloneoid.old=---PersistenceManagerImpl.internalCloneOid(): old: {0} new: {1} same: {2}. -sqlstore.persistencemgr.internalcloneoid=---PersistenceManagerImpl.internalCloneOid() error: {0}. -sqlstore.persistencemgr.isactivetx=---PersistenceManagerImpl.isActiveTransaction() : {0}. -sqlstore.persistencemgr.isnontxread=---PersistenceManagerImpl.isNontransactionalRead() : {0}. -sqlstore.persistencemgr.isoptimistic=---PersistenceManagerImpl.isOptimisticTransaction() : {0}. -sqlstore.persistencemgr.loadingclass=Loading ... ClassName: {0}. -sqlstore.persistencemgr.loadingfile=Loading ... FileName: {0} {1} {2}. -sqlstore.persistencemgr.makepersistent.done=---PersistenceManagerImpl.makePersistent() {0} finished for: {1} and JTA: {2}. -sqlstore.persistencemgr.makepersistent= {0} ---PersistenceManagerImpl.makePersistent() PC: {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.newcollection=---PersistenceManagerImpl.newCollectionInstanceInternal() type: {0}. -sqlstore.persistencemgr.popcurrentwrapper=---PersistenceManagerImpl.popCurrentWrapper() > current: {0} prev: {1}. -sqlstore.persistencemgr.pushcurrentwrapper=---PersistenceManagerImpl.pushCurrentWrapper() > current: {0} new: {1}. -sqlstore.persistencemgr.registerinstance= {0} ---PersistenceManagerImpl.registerInstance() oid/sm: {1}/{2} for PersistenceManager: {3} and JTA: {4}. -sqlstore.persistencemgr.registerinstancein_txc=registerInstance in TXC :{0} / {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.registerinstancein_wkc=registerInstance in WKC. -sqlstore.persistencemgr.releaseexclusivelock=releaseExclusiveock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.releasesharedlock=releaseShareLock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.replacingdeletedinstance=\uAC1D\uCCB4 ID {0}\uC5D0 \uB300\uD574 \uC0AD\uC81C\uB41C \uC778\uC2A4\uD134\uC2A4\uB97C \uC0C8 \uC778\uC2A4\uD134\uC2A4\uB85C \uBC14\uAFB8\uB294 \uC911 -sqlstore.persistencemgr.setkeyfields=---PersistenceManagerImpl.setKeyFields() error: {0}. -# -# -# -sqlstore.sqlpersistencemgrfactory.getfrompool.pmt=<--SQLPersistenceManagerFactory.getFromPool() PM: {0} - JTA {1}. -sqlstore.sqlpersistencemgrfactory.getfrompool=<--SQLPersistenceManagerFactory.getFromPool(). -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.found= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() found javax.transaction.Transaction: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx.notfound=<->SQLPersistenceManagerFactory.getPersistenceManager() not found JDO Transaction. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx=<->SQLPersistenceManagerFactory.getPersistenceManager() JDO Transaction: {0}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmclosedfor= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() PM is closed for: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmt= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() : {1} - JTA: {2}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr=:{0} -->SQLPersistenceManagerFactory.getPersistenceManager(). -sqlstore.sqlpersistencemgrfactory.init=---SQLPersistenceManagerFactory.initialize(). -sqlstore.sqlpersistencemgrfactory.pmCacheBucketSize=---SQLPersistenceManagerFactory pmCacheBucketSize = {0}. -sqlstore.sqlpersistencemgrfactory.pmCacheInitialCapacity=---SQLPersistenceManagerFactory pmCacheInitialCapacity = {0}. -sqlstore.sqlpersistencemgrfactory.registerpersistencemgr.pmt=<->SQLPersistenceManagerFactory.registerPersistenceManager() PM: {0} - JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.releasepm.pmt=---SQLPersistenceManagerFactory.releasePersistenceManager() PM:{0} - JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.returnToPool=<--SQLPersistenceManagerFactory.returnToPool(). - - -############################################################################### -# -# Message ID Range: JDO76100 - JDO76199 -############################################################################### -core.configuration.columnnotable=JDO76100: \uC5F4 \uAE30\uC220\uC790\uC5D0 \uC801\uD569\uD55C \uD14C\uC774\uBE14 \uAE30\uC220\uC790\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. -core.configuration.fieldnotable=JDO76101: {0} \uD544\uB4DC\uB294 \uC5B4\uB5A4 \uD14C\uC774\uBE14\uC5D0\uB3C4 \uC5F0\uAD00\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -core.configuration.fieldnotmapped=JDO76102: {1} \uD074\uB798\uC2A4\uC758 \uC9C0\uC18D\uC131 \uD544\uB4DC {0}\uC774(\uAC00) \uB9E4\uD551\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -core.configuration.iddescnofield=JDO76103: SqlIDDesc \uAC1D\uCCB4\uAC00 \uC81C\uB300\uB85C \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 \uD544\uB4DC \uAE30\uC220\uC790\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. -core.configuration.loadfailed.class=JDO76104: {0} \uD074\uB798\uC2A4\uC758 \uAD6C\uC131\uC744 \uB85C\uB4DC\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -core.configuration.noneexistentpkfield=JDO76105: ObjectId \uD074\uB798\uC2A4 {1}\uC758 {0} \uD544\uB4DC\uAC00 PersistenceCapable \uD074\uB798\uC2A4 {2}\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -core.configuration.unsupportedconsistencylevel=JDO76106: {0} \uD074\uB798\uC2A4\uC5D0 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uC77C\uAD00\uC131 \uB808\uBCA8\uC774 \uC788\uC2B5\uB2C8\uB2E4. \uD604\uC7AC \uC9C0\uC6D0\uB418\uB294 \uC77C\uAD00\uC131 \uB808\uBCA8\uC740 "none", "check-modified-at-commit", "lock-when-loaded" \uBC0F "check-version-of-accessed-instances"\uC785\uB2C8\uB2E4. -core.configuration.validationfailed=JDO76107: {0} \uD074\uB798\uC2A4\uC758 \uB9E4\uD551\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4.\n{1}. -core.configuration.validationproblem=JDO76108: {0} \uD074\uB798\uC2A4\uC5D0\uC11C \uAC80\uC99D \uC624\uB958 \uBC1C\uC0DD: {1} -# -# -# -core.fielddesc.minvalue=JDO76109: \uAC12: {0}\uC740(\uB294) \uD544\uB4DC \uC720\uD615 {2}\uC5D0 \uD5C8\uC6A9\uB418\uB294 \uCD5C\uC18C\uAC12: {1}\uBCF4\uB2E4 \uC791\uC2B5\uB2C8\uB2E4. -core.fielddesc.maxvalue=JDO76110: \uAC12: {0}\uC740(\uB294) \uD544\uB4DC \uC720\uD615 {2}\uC5D0 \uD5C8\uC6A9\uB418\uB294 \uCD5C\uB300\uAC12: {1}\uBCF4\uB2E4 \uD07D\uB2C8\uB2E4. -core.configuration.noneexistentvcfield=JDO76111: {0} \uD544\uB4DC\uB294 \uBC84\uC804 \uD544\uB4DC\uB85C \uD45C\uC2DC\uB418\uC9C0\uB9CC PersistenceCapable \uD074\uB798\uC2A4 {1}\uC5D0\uB294 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -core.configuration.loadfailed.field=JDO76112: {1} \uD074\uB798\uC2A4\uC758 {0} \uD544\uB4DC\uC5D0 \uB300\uD55C \uAD6C\uC131\uC744 \uB85C\uB4DC\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. - -# -# -# -sqlstore.model.classdesc.assocrelatedfield=associated relationship field = {0}. -sqlstore.model.classdesc.createsqldesc=creating SqlIDDesc from {0}. -sqlstore.model.classdesc.fieldinfo=field name = {0}, id= {1}. -sqlstore.model.classdesc.general={0}.{1} =>{2} -sqlstore.model.classdesc.getlocalfielddesc=<-> SqlPersistenceDesc.getLocalFieldDesc(), class ={0} added hidden field {1} for column {2}. -sqlstore.model.classdesc.loadedclass=Successfully loaded oid class= {0}. -sqlstore.model.classdesc.persistconfiginit.exit=<-- SqlPersistenceConfig.initialize(). -sqlstore.model.classdesc.persistconfiginit=--> SqlPersistenceConfig.initialize(), class = {0}. -sqlstore.model.classdesc.pkfield=PK \uD544\uB4DC = {0}. -sqlstore.model.classdesc.primarytrackedfield={0} \uD544\uB4DC\uAC00 \uCD94\uC801\uB41C \uAE30\uBCF8 \uD544\uB4DC\uC785\uB2C8\uB2E4. -sqlstore.model.classdesc.unsetconcurrencychk=lf {0}\uC5D0 \uB300\uD55C IN_CONCURRENCY_CHECK \uC18D\uC131 \uC124\uC815\uC744 \uD574\uC81C\uD558\uB294 \uC911 -sqlstore.model.classdesc.unsetrefintegrityupdate=ff {0}\uC5D0 \uB300\uD55C REF_INTEGRITY_UPDATES \uC18D\uC131 \uC124\uC815\uC744 \uD574\uC81C\uD558\uB294 \uC911 -sqlstore.model.classdesc.vcfield=\uBC84\uC804 \uC77C\uAD00\uC131 \uD544\uB4DC = {0}. -sqlstore.model.fielddesc.addingfield={0} \uD544\uB4DC\uAC00 {1} \uD544\uB4DC\uC5D0 \uC758\uD574 \uCD94\uC801\uB418\uB3C4\uB85D \uCD94\uAC00\uD558\uB294 \uC911 -sqlstore.model.fielddesc.convertvalue.from_to=convertValue: {0} From: {1} To: {2}. -sqlstore.model.fielddesc.convertvalue.hidden=convertValue: hidden {0} ... return. -sqlstore.model.fielddesc.convertvalue=convertValue: NULL ... return. -sqlstore.model.fielddesc.fieldname={0} = {1}. -sqlstore.model.fielddesc.setupdesc=setupDesc(): fieldName {0} fieldType {1}. -sqlstore.model.configcacheimpl.size_before=\uC815\uB9AC \uC804 {0} \uD06C\uAE30: {1}. -sqlstore.model.configcacheimpl.size_after=\uC815\uB9AC \uD6C4 {0} \uD06C\uAE30: {1}. - - -############################################################################### -# -# Message ID Range: JDO76200 - JDO76299 -############################################################################### -core.statemanager.anotherowner=JDO76200: \uB2E4\uB978 \uAC1D\uCCB4\uC5D0\uC11C \uC18C\uC720\uD55C SCO \uC778\uC2A4\uD134\uC2A4\uB294 \uC9C0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -core.statemanager.cantnewoid=JDO76201: {0} \uD074\uB798\uC2A4\uC758 \uC0C8 \uAE30\uBCF8 \uD0A4 \uC778\uC2A4\uD134\uC2A4\uB97C \uC0DD\uC131\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -core.statemanager.cantschedulejointable=JDO76202: \uAD00\uACC4 \uD544\uB4DC \uC124\uBA85\uC774 \uB110\uC774\uAE30 \uB54C\uBB38\uC5D0 {0} \uD074\uB798\uC2A4\uC640 {1}\uC758 \uC870\uC778 \uD14C\uC774\uBE14 \uD56D\uBAA9\uC744 \uC608\uC57D\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -core.statemanager.cantsetkeyfield=JDO76203: \uAE30\uBCF8 \uD0A4 \uD544\uB4DC {0}\uC758 \uAC12\uC744 \uC124\uC815\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -core.statemanager.conflictingvalues=JDO76204: \uAC19\uC740 \uC5F4\uC5D0 \uB9E4\uD551\uB41C {0} \uD544\uB4DC \uAC12\uACFC {1} \uD544\uB4DC \uAC12 \uC0AC\uC774\uC5D0 \uCDA9\uB3CC\uC774 \uC788\uC2B5\uB2C8\uB2E4. -core.statemanager.getfieldfailed=JDO76205: \uD544\uB4DC\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -core.statemanager.invalidpk=JDO76206: \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4 {1}\uC758 \uC778\uC2A4\uD134\uC2A4\uB97C \uC7AC\uB85C\uB4DC\uD560 \uB54C \uBD80\uC801\uD569\uD55C \uB110 \uAE30\uBCF8 \uD0A4 \uD544\uB4DC {0}\uC774(\uAC00) \uC0AC\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC778\uC2A4\uD134\uC2A4\uC758 ObjectId\uB294 {2}\uC785\uB2C8\uB2E4. -core.statemanager.nopkupdate=JDO76207: \uAE30\uBCF8 \uD0A4 \uD544\uB4DC \uC5C5\uB370\uC774\uD2B8\uB294 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -core.statemanager.nopm=JDO76208: \uC0C1\uD0DC \uAD00\uB9AC\uC790\uC5D0 \uC9C0\uC18D\uC131 \uAD00\uB9AC\uC790\uC5D0 \uB300\uD55C \uCC38\uC870\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. -core.statemanager.notnavigable=JDO76209: {1} \uD074\uB798\uC2A4\uC758 {0} \uD544\uB4DC\uC5D0 \uC561\uC138\uC2A4\uB97C \uC2DC\uB3C4\uD588\uC2B5\uB2C8\uB2E4. \uC774 \uD544\uB4DC\uB294 \uC0AC\uC804\uC5D0 \uC778\uC2A4\uD134\uC2A4\uD654\uAC00 \uB418\uC9C0 \uC54A\uC558\uC73C\uBA70 \uC774 \uD074\uB798\uC2A4\uB294 \uB3D9\uC801 \uD0D0\uC0C9\uC744 \uD5C8\uC6A9\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uD074\uB798\uC2A4\uB97C \uAC80\uC0C9\uD560 \uB54C \uD544\uB4DC\uB97C \uC694\uCCAD\uD558\uAC70\uB098 \uB3D9\uC801 \uD0D0\uC0C9\uC744 \uD5C8\uC6A9\uD558\uC5EC \uC561\uC138\uC2A4 \uC2DC \uC790\uB3D9\uC73C\uB85C \uAC80\uC0C9\uD560 \uC218 \uC788\uB3C4\uB85D \uD574\uC57C \uD569\uB2C8\uB2E4. -core.statemanager.objectnotfound=JDO76210: \uB370\uC774\uD130 \uC800\uC7A5\uC18C\uC5D0 \uAC1D\uCCB4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -core.statemanager.poshiddenindex=JDO76211: \uC228\uACA8\uC9C4 \uD544\uB4DC\uC5D0 \uB300\uD55C \uC0C9\uC778\uC740 \uC74C\uC218 \uAC12\uC774\uC5B4\uC57C \uD558\uC9C0\uB9CC {0} \uC0C9\uC778\uC744 \uAC00\uC838\uC654\uC2B5\uB2C8\uB2E4. -core.statemanager.readonly=JDO76212: {1} \uD074\uB798\uC2A4\uC758 \uC77D\uAE30 \uC804\uC6A9 \uD544\uB4DC {0}\uC744(\uB97C) \uC218\uC815\uD558\uB824\uACE0 \uC2DC\uB3C4\uD588\uC2B5\uB2C8\uB2E4. -core.statemanager.releaselock.wrongthread=JDO76213: \uC774 {0} \uC2A4\uB808\uB4DC\uC5D0\uB294 StateManager \uC7A0\uAE08\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. -core.statemanager.setfieldfailed=JDO76214: \uD544\uB4DC\uB97C \uC124\uC815\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -core.statemanager.wrongusageforoverlappingpkfkdelete=JDO76215: \uAD00\uB9AC \uB300\uC0C1 \uAD00\uACC4\uC5D0\uC11C \uC778\uC2A4\uD134\uC2A4\uB97C \uC81C\uAC70\uD558\uB824\uB294 \uC798\uBABB\uB41C \uC2DC\uB3C4\uAC00 \uC788\uC5C8\uC2B5\uB2C8\uB2E4. \uAD00\uACC4\uB294 \uB2E4\uB978 \uCABD\uC758 \uAE30\uBCF8 \uD0A4 \uC5F4\uC5D0\uC11C \uC815\uC758\uB429\uB2C8\uB2E4. \uBAA8\uC74C\uC5D0\uC11C \uC81C\uAC70 \uC791\uC5C5\uC744 \uC218\uD589\uD558\uB824\uBA74 \uB2E4\uB978 \uCABD \uC5F4\uC744 \uC5C5\uB370\uC774\uD2B8\uD574\uC57C \uD558\uBA70, \uAE30\uBCF8 \uD0A4 \uC5C5\uB370\uC774\uD2B8\uB294 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB530\uB77C\uC11C \uAE30\uBCF8 \uD0A4\uB85C \uC815\uC758\uB41C \uAD00\uB9AC \uB300\uC0C1 \uAD00\uACC4 \uBAA8\uC74C\uC5D0\uC11C \uC778\uC2A4\uD134\uC2A4\uB97C \uC81C\uAC70\uD558\uB824\uBA74 \uBA85\uC2DC\uC801 \uC0AD\uC81C \uB610\uB294 \uBAA8\uB450 \uC0AD\uC81C\uB97C \uD1B5\uD574 \uC778\uC2A4\uD134\uC2A4\uB97C \uC0AD\uC81C\uD574\uC57C \uD569\uB2C8\uB2E4. -core.statemanager.toomanyrows=JDO76215: {0} \uD074\uB798\uC2A4\uC5D0 \uB9E4\uD551\uB41C \uD14C\uC774\uBE14 \uC911 \uD558\uB098\uC5D0 \uB300\uD574 \uB450 \uAC1C \uC774\uC0C1\uC758 \uD589\uC774 \uBC18\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uD074\uB798\uC2A4\uC5D0 \uB9E4\uD551\uB41C \uAC01 \uD14C\uC774\uBE14\uC5D0\uB294 \uAC1D\uCCB4\uC758 \uAC01 \uC778\uC2A4\uD134\uC2A4\uB97C \uC704\uD55C \uD589\uC774 \uD558\uB098\uB9CC \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4. -core.statemanager.copyFields.mismatch=JDO76216: \uC11C\uB85C \uB2E4\uB978 \uC720\uD615\uC758 \uC778\uC2A4\uD134\uC2A4: {0}\uACFC(\uC640) {1}\uC744(\uB97C) \uAD00\uB9AC\uD558\uB294 \uD544\uB4DC\uB97C \uD558\uB098\uC758 StateManager\uC5D0\uC11C \uB2E4\uB978 StateManager\uB85C \uBCF5\uC0AC\uD558\uB824\uB294 \uC2DC\uB3C4. - -# -# -# -sqlstore.sqlstatemanager.adddependency=<-> SQLStateManager.addDependency(), this StateManager: {0}, other StateManager: {1}. -sqlstore.sqlstatemanager.addupdate=<-> SQLStateManager.addUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.applyupdates.exit=<-- SqlStateManager.applyUpdates(). -sqlstore.sqlstatemanager.applyupdates=--> SqlStateManager.applyUpdates(), field = {0}. -sqlstore.sqlstatemanager.clearpersistencefields.exit=<--- SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.clearpersistencefields=--> SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.copychanges.exit=<-- SQLStateManager.copyChanges(). -sqlstore.sqlstatemanager.copychanges=--> SQLStateManager.copyChanges(), state manager = {0}. -sqlstore.sqlstatemanager.deletepersistence=<-> SqlStateManager.deletePersistence(), type = {0}. -sqlstore.sqlstatemanager.getbeforeimage.exit=<-- SqlStateManager.getBeforeImage(). -sqlstore.sqlstatemanager.getbeforeimage=--> SqlStateManager.getBeforeImage(), type = {0}. -sqlstore.sqlstatemanager.isbeforeimagerequired=isBeforeImageRequired : {0}. -sqlstore.sqlstatemanager.loadforread.exit=<-- SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforread=--> SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforupdate.exit=<-- SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loadforupdate=--> SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loggingfield=logging field = {0} with value = {1}. -sqlstore.sqlstatemanager.makedirty.fixscocollection=--- SqlStateManager.makeDirty(), fix SCOCollection. -sqlstore.sqlstatemanager.makedirty.fixscodate=--- SqlStateManager.makeDirty(), fix SCODate. -sqlstore.sqlstatemanager.makedirty=--> SqlStateManager.makeDirty(), field = {0}. -sqlstore.sqlstatemanager.makedirtyfield=marked dirty field = {0}. -sqlstore.sqlstatemanager.makepersistence=<-> SqlStateManager.makePersistence(), type = {0}. -sqlstore.sqlstatemanager.makepresent=--> SqlStateManager.makePresent(), field = {0}. -sqlstore.sqlstatemanager.marking=marking: {0} as present. -sqlstore.sqlstatemanager.newtype=New Type: {0}. -sqlstore.sqlstatemanager.nosuchmethodexcep.clone=Exception : {0} clone ... for type {1}. -sqlstore.sqlstatemanager.preparegetfield.exit=<-- SqlStateManager.prepareGetField(). -sqlstore.sqlstatemanager.preparegetfield=--> SqlStateManager.prepareGetField(), name = {0}. -sqlstore.sqlstatemanager.preparesetfield.exit=<-- SQLStateManager.prepareSetField(). -sqlstore.sqlstatemanager.preparesetfield=--> SQLStateManager.prepareSetField(), name = {0}. -sqlstore.sqlstatemanager.preparetoupdateph1.exit=<-- SqlStateManager.prepareToUpdateI(). -sqlstore.sqlstatemanager.preparetoupdateph1=--> SqlStateManager.prepareToUpdatePhaseI(), type = {0}. -sqlstore.sqlstatemanager.preparetoupdateph2.exit=<-- SqlStateManager.prepareToUpdateII(). -sqlstore.sqlstatemanager.preparetoupdateph2=--> SqlStateManager.prepareToUpdatePhaseII(), type = {0}. -sqlstore.sqlstatemanager.preparetoupdateph3.exit=<-- SqlStateManager.prepareToUpdateIII(). -sqlstore.sqlstatemanager.preparetoupdateph3=--> SqlStateManager.prepareToUpdatePhaseIII(), type = {0}. -sqlstore.sqlstatemanager.prepareupdatefield.exit=<-- SQLStateManager.prepareUpdateField(). -sqlstore.sqlstatemanager.prepareupdatefield=--> SQLStateManager.prepareUpdateField(), name = {0} for state: {1}. -sqlstore.sqlstatemanager.prepareupdatefieldspl.exit=<-- SQLStateManager.prepareUpdateFieldSpecial(). -sqlstore.sqlstatemanager.prepareupdatefieldspl=--> SQLStateManager.prepareUpdateFieldSpecial, name = {0} for state: {1}. -sqlstore.sqlstatemanager.processcollectionupdate.exit=<-- SQLStateManager.processCollectionUpdates(). -sqlstore.sqlstatemanager.processcollectionupdate=--> SQLStateManager.processCollectionUpdates(), beforeList={0}, afterlist={1}. -sqlstore.sqlstatemanager.processforeign=process foreign field ={0}. -sqlstore.sqlstatemanager.processforeignfield.remove=-- SQLStateManager.processForeignField(): was Collection - remove. -sqlstore.sqlstatemanager.processforeignfield.remove_from_bi=-- SQLStateManager.processForeignField(): is SCOCollection - remove from BI. -sqlstore.sqlstatemanager.processforeignfield.reset=-- SQLStateManager.processForeignField(): was SCOCollection - reset. -sqlstore.sqlstatemanager.processforeignfield=-- SQLStateManager.processForeignField(): value: {0} type: {1}. -sqlstore.sqlstatemanager.realizefield.exit=<-- SqlStateManager.realizeField(). -sqlstore.sqlstatemanager.realizefield=--> SqlStateManager.realizeField(), name = {0}. -sqlstore.sqlstatemanager.realizeforeignfield.exit=<-- SqlStateManager.realizeField(), field realized = {0}. -sqlstore.sqlstatemanager.realizeforeignfield=--> SqlStateManager.realizeField(), name = {0}. -sqlstore.sqlstatemanager.recordingfield=recording field = {0}. -sqlstore.sqlstatemanager.refreshpersistent.exit=<-- SqlStateManager.refreshPersistent(). -sqlstore.sqlstatemanager.refreshpersistent=--> SqlStateManager.refreshPersistence(), type = {0}. -sqlstore.sqlstatemanager.reload.exit=<-- SqlStateManager.reload(FieldDesc). -sqlstore.sqlstatemanager.reload=--> SqlStateManager.reload(FieldDesc), type = {0}, field = {1}. -sqlstore.sqlstatemanager.removeupdate=<-> SQLStateManager.removeUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.replaceobjectfield.unsetsco=-- SqlStateManager.replaceObjectField(), unset SCO. -sqlstore.sqlstatemanager.replaceobjectfield=-- SqlStateManager.replaceObjectField(), field = {0}, type= {1}. -sqlstore.sqlstatemanager.reset=--> SqlStateManager.reset(), retValues = {0}, wasNew: {1}, keepState: {2}. -sqlstore.sqlstatemanager.resettingcollection=\uBAA8\uC74C \uC7AC\uC124\uC815 \uC911 -sqlstore.sqlstatemanager.resettingdate=\uB0A0\uC9DC \uC7AC\uC124\uC815 \uC911 -sqlstore.sqlstatemanager.resolvedependencies=<-> SQLStateManager.resolveDependencies(), obj={0}. -sqlstore.sqlstatemanager.resolvedependency=<-> SQLStateManager.resolveDependency(), dependency resolved: lobj={0}, f={1}, fobj={2}. -sqlstore.sqlstatemanager.retrieve.exit=<-- SqlStateManager.retrieve(). -sqlstore.sqlstatemanager.retrieve=--> SqlStateManager.retrieve(), name = {0}. -sqlstore.sqlstatemanager.retrieveforeign.exit=<-- SqlStateManager.retrieveForeign(). -sqlstore.sqlstatemanager.retrieveforeign=--> SqlStateManager.retrieveForeign(), name = {0}. -sqlstore.sqlstatemanager.unsetmask=unsetting masks for field = {0}. -sqlstore.sqlstatemanager.unconditionalreload.exit=<-- SqlStateManager.reload(). -sqlstore.sqlstatemanager.unconditionalreload=--> SqlStateManager.reload(), type = {0}. -sqlstore.sqlstatemanager.updatebeforeimage=<-> SQLStateManager.updateBeforeImage(), name = {0}, value = {1}. -sqlstore.sqlstatemanager.updateobjfield.exit=<-- SQLStateManager.updateObjectField(). -sqlstore.sqlstatemanager.updateobjfield=--> SQLStateManager.updateObjectField(), name = {0}, type = {1}. -sqlstore.sqlstatemanager.updatepersistent.exit=<-- SqlStateManager.updatePersistent(). -sqlstore.sqlstatemanager.updatepersistent.immediateflush=<--> SqlStateManager.updatePersistent(), immediate flush required: obj={0}, next={1}. -sqlstore.sqlstatemanager.updatepersistent.skipped=<--> SqlStateManager.updatePersistent() skipped, type ={0}, obj= {1}. -sqlstore.sqlstatemanager.updatepersistent=--> SqlStateManager.updatePersistent(), type = {0}. -sqlstore.sqlstatemanager.updatetrackedfields.exit=<-- updateTrackedFields(). -sqlstore.sqlstatemanager.updatetrackedfields=--> updateTrackedFields(), f = {0} value = {1} fieldToIgnore = {2}. - - -############################################################################### -# -# Message ID Range: JDO76300 - JDO76399 -############################################################################### -core.constraint.duporderby=JDO76300: \uC81C\uC57D \uC870\uAC74\uC740 "order by" \uC81C\uC57D \uC870\uAC74\uC5D0 \uC774\uBBF8 \uC9C0\uC815\uB41C \uD544\uB4DC {0}\uC5D0 \uB300\uD55C "order by"\uC785\uB2C8\uB2E4. -core.constraint.fielddisallowed=JDO76301: fieldName \uB9E4\uAC1C\uBCC0\uC218\uAC00 \uC9C0\uC815\uB418\uC5C8\uC9C0\uB9CC {0} \uC791\uC5C5\uC5D0\uB294 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -core.constraint.fieldrequired=JDO76302: fieldName \uB9E4\uAC1C\uBCC0\uC218\uAC00 \uB204\uB77D\uB418\uC5C8\uC9C0\uB9CC {0} \uC791\uC5C5\uC5D0\uB294 \uD544\uB4DC\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. -core.constraint.illegalParameterInfo=JDO76303: OP_PARAMETER\uC5D0 \uB300\uD55C addConstraint()\uB294 ParameterInfo \uC720\uD615\uC758 \uAC12\uACFC \uD568\uAED8 \uD638\uCD9C\uD574\uC57C \uD569\uB2C8\uB2E4. -core.constraint.illegalnode=JDO76304: SqlConstraint \uC2A4\uD0DD\uC5D0 \uC798\uBABB\uB41C \uC81C\uC57D \uC870\uAC74 \uB178\uB4DC {0}\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4. -core.constraint.illegalop=JDO76305: \uC791\uC5C5 \uB9E4\uAC1C\uBCC0\uC218\uC5D0 \uC798\uBABB\uB41C \uAC12 {0}\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4. -core.constraint.needfieldnamenode=JDO76306: \uC81C\uC57D \uC870\uAC74 \uC2A4\uD0DD\uC5D0 \uC624\uB958\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uD544\uB4DC \uC774\uB984\uC774 \uC608\uC0C1\uB429\uB2C8\uB2E4. -core.constraint.needfieldnode=JDO76307: \uC81C\uC57D \uC870\uAC74 \uC2A4\uD0DD\uC5D0 \uC624\uB958\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uD544\uB4DC \uC124\uBA85\uC774 \uC608\uC0C1\uB429\uB2C8\uB2E4. -core.constraint.needvalnode=JDO76308: \uC81C\uC57D \uC870\uAC74 \uC2A4\uD0DD\uC5D0 \uC624\uB958\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uAC12\uC774 \uC608\uC0C1\uB429\uB2C8\uB2E4. -core.constraint.stackempty=JDO76309: \uC81C\uC57D \uC870\uAC74 \uC2A4\uD0DD\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4. \uC5F0\uC0B0\uC790 \uC218\uC5D0 \uBE44\uD574 \uAC12\uC774 \uBD80\uC871\uD569\uB2C8\uB2E4. -core.constraint.unknownfield=JDO76310: \uAC80\uC0C9 \uAE30\uC220\uC790\uC5D0 \uC9C0\uC815\uB41C \uD544\uB4DC {0}\uC740(\uB294) {1} \uD074\uB798\uC2A4\uC758 \uBA64\uBC84\uAC00 \uC544\uB2D9\uB2C8\uB2E4. -core.constraint.valdisallowed=JDO76311: \uAC12 \uB9E4\uAC1C\uBCC0\uC218\uAC00 \uC9C0\uC815\uB418\uC5C8\uC9C0\uB9CC {0} \uC791\uC5C5\uC5D0\uB294 \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -core.constraint.valrequired=JDO76312: \uAC12 \uB9E4\uAC1C\uBCC0\uC218\uAC00 \uB204\uB77D\uB418\uC5C8\uC9C0\uB9CC {0} \uC791\uC5C5\uC5D0\uB294 \uAC12\uC774 \uD544\uC694\uD569\uB2C8\uB2E4. -sqlstore.resultdesc.errorgettingvalefromresulset=JDO76313: \uC0C9\uC778 {0}\uC758 \uACB0\uACFC \uC9D1\uD569\uC5D0\uC11C resultType {1} columnSqlType {2} \uC720\uD615\uC758 \uAC12\uC744 \uAC00\uC838\uC624\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC608\uC678 \uC0AC\uD56D: {3} -sqlstore.resultdesc.foreignfieldprojection=JDO76314: {0}\uC5D0 \uB300\uD55C \uC9C8\uC758\uC5D0\uB294 \uAD00\uACC4 \uD544\uB4DC\uC5D0 \uB300\uD55C \uD504\uB85C\uC81D\uC158\uC774 \uC5C6\uC5B4\uC57C \uD569\uB2C8\uB2E4. -sqlstore.resultdesc.unknownfieldtype=JDO76317: \uC54C \uC218 \uC5C6\uB294 \uD544\uB4DC \uC720\uD615 {0}\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4. -sqlstore.retrievedesc.toomanyprojections=JDO76318: RetrieveDesc\uC5D0 \uB300\uD55C \uD504\uB85C\uC81D\uC158\uC744 \uB450 \uAC1C \uC774\uC0C1 \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -sqlstore.retrievedesc.toomanyresulttypes=JDO76319: RetrieveDesc\uC5D0 \uB300\uD55C \uACB0\uACFC \uC720\uD615\uC744 \uB450 \uAC1C \uC774\uC0C1 \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -sqlstore.selectstatement.noupdatelocksupport=JDO76320: \uC774 \uC9C8\uC758\uC5D0 \uD3EC\uD568\uB41C \uAC1D\uCCB4 \uC720\uD615 \uC911 \uD558\uB098\uC758 \uC77C\uAD00\uC131 \uB808\uBCA8\uC774 "lock-when-loaded"\uC785\uB2C8\uB2E4. \uC774 \uC77C\uAD00\uC131 \uB808\uBCA8\uC744 \uC0AC\uC6A9\uD558\uB824\uBA74 \uB370\uC774\uD130 \uC800\uC7A5\uC18C\uC5D0\uC11C \uB0AE\uC740 \uB808\uBCA8\uC758 \uC5C5\uB370\uC774\uD2B8\uB97C \uC704\uD55C \uC7A0\uAE08\uC744 \uC9C0\uC6D0\uD574\uC57C \uD569\uB2C8\uB2E4. \uB370\uC774\uD130 \uC800\uC7A5\uC18C\uAC00 \uB0AE\uC740 \uB808\uBCA8\uC758 \uC5C5\uB370\uC774\uD2B8\uB97C \uC704\uD55C \uC7A0\uAE08\uC744 \uC9C0\uC6D0\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -sqlstore.sql.generator.statement.likeescapenotsupported=JDO76321: LIKE ESCAPE \uC808\uC740 \uC774 \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -sqlstore.sql.generator.statement.positionthreeargsnotsupported=JDO76322: POSITION \uC808\uC758 \uC138\uBC88\uC9F8 \uC778\uC218\uB294 1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4. -core.configuration.classnotmapped=JDO76323: {0} \uD074\uB798\uC2A4\uAC00 \uB9E4\uD551\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -core.configuration.classnotmappedtotable=JDO76324: {0} \uD074\uB798\uC2A4\uAC00 {1} \uD14C\uC774\uBE14\uC5D0 \uB9E4\uD551\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -sqlstore.sql.generator.statement.unexpectedconstraint=JDO76325: \uC791\uC5C5 {0}\uC758 \uC81C\uC57D \uC870\uAC74\uC740 where \uC808\uC758 \uB8E8\uD2B8\uAC00 \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -# -# Following messages are used within other messages. They need to be i18ned but need not be numbered. -# -sqlstore.sql.generator.statement.sqlStatement=SQL statement -sqlstore.sql.generator.statement.withinputvalues= \uC785\uB825 \uAC12: -sqlstore.sql.generator.statement.withnoinputvalues= \uC785\uB825 \uAC12\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. - - -# -# -# -sqlstore.resultdesc.deserializing=deserializing = {0}. -sqlstore.resultdesc.marking_field=marking local field {0} as present. -sqlstore.resultdesc.marking_foreign_field=marking foreign field {0} as present. -sqlstore.resultdesc.marking_key_field=marking key field {0} as present. -sqlstore.resultdesc.returning_field=returning field {0} as projection. -# -# -# -sqlstore.sql.concurrency.concurrencychkdirty.exit=--> ConcurrencyCheckDirty.update(). -sqlstore.sql.concurrency.concurrencychkdirty=--> ConcurrencyCheckDirty.update(), beforeImage = {0}. -sqlstore.sql.concurrencyoptverify.resumetx=<--> ConcurrencyOptVerify.resume(), resumed transaction = {0}. -sqlstore.sql.concurrencyoptverify.suspendtx=<--> ConcurrencyOptVerify.suspend(), suspended transaction = {0}. -sqlstore.sql.concurrencyoptverify.update.exit=<-- ConcurrencyOptVerify.update(). -sqlstore.sql.concurrencyoptverify.update=--> ConcurrencyOptVerify.update(), beforeImage = {0}. -sqlstore.sql.generator.dbstatement.addbatch=addbatch ({0}) -sqlstore.sql.generator.dbstatement.bindinputcolumn=bindInputColumn index: {0} value: {1} sqlType: {2}. -sqlstore.sql.generator.dbstatement.executebatch=executeBatch executing {0} command(s) -sqlstore.sql.generator.selectqueryplan.processforeignfield.exit=<-- SelectQueryPlan.processForeignFields(). -sqlstore.sql.generator.selectqueryplan.processforeignfield=--> SelectQueryPlan.processForeignFields(), class = {0}. -sqlstore.sql.generator.selectqueryplan.processlocalfield.exit=<-- SelectQueryPlan.processLocalFields(). -sqlstore.sql.generator.selectqueryplan.processlocalfield=--> SelectQueryPlan.processLocalFields(), class = {0}. -sqlstore.sql.generator.selectqueryplan.processstmts.exit=<-- SelectQueryPlan.processStatements(). -sqlstore.sql.generator.selectqueryplan.processstmts=--> SelectQueryPlan.processStatements(), class = {0}, statements = {1}. -sqlstore.sql.updateobjdescimpl.afterimagenull=AfterImage\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -sqlstore.sql.updateobjdescimpl.beforeimagenull=BeforeImage\uAC00 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -sqlstore.sql.updateobjdescimpl.markrelationshipchange=<--> UpdateDesc.markRelationshipChange(). -sqlstore.sql.updateobjdescimpl.updated={0}\uC774(\uAC00) \uC5C5\uB370\uC774\uD2B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. - - -############################################################################### -# -# Message ID Range: JDO76400 - JDO76499 -############################################################################### -# -# -# -core.persistencestore.jdbcerror=JDO76400: SQL \uBB38\uC744 \uC2E4\uD589\uD558\uB294 \uC911 JDBC SQLException\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.\n{0}.\n\uC790\uC138\uD55C \uB0B4\uC6A9\uC740 SQLException\uC744 \uBCF4\uC2ED\uC2DC\uC624. -sqlstore.retrievedesc.stmntsnotjoined=JDO76401: \uD558\uB098\uC758 RetrieveDesc\uC5D0 \uC5EC\uB7EC \uAC1C\uC758 SQL \uBB38\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -core.persistencestore.toofewrows=JDO76402: {0} \uD14C\uC774\uBE14\uC758 {1} \uC5F0\uAD00\uC5D0 \uD574\uB2F9\uD558\uB294 \uAC12\uC744 \uAC00\uC838\uC62C \uB54C \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC774 \uC5F0\uAD00\uC5D0 \uD5C8\uC6A9\uB418\uB294 \uAC1C\uC218\uBCF4\uB2E4 \uC801\uC740 \uC218\uC758 \uD589\uC774 \uBC18\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uD5C8\uC6A9\uB418\uB294 \uCD5C\uC18C \uD589 \uC218\uB294 {2}\uC785\uB2C8\uB2E4. -core.persistencestore.toomanyobjforcard1=JDO76403: \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uAC00 \uC9C0\uC18D\uC131 \uBAA8\uB378\uACFC \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. {0} \uD074\uB798\uC2A4\uC758 {1} \uC5F0\uAD00\uC5D0 \uC758\uD574 \uCC38\uC870\uB41C \uAC1D\uCCB4\uC5D0 \uB300\uD55C \uAC80\uC0C9 \uC2DC\uB3C4\uC5D0\uC11C {2} \uD56D\uBAA9\uC774 \uAC80\uC0C9\uB418\uC5C8\uC9C0\uB9CC \uC5F0\uAD00\uC758 \uAE30\uBCF8 \uC0C1\uD55C\uAC12\uC774 1\uC774\uAE30 \uB54C\uBB38\uC5D0 \uD55C \uD56D\uBAA9\uB9CC \uC218\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -core.persistencestore.toomanyrows=JDO76405: {0} \uD074\uB798\uC2A4\uC758 {1} \uC5F0\uAD00\uC5D0 \uD574\uB2F9\uD558\uB294 \uAC12\uC744 \uAC00\uC838\uC62C \uB54C \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC774 \uC5F0\uAD00\uC5D0 \uD5C8\uC6A9\uB418\uB294 \uAC1C\uC218\uBCF4\uB2E4 \uB9CE\uC740 \uD589\uC774 \uBC18\uD658\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uD5C8\uC6A9\uB418\uB294 \uCD5C\uB300 \uD589 \uC218\uB294 {2}\uC785\uB2C8\uB2E4. -core.store.concurrentaccess=JDO76406: \uB3D9\uC2DC \uC561\uC138\uC2A4 \uC608\uC678 \uC0AC\uD56D: {0}\uC758 \uAC1D\uCCB4\uB294 \uB2E4\uB978 \uD2B8\uB79C\uC7AD\uC158\uC5D0 \uC758\uD574 \uC5C5\uB370\uC774\uD2B8 \uB610\uB294 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -sqlstore.sqlstoremanager.errorcloseresultset=JDO76407: SQL \uACB0\uACFC \uC9D1\uD569\uC744 \uB2EB\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC608\uC678 \uC0AC\uD56D: {0} -sqlstore.sqlstoremanager.errorclosestatement=JDO76408: SQL \uBB38\uC744 \uB2EB\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uC608\uC678 \uC0AC\uD56D: {0} -sqlstore.sql.generator.selectqueryplan.plansnotjoined=JDO76409: \uD55C \uAC1C\uC758 RetrieveDesc\uC5D0 \uB300\uD55C \uC5EC\uB7EC \uAC1C\uC758 \uC9C8\uC758 \uACC4\uD68D\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. - -# -# -# -sqlstore.sqlstoremanager.executeQuery.exit=<-- SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeQuery=--> SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeupdate.exit=<-- SQLStoreManager.executeUpdate(), rows affected = {0}. -sqlstore.sqlstoremanager.executeupdate=--> SQLStoreManager.executeUpdate(). -sqlstore.sqlstoremanager.executeupdatebatch.addbatch={0}; add batch. -sqlstore.sqlstoremanager.executeupdatebatch.exit=<-- SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.executeupdatebatch.exit.flush=<-- SQLStoreManager.executeUpdateBatch(), rows affected = {0}. -sqlstore.sqlstoremanager.executeupdatebatch.flushbatch={0}; flush batch. -sqlstore.sqlstoremanager.executeupdatebatch=--> SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.getpersistenceconfig=<--> SQLStoreManager.getPersistenceConfig(), classType = {0}. -sqlstore.sqlstoremanager.selectnoncorrelated.exit=<-- SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.selectnoncorrelated=--> SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.vendortype=<--> SQLStoreManager: vendor type = {0}. - - -############################################################################### -# -# Message ID Range: JDO76500 - JDO76599 -############################################################################### -# -# - database -# -connection.connectionmanager.badnew=JDO76500: \uC0C8 ''{0}''\uC740(\uB294) \uD604\uC7AC ''{1}''\uBCF4\uB2E4 \uD06C\uAC70\uB098 \uAC19\uC544\uC57C \uD569\uB2C8\uB2E4. -connection.connectionmanager.badvalue=JDO76501: ''{0}''\uC758 \uAC12\uC774 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -connection.connectionmanager.conntimeout=JDO76502: \uC811\uC18D \uC2DC\uAC04 \uCD08\uACFC\uAC00 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -connection.connectionmanager.getconnection.mismatch=JDO76503: \uD480\uB9C1\uB41C \uC811\uC18D\uC5D0 \uAC19\uC740 \uC0AC\uC6A9\uC790 \uCEE8\uD14D\uC2A4\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. -connection.connectionmanager.isdown=JDO76504: \uC811\uC18D \uAD00\uB9AC\uC790\uB97C \uC885\uB8CC\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4. -connection.connectionmanager.maxpool=JDO76505: \uC811\uC18D \uD480\uC774 \uCD5C\uB300\uAC12\uC5D0 \uB3C4\uB2EC\uD588\uC2B5\uB2C8\uB2E4. -connection.connectionmanager.msintervalvalue=JDO76506: MsInterval\uC740 0\uBCF4\uB2E4 \uD06C\uACE0 MsWait\uBCF4\uB2E4 \uC791\uAC70\uB098 \uAC19\uC544\uC57C \uD569\uB2C8\uB2E4. -connection.connectionmanager.mswaitvalue=JDO76507: MsWait\uB294 0\uBCF4\uB2E4 \uD06C\uAC70\uB098 \uAC19\uC544\uC57C \uD569\uB2C8\uB2E4. -connection.connectionmanager.nulldriver=JDO76508: \uB4DC\uB77C\uC774\uBC84 \uC774\uB984\uC5D0 \uB300\uD55C NULL \uAC12\uC785\uB2C8\uB2E4. -connection.connectionmanager.nullurl=JDO76509: URL\uC5D0 \uB300\uD55C NULL \uAC12\uC785\uB2C8\uB2E4. -connection.connectionmanager.poolsize=JDO76510: 'maxPool'\uC740 'minPool'\uBCF4\uB2E4 \uD06C\uAC70\uB098 \uAC19\uC544\uC57C \uD569\uB2C8\uB2E4. -connection.connectionmanager.threaditerupted=JDO76511: \uC2A4\uB808\uB4DC\uAC00 \uC911\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -connection.connectionmanager.zero=JDO76512: ''{0}''\uC740(\uB294) 0\uBCF4\uB2E4 \uD06C\uAC70\uB098 \uAC19\uC544\uC57C \uD569\uB2C8\uB2E4. -# -# -# -sqlstore.database.dbvendor.cantloadDefaultProperties=JDO76513: \uAE30\uBCF8 \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC758 \uC18D\uC131\uC744 \uB85C\uB4DC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -sqlstore.database.dbvendor.init.default=JDO76514: -->\uACF5\uAE09\uC5C5\uCCB4 \uC720\uD615 {0}\uC758 \uC18D\uC131\uC744 \uB85C\uB4DC\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. \uAE30\uBCF8\uAC12\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4. -sqlstore.database.dbvendor.cantinstantiateclass=JDO76515: {0} \uD074\uB798\uC2A4\uB97C \uC778\uC2A4\uD134\uC2A4\uD654\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -# -# -# -sqlstore.database.oracle.defineCol=JDO76516: \uBB38\uC758 \uC5F4\uC744 \uC815\uC758\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4 -sqlstore.database.oracle.nooracleavailable=JDO76517: Oracle \uB9AC\uC18C\uC2A4 \uD329\uD1A0\uB9AC ''{0}''\uC744(\uB97C) \uCD08\uAE30\uD654\uD558\uB294 \uB3D9\uC548 oracle.jdbc.OraclePreparedStatement \uB610\uB294 oracle.jdbc.driver.OraclePreparedStatement \uC911 \uD55C \uC778\uC2A4\uD134\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. Oracle \uD2B9\uC815 \uCD5C\uC801\uD654\uAC00 \uC0AC\uC6A9 \uC548\uD568\uC73C\uB85C \uC124\uC815\uB429\uB2C8\uB2E4. \uC774 \uB9AC\uC18C\uC2A4\uB97C \uC0AC\uC6A9\uD558\uB294 \uC778\uC2A4\uD134\uC2A4\uC5D0\uC11C Fixed Char \uC5F4\uC5D0 \uB9E4\uD551\uB41C \uC5F4\uC758 \uAC12\uC744 \uBC14\uC778\uB4DC\uD574\uC57C \uD560 \uACBD\uC6B0\uC5D0\uB294 \uAC12\uC774 \uD574\uB2F9 dbschema \uD30C\uC77C\uC5D0 \uC9C0\uC815\uB41C \uAE38\uC774\uAC00 \uB418\uB3C4\uB85D \uACF5\uBC31\uC774 \uCD94\uAC00\uB429\uB2C8\uB2E4. -sqlstore.database.oracle.fixedcharpadded=JDO76518: "{0}" \uAC12\uC740 CHAR \uC5F4\uC5D0 \uBC14\uC778\uB4DC\uB429\uB2C8\uB2E4. \uC774\uB97C \uC704\uD574\uC11C\uB294 Oracle\uC758 \uD2B9\uBCC4\uD55C \uCC98\uB9AC\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. \uD074\uB798\uC2A4 OraclePreparedStatement\uB97C \uB4DC\uB77C\uC774\uBC84\uC5D0\uC11C \uAC00\uC838\uC624\uC9C0 \uBABB\uD558\uBA74 \uAC12\uC774 \uCEA1\uCC98\uB41C dbschema \uD30C\uC77C\uC5D0 \uC9C0\uC815\uB41C \uAE38\uC774 {1}\uC774(\uAC00) \uB418\uB3C4\uB85D \uACF5\uBC31\uC774 \uCD94\uAC00\uB429\uB2C8\uB2E4. -# -# -# -core.configuration.getvendortypefailed=JDO76519: \uB370\uC774\uD130 \uC800\uC7A5\uC18C\uC758 \uACF5\uAE09\uC5C5\uCCB4 \uC720\uD615\uC744 \uC2DD\uBCC4\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -jdo.sqlpersistencemanagerfactory.errorgettingDatabaseInfo=JDO76520: \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0 \uB300\uD55C \uC815\uBCF4\uB97C \uAC00\uC838\uC624\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uB2E4\uC74C \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. - -# -# -# -sqlstore.connection.conncectiomgr.found=<--> ConnectionManager.getConnection: found {0}. -sqlstore.connection.conncectiomgr.getnewconn=<--> ConnectionManager.getConnection: new {0}. -sqlstore.connection.conncectiomgr.replacefreeconn=<--> ConnectionManager.replaceFreeConnection: free {0}. -sqlstore.connectionimpl.clearxact.close=--- ConnectionImpl.clearXact: connection closed . -sqlstore.connectionimpl.clearxact.disassocxact=--- ConnectionImpl.clearXact: disassociateXact . -sqlstore.connectionimpl.clearxact=--- ConnectionImpl.clearXact: . -sqlstore.connectionimpl.close.connrelease=<--- ConnectionImpl.close: connection released. -sqlstore.connectionimpl.close.exit=<--- ConnectionImpl.close: connection closed. -sqlstore.connectionimpl.close.freepending=<--- ConnectionImpl.close: set FreePending. -sqlstore.connectionimpl.close.putfreelist=<--- ConnectionImpl.close: put in freeList. -sqlstore.connectionimpl.close.replaced=<--- ConnectionImpl.close: connection replaced. -sqlstore.connectionimpl.close=---> ConnectionImpl.close. -sqlstore.connectionimpl.close_arg=---> ConnectionImpl.close: {0}. -sqlstore.connectionimpl.commit=--- ConnectionImpl.commit: connection closed. -sqlstore.connectionimpl.finalize=--- ConnectionImpl.finalize: connection closed. -sqlstore.connectionimpl.internalcommit=--- ConnectionImpl.internalCommit: . -sqlstore.connectionimpl.pendingdisassocxact=--- ConnectionImpl.clearXact: Pending disassociateXact. -sqlstore.connectionimpl.rollback.close=--- ConnectionImpl.rollback: connection closed. -sqlstore.connectionimpl.rollback=--- ConnectionImpl.rollback:. -# -# -# -sqlstore.database.dbvendor.castRequiredForNumericValues=<-> DBVendorType.isCastRequiredForNumericValues(): {0}. -sqlstore.database.dbvendor.getModFunctionName=<-> DBVendorType.getModFunctionName(): {0}. -sqlstore.database.dbvendor.getNullComparisonFunctionName=<-> DBVendorType.getNullComparisonFunctionName(): {0}. -sqlstore.database.dbvendor.getConcatCast=<-> DBVendorType.getConcatCast(): {0}. -sqlstore.database.dbvendor.getSpecialDBOperation=<-> DBVendorType.getSpecialDBOperation(): {0}. -sqlstore.database.dbvendor.getabs=<-> DBVendorType.getAbs(): {0}. -sqlstore.database.dbvendor.getcharlength=<-> DBVendorType.getCharLength(): {0}. -sqlstore.database.dbvendor.getforupdate=<-> DBVendorType.getForUpdate(): {0}. -sqlstore.database.dbvendor.getholdlock=<-> DBVendorType.getHoldlock(): {0}. -sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull(): {0}. -sqlstore.database.dbvendor.getisnull=<-> DBVendorType.getIsNull(): {0}. -sqlstore.database.dbvendor.getleftjoin=<-> DBVendorType.getLeftJoin(): {0}. -sqlstore.database.dbvendor.getleftjoinpost=<-> DBVendorType.getLeftJoinPost(): {0}. -sqlstore.database.dbvendor.getleftlikeescape=<-> DBVendorType.getLeftLikeEscape(): {0}. -sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}. -sqlstore.database.dbvendor.getposition3args=<-> DBVendorType.getPositionThreeArrgs(): {0}. -sqlstore.database.dbvendor.getposition=<-> DBVendorType.getPosition(): {0}. -sqlstore.database.dbvendor.getpositionin=<-> DBVendorType.getPositionIn(): {0}. -sqlstore.database.dbvendor.getpositionsrchsrc=<-> DBVendorType.getPositionSearchSource(): {0}. -sqlstore.database.dbvendor.getquotecharstart=<-> DBVendorType.getQuoteCharStart(): {0}. -sqlstore.database.dbvendor.getrightjoinipre=<-> DBVendorType.getRightJoin(): {0}. -sqlstore.database.dbvendor.getrightlikeescape=<-> DBVendorType.getRightLikeEscape(): {0}. -sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim(): {0}. -sqlstore.database.dbvendor.getrtrimpost=<-> DBVendorType.getRtrimPost(): {0}. -sqlstore.database.dbvendor.getsqrt=<-> DBVendorType.getSqrt(): {0}. -sqlstore.database.dbvendor.getstringconcat=<-> DBVendorType.getStringConcat(): {0}. -sqlstore.database.dbvendor.getsubstring=<-> DBVendorType.getSubstring(): {0}. -sqlstore.database.dbvendor.getsubstringfor=<-> DBVendorType.getSubstringFor(): {0}. -sqlstore.database.dbvendor.getsubstringfrom=<-> DBVendorType.getSubstringFrom(): {0}. -sqlstore.database.dbvendor.gettablelistend=<-> DBVendorType.getTableListEnd(): {0}. -sqlstore.database.dbvendor.gettableliststart=<-> DBVendorType.getTableListStart(): {0}. -sqlstore.database.dbvendor.isAnsiTrim=<-> DBVendorType.isAnsiTrim(): {0}. -sqlstore.database.dbvendor.isInlineNumeric=<-> DBVendorType.isInlineNumeric(): {0}. -sqlstore.database.dbvendor.isNativeOuterJoin=<-> DBVendorType.isNativeOuterJoin(): {0}. -sqlstore.database.dbvendor.isParameterCast=<-> DBVendorType.isParameterCast(): {0}. -sqlstore.database.dbvendor.isdistinctupdatelocksupported=<-> DBVendorType.isDistinctSupportedWithUpdateLock(): {0}. -sqlstore.database.dbvendor.islockcolumnlistsupported=<-> DBVendorType.isLockColumnListSupported(): {0}. -sqlstore.database.dbvendor.isupdatelocksupported=<-> DBVendorType.isUpdateLockSupported(): {0}. -sqlstore.database.dbvendor.mapemptystrtonull=<-> DBVendorType.mapEmptyStringToNull(): {0}. -sqlstore.database.dbvendor.overrideproperties.with=<-> DBVendorType.overrideProperties() : {0} with: {1}. -sqlstore.database.dbvendor.overrideproperties=<-> DBVendorType.overrideProperties() - NONE. -sqlstore.database.dbvendor.supportslikeescape=<-> DBVendorType.supportsLikeEscape(): {0}. -sqlstore.database.dbvendor.vendorname=<-> DBVendorType(), vendorName: [{0}] vendorType: {1}. -# -# -# -sqlstore.transactionimpl.call.info={0} Tran[ {1} ].{2}: {3} for {4}. -sqlstore.transactionimpl.call={0} Tran[ {1} ].{2}:status = {3}, txType: {4} for {5}. -sqlstore.transactionimpl.closeconnection=--- TransactionImpl.closeConnection() {0} for {1}. -sqlstore.transactionimpl.general={0}. -sqlstore.transactionimpl.getconnection=--- TransactionImpl.getConnection(): {0} TX optimistic: {1} referenceCount = {2} for {3}. -sqlstore.transactionimpl.releaseconnection=--- TransactionImpl.releaseConnection(): TX optimistic: {0} Inside Commit: {1} referenceCount: {2} for {3}. -sqlstore.transactionimpl.rollbackconnection=--- TransactionImpl.rollbackConnection(): {0} for {1}. -sqlstore.transactionimpl.status={0} Tran[ {1} ].setStatus: {2} => {3} for {4}. - - -############################################################################### -# All the source files under subdir ejb. -# Message ID Range: JDO76600 - JDO76699 -############################################################################### -# -#EJBHelper messages -# -# {0} - method name -ejb.ejbhelper.nonmanaged=JDO76600: {0} \uBA54\uC18C\uB4DC\uB294 \uAD00\uB9AC\uB418\uC9C0 \uC54A\uC740 \uD658\uACBD\uC5D0\uC11C \uD638\uCD9C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -# -# Common messages between SunContainerHelper and DeploymentHelper -# so they have a neutral key, that still starts with "ejb". -# -# {0} - jndi name. -ejb.jndi.lookupfailed=JDO76604: cmp-resource ''{0}''\uC758 JNDI \uC870\uD68C\uB97C \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. -JDO76604.diag.cause.1=\uC774 JNDI \uC774\uB984\uC744 \uAC00\uC9C4 CMP \uB9AC\uC18C\uC2A4\uAC00 \uC774 \uC778\uC2A4\uD134\uC2A4\uC5D0 \uB4F1\uB85D\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -JDO76604.diag.cause.2=CMP \uB9AC\uC18C\uC2A4\uC758 JNDI \uC774\uB984 \uCCA0\uC790\uAC00 \uD2C0\uB838\uC2B5\uB2C8\uB2E4. -JDO76604.diag.check.1=\uC0AC\uC6A9\uD558\uB824\uB294 \uB9AC\uC18C\uC2A4\uC758 JNDI \uC774\uB984\uC744 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -JDO76604.diag.check.2=\uBAA8\uB4C8\uC5D0 \uC9C0\uC815\uB41C CMP \uB9AC\uC18C\uC2A4\uC758 JNDI \uC774\uB984\uC744 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. - -# {0} - jndi name. -# {1} - returned class name. -ejb.jndi.unexpectedinstance=JDO76605: cmp-resource ''{0}''\uC758 JNDI \uC870\uD68C \uACB0\uACFC \uC608\uAE30\uC9C0 \uC54A\uC740 \uC720\uD615\uC758 \uC778\uC2A4\uD134\uC2A4\uAC00 \uBC18\uD658\uB428: {1}. -JDO76605.diag.cause.1=\uC774 JNDI \uC774\uB984\uC744 \uAC00\uC9C4 CMP \uB9AC\uC18C\uC2A4\uB294 jdbc-resource \uB610\uB294 persistence-manager-factory-resource\uB97C \uCC38\uC870\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -JDO76605.diag.cause.2=CMP \uB9AC\uC18C\uC2A4\uC758 JNDI \uC774\uB984 \uCCA0\uC790\uAC00 \uD2C0\uB838\uC2B5\uB2C8\uB2E4. -JDO76605.diag.check.1=\uC0AC\uC6A9\uD558\uB824\uB294 \uB9AC\uC18C\uC2A4\uC758 JNDI \uC774\uB984\uC744 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -JDO76605.diag.check.2=\uBAA8\uB4C8\uC5D0 \uC9C0\uC815\uB41C CMP \uB9AC\uC18C\uC2A4\uC758 JNDI \uC774\uB984\uC744 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. - -# -# DeploymentHelper messages - ejb -# -# -# -# -ejb.DeploymentHelper.getconnection=JNDI \uC774\uB984 ''{0}''\uC5D0 \uB300\uD55C \uC811\uC18D\uC744 \uAC00\uC838\uC624\uB294 \uC911 - -# The messages JDO76606 through JDO76615 that were originally here -# have been moved to -# cmp/support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties -# As part of INF# -# So do not use these messages. - - -# -#CMPHelper messages -# -ejb.cmphelper.nonmanaged=JDO76613: CMPHelper\uC758 \uC561\uC138\uC2A4\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. \uC774 \uD074\uB798\uC2A4\uB294 CMP \uC9C0\uC6D0\uC5D0\uB9CC \uC0AC\uC6A9\uB418\uBA70 \uC560\uD50C\uB9AC\uCF00\uC774\uC158 \uC11C\uBC84 \uC678\uBD80\uC5D0\uC11C \uD638\uCD9C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -# -#SunTransactionHelper messages -# - -# {0} class name -ejb.SunTransactionHelper.wrongdatasourcetype=JDO76616: \uB370\uC774\uD130 \uC18C\uC2A4\uAC00 \uC608\uC0C1\uB418\uB294 \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4. \uC608\uC0C1 \uC720\uD615: com.sun.appserv.jdbc.DataSource \uD604\uC7AC \uC720\uD615: {0}. - - -############################################################################### -# -############################################################################### -# -# -# -vendor=Sun Microsystems -# majorVersion (minorVersion) buildDate -fullVersion={0} ({1}) {2} -# -# -# -core.generic.unknownfield={0} \uD544\uB4DC\uB294 {1} \uD074\uB798\uC2A4\uC758 \uBA64\uBC84\uAC00 \uC544\uB2D9\uB2C8\uB2E4. -core.generic.unknownexception=\uC54C \uC218 \uC5C6\uB294 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -core.generic.nullparam={0} \uB9E4\uAC1C\uBCC0\uC218\uAC00 \uB110\uC785\uB2C8\uB2E4. -core.generic.notinstanceof={0} \uD074\uB798\uC2A4\uC758 \uAC1D\uCCB4\uAC00 {1}\uC758 \uC778\uC2A4\uD134\uC2A4\uAC00 \uC544\uB2D9\uB2C8\uB2E4. - - -############################################################################### -# -############################################################################### -core.configuration.cantloadclass={0} \uD074\uB798\uC2A4\uB97C \uB85C\uB4DC\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -sqlstore.exception.log=\uC608\uC678 \uC0AC\uD56D. -jdo.lifecycle.deleted.accessField=\uC0AD\uC81C\uB41C \uC778\uC2A4\uD134\uC2A4\uC758 \uD544\uB4DC\uC5D0\uB294 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_pt_BR.properties deleted file mode 100644 index 0f5b791022a..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_pt_BR.properties +++ /dev/null @@ -1,643 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# Resource bundle for sqlstore runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Please note that many package names and classnames have changed over time. -# Unfortunately, this file was not maintained to follow above convention. -# Please ignore if the package/class name does not match actual names as today. -# -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 76. -# -# This file is divided into the following sections: -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# 1. JDO: PersistenceManagerFactory/PersistenceManager/ExtentCollection/LifeCycle -# 2. Model -# 3. StateManager -# 4. sql generator components: RetrieveDesc, ResultDesc plus all the files under generator subdir -# 5. SQLStoreManager -# 6. Connection/Connectionpool/Transaction/DBVendorType -# 7. EJB integration. -# 8. Generic messages. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -#################################################################################################### -# -# Message ID Range: JDO76000 - JDO76099 -#################################################################################################### -jdo.persistencemanagerfactoryimpl.getpersistencemanager.error=JDO76000: N\u00E3o \u00E9 poss\u00EDvel utilizar m\u00FAltiplas combina\u00E7\u00F5es de nome de usu\u00E1rio/senha na mesma transa\u00E7\u00E3o. -jdo.persistencemanagerfactoryimpl.getpersistencemanager.notconfigured=JDO76001: O PersistenceManagerFactory n\u00E3o est\u00E1 configurado. -jdo.persistencemanagerfactoryimpl.notsupported=JDO76002: A opera\u00E7\u00E3o n\u00E3o possui suporte para o PersistenceManagerFactoryImpl interno. -jdo.persistencemanagerimpl.acquireexclusivelock.interrupted=JDO76003: Falha ao adquirir o bloqueio exclusivo devido a InterruptedException -jdo.persistencemanagerimpl.acquiresharelock.failed=JDO76004: Falha ao adquirir o bloqueio compartilhado porque _readWriteCount \u00E9 menor que zero. -jdo.persistencemanagerimpl.acquiresharelock.interrupted=JDO76005: Falha ao adquirir o bloqueio compartilhado devido a InterruptedException -jdo.persistencemanagerimpl.another_pm=JDO76006: O objeto est\u00E1 associado a outro PersistenceManager. -jdo.persistencemanagerimpl.assertactivetransaction.error=JDO76007: A transa\u00E7\u00E3o associada a esse gerenciador de persist\u00EAncia n\u00E3o est\u00E1 ativa. -jdo.persistencemanagerimpl.assertclosed.closed=JDO76008: O PersistenceManager est\u00E1 fechado. -jdo.persistencemanagerimpl.assertpersistencecapable.error=JDO76009: A classe {0} n\u00E3o foi aprimorada para a persist\u00EAncia transparente. Utilize o JAR do IDE ou o encapsulador WAR para encapsular suas classes com capacidade de persist\u00EAncia antes de executar. Ou, defina a propriedade Executor na classe principal como Executor da persist\u00EAncia a ser executado a partir do IDE. -jdo.persistencemanagerimpl.close.activetransaction=JDO76010: H\u00E1 uma transa\u00E7\u00E3o aberta associada a esse gerenciador de persist\u00EAncia. -jdo.persistencemanagerimpl.fetchinstance.none=JDO76012: O objeto n\u00E3o \u00E9 encontrado para este ObjectId. -jdo.persistencemanagerimpl.internaldeletepersistent.transient=JDO76014: N\u00E3o \u00E9 poss\u00EDvel deletar um objeto n\u00E3o-persistente. -jdo.persistencemanagerimpl.internalmakepersistent.dups=JDO76015: Uma inst\u00E2ncia com a mesma chave prim\u00E1ria j\u00E1 existe no cache PersistenceManager. -jdo.persistencemanagerimpl.loadclassforoid.wrongoidclass=JDO76016: Erro ao recuperar a classe do objeto do OID. -jdo.persistencemanagerimpl.newscoinstance.wrongclass=JDO76017: N\u00E3o \u00E9 poss\u00EDvel criar a inst\u00E2ncia SCO da classe {0} por n\u00E3o ser de um tipo v\u00E1lido. -jdo.persistencemanagerimpl.notprocessed=JDO76018: N\u00E3o \u00E9 poss\u00EDvel descarregar inst\u00E2ncias de persist\u00EAncia por causa de depend\u00EAncias circulares. -jdo.persistencemanagerimpl.releaseexclusivelock.failed=JDO76019: Falha ao liberar o bloqueio compartilhado porque _readWriteCount \u00E9 maior que zero. -jdo.persistencemanagerimpl.releasesharelock.failed=JDO76020: Falha ao liberar o bloqueio compartilhado porque _readWriteCount \u00E9 zero. -jdo.persistencemanagerwrapper.invalidpm=JDO76021: O PersistenceManagerWrapper est\u00E1 fechado. -jdo.extentcollection.constructor.invalidclass=JDO76022: Classe inv\u00E1lida "{0}" para o conjunto de extens\u00E3o. -jdo.extentcollection.constructor.nonpc=JDO76023: A classe "{0}" n\u00E3o \u00E9 de capacidade de persit\u00EAncia. -jdo.extentcollection.constructor.subclasses=JDO76024: As subclasses de op\u00E7\u00E3o verdadeiras n\u00E3o possuem suporte para conjuntos de extens\u00F5es. -jdo.extentcollection.illegalmodification=JDO76025: Modifica\u00E7\u00E3o ilegal do conjunto de extens\u00E3o para a classe "{0}". -jdo.extentcollection.methodnotsupported=JDO76026: O m\u00E9todo {0} de conjunto de extens\u00E3o n\u00E3o possui suporte. -jdo.lifecycle.xactnotactive=JDO76027: A transa\u00E7\u00E3o ativa necess\u00E1ria para executar esta opera\u00E7\u00E3o. -jdo.persistencemanagerimpl.newinstance.badsm=JDO76028: O StateManager n\u00E3o est\u00E1 totalmente configurado! -jdo.persistencemanagerimpl.setjtatransaction.notnulljta=JDO76029: Tentativa de substituir javax.transaction.Transaction n\u00E3o-nula: {0} por {1}. -jdo.persistencemanagerfactoryimpl.getpersistencemgr.closed=JDO76030: O PersistenceManager para essa javax.transaction.Transaction: {0} j\u00E1 est\u00E1 fechado ou est\u00E1 sendo confirmado. -jdo.persistencemanagerfactoryimpl.registerpm.registered=JDO76031: Esta inst\u00E2ncia do javax.transaction.Transaction: {0} j\u00E1 est\u00E1 registrada com outro PersistenceManager: {1}. -jdo.persistencemanagerimpl.verificationfailed=JDO76032: Falha da verifica\u00E7\u00E3o com o armazenador de dados pela inst\u00E2ncia de consist\u00EAncia da vers\u00E3o. -jdo.persistencemanagerfactoryimpl.getversionconsistencycache.nullstore=JDO76033: O StoreManager n\u00E3o est\u00E1 configurado. - -# -# -# -sqlstore.state.lifecyclestate.changestate=LifeCycleState.changeState(), estado antigo = {0}, novo estado = {1}. -sqlstore.state.lifecyclestate.initial=LifeCycleState.getLifeCycleState(), estado inicial = {0}. - -# -# -# -sqlstore.persistencemgr.acquireexclusivelock.count=acquireExclusiveLock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.acquireexclusivelock=acquireExclusiveock(), thread {0} vai aguardar. -sqlstore.persistencemgr.acquiresharedlock.rdwrcount=acquireShareLock(), thread {0} adquiriu o bloqueio compartilhado with _readWriteCount ={1}. -sqlstore.persistencemgr.acquiresharedlock=acquireShareLock(), thread {0} vai aguardar. -sqlstore.persistencemgr.aftercompletion.process=Processar ---PersistenceManagerImpl.afterCompletion(): {0}. -sqlstore.persistencemgr.aftercompletion=Abortar ---PersistenceManagerImpl.afterCompletion(): {0}. -sqlstore.persistencemgr.assertactivetx.closed=--- PersistenceManagerImpl.assertActiveTransaction: Encerrado para {0}. -sqlstore.persistencemgr.assertactivetx=--- PersistenceManagerImpl.assertActiveTransaction: {0}. -sqlstore.persistencemgr.assertisopen=--- PersistenceManagerImpl.assertIsOpen: Encerrado para {0}. -sqlstore.persistencemgr.beforecompletion=---PersistenceManagerImpl.beforeCompletion(). -sqlstore.persistencemgr.cacheproperties=Propriedades do cache PersistenceManagerImpl: _txCacheInitialCapacity={0}, _flushedCacheInitialCapacity={1}, _flushedCacheLoadFactor={2}, _weakCacheInitialCapacity={3}, _weakCacheLoadFactor={4}. -sqlstore.persistencemgr.deregisterinstance.verified=---PersistenceManagerImpl.deregisterInstance() -- registro cancelado com verifica\u00E7\u00E3o. -sqlstore.persistencemgr.deregisterinstance.verify=---PersistenceManagerImpl.deregisterInstance() com SM de verifica\u00E7\u00E3o -- oid: {0} para PersistenceManager: {1} e JTA: {2}. -sqlstore.persistencemgr.deregisterinstance=---PersistenceManagerImpl.deregisterInstance() oid: {0} para PersistenceManager: {1} e JTA: {2}. -sqlstore.persistencemgr.getbyobjid=---PersistenceManagerImpl.getObjectById() OID:{0} para PersistenceManager: {1} e JTA: {2}. -sqlstore.persistencemgr.getcurrentwrapper=---PersistenceManagerImpl.getCurrentWrapper() > atual: {0}. -sqlstore.persistencemgr.getobjid.notpc=---PersistenceManagerImpl.getObjectId() N\u00C3O PC: {0} para PersistenceManager: {1}. -sqlstore.persistencemgr.getobjid.notpm=---PersistenceManagerImpl.getObjectId() N\u00C3O PM: {0} para PersistenceManager: {1} e JTA: {2}. -sqlstore.persistencemgr.getobjid= :{0} ---PersistenceManagerImpl.getObjectId() PC: {1} para PersistenceManager: {2} e JTA: {3}. -sqlstore.persistencemgr.internalcloneoid.old=---PersistenceManagerImpl.internalCloneOid(): antigo: {0} novo: {1} o mesmo: {2}. -sqlstore.persistencemgr.internalcloneoid=Erro de ---PersistenceManagerImpl.internalCloneOid(): {0}. -sqlstore.persistencemgr.isactivetx=---PersistenceManagerImpl.isActiveTransaction() : {0}. -sqlstore.persistencemgr.isnontxread=---PersistenceManagerImpl.isNontransactionalRead() : {0}. -sqlstore.persistencemgr.isoptimistic=---PersistenceManagerImpl.isOptimisticTransaction() : {0}. -sqlstore.persistencemgr.loadingclass=Carregando ... ClassName: {0}. -sqlstore.persistencemgr.loadingfile=Carregando ... FileName: {0} {1} {2}. -sqlstore.persistencemgr.makepersistent.done=---PersistenceManagerImpl.makePersistent() {0} finalizado para: {1} e JTA: {2}. -sqlstore.persistencemgr.makepersistent= {0} ---PersistenceManagerImpl.makePersistent() PC: {1} para PersistenceManager: {2} e JTA: {3}. -sqlstore.persistencemgr.newcollection=---PersistenceManagerImpl.newCollectionInstanceInternal() tipo: {0}. -sqlstore.persistencemgr.popcurrentwrapper=---PersistenceManagerImpl.popCurrentWrapper() > atual: {0} anterior: {1}. -sqlstore.persistencemgr.pushcurrentwrapper=---PersistenceManagerImpl.pushCurrentWrapper() > atual: {0} novo: {1}. -sqlstore.persistencemgr.registerinstance= {0} ---PersistenceManagerImpl.registerInstance() oid/sm: {1}/{2} para PersistenceManager: {3} e JTA: {4}. -sqlstore.persistencemgr.registerinstancein_txc=registerInstance in TXC :{0} / {1} para PersistenceManager: {2} e JTA: {3}. -sqlstore.persistencemgr.registerinstancein_wkc=registerInstance em WKC. -sqlstore.persistencemgr.releaseexclusivelock=releaseExclusiveock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.releasesharedlock=releaseShareLock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.replacingdeletedinstance=Substituindo inst\u00E2ncia deletada por uma novo para o Id do Objeto: {0}. -sqlstore.persistencemgr.setkeyfields=Erro de ---PersistenceManagerImpl.setKeyFields(): {0}. -# -# -# -sqlstore.sqlpersistencemgrfactory.getfrompool.pmt=<--SQLPersistenceManagerFactory.getFromPool() PM: {0} para JTA {1}. -sqlstore.sqlpersistencemgrfactory.getfrompool=<--SQLPersistenceManagerFactory.getFromPool(). -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.found= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() javax.transaction encontrada.Transa\u00E7\u00E3o: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx.notfound=<->SQLPersistenceManagerFactory.getPersistenceManager() Transa\u00E7\u00E3o JDO n\u00E3o encontrada. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx=<->SQLPersistenceManagerFactory.getPersistenceManager() Transa\u00E7\u00E3o JDO: {0}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmclosedfor= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() PM est\u00E1 encerrada para: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmt= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() : {1} para JTA: {2}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr=:{0} -->SQLPersistenceManagerFactory.getPersistenceManager(). -sqlstore.sqlpersistencemgrfactory.init=---SQLPersistenceManagerFactory.initialize(). -sqlstore.sqlpersistencemgrfactory.pmCacheBucketSize=---SQLPersistenceManagerFactory pmCacheBucketSize = {0}. -sqlstore.sqlpersistencemgrfactory.pmCacheInitialCapacity=---SQLPersistenceManagerFactory pmCacheInitialCapacity = {0}. -sqlstore.sqlpersistencemgrfactory.registerpersistencemgr.pmt=<->SQLPersistenceManagerFactory.registerPersistenceManager() PM: {0} para JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.releasepm.pmt=---SQLPersistenceManagerFactory.releasePersistenceManager() PM:{0} para JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.returnToPool=<--SQLPersistenceManagerFactory.returnToPool(). - - -############################################################################### -# -# Message ID Range: JDO76100 - JDO76199 -############################################################################### -core.configuration.columnnotable=JDO76100: O descritor da coluna n\u00E3o tinha um descritor de tabela v\u00E1lido. -core.configuration.fieldnotable=JDO76101: O campo {0} n\u00E3o est\u00E1 associado a qualquer tabela. -core.configuration.fieldnotmapped=JDO76102: O campo de persist\u00EAncia {0} para a classe {1} n\u00E3o est\u00E1 mapeado. -core.configuration.iddescnofield=JDO76103: O objeto SqlIDDesc n\u00E3o foi corretamente configurado. N\u00E3o h\u00E1 descritores de campo dispon\u00EDveis. -core.configuration.loadfailed.class=JDO76104: Falha ao carregar a configura\u00E7\u00E3o para a classe {0}. -core.configuration.noneexistentpkfield=JDO76105: O campo {0} na classe ObjectId {1} n\u00E3o existe na classe PersistenceCapable {2}. -core.configuration.unsupportedconsistencylevel=JDO76106: A classe {0} tem um n\u00EDvel de consist\u00EAncia n\u00E3o suportado. Os n\u00EDveis de consist\u00EAncia no momento suportados s\u00E3o "nenhum", "verificar modificado ao confirmar", "bloquear quando carregado" e "verificar vers\u00E3o de inst\u00E2ncias acessadas". -core.configuration.validationfailed=JDO76107: O mapeamento para a classe {0} \u00E9 inv\u00E1lido:\n{1}. -core.configuration.validationproblem=JDO76108: Erro de valida\u00E7\u00E3o na classe {0}: {1} -# -# -# -core.fielddesc.minvalue=JDO76109: Valor: {0} \u00E9 menor do que o m\u00EDnimo permitido: {1} para o tipo de campo {2}. -core.fielddesc.maxvalue=JDO76110: Valor: {0} \u00E9 maior do que o m\u00E1ximo permitido: {1} para o tipo de campo {2}. -core.configuration.noneexistentvcfield=JDO76111: O campo {0} est\u00E1 marcado como campo de vers\u00E3o, mas n\u00E3o existe na classe PersistenceCapable {1}. -core.configuration.loadfailed.field=JDO76112: Falha ao carregar a configura\u00E7\u00E3o para o campo {0} na classe {1}. - -# -# -# -sqlstore.model.classdesc.assocrelatedfield=campo de relacionamento associado = {0}. -sqlstore.model.classdesc.createsqldesc=criando SqlIDDesc de {0}. -sqlstore.model.classdesc.fieldinfo=nome do campo = {0}, id= {1}. -sqlstore.model.classdesc.general={0}.{1} =>{2} -sqlstore.model.classdesc.getlocalfielddesc=<-> SqlPersistenceDesc.getLocalFieldDesc(), classe ={0} adicionada ao campo oculto {1} da coluna {2}. -sqlstore.model.classdesc.loadedclass=oid class= {0} carregada com sucesso. -sqlstore.model.classdesc.persistconfiginit.exit=<-- SqlPersistenceConfig.initialize(). -sqlstore.model.classdesc.persistconfiginit=--> SqlPersistenceConfig.initialize(), classe = {0}. -sqlstore.model.classdesc.pkfield=Campo de Chave Prim\u00E1ria = {0}. -sqlstore.model.classdesc.primarytrackedfield=o campo {0} \u00E9 o campo prim\u00E1rio rastreado . -sqlstore.model.classdesc.unsetconcurrencychk=propriedade n\u00E3o definida IN_CONCURRENCY_CHECK para {0}. -sqlstore.model.classdesc.unsetrefintegrityupdate=propriedade n\u00E3o definida REF_INTEGRITY_UPDATES para ff {0}. -sqlstore.model.classdesc.vcfield=Vers\u00E3o campo de consist\u00EAncia = {0}. -sqlstore.model.fielddesc.addingfield=adicionando o campo {0} para ser rastreado pelo campo {1}. -sqlstore.model.fielddesc.convertvalue.from_to=convertValue: {0} De: {1} Para: {2}. -sqlstore.model.fielddesc.convertvalue.hidden=convertValue: oculto {0} ... retornar. -sqlstore.model.fielddesc.convertvalue=convertValue: NULO ... retornar. -sqlstore.model.fielddesc.fieldname={0} = {1}. -sqlstore.model.fielddesc.setupdesc=setupDesc(): fieldName {0} fieldType {1}. -sqlstore.model.configcacheimpl.size_before=tamanho {0} antes de limpar: {1}. -sqlstore.model.configcacheimpl.size_after=tamanho {0} depois de limpar: {1}. - - -############################################################################### -# -# Message ID Range: JDO76200 - JDO76299 -############################################################################### -core.statemanager.anotherowner=JDO76200: N\u00E3o \u00E9 poss\u00EDvel designar a inst\u00E2ncia SCO que \u00E9 de propriedade de outro objeto. -core.statemanager.cantnewoid=JDO76201: Falha em criar uma nova inst\u00E2ncia de chave prim\u00E1ria da classe {0}. -core.statemanager.cantschedulejointable=JDO76202: Falha em programar a entrada de tabela de jun\u00E7\u00E3o entre a classe {0} e {1} porque a descri\u00E7\u00E3o do campo de relacionamento \u00E9 nula. -core.statemanager.cantsetkeyfield=JDO76203: Falha ao definir o valor para o campo de chave prim\u00E1ria {0}. -core.statemanager.conflictingvalues=JDO76204: Valores conflitantes entre o campo {0} e o campo {1} que est\u00E3o mapeados para a mesma coluna -core.statemanager.getfieldfailed=JDO76205: Falha ao obter o campo. -core.statemanager.invalidpk=JDO76206: Campo de chave prim\u00E1ria nula inv\u00E1lido {0} ao recarregar uma inst\u00E2ncia de classe com capacidade de persist\u00EAncia {1}. O ObjectId da inst\u00E2ncia \u00E9 {2}. -core.statemanager.nopkupdate=JDO76207: A atualiza\u00E7\u00E3o do campo de uma chave prim\u00E1ria n\u00E3o \u00E9 permitida. -core.statemanager.nopm=JDO76208: O gerenciador de estado n\u00E3o cont\u00E9m uma refer\u00EAncia para o gerenciador de persist\u00EAncia. -core.statemanager.notnavigable=JDO76209: Foi feita uma tentativa de acessar o campo {0} da classe {1}. Esse campo n\u00E3o foi anteriormente instanciado e essa classe n\u00E3o permite a navega\u00E7\u00E3o din\u00E2mica. \u00C9 preciso solicitar o campo ao recuperar a classe ou permitir a navega\u00E7\u00E3o din\u00E2mica para que ele possa ser automaticamente recuperado quando acessado. -core.statemanager.objectnotfound=JDO76210: O objeto n\u00E3o existe no armazenamento de dados. -core.statemanager.poshiddenindex=JDO76211: O \u00EDndice para um campo oculto deveria ser negativo, mas foi obtido um \u00EDndice de {0}. -core.statemanager.readonly=JDO76212: Foi feita uma tentativa de modificar um campo somente para leitura {0} da classe {1}. -core.statemanager.releaselock.wrongthread=JDO76213: Este thread {0} n\u00E3o armazena o bloqueio do StateManager. -core.statemanager.setfieldfailed=JDO76214: Falha ao definir o campo. -core.statemanager.wrongusageforoverlappingpkfkdelete=JDO76215: Tentativa incorreta de remover uma inst\u00E2ncia de um relacionamento gerenciado. O relacionamento \u00E9 definido por uma coluna de chave prim\u00E1ria no outro lado. Uma opera\u00E7\u00E3o de remo\u00E7\u00E3o em um conjunto requer a atualiza\u00E7\u00E3o da coluna no outro lado e a atualiza\u00E7\u00E3o da chave prim\u00E1ria n\u00E3o \u00E9 permitida. Portanto, a remo\u00E7\u00E3o de uma inst\u00E2ncia de um conjunto de relacionamento gerenciado definida por uma chave prim\u00E1ria pode ser feita somente ao deletar a inst\u00E2ncia, explicitamente ou por dele\u00E7\u00E3o em cascata. -core.statemanager.toomanyrows=JDO76215: Mais de uma linha foi retornada para uma das tabelas mapeadas a classe {0}. Cada tabela mapeada a uma classe deveria ter somente uma linha para cada inst\u00E2ncia do objeto. -core.statemanager.copyFields.mismatch=JDO76216: Tentativa de copiar campos de um StateManager para outro, que est\u00E3o gerenciando inst\u00E2ncias de diferentes tipos: {0} e {1}. - -# -# -# -sqlstore.sqlstatemanager.adddependency=<-> SQLStateManager.addDependency(), este StateManager: {0}, outro StateManager: {1}. -sqlstore.sqlstatemanager.addupdate=<-> SQLStateManager.addUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.applyupdates.exit=<-- SqlStateManager.applyUpdates(). -sqlstore.sqlstatemanager.applyupdates=--> SqlStateManager.applyUpdates(), campo = {0}. -sqlstore.sqlstatemanager.clearpersistencefields.exit=<--- SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.clearpersistencefields=--> SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.copychanges.exit=<-- SQLStateManager.copyChanges(). -sqlstore.sqlstatemanager.copychanges=--> SQLStateManager.copyChanges(), gerenciador de estado = {0}. -sqlstore.sqlstatemanager.deletepersistence=<-> SqlStateManager.deletePersistence(), tipo = {0}. -sqlstore.sqlstatemanager.getbeforeimage.exit=<-- SqlStateManager.getBeforeImage(). -sqlstore.sqlstatemanager.getbeforeimage=--> SqlStateManager.getBeforeImage(), tipo = {0}. -sqlstore.sqlstatemanager.isbeforeimagerequired=isBeforeImageRequired \u00E9 : {0}. -sqlstore.sqlstatemanager.loadforread.exit=<-- SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforread=--> SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforupdate.exit=<-- SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loadforupdate=--> SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loggingfield=campo de log = {0} com o valor = {1}. -sqlstore.sqlstatemanager.makedirty.fixscocollection=--- SqlStateManager.makeDirty(), fix SCOCollection. -sqlstore.sqlstatemanager.makedirty.fixscodate=--- SqlStateManager.makeDirty(), fix SCODate. -sqlstore.sqlstatemanager.makedirty=--> SqlStateManager.makeDirty(), campo = {0}. -sqlstore.sqlstatemanager.makedirtyfield=Campo bruto marcado = {0}. -sqlstore.sqlstatemanager.makepersistence=<-> SqlStateManager.makePersistence(), tipo = {0}. -sqlstore.sqlstatemanager.makepresent=--> SqlStateManager.makePresent(), campo = {0}. -sqlstore.sqlstatemanager.marking=marcando: {0} como presente. -sqlstore.sqlstatemanager.newtype=Novo Tipo: {0}. -sqlstore.sqlstatemanager.nosuchmethodexcep.clone=Exce\u00E7\u00E3o : {0} clone ... para o tipo {1}. -sqlstore.sqlstatemanager.preparegetfield.exit=<-- SqlStateManager.prepareGetField(). -sqlstore.sqlstatemanager.preparegetfield=--> SqlStateManager.prepareGetField(), nome = {0}. -sqlstore.sqlstatemanager.preparesetfield.exit=<-- SQLStateManager.prepareSetField(). -sqlstore.sqlstatemanager.preparesetfield=--> SQLStateManager.prepareSetField(), nome = {0}. -sqlstore.sqlstatemanager.preparetoupdateph1.exit=<-- SqlStateManager.prepareToUpdateI(). -sqlstore.sqlstatemanager.preparetoupdateph1=--> SqlStateManager.prepareToUpdatePhaseI(), tipo = {0}. -sqlstore.sqlstatemanager.preparetoupdateph2.exit=<-- SqlStateManager.prepareToUpdateII(). -sqlstore.sqlstatemanager.preparetoupdateph2=--> SqlStateManager.prepareToUpdatePhaseII(), tipo = {0}. -sqlstore.sqlstatemanager.preparetoupdateph3.exit=<-- SqlStateManager.prepareToUpdateIII(). -sqlstore.sqlstatemanager.preparetoupdateph3=--> SqlStateManager.prepareToUpdatePhaseIII(), tipo = {0}. -sqlstore.sqlstatemanager.prepareupdatefield.exit=<-- SQLStateManager.prepareUpdateField(). -sqlstore.sqlstatemanager.prepareupdatefield=--> SQLStateManager.prepareUpdateField(), nome = {0} para o estado: {1}. -sqlstore.sqlstatemanager.prepareupdatefieldspl.exit=<-- SQLStateManager.prepareUpdateFieldSpecial(). -sqlstore.sqlstatemanager.prepareupdatefieldspl=--> SQLStateManager.prepareUpdateFieldSpecial, nome = {0} para o estado: {1}. -sqlstore.sqlstatemanager.processcollectionupdate.exit=<-- SQLStateManager.processCollectionUpdates(). -sqlstore.sqlstatemanager.processcollectionupdate=--> SQLStateManager.processCollectionUpdates(), beforeList={0}, afterlist={1}. -sqlstore.sqlstatemanager.processforeign=processar campo estrangeiro ={0}. -sqlstore.sqlstatemanager.processforeignfield.remove=-- SQLStateManager.processForeignField(): era Conjunto - remover. -sqlstore.sqlstatemanager.processforeignfield.remove_from_bi=-- SQLStateManager.processForeignField(): is SCOCollection - remover do BI. -sqlstore.sqlstatemanager.processforeignfield.reset=-- SQLStateManager.processForeignField(): was SCOCollection - redefinir. -sqlstore.sqlstatemanager.processforeignfield=-- SQLStateManager.processForeignField(): valor: {0} tipo: {1}. -sqlstore.sqlstatemanager.realizefield.exit=<-- SqlStateManager.realizeField(). -sqlstore.sqlstatemanager.realizefield=--> SqlStateManager.realizeField(), nome = {0}. -sqlstore.sqlstatemanager.realizeforeignfield.exit=<-- SqlStateManager.realizeField(), campo realizado = {0}. -sqlstore.sqlstatemanager.realizeforeignfield=--> SqlStateManager.realizeField(), nome = {0}. -sqlstore.sqlstatemanager.recordingfield=campo de grava\u00E7\u00E3o = {0}. -sqlstore.sqlstatemanager.refreshpersistent.exit=<-- SqlStateManager.refreshPersistent(). -sqlstore.sqlstatemanager.refreshpersistent=--> SqlStateManager.refreshPersistence(), tipo = {0}. -sqlstore.sqlstatemanager.reload.exit=<-- SqlStateManager.reload(FieldDesc). -sqlstore.sqlstatemanager.reload=--> SqlStateManager.reload(FieldDesc), tipo = {0}, campo = {1}. -sqlstore.sqlstatemanager.removeupdate=<-> SQLStateManager.removeUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.replaceobjectfield.unsetsco=-- SqlStateManager.replaceObjectField(), n\u00E3o definir SCO. -sqlstore.sqlstatemanager.replaceobjectfield=-- SqlStateManager.replaceObjectField(), campo = {0}, tipo= {1}. -sqlstore.sqlstatemanager.reset=--> SqlStateManager.reset(), retValues = {0}, wasNew: {1}, keepState: {2}. -sqlstore.sqlstatemanager.resettingcollection=Redefinindo Conjunto. -sqlstore.sqlstatemanager.resettingdate=Redefinindo Data. -sqlstore.sqlstatemanager.resolvedependencies=<-> SQLStateManager.resolveDependencies(), obj={0}. -sqlstore.sqlstatemanager.resolvedependency=<-> SQLStateManager.resolveDependency(), depend\u00EAncia resolvida: lobj={0}, f={1}, fobj={2}. -sqlstore.sqlstatemanager.retrieve.exit=<-- SqlStateManager.retrieve(). -sqlstore.sqlstatemanager.retrieve=--> SqlStateManager.retrieve(), nome = {0}. -sqlstore.sqlstatemanager.retrieveforeign.exit=<-- SqlStateManager.retrieveForeign(). -sqlstore.sqlstatemanager.retrieveforeign=--> SqlStateManager.retrieveForeign(), nome = {0}. -sqlstore.sqlstatemanager.unsetmask=n\u00E3o definindo m\u00E1scaras para o campo = {0}. -sqlstore.sqlstatemanager.unconditionalreload.exit=<-- SqlStateManager.reload(). -sqlstore.sqlstatemanager.unconditionalreload=--> SqlStateManager.reload(), tipo = {0}. -sqlstore.sqlstatemanager.updatebeforeimage=<-> SQLStateManager.updateBeforeImage(), nome = {0}, valor = {1}. -sqlstore.sqlstatemanager.updateobjfield.exit=<-- SQLStateManager.updateObjectField(). -sqlstore.sqlstatemanager.updateobjfield=--> SQLStateManager.updateObjectField(), nome = {0}, tipo = {1}. -sqlstore.sqlstatemanager.updatepersistent.exit=<-- SqlStateManager.updatePersistent(). -sqlstore.sqlstatemanager.updatepersistent.immediateflush=<--> SqlStateManager.updatePersistent(), descarregamento imediato exigido: obj={0}, pr\u00F3ximo={1}. -sqlstore.sqlstatemanager.updatepersistent.skipped=<--> SqlStateManager.updatePersistent() ignorado, tipo ={0}, obj= {1}. -sqlstore.sqlstatemanager.updatepersistent=--> SqlStateManager.updatePersistent(), tipo = {0}. -sqlstore.sqlstatemanager.updatetrackedfields.exit=<-- updateTrackedFields(). -sqlstore.sqlstatemanager.updatetrackedfields=--> updateTrackedFields(), f = {0} valor = {1} fieldToIgnore = {2}. - - -############################################################################### -# -# Message ID Range: JDO76300 - JDO76399 -############################################################################### -core.constraint.duporderby=JDO76300: A restri\u00E7\u00E3o \u00E9 um "ordenar por" para o campo {0} que j\u00E1 foi especificado em uma restri\u00E7\u00E3o "ordenar por". -core.constraint.fielddisallowed=JDO76301: O par\u00E2metro fieldName foi especificado, mas n\u00E3o \u00E9 permitido com a opera\u00E7\u00E3o {0}. -core.constraint.fieldrequired=JDO76302: O par\u00E2metro fieldName est\u00E1 ausente, mas a opera\u00E7\u00E3o {0} exige um campo. -core.constraint.illegalParameterInfo=JDO76303: addConstraint() para OP_PARAMETER precisa ser chamado com valor do tipo ParameterInfo. -core.constraint.illegalnode=JDO76304: N\u00F3 ilegal de restri\u00E7\u00E3o {0} na pilha SqlConstraint. -core.constraint.illegalop=JDO76305: O par\u00E2metro da opera\u00E7\u00E3o continha um valor ilegal de {0}. -core.constraint.needfieldnamenode=JDO76306: Erro na pilha de restri\u00E7\u00E3o. Um nome de campo \u00E9 esperado. -core.constraint.needfieldnode=JDO76307: Erro na pilha de restri\u00E7\u00E3o. Uma descri\u00E7\u00E3o de campo \u00E9 esperada. -core.constraint.needvalnode=JDO76308: Erro na pilha de restri\u00E7\u00E3o. Um valor \u00E9 esperado. -core.constraint.stackempty=JDO76309: A pilha de restri\u00E7\u00E3o est\u00E1 vazia -- valores insuficientes para o n\u00FAmero do operador. -core.constraint.unknownfield=JDO76310: O campo {0} especificado no descritor de recupera\u00E7\u00E3o n\u00E3o \u00E9 um membro da classe {1}. -core.constraint.valdisallowed=JDO76311: O par\u00E2metro de valor foi especificado, mas n\u00E3o \u00E9 permitido com a opera\u00E7\u00E3o {0}. -core.constraint.valrequired=JDO76312: O par\u00E2metro de valor est\u00E1 ausente, mas a opera\u00E7\u00E3o {0} exige um valor. -sqlstore.resultdesc.errorgettingvalefromresulset=JDO76313: Erro ao obter o valor do resultset no \u00EDndice {0} como resultType {1}. columnSqlType {2}. Exce\u00E7\u00E3o: {3} -sqlstore.resultdesc.foreignfieldprojection=JDO76314: As consultas para {0} n\u00E3o deveriam ter proje\u00E7\u00F5es em um campo de relacionamento. -sqlstore.resultdesc.unknownfieldtype=JDO76317: Um tipo desconhecido de campo foi encontrado {0}. -sqlstore.retrievedesc.toomanyprojections=JDO76318: N\u00E3o \u00E9 poss\u00EDvel definir mais de uma proje\u00E7\u00E3o para um RetrieveDesc. -sqlstore.retrievedesc.toomanyresulttypes=JDO76319: N\u00E3o \u00E9 poss\u00EDvel definir mais de um tipo de resultado para um RetrieveDesc. -sqlstore.selectstatement.noupdatelocksupport=JDO76320: Um dos tipos de objetos envolvidos nesta consulta est\u00E1 no n\u00EDvel de consist\u00EAncia "bloquear quando carregado". For\u00E7ar este n\u00EDvel de consist\u00EAncia requer que o armazenador de dados suporte o bloqueio para atualizar no n\u00EDvel da linha. O armazenador de dados n\u00E3o suporta o bloqueio para atualizar no n\u00EDvel da linha. -sqlstore.sql.generator.statement.likeescapenotsupported=JDO76321: A cl\u00E1usula LIKE ESCAPE n\u00E3o possui suporte neste banco de dados. -sqlstore.sql.generator.statement.positionthreeargsnotsupported=JDO76322: Terceiro arg para a cl\u00E1usula POSITION deve ser 1. -core.configuration.classnotmapped=JDO76323: A classe "{0}" n\u00E3o est\u00E1 mapeada. -core.configuration.classnotmappedtotable=JDO76324: A classe {0} n\u00E3o est\u00E1 mapeada para a tabela {1}. -sqlstore.sql.generator.statement.unexpectedconstraint=JDO76325: Uma restri\u00E7\u00E3o para a opera\u00E7\u00E3o {0} nunca pode ser a raiz de uma cl\u00E1usula Where. - -# -# Following messages are used within other messages. They need to be i18ned but need not be numbered. -# -sqlstore.sql.generator.statement.sqlStatement=Instru\u00E7\u00E3o SQL -sqlstore.sql.generator.statement.withinputvalues= valores de entrada: -sqlstore.sql.generator.statement.withnoinputvalues= sem valores de entrada. - - -# -# -# -sqlstore.resultdesc.deserializing=desserializando = {0}. -sqlstore.resultdesc.marking_field=marcando campo local {0} como presente. -sqlstore.resultdesc.marking_foreign_field=marcando campo estrangeiro {0} como presente. -sqlstore.resultdesc.marking_key_field=marcando campo chave {0} como presente. -sqlstore.resultdesc.returning_field=retornando campo {0} como proje\u00E7\u00E3o. -# -# -# -sqlstore.sql.concurrency.concurrencychkdirty.exit=--> ConcurrencyCheckDirty.update(). -sqlstore.sql.concurrency.concurrencychkdirty=--> ConcurrencyCheckDirty.update(), beforeImage = {0}. -sqlstore.sql.concurrencyoptverify.resumetx=<--> ConcurrencyOptVerify.resume(), transa\u00E7\u00E3o resumida = {0}. -sqlstore.sql.concurrencyoptverify.suspendtx=<--> ConcurrencyOptVerify.suspend(), transa\u00E7\u00E3o suspensa = {0}. -sqlstore.sql.concurrencyoptverify.update.exit=<-- ConcurrencyOptVerify.update(). -sqlstore.sql.concurrencyoptverify.update=--> ConcurrencyOptVerify.update(), beforeImage = {0}. -sqlstore.sql.generator.dbstatement.addbatch=addbatch ({0}) -sqlstore.sql.generator.dbstatement.bindinputcolumn=bindInputColumn index: {0} valor: {1} sqlType: {2}. -sqlstore.sql.generator.dbstatement.executebatch=executeBatch executando {0} comando(s) -sqlstore.sql.generator.selectqueryplan.processforeignfield.exit=<-- SelectQueryPlan.processForeignFields(). -sqlstore.sql.generator.selectqueryplan.processforeignfield=--> SelectQueryPlan.processForeignFields(), classe = {0}. -sqlstore.sql.generator.selectqueryplan.processlocalfield.exit=<-- SelectQueryPlan.processLocalFields(). -sqlstore.sql.generator.selectqueryplan.processlocalfield=--> SelectQueryPlan.processLocalFields(), classe = {0}. -sqlstore.sql.generator.selectqueryplan.processstmts.exit=<-- SelectQueryPlan.processStatements(). -sqlstore.sql.generator.selectqueryplan.processstmts=--> SelectQueryPlan.processStatements(), classe = {0}, instru\u00E7\u00F5es = {1}. -sqlstore.sql.updateobjdescimpl.afterimagenull=AfterImage n\u00E3o est\u00E1 definido. -sqlstore.sql.updateobjdescimpl.beforeimagenull=BeforeImage n\u00E3o est\u00E1 definido. -sqlstore.sql.updateobjdescimpl.markrelationshipchange=<--> UpdateDesc.markRelationshipChange(). -sqlstore.sql.updateobjdescimpl.updated={0} foi atualizado. - - -############################################################################### -# -# Message ID Range: JDO76400 - JDO76499 -############################################################################### -# -# -# -core.persistencestore.jdbcerror=JDO76400: Obteve um JDBC SQLException ao executar a instru\u00E7\u00E3o SQL:\n{0}.\nExamine a SQLException para obter mais informa\u00E7\u00F5es. -sqlstore.retrievedesc.stmntsnotjoined=JDO76401: M\u00FAltiplas instru\u00E7\u00F5es SQL n\u00E3o possuem suporte para um RetrieveDesc. -core.persistencestore.toofewrows=JDO76402: Menos linhas foram retornadas do banco de dados ao tentar obter o valor para a associa\u00E7\u00E3o {1} da classe {0} do que permite a cardinalidade desta associa\u00E7\u00E3o. O n\u00FAmero m\u00EDnimo de linhas permitido \u00E9 de {2}. -core.persistencestore.toomanyobjforcard1=JDO76403: O banco de dados n\u00E3o \u00E9 consistente com o modelo persistente. Uma tentativa de recuperar o objeto referenciado pela {1} associa\u00E7\u00E3o de itens da {0} classe recuperada {2} , mas somente 1 item pode ser acomodado j\u00E1 que o limite superior da cardinalidade para a associa\u00E7\u00E3o \u00E9 1. -core.persistencestore.toomanyrows=JDO76405: Mais linhas foram retornadas do banco de dados ao tentarem obter o valor para a associa\u00E7\u00E3o {1} da classe {0} do que permite a cardinalidade desta associa\u00E7\u00E3o. O n\u00FAmero m\u00E1ximo linhas permitido \u00E9 {2}. -core.store.concurrentaccess=JDO76406: Exce\u00E7\u00E3o de acesso concorrente: o objeto para {0} foi atualizado ou deletado por outra transa\u00E7\u00E3o. -sqlstore.sqlstoremanager.errorcloseresultset=JDO76407: Erro ao fechar o conjunto de resultados SQL. Exce\u00E7\u00E3o : {0} -sqlstore.sqlstoremanager.errorclosestatement=JDO76408: Erro ao fechar a instru\u00E7\u00E3o SQL. Exce\u00E7\u00E3o : {0} -sqlstore.sql.generator.selectqueryplan.plansnotjoined=JDO76409: V\u00E1rios planos de consulta n\u00E3o suportados suporte para um RetrieveDesc. - -# -# -# -sqlstore.sqlstoremanager.executeQuery.exit=<-- SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeQuery=--> SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeupdate.exit=<-- SQLStoreManager.executeUpdate(), linhas afetadas = {0}. -sqlstore.sqlstoremanager.executeupdate=--> SQLStoreManager.executeUpdate(). -sqlstore.sqlstoremanager.executeupdatebatch.addbatch={0}; adicionar batch. -sqlstore.sqlstoremanager.executeupdatebatch.exit=<-- SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.executeupdatebatch.exit.flush=<-- SQLStoreManager.executeUpdateBatch(), linhas afetadas = {0}. -sqlstore.sqlstoremanager.executeupdatebatch.flushbatch={0}; descarregar batch. -sqlstore.sqlstoremanager.executeupdatebatch=--> SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.getpersistenceconfig=<--> SQLStoreManager.getPersistenceConfig(), classType = {0}. -sqlstore.sqlstoremanager.selectnoncorrelated.exit=<-- SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.selectnoncorrelated=--> SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.vendortype=<--> SQLStoreManager: tipo fornecedor = {0}. - - -############################################################################### -# -# Message ID Range: JDO76500 - JDO76599 -############################################################################### -# -# - database -# -connection.connectionmanager.badnew=JDO76500: Novo "{0}" precisa ser maior ou igual ao atual "{1}". -connection.connectionmanager.badvalue=JDO76501: Valor inv\u00E1lido para "{0}". -connection.connectionmanager.conntimeout=JDO76502: Tempo de time-out expirado. -connection.connectionmanager.getconnection.mismatch=JDO76503: A conex\u00E3o agrupada n\u00E3o tem o mesmo contexto de usu\u00E1rio. -connection.connectionmanager.isdown=JDO76504: Shutdown do Gerenciador de Conex\u00F5es em andamento. -connection.connectionmanager.maxpool=JDO76505: O pool de conex\u00F5es est\u00E1 no m\u00E1ximo. -connection.connectionmanager.msintervalvalue=JDO76506: MsInterval precisa ser maior que zero e menor ou igual a MsWait. -connection.connectionmanager.mswaitvalue=JDO76507: MsWait precisa ser maior ou igual a zero. -connection.connectionmanager.nulldriver=JDO76508: Valor NULO para o Nome do Driver. -connection.connectionmanager.nullurl=JDO76509: Valor NULO para o URL. -connection.connectionmanager.poolsize=JDO76510: 'maxPool' precisa ser maior ou igual a 'minPool'. -connection.connectionmanager.threaditerupted=JDO76511: Thread interrompido. -connection.connectionmanager.zero=JDO76512: "{0}" precisa ser maior ou igual a zero. -# -# -# -sqlstore.database.dbvendor.cantloadDefaultProperties=JDO76513: N\u00E3o \u00E9 poss\u00EDvel carregar as propriedades para o banco de dados default. -sqlstore.database.dbvendor.init.default=JDO76514: -->N\u00E3o foi poss\u00EDvel carregar a propriedade para o tipo de fornecedor {0}. Os defaults ser\u00E3o utilizados. -sqlstore.database.dbvendor.cantinstantiateclass=JDO76515: Falha ao instanciar a classe {0}. -# -# -# -sqlstore.database.oracle.defineCol=JDO76516: Falha ao definir a coluna para a instru\u00E7\u00E3o. -sqlstore.database.oracle.nooracleavailable=JDO76517: Ao inicializar a f\u00E1brica de recursos Oracle "{0}", houve uma falha em obter uma inst\u00E2ncia do oracle.jdbc.OraclePreparedStatement ou do oracle.jdbc.driver.OraclePreparedStatement. A otimiza\u00E7\u00E3o espec\u00EDfica do Oracle ser\u00E1 desativada. Se as inst\u00E2ncias que utilizam este recurso necessitam de valores vincul\u00E1veis para colunas mapeadas para a coluna Fixed Char, os valores ser\u00E3o preenchidos com espa\u00E7os at\u00E9 o tamanho especificado no arquivo dbschema correspondente. -sqlstore.database.oracle.fixedcharpadded=JDO76518: O valor "{0}" est\u00E1 vinculado a uma coluna CHAR. Isso requer o manuseio especial no Oracle. Como n\u00E3o foi poss\u00EDvel obter a classe OraclePreparedStatement no driver, o valor \u00E9 preenchido com espa\u00E7os at\u00E9 o tamanho {1}, conforme especificado no arquivo dbschema capturado. -# -# -# -core.configuration.getvendortypefailed=JDO76519: Falha em identificar o tipo de fornecedor para o armazenador de dados. -jdo.sqlpersistencemanagerfactory.errorgettingDatabaseInfo=JDO76520: Ocorreram erros ao obter informa\u00E7\u00F5es sobre o banco de dados. Obteve a seguinte exce\u00E7\u00E3o: - -# -# -# -sqlstore.connection.conncectiomgr.found=<--> ConnectionManager.getConnection: encontrado {0}. -sqlstore.connection.conncectiomgr.getnewconn=<--> ConnectionManager.getConnection: novo {0}. -sqlstore.connection.conncectiomgr.replacefreeconn=<--> ConnectionManager.replaceFreeConnection: livro {0}. -sqlstore.connectionimpl.clearxact.close=--- ConnectionImpl.clearXact: conex\u00E3o encerrada . -sqlstore.connectionimpl.clearxact.disassocxact=--- ConnectionImpl.clearXact: disassociateXact . -sqlstore.connectionimpl.clearxact=--- ConnectionImpl.clearXact: . -sqlstore.connectionimpl.close.connrelease=<--- ConnectionImpl.close: conex\u00E3o liberada. -sqlstore.connectionimpl.close.exit=<--- ConnectionImpl.close: conex\u00E3o encerrada. -sqlstore.connectionimpl.close.freepending=<--- ConnectionImpl.close: FreePending definido. -sqlstore.connectionimpl.close.putfreelist=<--- ConnectionImpl.close: colocado na freeList. -sqlstore.connectionimpl.close.replaced=<--- ConnectionImpl.close: conex\u00E3o substitu\u00EDda. -sqlstore.connectionimpl.close=---> ConnectionImpl.close. -sqlstore.connectionimpl.close_arg=---> ConnectionImpl.close: {0}. -sqlstore.connectionimpl.commit=--- ConnectionImpl.commit: conex\u00E3o encerrada. -sqlstore.connectionimpl.finalize=--- ConnectionImpl.finalize: conex\u00E3o encerrada. -sqlstore.connectionimpl.internalcommit=--- ConnectionImpl.internalCommit: . -sqlstore.connectionimpl.pendingdisassocxact=--- ConnectionImpl.clearXact: disassociateXact pendente. -sqlstore.connectionimpl.rollback.close=--- ConnectionImpl.rollback: conex\u00E3o encerrada. -sqlstore.connectionimpl.rollback=--- ConnectionImpl.rollback:. -# -# -# -sqlstore.database.dbvendor.castRequiredForNumericValues=<-> DBVendorType.isCastRequiredForNumericValues(): {0}. -sqlstore.database.dbvendor.getModFunctionName=<-> DBVendorType.getModFunctionName(): {0}. -sqlstore.database.dbvendor.getNullComparisonFunctionName=<-> DBVendorType.getNullComparisonFunctionName(): {0}. -sqlstore.database.dbvendor.getConcatCast=<-> DBVendorType.getConcatCast(): {0}. -sqlstore.database.dbvendor.getSpecialDBOperation=<-> DBVendorType.getSpecialDBOperation(): {0}. -sqlstore.database.dbvendor.getabs=<-> DBVendorType.getAbs(): {0}. -sqlstore.database.dbvendor.getcharlength=<-> DBVendorType.getCharLength(): {0}. -sqlstore.database.dbvendor.getforupdate=<-> DBVendorType.getForUpdate(): {0}. -sqlstore.database.dbvendor.getholdlock=<-> DBVendorType.getHoldlock(): {0}. -sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull(): {0}. -sqlstore.database.dbvendor.getisnull=<-> DBVendorType.getIsNull(): {0}. -sqlstore.database.dbvendor.getleftjoin=<-> DBVendorType.getLeftJoin(): {0}. -sqlstore.database.dbvendor.getleftjoinpost=<-> DBVendorType.getLeftJoinPost(): {0}. -sqlstore.database.dbvendor.getleftlikeescape=<-> DBVendorType.getLeftLikeEscape(): {0}. -sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}. -sqlstore.database.dbvendor.getposition3args=<-> DBVendorType.getPositionThreeArrgs(): {0}. -sqlstore.database.dbvendor.getposition=<-> DBVendorType.getPosition(): {0}. -sqlstore.database.dbvendor.getpositionin=<-> DBVendorType.getPositionIn(): {0}. -sqlstore.database.dbvendor.getpositionsrchsrc=<-> DBVendorType.getPositionSearchSource(): {0}. -sqlstore.database.dbvendor.getquotecharstart=<-> DBVendorType.getQuoteCharStart(): {0}. -sqlstore.database.dbvendor.getrightjoinipre=<-> DBVendorType.getRightJoin(): {0}. -sqlstore.database.dbvendor.getrightlikeescape=<-> DBVendorType.getRightLikeEscape(): {0}. -sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim(): {0}. -sqlstore.database.dbvendor.getrtrimpost=<-> DBVendorType.getRtrimPost(): {0}. -sqlstore.database.dbvendor.getsqrt=<-> DBVendorType.getSqrt(): {0}. -sqlstore.database.dbvendor.getstringconcat=<-> DBVendorType.getStringConcat(): {0}. -sqlstore.database.dbvendor.getsubstring=<-> DBVendorType.getSubstring(): {0}. -sqlstore.database.dbvendor.getsubstringfor=<-> DBVendorType.getSubstringFor(): {0}. -sqlstore.database.dbvendor.getsubstringfrom=<-> DBVendorType.getSubstringFrom(): {0}. -sqlstore.database.dbvendor.gettablelistend=<-> DBVendorType.getTableListEnd(): {0}. -sqlstore.database.dbvendor.gettableliststart=<-> DBVendorType.getTableListStart(): {0}. -sqlstore.database.dbvendor.isAnsiTrim=<-> DBVendorType.isAnsiTrim(): {0}. -sqlstore.database.dbvendor.isInlineNumeric=<-> DBVendorType.isInlineNumeric(): {0}. -sqlstore.database.dbvendor.isNativeOuterJoin=<-> DBVendorType.isNativeOuterJoin(): {0}. -sqlstore.database.dbvendor.isParameterCast=<-> DBVendorType.isParameterCast(): {0}. -sqlstore.database.dbvendor.isdistinctupdatelocksupported=<-> DBVendorType.isDistinctSupportedWithUpdateLock(): {0}. -sqlstore.database.dbvendor.islockcolumnlistsupported=<-> DBVendorType.isLockColumnListSupported(): {0}. -sqlstore.database.dbvendor.isupdatelocksupported=<-> DBVendorType.isUpdateLockSupported(): {0}. -sqlstore.database.dbvendor.mapemptystrtonull=<-> DBVendorType.mapEmptyStringToNull(): {0}. -sqlstore.database.dbvendor.overrideproperties.with=<-> DBVendorType.overrideProperties() : {0} com: {1}. -sqlstore.database.dbvendor.overrideproperties=<-> DBVendorType.overrideProperties() - NENHUM. -sqlstore.database.dbvendor.supportslikeescape=<-> DBVendorType.supportsLikeEscape(): {0}. -sqlstore.database.dbvendor.vendorname=<-> DBVendorType(), vendorName: [{0}] vendorType: {1}. -# -# -# -sqlstore.transactionimpl.call.info={0} Tran[ {1} ].{2}: {3} para {4}. -sqlstore.transactionimpl.call={0} Tran[ {1} ].{2}:status = {3}, txType: {4} para {5}. -sqlstore.transactionimpl.closeconnection=--- TransactionImpl.closeConnection() {0} para {1}. -sqlstore.transactionimpl.general={0}. -sqlstore.transactionimpl.getconnection=--- TransactionImpl.getConnection(): {0} TX otimista: {1} referenceCount = {2} for {3}. -sqlstore.transactionimpl.releaseconnection=--- TransactionImpl.releaseConnection(): TX otimista: {0} Confirma\u00E7\u00E3o Interna: {1} referenceCount: {2} para {3}. -sqlstore.transactionimpl.rollbackconnection=--- TransactionImpl.rollbackConnection(): {0} para {1}. -sqlstore.transactionimpl.status={0} Tran[ {1} ].setStatus: {2} => {3} para {4}. - - -############################################################################### -# All the source files under subdir ejb. -# Message ID Range: JDO76600 - JDO76699 -############################################################################### -# -#EJBHelper messages -# -# {0} - method name -ejb.ejbhelper.nonmanaged=JDO76600: O m\u00E9todo {0} n\u00E3o deveria ser chamado em um ambiente n\u00E3o-gerenciado. - -# -# Common messages between SunContainerHelper and DeploymentHelper -# so they have a neutral key, that still starts with "ejb". -# -# {0} - jndi name. -ejb.jndi.lookupfailed=JDO76604: Falha da pesquisa JNDI para cmp-resource "{0}". -JDO76604.diag.cause.1=O recurso CMP junto a este nome JNDI n\u00E3o est\u00E1 registrado com essa inst\u00E2ncia. -JDO76604.diag.cause.2=O nome JNDI para o recurso CMP tem erro de ortografia. -JDO76604.diag.check.1=Verifique o nome JNDI para o recurso que planeja utilizar. -JDO76604.diag.check.2=Verifique o nome JNDI do recurso CMP especificado no m\u00F3dulo. - -# {0} - jndi name. -# {1} - returned class name. -ejb.jndi.unexpectedinstance=JDO76605: A pesquisa JNDI para o cmp-resource "{0}" retornou uma inst\u00E2ncia de tipo inesperado: {1}. -JDO76605.diag.cause.1=O recurso CMP com este nome JNDI n\u00E3o faz refer\u00EAncia ao jdbc-resource ou o persistence-manager-factory-resource. -JDO76605.diag.cause.2=O nome JNDI para o recurso CMP tem erro de ortografia. -JDO76605.diag.check.1=Verifique o nome JNDI para o recurso que planeja utilizar. -JDO76605.diag.check.2=Verifique o nome JNDI do recurso CMP especificado no m\u00F3dulo. - -# -# DeploymentHelper messages - ejb -# -# -# -# -ejb.DeploymentHelper.getconnection=Obtendo conex\u00E3o para o nome JNDI ''{0}''. - -# The messages JDO76606 through JDO76615 that were originally here -# have been moved to -# cmp/support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties -# As part of INF# -# So do not use these messages. - - -# -#CMPHelper messages -# -ejb.cmphelper.nonmanaged=JDO76613: Acesso inv\u00E1lido do CMPHelper. Esta classe \u00E9 usada somente para o suporte CMP e n\u00E3o deveria ser chamada fora de um servidor de aplica\u00E7\u00F5es. - -# -#SunTransactionHelper messages -# - -# {0} class name -ejb.SunTransactionHelper.wrongdatasourcetype=JDO76616: O DataSource n\u00E3o \u00E9 do tipo esperado. Esperado: com.sun.appserv.jdbc.DataSource, obteve: {0}. - - -############################################################################### -# -############################################################################### -# -# -# -vendor=Sun Microsystems -# majorVersion (minorVersion) buildDate -fullVersion={0} ({1}) {2} -# -# -# -core.generic.unknownfield=O campo {0} n\u00E3o \u00E9 um membro da classe {1}. -core.generic.unknownexception=Ocorreu uma exce\u00E7\u00E3o desconhecida. -core.generic.nullparam=O par\u00E2metro {0} \u00E9 nulo. -core.generic.notinstanceof=O objeto de classe {0} n\u00E3o \u00E9 uma inst\u00E2ncia de {1}. - - -############################################################################### -# -############################################################################### -core.configuration.cantloadclass=Falha ao carregar a classe {0}. -sqlstore.exception.log=Exce\u00E7\u00E3o. -jdo.lifecycle.deleted.accessField=N\u00E3o \u00E9 poss\u00EDvel acessar o campo de uma inst\u00E2ncia deletada. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_zh_CN.properties deleted file mode 100644 index dffe3b2f5ef..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_zh_CN.properties +++ /dev/null @@ -1,643 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# Resource bundle for sqlstore runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Please note that many package names and classnames have changed over time. -# Unfortunately, this file was not maintained to follow above convention. -# Please ignore if the package/class name does not match actual names as today. -# -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 76. -# -# This file is divided into the following sections: -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# 1. JDO: PersistenceManagerFactory/PersistenceManager/ExtentCollection/LifeCycle -# 2. Model -# 3. StateManager -# 4. sql generator components: RetrieveDesc, ResultDesc plus all the files under generator subdir -# 5. SQLStoreManager -# 6. Connection/Connectionpool/Transaction/DBVendorType -# 7. EJB integration. -# 8. Generic messages. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -#################################################################################################### -# -# Message ID Range: JDO76000 - JDO76099 -#################################################################################################### -jdo.persistencemanagerfactoryimpl.getpersistencemanager.error=JDO76000: \u4E0D\u80FD\u5728\u540C\u4E00\u4E8B\u52A1\u5904\u7406\u4E2D\u4F7F\u7528\u591A\u4E2A\u7528\u6237\u540D/\u53E3\u4EE4\u7EC4\u5408\u3002 -jdo.persistencemanagerfactoryimpl.getpersistencemanager.notconfigured=JDO76001: \u672A\u914D\u7F6E PersistenceManagerFactory\u3002 -jdo.persistencemanagerfactoryimpl.notsupported=JDO76002: \u5185\u90E8 PersistenceManagerFactoryImpl \u4E0D\u652F\u6301\u64CD\u4F5C\u3002 -jdo.persistencemanagerimpl.acquireexclusivelock.interrupted=JDO76003: \u7531\u4E8E\u4E2D\u65AD\u5F02\u5E38\u9519\u8BEF\u800C\u65E0\u6CD5\u83B7\u5F97\u4E92\u65A5\u9501\u5B9A -jdo.persistencemanagerimpl.acquiresharelock.failed=JDO76004: \u7531\u4E8E _readWriteCount \u5C0F\u4E8E\u96F6\u800C\u65E0\u6CD5\u83B7\u5F97\u5171\u4EAB\u9501\u5B9A -jdo.persistencemanagerimpl.acquiresharelock.interrupted=JDO76005: \u7531\u4E8E\u4E2D\u65AD\u5F02\u5E38\u9519\u8BEF\u800C\u65E0\u6CD5\u83B7\u5F97\u5171\u4EAB\u9501\u5B9A -jdo.persistencemanagerimpl.another_pm=JDO76006: \u5BF9\u8C61\u4E0E\u53E6\u4E00\u4E2A PersistenceManager \u5173\u8054\u3002 -jdo.persistencemanagerimpl.assertactivetransaction.error=JDO76007: \u4E0E\u6B64\u6301\u4E45\u6027\u7BA1\u7406\u5668\u5173\u8054\u7684\u4E8B\u52A1\u5904\u7406\u672A\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\u3002 -jdo.persistencemanagerimpl.assertclosed.closed=JDO76008: PersistenceManager \u5DF2\u5173\u95ED\u3002 -jdo.persistencemanagerimpl.assertpersistencecapable.error=JDO76009: \u7C7B {0} \u5C1A\u672A\u589E\u5F3A\u4E3A\u5177\u6709\u900F\u660E\u6301\u4E45\u6027\u3002\u8FD0\u884C\u524D\u8BF7\u4F7F\u7528 IDE \u7684 JAR \u6216 WAR \u6253\u5305\u7A0B\u5E8F\u5C06\u5177\u6709\u6301\u4E45\u6027\u7684\u7C7B\u6253\u5305\u3002\u6216\u8005, \u5C06\u4E3B\u7C7B\u4E2D\u7684\u201C\u6267\u884C\u8005\u201D\u5C5E\u6027\u8BBE\u7F6E\u4E3A\u6301\u4E45\u6027\u6267\u884C\u8005, \u4EE5\u4FBF\u4ECE IDE \u8FD0\u884C\u3002 -jdo.persistencemanagerimpl.close.activetransaction=JDO76010: \u4E0E\u6B64\u6301\u4E45\u6027\u7BA1\u7406\u5668\u5173\u8054\u7684\u4E00\u4E2A\u4E8B\u52A1\u5904\u7406\u5904\u4E8E\u6253\u5F00\u72B6\u6001\u3002 -jdo.persistencemanagerimpl.fetchinstance.none=JDO76012: \u627E\u4E0D\u5230\u6B64\u5BF9\u8C61 ID \u7684\u5BF9\u8C61\u3002 -jdo.persistencemanagerimpl.internaldeletepersistent.transient=JDO76014: \u65E0\u6CD5\u5220\u9664\u975E\u6301\u4E45\u6027\u5BF9\u8C61\u3002 -jdo.persistencemanagerimpl.internalmakepersistent.dups=JDO76015: \u6B64 PersistenceManager \u9AD8\u901F\u7F13\u5B58\u4E2D\u5DF2\u5B58\u5728\u5177\u6709\u76F8\u540C\u4E3B\u952E\u7684\u5B9E\u4F8B\u3002 -jdo.persistencemanagerimpl.loadclassforoid.wrongoidclass=JDO76016: \u4ECE OID \u68C0\u7D22\u5BF9\u8C61\u7C7B\u65F6\u51FA\u73B0\u9519\u8BEF\u3002 -jdo.persistencemanagerimpl.newscoinstance.wrongclass=JDO76017: \u65E0\u6CD5\u521B\u5EFA\u7C7B {0} \u7684 SCO \u5B9E\u4F8B, \u8BE5\u5B9E\u4F8B\u7684\u7C7B\u578B\u65E0\u6548\u3002 -jdo.persistencemanagerimpl.notprocessed=JDO76018: \u7531\u4E8E\u5FAA\u73AF\u76F8\u5173\u800C\u65E0\u6CD5\u5237\u65B0\u6301\u4E45\u6027\u5B9E\u4F8B\u3002 -jdo.persistencemanagerimpl.releaseexclusivelock.failed=JDO76019: \u7531\u4E8E _readWriteCount \u5927\u4E8E\u96F6\u800C\u65E0\u6CD5\u91CA\u653E\u4E92\u65A5\u9501\u5B9A -jdo.persistencemanagerimpl.releasesharelock.failed=JDO76020: \u7531\u4E8E _readWriteCount \u4E3A\u96F6\u800C\u65E0\u6CD5\u91CA\u653E\u5171\u4EAB\u9501\u5B9A -jdo.persistencemanagerwrapper.invalidpm=JDO76021: PersistenceManagerWrapper \u5DF2\u5173\u95ED\u3002 -jdo.extentcollection.constructor.invalidclass=JDO76022: \u533A\u96C6\u5408\u7684\u7C7B ''{0}'' \u65E0\u6548\u3002 -jdo.extentcollection.constructor.nonpc=JDO76023: \u7C7B ''{0}'' \u4E0D\u5177\u6709\u6301\u4E45\u6027\u3002 -jdo.extentcollection.constructor.subclasses=JDO76024: \u533A\u96C6\u5408\u4E0D\u652F\u6301\u9009\u9879\u5B50\u7C7B\u201C\u771F\u201D\u3002 -jdo.extentcollection.illegalmodification=JDO76025: \u5BF9\u7C7B ''{0}'' \u7684\u533A\u96C6\u5408\u7684\u4FEE\u6539\u4E0D\u5408\u6CD5\u3002 -jdo.extentcollection.methodnotsupported=JDO76026: \u4E0D\u652F\u6301\u533A\u96C6\u5408\u65B9\u6CD5 {0}\u3002 -jdo.lifecycle.xactnotactive=JDO76027: \u6267\u884C\u6B64\u64CD\u4F5C\u9700\u8981\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\u7684\u4E8B\u52A1\u5904\u7406\u3002 -jdo.persistencemanagerimpl.newinstance.badsm=JDO76028: StateManager \u672A\u914D\u7F6E\u5B8C\u5168! -jdo.persistencemanagerimpl.setjtatransaction.notnulljta=JDO76029: \u5C1D\u8BD5\u7528 {1} \u66FF\u6362\u975E\u7A7A javax.transaction.Transaction: {0}\u3002 -jdo.persistencemanagerfactoryimpl.getpersistencemgr.closed=JDO76030: javax.transaction.Transaction {0} \u7684 PersistenceManager \u5DF2\u5173\u95ED\u6216\u6B63\u5728\u63D0\u4EA4\u3002 -jdo.persistencemanagerfactoryimpl.registerpm.registered=JDO76031: \u8BE5 javax.transaction.Transaction {0} \u7684\u5B9E\u4F8B\u5DF2\u6CE8\u518C\u53E6\u4E00\u4E2A PersistenceManager: {1}\u3002 -jdo.persistencemanagerimpl.verificationfailed=JDO76032: \u7248\u672C\u4E00\u81F4\u7684\u5B9E\u4F8B\u672A\u80FD\u901A\u8FC7\u6570\u636E\u5B58\u50A8\u7684\u9A8C\u8BC1\u3002 -jdo.persistencemanagerfactoryimpl.getversionconsistencycache.nullstore=JDO76033: \u672A\u914D\u7F6E StoreManager\u3002 - -# -# -# -sqlstore.state.lifecyclestate.changestate=LifeCycleState.changeState(), \u65E7\u72B6\u6001 = {0}, \u65B0\u72B6\u6001 = {1}\u3002 -sqlstore.state.lifecyclestate.initial=LifeCycleState.getLifeCycleState(), \u521D\u59CB\u72B6\u6001 = {0}\u3002 - -# -# -# -sqlstore.persistencemgr.acquireexclusivelock.count=acquireExclusiveLock(), \u7EBF\u7A0B {0} \u7684 _readWriteCount = {1}\u3002 -sqlstore.persistencemgr.acquireexclusivelock=acquireExclusiveock(), \u7EBF\u7A0B {0} \u5C06\u8981\u7B49\u5F85\u3002 -sqlstore.persistencemgr.acquiresharedlock.rdwrcount=acquireShareLock(), \u7EBF\u7A0B {0} \u83B7\u53D6\u5171\u4EAB\u9501\u7684 _readWriteCount ={1}\u3002 -sqlstore.persistencemgr.acquiresharedlock=acquireShareLock(), \u7EBF\u7A0B {0} \u5C06\u8981\u7B49\u5F85\u3002 -sqlstore.persistencemgr.aftercompletion.process=---PersistenceManagerImpl.afterCompletion() \u8FDB\u7A0B: {0}\u3002 -sqlstore.persistencemgr.aftercompletion=---PersistenceManagerImpl.afterCompletion() \u4E2D\u6B62: {0}\u3002 -sqlstore.persistencemgr.assertactivetx.closed=--- PersistenceManagerImpl.assertActiveTransaction: Closed for {0}. -sqlstore.persistencemgr.assertactivetx=--- PersistenceManagerImpl.assertActiveTransaction: {0}\u3002 -sqlstore.persistencemgr.assertisopen=--- PersistenceManagerImpl.assertIsOpen: \u5DF2\u9488\u5BF9{0}\u5173\u95ED\u3002 -sqlstore.persistencemgr.beforecompletion=---PersistenceManagerImpl.beforeCompletion()\u3002 -sqlstore.persistencemgr.cacheproperties=PersistenceManagerImpl \u9AD8\u901F\u7F13\u5B58\u5C5E\u6027: _txCacheInitialCapacity={0}, _flushedCacheInitialCapacity={1}, _flushedCacheLoadFactor={2}, _weakCacheInitialCapacity={3}, _weakCacheLoadFactor={4}\u3002 -sqlstore.persistencemgr.deregisterinstance.verified=---PersistenceManagerImpl.deregisterInstance() - \u4F7F\u7528\u9A8C\u8BC1\u53D6\u6D88\u6CE8\u518C\u3002 -sqlstore.persistencemgr.deregisterinstance.verify=---PersistenceManagerImpl.deregisterInstance() with verify SM -- oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.deregisterinstance=---PersistenceManagerImpl.deregisterInstance() oid: {0} \u9488\u5BF9 PersistenceManager: {1} \u548C JTA: {2}\u3002 -sqlstore.persistencemgr.getbyobjid=---PersistenceManagerImpl.getObjectById() OID:{0} \u9488\u5BF9 PersistenceManager: {1} \u548C JTA: {2}\u3002 -sqlstore.persistencemgr.getcurrentwrapper=---PersistenceManagerImpl.getCurrentWrapper() > \u5F53\u524D\u503C: {0}\u3002 -sqlstore.persistencemgr.getobjid.notpc=---PersistenceManagerImpl.getObjectId() NOT PC: {0} for PersistenceManager: {1}. -sqlstore.persistencemgr.getobjid.notpm=---PersistenceManagerImpl.getObjectId() NOT PM: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getobjid= :{0} ---PersistenceManagerImpl.getObjectId() PC: {1} \u9488\u5BF9 PersistenceManager: {2} \u548C JTA: {3}\u3002 -sqlstore.persistencemgr.internalcloneoid.old=---PersistenceManagerImpl.internalCloneOid(): old: {0} new: {1} same: {2}. -sqlstore.persistencemgr.internalcloneoid=---PersistenceManagerImpl.internalCloneOid() \u9519\u8BEF: {0}\u3002 -sqlstore.persistencemgr.isactivetx=---PersistenceManagerImpl.isActiveTransaction(): {0}\u3002 -sqlstore.persistencemgr.isnontxread=---PersistenceManagerImpl.isNontransactionalRead(): {0}\u3002 -sqlstore.persistencemgr.isoptimistic=---PersistenceManagerImpl.isOptimisticTransaction() : {0}\u3002 -sqlstore.persistencemgr.loadingclass=\u6B63\u5728\u52A0\u8F7D... ClassName: {0}\u3002 -sqlstore.persistencemgr.loadingfile=\u6B63\u5728\u52A0\u8F7D... FileName: {0} {1} {2}\u3002 -sqlstore.persistencemgr.makepersistent.done=---PersistenceManagerImpl.makePersistent() {0} \u9488\u5BF9 {1} \u548C JTA: {2} \u5DF2\u5B8C\u6210\u3002 -sqlstore.persistencemgr.makepersistent= {0} ---PersistenceManagerImpl.makePersistent() PC: {1} \u9488\u5BF9 PersistenceManager: {2} \u548C JTA: {3}\u3002 -sqlstore.persistencemgr.newcollection=---PersistenceManagerImpl.newCollectionInstanceInternal() \u7C7B\u578B: {0}\u3002 -sqlstore.persistencemgr.popcurrentwrapper=---PersistenceManagerImpl.popCurrentWrapper() > current: {0} prev: {1}. -sqlstore.persistencemgr.pushcurrentwrapper=---PersistenceManagerImpl.pushCurrentWrapper() > \u5F53\u524D\u503C: {0} \u65B0\u503C: {1}\u3002 -sqlstore.persistencemgr.registerinstance= {0} ---PersistenceManagerImpl.registerInstance() oid/sm: {1}/{2} \u9488\u5BF9 PersistenceManager: {3} \u548C JTA: {4}\u3002 -sqlstore.persistencemgr.registerinstancein_txc=registerInstance in TXC :{0} / {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.registerinstancein_wkc=registerInstance in WKC. -sqlstore.persistencemgr.releaseexclusivelock=releaseExclusiveock(), \u7EBF\u7A0B {0} \u7684 _readWriteCount = {1}\u3002 -sqlstore.persistencemgr.releasesharedlock=releaseShareLock(), \u7EBF\u7A0B {0} \u7684 _readWriteCount = {1}\u3002 -sqlstore.persistencemgr.replacingdeletedinstance=\u6B63\u5728\u4F7F\u7528\u65B0\u5B9E\u4F8B\u4E3A\u5BF9\u8C61 ID {0} \u66FF\u6362\u5220\u9664\u7684\u5B9E\u4F8B\u3002 -sqlstore.persistencemgr.setkeyfields=---PersistenceManagerImpl.setKeyFields() \u9519\u8BEF: {0}\u3002 -# -# -# -sqlstore.sqlpersistencemgrfactory.getfrompool.pmt=<--SQLPersistenceManagerFactory.getFromPool() PM: {0} \u9488\u5BF9 JTA {1}\u3002 -sqlstore.sqlpersistencemgrfactory.getfrompool=<--SQLPersistenceManagerFactory.getFromPool()\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.found= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() \u627E\u5230 javax.transaction.Transaction: {1}\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx.notfound=<->SQLPersistenceManagerFactory.getPersistenceManager() \u672A\u627E\u5230 JDO \u4E8B\u52A1\u5904\u7406\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx=<->SQLPersistenceManagerFactory.getPersistenceManager() JDO \u4E8B\u52A1\u5904\u7406: {0}\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmclosedfor= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() PM \u5DF2\u9488\u5BF9{1}\u5173\u95ED\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmt= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() : {1} \u9488\u5BF9 JTA: {2}\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr=:{0} -->SQLPersistenceManagerFactory.getPersistenceManager()\u3002 -sqlstore.sqlpersistencemgrfactory.init=---SQLPersistenceManagerFactory.initialize()\u3002 -sqlstore.sqlpersistencemgrfactory.pmCacheBucketSize=---SQLPersistenceManagerFactory pmCacheBucketSize = {0}\u3002 -sqlstore.sqlpersistencemgrfactory.pmCacheInitialCapacity=---SQLPersistenceManagerFactory pmCacheInitialCapacity = {0}\u3002 -sqlstore.sqlpersistencemgrfactory.registerpersistencemgr.pmt=<->SQLPersistenceManagerFactory.registerPersistenceManager() PM: {0} for JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.releasepm.pmt=---SQLPersistenceManagerFactory.releasePersistenceManager() PM:{0} \u9488\u5BF9 JTA Tx: {1}\u3002 -sqlstore.sqlpersistencemgrfactory.returnToPool=<--SQLPersistenceManagerFactory.returnToPool()\u3002 - - -############################################################################### -# -# Message ID Range: JDO76100 - JDO76199 -############################################################################### -core.configuration.columnnotable=JDO76100: \u5217\u63CF\u8FF0\u7B26\u6CA1\u6709\u6709\u6548\u7684\u8868\u63CF\u8FF0\u7B26\u3002 -core.configuration.fieldnotable=JDO76101: \u5B57\u6BB5 {0} \u4E0D\u4E0E\u4EFB\u4F55\u8868\u5173\u8054\u3002 -core.configuration.fieldnotmapped=JDO76102: \u672A\u6620\u5C04\u7C7B {1} \u7684\u6301\u4E45\u6027\u5B57\u6BB5 {0}\u3002 -core.configuration.iddescnofield=JDO76103: SqlIDDesc \u5BF9\u8C61\u8BBE\u7F6E\u4E0D\u5F53\u3002\u6CA1\u6709\u53EF\u7528\u7684\u5B57\u6BB5\u63CF\u8FF0\u7B26\u3002 -core.configuration.loadfailed.class=JDO76104: \u65E0\u6CD5\u52A0\u8F7D\u7C7B {0} \u7684\u914D\u7F6E\u3002 -core.configuration.noneexistentpkfield=JDO76105: \u5BF9\u8C61 ID \u7C7B {1} \u4E2D\u7684\u5B57\u6BB5 {0} \u5728\u5177\u6709\u6301\u4E45\u6027\u7684\u7C7B {2} \u4E2D\u4E0D\u5B58\u5728\u3002 -core.configuration.unsupportedconsistencylevel=JDO76106: \u7C7B {0} \u5177\u6709\u4E0D\u652F\u6301\u7684\u4E00\u81F4\u6027\u7EA7\u522B\u3002\u5F53\u524D\u53D7\u652F\u6301\u7684\u4E00\u81F4\u6027\u7EA7\u522B\u4E3A "none", "check-modified-at-commit", "lock-when-loaded" \u548C "check-version-of-accessed-instances"\u3002 -core.configuration.validationfailed=JDO76107: \u7C7B {0} \u7684\u6620\u5C04\u65E0\u6548:\n{1}\u3002 -core.configuration.validationproblem=JDO76108: \u7C7B {0} \u4E2D\u6709\u9A8C\u8BC1\u9519\u8BEF: {1} -# -# -# -core.fielddesc.minvalue=JDO76109: \u503C {0} \u5C0F\u4E8E\u5B57\u6BB5\u7C7B\u578B {2} \u6240\u5141\u8BB8\u7684\u6700\u5C0F\u503C {1}\u3002 -core.fielddesc.maxvalue=JDO76110: \u503C {0} \u5927\u4E8E\u5B57\u6BB5\u7C7B\u578B {2} \u6240\u5141\u8BB8\u7684\u6700\u5927\u503C {1}\u3002 -core.configuration.noneexistentvcfield=JDO76111: \u5B57\u6BB5 {0} \u88AB\u6807\u8BB0\u4E3A\u7248\u672C\u5B57\u6BB5, \u4F46\u662F\u5728\u5177\u6709\u6301\u4E45\u6027\u7684\u7C7B {1} \u4E2D\u4E0D\u5B58\u5728\u3002 -core.configuration.loadfailed.field=JDO76112: \u65E0\u6CD5\u5728\u7C7B {1} \u4E2D\u52A0\u8F7D\u5B57\u6BB5 {0} \u7684\u914D\u7F6E\u3002 - -# -# -# -sqlstore.model.classdesc.assocrelatedfield=\u5173\u8054\u7684\u5173\u7CFB\u5B57\u6BB5 = {0}\u3002 -sqlstore.model.classdesc.createsqldesc=\u4ECE{0}\u521B\u5EFA SqlIDDesc\u3002 -sqlstore.model.classdesc.fieldinfo=\u5B57\u6BB5\u540D = {0}, ID= {1}\u3002 -sqlstore.model.classdesc.general={0}.{1} =>{2} -sqlstore.model.classdesc.getlocalfielddesc=<-> SqlPersistenceDesc.getLocalFieldDesc(), \u7C7B ={0}, \u4E3A\u5217 {2} \u6DFB\u52A0\u4E86\u9690\u85CF\u5B57\u6BB5 {1}\u3002 -sqlstore.model.classdesc.loadedclass=\u5DF2\u6210\u529F\u52A0\u8F7D oid \u7C7B= {0}\u3002 -sqlstore.model.classdesc.persistconfiginit.exit=<-- SqlPersistenceConfig.initialize()\u3002 -sqlstore.model.classdesc.persistconfiginit=--> SqlPersistenceConfig.initialize(), \u7C7B = {0}\u3002 -sqlstore.model.classdesc.pkfield=PK \u5B57\u6BB5 = {0}\u3002 -sqlstore.model.classdesc.primarytrackedfield=\u5B57\u6BB5 {0} \u4E3A\u4E3B\u8981\u8DDF\u8E2A\u5B57\u6BB5\u3002 -sqlstore.model.classdesc.unsetconcurrencychk=\u5982\u679C{0}, \u53D6\u6D88\u8BBE\u7F6E IN_CONCURRENCY_CHECK \u5C5E\u6027\u3002 -sqlstore.model.classdesc.unsetrefintegrityupdate=\u5982\u679C{0}, \u53D6\u6D88\u8BBE\u7F6E REF_INTEGRITY_UPDATES \u5C5E\u6027\u3002 -sqlstore.model.classdesc.vcfield=\u7248\u672C\u4E00\u81F4\u6027\u5B57\u6BB5 = {0}\u3002 -sqlstore.model.fielddesc.addingfield=\u6DFB\u52A0\u5B57\u6BB5 {0}, \u7531\u5B57\u6BB5 {1} \u8DDF\u8E2A\u3002 -sqlstore.model.fielddesc.convertvalue.from_to=convertValue: {0} \u4ECE: {1} \u5230: {2}\u3002 -sqlstore.model.fielddesc.convertvalue.hidden=convertValue: \u9690\u85CF {0}... \u8FD4\u56DE\u3002 -sqlstore.model.fielddesc.convertvalue=convertValue: \u7A7A\u503C... \u8FD4\u56DE\u3002 -sqlstore.model.fielddesc.fieldname={0} = {1}. -sqlstore.model.fielddesc.setupdesc=setupDesc(): fieldName {0} fieldType {1}\u3002 -sqlstore.model.configcacheimpl.size_before=\u6E05\u7406\u524D\u7684{0}\u5927\u5C0F: {1}\u3002 -sqlstore.model.configcacheimpl.size_after=\u6E05\u7406\u540E\u7684{0}\u5927\u5C0F: {1}\u3002 - - -############################################################################### -# -# Message ID Range: JDO76200 - JDO76299 -############################################################################### -core.statemanager.anotherowner=JDO76200: \u4E0D\u80FD\u6307\u5B9A\u5176\u4ED6\u5BF9\u8C61\u62E5\u6709\u7684 SCO \u5B9E\u4F8B\u3002 -core.statemanager.cantnewoid=JDO76201: \u65E0\u6CD5\u521B\u5EFA\u7C7B {0} \u7684\u65B0\u7684\u4E3B\u952E\u5B9E\u4F8B\u3002 -core.statemanager.cantschedulejointable=JDO76202: \u65E0\u6CD5\u8C03\u5EA6\u7C7B {0} \u548C\u7C7B {1} \u4E4B\u95F4\u7684\u8FDE\u63A5\u8868\u6761\u76EE, \u5173\u7CFB\u5B57\u6BB5\u8BF4\u660E\u4E3A\u7A7A\u503C\u3002 -core.statemanager.cantsetkeyfield=JDO76203: \u65E0\u6CD5\u8BBE\u7F6E\u4E3B\u952E\u5B57\u6BB5 {0} \u7684\u503C\u3002 -core.statemanager.conflictingvalues=JDO76204: \u6620\u5C04\u5230\u540C\u4E00\u5217\u7684\u5B57\u6BB5 {0} \u548C\u5B57\u6BB5 {1} \u4E4B\u95F4\u7684\u503C\u51B2\u7A81 -core.statemanager.getfieldfailed=JDO76205: \u65E0\u6CD5\u83B7\u53D6\u5B57\u6BB5\u3002 -core.statemanager.invalidpk=JDO76206: \u91CD\u65B0\u52A0\u8F7D\u5177\u6709\u6301\u4E45\u6027\u7684\u7C7B {1} \u7684\u5B9E\u4F8B\u65F6, \u7A7A\u4E3B\u952E\u5B57\u6BB5 {0} \u65E0\u6548\u3002\u8BE5\u5B9E\u4F8B\u7684\u5BF9\u8C61 ID \u4E3A {2}\u3002 -core.statemanager.nopkupdate=JDO76207: \u4E0D\u5141\u8BB8\u66F4\u65B0\u4E3B\u952E\u5B57\u6BB5\u3002 -core.statemanager.nopm=JDO76208: \u72B6\u6001\u7BA1\u7406\u5668\u4E0D\u5305\u542B\u5BF9\u6301\u4E45\u6027\u7BA1\u7406\u5668\u7684\u5F15\u7528\u3002 -core.statemanager.notnavigable=JDO76209: \u5C1D\u8BD5\u8BBF\u95EE\u7C7B {1} \u7684\u5B57\u6BB5 {0}\u3002\u8BE5\u5B57\u6BB5\u5148\u524D\u672A\u5B9E\u4F8B\u5316, \u5E76\u4E14\u6B64\u7C7B\u4E0D\u5141\u8BB8\u52A8\u6001\u5BFC\u822A\u3002\u60A8\u5FC5\u987B\u5728\u68C0\u7D22\u7C7B\u65F6\u8BF7\u6C42\u8BE5\u5B57\u6BB5, \u6216\u8005\u5141\u8BB8\u52A8\u6001\u5BFC\u822A, \u4EE5\u4FBF\u8BBF\u95EE\u65F6\u53EF\u4EE5\u81EA\u52A8\u68C0\u7D22\u8BE5\u5B57\u6BB5\u3002 -core.statemanager.objectnotfound=JDO76210: \u5BF9\u8C61\u5728\u6570\u636E\u5B58\u50A8\u4E2D\u4E0D\u5B58\u5728\u3002 -core.statemanager.poshiddenindex=JDO76211: \u9690\u85CF\u5B57\u6BB5\u7684\u7D22\u5F15\u5E94\u4E3A\u8D1F\u503C, \u4F46\u83B7\u53D6\u7684\u7D22\u5F15\u4E3A {0}\u3002 -core.statemanager.readonly=JDO76212: \u5C1D\u8BD5\u4FEE\u6539\u7C7B {1} \u7684\u53EA\u8BFB\u5B57\u6BB5 {0}\u3002 -core.statemanager.releaselock.wrongthread=JDO76213: \u7EBF\u7A0B {0} \u4E0D\u4FDD\u7559 StateManager \u9501\u5B9A\u3002 -core.statemanager.setfieldfailed=JDO76214: \u65E0\u6CD5\u8BBE\u7F6E\u5B57\u6BB5\u3002 -core.statemanager.wrongusageforoverlappingpkfkdelete=JDO76215: \u4E0D\u80FD\u5C1D\u8BD5\u4ECE\u7BA1\u7406\u7684\u5173\u7CFB\u4E2D\u5220\u9664\u5B9E\u4F8B\u3002\u5173\u7CFB\u7531\u53E6\u4E00\u65B9\u7684\u4E3B\u952E\u5217\u5B9A\u4E49\u3002\u96C6\u5408\u4E0A\u7684\u5220\u9664\u64CD\u4F5C\u9700\u8981\u66F4\u65B0\u53E6\u4E00\u65B9\u4E2D\u7684\u5217, \u4F46\u4E0D\u5141\u8BB8\u66F4\u65B0\u4E3B\u952E\u3002\u56E0\u6B64, \u8981\u4ECE\u7531\u4E3B\u952E\u5B9A\u4E49\u7684\u7BA1\u7406\u7684\u5173\u7CFB\u96C6\u5408\u4E2D\u5220\u9664\u5B9E\u4F8B, \u53EA\u80FD\u663E\u5F0F\u5220\u9664\u8BE5\u5B9E\u4F8B\u6216\u901A\u8FC7\u7EA7\u8054\u5220\u9664\u6765\u5220\u9664\u8BE5\u5B9E\u4F8B\u3002 -core.statemanager.toomanyrows=JDO76215: \u4E3A\u6620\u5C04\u5230\u7C7B {0} \u7684\u4E00\u4E2A\u8868\u8FD4\u56DE\u4E86\u591A\u884C\u3002\u5BF9\u4E8E\u6BCF\u4E2A\u5BF9\u8C61\u5B9E\u4F8B, \u6BCF\u4E2A\u6620\u5C04\u5230\u7C7B\u7684\u8868\u5E94\u8BE5\u53EA\u6709\u4E00\u884C\u3002 -core.statemanager.copyFields.mismatch=JDO76216: \u5C1D\u8BD5\u5C06\u5B57\u6BB5\u4ECE\u4E00\u4E2A StateManager \u590D\u5236\u5230\u53E6\u4E00\u4E2A StateManager, \u8BE5 StateManager \u7BA1\u7406\u4E0D\u540C\u7C7B\u578B\u7684\u5B9E\u4F8B: {0} \u548C {1}\u3002 - -# -# -# -sqlstore.sqlstatemanager.adddependency=<-> SQLStateManager.addDependency(), \u6B64 StateManager: {0}, \u5176\u4ED6 StateManager: {1}\u3002 -sqlstore.sqlstatemanager.addupdate=<-> SQLStateManager.addUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}\u3002 -sqlstore.sqlstatemanager.applyupdates.exit=<-- SqlStateManager.applyUpdates()\u3002 -sqlstore.sqlstatemanager.applyupdates=--> SqlStateManager.applyUpdates(), \u5B57\u6BB5 = {0}\u3002 -sqlstore.sqlstatemanager.clearpersistencefields.exit=<--- SqlStateManager.clearPersistenceFields()\u3002 -sqlstore.sqlstatemanager.clearpersistencefields=--> SqlStateManager.clearPersistenceFields()\u3002 -sqlstore.sqlstatemanager.copychanges.exit=<-- SQLStateManager.copyChanges()\u3002 -sqlstore.sqlstatemanager.copychanges=--> SQLStateManager.copyChanges(), \u72B6\u6001\u7BA1\u7406\u5668 = {0}\u3002 -sqlstore.sqlstatemanager.deletepersistence=<-> SqlStateManager.deletePersistence(), type = {0}\u3002 -sqlstore.sqlstatemanager.getbeforeimage.exit=<-- SqlStateManager.getBeforeImage()\u3002 -sqlstore.sqlstatemanager.getbeforeimage=--> SqlStateManager.getBeforeImage(), \u7C7B\u578B = {0}\u3002 -sqlstore.sqlstatemanager.isbeforeimagerequired=isBeforeImageRequired \u4E3A : {0}\u3002 -sqlstore.sqlstatemanager.loadforread.exit=<-- SQLStateManager.loadForRead()\u3002 -sqlstore.sqlstatemanager.loadforread=--> SQLStateManager.loadForRead()\u3002 -sqlstore.sqlstatemanager.loadforupdate.exit=<-- SQLStateManager.loadForUpdate()\u3002 -sqlstore.sqlstatemanager.loadforupdate=--> SQLStateManager.loadForUpdate()\u3002 -sqlstore.sqlstatemanager.loggingfield=\u65E5\u5FD7\u8BB0\u5F55\u5B57\u6BB5 = {0}, \u503C = {1}\u3002 -sqlstore.sqlstatemanager.makedirty.fixscocollection=--- SqlStateManager.makeDirty(), fix SCOCollection\u3002 -sqlstore.sqlstatemanager.makedirty.fixscodate=--- SqlStateManager.makeDirty(), \u4FEE\u590D SCODate\u3002 -sqlstore.sqlstatemanager.makedirty=--> SqlStateManager.makeDirty(), \u5B57\u6BB5 = {0}\u3002 -sqlstore.sqlstatemanager.makedirtyfield=\u6807\u8BB0\u7684\u810F\u5B57\u6BB5 = {0}\u3002 -sqlstore.sqlstatemanager.makepersistence=<-> SqlStateManager.makePersistence(), \u7C7B\u578B = {0}\u3002 -sqlstore.sqlstatemanager.makepresent=--> SqlStateManager.makePresent(), \u5B57\u6BB5 = {0}\u3002 -sqlstore.sqlstatemanager.marking=\u6807\u8BB0: {0} \u4E3A\u5F53\u524D\u3002 -sqlstore.sqlstatemanager.newtype=\u65B0\u7C7B\u578B: {0}\u3002 -sqlstore.sqlstatemanager.nosuchmethodexcep.clone=\u5F02\u5E38\u9519\u8BEF: {0} \u514B\u9686... \u9488\u5BF9\u7C7B\u578B {1}\u3002 -sqlstore.sqlstatemanager.preparegetfield.exit=<-- SqlStateManager.prepareGetField()\u3002 -sqlstore.sqlstatemanager.preparegetfield=--> SqlStateManager.prepareGetField(), \u540D\u79F0 = {0}\u3002 -sqlstore.sqlstatemanager.preparesetfield.exit=<-- SQLStateManager.prepareSetField()\u3002 -sqlstore.sqlstatemanager.preparesetfield=--> SQLStateManager.prepareSetField(), \u540D\u79F0 = {0}\u3002 -sqlstore.sqlstatemanager.preparetoupdateph1.exit=<-- SqlStateManager.prepareToUpdateI()\u3002 -sqlstore.sqlstatemanager.preparetoupdateph1=--> SqlStateManager.prepareToUpdatePhaseI(), \u7C7B\u578B = {0}\u3002 -sqlstore.sqlstatemanager.preparetoupdateph2.exit=<-- SqlStateManager.prepareToUpdateII()\u3002 -sqlstore.sqlstatemanager.preparetoupdateph2=--> SqlStateManager.prepareToUpdatePhaseII(), \u7C7B\u578B = {0}\u3002 -sqlstore.sqlstatemanager.preparetoupdateph3.exit=<-- SqlStateManager.prepareToUpdateIII()\u3002 -sqlstore.sqlstatemanager.preparetoupdateph3=--> SqlStateManager.prepareToUpdatePhaseIII(), \u7C7B\u578B = {0}\u3002 -sqlstore.sqlstatemanager.prepareupdatefield.exit=<-- SQLStateManager.prepareUpdateField()\u3002 -sqlstore.sqlstatemanager.prepareupdatefield=--> SQLStateManager.prepareUpdateField(), \u540D\u79F0 = {0}, \u72B6\u6001: {1}\u3002 -sqlstore.sqlstatemanager.prepareupdatefieldspl.exit=<-- SQLStateManager.prepareUpdateFieldSpecial()\u3002 -sqlstore.sqlstatemanager.prepareupdatefieldspl=--> SQLStateManager.prepareUpdateFieldSpecial, \u540D\u79F0 = {0}, \u72B6\u6001: {1}\u3002 -sqlstore.sqlstatemanager.processcollectionupdate.exit=<-- SQLStateManager.processCollectionUpdates()\u3002 -sqlstore.sqlstatemanager.processcollectionupdate=--> SQLStateManager.processCollectionUpdates(), beforeList={0}, afterlist={1}\u3002 -sqlstore.sqlstatemanager.processforeign=\u8FDB\u7A0B\u5916\u90E8\u5B57\u6BB5 ={0}\u3002 -sqlstore.sqlstatemanager.processforeignfield.remove=-- SQLStateManager.processForeignField(): \u4E3A Collection - \u5220\u9664\u3002 -sqlstore.sqlstatemanager.processforeignfield.remove_from_bi=-- SQLStateManager.processForeignField(): \u4E3A SCOCollection - \u4ECE BI \u5220\u9664\u3002 -sqlstore.sqlstatemanager.processforeignfield.reset=-- SQLStateManager.processForeignField(): \u4E3A SCOCollection - \u91CD\u8BBE\u3002 -sqlstore.sqlstatemanager.processforeignfield=-- SQLStateManager.processForeignField(): \u503C: {0} \u7C7B\u578B: {1}\u3002 -sqlstore.sqlstatemanager.realizefield.exit=<-- SqlStateManager.realizeField()\u3002 -sqlstore.sqlstatemanager.realizefield=--> SqlStateManager.realizeField(), \u540D\u79F0 = {0}\u3002 -sqlstore.sqlstatemanager.realizeforeignfield.exit=<-- SqlStateManager.realizeField(), \u5B9E\u73B0\u7684\u5B57\u6BB5 = {0}\u3002 -sqlstore.sqlstatemanager.realizeforeignfield=--> SqlStateManager.realizeField(), \u540D\u79F0 = {0}\u3002 -sqlstore.sqlstatemanager.recordingfield=\u8BB0\u5F55\u5B57\u6BB5 = {0}\u3002 -sqlstore.sqlstatemanager.refreshpersistent.exit=<-- SqlStateManager.refreshPersistent()\u3002 -sqlstore.sqlstatemanager.refreshpersistent=--> SqlStateManager.refreshPersistence(), \u7C7B\u578B = {0}\u3002 -sqlstore.sqlstatemanager.reload.exit=<-- SqlStateManager.reload(FieldDesc)\u3002 -sqlstore.sqlstatemanager.reload=--> SqlStateManager.reload(FieldDesc), \u7C7B\u578B = {0}, \u5B57\u6BB5 = {1}\u3002 -sqlstore.sqlstatemanager.removeupdate=<-> SQLStateManager.removeUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}\u3002 -sqlstore.sqlstatemanager.replaceobjectfield.unsetsco=-- SqlStateManager.replaceObjectField(), \u53D6\u6D88\u8BBE\u7F6E SCO\u3002 -sqlstore.sqlstatemanager.replaceobjectfield=-- SqlStateManager.replaceObjectField(), \u5B57\u6BB5 = {0}, \u7C7B\u578B = {1}\u3002 -sqlstore.sqlstatemanager.reset=--> SqlStateManager.reset(), retValues = {0}, wasNew: {1}, keepState: {2}\u3002 -sqlstore.sqlstatemanager.resettingcollection=\u91CD\u8BBE\u96C6\u5408\u3002 -sqlstore.sqlstatemanager.resettingdate=\u91CD\u8BBE\u65E5\u671F\u3002 -sqlstore.sqlstatemanager.resolvedependencies=<-> SQLStateManager.resolveDependencies(), obj={0}\u3002 -sqlstore.sqlstatemanager.resolvedependency=<-> SQLStateManager.resolveDependency(), \u5DF2\u89E3\u6790\u4F9D\u8D56\u6027: lobj={0}, f={1}, fobj={2}\u3002 -sqlstore.sqlstatemanager.retrieve.exit=<-- SqlStateManager.retrieve()\u3002 -sqlstore.sqlstatemanager.retrieve=--> SqlStateManager.retrieve(), \u540D\u79F0 = {0}\u3002 -sqlstore.sqlstatemanager.retrieveforeign.exit=<-- SqlStateManager.retrieveForeign()\u3002 -sqlstore.sqlstatemanager.retrieveforeign=--> SqlStateManager.retrieveForeign(), \u540D\u79F0 = {0}\u3002 -sqlstore.sqlstatemanager.unsetmask=\u53D6\u6D88\u8BBE\u7F6E\u5B57\u6BB5\u7684\u63A9\u7801 = {0}\u3002 -sqlstore.sqlstatemanager.unconditionalreload.exit=<-- SqlStateManager.reload()\u3002 -sqlstore.sqlstatemanager.unconditionalreload=--> SqlStateManager.reload(), \u7C7B\u578B = {0}\u3002 -sqlstore.sqlstatemanager.updatebeforeimage=<-> SQLStateManager.updateBeforeImage(), \u540D\u79F0 = {0}, \u503C = {1}\u3002 -sqlstore.sqlstatemanager.updateobjfield.exit=<-- SQLStateManager.updateObjectField()\u3002 -sqlstore.sqlstatemanager.updateobjfield=--> SQLStateManager.updateObjectField(), \u540D\u79F0 = {0}, \u7C7B\u578B = {1}\u3002 -sqlstore.sqlstatemanager.updatepersistent.exit=<-- SqlStateManager.updatePersistent()\u3002 -sqlstore.sqlstatemanager.updatepersistent.immediateflush=<--> SqlStateManager.updatePersistent(), \u9700\u8981\u7ACB\u5373\u66F4\u65B0: \u5BF9\u8C61={0}, \u4E0B\u4E00\u4E2A={1}\u3002 -sqlstore.sqlstatemanager.updatepersistent.skipped=<--> SqlStateManager.updatePersistent() \u5DF2\u8DF3\u8FC7, \u7C7B\u578B ={0}, \u5BF9\u8C61= {1}\u3002 -sqlstore.sqlstatemanager.updatepersistent=--> SqlStateManager.updatePersistent(), \u7C7B\u578B = {0}\u3002 -sqlstore.sqlstatemanager.updatetrackedfields.exit=<-- updateTrackedFields()\u3002 -sqlstore.sqlstatemanager.updatetrackedfields=--> updateTrackedFields(), f = {0} \u503C = {1} fieldToIgnore = {2}\u3002 - - -############################################################################### -# -# Message ID Range: JDO76300 - JDO76399 -############################################################################### -core.constraint.duporderby=JDO76300: \u5B57\u6BB5 {0} \u7684\u7EA6\u675F\u6761\u4EF6\u4E3A "order by", \u8BE5\u5B57\u6BB5\u5DF2\u5728\u4E00\u4E2A "order by" \u7EA6\u675F\u6761\u4EF6\u4E2D\u88AB\u6307\u5B9A\u3002 -core.constraint.fielddisallowed=JDO76301: \u5DF2\u6307\u5B9A fieldName \u53C2\u6570, \u4F46\u64CD\u4F5C {0} \u4E0D\u5141\u8BB8\u8BE5\u53C2\u6570\u3002 -core.constraint.fieldrequired=JDO76302: \u7F3A\u5C11 fieldName \u53C2\u6570, \u4F46\u64CD\u4F5C {0} \u9700\u8981\u4E00\u4E2A\u5B57\u6BB5\u3002 -core.constraint.illegalParameterInfo=JDO76303: \u8C03\u7528 OP_PARAMETER \u7684 addConstraint() \u5FC5\u987B\u4F7F\u7528 ParameterInfo \u7C7B\u578B\u7684\u503C\u3002 -core.constraint.illegalnode=JDO76304: SqlConstraint \u5806\u6808\u4E2D\u7684\u7EA6\u675F\u6761\u4EF6\u8282\u70B9 {0} \u4E0D\u5408\u6CD5\u3002 -core.constraint.illegalop=JDO76305: \u64CD\u4F5C\u53C2\u6570\u5305\u542B\u975E\u6CD5\u503C {0}\u3002 -core.constraint.needfieldnamenode=JDO76306: \u7EA6\u675F\u6761\u4EF6\u5806\u6808\u4E2D\u6709\u9519\u8BEF\u3002\u9700\u8981\u5B57\u6BB5\u540D\u79F0\u3002 -core.constraint.needfieldnode=JDO76307: \u7EA6\u675F\u6761\u4EF6\u5806\u6808\u4E2D\u6709\u9519\u8BEF\u3002\u9700\u8981\u5B57\u6BB5\u8BF4\u660E\u3002 -core.constraint.needvalnode=JDO76308: \u7EA6\u675F\u6761\u4EF6\u5806\u6808\u4E2D\u6709\u9519\u8BEF\u3002\u9700\u8981\u4E00\u4E2A\u503C\u3002 -core.constraint.stackempty=JDO76309: \u7EA6\u675F\u6761\u4EF6\u5806\u6808\u4E3A\u7A7A - \u5BF9\u4E8E\u8FD0\u7B97\u7B26\u7684\u6570\u91CF\u6CA1\u6709\u8DB3\u591F\u7684\u503C\u3002 -core.constraint.unknownfield=JDO76310: \u68C0\u7D22\u63CF\u8FF0\u7B26\u4E2D\u6307\u5B9A\u7684\u5B57\u6BB5 {0} \u4E0D\u662F\u7C7B {1} \u7684\u6210\u5458\u3002 -core.constraint.valdisallowed=JDO76311: \u5DF2\u6307\u5B9A value \u53C2\u6570, \u4F46\u64CD\u4F5C {0} \u4E0D\u5141\u8BB8\u8BE5\u53C2\u6570\u3002 -core.constraint.valrequired=JDO76312: \u7F3A\u5C11 value \u53C2\u6570, \u4F46\u64CD\u4F5C {0} \u9700\u8981\u4E00\u4E2A\u503C\u3002 -sqlstore.resultdesc.errorgettingvalefromresulset=JDO76313: \u4ECE\u7D22\u5F15\u4E3A {0} \u7684\u7ED3\u679C\u96C6\u4E2D\u83B7\u53D6\u7ED3\u679C\u7C7B\u578B\u4E3A {1} \u7684\u503C\u65F6\u51FA\u73B0\u9519\u8BEF\u3002columnSqlType {2}\u3002\u5F02\u5E38\u9519\u8BEF: {3} -sqlstore.resultdesc.foreignfieldprojection=JDO76314: {0} \u7684\u67E5\u8BE2\u4E0D\u5E94\u5728\u5173\u7CFB\u5B57\u6BB5\u4E0A\u6709\u6295\u5F71\u3002 -sqlstore.resultdesc.unknownfieldtype=JDO76317: \u9047\u5230\u672A\u77E5\u5B57\u6BB5\u7C7B\u578B {0}\u3002 -sqlstore.retrievedesc.toomanyprojections=JDO76318: \u4E0D\u80FD\u4E3A RetrieveDesc \u8BBE\u7F6E\u591A\u4E2A\u6295\u5F71\u3002 -sqlstore.retrievedesc.toomanyresulttypes=JDO76319: \u4E0D\u80FD\u4E3A RetrieveDesc \u8BBE\u7F6E\u591A\u4E2A\u7ED3\u679C\u7C7B\u578B\u3002 -sqlstore.selectstatement.noupdatelocksupport=JDO76320: \u6B64\u67E5\u8BE2\u4E2D\u6D89\u53CA\u7684\u4E00\u4E2A\u5BF9\u8C61\u7C7B\u578B\u7684\u4E00\u81F4\u6027\u7EA7\u522B\u4E3A "\u52A0\u8F7D\u65F6\u9501\u5B9A"\u3002\u6267\u884C\u8BE5\u4E00\u81F4\u6027\u7EA7\u522B\u9700\u8981\u6570\u636E\u5B58\u50A8\u652F\u6301\u884C\u7EA7\u66F4\u65B0\u9501\u5B9A\u3002\u8BE5\u6570\u636E\u5B58\u50A8\u4E0D\u652F\u6301\u884C\u7EA7\u66F4\u65B0\u9501\u5B9A\u3002 -sqlstore.sql.generator.statement.likeescapenotsupported=JDO76321: \u6B64\u6570\u636E\u5E93\u4E2D\u4E0D\u652F\u6301 LIKE ESCAPE \u5B50\u53E5\u3002 -sqlstore.sql.generator.statement.positionthreeargsnotsupported=JDO76322: Third arg for POSITION clause must be 1. -core.configuration.classnotmapped=JDO76323: \u672A\u6620\u5C04\u7C7B {0}\u3002 -core.configuration.classnotmappedtotable=JDO76324: \u7C7B {0} \u672A\u6620\u5C04\u5230\u8868 {1}\u3002 -sqlstore.sql.generator.statement.unexpectedconstraint=JDO76325: \u64CD\u4F5C {0} \u7684\u7EA6\u675F\u6761\u4EF6\u6C38\u8FDC\u4E0D\u4F1A\u6210\u4E3A where \u5B50\u53E5\u7684\u6839\u3002 - -# -# Following messages are used within other messages. They need to be i18ned but need not be numbered. -# -sqlstore.sql.generator.statement.sqlStatement=SQL \u8BED\u53E5 -sqlstore.sql.generator.statement.withinputvalues= \u8F93\u5165\u503C: -sqlstore.sql.generator.statement.withnoinputvalues= \u6CA1\u6709\u8F93\u5165\u503C\u3002 - - -# -# -# -sqlstore.resultdesc.deserializing=\u53CD\u5E8F\u5217\u5316 = {0}\u3002 -sqlstore.resultdesc.marking_field=\u5C06\u672C\u5730\u5B57\u6BB5 {0} \u6807\u8BB0\u4E3A\u5F53\u524D\u3002 -sqlstore.resultdesc.marking_foreign_field=\u5C06\u5916\u90E8\u5B57\u6BB5 {0} \u6807\u8BB0\u4E3A\u5F53\u524D\u3002 -sqlstore.resultdesc.marking_key_field=\u5C06\u5173\u952E\u5B57\u6BB5 {0} \u6807\u8BB0\u4E3A\u5F53\u524D\u3002 -sqlstore.resultdesc.returning_field=\u5C06\u5B57\u6BB5 {0} \u8FD4\u56DE\u4E3A\u6620\u5C04\u3002 -# -# -# -sqlstore.sql.concurrency.concurrencychkdirty.exit=--> ConcurrencyCheckDirty.update()\u3002 -sqlstore.sql.concurrency.concurrencychkdirty=--> ConcurrencyCheckDirty.update(), beforeImage = {0}\u3002 -sqlstore.sql.concurrencyoptverify.resumetx=<--> ConcurrencyOptVerify.resume(), \u6062\u590D\u7684\u4E8B\u52A1\u5904\u7406 = {0}\u3002 -sqlstore.sql.concurrencyoptverify.suspendtx=<--> ConcurrencyOptVerify.suspend(), \u6302\u8D77\u7684\u4E8B\u52A1\u5904\u7406 = {0}\u3002 -sqlstore.sql.concurrencyoptverify.update.exit=<-- ConcurrencyOptVerify.update()\u3002 -sqlstore.sql.concurrencyoptverify.update=--> ConcurrencyOptVerify.update(), beforeImage = {0}\u3002 -sqlstore.sql.generator.dbstatement.addbatch=addbatch ({0}) -sqlstore.sql.generator.dbstatement.bindinputcolumn=bindInputColumn \u7D22\u5F15: {0} \u503C: {1} sqlType: {2}\u3002 -sqlstore.sql.generator.dbstatement.executebatch=executeBatch \u6B63\u5728\u6267\u884C {0} \u547D\u4EE4 -sqlstore.sql.generator.selectqueryplan.processforeignfield.exit=<-- SelectQueryPlan.processForeignFields()\u3002 -sqlstore.sql.generator.selectqueryplan.processforeignfield=--> SelectQueryPlan.processForeignFields(), \u7C7B = {0}\u3002 -sqlstore.sql.generator.selectqueryplan.processlocalfield.exit=<-- SelectQueryPlan.processLocalFields()\u3002 -sqlstore.sql.generator.selectqueryplan.processlocalfield=--> SelectQueryPlan.processLocalFields(), \u7C7B = {0}\u3002 -sqlstore.sql.generator.selectqueryplan.processstmts.exit=<-- SelectQueryPlan.processStatements()\u3002 -sqlstore.sql.generator.selectqueryplan.processstmts=--> SelectQueryPlan.processStatements(), \u7C7B = {0}, \u8BED\u53E5 = {1}\u3002 -sqlstore.sql.updateobjdescimpl.afterimagenull=AfterImage is not set. -sqlstore.sql.updateobjdescimpl.beforeimagenull=\u672A\u8BBE\u7F6E BeforeImage\u3002 -sqlstore.sql.updateobjdescimpl.markrelationshipchange=<--> UpdateDesc.markRelationshipChange()\u3002 -sqlstore.sql.updateobjdescimpl.updated={0} \u5DF2\u66F4\u65B0\u3002 - - -############################################################################### -# -# Message ID Range: JDO76400 - JDO76499 -############################################################################### -# -# -# -core.persistencestore.jdbcerror=JDO76400: \u6267\u884C SQL \u8BED\u53E5\u65F6\u6536\u5230 JDBC SQLException:\n{0}\u3002\n\u8BF7\u67E5\u770B SQLException \u4EE5\u83B7\u5F97\u8BE6\u7EC6\u4FE1\u606F\u3002 -sqlstore.retrievedesc.stmntsnotjoined=JDO76401: \u4E00\u4E2A RetrieveDesc \u4E0D\u652F\u6301\u591A\u4E2A SQL \u8BED\u53E5\u3002 -core.persistencestore.toofewrows=JDO76402: \u5C1D\u8BD5\u83B7\u53D6\u7C7B {0} \u7684\u5173\u8054 {1} \u7684\u503C\u65F6, \u4ECE\u6570\u636E\u5E93\u8FD4\u56DE\u7684\u884C\u6570\u5C11\u4E8E\u6B64\u5173\u8054\u6240\u5141\u8BB8\u7684\u57FA\u6570\u3002\u5141\u8BB8\u7684\u6700\u5C0F\u884C\u6570\u4E3A {2}\u3002 -core.persistencestore.toomanyobjforcard1=JDO76403: \u6570\u636E\u5E93\u4E0E\u6301\u4E45\u6027\u6A21\u578B\u4E0D\u4E00\u81F4\u3002\u5C1D\u8BD5\u901A\u8FC7 {0} \u7C7B\u7684 {1} \u5173\u8054\u68C0\u7D22\u6D89\u53CA\u7684\u5BF9\u8C61, \u7ED3\u679C\u68C0\u7D22\u5230 {2} \u4E2A\u9879\u76EE, \u4F46\u7531\u4E8E\u6B64\u5173\u8054\u7684\u57FA\u6570\u4E0A\u9650\u4E3A 1, \u6240\u4EE5\u53EA\u80FD\u63A5\u53D7 1 \u4E2A\u9879\u76EE\u3002 -core.persistencestore.toomanyrows=JDO76405: \u5C1D\u8BD5\u83B7\u53D6\u7C7B {0} \u7684\u5173\u8054 {1} \u7684\u503C\u65F6, \u4ECE\u6570\u636E\u5E93\u8FD4\u56DE\u7684\u884C\u6570\u591A\u4E8E\u6B64\u5173\u8054\u6240\u5141\u8BB8\u7684\u57FA\u6570\u3002\u5141\u8BB8\u7684\u6700\u5927\u884C\u6570\u4E3A {2}\u3002 -core.store.concurrentaccess=JDO76406: \u5E76\u884C\u8BBF\u95EE\u5F02\u5E38\u9519\u8BEF: {0} \u7684\u5BF9\u8C61\u5DF2\u88AB\u53E6\u4E00\u4E2A\u4E8B\u52A1\u5904\u7406\u66F4\u65B0\u6216\u5220\u9664\u3002 -sqlstore.sqlstoremanager.errorcloseresultset=JDO76407: \u5173\u95ED SQL \u7ED3\u679C\u96C6\u65F6\u51FA\u73B0\u9519\u8BEF\u3002\u5F02\u5E38\u9519\u8BEF: {0} -sqlstore.sqlstoremanager.errorclosestatement=JDO76408: \u5173\u95ED SQL \u8BED\u53E5\u65F6\u51FA\u73B0\u9519\u8BEF\u3002\u5F02\u5E38\u9519\u8BEF: {0} -sqlstore.sql.generator.selectqueryplan.plansnotjoined=JDO76409: \u4E00\u4E2A RetrieveDesc \u4E0D\u652F\u6301\u591A\u4E2A\u67E5\u8BE2\u8BA1\u5212\u3002 - -# -# -# -sqlstore.sqlstoremanager.executeQuery.exit=<-- SQLStoreManager.executeQuery()\u3002 -sqlstore.sqlstoremanager.executeQuery=--> SQLStoreManager.executeQuery()\u3002 -sqlstore.sqlstoremanager.executeupdate.exit=<-- SQLStoreManager.executeUpdate(), rows affected = {0}\u3002 -sqlstore.sqlstoremanager.executeupdate=--> SQLStoreManager.executeUpdate()\u3002 -sqlstore.sqlstoremanager.executeupdatebatch.addbatch={0}; \u6DFB\u52A0\u6279\u5904\u7406\u3002 -sqlstore.sqlstoremanager.executeupdatebatch.exit=<-- SQLStoreManager.executeUpdateBatch()\u3002 -sqlstore.sqlstoremanager.executeupdatebatch.exit.flush=<-- SQLStoreManager.executeUpdateBatch(), \u53D7\u5F71\u54CD\u7684\u884C = {0}\u3002 -sqlstore.sqlstoremanager.executeupdatebatch.flushbatch={0}; \u66F4\u65B0\u6279\u5904\u7406\u3002 -sqlstore.sqlstoremanager.executeupdatebatch=--> SQLStoreManager.executeUpdateBatch()\u3002 -sqlstore.sqlstoremanager.getpersistenceconfig=<--> SQLStoreManager.getPersistenceConfig(), classType = {0}\u3002 -sqlstore.sqlstoremanager.selectnoncorrelated.exit=<-- SQLStoreManager.selectNonCorrelated()\u3002 -sqlstore.sqlstoremanager.selectnoncorrelated=--> SQLStoreManager.selectNonCorrelated()\u3002 -sqlstore.sqlstoremanager.vendortype=<--> SQLStoreManager: \u4F9B\u5E94\u5546\u7C7B\u578B = {0}\u3002 - - -############################################################################### -# -# Message ID Range: JDO76500 - JDO76599 -############################################################################### -# -# - database -# -connection.connectionmanager.badnew=JDO76500: \u65B0\u7684 ''{0}'' \u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E\u5F53\u524D\u7684 ''{1}''\u3002 -connection.connectionmanager.badvalue=JDO76501: ''{0}'' \u7684\u503C\u65E0\u6548\u3002 -connection.connectionmanager.conntimeout=JDO76502: \u8FDE\u63A5\u8D85\u65F6\u5DF2\u8FC7\u671F\u3002 -connection.connectionmanager.getconnection.mismatch=JDO76503: \u6C60\u8FDE\u63A5\u6CA1\u6709\u76F8\u540C\u7684\u7528\u6237\u4E0A\u4E0B\u6587\u3002 -connection.connectionmanager.isdown=JDO76504: \u6B63\u5728\u5173\u95ED Connection Manager\u3002 -connection.connectionmanager.maxpool=JDO76505: \u8FDE\u63A5\u6C60\u5DF2\u8FBE\u5230\u6700\u5927\u3002 -connection.connectionmanager.msintervalvalue=JDO76506: MsInterval \u5FC5\u987B\u5927\u4E8E\u96F6\u4E14\u5C0F\u4E8E\u7B49\u4E8E MsWait\u3002 -connection.connectionmanager.mswaitvalue=JDO76507: MsWait \u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E\u96F6\u3002 -connection.connectionmanager.nulldriver=JDO76508: \u9A71\u52A8\u7A0B\u5E8F\u540D\u4E3A\u7A7A\u503C\u3002 -connection.connectionmanager.nullurl=JDO76509: URL \u4E3A\u7A7A\u503C\u3002 -connection.connectionmanager.poolsize=JDO76510: 'maxPool' \u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E 'minPool'\u3002 -connection.connectionmanager.threaditerupted=JDO76511: \u7EBF\u7A0B\u5DF2\u4E2D\u65AD\u3002 -connection.connectionmanager.zero=JDO76512: ''{0}'' \u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E\u96F6\u3002 -# -# -# -sqlstore.database.dbvendor.cantloadDefaultProperties=JDO76513: \u65E0\u6CD5\u52A0\u8F7D\u9ED8\u8BA4\u6570\u636E\u5E93\u7684\u5C5E\u6027\u3002 -sqlstore.database.dbvendor.init.default=JDO76514: -->\u65E0\u6CD5\u52A0\u8F7D\u4F9B\u5E94\u5546\u7C7B\u578B {0} \u7684\u5C5E\u6027, \u5C06\u4F7F\u7528\u9ED8\u8BA4\u503C\u3002 -sqlstore.database.dbvendor.cantinstantiateclass=JDO76515: \u65E0\u6CD5\u5B9E\u4F8B\u5316\u7C7B {0}\u3002 -# -# -# -sqlstore.database.oracle.defineCol=JDO76516: \u65E0\u6CD5\u5B9A\u4E49\u8BED\u53E5\u7684\u5217\u3002 -sqlstore.database.oracle.nooracleavailable=JDO76517: \u521D\u59CB\u5316 Oracle \u8D44\u6E90\u5DE5\u5382 ''{0}'' \u65F6, \u65E0\u6CD5\u83B7\u53D6 oracle.jdbc.OraclePreparedStatement \u6216 oracle.jdbc.driver.OraclePreparedStatement \u7684\u5B9E\u4F8B\u3002Oracle \u7279\u5B9A\u4F18\u5316\u5C06\u88AB\u7981\u7528\u3002\u5982\u679C\u4F7F\u7528\u8BE5\u8D44\u6E90\u7684\u5B9E\u4F8B\u9700\u8981\u7ED1\u5B9A\u6620\u5C04\u4E3A\u56FA\u5B9A\u5B57\u7B26\u5217\u7684\u5217\u7684\u503C, \u5219\u5C06\u7528\u7A7A\u683C\u586B\u5145\u8FD9\u4E9B\u503C\u4EE5\u8FBE\u5230\u76F8\u5E94 dbschema \u6587\u4EF6\u4E2D\u6307\u5B9A\u7684\u957F\u5EA6\u3002 -sqlstore.database.oracle.fixedcharpadded=JDO76518: \u503C "{0}" \u88AB\u7ED1\u5B9A\u5230 CHAR \u5217\u3002\u8FD9\u9700\u8981\u5728 Oracle \u4E2D\u8FDB\u884C\u7279\u6B8A\u5904\u7406\u3002\u7531\u4E8E\u65E0\u6CD5\u4ECE\u9A71\u52A8\u7A0B\u5E8F\u4E2D\u83B7\u53D6\u7C7B OraclePreparedStatement, \u5C06\u7528\u7A7A\u683C\u586B\u5145\u8BE5\u503C\u4EE5\u8FBE\u5230\u6355\u83B7\u7684 dbschema \u6587\u4EF6\u4E2D\u6307\u5B9A\u7684\u957F\u5EA6 {1}\u3002 -# -# -# -core.configuration.getvendortypefailed=JDO76519: \u65E0\u6CD5\u6807\u8BC6\u6570\u636E\u5B58\u50A8\u7684\u4F9B\u5E94\u5546\u7C7B\u578B\u3002 -jdo.sqlpersistencemanagerfactory.errorgettingDatabaseInfo=JDO76520: \u83B7\u53D6\u6709\u5173\u6570\u636E\u5E93\u7684\u4FE1\u606F\u65F6\u51FA\u73B0\u9519\u8BEF\u3002\u53D1\u751F\u4EE5\u4E0B\u5F02\u5E38\u9519\u8BEF: - -# -# -# -sqlstore.connection.conncectiomgr.found=<--> ConnectionManager.getConnection: \u627E\u5230{0}\u3002 -sqlstore.connection.conncectiomgr.getnewconn=<--> ConnectionManager.getConnection: \u65B0{0}\u3002 -sqlstore.connection.conncectiomgr.replacefreeconn=<--> ConnectionManager.replaceFreeConnection: \u7A7A\u95F2{0}\u3002 -sqlstore.connectionimpl.clearxact.close=--- ConnectionImpl.clearXact: \u8FDE\u63A5\u5DF2\u5173\u95ED\u3002 -sqlstore.connectionimpl.clearxact.disassocxact=--- ConnectionImpl.clearXact: disassociateXact\u3002 -sqlstore.connectionimpl.clearxact=--- ConnectionImpl.clearXact: \u3002 -sqlstore.connectionimpl.close.connrelease=<--- ConnectionImpl.close: \u8FDE\u63A5\u5DF2\u91CA\u653E\u3002 -sqlstore.connectionimpl.close.exit=<--- ConnectionImpl.close: \u8FDE\u63A5\u5DF2\u5173\u95ED\u3002 -sqlstore.connectionimpl.close.freepending=<--- ConnectionImpl.close: \u8BBE\u7F6E FreePending\u3002 -sqlstore.connectionimpl.close.putfreelist=<--- ConnectionImpl.close: \u653E\u5728 freeList \u4E2D\u3002 -sqlstore.connectionimpl.close.replaced=<--- ConnectionImpl.close: \u8FDE\u63A5\u5DF2\u66FF\u6362\u3002 -sqlstore.connectionimpl.close=---> ConnectionImpl.close\u3002 -sqlstore.connectionimpl.close_arg=---> ConnectionImpl.close: {0}\u3002 -sqlstore.connectionimpl.commit=--- ConnectionImpl.commit: \u8FDE\u63A5\u5DF2\u5173\u95ED\u3002 -sqlstore.connectionimpl.finalize=--- ConnectionImpl.finalize: \u8FDE\u63A5\u5DF2\u5173\u95ED\u3002 -sqlstore.connectionimpl.internalcommit=--- ConnectionImpl.internalCommit: \u3002 -sqlstore.connectionimpl.pendingdisassocxact=--- ConnectionImpl.clearXact: \u6682\u6302 disassociateXact\u3002 -sqlstore.connectionimpl.rollback.close=--- ConnectionImpl.rollback: \u8FDE\u63A5\u5DF2\u5173\u95ED\u3002 -sqlstore.connectionimpl.rollback=--- ConnectionImpl.rollback:\u3002 -# -# -# -sqlstore.database.dbvendor.castRequiredForNumericValues=<-> DBVendorType.isCastRequiredForNumericValues(): {0}\u3002 -sqlstore.database.dbvendor.getModFunctionName=<-> DBVendorType.getModFunctionName(): {0}\u3002 -sqlstore.database.dbvendor.getNullComparisonFunctionName=<-> DBVendorType.getNullComparisonFunctionName(): {0}\u3002 -sqlstore.database.dbvendor.getConcatCast=<-> DBVendorType.getConcatCast(): {0}\u3002 -sqlstore.database.dbvendor.getSpecialDBOperation=<-> DBVendorType.getSpecialDBOperation(): {0}\u3002 -sqlstore.database.dbvendor.getabs=<-> DBVendorType.getAbs(): {0}\u3002 -sqlstore.database.dbvendor.getcharlength=<-> DBVendorType.getCharLength(): {0}\u3002 -sqlstore.database.dbvendor.getforupdate=<-> DBVendorType.getForUpdate(): {0}\u3002 -sqlstore.database.dbvendor.getholdlock=<-> DBVendorType.getHoldlock(): {0}\u3002 -sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull(): {0}\u3002 -sqlstore.database.dbvendor.getisnull=<-> DBVendorType.getIsNull(): {0}\u3002 -sqlstore.database.dbvendor.getleftjoin=<-> DBVendorType.getLeftJoin(): {0}\u3002 -sqlstore.database.dbvendor.getleftjoinpost=<-> DBVendorType.getLeftJoinPost(): {0}\u3002 -sqlstore.database.dbvendor.getleftlikeescape=<-> DBVendorType.getLeftLikeEscape(): {0}\u3002 -sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}\u3002 -sqlstore.database.dbvendor.getposition3args=<-> DBVendorType.getPositionThreeArrgs(): {0}\u3002 -sqlstore.database.dbvendor.getposition=<-> DBVendorType.getPosition(): {0}\u3002 -sqlstore.database.dbvendor.getpositionin=<-> DBVendorType.getPositionIn(): {0}\u3002 -sqlstore.database.dbvendor.getpositionsrchsrc=<-> DBVendorType.getPositionSearchSource(): {0}\u3002 -sqlstore.database.dbvendor.getquotecharstart=<-> DBVendorType.getQuoteCharStart(): {0}\u3002 -sqlstore.database.dbvendor.getrightjoinipre=<-> DBVendorType.getRightJoin(): {0}\u3002 -sqlstore.database.dbvendor.getrightlikeescape=<-> DBVendorType.getRightLikeEscape(): {0}\u3002 -sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim(): {0}\u3002 -sqlstore.database.dbvendor.getrtrimpost=<-> DBVendorType.getRtrimPost(): {0}\u3002 -sqlstore.database.dbvendor.getsqrt=<-> DBVendorType.getSqrt(): {0}\u3002 -sqlstore.database.dbvendor.getstringconcat=<-> DBVendorType.getStringConcat(): {0}\u3002 -sqlstore.database.dbvendor.getsubstring=<-> DBVendorType.getSubstring(): {0}\u3002 -sqlstore.database.dbvendor.getsubstringfor=<-> DBVendorType.getSubstringFor(): {0}\u3002 -sqlstore.database.dbvendor.getsubstringfrom=<-> DBVendorType.getSubstringFrom(): {0}\u3002 -sqlstore.database.dbvendor.gettablelistend=<-> DBVendorType.getTableListEnd(): {0}\u3002 -sqlstore.database.dbvendor.gettableliststart=<-> DBVendorType.getTableListStart(): {0}\u3002 -sqlstore.database.dbvendor.isAnsiTrim=<-> DBVendorType.isAnsiTrim(): {0}\u3002 -sqlstore.database.dbvendor.isInlineNumeric=<-> DBVendorType.isInlineNumeric(): {0}\u3002 -sqlstore.database.dbvendor.isNativeOuterJoin=<-> DBVendorType.isNativeOuterJoin(): {0}\u3002 -sqlstore.database.dbvendor.isParameterCast=<-> DBVendorType.isParameterCast(): {0}\u3002 -sqlstore.database.dbvendor.isdistinctupdatelocksupported=<-> DBVendorType.isDistinctSupportedWithUpdateLock(): {0}\u3002 -sqlstore.database.dbvendor.islockcolumnlistsupported=<-> DBVendorType.isLockColumnListSupported(): {0}\u3002 -sqlstore.database.dbvendor.isupdatelocksupported=<-> DBVendorType.isUpdateLockSupported(): {0}\u3002 -sqlstore.database.dbvendor.mapemptystrtonull=<-> DBVendorType.mapEmptyStringToNull(): {0}\u3002 -sqlstore.database.dbvendor.overrideproperties.with=<-> DBVendorType.overrideProperties() : {0} \u4E3A: {1}\u3002 -sqlstore.database.dbvendor.overrideproperties=<-> DBVendorType.overrideProperties() - NONE. -sqlstore.database.dbvendor.supportslikeescape=<-> DBVendorType.supportsLikeEscape(): {0}\u3002 -sqlstore.database.dbvendor.vendorname=<-> DBVendorType(), vendorName: [{0}] vendorType: {1}\u3002 -# -# -# -sqlstore.transactionimpl.call.info={0} Tran[ {1} ].{2}: {3} \u9488\u5BF9 {4}\u3002 -sqlstore.transactionimpl.call={0} Tran[ {1} ].{2}:status = {3}, txType: {4} for {5}. -sqlstore.transactionimpl.closeconnection=--- TransactionImpl.closeConnection() {0} \u9488\u5BF9 {1}\u3002 -sqlstore.transactionimpl.general={0}. -sqlstore.transactionimpl.getconnection=--- TransactionImpl.getConnection(): {0} TX optimistic: {1} referenceCount = {2} for {3}. -sqlstore.transactionimpl.releaseconnection=--- TransactionImpl.releaseConnection(): TX \u4E50\u89C2: {0} \u63D0\u4EA4\u5185\u90E8: {1} referenceCount: {2} \u9488\u5BF9 {3}\u3002 -sqlstore.transactionimpl.rollbackconnection=--- TransactionImpl.rollbackConnection(): {0} \u9488\u5BF9 {1}\u3002 -sqlstore.transactionimpl.status={0} Tran[ {1} ].setStatus: {2} => {3} for {4}. - - -############################################################################### -# All the source files under subdir ejb. -# Message ID Range: JDO76600 - JDO76699 -############################################################################### -# -#EJBHelper messages -# -# {0} - method name -ejb.ejbhelper.nonmanaged=JDO76600: \u4E0D\u5E94\u5728\u975E\u7BA1\u7406\u7684\u73AF\u5883\u4E2D\u8C03\u7528\u65B9\u6CD5 {0}\u3002 - -# -# Common messages between SunContainerHelper and DeploymentHelper -# so they have a neutral key, that still starts with "ejb". -# -# {0} - jndi name. -ejb.jndi.lookupfailed=JDO76604: \u5BF9 cmp-resource ''{0}'' \u7684 JNDI \u67E5\u627E\u5931\u8D25\u3002 -JDO76604.diag.cause.1=\u5177\u6709\u6B64 JNDI \u540D\u79F0\u7684 CMP \u8D44\u6E90\u6CA1\u6709\u6CE8\u518C\u6B64\u5B9E\u4F8B\u3002 -JDO76604.diag.cause.2=CMP \u8D44\u6E90\u7684 JNDI \u540D\u79F0\u62FC\u5199\u9519\u8BEF\u3002 -JDO76604.diag.check.1=\u8BF7\u68C0\u67E5\u8981\u4F7F\u7528\u7684\u8D44\u6E90\u7684 JNDI \u540D\u79F0\u3002 -JDO76604.diag.check.2=\u8BF7\u68C0\u67E5\u5728\u6A21\u5757\u4E2D\u6307\u5B9A\u7684 CMP \u8D44\u6E90\u7684 JNDI \u540D\u79F0\u3002 - -# {0} - jndi name. -# {1} - returned class name. -ejb.jndi.unexpectedinstance=JDO76605: \u5BF9 cmp-resource ''{0}'' \u7684 JNDI \u67E5\u627E\u8FD4\u56DE\u610F\u5916\u7C7B\u578B\u7684\u5B9E\u4F8B: {1}\u3002 -JDO76605.diag.cause.1=\u5177\u6709\u6B64 JNDI \u540D\u79F0\u7684 CMP \u8D44\u6E90\u6CA1\u6709\u5F15\u7528 jdbc-resource \u6216 persistence-manager-factory-resource\u3002 -JDO76605.diag.cause.2=CMP \u8D44\u6E90\u7684 JNDI \u540D\u79F0\u62FC\u5199\u9519\u8BEF\u3002 -JDO76605.diag.check.1=\u8BF7\u68C0\u67E5\u8981\u4F7F\u7528\u7684\u8D44\u6E90\u7684 JNDI \u540D\u79F0\u3002 -JDO76605.diag.check.2=\u8BF7\u68C0\u67E5\u5728\u6A21\u5757\u4E2D\u6307\u5B9A\u7684 CMP \u8D44\u6E90\u7684 JNDI \u540D\u79F0\u3002 - -# -# DeploymentHelper messages - ejb -# -# -# -# -ejb.DeploymentHelper.getconnection=\u83B7\u5F97 JNDI \u540D\u79F0 ''{0}'' \u7684\u8FDE\u63A5\u3002 - -# The messages JDO76606 through JDO76615 that were originally here -# have been moved to -# cmp/support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties -# As part of INF# -# So do not use these messages. - - -# -#CMPHelper messages -# -ejb.cmphelper.nonmanaged=JDO76613: CMPHelper \u8BBF\u95EE\u65E0\u6548\u3002\u6B64\u7C7B\u4EC5\u7528\u4E8E CMP \u652F\u6301, \u4E0D\u5E94\u5728\u5E94\u7528\u7A0B\u5E8F\u670D\u52A1\u5668\u5916\u90E8\u8C03\u7528\u5B83\u3002 - -# -#SunTransactionHelper messages -# - -# {0} class name -ejb.SunTransactionHelper.wrongdatasourcetype=JDO76616: DataSource \u4E0D\u662F\u6240\u9700\u7684\u7C7B\u578B\u3002\u9700\u8981: com.sun.appserv.jdbc.DataSource \u83B7\u5F97: {0}\u3002 - - -############################################################################### -# -############################################################################### -# -# -# -vendor=Sun Microsystems -# majorVersion (minorVersion) buildDate -fullVersion={0} ({1}) {2} -# -# -# -core.generic.unknownfield=\u5B57\u6BB5 {0} \u4E0D\u662F\u7C7B {1} \u7684\u6210\u5458\u3002 -core.generic.unknownexception=\u6536\u5230\u672A\u77E5\u7684\u5F02\u5E38\u9519\u8BEF\u3002 -core.generic.nullparam={0} \u53C2\u6570\u4E3A\u7A7A\u503C\u3002 -core.generic.notinstanceof=\u7C7B {0} \u7684\u5BF9\u8C61\u4E0D\u662F {1} \u7684\u5B9E\u4F8B\u3002 - - -############################################################################### -# -############################################################################### -core.configuration.cantloadclass=\u65E0\u6CD5\u52A0\u8F7D\u7C7B {0}\u3002 -sqlstore.exception.log=Exception. -jdo.lifecycle.deleted.accessField=\u65E0\u6CD5\u8BBF\u95EE\u5220\u9664\u5B9E\u4F8B\u7684\u5B57\u6BB5\u3002 diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_zh_TW.properties deleted file mode 100644 index 3453e660b78..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/Bundle_zh_TW.properties +++ /dev/null @@ -1,643 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# Resource bundle for sqlstore runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Please note that many package names and classnames have changed over time. -# Unfortunately, this file was not maintained to follow above convention. -# Please ignore if the package/class name does not match actual names as today. -# -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 76. -# -# This file is divided into the following sections: -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# 1. JDO: PersistenceManagerFactory/PersistenceManager/ExtentCollection/LifeCycle -# 2. Model -# 3. StateManager -# 4. sql generator components: RetrieveDesc, ResultDesc plus all the files under generator subdir -# 5. SQLStoreManager -# 6. Connection/Connectionpool/Transaction/DBVendorType -# 7. EJB integration. -# 8. Generic messages. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -#################################################################################################### -# -# Message ID Range: JDO76000 - JDO76099 -#################################################################################################### -jdo.persistencemanagerfactoryimpl.getpersistencemanager.error=JDO76000\uFF1A\u7121\u6CD5\u5728\u540C\u4E00\u4F5C\u696D\u4E8B\u4EF6\u4E2D\u4F7F\u7528\u4F7F\u7528\u8005\u540D\u7A31/\u5BC6\u78BC\u7684\u591A\u91CD\u7D44\u5408\u3002 -jdo.persistencemanagerfactoryimpl.getpersistencemanager.notconfigured=JDO76001\uFF1A\u672A\u7D44\u614B PersistenceManagerFactory\u3002 -jdo.persistencemanagerfactoryimpl.notsupported=JDO76002\uFF1A\u4E0D\u652F\u63F4\u91DD\u5C0D\u5167\u90E8 PersistenceManagerFactoryImpl \u9032\u884C\u6B64\u4F5C\u696D\u3002 -jdo.persistencemanagerimpl.acquireexclusivelock.interrupted=JDO76003\uFF1A\u7531\u65BC InterruptedException\uFF0C\u7121\u6CD5\u53D6\u5F97\u5C08\u7528\u9396\u5B9A -jdo.persistencemanagerimpl.acquiresharelock.failed=JDO76004\uFF1A\u7531\u65BC _readWriteCount \u5C0F\u65BC\u96F6\uFF0C\u7121\u6CD5\u53D6\u5F97\u5171\u7528\u9396\u5B9A -jdo.persistencemanagerimpl.acquiresharelock.interrupted=JDO76005\uFF1A\u7531\u65BC InterruptedException\uFF0C\u7121\u6CD5\u53D6\u5F97\u5171\u7528\u9396\u5B9A -jdo.persistencemanagerimpl.another_pm=JDO76006\uFF1A\u7269\u4EF6\u8207\u53E6\u4E00\u500B PersistenceManager \u76F8\u95DC\u806F\u3002 -jdo.persistencemanagerimpl.assertactivetransaction.error=JDO76007\uFF1A\u8207\u6B64\u6301\u7E8C\u6027\u7BA1\u7406\u7A0B\u5F0F\u95DC\u806F\u7684\u4F5C\u696D\u4E8B\u4EF6\u4E0D\u5728\u4F7F\u7528\u4E2D\u3002 -jdo.persistencemanagerimpl.assertclosed.closed=JDO76008\uFF1APersistenceManager \u5DF2\u95DC\u9589\u3002 -jdo.persistencemanagerimpl.assertpersistencecapable.error=JDO76009\uFF1A\u672A\u91DD\u5C0D\u4E0D\u9700\u8A2D\u5B9A\u7684\u6301\u7E8C\u6027\u589E\u5F37\u985E\u5225 {0}\u3002\u4F7F\u7528 IDE \u7684 JAR \u6216 WAR \u5C01\u88DD\u7A0B\u5F0F\uFF0C\u4EE5\u5728\u57F7\u884C\u4E4B\u524D\u5C01\u88DD\u5177\u6709\u6301\u7E8C\u6027\u7684\u985E\u5225\u3002\u6216\u8005\uFF0C\u5C07\u4E3B\u985E\u5225\u7684\u57F7\u884C\u7A0B\u5F0F\u7279\u6027\u8A2D\u5B9A\u70BA\u6301\u7E8C\u6027\u57F7\u884C\u7A0B\u5F0F\uFF0C\u4EE5\u5F9E IDE \u57F7\u884C\u3002 -jdo.persistencemanagerimpl.close.activetransaction=JDO76010\uFF1A\u6B64\u6301\u7E8C\u6027\u7BA1\u7406\u7A0B\u5F0F\u8207\u4E00\u500B\u958B\u555F\u7684\u4F5C\u696D\u4E8B\u4EF6\u76F8\u95DC\u806F\u3002 -jdo.persistencemanagerimpl.fetchinstance.none=JDO76012\uFF1A\u627E\u4E0D\u5230\u6B64 ObjectId \u7684\u7269\u4EF6\u3002 -jdo.persistencemanagerimpl.internaldeletepersistent.transient=JDO76014\uFF1A\u7121\u6CD5\u522A\u9664\u975E\u6301\u7E8C\u6027\u7269\u4EF6\u3002 -jdo.persistencemanagerimpl.internalmakepersistent.dups=JDO76015\uFF1A\u5177\u6709\u76F8\u540C\u4E3B\u9375\u7684\u57F7\u884C\u8655\u7406\u5DF2\u5B58\u5728\u65BC\u6B64 PersistenceManager \u5FEB\u53D6\u4E2D\u3002 -jdo.persistencemanagerimpl.loadclassforoid.wrongoidclass=JDO76016\uFF1A\u5F9E OID \u64F7\u53D6\u7269\u4EF6\u985E\u5225\u6642\u767C\u751F\u932F\u8AA4\u3002 -jdo.persistencemanagerimpl.newscoinstance.wrongclass=JDO76017\uFF1A\u7531\u65BC\u985E\u5225 {0} \u662F\u7121\u6548\u985E\u578B\uFF0C\u7121\u6CD5\u5EFA\u7ACB\u5176 SCO \u57F7\u884C\u8655\u7406\u3002 -jdo.persistencemanagerimpl.notprocessed=JDO76018\uFF1A\u7531\u65BC\u5FAA\u74B0\u76F8\u4F9D\u6027\uFF0C\u7121\u6CD5\u6E05\u9664\u6301\u7E8C\u6027\u57F7\u884C\u8655\u7406\u3002 -jdo.persistencemanagerimpl.releaseexclusivelock.failed=JDO76019\uFF1A\u7531\u65BC _readWriteCount \u5927\u65BC\u96F6\uFF0C\u7121\u6CD5\u91CB\u653E\u5C08\u7528\u9396\u5B9A -jdo.persistencemanagerimpl.releasesharelock.failed=JDO76020\uFF1A\u7531\u65BC _readWriteCount \u70BA\u96F6\uFF0C\u7121\u6CD5\u91CB\u653E\u5171\u7528\u9396\u5B9A -jdo.persistencemanagerwrapper.invalidpm=JDO76021\uFF1APersistenceManagerWrapper \u5DF2\u95DC\u9589\u3002 -jdo.extentcollection.constructor.invalidclass=JDO76022\uFF1A\u5EF6\u4F38\u96C6\u5408\u7684\u985E\u5225 ''{0}'' \u7121\u6548\u3002 -jdo.extentcollection.constructor.nonpc=JDO76023\uFF1A\u985E\u5225 ''{0}'' \u4E0D\u5177\u6709\u6301\u7E8C\u6027\u3002 -jdo.extentcollection.constructor.subclasses=JDO76024\uFF1A\u4E0D\u652F\u63F4\u5EF6\u4F38\u96C6\u5408\u7684\u9078\u9805\u5B50\u985E\u5225\u70BA True\u3002 -jdo.extentcollection.illegalmodification=JDO76025\uFF1A\u5C0D\u985E\u5225 ''{0}'' \u4E4B\u5EF6\u4F38\u96C6\u5408\u7684\u4FEE\u6539\u975E\u6CD5\u3002 -jdo.extentcollection.methodnotsupported=JDO76026\uFF1A\u4E0D\u652F\u63F4\u5EF6\u4F38\u96C6\u5408\u65B9\u6CD5 {0}\u3002 -jdo.lifecycle.xactnotactive=JDO76027\uFF1A\u9700\u8981\u4F7F\u7528\u4E2D\u7684\u4F5C\u696D\u4E8B\u4EF6\uFF0C\u4EE5\u57F7\u884C\u6B64\u4F5C\u696D\u3002 -jdo.persistencemanagerimpl.newinstance.badsm=JDO76028\uFF1AStateManager \u672A\u5B8C\u5168\u7D44\u614B\uFF01 -jdo.persistencemanagerimpl.setjtatransaction.notnulljta=JDO76029\uFF1A\u5617\u8A66\u7528 {1} \u66FF\u4EE3\u975E\u7A7A\u7684 javax.transaction.Transaction\uFF1A{0}\u3002 -jdo.persistencemanagerfactoryimpl.getpersistencemgr.closed=JDO76030\uFF1A\u6B64 javax.transaction.Transaction \u7684 PersistenceManager\uFF1A{0} \u5DF2\u95DC\u9589\u6216\u6B63\u5728\u78BA\u8A8D\u3002 -jdo.persistencemanagerfactoryimpl.registerpm.registered=JDO76031\uFF1Ajavax.transaction.Transaction \u7684\u6B64\u57F7\u884C\u8655\u7406\uFF1A{0} \u5DF2\u4F7F\u7528\u5176\u4ED6 PersistenceManager \u8A3B\u518A\uFF1A{1}\u3002 -jdo.persistencemanagerimpl.verificationfailed=JDO76032\uFF1A\u7248\u672C\u4E00\u81F4\u7684\u57F7\u884C\u8655\u7406\u5C0D\u8CC7\u6599\u5B58\u653E\u5340\u7684\u9A57\u8B49\u5931\u6557\u3002 -jdo.persistencemanagerfactoryimpl.getversionconsistencycache.nullstore=JDO76033\uFF1A\u672A\u7D44\u614B StoreManager\u3002 - -# -# -# -sqlstore.state.lifecyclestate.changestate=LifeCycleState.changeState()\uFF0C\u820A\u72C0\u614B = {0}\u3001\u65B0\u72C0\u614B = {1}\u3002 -sqlstore.state.lifecyclestate.initial=LifeCycleState.getLifeCycleState()\uFF0C\u521D\u59CB\u72C0\u614B = {0}\u3002 - -# -# -# -sqlstore.persistencemgr.acquireexclusivelock.count=acquireExclusiveLock()\uFF0C\u7E6B\u7DDA {0}\uFF0C_readWriteCount = {1}\u3002 -sqlstore.persistencemgr.acquireexclusivelock=acquireExclusiveock()\uFF0C\u7E6B\u7DDA {0} \u5C07\u6703\u7B49\u5F85\u3002 -sqlstore.persistencemgr.acquiresharedlock.rdwrcount=acquireShareLock()\uFF0C\u7E6B\u7DDA {0} \u7372\u5F97\u5171\u7528\u9396\u5B9A\uFF0C_readWriteCount ={1}\u3002 -sqlstore.persistencemgr.acquiresharedlock=acquireShareLock()\uFF0C\u7E6B\u7DDA {0} \u5C07\u6703\u7B49\u5F85\u3002 -sqlstore.persistencemgr.aftercompletion.process=---PersistenceManagerImpl.afterCompletion() \u8655\u7406\u4F5C\u696D\uFF1A{0}\u3002 -sqlstore.persistencemgr.aftercompletion=---PersistenceManagerImpl.afterCompletion() \u4E2D\u65B7\uFF1A{0}\u3002 -sqlstore.persistencemgr.assertactivetx.closed=--- PersistenceManagerImpl.assertActiveTransaction\uFF1A\u5DF2\u70BA {0} \u95DC\u9589\u3002 -sqlstore.persistencemgr.assertactivetx=--- PersistenceManagerImpl.assertActiveTransaction\uFF1A{0}\u3002 -sqlstore.persistencemgr.assertisopen=--- PersistenceManagerImpl.assertIsOpen: \u5DF2\u70BA {0} \u95DC\u9589\u3002 -sqlstore.persistencemgr.beforecompletion=---PersistenceManagerImpl.beforeCompletion()\u3002 -sqlstore.persistencemgr.cacheproperties=PersistenceManagerImpl \u5FEB\u53D6\u7279\u6027\uFF1A_txCacheInitialCapacity={0}\u3001_flushedCacheInitialCapacity={1}\u3001_flushedCacheLoadFactor={2}\u3001_weakCacheInitialCapacity={3}\u3001_weakCacheLoadFactor={4}\u3002 -sqlstore.persistencemgr.deregisterinstance.verified=---PersistenceManagerImpl.deregisterInstance() -- \u5DF2\u900F\u904E\u9A57\u8B49\u53D6\u6D88\u8A3B\u518A\u3002 -sqlstore.persistencemgr.deregisterinstance.verify=---PersistenceManagerImpl.deregisterInstance() \u900F\u904E\u9A57\u8B49 SM \u53D6\u6D88\u8A3B\u518A -- oid\uFF1A{0}\uFF0CPersistenceManager\uFF1A{1} \u8207 JTA\uFF1A{2}\u3002 -sqlstore.persistencemgr.deregisterinstance=---PersistenceManagerImpl.deregisterInstance() oid\uFF1A{0}\uFF0CPersistenceManager\uFF1A{1} \u8207 JTA\uFF1A{2}\u3002 -sqlstore.persistencemgr.getbyobjid=---PersistenceManagerImpl.getObjectById() OID\uFF1A{0}\uFF0CPersistenceManager\uFF1A{1} \u8207 JTA\uFF1A{2}\u3002 -sqlstore.persistencemgr.getcurrentwrapper=---PersistenceManagerImpl.getCurrentWrapper() > \u76EE\u524D\uFF1A{0}\u3002 -sqlstore.persistencemgr.getobjid.notpc=---PersistenceManagerImpl.getObjectId() \u975E PC\uFF1A{0}\uFF0CPersistenceManager\uFF1A{1}\u3002 -sqlstore.persistencemgr.getobjid.notpm=---PersistenceManagerImpl.getObjectId() \u975E PM\uFF1A{0}\uFF0CPersistenceManager\uFF1A{1} \u8207 JTA\uFF1A{2}\u3002 -sqlstore.persistencemgr.getobjid= \uFF1A{0} ---PersistenceManagerImpl.getObjectId() PC\uFF1A{1}\uFF0CPersistenceManager\uFF1A{2} \u8207 JTA\uFF1A{3}\u3002 -sqlstore.persistencemgr.internalcloneoid.old=---PersistenceManagerImpl.internalCloneOid()\uFF1A\u820A\uFF1A{0}\u3001\u65B0\uFF1A{1}\uFF0C\u76F8\u540C\uFF1A{2}\u3002 -sqlstore.persistencemgr.internalcloneoid=---PersistenceManagerImpl.internalCloneOid() \u932F\u8AA4\uFF1A{0}\u3002 -sqlstore.persistencemgr.isactivetx=---PersistenceManagerImpl.isActiveTransaction() \uFF1A{0}\u3002 -sqlstore.persistencemgr.isnontxread=---PersistenceManagerImpl.isNontransactionalRead()\uFF1A{0}\u3002 -sqlstore.persistencemgr.isoptimistic=---PersistenceManagerImpl.isOptimisticTransaction()\uFF1A{0}\u3002 -sqlstore.persistencemgr.loadingclass=\u6B63\u5728\u8F09\u5165 ... \u985E\u5225\u540D\u7A31\uFF1A{0}\u3002 -sqlstore.persistencemgr.loadingfile=\u6B63\u5728\u8F09\u5165 ... \u6A94\u6848\u540D\u7A31\uFF1A{0} {1} {2}\u3002 -sqlstore.persistencemgr.makepersistent.done=---PersistenceManagerImpl.makePersistent() \u5DF2\u91DD\u5C0D\uFF1A{1} \u8207 JTA\uFF1A{2} \u5B8C\u6210 {0}\u3002 -sqlstore.persistencemgr.makepersistent= {0} ---PersistenceManagerImpl.makePersistent() PC\uFF1A{1}\uFF0CPersistenceManager\uFF1A{2} \u8207 JTA\uFF1A{3}\u3002 -sqlstore.persistencemgr.newcollection=---PersistenceManagerImpl.newCollectionInstanceInternal() \u985E\u578B\uFF1A{0}\u3002 -sqlstore.persistencemgr.popcurrentwrapper=---PersistenceManagerImpl.popCurrentWrapper() > \u76EE\u524D\uFF1A{0} \u5148\u524D\uFF1A{1}\u3002 -sqlstore.persistencemgr.pushcurrentwrapper=---PersistenceManagerImpl.pushCurrentWrapper() > \u76EE\u524D\uFF1A{0} \u65B0\uFF1A{1}\u3002 -sqlstore.persistencemgr.registerinstance= {0} ---PersistenceManagerImpl.registerInstance() oid/sm\uFF1A{1}/{2}\uFF0CPersistenceManager\uFF1A{3} \u8207 JTA\uFF1A{4}\u3002 -sqlstore.persistencemgr.registerinstancein_txc=TXC \u4E2D\u7684 registerInstance\uFF1A{0} / {1}\uFF0CPersistenceManager\uFF1A{2} \u8207 JTA\uFF1A{3}\u3002 -sqlstore.persistencemgr.registerinstancein_wkc=WKC \u4E2D\u7684 registerInstance\u3002 -sqlstore.persistencemgr.releaseexclusivelock=releaseExclusiveock()\uFF0C\u7E6B\u7DDA {0}\uFF0C_readWriteCount = {1}\u3002 -sqlstore.persistencemgr.releasesharedlock=releaseShareLock()\uFF0C\u7E6B\u7DDA {0}\uFF0C_readWriteCount = {1}\u3002 -sqlstore.persistencemgr.replacingdeletedinstance=\u4EE5\u65B0\u7684\u57F7\u884C\u8655\u7406\u53D6\u4EE3\u522A\u9664\u7684\u57F7\u884C\u8655\u7406\uFF0C\u7269\u4EF6 ID\uFF1A{0}\u3002 -sqlstore.persistencemgr.setkeyfields=---PersistenceManagerImpl.setKeyFields() \u932F\u8AA4\uFF1A{0}\u3002 -# -# -# -sqlstore.sqlpersistencemgrfactory.getfrompool.pmt=<--SQLPersistenceManagerFactory.getFromPool() PM\uFF1A{0}\uFF0CJTA {1}\u3002 -sqlstore.sqlpersistencemgrfactory.getfrompool=<--SQLPersistenceManagerFactory.getFromPool()\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.found= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() \u627E\u5230 javax.transaction.Transaction\uFF1A{1}\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx.notfound=<->SQLPersistenceManagerFactory.getPersistenceManager() \u627E\u4E0D\u5230 JDO \u4F5C\u696D\u4E8B\u4EF6\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx=<->SQLPersistenceManagerFactory.getPersistenceManager() JDO \u4F5C\u696D\u4E8B\u4EF6\uFF1A{0}\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmclosedfor= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() PM \u5DF2\u70BA\uFF1A {1} \u95DC\u9589\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmt= {0} <->SQLPersistenceManagerFactory.getPersistenceManager()\uFF1A{1}\uFF0CJTA\uFF1A{2}\u3002 -sqlstore.sqlpersistencemgrfactory.getpersistencemgr=\uFF1A{0} -->SQLPersistenceManagerFactory.getPersistenceManager()\u3002 -sqlstore.sqlpersistencemgrfactory.init=---SQLPersistenceManagerFactory.initialize()\u3002 -sqlstore.sqlpersistencemgrfactory.pmCacheBucketSize=---SQLPersistenceManagerFactory pmCacheBucketSize = {0}\u3002 -sqlstore.sqlpersistencemgrfactory.pmCacheInitialCapacity=---SQLPersistenceManagerFactory pmCacheInitialCapacity = {0}\u3002 -sqlstore.sqlpersistencemgrfactory.registerpersistencemgr.pmt=<->SQLPersistenceManagerFactory.registerPersistenceManager() PM\uFF1A{0}\uFF0CJTA Tx\uFF1A{1}\u3002 -sqlstore.sqlpersistencemgrfactory.releasepm.pmt=---SQLPersistenceManagerFactory.releasePersistenceManager() PM\uFF1A{0}\uFF0CJTA Tx\uFF1A{1}\u3002 -sqlstore.sqlpersistencemgrfactory.returnToPool=<--SQLPersistenceManagerFactory.returnToPool()\u3002 - - -############################################################################### -# -# Message ID Range: JDO76100 - JDO76199 -############################################################################### -core.configuration.columnnotable=JDO76100\uFF1A\u6B04\u63CF\u8FF0\u5143\u7121\u6709\u6548\u7684\u8868\u683C\u63CF\u8FF0\u5143\u3002 -core.configuration.fieldnotable=JDO76101\uFF1A\u6B04\u4F4D {0} \u8207\u4EFB\u4F55\u8868\u683C\u5747\u7121\u95DC\u806F\u3002 -core.configuration.fieldnotmapped=JDO76102\uFF1A\u672A\u5C0D\u61C9\u985E\u5225 {1} \u7684\u6301\u7E8C\u6027\u6B04\u4F4D {0}\u3002 -core.configuration.iddescnofield=JDO76103\uFF1A\u672A\u6B63\u78BA\u8A2D\u5B9A SqlIDDesc \u7269\u4EF6\u3002\u7121\u53EF\u7528\u7684\u6B04\u4F4D\u63CF\u8FF0\u5143\u3002 -core.configuration.loadfailed.class=JDO76104\uFF1A\u7121\u6CD5\u8F09\u5165\u985E\u5225 {0} \u7684\u7D44\u614B\u3002 -core.configuration.noneexistentpkfield=JDO76105\uFF1AObjectId \u985E\u5225 {1} \u4E2D\u7684\u6B04\u4F4D {0} \u672A\u5B58\u5728\u65BC PersistenceCapable \u985E\u5225 {2} \u4E2D\u3002 -core.configuration.unsupportedconsistencylevel=JDO76106\uFF1A\u985E\u5225 {0} \u5177\u6709\u4E0D\u53D7\u652F\u63F4\u7684\u4E00\u81F4\u6027\u5C64\u7D1A\u3002\u76EE\u524D\u652F\u63F4\u7684\u4E00\u81F4\u6027\u5C64\u7D1A\u70BA\u300Cnone\u300D\u3001\u300Ccheck-modified-at-commit\u300D\u3001\u300Clock-when-loaded\u300D\u548C\u300Ccheck-version-of-accessed-instances\u300D\u3002 -core.configuration.validationfailed=JDO76107\uFF1A\u985E\u5225 {0} \u7684\u5C0D\u61C9\u7121\u6548\uFF1A\n{1}\u3002 -core.configuration.validationproblem=JDO76108\uFF1A\u985E\u5225 {0} \u4E2D\u767C\u751F\u9A57\u8B49\u932F\u8AA4\uFF1A{1} -# -# -# -core.fielddesc.minvalue=JDO76109\uFF1A\u503C\uFF1A{0} \u5C0F\u65BC\u6240\u5141\u8A31\u7684\u6700\u5C0F\u503C\uFF1A\u6B04\u4F4D\u985E\u578B {2} \u7684 {1}\u3002 -core.fielddesc.maxvalue=JDO76110\uFF1A\u503C\uFF1A{0} \u5927\u65BC\u6240\u5141\u8A31\u7684\u6700\u5927\u503C\uFF1A\u6B04\u4F4D\u985E\u578B {2} \u7684 {1}\u3002 -core.configuration.noneexistentvcfield=JDO76111\uFF1A\u6B04\u4F4D {0} \u6A19\u8A18\u70BA\u7248\u672C\u6B04\u4F4D\uFF0C\u4F46\u5728 PersistenceCapable \u985E\u5225 {1} \u4E2D\u4E0D\u5B58\u5728\u3002 -core.configuration.loadfailed.field=JDO76112\uFF1A\u7121\u6CD5\u8F09\u5165\u985E\u5225 {1} \u4E2D\u7684\u6B04\u4F4D {0} \u7D44\u614B\u3002 - -# -# -# -sqlstore.model.classdesc.assocrelatedfield=\u95DC\u806F\u7684\u95DC\u4FC2\u6B04\u4F4D = {0}\u3002 -sqlstore.model.classdesc.createsqldesc=\u5F9E {0} \u5EFA\u7ACB SqlIDDesc\u3002 -sqlstore.model.classdesc.fieldinfo=\u6A94\u6848\u540D\u7A31 = {0}\uFF0CID= {1}\u3002 -sqlstore.model.classdesc.general={0}.{1} =>{2} -sqlstore.model.classdesc.getlocalfielddesc=<-> SqlPersistenceDesc.getLocalFieldDesc()\uFF0C\u985E\u5225 ={0} \u5DF2\u70BA\u6B04 {2} \u65B0\u589E\u96B1\u85CF\u6B04\u4F4D {1}\u3002 -sqlstore.model.classdesc.loadedclass=\u6210\u529F\u8F09\u5165 oid \u985E\u5225 = {0}\u3002 -sqlstore.model.classdesc.persistconfiginit.exit=<-- SqlPersistenceConfig.initialize()\u3002 -sqlstore.model.classdesc.persistconfiginit=--> SqlPersistenceConfig.initialize()\uFF0C\u985E\u5225 = {0}\u3002 -sqlstore.model.classdesc.pkfield=PK \u6B04\u4F4D = {0}\u3002 -sqlstore.model.classdesc.primarytrackedfield=\u6B04\u4F4D {0} \u70BA\u8FFD\u8E64\u7684\u4E3B\u8981\u6B04\u4F4D\u3002 -sqlstore.model.classdesc.unsetconcurrencychk=\u53D6\u6D88\u8A2D\u5B9A lf {0} \u7684 IN_CONCURRENCY_CHECK \u7279\u6027\u3002 -sqlstore.model.classdesc.unsetrefintegrityupdate=\u53D6\u6D88\u8A2D\u5B9A ff {0} \u7684 REF_INTEGRITY_UPDATES \u7279\u6027\u3002 -sqlstore.model.classdesc.vcfield=\u7248\u672C\u4E00\u81F4\u6027\u6B04\u4F4D = {0}\u3002 -sqlstore.model.fielddesc.addingfield=\u65B0\u589E\u8981\u7531\u6B04\u4F4D {1} \u8FFD\u8E64\u7684\u6B04\u4F4D {0}\u3002 -sqlstore.model.fielddesc.convertvalue.from_to=convertValue\uFF1A{0}\uFF0C\u5F9E\uFF1A{1} \u81F3\uFF1A{2}\u3002 -sqlstore.model.fielddesc.convertvalue.hidden=\u50B3\u56DE convertValue\uFF1A\u96B1\u85CF\u7684 {0} ... -sqlstore.model.fielddesc.convertvalue=\u50B3\u56DE convertValue\uFF1ANULL ... -sqlstore.model.fielddesc.fieldname={0} = {1}. -sqlstore.model.fielddesc.setupdesc=setupDesc()\uFF1AfieldName {0} fieldType {1}\u3002 -sqlstore.model.configcacheimpl.size_before=\u6E05\u9664\u524D\u7684 {0} \u5927\u5C0F\uFF1A{1}\u3002 -sqlstore.model.configcacheimpl.size_after=\u6E05\u9664\u5F8C\u7684 {0} \u5927\u5C0F\uFF1A{1}\u3002 - - -############################################################################### -# -# Message ID Range: JDO76200 - JDO76299 -############################################################################### -core.statemanager.anotherowner=JDO76200\uFF1A\u7121\u6CD5\u6307\u5B9A\u53E6\u4E00\u500B\u7269\u4EF6\u6240\u64C1\u6709\u7684 SCO \u57F7\u884C\u8655\u7406\u3002 -core.statemanager.cantnewoid=JDO76201\uFF1A\u7121\u6CD5\u5EFA\u7ACB\u985E\u5225 {0} \u7684\u65B0\u4E3B\u9375\u57F7\u884C\u8655\u7406\u3002 -core.statemanager.cantschedulejointable=JDO76202\uFF1A\u7121\u6CD5\u5728\u985E\u5225 {0} \u548C\u985E\u5225 {1} \u4E4B\u9593\u6392\u7A0B\u9023\u7D50\u8868\u683C\u9805\u76EE\uFF0C\u56E0\u70BA\u95DC\u4FC2\u6B04\u4F4D\u63CF\u8FF0\u70BA\u7A7A\u3002 -core.statemanager.cantsetkeyfield=JDO76203\uFF1A\u7121\u6CD5\u8A2D\u5B9A\u4E3B\u9375\u6B04\u4F4D {0} \u7684\u503C\u3002 -core.statemanager.conflictingvalues=JDO76204\uFF1A\u5C0D\u61C9\u81F3\u540C\u4E00\u500B\u6B04\u7684\u6B04\u4F4D {0} \u548C\u6B04\u4F4D {1} \u4E4B\u9593\u5B58\u5728\u885D\u7A81\u7684\u503C -core.statemanager.getfieldfailed=JDO76205\uFF1A\u7121\u6CD5\u53D6\u5F97\u6B04\u4F4D\u3002 -core.statemanager.invalidpk=JDO76206\uFF1A\u91CD\u65B0\u8F09\u5165\u5177\u6709\u6301\u7E8C\u6027\u985E\u5225 {1} \u7684\u57F7\u884C\u8655\u7406\u6642\uFF0C\u7A7A\u4E3B\u9375\u6B04\u4F4D {0} \u7121\u6548\u3002\u57F7\u884C\u8655\u7406\u7684 ObjectId \u70BA {2}\u3002 -core.statemanager.nopkupdate=JDO76207\uFF1A\u4E0D\u5141\u8A31\u66F4\u65B0\u4E3B\u9375\u6B04\u4F4D\u3002 -core.statemanager.nopm=JDO76208\uFF1A\u72C0\u614B\u7BA1\u7406\u7A0B\u5F0F\u4E0D\u5305\u542B\u5C0D\u6301\u7E8C\u6027\u7BA1\u7406\u7A0B\u5F0F\u7684\u53C3\u7167\u3002 -core.statemanager.notnavigable=JDO76209\uFF1A\u5DF2\u5617\u8A66\u5B58\u53D6\u985E\u5225 {1} \u7684\u6B04\u4F4D {0}\u3002\u6B64\u6B04\u4F4D\u5148\u524D\u672A\u5BE6\u4F8B\u5316\uFF0C\u4E14\u6B64\u985E\u5225\u4E0D\u5141\u8A31\u52D5\u614B\u5C0E\u89BD\u3002\u60A8\u5FC5\u9808\u5728\u64F7\u53D6\u6B64\u985E\u5225\u6642\u8ACB\u6C42\u6B64\u6B04\u4F4D\uFF0C\u6216\u8005\u5141\u8A31\u52D5\u614B\u5C0E\u89BD\uFF0C\u4EE5\u4FBF\u5B58\u53D6\u6642\u53EF\u81EA\u52D5\u64F7\u53D6\u5B83\u3002 -core.statemanager.objectnotfound=JDO76210\uFF1A\u7269\u4EF6\u672A\u5B58\u5728\u65BC\u8CC7\u6599\u5B58\u653E\u5340\u4E2D\u3002 -core.statemanager.poshiddenindex=JDO76211\uFF1A\u96B1\u85CF\u6B04\u4F4D\u7684\u7D22\u5F15\u61C9\u70BA\u8CA0\u503C\uFF0C\u4F46\u662F\u6211\u5011\u53D6\u5F97\u7684\u7D22\u5F15\u537B\u70BA {0}\u3002 -core.statemanager.readonly=JDO76212\uFF1A\u5DF2\u5617\u8A66\u4FEE\u6539\u985E\u5225 {1} \u7684\u552F\u8B80\u6B04\u4F4D {0}\u3002 -core.statemanager.releaselock.wrongthread=JDO76213\uFF1A\u6B64\u7E6B\u7DDA {0} \u4E0D\u6703\u66AB\u505C StateManager \u9396\u5B9A\u3002 -core.statemanager.setfieldfailed=JDO76214\uFF1A\u7121\u6CD5\u8A2D\u5B9A\u6B04\u4F4D\u3002 -core.statemanager.wrongusageforoverlappingpkfkdelete=JDO76215\uFF1A\u5F9E\u7BA1\u7406\u5F0F\u95DC\u4FC2\u4E2D\u79FB\u9664\u57F7\u884C\u8655\u7406\u7684\u5617\u8A66\u4E0D\u6B63\u78BA\u3002\u6B64\u95DC\u4FC2\u7531\u53E6\u4E00\u5074\u7684\u4E3B\u9375\u6B04\u5B9A\u7FA9\u3002\u5C0D\u96C6\u5408\u57F7\u884C\u79FB\u9664\u4F5C\u696D\u8981\u6C42\u66F4\u65B0\u53E6\u4E00\u5074\u7684\u6B04\uFF0C\u4F46\u4E0D\u5141\u8A31\u4E3B\u9375\u66F4\u65B0\u3002\u56E0\u6B64\uFF0C\u53EA\u6709\u660E\u78BA\u522A\u9664\u57F7\u884C\u8655\u7406\u6216\u4F7F\u7528\u91CD\u758A\u522A\u9664\uFF0C\u624D\u80FD\u5F9E\u4E3B\u9375\u5B9A\u7FA9\u7684\u7BA1\u7406\u5F0F\u95DC\u4FC2\u96C6\u5408\u4E2D\u79FB\u9664\u8A72\u57F7\u884C\u8655\u7406\u3002 -core.statemanager.toomanyrows=JDO76215\uFF1A\u5C0D\u65BC\u5C0D\u61C9\u81F3\u985E\u5225 {0} \u7684\u8868\u683C\u4E4B\u4E00\uFF0C\u5DF2\u50B3\u56DE\u591A\u5217\u3002\u91DD\u5C0D\u7269\u4EF6\u7684\u6BCF\u500B\u57F7\u884C\u8655\u7406\uFF0C\u5C0D\u61C9\u81F3\u985E\u5225\u7684\u6BCF\u500B\u8868\u683C\u61C9\u8A72\u50C5\u6709\u4E00\u5217\u3002 -core.statemanager.copyFields.mismatch=JDO76216\uFF1A\u5617\u8A66\u5F9E\u4E00\u500B StateManager \u5C07\u6B04\u4F4D\u8907\u88FD\u5230\u5176\u4ED6\u7BA1\u7406\u4E0D\u540C\u985E\u578B\u57F7\u884C\u8655\u7406\u7684 StateManager\uFF1A{0} \u548C {1}\u3002 - -# -# -# -sqlstore.sqlstatemanager.adddependency=<-> SQLStateManager.addDependency()\uFF0C\u6B64 StateManager\uFF1A{0}\uFF0C\u5176\u4ED6 StateManager\uFF1A{1}\u3002 -sqlstore.sqlstatemanager.addupdate=<-> SQLStateManager.addUpdatedForeignReference()\uFF0Clobj={0}\uFF0Cf={1}\uFF0Cfobj={2}\uFF0CrefCount={3}\u3002 -sqlstore.sqlstatemanager.applyupdates.exit=<-- SqlStateManager.applyUpdates()\u3002 -sqlstore.sqlstatemanager.applyupdates=--> SqlStateManager.applyUpdates()\uFF0C\u6B04\u4F4D = {0}\u3002 -sqlstore.sqlstatemanager.clearpersistencefields.exit=<--- SqlStateManager.clearPersistenceFields()\u3002 -sqlstore.sqlstatemanager.clearpersistencefields=--> SqlStateManager.clearPersistenceFields()\u3002 -sqlstore.sqlstatemanager.copychanges.exit=<-- SQLStateManager.copyChanges()\u3002 -sqlstore.sqlstatemanager.copychanges=--> SQLStateManager.copyChanges()\uFF0C\u72C0\u614B\u7BA1\u7406\u7A0B\u5F0F = {0}\u3002 -sqlstore.sqlstatemanager.deletepersistence=<-> SqlStateManager.deletePersistence()\uFF0C\u985E\u578B = {0}\u3002 -sqlstore.sqlstatemanager.getbeforeimage.exit=<-- SqlStateManager.getBeforeImage()\u3002 -sqlstore.sqlstatemanager.getbeforeimage=--> SqlStateManager.getBeforeImage()\uFF0C\u985E\u578B = {0}\u3002 -sqlstore.sqlstatemanager.isbeforeimagerequired=isBeforeImageRequired \u70BA\uFF1A{0}\u3002 -sqlstore.sqlstatemanager.loadforread.exit=<-- SQLStateManager.loadForRead()\u3002 -sqlstore.sqlstatemanager.loadforread=--> SQLStateManager.loadForRead()\u3002 -sqlstore.sqlstatemanager.loadforupdate.exit=<-- SQLStateManager.loadForUpdate()\u3002 -sqlstore.sqlstatemanager.loadforupdate=--> SQLStateManager.loadForUpdate()\u3002 -sqlstore.sqlstatemanager.loggingfield=\u767B\u5165\u6B04\u4F4D = {0}\uFF0C\u503C = {1}\u3002 -sqlstore.sqlstatemanager.makedirty.fixscocollection=--- SqlStateManager.makeDirty()\uFF0C\u4FEE\u6B63 SCOCollection\u3002 -sqlstore.sqlstatemanager.makedirty.fixscodate=--- SqlStateManager.makeDirty()\uFF0C\u4FEE\u6B63 SCODate\u3002 -sqlstore.sqlstatemanager.makedirty=--> SqlStateManager.makeDirty()\uFF0C\u6B04\u4F4D = {0}\u3002 -sqlstore.sqlstatemanager.makedirtyfield=\u6A19\u8A18\u70BA\u8B8A\u66F4\u7684\u6B04\u4F4D = {0}\u3002 -sqlstore.sqlstatemanager.makepersistence=<-> SqlStateManager.makePersistence()\uFF0C\u985E\u578B = {0}\u3002 -sqlstore.sqlstatemanager.makepresent=--> SqlStateManager.makePresent()\uFF0C\u6B04\u4F4D = {0}\u3002 -sqlstore.sqlstatemanager.marking=\u5C07 {0} \u6A19\u8A18\u70BA\u5B58\u5728\u3002 -sqlstore.sqlstatemanager.newtype=\u65B0\u985E\u578B\uFF1A{0}\u3002 -sqlstore.sqlstatemanager.nosuchmethodexcep.clone=\u7570\u5E38\uFF1A{0} \u8907\u88FD ... \u985E\u578B {1}\u3002 -sqlstore.sqlstatemanager.preparegetfield.exit=<-- SqlStateManager.prepareGetField()\u3002 -sqlstore.sqlstatemanager.preparegetfield=--> SqlStateManager.prepareGetField()\uFF0C\u540D\u7A31 = {0}\u3002 -sqlstore.sqlstatemanager.preparesetfield.exit=<-- SQLStateManager.prepareSetField()\u3002 -sqlstore.sqlstatemanager.preparesetfield=--> SQLStateManager.prepareSetField()\uFF0C\u540D\u7A31 = {0}\u3002 -sqlstore.sqlstatemanager.preparetoupdateph1.exit=<-- SqlStateManager.prepareToUpdateI()\u3002 -sqlstore.sqlstatemanager.preparetoupdateph1=--> SqlStateManager.prepareToUpdatePhaseI()\uFF0C\u985E\u578B = {0}\u3002 -sqlstore.sqlstatemanager.preparetoupdateph2.exit=<-- SqlStateManager.prepareToUpdateII()\u3002 -sqlstore.sqlstatemanager.preparetoupdateph2=--> SqlStateManager.prepareToUpdatePhaseII()\uFF0C\u985E\u578B = {0}\u3002 -sqlstore.sqlstatemanager.preparetoupdateph3.exit=<-- SqlStateManager.prepareToUpdateIII()\u3002 -sqlstore.sqlstatemanager.preparetoupdateph3=--> SqlStateManager.prepareToUpdatePhaseIII()\uFF0C\u985E\u578B = {0}\u3002 -sqlstore.sqlstatemanager.prepareupdatefield.exit=<-- SQLStateManager.prepareUpdateField()\u3002 -sqlstore.sqlstatemanager.prepareupdatefield=--> SQLStateManager.prepareUpdateField()\uFF0C\u540D\u7A31 = {0}\uFF0C\u72C0\u614B\uFF1A{1}\u3002 -sqlstore.sqlstatemanager.prepareupdatefieldspl.exit=<-- SQLStateManager.prepareUpdateFieldSpecial()\u3002 -sqlstore.sqlstatemanager.prepareupdatefieldspl=--> SQLStateManager.prepareUpdateFieldSpecial\uFF0C\u540D\u7A31= {0}\uFF0C\u72C0\u614B\uFF1A{1}\u3002 -sqlstore.sqlstatemanager.processcollectionupdate.exit=<-- SQLStateManager.processCollectionUpdates()\u3002 -sqlstore.sqlstatemanager.processcollectionupdate=--> SQLStateManager.processCollectionUpdates()\uFF0CbeforeList={0}\uFF0Cafterlist={1}\u3002 -sqlstore.sqlstatemanager.processforeign=\u8655\u7406\u4F5C\u696D\u5916\u4F86\u6B04\u4F4D ={0}\u3002 -sqlstore.sqlstatemanager.processforeignfield.remove=-- SQLStateManager.processForeignField()\uFF1A\u70BA Collection - \u79FB\u9664\u3002 -sqlstore.sqlstatemanager.processforeignfield.remove_from_bi=-- SQLStateManager.processForeignField()\uFF1A\u70BA SCOCollection - \u5F9E BI \u79FB\u9664\u3002 -sqlstore.sqlstatemanager.processforeignfield.reset=-- SQLStateManager.processForeignField()\uFF1A\u70BA SCOCollection - \u91CD\u8A2D\u3002 -sqlstore.sqlstatemanager.processforeignfield=-- SQLStateManager.processForeignField()\uFF1A\u503C\uFF1A{0} \u985E\u578B\uFF1A{1}\u3002 -sqlstore.sqlstatemanager.realizefield.exit=<-- SqlStateManager.realizeField()\u3002 -sqlstore.sqlstatemanager.realizefield=--> SqlStateManager.realizeField()\uFF0C\u540D\u7A31 = {0}\u3002 -sqlstore.sqlstatemanager.realizeforeignfield.exit=<-- SqlStateManager.realizeField()\uFF0C\u5DF2\u5BE6\u9AD4\u5316\u7684\u6B04\u4F4D = {0}\u3002 -sqlstore.sqlstatemanager.realizeforeignfield=--> SqlStateManager.realizeField()\uFF0C\u540D\u7A31 = {0}\u3002 -sqlstore.sqlstatemanager.recordingfield=\u8A18\u9304\u6B04\u4F4D = {0}\u3002 -sqlstore.sqlstatemanager.refreshpersistent.exit=<-- SqlStateManager.refreshPersistent()\u3002 -sqlstore.sqlstatemanager.refreshpersistent=--> SqlStateManager.refreshPersistence()\uFF0C\u985E\u578B = {0}\u3002 -sqlstore.sqlstatemanager.reload.exit=<-- SqlStateManager.reload(FieldDesc)\u3002 -sqlstore.sqlstatemanager.reload=--> SqlStateManager.reload(FieldDesc)\uFF0C\u985E\u578B = {0}\uFF0C\u6B04\u4F4D = {1}\u3002 -sqlstore.sqlstatemanager.removeupdate=<-> SQLStateManager.removeUpdatedForeignReference()\uFF0Clobj={0}\uFF0Cf={1}\uFF0Cfobj={2}\uFF0CrefCount={3}\u3002 -sqlstore.sqlstatemanager.replaceobjectfield.unsetsco=-- SqlStateManager.replaceObjectField()\uFF0C\u53D6\u6D88\u8A2D\u5B9A SCO\u3002 -sqlstore.sqlstatemanager.replaceobjectfield=-- SqlStateManager.replaceObjectField()\uFF0C\u6B04\u4F4D = {0}\uFF0C\u985E\u578B = {1}\u3002 -sqlstore.sqlstatemanager.reset=--> SqlStateManager.reset(), retValues = {0}\uFF0CwasNew\uFF1A{1}\uFF0CkeepState\uFF1A{2}\u3002 -sqlstore.sqlstatemanager.resettingcollection=\u91CD\u8A2D\u96C6\u5408\u3002 -sqlstore.sqlstatemanager.resettingdate=\u91CD\u8A2D\u65E5\u671F\u3002 -sqlstore.sqlstatemanager.resolvedependencies=<-> SQLStateManager.resolveDependencies()\uFF0Cobj={0}\u3002 -sqlstore.sqlstatemanager.resolvedependency=<-> SQLStateManager.resolveDependency()\uFF0C\u5DF2\u89E3\u6790\u7684\u76F8\u4F9D\u6027\uFF1Alobj={0}\uFF0Cf={1}\uFF0Cfobj={2}\u3002 -sqlstore.sqlstatemanager.retrieve.exit=<-- SqlStateManager.retrieve()\u3002 -sqlstore.sqlstatemanager.retrieve=--> SqlStateManager.retrieve()\uFF0C\u540D\u7A31 = {0}\u3002 -sqlstore.sqlstatemanager.retrieveforeign.exit=<-- SqlStateManager.retrieveForeign()\u3002 -sqlstore.sqlstatemanager.retrieveforeign=--> SqlStateManager.retrieveForeign()\uFF0C\u540D\u7A31 = {0}\u3002 -sqlstore.sqlstatemanager.unsetmask=\u53D6\u6D88\u8A2D\u5B9A\u6B04\u4F4D = {0} \u7684\u906E\u7F69\u3002 -sqlstore.sqlstatemanager.unconditionalreload.exit=<-- SqlStateManager.reload()\u3002 -sqlstore.sqlstatemanager.unconditionalreload=--> SqlStateManager.reload()\uFF0C\u985E\u578B = {0}\u3002 -sqlstore.sqlstatemanager.updatebeforeimage=<-> SQLStateManager.updateBeforeImage()\uFF0C\u540D\u7A31 = {0}\uFF0C\u503C = {1}\u3002 -sqlstore.sqlstatemanager.updateobjfield.exit=<-- SQLStateManager.updateObjectField()\u3002 -sqlstore.sqlstatemanager.updateobjfield=--> SQLStateManager.updateObjectField()\uFF0C\u540D\u7A31 = {0}\uFF0C\u985E\u578B = {1}\u3002 -sqlstore.sqlstatemanager.updatepersistent.exit=<-- SqlStateManager.updatePersistent()\u3002 -sqlstore.sqlstatemanager.updatepersistent.immediateflush=<--> SqlStateManager.updatePersistent()\uFF0C\u9700\u7ACB\u5373\u6E05\u9664\uFF1Aobj={0}\uFF0Cnext={1}\u3002 -sqlstore.sqlstatemanager.updatepersistent.skipped=<--> SqlStateManager.updatePersistent() \u5DF2\u7565\u904E\uFF0C\u985E\u578B ={0}\uFF0Cobj= {1}\u3002 -sqlstore.sqlstatemanager.updatepersistent=--> SqlStateManager.updatePersistent()\uFF0C\u985E\u578B = {0}\u3002 -sqlstore.sqlstatemanager.updatetrackedfields.exit=<-- updateTrackedFields()\u3002 -sqlstore.sqlstatemanager.updatetrackedfields=--> updateTrackedFields()\uFF0Cf = {0}\uFF0C\u503C = {1}\uFF0CfieldToIgnore = {2}\u3002 - - -############################################################################### -# -# Message ID Range: JDO76300 - JDO76399 -############################################################################### -core.constraint.duporderby=JDO76300\uFF1A\u6B04\u4F4D {0} \u7684\u9650\u5236\u70BA "order by"\uFF0C\u4F46\u5DF2\u5728 "order by" \u9650\u5236\u4E2D\u6307\u5B9A\u8A72\u6B04\u4F4D\u3002 -core.constraint.fielddisallowed=JDO76301\uFF1A\u6307\u5B9A\u4E86 fieldName \u53C3\u6578\uFF0C\u4F46\u4E0D\u5141\u8A31\u5C07\u5176\u7528\u65BC\u4F5C\u696D {0}\u3002 -core.constraint.fieldrequired=JDO76302\uFF1A\u7F3A\u5C11 fieldName \u53C3\u6578\uFF0C\u4F46\u4F5C\u696D {0} \u9700\u8981\u4E00\u500B\u6B04\u4F4D\u3002 -core.constraint.illegalParameterInfo=JDO76303\uFF1A\u5FC5\u9808\u4F7F\u7528\u985E\u578B ParameterInfo \u7684\u503C\u547C\u53EB OP_PARAMETER \u7684 addConstraint()\u3002 -core.constraint.illegalnode=JDO76304\uFF1ASqlConstraint \u5806\u758A\u4E2D\u7684\u9650\u5236\u7BC0\u9EDE {0} \u975E\u6CD5\u3002 -core.constraint.illegalop=JDO76305\uFF1A\u4F5C\u696D\u53C3\u6578\u5305\u542B {0} \u7684\u975E\u6CD5\u503C\u3002 -core.constraint.needfieldnamenode=JDO76306\uFF1A\u9650\u5236\u5806\u758A\u4E2D\u767C\u751F\u932F\u8AA4\u3002\u5DF2\u9810\u671F\u6A94\u6848\u540D\u7A31\u3002 -core.constraint.needfieldnode=JDO76307\uFF1A\u9650\u5236\u5806\u758A\u4E2D\u767C\u751F\u932F\u8AA4\u3002\u5DF2\u9810\u671F\u6B04\u4F4D\u63CF\u8FF0\u3002 -core.constraint.needvalnode=JDO76308\uFF1A\u9650\u5236\u5806\u758A\u4E2D\u767C\u751F\u932F\u8AA4\u3002\u5DF2\u9810\u671F\u503C\u3002 -core.constraint.stackempty=JDO76309\uFF1A\u9650\u5236\u5806\u758A\u70BA\u7A7A \uFF0D \u904B\u7B97\u5B50\u6578\u76EE\u7684\u503C\u4E0D\u8DB3\u3002 -core.constraint.unknownfield=JDO76310\uFF1A\u64F7\u53D6\u63CF\u8FF0\u5143\u4E2D\u6307\u5B9A\u7684\u6B04\u4F4D {0} \u4E0D\u662F\u985E\u5225 {1} \u7684\u6210\u54E1\u3002 -core.constraint.valdisallowed=JDO76311\uFF1A\u6307\u5B9A\u4E86 value \u53C3\u6578\uFF0C\u4F46\u4E0D\u5141\u8A31\u5C07\u5176\u7528\u65BC\u4F5C\u696D {0}\u3002 -core.constraint.valrequired=JDO76312\uFF1A\u7F3A\u5C11 value \u53C3\u6578\uFF0C\u4F46\u4F5C\u696D {0} \u9700\u8981\u4E00\u500B\u503C\u3002 -sqlstore.resultdesc.errorgettingvalefromresulset=JDO76313\uFF1A\u5F9E\u7D22\u5F15 {0} \u7684 resultset \u4E2D\u53D6\u5F97\u505A\u70BA resultType {1} \u7684\u503C\u6642\u767C\u751F\u932F\u8AA4\u3002columnSqlType {2}\u3002\u7570\u5E38\uFF1A{3} -sqlstore.resultdesc.foreignfieldprojection=JDO76314\uFF1A{0} \u7684\u67E5\u8A62\u5728\u95DC\u4FC2\u6B04\u4F4D\u4E0A\u4E0D\u61C9\u5177\u6709\u6295\u5F71\u3002 -sqlstore.resultdesc.unknownfieldtype=JDO76317\uFF1A\u9047\u5230\u672A\u77E5\u6B04\u4F4D\u985E\u578B {0}\u3002 -sqlstore.retrievedesc.toomanyprojections=JDO76318\uFF1A\u7121\u6CD5\u70BA RetrieveDesc \u8A2D\u5B9A\u591A\u500B\u6295\u5F71\u3002 -sqlstore.retrievedesc.toomanyresulttypes=JDO76319\uFF1A\u7121\u6CD5\u70BA RetrieveDesc \u8A2D\u5B9A\u591A\u500B\u7D50\u679C\u985E\u578B\u3002 -sqlstore.selectstatement.noupdatelocksupport=JDO76320\uFF1A\u6B64\u67E5\u8A62\u4E2D\u5305\u542B\u7684\u7269\u4EF6\u985E\u578B\u4E4B\u4E00\u70BA\u4E00\u81F4\u6027\u5C64\u7D1A\u300Clock-when-loaded\u300D\u3002\u5F37\u5236\u6B64\u4E00\u81F4\u6027\u5C64\u7D1A\u9700\u8981\u8CC7\u6599\u5B58\u653E\u5340\uFF0C\u4EE5\u652F\u63F4\u5217\u5C64\u7D1A\u7684\u66F4\u65B0\u9396\u5B9A\u3002\u8A72\u8CC7\u6599\u5B58\u653E\u5340\u4E0D\u652F\u63F4\u5217\u5C64\u7D1A\u7684\u66F4\u65B0\u9396\u5B9A\u3002 -sqlstore.sql.generator.statement.likeescapenotsupported=JDO76321\uFF1A\u6B64\u8CC7\u6599\u5EAB\u4E0D\u652F\u63F4 LIKE ESCAPE \u5B50\u53E5\u3002 -sqlstore.sql.generator.statement.positionthreeargsnotsupported=JDO76322\uFF1APOSITION \u5B50\u53E5\u7684\u7B2C\u4E09\u500B\u5F15\u6578\u5FC5\u9808\u70BA 1\u3002 -core.configuration.classnotmapped=JDO76323\uFF1A\u672A\u5C0D\u61C9\u985E\u5225 {0}\u3002 -core.configuration.classnotmappedtotable=JDO76324\uFF1A\u985E\u5225 {0} \u672A\u5C0D\u61C9\u81F3\u8868\u683C {1}\u3002 -sqlstore.sql.generator.statement.unexpectedconstraint=JDO76325\uFF1A\u4F5C\u696D {0} \u7684\u9650\u5236\u6C38\u9060\u4E0D\u80FD\u70BA where \u5B50\u53E5\u7684\u6839\u3002 - -# -# Following messages are used within other messages. They need to be i18ned but need not be numbered. -# -sqlstore.sql.generator.statement.sqlStatement=SQL \u6558\u8FF0\u53E5 -sqlstore.sql.generator.statement.withinputvalues= \u8F38\u5165\u503C\uFF1A -sqlstore.sql.generator.statement.withnoinputvalues= \u7121\u8F38\u5165\u503C\u3002 - - -# -# -# -sqlstore.resultdesc.deserializing=\u53D6\u6D88\u5E8F\u5217\u5316 = {0}\u3002 -sqlstore.resultdesc.marking_field=\u5C07\u672C\u6A5F\u6B04\u4F4D {0} \u6A19\u793A\u70BA\u5B58\u5728\u3002 -sqlstore.resultdesc.marking_foreign_field=\u5C07\u5916\u4F86\u6B04\u4F4D {0} \u6A19\u793A\u70BA\u5B58\u5728\u3002 -sqlstore.resultdesc.marking_key_field=\u5C07\u9375\u6B04\u4F4D {0} \u6A19\u793A\u70BA\u5B58\u5728\u3002 -sqlstore.resultdesc.returning_field=\u4EE5\u6295\u5F71\u65B9\u5F0F\u50B3\u56DE\u6B04\u4F4D {0}\u3002 -# -# -# -sqlstore.sql.concurrency.concurrencychkdirty.exit=--> ConcurrencyCheckDirty.update()\u3002 -sqlstore.sql.concurrency.concurrencychkdirty=--> ConcurrencyCheckDirty.update()\uFF0CbeforeImage = {0}\u3002 -sqlstore.sql.concurrencyoptverify.resumetx=<--> ConcurrencyOptVerify.resume()\uFF0C\u5DF2\u91CD\u65B0\u7E7C\u7E8C\u4F5C\u696D\u4E8B\u4EF6 = {0}\u3002 -sqlstore.sql.concurrencyoptverify.suspendtx=<--> ConcurrencyOptVerify.suspend()\uFF0C\u5DF2\u66AB\u505C\u4F5C\u696D\u4E8B\u4EF6 = {0}\u3002 -sqlstore.sql.concurrencyoptverify.update.exit=<-- ConcurrencyOptVerify.update()\u3002 -sqlstore.sql.concurrencyoptverify.update=--> ConcurrencyOptVerify.update()\uFF0CbeforeImage = {0}\u3002 -sqlstore.sql.generator.dbstatement.addbatch=addbatch ({0}) -sqlstore.sql.generator.dbstatement.bindinputcolumn=bindInputColumn \u7D22\u5F15\uFF1A{0}\uFF0C\u503C\uFF1A{1}\uFF0CsqlType\uFF1A{2}\u3002 -sqlstore.sql.generator.dbstatement.executebatch=executeBatch \u6B63\u5728\u57F7\u884C {0} \u500B\u547D\u4EE4 -sqlstore.sql.generator.selectqueryplan.processforeignfield.exit=<-- SelectQueryPlan.processForeignFields()\u3002 -sqlstore.sql.generator.selectqueryplan.processforeignfield=--> SelectQueryPlan.processForeignFields()\uFF0C\u985E\u5225 = {0}\u3002 -sqlstore.sql.generator.selectqueryplan.processlocalfield.exit=<-- SelectQueryPlan.processLocalFields()\u3002 -sqlstore.sql.generator.selectqueryplan.processlocalfield=--> SelectQueryPlan.processLocalFields()\uFF0C\u985E\u5225 = {0}\u3002 -sqlstore.sql.generator.selectqueryplan.processstmts.exit=<-- SelectQueryPlan.processStatements()\u3002 -sqlstore.sql.generator.selectqueryplan.processstmts=--> SelectQueryPlan.processStatements()\uFF0C\u985E\u5225 = {0}\u3001\u6558\u8FF0\u53E5 = {1}\u3002 -sqlstore.sql.updateobjdescimpl.afterimagenull=\u672A\u8A2D\u5B9A AfterImage\u3002 -sqlstore.sql.updateobjdescimpl.beforeimagenull=\u672A\u8A2D\u5B9A BeforeImage\u3002 -sqlstore.sql.updateobjdescimpl.markrelationshipchange=<--> UpdateDesc.markRelationshipChange()\u3002 -sqlstore.sql.updateobjdescimpl.updated=\u5DF2\u7D93\u66F4\u65B0 {0}\u3002 - - -############################################################################### -# -# Message ID Range: JDO76400 - JDO76499 -############################################################################### -# -# -# -core.persistencestore.jdbcerror=JDO76400\uFF1A\u57F7\u884C SQL \u6558\u8FF0\u53E5\u6642\u53D6\u5F97 JDBC SQLException\uFF1A\n{0}\u3002\n\u8ACB\u6AA2\u67E5 SQLException\uFF0C\u4EE5\u53D6\u5F97\u66F4\u591A\u8CC7\u8A0A\u3002 -sqlstore.retrievedesc.stmntsnotjoined=JDO76401\uFF1A\u4E0D\u652F\u63F4\u4E00\u500B RetrieveDesc \u7684\u591A\u91CD SQL \u6558\u8FF0\u53E5\u3002 -core.persistencestore.toofewrows=JDO76402\uFF1A\u5617\u8A66\u53D6\u5F97\u985E\u5225 {0} \u4E4B\u95DC\u806F {1} \u7684\u503C\u6642\uFF0C\u5F9E\u8CC7\u6599\u5EAB\u50B3\u56DE\u7684\u5217\u5C11\u65BC\u8A72\u95DC\u806F\u7684\u57FA\u6578\u6240\u5141\u8A31\u7684\u5217\u3002\u6240\u5141\u8A31\u7684\u6700\u5C11\u5217\u6578\u70BA {2}\u3002 -core.persistencestore.toomanyobjforcard1=JDO76403\uFF1A\u8CC7\u6599\u5EAB\u8207\u6301\u7E8C\u6027\u6A21\u578B\u4E0D\u4E00\u81F4\u3002\u5617\u8A66\u64F7\u53D6\u7531 {0} \u985E\u5225\u7684 {1} \u95DC\u806F\u6240\u53C3\u7167\u7684\u7269\u4EF6\u6642\u64F7\u53D6\u4E86 {2} \u500B\u9805\u76EE\uFF0C\u4F46\u662F\u7531\u65BC\u8A72\u95DC\u806F\u7684\u57FA\u6578\u4E0A\u9650\u70BA 1\uFF0C\u56E0\u800C\u50C5\u53EF\u4EE5\u5BB9\u7D0D 1 \u500B\u9805\u76EE\u3002 -core.persistencestore.toomanyrows=JDO76405\uFF1A\u5617\u8A66\u53D6\u5F97\u985E\u5225 {0} \u4E4B\u95DC\u806F {1} \u7684\u503C\u6642\uFF0C\u5F9E\u8CC7\u6599\u5EAB\u50B3\u56DE\u7684\u5217\u591A\u65BC\u8A72\u95DC\u806F\u7684\u57FA\u6578\u6240\u5141\u8A31\u7684\u5217\u3002\u6240\u5141\u8A31\u7684\u6700\u591A\u5217\u6578\u70BA {2}\u3002 -core.store.concurrentaccess=JDO76406\uFF1A\u4E26\u884C\u904B\u4F5C\u5B58\u53D6\u7570\u5E38\uFF1A{0} \u7684\u7269\u4EF6\u5DF2\u7531\u5176\u4ED6\u4F5C\u696D\u4E8B\u4EF6\u66F4\u65B0\u6216\u522A\u9664\u3002 -sqlstore.sqlstoremanager.errorcloseresultset=JDO76407\uFF1A\u95DC\u9589 SQL \u7D50\u679C\u96C6\u6642\u767C\u751F\u932F\u8AA4\u3002\u7570\u5E38\uFF1A{0} -sqlstore.sqlstoremanager.errorclosestatement=JDO76408\uFF1A\u95DC\u9589 SQL \u6558\u8FF0\u53E5\u6642\u767C\u751F\u932F\u8AA4\u3002\u7570\u5E38\uFF1A{0} -sqlstore.sql.generator.selectqueryplan.plansnotjoined=JDO76409\uFF1A\u4E0D\u652F\u63F4\u4E00\u500B RetrieveDesc \u7684\u591A\u91CD\u67E5\u8A62\u8A08\u5283\u3002 - -# -# -# -sqlstore.sqlstoremanager.executeQuery.exit=<-- SQLStoreManager.executeQuery()\u3002 -sqlstore.sqlstoremanager.executeQuery=--> SQLStoreManager.executeQuery()\u3002 -sqlstore.sqlstoremanager.executeupdate.exit=<-- SQLStoreManager.executeUpdate()\uFF0C\u53D7\u5F71\u97FF\u7684\u5217 = {0}\u3002 -sqlstore.sqlstoremanager.executeupdate=--> SQLStoreManager.executeUpdate()\u3002 -sqlstore.sqlstoremanager.executeupdatebatch.addbatch={0}\uFF1B\u65B0\u589E\u6279\u6B21\u3002 -sqlstore.sqlstoremanager.executeupdatebatch.exit=<-- SQLStoreManager.executeUpdateBatch()\u3002 -sqlstore.sqlstoremanager.executeupdatebatch.exit.flush=<-- SQLStoreManager.executeUpdateBatch()\uFF0C\u53D7\u5F71\u97FF\u7684\u5217 = {0}\u3002 -sqlstore.sqlstoremanager.executeupdatebatch.flushbatch={0}\uFF1B\u6E05\u9664\u6279\u6B21\u3002 -sqlstore.sqlstoremanager.executeupdatebatch=--> SQLStoreManager.executeUpdateBatch()\u3002 -sqlstore.sqlstoremanager.getpersistenceconfig=<--> SQLStoreManager.getPersistenceConfig()\uFF0CclassType = {0}\u3002 -sqlstore.sqlstoremanager.selectnoncorrelated.exit=<-- SQLStoreManager.selectNonCorrelated()\u3002 -sqlstore.sqlstoremanager.selectnoncorrelated=--> SQLStoreManager.selectNonCorrelated()\u3002 -sqlstore.sqlstoremanager.vendortype=<--> SQLStoreManager\uFF1A\u4F9B\u61C9\u5546\u985E\u578B = {0}\u3002 - - -############################################################################### -# -# Message ID Range: JDO76500 - JDO76599 -############################################################################### -# -# - database -# -connection.connectionmanager.badnew=JDO76500\uFF1A\u65B0\u7684 ''{0}'' \u5FC5\u9808\u5927\u65BC\u6216\u7B49\u65BC\u76EE\u524D\u7684 ''{1}''\u3002 -connection.connectionmanager.badvalue=JDO76501\uFF1A''{0}'' \u7684\u503C\u7121\u6548\u3002 -connection.connectionmanager.conntimeout=JDO76502\uFF1A\u9023\u7DDA\u903E\u6642\u904E\u671F\u3002 -connection.connectionmanager.getconnection.mismatch=JDO76503\uFF1A\u96C6\u5340\u7684\u9023\u7DDA\u7121\u76F8\u540C\u7684\u4F7F\u7528\u8005\u74B0\u5883\u3002 -connection.connectionmanager.isdown=JDO76504\uFF1A\u6B63\u5728\u95DC\u9589\u9023\u7DDA\u7BA1\u7406\u7A0B\u5F0F\u3002 -connection.connectionmanager.maxpool=JDO76505\uFF1A\u9023\u7DDA\u96C6\u5340\u5DF2\u9054\u5230\u6700\u5927\u5BB9\u91CF\u3002 -connection.connectionmanager.msintervalvalue=JDO76506\uFF1AMsInterval \u5FC5\u9808\u5927\u65BC\u96F6\uFF0C\u4E14\u5C0F\u65BC\u6216\u7B49\u65BC MsWait\u3002 -connection.connectionmanager.mswaitvalue=JDO76507\uFF1AMsWait \u5FC5\u9808\u5927\u65BC\u6216\u7B49\u65BC\u96F6\u3002 -connection.connectionmanager.nulldriver=JDO76508\uFF1A\u9A45\u52D5\u7A0B\u5F0F\u540D\u7A31\u7684\u503C\u70BA NULL\u3002 -connection.connectionmanager.nullurl=JDO76509\uFF1AURL \u7684\u503C\u70BA NULL\u3002 -connection.connectionmanager.poolsize=JDO76510\uFF1A\u300CmaxPool\u300D\u5FC5\u9808\u5927\u65BC\u6216\u7B49\u65BC\u300CminPool\u300D\u3002 -connection.connectionmanager.threaditerupted=JDO76511\uFF1A\u7E6B\u7DDA\u5DF2\u4E2D\u65B7\u3002 -connection.connectionmanager.zero=JDO76512\uFF1A''{0}'' \u5FC5\u9808\u5927\u65BC\u6216\u7B49\u65BC\u96F6\u3002 -# -# -# -sqlstore.database.dbvendor.cantloadDefaultProperties=JDO76513\uFF1A\u7121\u6CD5\u8F09\u5165\u9810\u8A2D\u8CC7\u6599\u5EAB\u7684\u7279\u6027\u3002 -sqlstore.database.dbvendor.init.default=JDO76514\uFF1A-->\u7121\u6CD5\u8F09\u5165\u4F9B\u61C9\u5546\u985E\u578B {0} \u7684\u7279\u6027\u3002\u5C07\u4F7F\u7528\u9810\u8A2D\u503C\u3002 -sqlstore.database.dbvendor.cantinstantiateclass=JDO76515\uFF1A\u7121\u6CD5\u5BE6\u4F8B\u5316\u985E\u5225 {0}\u3002 -# -# -# -sqlstore.database.oracle.defineCol=JDO76516\uFF1A\u7121\u6CD5\u5B9A\u7FA9\u6558\u8FF0\u53E5\u7684\u6B04\u3002 -sqlstore.database.oracle.nooracleavailable=JDO76517\uFF1A\u521D\u59CB\u5316 Oracle \u8CC7\u6E90\u5DE5\u5EE0 ''{0}'' \u6642\uFF0C\u7121\u6CD5\u53D6\u5F97 oracle.jdbc.OraclePreparedStatement \u6216 oracle.jdbc.driver.OraclePreparedStatement \u7684\u57F7\u884C\u8655\u7406\u3002\u5C07\u505C\u7528 Oracle \u7279\u5B9A\u7684\u6700\u4F73\u5316\u3002\u5982\u679C\u4F7F\u7528\u6B64\u8CC7\u6E90\u7684\u57F7\u884C\u8655\u7406\u9700\u8981\u5DF2\u5C0D\u61C9\u81F3\u56FA\u5B9A\u5B57\u5143\u6B04\u7684\u6B04\u9023\u7D50\u503C\uFF0C\u9019\u4E9B\u503C\u5C07\u8207\u7A7A\u683C\u4E00\u8D77\u586B\u88DC\u81F3\u5C0D\u61C9\u7684 dbschema \u6A94\u6848\u4E2D\u6307\u5B9A\u7684\u9577\u5EA6\u3002 -sqlstore.database.oracle.fixedcharpadded=JDO76518\uFF1A\u503C "{0}" \u9023\u7D50\u81F3 CHAR \u6B04\u3002\u9019\u9700\u8981\u5C0D Oracle \u9032\u884C\u7279\u5225\u8655\u7406\u3002\u7531\u65BC\u985E\u5225 OraclePreparedStatement \u7121\u6CD5\u5F9E\u9A45\u52D5\u7A0B\u5F0F\u53D6\u5F97\uFF0C\u8A72\u503C\u6703\u8207\u7A7A\u683C\u4E00\u8D77\u586B\u88DC\u81F3\u64F7\u53D6\u7684 dbschema \u6A94\u6848\u4E2D\u6307\u5B9A\u7684\u9577\u5EA6 {1}\u3002 -# -# -# -core.configuration.getvendortypefailed=JDO76519\uFF1A\u7121\u6CD5\u8B58\u5225\u8CC7\u6599\u5B58\u653E\u5340\u7684\u4F9B\u61C9\u5546\u985E\u578B\u3002 -jdo.sqlpersistencemanagerfactory.errorgettingDatabaseInfo=JDO76520\uFF1A\u53D6\u5F97\u6709\u95DC\u8CC7\u6599\u5EAB\u7684\u8CC7\u8A0A\u6642\u767C\u751F\u932F\u8AA4\u3002\u53D6\u5F97\u4E0B\u5217\u7570\u5E38\uFF1A - -# -# -# -sqlstore.connection.conncectiomgr.found=<--> ConnectionManager.getConnection\uFF1A\u767C\u73FE {0}\u3002 -sqlstore.connection.conncectiomgr.getnewconn=<--> ConnectionManager.getConnection\uFF1A\u65B0\u7684 {0}\u3002 -sqlstore.connection.conncectiomgr.replacefreeconn=<--> ConnectionManager.replaceFreeConnection\uFF1A\u53EF\u7528 {0}\u3002 -sqlstore.connectionimpl.clearxact.close=--- ConnectionImpl.clearXact\uFF1A\u5DF2\u95DC\u9589\u9023\u7DDA\u3002 -sqlstore.connectionimpl.clearxact.disassocxact=--- ConnectionImpl.clearXact\uFF1AdisassociateXact\u3002 -sqlstore.connectionimpl.clearxact=--- ConnectionImpl.clearXact\uFF1A\u3002 -sqlstore.connectionimpl.close.connrelease=<--- ConnectionImpl.close\uFF1A\u5DF2\u91CB\u51FA\u9023\u7DDA\u3002 -sqlstore.connectionimpl.close.exit=<--- ConnectionImpl.close\uFF1A\u5DF2\u95DC\u9589\u9023\u7DDA\u3002 -sqlstore.connectionimpl.close.freepending=<--- ConnectionImpl.close\uFF1A\u8A2D\u5B9A FreePending\u3002 -sqlstore.connectionimpl.close.putfreelist=<--- ConnectionImpl.close\uFF1A\u653E\u5165 freeList \u4E2D\u3002 -sqlstore.connectionimpl.close.replaced=<--- ConnectionImpl.close\uFF1A\u5DF2\u53D6\u4EE3\u9023\u7DDA\u3002 -sqlstore.connectionimpl.close=---> ConnectionImpl.close\u3002 -sqlstore.connectionimpl.close_arg=---> ConnectionImpl.close\uFF1A{0}\u3002 -sqlstore.connectionimpl.commit=--- ConnectionImpl.commit\uFF1A\u5DF2\u95DC\u9589\u9023\u7DDA\u3002 -sqlstore.connectionimpl.finalize=--- ConnectionImpl.finalize\uFF1A\u5DF2\u95DC\u9589\u9023\u7DDA\u3002 -sqlstore.connectionimpl.internalcommit=--- ConnectionImpl.internalCommit\uFF1A\u3002 -sqlstore.connectionimpl.pendingdisassocxact=--- ConnectionImpl.clearXact\uFF1A\u64F1\u7F6E disassociateXact\u3002 -sqlstore.connectionimpl.rollback.close=--- ConnectionImpl.rollback\uFF1A\u5DF2\u95DC\u9589\u9023\u7DDA\u3002 -sqlstore.connectionimpl.rollback=--- ConnectionImpl.rollback\uFF1A\u3002 -# -# -# -sqlstore.database.dbvendor.castRequiredForNumericValues=<-> DBVendorType.isCastRequiredForNumericValues()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getModFunctionName=<-> DBVendorType.getModFunctionName()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getNullComparisonFunctionName=<-> DBVendorType.getNullComparisonFunctionName()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getConcatCast=<-> DBVendorType.getConcatCast()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getSpecialDBOperation=<-> DBVendorType.getSpecialDBOperation()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getabs=<-> DBVendorType.getAbs()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getcharlength=<-> DBVendorType.getCharLength()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getforupdate=<-> DBVendorType.getForUpdate()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getholdlock=<-> DBVendorType.getHoldlock()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getisnull=<-> DBVendorType.getIsNull()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getleftjoin=<-> DBVendorType.getLeftJoin()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getleftjoinpost=<-> DBVendorType.getLeftJoinPost()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getleftlikeescape=<-> DBVendorType.getLeftLikeEscape()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getposition3args=<-> DBVendorType.getPositionThreeArrgs()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getposition=<-> DBVendorType.getPosition()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getpositionin=<-> DBVendorType.getPositionIn()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getpositionsrchsrc=<-> DBVendorType.getPositionSearchSource()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getquotecharstart=<-> DBVendorType.getQuoteCharStart()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getrightjoinipre=<-> DBVendorType.getRightJoin()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getrightlikeescape=<-> DBVendorType.getRightLikeEscape()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getrtrimpost=<-> DBVendorType.getRtrimPost()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getsqrt=<-> DBVendorType.getSqrt()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getstringconcat=<-> DBVendorType.getStringConcat()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getsubstring=<-> DBVendorType.getSubstring()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getsubstringfor=<-> DBVendorType.getSubstringFor()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.getsubstringfrom=<-> DBVendorType.getSubstringFrom()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.gettablelistend=<-> DBVendorType.getTableListEnd()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.gettableliststart=<-> DBVendorType.getTableListStart()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.isAnsiTrim=<-> DBVendorType.isAnsiTrim()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.isInlineNumeric=<-> DBVendorType.isInlineNumeric()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.isNativeOuterJoin=<-> DBVendorType.isNativeOuterJoin()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.isParameterCast=<-> DBVendorType.isParameterCast()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.isdistinctupdatelocksupported=<-> DBVendorType.isDistinctSupportedWithUpdateLock()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.islockcolumnlistsupported=<-> DBVendorType.isLockColumnListSupported()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.isupdatelocksupported=<-> DBVendorType.isUpdateLockSupported()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.mapemptystrtonull=<-> DBVendorType.mapEmptyStringToNull()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.overrideproperties.with=<-> DBVendorType.overrideProperties()\uFF1A{0}\uFF0C\u4F7F\u7528\uFF1A{1}\u3002 -sqlstore.database.dbvendor.overrideproperties=<-> DBVendorType.overrideProperties() - NONE\u3002 -sqlstore.database.dbvendor.supportslikeescape=<-> DBVendorType.supportsLikeEscape()\uFF1A{0}\u3002 -sqlstore.database.dbvendor.vendorname=<-> DBVendorType()\uFF0CvendorName\uFF1A[{0}] vendorType\uFF1A{1}\u3002 -# -# -# -sqlstore.transactionimpl.call.info={0} Tran[ {1} ].{2}\uFF1A{4} \u7684 {3}\u3002 -sqlstore.transactionimpl.call={0} Tran[ {1} ].{2}\uFF1A{5} \u7684\u72C0\u614B = {3}\uFF0CtxType\uFF1A{4}\u3002 -sqlstore.transactionimpl.closeconnection=--- TransactionImpl.closeConnection() {0} ({1})\u3002 -sqlstore.transactionimpl.general={0}. -sqlstore.transactionimpl.getconnection=--- TransactionImpl.getConnection()\uFF1A{0} {3} \u7684 TX optimistic\uFF1A{1} referenceCount = {2}\u3002 -sqlstore.transactionimpl.releaseconnection=--- TransactionImpl.releaseConnection()\uFF1A{3} \u7684 TX optimistic\uFF1A{0} Inside Commit\uFF1A{1} referenceCount\uFF1A{2}\u3002 -sqlstore.transactionimpl.rollbackconnection=--- TransactionImpl.rollbackConnection()\uFF1A{1} \u7684 {0}\u3002 -sqlstore.transactionimpl.status={0} Tran[ {1} ].setStatus\uFF1A{2} => {4} \u7684 {3}\u3002 - - -############################################################################### -# All the source files under subdir ejb. -# Message ID Range: JDO76600 - JDO76699 -############################################################################### -# -#EJBHelper messages -# -# {0} - method name -ejb.ejbhelper.nonmanaged=JDO76600\uFF1A\u4E0D\u61C9\u5728\u975E\u7BA1\u7406\u5F0F\u74B0\u5883\u4E2D\u547C\u53EB\u65B9\u6CD5 {0}\u3002 - -# -# Common messages between SunContainerHelper and DeploymentHelper -# so they have a neutral key, that still starts with "ejb". -# -# {0} - jndi name. -ejb.jndi.lookupfailed=JDO76604\uFF1Acmp-resource ''{0}'' \u7684 JNDI \u67E5\u8A62\u5931\u6557\u3002 -JDO76604.diag.cause.1=\u5177\u6709\u6B64 JNDI \u540D\u7A31\u7684 CMP \u8CC7\u6E90\u672A\u5728\u6B64\u57F7\u884C\u8655\u7406\u8A3B\u518A\u3002 -JDO76604.diag.cause.2=\u5177\u6709 JNDI \u540D\u7A31\u7684 CMP \u8CC7\u6E90\u672A\u4F7F\u7528\u6B64\u5BE6\u4F8B\u8A3B\u518A\u3002 -JDO76604.diag.check.1=\u6AA2\u67E5\u60A8\u8A08\u5283\u4F7F\u7528\u4E4B\u8CC7\u6E90\u7684 JNDI \u540D\u7A31\u3002 -JDO76604.diag.check.2=\u6AA2\u67E5\u6A21\u7D44\u4E2D\u6240\u6307\u5B9A CMP \u8CC7\u6E90\u7684 JNDI \u540D\u7A31\u3002 - -# {0} - jndi name. -# {1} - returned class name. -ejb.jndi.unexpectedinstance=JDO76605\uFF1Acmp-resource ''{0}'' \u7684 JNDI \u67E5\u8A62\u50B3\u56DE\u672A\u9810\u671F\u985E\u578B\u7684\u57F7\u884C\u8655\u7406\uFF1A{1}\u3002 -JDO76605.diag.cause.1=\u5177\u6709 JNDI \u540D\u7A31\u7684 CMP \u8CC7\u6E90\u4E0D\u6703\u53C3\u7167 jdbc-resource \u6216 persistence-manager-factory-resource\u3002 -JDO76605.diag.cause.2=\u5177\u6709 JNDI \u540D\u7A31\u7684 CMP \u8CC7\u6E90\u672A\u4F7F\u7528\u6B64\u5BE6\u4F8B\u8A3B\u518A\u3002 -JDO76605.diag.check.1=\u6AA2\u67E5\u60A8\u8A08\u5283\u4F7F\u7528\u4E4B\u8CC7\u6E90\u7684 JNDI \u540D\u7A31\u3002 -JDO76605.diag.check.2=\u6AA2\u67E5\u6A21\u7D44\u4E2D\u6240\u6307\u5B9A CMP \u8CC7\u6E90\u7684 JNDI \u540D\u7A31\u3002 - -# -# DeploymentHelper messages - ejb -# -# -# -# -ejb.DeploymentHelper.getconnection=\u53D6\u5F97 JNDI \u540D\u7A31 ''{0}'' \u7684\u9023\u7DDA\u3002 - -# The messages JDO76606 through JDO76615 that were originally here -# have been moved to -# cmp/support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties -# As part of INF# -# So do not use these messages. - - -# -#CMPHelper messages -# -ejb.cmphelper.nonmanaged=JDO76613\uFF1A\u5C0D CMPHelper \u7684\u5B58\u53D6\u7121\u6548\u3002\u6B64\u985E\u5225\u50C5\u7528\u65BC CMP \u652F\u63F4\uFF0C\u4E14\u4E0D\u61C9\u5728\u61C9\u7528\u7A0B\u5F0F\u4F3A\u670D\u5668\u4E4B\u5916\u88AB\u547C\u53EB\u3002 - -# -#SunTransactionHelper messages -# - -# {0} class name -ejb.SunTransactionHelper.wrongdatasourcetype=JDO76616\uFF1ADataSource \u4E0D\u662F\u9810\u671F\u7684\u985E\u578B\u3002\u9810\u671F\uFF1Acom.sun.appserv.jdbc.DataSource \u53D6\u5F97\uFF1A{0}\u3002 - - -############################################################################### -# -############################################################################### -# -# -# -vendor=Sun Microsystems -# majorVersion (minorVersion) buildDate -fullVersion={0} ({1}) {2} -# -# -# -core.generic.unknownfield=\u6B04\u4F4D {0} \u4E0D\u662F\u985E\u5225 {1} \u7684\u6210\u54E1\u3002 -core.generic.unknownexception=\u767C\u751F\u4E0D\u660E\u7684\u7570\u5E38\u3002 -core.generic.nullparam={0} \u53C3\u6578\u70BA\u7A7A\u503C\u3002 -core.generic.notinstanceof=\u985E\u5225 {0} \u7684\u7269\u4EF6\u4E0D\u662F {1} \u7684\u57F7\u884C\u8655\u7406\u3002 - - -############################################################################### -# -############################################################################### -core.configuration.cantloadclass=\u7121\u6CD5\u8F09\u5165\u985E\u5225 {0}\u3002 -sqlstore.exception.log=\u7570\u5E38\u3002 -jdo.lifecycle.deleted.accessField=\u7121\u6CD5\u5B58\u53D6\u5DF2\u522A\u9664\u57F7\u884C\u8655\u7406\u7684\u6B04\u4F4D\u3002 diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_de.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_de.properties deleted file mode 100644 index 5d4f82358e7..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_de.properties +++ /dev/null @@ -1,120 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 77. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO77000 - JDO77999 -############################################################################### -jdohelper.deleted_instance=JDO77000: Gel\u00F6schte Instanz der Klasse {0} -persistencemanagerfactoryimpl.notsupported=JDO77001: Der Vorgang wird in diesem Release nicht unterst\u00FCtzt. -persistencemanagerfactoryimpl.configured=JDO77002: Der Konfigurationsparameter kann nach abgeschlossenem Setup nicht ge\u00E4ndert werden. -persistencemanagerfactoryimpl.initialcontext=JDO77003: Kein InitialContext f\u00FCr setConnectionFactoryName() verf\u00FCgbar. -persistencemanagerfactoryimpl.lookup=JDO77004: Fehler beim Nachschlagen von ConnectionFactoryName. -persistencemanagerfactoryimpl.wrongtype=JDO77005: Connection Factory muss den Typ ConnectionFactory oder java.sql.DataSource haben. -connectionefactoryimpl.sqlexception=JDO77006: SQL-Ausnahme: Status = {0}, Fehlercode = {1}. -connectionefactoryimpl.getconnection=JDO77007: Verbindung konnte nicht abgerufen werden. -connectionefactoryimpl.isolationlevel_notsupported=JDO77008: Transaktionsisolationsebene {0} wird von der Datenbank nicht unterst\u00FCtzt. -sco.nulls_not_allowed=JDO77009: Nullwerte sind f\u00FCr diese Collection nicht zul\u00E4ssig. -sco.classcastexception=JDO77010: Neues Element kann in {0} konvertiert werden. -sco.not_supported=JDO77011: Die Collection-Aktualisierung nach Index wird in dieser Version nicht unterst\u00FCtzt. -transaction.transactionimpl.setoptimistic.notallowed=JDO77012: Der Typ einer aktiven Transaktion kann nicht ge\u00E4ndert werden. -transaction.transactionimpl.begin.notnew=JDO77013: Transaction.begin() ung\u00FCltig. Diese Transaktion ist nicht neu (Status = {0}). -transaction.transactionimpl.rolledback=JDO77014: Ung\u00FCltige Transaktion.{0}(). Diese Transaktion wurde bereits zur\u00FCckgesetzt (Status = {1}). -transaction.transactionimpl.commitbefore.rolledback=JDO77015: Transaction.commit() ung\u00FCltig. Diese Transaktion wurde bei der Synchronisierungsbenachrichtigung zur\u00FCckgesetzt. -transaction.transactionimpl.commit_rollback.notactive=JDO77016: Ung\u00FCltige Transaktion.{0}(). Diese Transaktion ist nicht mehr aktiv (Status = {1}). -transaction.transactionimpl.commitbefore.incommit=JDO77017: Ung\u00FCltige Transaktion.{0}(). Diese Transaktion wird bereits durchgef\u00FChrt. -transaction.transactionimpl.commitbefore.rollbackonly_insync=JDO77018: Transaction.commit() ung\u00FCltig. Transaktion zur\u00FCckgesetzt. Diese Transaktion wurde bei der Synchronisierungsbenachrichtigung ausschlie\u00DFlich f\u00FCr das Rollback gekennzeichnet. -transaction.transactionimpl.commitbefore.rollbackonly=JDO77019: Transaction.commit() ung\u00FCltig. Transaktion zur\u00FCckgesetzt. Diese Transaktion ist ausschlie\u00DFlich f\u00FCr das Rollback gekennzeichnet. -transaction.transactionimpl.commitprepare.wrongstatus=JDO77020: [intern] Ung\u00FCltige Transaktion.{0}(). Der Status dieser Transaktion lautet nicht {1} (Status = {2}). -transaction.transactionimpl.commitcomplete.error=JDO77021: Transaction.commitComplete() ung\u00FCltig. Diese Transaktion wurde w\u00E4hrend des Verarbeitungsprozesses zur Durchf\u00FChrung und Fertigstellung mit dem Ausnahmecode {0} zur\u00FCckgesetzt. -transaction.transactionimpl.mgd=JDO77022: Vorgang {0} ist in einer verwalteten Umgebung nicht zul\u00E4ssig. -transaction.transactionimpl.nonmgd=JDO77023: Vorgang {0} ist in einer nicht verwalteten Umgebung nicht zul\u00E4ssig. -transaction.transactionimpl.begin.failedlocaltx=JDO77024: Starten einer lokalen Transaktion oder Registrieren der Synchronisierung nicht m\u00F6glich. -transaction.transactionimpl.begin.registersynchfailed=JDO77025: Synchronisierung kann nicht registriert werden. -transaction.transactionimpl.forget.connectionnotclosed=JDO77026: Verbindung wurde nicht geschlossen. -transaction.transactionimpl.getconnection.nullcf=JDO77027: ConnectionFactory ist NULL. -transaction.transactionimpl.syncmanager.aftercompletion=JDO77028: Probleme w\u00E4hrend afterCompletion-Aufruf an SynchronizationManager:\n{0} - -# -# -# -jdo.versionconsistencycacheimpl.put.entering=JDO77029: VCCacheImpl.put entering: pcType={0} oid={1} sm={2} -jdo.versionconsistencycacheimpl.put.returning=JDO77030: VCCacheImpl.put returning: rc={0} -jdo.versionconsistencycacheimpl.get.entering=JDO77031: VCCacheImpl.get entering: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.get.returning=JDO77032: VCCacheImpl.get returning: rc={0} -jdo.versionconsistencycacheimpl.remove.entering=JDO77033: VCCacheImpl.remove entering: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.remove.returning=JDO77034: VCCacheImpl.remove returning: rc={0} -jdo.versionconsistencycacheimpl.addpctype=JDO77035: VCCacheImpl.addPCType: pcType={0} -jdo.versionconsistencycacheimpl.removepctype=JDO77036: VCCacheImpl.removePCType: pcType={0} -jdo.versionconsistencycacheimpl.usinghashmap=JDO77037: VCCacheImpl: Creating HashMap with bucketSize={0} initialCapacity={1} loadFactor={2} -jdo.versionconsistencycacheimpl.usinglrucache=JDO77038: VCCacheImpl: Creating LruCache with maxEntries={0} timeout={1} loadFactor={2} -jdo.versionconsistencycacheimpl.trimevent=JDO77039: VCCacheImpl: got trimEvent. -jdo.versionconsistencycacheimpl.created=JDO77040: VCCacheImpl: erstellt mit: {0} - -# -# Following messages *DO* need to be I18N'd. -# -jdo.versionconsistencycacheimpl.lrucachenotfound=JDO77041: LRU-Versionskonsistenzcache konnte nicht geladen werden, verwendet wird stattdessen Standardcache. -jdo.versionconsistencycacheimpl.badconfigvalue=JDO77042: Bei der Konfiguration des Versionskonsistenzcache wurde f\u00FCr Eigenschaft {0} der ung\u00FCltige Wert {1} abgerufen. -jdo.versionconsistencycacheimpl.unexpectedduringcreate=JDO77043: Unerwarteter Ausnahmefehler beim Initialisieren des Versionskonsistenzcache; Standardcacheimplementierung wird verwendet. Ausnahmemeldung: {0} diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_es.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_es.properties deleted file mode 100644 index 806abc7060c..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_es.properties +++ /dev/null @@ -1,120 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 77. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO77000 - JDO77999 -############################################################################### -jdohelper.deleted_instance=JDO77000: se ha suprimido la instancia de la clase {0} -persistencemanagerfactoryimpl.notsupported=JDO77001: la operaci\u00F3n no est\u00E1 soportada en esta versi\u00F3n. -persistencemanagerfactoryimpl.configured=JDO77002: no se puede cambiar el par\u00E1metro de configuraci\u00F3n despu\u00E9s de haber finalizado la configuraci\u00F3n. -persistencemanagerfactoryimpl.initialcontext=JDO77003: no hay InitialContext disponible para setConnectionFactoryName(). -persistencemanagerfactoryimpl.lookup=JDO77004: error al buscar ConnectionFactoryName. -persistencemanagerfactoryimpl.wrongtype=JDO77005: la f\u00E1brica de conexiones debe ser del tipo ConnectionFactory o Java.sql.DataSource. -connectionefactoryimpl.sqlexception=JDO77006: excepci\u00F3n de SQL: estado = {0}, c\u00F3digo de error = {1}. -connectionefactoryimpl.getconnection=JDO77007: fallo al obtener una conexi\u00F3n. -connectionefactoryimpl.isolationlevel_notsupported=JDO77008: la base de datos no soporta el nivel de aislamiento de la transacci\u00F3n {0}. -sco.nulls_not_allowed=JDO77009: no se permiten valores NULL para esta recopilaci\u00F3n. -sco.classcastexception=JDO77010: el elemento nuevo no se puede convertir en {0}. -sco.not_supported=JDO77011: esta versi\u00F3n no soporta la actualizaci\u00F3n de la recopilaci\u00F3n por el \u00EDndice. -transaction.transactionimpl.setoptimistic.notallowed=JDO77012: no se puede cambiar el tipo de una transacci\u00F3n activa. -transaction.transactionimpl.begin.notnew=JDO77013: transaction.begin() no v\u00E1lido. Esta transacci\u00F3n no es nueva (estado = {0}). -transaction.transactionimpl.rolledback=JDO77014: transacci\u00F3n no v\u00E1lida.{0}(). Ya se ha realizado un rollback de esta transacci\u00F3n (estado = {1}). -transaction.transactionimpl.commitbefore.rolledback=JDO77015: Transaction.commit() no v\u00E1lido. Se ha realizado un rollback de esta transacci\u00F3n durante la notificaci\u00F3n de la sincronizaci\u00F3n. -transaction.transactionimpl.commit_rollback.notactive=JDO77016: transacci\u00F3n no v\u00E1lida.{0}(). Esta transacci\u00F3n ya no est\u00E1 activa (estado = {1}). -transaction.transactionimpl.commitbefore.incommit=JDO77017: transacci\u00F3n no v\u00E1lida.{0}(). Ya se ha comenzado a confirmar esta transacci\u00F3n. -transaction.transactionimpl.commitbefore.rollbackonly_insync=JDO77018: Transaction.commit() no v\u00E1lido. Se ha realizado un rollback de la transacci\u00F3n. Se ha marcado como s\u00F3lo con rollback realizado durante la notificaci\u00F3n de la sincronizaci\u00F3n. -transaction.transactionimpl.commitbefore.rollbackonly=JDO77019: Transaction.commit() no v\u00E1lido. Se ha realizado rollback de la transacci\u00F3n. La transacci\u00F3n se ha marcado como s\u00F3lo con rollback realizado. -transaction.transactionimpl.commitprepare.wrongstatus=JDO77020: [internal] transacci\u00F3n no v\u00E1lida.{0}(). El estado de esta transacci\u00F3n no es {1} (estado = {2}). -transaction.transactionimpl.commitcomplete.error=JDO77021: Transaction.commitComplete() no v\u00E1lido. Se ha realizado el rollback de esta transacci\u00F3n durante el proceso de finalizaci\u00F3n de confirmaci\u00F3n con el c\u00F3digo de excepci\u00F3n {0}. -transaction.transactionimpl.mgd=JDO77022: no se permite la operaci\u00F3n {0} en un entorno gestionado. -transaction.transactionimpl.nonmgd=JDO77023: no se permite la operaci\u00F3n {0} en un entorno no gestionado. -transaction.transactionimpl.begin.failedlocaltx=JDO77024: no se puede iniciar una transacci\u00F3n local ni registrar la sincronizaci\u00F3n. -transaction.transactionimpl.begin.registersynchfailed=JDO77025: no se puede registrar la sincronizaci\u00F3n. -transaction.transactionimpl.forget.connectionnotclosed=JDO77026: no se ha cerrado la conexi\u00F3n. -transaction.transactionimpl.getconnection.nullcf=JDO77027: ConnectionFactory es NULL. -transaction.transactionimpl.syncmanager.aftercompletion=JDO77028: problemas durante la llamada de afterCompletion a SynchronizationManager:\n{0} - -# -# -# -jdo.versionconsistencycacheimpl.put.entering=JDO77029: VCCacheImpl.put entering: pcType={0} oid={1} sm={2} -jdo.versionconsistencycacheimpl.put.returning=JDO77030: VCCacheImpl.put returning: rc={0} -jdo.versionconsistencycacheimpl.get.entering=JDO77031: VCCacheImpl.get entering: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.get.returning=JDO77032: VCCacheImpl.get returning: rc={0} -jdo.versionconsistencycacheimpl.remove.entering=JDO77033: VCCacheImpl.remove entering: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.remove.returning=JDO77034: VCCacheImpl.remove returning: rc={0} -jdo.versionconsistencycacheimpl.addpctype=JDO77035: VCCacheImpl.addPCType: pcType={0} -jdo.versionconsistencycacheimpl.removepctype=JDO77036: VCCacheImpl.removePCType: pcType={0} -jdo.versionconsistencycacheimpl.usinghashmap=JDO77037: VCCacheImpl: creando HashMap con bucketSize={0} initialCapacity={1} loadFactor={2} -jdo.versionconsistencycacheimpl.usinglrucache=JDO77038: VCCacheImpl: creando LruCache con maxEntries={0} timeout={1} loadFactor={2} -jdo.versionconsistencycacheimpl.trimevent=JDO77039: VCCacheImpl: se ha obtenido trimEvent. -jdo.versionconsistencycacheimpl.created=JDO77040: VCCacheImpl: creado con: {0} - -# -# Following messages *DO* need to be I18N'd. -# -jdo.versionconsistencycacheimpl.lrucachenotfound=JDO77041: no se ha podido cargar la cach\u00E9 de consistencia de versi\u00F3n de LRU; se utilizar\u00E1 en su lugar la cach\u00E9 por defecto. -jdo.versionconsistencycacheimpl.badconfigvalue=JDO77042: al configurar la cach\u00E9 de consistencia de versi\u00F3n para la propiedad {0}, se ha obtenido el valor no v\u00E1lido {1}. -jdo.versionconsistencycacheimpl.unexpectedduringcreate=JDO77043: excepci\u00F3n inesperada al inicializar la cach\u00E9 de consistencia de versi\u00F3n; se utilizar\u00E1 la implantaci\u00F3n de cach\u00E9 por defecto. Informaci\u00F3n de la excepci\u00F3n: {0} diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_fr.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_fr.properties deleted file mode 100644 index d397c4396c1..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_fr.properties +++ /dev/null @@ -1,120 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 77. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO77000 - JDO77999 -############################################################################### -jdohelper.deleted_instance=JDO77000 : instance supprim\u00E9e de la classe {0} -persistencemanagerfactoryimpl.notsupported=JDO77001 : l'op\u00E9ration n'est pas prise en charge dans cette version. -persistencemanagerfactoryimpl.configured=JDO77002 : impossible de modifier le param\u00E8tre de configuration lorsque la configuration est termin\u00E9e. -persistencemanagerfactoryimpl.initialcontext=JDO77003 : pas de contexte initial disponible pour setConnectionFactoryName(). -persistencemanagerfactoryimpl.lookup=JDO77004 : erreur lors de la recherche de ConnectionFactoryName. -persistencemanagerfactoryimpl.wrongtype=JDO77005 : la fabrique de connexions doit \u00EAtre du type ConnectionFactory ou java.sql.DataSource. -connectionefactoryimpl.sqlexception=JDO77006 : exception SQL : \u00E9tat = {0}, code d''erreur = {1}. -connectionefactoryimpl.getconnection=JDO77007 : impossible d'obtenir une connexion. -connectionefactoryimpl.isolationlevel_notsupported=JDO77008 : le niveau d''isolement de transaction {0} n''est pas pris en charge par la base de donn\u00E9es. -sco.nulls_not_allowed=JDO77009 : les valeurs NULL ne sont pas admises pour cette collection. -sco.classcastexception=JDO77010 : impossible d''effectuer la conversion du nouvel \u00E9l\u00E9ment en {0}. -sco.not_supported=JDO77011 : la mise \u00E0 jour de la collection par l'index n'est pas prise en charge dans cette version. -transaction.transactionimpl.setoptimistic.notallowed=JDO77012 : impossible de modifier le type d'une transaction active. -transaction.transactionimpl.begin.notnew=JDO77013 : transaction.begin() n''est pas valide. Cette transaction n''est pas nouvelle (statut = {0}). -transaction.transactionimpl.rolledback=JDO77014\u00A0: transaction non valide.{0}(). Cette transaction est d\u00E9j\u00E0 annul\u00E9e (statut = {1}). -transaction.transactionimpl.commitbefore.rolledback=JDO77015 : transaction.commit() n'est pas valide. Cette transaction a d\u00E9j\u00E0 \u00E9t\u00E9 annul\u00E9e lors de la notification de synchronisation. -transaction.transactionimpl.commit_rollback.notactive=JDO77016\u00A0: transaction non valide.{0}(). Cette transaction n''est plus active (statut = {1}). -transaction.transactionimpl.commitbefore.incommit=JDO77017\u00A0: transaction non valide.{0}(). La validation de cette transaction a d\u00E9j\u00E0 d\u00E9but\u00E9. -transaction.transactionimpl.commitbefore.rollbackonly_insync=JDO77018 : transaction.commit() n'est pas valide. La transaction a \u00E9t\u00E9 annul\u00E9e. Cette transaction a \u00E9t\u00E9 d\u00E9finie en annulation seule lors de la notification de synchronisation. -transaction.transactionimpl.commitbefore.rollbackonly=JDO77019 : transaction.commit() n'est pas valide. La transaction a \u00E9t\u00E9 annul\u00E9e. Cette transaction est en annulation seule. -transaction.transactionimpl.commitprepare.wrongstatus=JDO77020\u00A0: [interne] Transaction non valide.{0}(). Le statut de cette transaction n''est pas {1} (statut = {2}). -transaction.transactionimpl.commitcomplete.error=JDO77021 : transaction.commitComplete() n''est pas valide. La transaction a \u00E9t\u00E9 annul\u00E9e lors de la fin de la validation avec le code d''exception {0}. -transaction.transactionimpl.mgd=JDO77022 : l''op\u00E9ration {0} n''est pas autoris\u00E9e dans l''environnement g\u00E9r\u00E9. -transaction.transactionimpl.nonmgd=JDO77023 : l''op\u00E9ration {0} n''est pas autoris\u00E9e dans l''environnement non g\u00E9r\u00E9. -transaction.transactionimpl.begin.failedlocaltx=JDO77024 : impossible de d\u00E9marrer une transaction locale ou d'inscrire la synchronisation. -transaction.transactionimpl.begin.registersynchfailed=JDO77025 : impossible d'inscrire la synchronisation. -transaction.transactionimpl.forget.connectionnotclosed=JDO77026 : la connexion n'a pas \u00E9t\u00E9 ferm\u00E9e. -transaction.transactionimpl.getconnection.nullcf=JDO77027 : ConnectionFactory est NULL. -transaction.transactionimpl.syncmanager.aftercompletion=JDO77028 : probl\u00E8mes au cours de l''appel d''afterCompletion sur SynchronizationManager :\n{0} - -# -# -# -jdo.versionconsistencycacheimpl.put.entering=JDO77029 : entr\u00E9e de VCCacheImpl.put : pcType={0} oid={1} sm={2} -jdo.versionconsistencycacheimpl.put.returning=JDO77030 : renvoi de VCCacheImpl.put : rc={0} -jdo.versionconsistencycacheimpl.get.entering=JDO77031 : entr\u00E9e de VCCacheImpl.get : pcType={0} oid={1} -jdo.versionconsistencycacheimpl.get.returning=JDO77032 : renvoi de VCCacheImpl.get : rc={0} -jdo.versionconsistencycacheimpl.remove.entering=JDO77033 : entr\u00E9e de VCCacheImpl.remove : pcType={0} oid={1} -jdo.versionconsistencycacheimpl.remove.returning=JDO77034 : renvoi de VCCacheImpl.remove : rc={0} -jdo.versionconsistencycacheimpl.addpctype=JDO77035 : VCCacheImpl.addPCType : pcType = {0} -jdo.versionconsistencycacheimpl.removepctype=JDO77036 : VCCacheImpl.removePCType : pcType = {0} -jdo.versionconsistencycacheimpl.usinghashmap=JDO77037 : VCCacheImpl : cr\u00E9ation de HashMap avec bucketSize = {0}, initialCapacity = {1}, loadFactor = {2} -jdo.versionconsistencycacheimpl.usinglrucache=JDO77038 : VCCacheImpl : cr\u00E9ation de LruCache avec maxEntries = {0}, expiration = {1}, loadFactor = {2} -jdo.versionconsistencycacheimpl.trimevent=JDO77039 : VCCacheImpl : trimEvent obtenu. -jdo.versionconsistencycacheimpl.created=JDO77040 : VCCacheImpl : cr\u00E9\u00E9 avec : {0} - -# -# Following messages *DO* need to be I18N'd. -# -jdo.versionconsistencycacheimpl.lrucachenotfound=JDO77041 : impossible de charger le cache de coh\u00E9rence de version LRU. Le cache standard a \u00E9t\u00E9 utilis\u00E9. -jdo.versionconsistencycacheimpl.badconfigvalue=JDO77042 : lors de la configuration du cache de coh\u00E9rence de la version, pour la propri\u00E9t\u00E9 {0}, la valeur {1}, qui est non valide, a \u00E9t\u00E9 obtenue. -jdo.versionconsistencycacheimpl.unexpectedduringcreate=JDO77043 : exception inattendue lors de l''initialisation du cache de coh\u00E9rence de la version ; l''impl\u00E9mentation du cache par d\u00E9faut sera utilis\u00E9e. D\u00E9tail de l''exception : {0} diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_it.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_it.properties deleted file mode 100644 index 253dd9e50cb..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_it.properties +++ /dev/null @@ -1,120 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 77. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO77000 - JDO77999 -############################################################################### -jdohelper.deleted_instance=JDO77000: eliminata istanza della classe {0} -persistencemanagerfactoryimpl.notsupported=JDO77001: l'operazione non \u00E8 supportata in questa release. -persistencemanagerfactoryimpl.configured=JDO77002: impossibile modificare parametro di configurazione una volta terminata l'installazione. -persistencemanagerfactoryimpl.initialcontext=JDO77003: nessun InitialContext disponibile per setConnectionFactoryName(). -persistencemanagerfactoryimpl.lookup=JDO77004: errore durante la ricerca di ConnectionFactoryName. -persistencemanagerfactoryimpl.wrongtype=JDO77005: il Connection Factory deve essere del tipo ConnectionFactory o java.sql.DataSource. -connectionefactoryimpl.sqlexception=JDO77006: eccezione SQL: stato = {0}, codice di errore = {1}. -connectionefactoryimpl.getconnection=JDO77007: tentativo di ottenere una connessione non riuscito. -connectionefactoryimpl.isolationlevel_notsupported=JDO77008: il livello di isolamento {0} della transazione non \u00E8 supportato dal database. -sco.nulls_not_allowed=JDO77009: i valori nulli non sono consentiti per questa raccolta. -sco.classcastexception=JDO77010: il nuovo elemento non pu\u00F2 essere convertito in {0}. -sco.not_supported=JDO77011: l'aggiornamento della raccolta in base all'indice non \u00E8 supportato in questa release. -transaction.transactionimpl.setoptimistic.notallowed=JDO77012: impossibile modificare il tipo di una transazione attiva. -transaction.transactionimpl.begin.notnew=JDO77013: Transaction.begin() non valido. Questa transazione non \u00E8 nuova (stato = {0}). -transaction.transactionimpl.rolledback=JDO77014: transazione non valida.{0}(). Rollback della transazione gi\u00E0 eseguito (stato = {1}). -transaction.transactionimpl.commitbefore.rolledback=JDO77015: Transaction.commit() non valido. Il rollback \u00E8 stato eseguito durante la notifica della sincronizzazione. -transaction.transactionimpl.commit_rollback.notactive=JDO77016: transazione non valida.{0}(). Questa transazione non \u00E8 pi\u00F9 attiva (stato = {1}). -transaction.transactionimpl.commitbefore.incommit=JDO77017: transazione non valida.{0}(). Il commit di questa transazione \u00E8 gi\u00E0 iniziato. -transaction.transactionimpl.commitbefore.rollbackonly_insync=JDO77018: Transaction.commit() non valido. Rollback della transazione eseguito. Questa transazione \u00E8 stata contrassegnata come solo rollback durante la notifica della sincronizzazione. -transaction.transactionimpl.commitbefore.rollbackonly=JDO77019: Transaction.commit() non valido. Rollback della transazione eseguito. Transazione contrassegnata come solo rollback. -transaction.transactionimpl.commitprepare.wrongstatus=JDO77020: transazione [interna] non valida.{0}(). Lo stato di questa transazione non \u00E8 {1} (stato = {2}). -transaction.transactionimpl.commitcomplete.error=JDO77021: Transaction.commitComplete() non valido. La transazione \u00E8 stata sottoposta a rollback durante l''elaborazione del completamento del commit con il codice di eccezione {0}. -transaction.transactionimpl.mgd=JDO77022: l''operazione {0} non \u00E8 consentita in un ambiente gestito. -transaction.transactionimpl.nonmgd=JDO77023: l''operazione {0} non \u00E8 consentita in un ambiente non gestito. -transaction.transactionimpl.begin.failedlocaltx=JDO77024: impossibile avviare una transazione locale o registrare la sincronizzazione. -transaction.transactionimpl.begin.registersynchfailed=JDO77025: impossibile registrare la sincronizzazione. -transaction.transactionimpl.forget.connectionnotclosed=JDO77026: la connessione non \u00E8 stata chiusa. -transaction.transactionimpl.getconnection.nullcf=JDO77027: ConnectionFactory \u00E8 nullo. -transaction.transactionimpl.syncmanager.aftercompletion=JDO77028: problemi durante la chiamata di afterCompletion al SynchronizationManager:\n{0} - -# -# -# -jdo.versionconsistencycacheimpl.put.entering=JDO77029: VCCacheImpl.put, immissione di: pcType={0}, oid={1}, sm={2} -jdo.versionconsistencycacheimpl.put.returning=JDO77030: VCCacheImpl.put, restituzione di: rc={0} -jdo.versionconsistencycacheimpl.get.entering=JDO77031: VCCacheImpl.get, immissione di: pcType={0}, oid={1} -jdo.versionconsistencycacheimpl.get.returning=JDO77032: VCCacheImpl.get, restituzione di: rc={0} -jdo.versionconsistencycacheimpl.remove.entering=JDO77033: VCCacheImpl.remove, immissione di: pcType={0}, oid={1} -jdo.versionconsistencycacheimpl.remove.returning=JDO77034: VCCacheImpl.remove, restituzione di: rc={0} -jdo.versionconsistencycacheimpl.addpctype=JDO77035: VCCacheImpl.addPCType: pcType={0} -jdo.versionconsistencycacheimpl.removepctype=JDO77036: VCCacheImpl.removePCType: pcType={0} -jdo.versionconsistencycacheimpl.usinghashmap=JDO77037: VCCacheImpl: creazione di HashMap con bucketSize={0}, initialCapacity={1}, loadFactor={2} -jdo.versionconsistencycacheimpl.usinglrucache=JDO77038: VCCacheImpl: creazione di LruCache con maxEntries={0}, timeout={1}, loadFactor={2} -jdo.versionconsistencycacheimpl.trimevent=JDO77039: VCCacheImpl: ricevuto trimEvent. -jdo.versionconsistencycacheimpl.created=JDO77040: VCCacheImpl: creato con: {0} - -# -# Following messages *DO* need to be I18N'd. -# -jdo.versionconsistencycacheimpl.lrucachenotfound=JDO77041: impossibile caricare la cache di coerenza delle versioni LRU, verr\u00E0 utilizzata la cache predefinita. -jdo.versionconsistencycacheimpl.badconfigvalue=JDO77042: durante la configurazione della cache di coerenza delle versioni, per la propriet\u00E0 {0} \u00E8 stato ottenuto il valore {1}, che non \u00E8 valido. -jdo.versionconsistencycacheimpl.unexpectedduringcreate=JDO77043: eccezione imprevista durante l''inizializzazione della cache di coerenza delle versioni; verr\u00E0 utilizzata l''implementazione della cache predefinita. Dettaglio eccezione: {0} diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_ja.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_ja.properties deleted file mode 100644 index ecc388da7d2..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_ja.properties +++ /dev/null @@ -1,120 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 77. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO77000 - JDO77999 -############################################################################### -jdohelper.deleted_instance=JDO77000: \u30AF\u30E9\u30B9{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u524A\u9664\u3057\u307E\u3057\u305F -persistencemanagerfactoryimpl.notsupported=JDO77001: \u3053\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u306F\u64CD\u4F5C\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -persistencemanagerfactoryimpl.configured=JDO77002: \u8A2D\u5B9A\u7D42\u4E86\u5F8C\u306B\u69CB\u6210\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u5909\u66F4\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -persistencemanagerfactoryimpl.initialcontext=JDO77003: setConnectionFactoryName()\u3067\u306FInitialContext\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002 -persistencemanagerfactoryimpl.lookup=JDO77004: ConnectionFactoryName\u306E\u30EB\u30C3\u30AF\u30FB\u30A2\u30C3\u30D7\u6642\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 -persistencemanagerfactoryimpl.wrongtype=JDO77005: \u63A5\u7D9A\u30D5\u30A1\u30AF\u30C8\u30EA\u306E\u578B\u306FConnectionFactory\u307E\u305F\u306Fjava.sql.DataSource\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -connectionefactoryimpl.sqlexception=JDO77006: SQL\u4F8B\u5916: \u72B6\u614B={0}\u3001\u30A8\u30E9\u30FC\u30FB\u30B3\u30FC\u30C9={1}\u3002 -connectionefactoryimpl.getconnection=JDO77007: \u63A5\u7D9A\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 -connectionefactoryimpl.isolationlevel_notsupported=JDO77008: \u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306F\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u906E\u65AD\u30EC\u30D9\u30EB{0}\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u307E\u305B\u3093\u3002 -sco.nulls_not_allowed=JDO77009: \u3053\u306E\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3067\u306FNull\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002 -sco.classcastexception=JDO77010: \u65B0\u898F\u8981\u7D20\u3092{0}\u306B\u30AD\u30E3\u30B9\u30C8\u3067\u304D\u307E\u305B\u3093\u3002 -sco.not_supported=JDO77011: \u7D22\u5F15\u306B\u3088\u308B\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u66F4\u65B0\u306F\u3053\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -transaction.transactionimpl.setoptimistic.notallowed=JDO77012: \u30A2\u30AF\u30C6\u30A3\u30D6\u30FB\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306E\u578B\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3002 -transaction.transactionimpl.begin.notnew=JDO77013: Transaction.begin()\u304C\u7121\u52B9\u3067\u3059\u3002\u3053\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u65B0\u3057\u304F\u3042\u308A\u307E\u305B\u3093(\u30B9\u30C6\u30FC\u30BF\u30B9={0})\u3002 -transaction.transactionimpl.rolledback=JDO77014: Transaction.{0}()\u304C\u7121\u52B9\u3067\u3059\u3002\u3053\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u3059\u3067\u306B\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u3055\u308C\u3066\u3044\u307E\u3059(\u30B9\u30C6\u30FC\u30BF\u30B9={1})\u3002 -transaction.transactionimpl.commitbefore.rolledback=JDO77015: Transaction.commit()\u304C\u7121\u52B9\u3067\u3059\u3002\u540C\u671F\u901A\u77E5\u4E2D\u306B\u3053\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 -transaction.transactionimpl.commit_rollback.notactive=JDO77016: Transaction.{0}()\u304C\u7121\u52B9\u3067\u3059\u3002\u3053\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u73FE\u5728\u306F\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u306F\u3042\u308A\u307E\u305B\u3093(\u30B9\u30C6\u30FC\u30BF\u30B9={1})\u3002 -transaction.transactionimpl.commitbefore.incommit=JDO77017: Transaction.{0}()\u304C\u7121\u52B9\u3067\u3059\u3002\u3053\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u3059\u3067\u306B\u30B3\u30DF\u30C3\u30C8\u3092\u958B\u59CB\u3057\u3066\u3044\u307E\u3059\u3002 -transaction.transactionimpl.commitbefore.rollbackonly_insync=JDO77018: Transaction.commit()\u304C\u7121\u52B9\u3067\u3059\u3002\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u3055\u308C\u307E\u3057\u305F\u3002\u3053\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306B\u306F\u3001\u540C\u671F\u901A\u77E5\u4E2D\u306B\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u306E\u307F\u306E\u30DE\u30FC\u30AF\u304C\u4ED8\u3051\u3089\u308C\u307E\u3057\u305F\u3002 -transaction.transactionimpl.commitbefore.rollbackonly=JDO77019: Transaction.commit()\u304C\u7121\u52B9\u3067\u3059\u3002\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u3055\u308C\u307E\u3057\u305F\u3002\u3053\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306B\u306F\u3001\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u306E\u307F\u306E\u30DE\u30FC\u30AF\u304C\u4ED8\u3051\u3089\u308C\u307E\u3057\u305F\u3002 -transaction.transactionimpl.commitprepare.wrongstatus=JDO77020: [\u5185\u90E8] Transaction.{0}()\u304C\u7121\u52B9\u3067\u3059\u3002\u3053\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306F{1}\u3067\u306F\u3042\u308A\u307E\u305B\u3093(\u30B9\u30C6\u30FC\u30BF\u30B9={2})\u3002 -transaction.transactionimpl.commitcomplete.error=JDO77021: Transaction.commitComplete()\u304C\u7121\u52B9\u3067\u3059\u3002\u3053\u306E\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u306F\u3001\u4F8B\u5916\u30B3\u30FC\u30C9{0}\u3067\u30B3\u30DF\u30C3\u30C8\u5B8C\u4E86\u306E\u51E6\u7406\u6642\u306B\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u3055\u308C\u307E\u3057\u305F\u3002 -transaction.transactionimpl.mgd=JDO77022: \u7BA1\u7406\u5BFE\u8C61\u74B0\u5883\u3067\u306F\u3001\u64CD\u4F5C{0}\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002 -transaction.transactionimpl.nonmgd=JDO77023: \u975E\u7BA1\u7406\u5BFE\u8C61\u74B0\u5883\u3067\u306F\u3001\u64CD\u4F5C{0}\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093\u3002 -transaction.transactionimpl.begin.failedlocaltx=JDO77024: \u30ED\u30FC\u30AB\u30EB\u30FB\u30C8\u30E9\u30F3\u30B6\u30AF\u30B7\u30E7\u30F3\u3092\u958B\u59CB\u3067\u304D\u306A\u3044\u304B\u3001\u540C\u671F\u3092\u767B\u9332\u3067\u304D\u307E\u305B\u3093\u3002 -transaction.transactionimpl.begin.registersynchfailed=JDO77025: \u540C\u671F\u3092\u767B\u9332\u3067\u304D\u307E\u305B\u3093\u3002 -transaction.transactionimpl.forget.connectionnotclosed=JDO77026: \u63A5\u7D9A\u304C\u30AF\u30ED\u30FC\u30BA\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -transaction.transactionimpl.getconnection.nullcf=JDO77027: ConnectionFactory\u304CNULL\u3067\u3059\u3002 -transaction.transactionimpl.syncmanager.aftercompletion=JDO77028: SynchronizationManager\u3078\u306EafterCompletion\u306E\u547C\u51FA\u3057\u6642\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\n{0} - -# -# -# -jdo.versionconsistencycacheimpl.put.entering=JDO77029: VCCacheImpl.put entering: pcType={0} oid={1} sm={2} -jdo.versionconsistencycacheimpl.put.returning=JDO77030: VCCacheImpl.put returning: rc={0} -jdo.versionconsistencycacheimpl.get.entering=JDO77031: VCCacheImpl.get entering: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.get.returning=JDO77032: VCCacheImpl.get returning: rc={0} -jdo.versionconsistencycacheimpl.remove.entering=JDO77033: VCCacheImpl.remove entering: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.remove.returning=JDO77034: VCCacheImpl.remove returning: rc={0} -jdo.versionconsistencycacheimpl.addpctype=JDO77035: VCCacheImpl.addPCType: pcType={0} -jdo.versionconsistencycacheimpl.removepctype=JDO77036: VCCacheImpl.removePCType: pcType={0} -jdo.versionconsistencycacheimpl.usinghashmap=JDO77037: VCCacheImpl: Creating HashMap with bucketSize={0} initialCapacity={1} loadFactor={2} -jdo.versionconsistencycacheimpl.usinglrucache=JDO77038: VCCacheImpl: Creating LruCache with maxEntries={0} timeout={1} loadFactor={2} -jdo.versionconsistencycacheimpl.trimevent=JDO77039: VCCacheImpl: got trimEvent. -jdo.versionconsistencycacheimpl.created=JDO77040: VCCacheImpl: created with: {0} - -# -# Following messages *DO* need to be I18N'd. -# -jdo.versionconsistencycacheimpl.lrucachenotfound=JDO77041: LRU\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u6574\u5408\u6027\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u304B\u308F\u308A\u306B\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002 -jdo.versionconsistencycacheimpl.badconfigvalue=JDO77042: \u30D0\u30FC\u30B8\u30E7\u30F3\u6574\u5408\u6027\u30AD\u30E3\u30C3\u30B7\u30E5\u306E\u69CB\u6210\u4E2D\u306B\u3001\u30D7\u30ED\u30D1\u30C6\u30A3{0}\u304C\u5024{1}\u3092\u53D7\u3051\u53D6\u308A\u307E\u3057\u305F\u304C\u3001\u3053\u306E\u5024\u306F\u7121\u52B9\u3067\u3059\u3002 -jdo.versionconsistencycacheimpl.unexpectedduringcreate=JDO77043: \u30D0\u30FC\u30B8\u30E7\u30F3\u6574\u5408\u6027\u30AD\u30E3\u30C3\u30B7\u30E5\u306E\u521D\u671F\u5316\u4E2D\u306B\u4E88\u671F\u305B\u306C\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30AD\u30E3\u30C3\u30B7\u30E5\u5B9F\u88C5\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u4F8B\u5916\u306E\u8A73\u7D30: {0} diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_ko.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_ko.properties deleted file mode 100644 index b15fdf9d75f..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_ko.properties +++ /dev/null @@ -1,120 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 77. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO77000 - JDO77999 -############################################################################### -jdohelper.deleted_instance=JDO77000: {0} \uD074\uB798\uC2A4\uC758 \uC778\uC2A4\uD134\uC2A4\uB97C \uC0AD\uC81C\uD588\uC2B5\uB2C8\uB2E4. -persistencemanagerfactoryimpl.notsupported=JDO77001: \uC774 \uB9B4\uB9AC\uC2A4\uC5D0\uC11C\uB294 \uC791\uC5C5\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -persistencemanagerfactoryimpl.configured=JDO77002: \uC124\uC815\uC744 \uB9C8\uCE5C \uD6C4\uC5D0\uB294 \uAD6C\uC131 \uB9E4\uAC1C\uBCC0\uC218\uB97C \uBCC0\uACBD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -persistencemanagerfactoryimpl.initialcontext=JDO77003: setConnectionFactoryName()\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 InitialContext\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. -persistencemanagerfactoryimpl.lookup=JDO77004: ConnectionFactoryName\uC744 \uC870\uD68C\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -persistencemanagerfactoryimpl.wrongtype=JDO77005: \uC811\uC18D \uD329\uD1A0\uB9AC\uC758 \uC720\uD615\uC740 ConnectionFactory \uB610\uB294 java.sql.DataSource\uC5EC\uC57C \uD569\uB2C8\uB2E4. -connectionefactoryimpl.sqlexception=JDO77006: SQL \uC608\uC678 \uC0AC\uD56D: \uC0C1\uD0DC = {0}, \uC624\uB958 \uCF54\uB4DC = {1}. -connectionefactoryimpl.getconnection=JDO77007: \uC811\uC18D\uC744 \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -connectionefactoryimpl.isolationlevel_notsupported=JDO77008: \uD2B8\uB79C\uC7AD\uC158 \uACA9\uB9AC \uB808\uBCA8 {0}\uC774(\uAC00) \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -sco.nulls_not_allowed=JDO77009: \uB110\uC740 \uC774 \uBAA8\uC74C\uC5D0\uC11C \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -sco.classcastexception=JDO77010: New element cannot be cast to {0}. -sco.not_supported=JDO77011: \uC0C9\uC778\uBCC4 \uBAA8\uC74C \uC5C5\uB370\uC774\uD2B8\uB294 \uC774 \uB9B4\uB9AC\uC2A4\uC5D0\uC11C \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.setoptimistic.notallowed=JDO77012: \uD65C\uC131 \uD2B8\uB79C\uC7AD\uC158\uC758 \uC720\uD615\uC744 \uBCC0\uACBD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.begin.notnew=JDO77013: \uBD80\uC801\uD569\uD55C Transaction.begin(). \uC774 \uD2B8\uB79C\uC7AD\uC158\uC740 \uC0C8 \uD2B8\uB79C\uC7AD\uC158\uC774 \uC544\uB2D9\uB2C8\uB2E4(\uC0C1\uD0DC = {0}). -transaction.transactionimpl.rolledback=JDO77014: \uBD80\uC801\uD569\uD55C Transaction.{0}(). \uC774 \uD2B8\uB79C\uC7AD\uC158\uC740 \uC774\uBBF8 \uB864\uBC31\uB418\uC5C8\uC2B5\uB2C8\uB2E4(\uC0C1\uD0DC = {1}). -transaction.transactionimpl.commitbefore.rolledback=JDO77015: \uBD80\uC801\uD569\uD55C Transaction.commit(). \uC774 \uD2B8\uB79C\uC7AD\uC158\uC740 \uB3D9\uAE30\uD654 \uC54C\uB9BC \uC911\uC5D0 \uB864\uBC31\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.commit_rollback.notactive=JDO77016: \uBD80\uC801\uD569\uD55C Transaction.{0}(). \uC774 \uD2B8\uB79C\uC7AD\uC158\uC740 \uB354 \uC774\uC0C1 \uD65C\uC131 \uC0C1\uD0DC\uAC00 \uC544\uB2D9\uB2C8\uB2E4(\uC0C1\uD0DC = {1}). -transaction.transactionimpl.commitbefore.incommit=JDO77017: \uBD80\uC801\uD569\uD55C Transaction.{0}(). \uC774 \uD2B8\uB79C\uC7AD\uC158\uC740 \uC774\uBBF8 \uCEE4\uBC0B\uC744 \uC2DC\uC791\uD588\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.commitbefore.rollbackonly_insync=JDO77018: \uBD80\uC801\uD569\uD55C Transaction.commit(). \uD2B8\uB79C\uC7AD\uC158\uC774 \uB864\uBC31\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC774 \uD2B8\uB79C\uC7AD\uC158\uC740 \uB3D9\uAE30\uD654 \uC54C\uB9BC \uC911\uC5D0 \uB864\uBC31 \uC804\uC6A9\uC73C\uB85C \uD45C\uC2DC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.commitbefore.rollbackonly=JDO77019: \uBD80\uC801\uD569\uD55C Transaction.commit(). \uD2B8\uB79C\uC7AD\uC158\uC774 \uB864\uBC31\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC774 \uD2B8\uB79C\uC7AD\uC158\uC740 \uB864\uBC31\uB9CC \uC804\uC6A9\uC73C\uB85C \uD45C\uC2DC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.commitprepare.wrongstatus=JDO77020: [\uB0B4\uBD80] \uBD80\uC801\uD569\uD55C Transaction.{0}(). \uC774 \uD2B8\uB79C\uC7AD\uC158 \uC0C1\uD0DC\uB294 {1}\uC774(\uAC00) \uC544\uB2D9\uB2C8\uB2E4(\uC0C1\uD0DC = {2}). -transaction.transactionimpl.commitcomplete.error=JDO77021: \uBD80\uC801\uD569\uD55C Transaction.commitComplete(). \uC774 \uD2B8\uB79C\uC7AD\uC158\uC740 \uC608\uC678 \uCF54\uB4DC {0}(\uC73C)\uB85C \uCEE4\uBC0B \uC644\uB8CC \uCC98\uB9AC\uB97C \uD558\uB294 \uB3D9\uC548 \uB864\uBC31\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.mgd=JDO77022: \uC791\uC5C5 {0}\uC740(\uB294) \uAD00\uB9AC \uB300\uC0C1 \uD658\uACBD\uC5D0\uC11C \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.nonmgd=JDO77023: \uC791\uC5C5 {0}\uC740(\uB294) \uAD00\uB9AC \uB300\uC0C1\uC774 \uC544\uB2CC \uD658\uACBD\uC5D0\uC11C \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.begin.failedlocaltx=JDO77024: \uB85C\uCEEC \uD2B8\uB79C\uC7AD\uC158\uC744 \uC2DC\uC791\uD558\uAC70\uB098 \uB3D9\uAE30\uD654\uB97C \uB4F1\uB85D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.begin.registersynchfailed=JDO77025: \uB3D9\uAE30\uD654\uB97C \uB4F1\uB85D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.forget.connectionnotclosed=JDO77026: \uC811\uC18D\uC774 \uB2EB\uD788\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -transaction.transactionimpl.getconnection.nullcf=JDO77027: ConnectionFactory\uAC00 NULL\uC785\uB2C8\uB2E4. -transaction.transactionimpl.syncmanager.aftercompletion=JDO77028: SynchronizationManager\uC5D0 \uB300\uD55C afterCompletion \uD638\uCD9C \uC911 \uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.\n{0} - -# -# -# -jdo.versionconsistencycacheimpl.put.entering=JDO77029: VCCacheImpl.put \uC2DC\uC791 \uC911: pcType={0} oid={1} sm={2} -jdo.versionconsistencycacheimpl.put.returning=JDO77030: VCCacheImpl.put \uBC18\uD658 \uC911: rc={0} -jdo.versionconsistencycacheimpl.get.entering=JDO77031: VCCacheImpl.get \uC2DC\uC791 \uC911: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.get.returning=JDO77032: VCCacheImpl.get \uBC18\uD658 \uC911: rc={0} -jdo.versionconsistencycacheimpl.remove.entering=JDO77033: VCCacheImpl.remove \uC2DC\uC791 \uC911: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.remove.returning=JDO77034: VCCacheImpl.remove \uBC18\uD658 \uC911: rc={0} -jdo.versionconsistencycacheimpl.addpctype=JDO77035: VCCacheImpl.addPCType: pcType={0} -jdo.versionconsistencycacheimpl.removepctype=JDO77036: VCCacheImpl.removePCType: pcType={0} -jdo.versionconsistencycacheimpl.usinghashmap=JDO77037: VCCacheImpl: HashMap \uC0DD\uC131 \uC911 - bucketSize={0} initialCapacity={1} loadFactor={2} -jdo.versionconsistencycacheimpl.usinglrucache=JDO77038: VCCacheImpl: LruCache \uC0DD\uC131 \uC911 - maxEntries={0} timeout={1} loadFactor={2} -jdo.versionconsistencycacheimpl.trimevent=JDO77039: VCCacheImpl: trimEvent \uBC1C\uC0DD -jdo.versionconsistencycacheimpl.created=JDO77040: VCCacheImpl: \uC0DD\uC131\uB428: {0} - -# -# Following messages *DO* need to be I18N'd. -# -jdo.versionconsistencycacheimpl.lrucachenotfound=JDO77041: LRU \uBC84\uC804 \uC9C0\uC18D\uC131 \uCE90\uC2DC\uB97C \uB85C\uB4DC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB300\uC2E0 \uAE30\uBCF8 \uCE90\uC2DC\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4. -jdo.versionconsistencycacheimpl.badconfigvalue=JDO77042: \uBC84\uC804 \uC9C0\uC18D\uC131 \uCE90\uC2DC\uB97C \uAD6C\uC131\uD558\uB294 \uB3D9\uC548 {0} \uC18D\uC131\uC5D0 \uB300\uD574 \uBD80\uC801\uD569\uD55C {1} \uAC12\uC744 \uAC00\uC838\uC654\uC2B5\uB2C8\uB2E4. -jdo.versionconsistencycacheimpl.unexpectedduringcreate=JDO77043: \uBC84\uC804 \uC9C0\uC18D\uC131 \uCE90\uC2DC\uB97C \uCD08\uAE30\uD654\uD558\uB294 \uB3D9\uC548 \uC608\uAE30\uCE58 \uC54A\uC740 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uAE30\uBCF8 \uCE90\uC2DC \uAD6C\uD604\uC744 \uC0AC\uC6A9\uD569\uB2C8\uB2E4. \uC608\uC678 \uC0AC\uD56D \uC138\uBD80 \uC815\uBCF4: {0} diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_pt_BR.properties deleted file mode 100644 index c0cc7d24a34..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_pt_BR.properties +++ /dev/null @@ -1,120 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 77. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO77000 - JDO77999 -############################################################################### -jdohelper.deleted_instance=JDO77000: A inst\u00E2ncia da classe foi deletada {0} -persistencemanagerfactoryimpl.notsupported=JDO77001: A opera\u00E7\u00E3o n\u00E3o possui suporte nesta vers\u00E3o. -persistencemanagerfactoryimpl.configured=JDO77002: N\u00E3o \u00E9 poss\u00EDvel alterar o par\u00E2metro de configura\u00E7\u00E3o ap\u00F3s a finaliza\u00E7\u00E3o da instala\u00E7\u00E3o. -persistencemanagerfactoryimpl.initialcontext=JDO77003: Nenhum InitialContext dispon\u00EDvel para setConnectionFactoryName(). -persistencemanagerfactoryimpl.lookup=JDO77004: Erro ao procurar por ConnectionFactoryName. -persistencemanagerfactoryimpl.wrongtype=JDO77005: A f\u00E1brica de conex\u00F5es precisa ser do tipo ConnectionFactory ou java.sql.DataSource. -connectionefactoryimpl.sqlexception=JDO77006: Exce\u00E7\u00E3o SQL: estado = {0}, c\u00F3digo de erro = {1}. -connectionefactoryimpl.getconnection=JDO77007: Falha ao obter uma conex\u00E3o. -connectionefactoryimpl.isolationlevel_notsupported=JDO77008: O n\u00EDvel de isolamento da transa\u00E7\u00E3o {0} n\u00E3o tem suporte no banco de dados. -sco.nulls_not_allowed=JDO77009: Nulos n\u00E3o s\u00E3o permitidos para esta Conjunto. -sco.classcastexception=JDO77010: O novo elemento n\u00E3o pode ser projetado para {0}. -sco.not_supported=JDO77011: A atualiza\u00E7\u00E3o do conjunto por este \u00EDndice n\u00E3o tem suporte nesta vers\u00E3o. -transaction.transactionimpl.setoptimistic.notallowed=JDO77012: N\u00E3o \u00E9 poss\u00EDvel alterar o tipo de uma transa\u00E7\u00E3o ativa. -transaction.transactionimpl.begin.notnew=JDO77013: Transaction.begin() inv\u00E1lido. Essa transa\u00E7\u00E3o n\u00E3o \u00E9 nova (status = {0}). -transaction.transactionimpl.rolledback=JDO77014: Transa\u00E7\u00E3o inv\u00E1lida.{0}(). Essa transa\u00E7\u00E3o j\u00E1 foi submetida a rollback (status = {1}). -transaction.transactionimpl.commitbefore.rolledback=JDO77015: Transaction.commit() inv\u00E1lido. Essa transa\u00E7\u00E3o foi retornada durante a notifica\u00E7\u00E3o de Sincroniza\u00E7\u00E3o. -transaction.transactionimpl.commit_rollback.notactive=JDO77016: Transa\u00E7\u00E3o inv\u00E1lida.{0}(). Essa transa\u00E7\u00E3o n\u00E3o est\u00E1 mais ativa (status = {1}). -transaction.transactionimpl.commitbefore.incommit=JDO77017: Transa\u00E7\u00E3o Inv\u00E1lida.{0}(). Esta transa\u00E7\u00E3o j\u00E1 come\u00E7ou a ser confirmada. -transaction.transactionimpl.commitbefore.rollbackonly_insync=JDO77018: Transaction.commit() inv\u00E1lido. Transa\u00E7\u00E3o retornada. Essa transa\u00E7\u00E3o foi marcada como somente de rollback durante a notifica\u00E7\u00E3o de Sincroniza\u00E7\u00E3o. -transaction.transactionimpl.commitbefore.rollbackonly=JDO77019: Transaction.commit() inv\u00E1lido. Transa\u00E7\u00E3o retornada. Essa transa\u00E7\u00E3o foi marcada como somente de retorno. -transaction.transactionimpl.commitprepare.wrongstatus=JDO77020: Transa\u00E7\u00E3o [interna] Inv\u00E1lida.{0}(). O status desta transa\u00E7\u00E3o n\u00E3o \u00E9 {1} (status = {2}). -transaction.transactionimpl.commitcomplete.error=JDO77021: Transaction.commitComplete() Inv\u00E1lido. Essa transa\u00E7\u00E3o foi submetida a rollback durante o processo de conclus\u00E3o de confirma\u00E7\u00E3o com o {0} c\u00F3digo de exce\u00E7\u00E3o. -transaction.transactionimpl.mgd=JDO77022: A opera\u00E7\u00E3o {0} n\u00E3o \u00E9 permitida no ambiente gerenciado. -transaction.transactionimpl.nonmgd=JDO77023: A opera\u00E7\u00E3o {0} n\u00E3o \u00E9 permitida no ambiente n\u00E3o-gerenciado. -transaction.transactionimpl.begin.failedlocaltx=JDO77024: N\u00E3o \u00E9 poss\u00EDvel iniciar uma transa\u00E7\u00E3o local ou registrar a Sincroniza\u00E7\u00E3o. -transaction.transactionimpl.begin.registersynchfailed=JDO77025: N\u00E3o \u00E9 poss\u00EDvel registrar a Sincroniza\u00E7\u00E3o. -transaction.transactionimpl.forget.connectionnotclosed=JDO77026: A conex\u00E3o n\u00E3o foi fechada. -transaction.transactionimpl.getconnection.nullcf=JDO77027: ConnectionFactory \u00E9 NULA. -transaction.transactionimpl.syncmanager.aftercompletion=JDO77028: Problema durante afterCompletion para chamar o SynchronizationManager:\n{0} - -# -# -# -jdo.versionconsistencycacheimpl.put.entering=JDO77029: VCCacheImpl.put entering: pcType={0} oid={1} sm={2} -jdo.versionconsistencycacheimpl.put.returning=JDO77030: VCCacheImpl.put returning: rc={0} -jdo.versionconsistencycacheimpl.get.entering=JDO77031: VCCacheImpl.get entering: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.get.returning=JDO77032: VCCacheImpl.get returning: rc={0} -jdo.versionconsistencycacheimpl.remove.entering=JDO77033: VCCacheImpl.remove informando: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.remove.returning=JDO77034: VCCacheImpl.remove retornando: rc={0} -jdo.versionconsistencycacheimpl.addpctype=JDO77035: VCCacheImpl.addPCType: pcType={0} -jdo.versionconsistencycacheimpl.removepctype=JDO77036: VCCacheImpl.removePCType: pcType={0} -jdo.versionconsistencycacheimpl.usinghashmap=JDO77037: VCCacheImpl: Criando HashMap com bucketSize={0} initialCapacity={1} loadFactor={2} -jdo.versionconsistencycacheimpl.usinglrucache=JDO77038: VCCacheImpl: Criando LruCache com maxEntries={0} timeout={1} loadFactor={2} -jdo.versionconsistencycacheimpl.trimevent=JDO77039: VCCacheImpl: got trimEvent. -jdo.versionconsistencycacheimpl.created=JDO77040: VCCacheImpl: criado com: {0} - -# -# Following messages *DO* need to be I18N'd. -# -jdo.versionconsistencycacheimpl.lrucachenotfound=JDO77041: O cache de consist\u00EAncia da vers\u00E3o LRU n\u00E3o pode ser carregado, utilizando ent\u00E3o o cache default. -jdo.versionconsistencycacheimpl.badconfigvalue=JDO77042: Ao configurar o cache de consist\u00EAncia da vers\u00E3o para a propriedade {0}, obteve o valor {1}, que \u00E9 inv\u00E1lido. -jdo.versionconsistencycacheimpl.unexpectedduringcreate=JDO77043: Exce\u00E7\u00E3o inesperada ao inicializar o cache de consist\u00EAncia da vers\u00E3o. Ser\u00E1 utilizada a implementa\u00E7\u00E3o de cache default. Detalhe da exce\u00E7\u00E3o: {0} diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_zh_CN.properties deleted file mode 100644 index d3813af83f9..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_zh_CN.properties +++ /dev/null @@ -1,120 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 77. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO77000 - JDO77999 -############################################################################### -jdohelper.deleted_instance=JDO77000: \u7C7B {0} \u7684\u5DF2\u5220\u9664\u5B9E\u4F8B -persistencemanagerfactoryimpl.notsupported=JDO77001: \u6B64\u53D1\u884C\u7248\u4E2D\u4E0D\u652F\u6301\u64CD\u4F5C\u3002 -persistencemanagerfactoryimpl.configured=JDO77002: \u8BBE\u7F6E\u5B8C\u6210\u540E\u4E0D\u80FD\u66F4\u6539\u914D\u7F6E\u53C2\u6570\u3002 -persistencemanagerfactoryimpl.initialcontext=JDO77003: setConnectionFactoryName() \u6CA1\u6709\u53EF\u7528\u7684 InitialContext\u3002 -persistencemanagerfactoryimpl.lookup=JDO77004: \u67E5\u627E ConnectionFactoryName \u65F6\u51FA\u73B0\u9519\u8BEF\u3002 -persistencemanagerfactoryimpl.wrongtype=JDO77005: \u8FDE\u63A5\u5DE5\u5382\u5FC5\u987B\u5C5E\u4E8E ConnectionFactory \u6216 java.sql.DataSource \u7C7B\u578B\u3002 -connectionefactoryimpl.sqlexception=JDO77006: SQL \u5F02\u5E38\u9519\u8BEF: \u72B6\u6001 = {0}, \u9519\u8BEF\u4EE3\u7801 = {1}\u3002 -connectionefactoryimpl.getconnection=JDO77007: \u65E0\u6CD5\u83B7\u53D6\u8FDE\u63A5\u3002 -connectionefactoryimpl.isolationlevel_notsupported=JDO77008: \u6570\u636E\u5E93\u4E0D\u652F\u6301\u4E8B\u52A1\u5904\u7406\u9694\u79BB\u7EA7\u522B {0}\u3002 -sco.nulls_not_allowed=JDO77009: \u6B64\u96C6\u5408\u4E0D\u5141\u8BB8\u7A7A\u503C\u3002 -sco.classcastexception=JDO77010: New element cannot be cast to {0}. -sco.not_supported=JDO77011: \u6B64\u53D1\u884C\u7248\u4E2D\u4E0D\u652F\u6301\u6309\u7D22\u5F15\u66F4\u65B0\u96C6\u5408\u3002 -transaction.transactionimpl.setoptimistic.notallowed=JDO77012: \u4E0D\u80FD\u66F4\u6539\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\u7684\u4E8B\u52A1\u5904\u7406\u7684\u7C7B\u578B\u3002 -transaction.transactionimpl.begin.notnew=JDO77013: Transaction.begin() \u65E0\u6548\u3002\u8BE5\u4E8B\u52A1\u5904\u7406\u4E0D\u662F\u65B0\u4E8B\u52A1\u5904\u7406 (\u72B6\u6001 = {0})\u3002 -transaction.transactionimpl.rolledback=JDO77014: \u4E8B\u52A1\u5904\u7406\u65E0\u6548\u3002{0}()\u3002\u8BE5\u4E8B\u52A1\u5904\u7406\u5DF2\u56DE\u9000 (\u72B6\u6001 = {1})\u3002 -transaction.transactionimpl.commitbefore.rolledback=JDO77015: Transaction.commit() \u65E0\u6548\u3002\u8BE5\u4E8B\u52A1\u5904\u7406\u5DF2\u5728\u540C\u6B65\u901A\u77E5\u671F\u95F4\u56DE\u9000\u3002 -transaction.transactionimpl.commit_rollback.notactive=JDO77016: \u4E8B\u52A1\u5904\u7406\u65E0\u6548\u3002{0}()\u3002\u8BE5\u4E8B\u52A1\u5904\u7406\u4E0D\u518D\u5904\u4E8E\u6D3B\u52A8\u72B6\u6001 (\u72B6\u6001 = {1})\u3002 -transaction.transactionimpl.commitbefore.incommit=JDO77017: \u4E8B\u52A1\u5904\u7406\u65E0\u6548\u3002{0}()\u3002\u8BE5\u4E8B\u52A1\u5904\u7406\u5DF2\u7ECF\u5F00\u59CB\u63D0\u4EA4\u3002 -transaction.transactionimpl.commitbefore.rollbackonly_insync=JDO77018: Transaction.commit() \u65E0\u6548\u3002\u4E8B\u52A1\u5904\u7406\u5DF2\u56DE\u9000\u3002\u8BE5\u4E8B\u52A1\u5904\u7406\u5728\u540C\u6B65\u901A\u77E5\u671F\u95F4\u88AB\u6807\u8BB0\u4E3A\u53EA\u56DE\u9000\u3002 -transaction.transactionimpl.commitbefore.rollbackonly=JDO77019: Transaction.commit() \u65E0\u6548\u3002\u4E8B\u52A1\u5904\u7406\u5DF2\u56DE\u9000\u3002\u8BE5\u4E8B\u52A1\u5904\u7406\u88AB\u6807\u8BB0\u4E3A\u53EA\u56DE\u9000\u3002 -transaction.transactionimpl.commitprepare.wrongstatus=JDO77020: [\u5185\u90E8] \u4E8B\u52A1\u5904\u7406\u65E0\u6548\u3002{0}()\u3002\u8BE5\u4E8B\u52A1\u5904\u7406\u7684\u72B6\u6001\u4E0D\u662F {1} (\u72B6\u6001 = {2})\u3002 -transaction.transactionimpl.commitcomplete.error=JDO77021: Transaction.commitComplete() \u65E0\u6548\u3002\u8BE5\u4E8B\u52A1\u5904\u7406\u5728\u63D0\u4EA4\u5B8C\u6210\u5904\u7406\u671F\u95F4\u56DE\u9000, \u5F02\u5E38\u9519\u8BEF\u4EE3\u7801\u4E3A {0}\u3002 -transaction.transactionimpl.mgd=JDO77022: \u5728\u7BA1\u7406\u7684\u73AF\u5883\u4E2D\u4E0D\u5141\u8BB8\u64CD\u4F5C {0}\u3002 -transaction.transactionimpl.nonmgd=JDO77023: \u5728\u975E\u7BA1\u7406\u7684\u73AF\u5883\u4E2D\u4E0D\u5141\u8BB8\u64CD\u4F5C {0}\u3002 -transaction.transactionimpl.begin.failedlocaltx=JDO77024: \u65E0\u6CD5\u542F\u52A8\u672C\u5730\u4E8B\u52A1\u5904\u7406\u6216\u6CE8\u518C\u540C\u6B65\u3002 -transaction.transactionimpl.begin.registersynchfailed=JDO77025: \u65E0\u6CD5\u6CE8\u518C\u540C\u6B65\u3002 -transaction.transactionimpl.forget.connectionnotclosed=JDO77026: \u8FDE\u63A5\u5C1A\u672A\u5173\u95ED\u3002 -transaction.transactionimpl.getconnection.nullcf=JDO77027: ConnectionFactory \u4E3A\u7A7A\u503C\u3002 -transaction.transactionimpl.syncmanager.aftercompletion=JDO77028: Problems during afterCompletion call to the SynchronizationManager:\n{0} - -# -# -# -jdo.versionconsistencycacheimpl.put.entering=JDO77029: VCCacheImpl.put \u8F93\u5165: pcType={0} oid={1} sm={2} -jdo.versionconsistencycacheimpl.put.returning=JDO77030: VCCacheImpl.put \u8FD4\u56DE: rc={0} -jdo.versionconsistencycacheimpl.get.entering=JDO77031: VCCacheImpl.get \u8F93\u5165: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.get.returning=JDO77032: VCCacheImpl.get \u8FD4\u56DE: rc={0} -jdo.versionconsistencycacheimpl.remove.entering=JDO77033: VCCacheImpl.remove \u8F93\u5165: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.remove.returning=JDO77034: VCCacheImpl.remove \u8FD4\u56DE: rc={0} -jdo.versionconsistencycacheimpl.addpctype=JDO77035: VCCacheImpl.addPCType: pcType={0} -jdo.versionconsistencycacheimpl.removepctype=JDO77036: VCCacheImpl.removePCType: pcType={0} -jdo.versionconsistencycacheimpl.usinghashmap=JDO77037: VCCacheImpl: \u521B\u5EFA HashMap with bucketSize={0} initialCapacity={1} loadFactor={2} -jdo.versionconsistencycacheimpl.usinglrucache=JDO77038: VCCacheImpl: \u521B\u5EFA LruCache with maxEntries={0} timeout={1} loadFactor={2} -jdo.versionconsistencycacheimpl.trimevent=JDO77039: VCCacheImpl: \u83B7\u5F97 trimEvent\u3002 -jdo.versionconsistencycacheimpl.created=JDO77040: VCCacheImpl: \u4F7F\u7528 {0} \u521B\u5EFA - -# -# Following messages *DO* need to be I18N'd. -# -jdo.versionconsistencycacheimpl.lrucachenotfound=JDO77041: \u65E0\u6CD5\u52A0\u8F7D LRU \u7248\u672C\u4E00\u81F4\u6027\u9AD8\u901F\u7F13\u5B58, \u6539\u4E3A\u4F7F\u7528\u9ED8\u8BA4\u9AD8\u901F\u7F13\u5B58\u3002 -jdo.versionconsistencycacheimpl.badconfigvalue=JDO77042: \u914D\u7F6E\u7248\u672C\u4E00\u81F4\u6027\u9AD8\u901F\u7F13\u5B58\u65F6, \u5BF9\u4E8E\u5C5E\u6027 {0}, \u83B7\u5F97\u503C {1}, \u8FD9\u662F\u4E00\u4E2A\u65E0\u6548\u503C\u3002 -jdo.versionconsistencycacheimpl.unexpectedduringcreate=JDO77043: \u521D\u59CB\u5316\u7248\u672C\u4E00\u81F4\u6027\u9AD8\u901F\u7F13\u5B58\u65F6\u51FA\u73B0\u610F\u5916\u7684\u5F02\u5E38\u9519\u8BEF, \u5C06\u4F7F\u7528\u9ED8\u8BA4\u7684\u9AD8\u901F\u7F13\u5B58\u5B9E\u73B0\u3002\u5F02\u5E38\u9519\u8BEF\u8BE6\u7EC6\u4FE1\u606F: {0} diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_zh_TW.properties deleted file mode 100644 index 550ea6d7b16..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle_zh_TW.properties +++ /dev/null @@ -1,120 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 77. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO77000 - JDO77999 -############################################################################### -jdohelper.deleted_instance=JDO77000\uFF1A\u5DF2\u522A\u9664\u985E\u5225 {0} \u7684\u57F7\u884C\u8655\u7406 -persistencemanagerfactoryimpl.notsupported=JDO77001\uFF1A\u6B64\u767C\u884C\u7248\u672C\u4E0D\u652F\u63F4\u4F5C\u696D\u3002 -persistencemanagerfactoryimpl.configured=JDO77002\uFF1A\u5B89\u88DD\u5B8C\u6210\u4E4B\u5F8C\uFF0C\u7121\u6CD5\u8B8A\u66F4\u7D44\u614B\u53C3\u6578\u3002 -persistencemanagerfactoryimpl.initialcontext=JDO77003\uFF1A\u7121\u53EF\u7528\u65BC setConnectionFactoryName() \u7684 InitialContext\u3002 -persistencemanagerfactoryimpl.lookup=JDO77004\uFF1A\u67E5\u8A62 ConnectionFactoryName \u6642\u767C\u751F\u932F\u8AA4\u3002 -persistencemanagerfactoryimpl.wrongtype=JDO77005\uFF1A\u9023\u7DDA\u5DE5\u5EE0\u7684\u985E\u578B\u5FC5\u9808\u70BA ConnectionFactory \u6216 java.sql.DataSource\u3002 -connectionefactoryimpl.sqlexception=JDO77006\uFF1ASQL \u7570\u5E38\uFF1Astate = {0}\u3001error code = {1}\u3002 -connectionefactoryimpl.getconnection=JDO77007\uFF1A\u7121\u6CD5\u53D6\u5F97\u9023\u7DDA\u3002 -connectionefactoryimpl.isolationlevel_notsupported=JDO77008\uFF1A\u8CC7\u6599\u5EAB\u4E0D\u652F\u63F4\u4F5C\u696D\u4E8B\u4EF6\u9694\u96E2\u5C64\u7D1A {0}\u3002 -sco.nulls_not_allowed=JDO77009\uFF1A\u6B64\u96C6\u5408\u4E2D\u4E0D\u5141\u8A31\u7A7A\u503C\u3002 -sco.classcastexception=JDO77010\uFF1A\u65B0\u5143\u7D20\u7121\u6CD5\u8F49\u63DB\u70BA {0}\u3002 -sco.not_supported=JDO77011\uFF1A\u6B64\u767C\u884C\u7248\u672C\u4E0D\u652F\u63F4\u4F9D\u7D22\u5F15\u9032\u884C\u7684\u96C6\u5408\u66F4\u65B0\u3002 -transaction.transactionimpl.setoptimistic.notallowed=JDO77012\uFF1A\u7121\u6CD5\u8B8A\u66F4\u4F7F\u7528\u4E2D\u4F5C\u696D\u4E8B\u4EF6\u7684\u985E\u578B\u3002 -transaction.transactionimpl.begin.notnew=JDO77013\uFF1ATransaction.begin() \u7121\u6548\u3002\u6B64\u4F5C\u696D\u4E8B\u4EF6\u4E0D\u662F\u65B0\u7684 (status = {0})\u3002 -transaction.transactionimpl.rolledback=JDO77014\uFF1A\u4F5C\u696D\u4E8B\u4EF6\u7121\u6548\u3002{0}(). \u6B64\u4F5C\u696D\u4E8B\u4EF6\u5DF2\u5012\u56DE (status = {1})\u3002 -transaction.transactionimpl.commitbefore.rolledback=JDO77015\uFF1ATransaction.commit() \u7121\u6548\u3002\u6B64\u4F5C\u696D\u4E8B\u4EF6\u5728\u540C\u6B65\u5316\u901A\u77E5\u671F\u9593\u5DF2\u5012\u56DE\u3002 -transaction.transactionimpl.commit_rollback.notactive=JDO77016\uFF1A\u4F5C\u696D\u4E8B\u4EF6\u7121\u6548\u3002{0}(). \u6B64\u4F5C\u696D\u4E8B\u4EF6\u5DF2\u4E0D\u518D\u8655\u65BC\u4F7F\u7528\u4E2D\u72C0\u614B (status = {1})\u3002 -transaction.transactionimpl.commitbefore.incommit=JDO77017\uFF1A\u4F5C\u696D\u4E8B\u4EF6\u7121\u6548\u3002{0}(). \u6B64\u4F5C\u696D\u4E8B\u4EF6\u5DF2\u958B\u59CB\u78BA\u8A8D\u3002 -transaction.transactionimpl.commitbefore.rollbackonly_insync=JDO77018\uFF1ATransaction.commit() \u7121\u6548\u3002\u4F5C\u696D\u4E8B\u4EF6\u5DF2\u5012\u56DE\u3002\u6B64\u4F5C\u696D\u4E8B\u4EF6\u5728\u540C\u6B65\u5316\u901A\u77E5\u671F\u9593\u5DF2\u6A19\u8A18\u70BA\u50C5\u5012\u56DE\u3002 -transaction.transactionimpl.commitbefore.rollbackonly=JDO77019\uFF1ATransaction.commit() \u7121\u6548\u3002\u4F5C\u696D\u4E8B\u4EF6\u5DF2\u5012\u56DE\u3002\u6B64\u4F5C\u696D\u4E8B\u4EF6\u5DF2\u6A19\u8A18\u70BA\u50C5\u5012\u56DE\u3002 -transaction.transactionimpl.commitprepare.wrongstatus=JDO77020\uFF1A[\u5167\u90E8] \u4F5C\u696D\u4E8B\u4EF6\u7121\u6548\u3002{0}(). \u6B64\u4F5C\u696D\u4E8B\u4EF6\u72C0\u614B\u4E0D\u662F {1} (status = {2})\u3002 -transaction.transactionimpl.commitcomplete.error=JDO77021\uFF1ATransaction.commitComplete() \u7121\u6548\u3002\u6B64\u4F5C\u696D\u4E8B\u4EF6\u5728\u4F7F\u7528 {0} \u7570\u5E38\u78BC\u8655\u7406\u78BA\u8A8D\u5B8C\u6210\u671F\u9593\u5DF2\u5012\u56DE\u3002 -transaction.transactionimpl.mgd=JDO77022\uFF1A\u4E0D\u5141\u8A31\u5728\u7BA1\u7406\u5F0F\u74B0\u5883\u4E2D\u57F7\u884C\u4F5C\u696D {0}\u3002 -transaction.transactionimpl.nonmgd=JDO77023\uFF1A\u4E0D\u5141\u8A31\u5728\u975E\u7BA1\u7406\u5F0F\u74B0\u5883\u4E2D\u57F7\u884C\u4F5C\u696D {0}\u3002 -transaction.transactionimpl.begin.failedlocaltx=JDO77024\uFF1A\u7121\u6CD5\u555F\u52D5\u672C\u6A5F\u4F5C\u696D\u4E8B\u4EF6\u6216\u8A3B\u518A\u540C\u6B65\u5316\u3002 -transaction.transactionimpl.begin.registersynchfailed=JDO77025\uFF1A\u7121\u6CD5\u8A3B\u518A\u540C\u6B65\u5316\u3002 -transaction.transactionimpl.forget.connectionnotclosed=JDO77026\uFF1A\u9023\u7DDA\u5C1A\u672A\u95DC\u9589\u3002 -transaction.transactionimpl.getconnection.nullcf=JDO77027\uFF1AConnectionFactory \u70BA NULL\u3002 -transaction.transactionimpl.syncmanager.aftercompletion=JDO77028\uFF1AafterCompletion \u547C\u53EB SynchronizationManager \u671F\u9593\u51FA\u73FE\u554F\u984C\uFF1A\n{0} - -# -# -# -jdo.versionconsistencycacheimpl.put.entering=JDO77029\uFF1AVCCacheImpl.put entering\uFF1ApcType={0} oid={1} sm={2} -jdo.versionconsistencycacheimpl.put.returning=JDO77030\uFF1AVCCacheImpl.put returning\uFF1Arc={0} -jdo.versionconsistencycacheimpl.get.entering=JDO77031\uFF1AVCCacheImpl.get entering\uFF1ApcType={0} oid={1} -jdo.versionconsistencycacheimpl.get.returning=JDO77032\uFF1AVCCacheImpl.get returning\uFF1Arc={0} -jdo.versionconsistencycacheimpl.remove.entering=JDO77033\uFF1AVCCacheImpl.remove entering\uFF1ApcType={0} oid={1} -jdo.versionconsistencycacheimpl.remove.returning=JDO77034\uFF1AVCCacheImpl.remove returning\uFF1Arc={0} -jdo.versionconsistencycacheimpl.addpctype=JDO77035\uFF1AVCCacheImpl.addPCType\uFF1ApcType={0} -jdo.versionconsistencycacheimpl.removepctype=JDO77036\uFF1AVCCacheImpl.removePCType\uFF1ApcType={0} -jdo.versionconsistencycacheimpl.usinghashmap=JDO77037\uFF1AVCCacheImpl\uFF1A\u5EFA\u7ACB bucketSize={0} initialCapacity={1} loadFactor={2} \u7684 HashMap -jdo.versionconsistencycacheimpl.usinglrucache=JDO77038\uFF1AVCCacheImpl\uFF1A\u5EFA\u7ACB maxEntries={0} timeout={1} loadFactor={2} \u7684 LruCache -jdo.versionconsistencycacheimpl.trimevent=JDO77039\uFF1AVCCacheImpl\uFF1A\u5DF2\u53D6\u5F97 trimEvent\u3002 -jdo.versionconsistencycacheimpl.created=JDO77040\uFF1AVCCacheImpl\uFF1A\u5DF2\u4F7F\u7528 {0} \u5EFA\u7ACB - -# -# Following messages *DO* need to be I18N'd. -# -jdo.versionconsistencycacheimpl.lrucachenotfound=JDO77041\uFF1A\u7121\u6CD5\u8F09\u5165 LRU \u7248\u672C\u6301\u7E8C\u6027\u5FEB\u53D6\uFF0C\u4F7F\u7528\u9810\u8A2D\u5FEB\u53D6\u66FF\u4EE3\u3002 -jdo.versionconsistencycacheimpl.badconfigvalue=JDO77042\uFF1A\u7D44\u614B\u7279\u6027 {0} \u7684\u7248\u672C\u4E00\u81F4\u6027\u5FEB\u53D6\u6642\uFF0C\u53D6\u5F97\u7121\u6548\u7684\u503C {1}\u3002 -jdo.versionconsistencycacheimpl.unexpectedduringcreate=JDO77043\uFF1A\u521D\u59CB\u5316\u7248\u672C\u4E00\u81F4\u6027\u5FEB\u53D6\u6642\u51FA\u73FE\u672A\u9810\u671F\u7684\u7570\u5E38\uFF0C\u5C07\u4F7F\u7528\u9810\u8A2D\u5FEB\u53D6\u5BE6\u884C\u3002\u7570\u5E38\u8A73\u7D30\u8CC7\u8A0A\uFF1A{0} diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_de.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_de.properties deleted file mode 100644 index 7fb28843b03..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_de.properties +++ /dev/null @@ -1,98 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 78. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO78000 - JDO78999 -############################################################################### -query.queryimpl.init.compiledquery.invalidtype=JDO78000: Ung\u00FCltige kompilierte Abfrage des Typs {0}. -query.queryimpl.init.compiledquery.isnull=JDO78001: Kompilierte Abfrage ist null. -query.queryimpl.doexecute.pmclosed=JDO78002: PersistenceManager ist geschlossen. -query.queryimpl.doexecute.notboundtopm=JDO78003: Abfrage ist nicht an PersistenceManager gebunden. - -# {0} - query identity -LOG_CreateNewQuery=JDO78004: QueryImpl, neue Abfrage {0} erstellen -# {0} - query identity -# {1} - compiled query -LOG_CreateNewQueryFromCompiled=JDO78005: QueryImpl, neue Abfrage {0} erstellen aus {1} -# {0} - query -LOG_CompileQuery=JDO78006: QueryImpl, Abfrage {0} kompilieren -# {0} - query -# {1} - query parameter values -LOG_ExecuteQuery=JDO78007: QueryImpl, Abfrage {0} mit Parametern {1} ausf\u00FChren - - -############################################################################### -# -############################################################################### -# -# -# -# {0} - invalid field no -# {1} - field name -query.util.type.fieldinfo.getfieldnumber.invalidfieldno=FieldInfo.getFieldNumber: ung\u00FCltige Feldnummer {0} f\u00FCr Feld ''{1}''. -# {0} - field name -query.util.type.fieldinfo.getfieldnumber.missingfieldelement=FieldInfo.getFieldNumber: PersistenceFieldElement fehlt f\u00FCr Feld ''{0}''. - diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_es.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_es.properties deleted file mode 100644 index 2bcd8639c40..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_es.properties +++ /dev/null @@ -1,98 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 78. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO78000 - JDO78999 -############################################################################### -query.queryimpl.init.compiledquery.invalidtype=JDO78000: consulta compilada no v\u00E1lida del tipo {0}. -query.queryimpl.init.compiledquery.isnull=JDO78001: la consulta compilada es nula. -query.queryimpl.doexecute.pmclosed=JDO78002: PersistenceManager est\u00E1 cerrado. -query.queryimpl.doexecute.notboundtopm=JDO78003: la consulta no est\u00E1 enlazada a PersistenceManager. - -# {0} - query identity -LOG_CreateNewQuery=JDO78004: crear una nueva consulta QueryImpl {0} -# {0} - query identity -# {1} - compiled query -LOG_CreateNewQueryFromCompiled=JDO78005: crear una nueva consulta QueryImpl {0} desde {1} -# {0} - query -LOG_CompileQuery=JDO78006: compilar consulta QueryImpl {0} -# {0} - query -# {1} - query parameter values -LOG_ExecuteQuery=JDO78007: ejecutar consulta QueryImpl {0} con los par\u00E1metros {1} - - -############################################################################### -# -############################################################################### -# -# -# -# {0} - invalid field no -# {1} - field name -query.util.type.fieldinfo.getfieldnumber.invalidfieldno=FieldInfo.getFieldNumber: n\u00FAmero de campo no v\u00E1lido {0} para el campo ''{1}''. -# {0} - field name -query.util.type.fieldinfo.getfieldnumber.missingfieldelement=FieldInfo.getFieldNumber: falta PersistenceFieldElement para el campo ''{0}''. - diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_fr.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_fr.properties deleted file mode 100644 index 758b207ca67..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_fr.properties +++ /dev/null @@ -1,98 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 78. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO78000 - JDO78999 -############################################################################### -query.queryimpl.init.compiledquery.invalidtype=JDO78000 : requ\u00EAte compil\u00E9e incorrecte du type {0}. -query.queryimpl.init.compiledquery.isnull=JDO78001 : la requ\u00EAte compil\u00E9e est NULL. -query.queryimpl.doexecute.pmclosed=JDO78002 : PersistenceManager est ferm\u00E9. -query.queryimpl.doexecute.notboundtopm=JDO78003 : la requ\u00EAte n'est pas li\u00E9e \u00E0 un gestionnaire PersistenceManager. - -# {0} - query identity -LOG_CreateNewQuery=JDO78004 : QueryImpl cr\u00E9e une requ\u00EAte {0} -# {0} - query identity -# {1} - compiled query -LOG_CreateNewQueryFromCompiled=JDO78005 : QueryImpl cr\u00E9e une requ\u00EAte {0} de {1} -# {0} - query -LOG_CompileQuery=JDO78006 : QueryImpl compile la requ\u00EAte {0} -# {0} - query -# {1} - query parameter values -LOG_ExecuteQuery=JDO78007 : QueryImpl ex\u00E9cute la requ\u00EAte {0} avec les param\u00E8tres {1} - - -############################################################################### -# -############################################################################### -# -# -# -# {0} - invalid field no -# {1} - field name -query.util.type.fieldinfo.getfieldnumber.invalidfieldno=FieldInfo.getFieldNumber : num\u00E9ro de champ {0} non valide pour le champ ''{1}''. -# {0} - field name -query.util.type.fieldinfo.getfieldnumber.missingfieldelement=FieldInfo.getFieldNumber : PersistenceFieldElement manquant pour le champ ''{0}''. - diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_it.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_it.properties deleted file mode 100644 index ebde5f7c6e4..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_it.properties +++ /dev/null @@ -1,98 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 78. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO78000 - JDO78999 -############################################################################### -query.queryimpl.init.compiledquery.invalidtype=JDO78000: query compilata non valida di tipo {0}. -query.queryimpl.init.compiledquery.isnull=JDO78001: la query compilata \u00E8 nulla. -query.queryimpl.doexecute.pmclosed=JDO78002: PersistenceManager \u00E8 chiuso. -query.queryimpl.doexecute.notboundtopm=JDO78003: la query non \u00E8 associata a un PersistenceManager. - -# {0} - query identity -LOG_CreateNewQuery=JDO78004: QueryImpl crea la nuova query {0} -# {0} - query identity -# {1} - compiled query -LOG_CreateNewQueryFromCompiled=JDO78005: QueryImpl crea la nuova query {0} da {1} -# {0} - query -LOG_CompileQuery=JDO78006: QueryImpl compila la query {0} -# {0} - query -# {1} - query parameter values -LOG_ExecuteQuery=JDO78007: QueryImpl esegue la query {0} con i parametri {1} - - -############################################################################### -# -############################################################################### -# -# -# -# {0} - invalid field no -# {1} - field name -query.util.type.fieldinfo.getfieldnumber.invalidfieldno=FieldInfo.getFieldNumber: numero di campo {0} non valido per il campo ''{1}''. -# {0} - field name -query.util.type.fieldinfo.getfieldnumber.missingfieldelement=FieldInfo.getFieldNumber: PersistenceFieldElement mancante per il campo ''{0}''. - diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_ja.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_ja.properties deleted file mode 100644 index 0e4e051cc4e..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_ja.properties +++ /dev/null @@ -1,98 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 78. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO78000 - JDO78999 -############################################################################### -query.queryimpl.init.compiledquery.invalidtype=JDO78000: \u578B{0}\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u6E08\u307F\u554F\u5408\u305B\u304C\u7121\u52B9\u3067\u3059\u3002 -query.queryimpl.init.compiledquery.isnull=JDO78001: \u30B3\u30F3\u30D1\u30A4\u30EB\u6E08\u307F\u554F\u5408\u305B\u304Cnull\u3067\u3059\u3002 -query.queryimpl.doexecute.pmclosed=JDO78002: PersistenceManager\u306F\u9589\u3058\u3089\u308C\u3066\u3044\u307E\u3059\u3002 -query.queryimpl.doexecute.notboundtopm=JDO78003: \u554F\u5408\u305B\u306FPersistenceManager\u306B\u30D0\u30A4\u30F3\u30C9\u3055\u308C\u307E\u305B\u3093\u3002 - -# {0} - query identity -LOG_CreateNewQuery=JDO78004: QueryImpl\u306F\u65B0\u898F\u554F\u5408\u305B{0}\u3092\u4F5C\u6210\u3057\u307E\u3059 -# {0} - query identity -# {1} - compiled query -LOG_CreateNewQueryFromCompiled=JDO78005: QueryImpl\u306F{1}\u304B\u3089\u65B0\u898F\u554F\u5408\u305B{0}\u3092\u4F5C\u6210\u3057\u307E\u3059 -# {0} - query -LOG_CompileQuery=JDO78006: QueryImpl\u306F\u554F\u5408\u305B{0}\u3092\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u307E\u3059 -# {0} - query -# {1} - query parameter values -LOG_ExecuteQuery=JDO78007: QueryImpl\u306F\u30D1\u30E9\u30E1\u30FC\u30BF{1}\u3067\u554F\u5408\u305B{0}\u3092\u5B9F\u884C\u3057\u307E\u3059 - - -############################################################################### -# -############################################################################### -# -# -# -# {0} - invalid field no -# {1} - field name -query.util.type.fieldinfo.getfieldnumber.invalidfieldno=FieldInfo.getFieldNumber: invalid field number {0} for field ''{1}''. -# {0} - field name -query.util.type.fieldinfo.getfieldnumber.missingfieldelement=FieldInfo.getFieldNumber: missing PersistenceFieldElement for field ''{0}''. - diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_ko.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_ko.properties deleted file mode 100644 index ade690f1dd5..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_ko.properties +++ /dev/null @@ -1,98 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 78. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO78000 - JDO78999 -############################################################################### -query.queryimpl.init.compiledquery.invalidtype=JDO78000: {0} \uC720\uD615\uC758 \uCEF4\uD30C\uC77C\uB41C \uC9C8\uC758\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -query.queryimpl.init.compiledquery.isnull=JDO78001: \uCEF4\uD30C\uC77C\uB41C \uC9C8\uC758\uAC00 \uB110\uC785\uB2C8\uB2E4. -query.queryimpl.doexecute.pmclosed=JDO78002: PersistenceManager\uAC00 \uB2EB\uD614\uC2B5\uB2C8\uB2E4. -query.queryimpl.doexecute.notboundtopm=JDO78003: \uC9C8\uC758\uAC00 PersistenceManager\uC5D0 \uBC14\uC778\uB4DC\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. - -# {0} - query identity -LOG_CreateNewQuery=JDO78004: QueryImpl\uC774 \uC0C8 \uC9C8\uC758 {0}\uC744(\uB97C) \uC0DD\uC131\uD569\uB2C8\uB2E4. -# {0} - query identity -# {1} - compiled query -LOG_CreateNewQueryFromCompiled=JDO78005: QueryImpl\uC774 {1}\uC5D0\uC11C \uC0C8 \uC9C8\uC758 {0}\uC744(\uB97C) \uC0DD\uC131\uD569\uB2C8\uB2E4. -# {0} - query -LOG_CompileQuery=JDO78006: QueryImpl\uC774 \uC9C8\uC758 {0}\uC744(\uB97C) \uCEF4\uD30C\uC77C\uD569\uB2C8\uB2E4. -# {0} - query -# {1} - query parameter values -LOG_ExecuteQuery=JDO78007: QueryImpl\uC774 {1} \uB9E4\uAC1C\uBCC0\uC218\uB85C {0} \uC9C8\uC758\uB97C \uC2E4\uD589\uD569\uB2C8\uB2E4. - - -############################################################################### -# -############################################################################### -# -# -# -# {0} - invalid field no -# {1} - field name -query.util.type.fieldinfo.getfieldnumber.invalidfieldno=FieldInfo.getFieldNumber: ''{1}'' \uD544\uB4DC\uC5D0 \uB300\uD55C \uD544\uB4DC \uBC88\uD638 {0}\uC774(\uAC00) \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -# {0} - field name -query.util.type.fieldinfo.getfieldnumber.missingfieldelement=FieldInfo.getFieldNumber: ''{0}'' \uD544\uB4DC\uC5D0 \uB300\uD55C PersistenceFieldElement\uAC00 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4. - diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_pt_BR.properties deleted file mode 100644 index 8f92f0e69fb..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_pt_BR.properties +++ /dev/null @@ -1,98 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 78. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO78000 - JDO78999 -############################################################################### -query.queryimpl.init.compiledquery.invalidtype=JDO78000: Consulta compilada inv\u00E1lida do tipo {0}. -query.queryimpl.init.compiledquery.isnull=JDO78001: A consulta compilada \u00E9 nula. -query.queryimpl.doexecute.pmclosed=JDO78002: O PersistenceManager foi encerrado. -query.queryimpl.doexecute.notboundtopm=JDO78003: A consulta n\u00E3o est\u00E1 vinculada com um PersistenceManager. - -# {0} - query identity -LOG_CreateNewQuery=JDO78004: QueryImpl cria nova consulta {0} -# {0} - query identity -# {1} - compiled query -LOG_CreateNewQueryFromCompiled=JDO78005: QueryImpl cria nova consulta {0} de {1} -# {0} - query -LOG_CompileQuery=JDO78006: QueryImpl compila consulta {0} -# {0} - query -# {1} - query parameter values -LOG_ExecuteQuery=JDO78007: QueryImpl executa consulta {0} com par\u00E2metros {1} - - -############################################################################### -# -############################################################################### -# -# -# -# {0} - invalid field no -# {1} - field name -query.util.type.fieldinfo.getfieldnumber.invalidfieldno=FieldInfo.getFieldNumber: n\u00FAmero de campo inv\u00E1lido {0} para o campo ''{1}''. -# {0} - field name -query.util.type.fieldinfo.getfieldnumber.missingfieldelement=FieldInfo.getFieldNumber: PersistenceFieldElement ausente para o campo ''{0}''. - diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_zh_CN.properties deleted file mode 100644 index e04b4ca5e3c..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_zh_CN.properties +++ /dev/null @@ -1,98 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 78. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO78000 - JDO78999 -############################################################################### -query.queryimpl.init.compiledquery.invalidtype=JDO78000: \u7C7B\u578B\u4E3A {0} \u7684\u5DF2\u7F16\u8BD1\u67E5\u8BE2\u65E0\u6548\u3002 -query.queryimpl.init.compiledquery.isnull=JDO78001: \u5DF2\u7F16\u8BD1\u67E5\u8BE2\u4E3A\u7A7A\u503C\u3002 -query.queryimpl.doexecute.pmclosed=JDO78002: PersistenceManager \u5DF2\u5173\u95ED\u3002 -query.queryimpl.doexecute.notboundtopm=JDO78003: \u67E5\u8BE2\u672A\u7ED1\u5B9A\u5230 PersistenceManager\u3002 - -# {0} - query identity -LOG_CreateNewQuery=JDO78004: QueryImpl \u521B\u5EFA\u65B0\u67E5\u8BE2 {0} -# {0} - query identity -# {1} - compiled query -LOG_CreateNewQueryFromCompiled=JDO78005: QueryImpl \u4ECE {1} \u521B\u5EFA\u65B0\u67E5\u8BE2 {0} -# {0} - query -LOG_CompileQuery=JDO78006: QueryImpl \u7F16\u8BD1\u67E5\u8BE2 {0} -# {0} - query -# {1} - query parameter values -LOG_ExecuteQuery=JDO78007: QueryImpl \u6267\u884C\u5E26\u6709\u53C2\u6570 {1} \u7684\u67E5\u8BE2 {0} - - -############################################################################### -# -############################################################################### -# -# -# -# {0} - invalid field no -# {1} - field name -query.util.type.fieldinfo.getfieldnumber.invalidfieldno=FieldInfo.getFieldNumber: \u5B57\u6BB5 ''{1}'' \u7684\u65E0\u6548\u5B57\u6BB5\u7F16\u53F7 {0}\u3002 -# {0} - field name -query.util.type.fieldinfo.getfieldnumber.missingfieldelement=FieldInfo.getFieldNumber: \u5B57\u6BB5 ''{0}'' \u7F3A\u5C11 PersistenceFieldElement\u3002 - diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_zh_TW.properties deleted file mode 100644 index 1a6e118dd77..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle_zh_TW.properties +++ /dev/null @@ -1,98 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 78. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO78000 - JDO78999 -############################################################################### -query.queryimpl.init.compiledquery.invalidtype=JDO78000\uFF1A\u985E\u578B {0} \u7684\u7DE8\u8B6F\u67E5\u8A62\u7121\u6548\u3002 -query.queryimpl.init.compiledquery.isnull=JDO78001\uFF1A\u7DE8\u8B6F\u67E5\u8A62\u70BA\u7A7A\u3002 -query.queryimpl.doexecute.pmclosed=JDO78002\uFF1APersistenceManager \u5DF2\u95DC\u9589\u3002 -query.queryimpl.doexecute.notboundtopm=JDO78003\uFF1A\u67E5\u8A62\u672A\u9023\u7D50\u81F3 PersistenceManager\u3002 - -# {0} - query identity -LOG_CreateNewQuery=JDO78004\uFF1AQueryImpl \u5EFA\u7ACB\u65B0\u7684\u67E5\u8A62 {0} -# {0} - query identity -# {1} - compiled query -LOG_CreateNewQueryFromCompiled=JDO78005\uFF1AQueryImpl \u5F9E {1} \u5EFA\u7ACB\u65B0\u7684\u67E5\u8A62 {0} -# {0} - query -LOG_CompileQuery=JDO78006\uFF1AQueryImpl \u7DE8\u8B6F\u67E5\u8A62 {0} -# {0} - query -# {1} - query parameter values -LOG_ExecuteQuery=JDO78007\uFF1AQueryImpl \u4F7F\u7528\u53C3\u6578 {1} \u57F7\u884C\u67E5\u8A62 {0} - - -############################################################################### -# -############################################################################### -# -# -# -# {0} - invalid field no -# {1} - field name -query.util.type.fieldinfo.getfieldnumber.invalidfieldno=FieldInfo.getFieldNumber\uFF1A\u6B04\u4F4D ''{1}'' \u7684\u6B04\u4F4D\u7DE8\u865F {0} \u7121\u6548\u3002 -# {0} - field name -query.util.type.fieldinfo.getfieldnumber.missingfieldelement=FieldInfo.getFieldNumber\uFF1A\u7F3A\u5C11\u6B04\u4F4D ''{0}'' \u7684 PersistenceFieldElement - diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_de.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_de.properties deleted file mode 100644 index 59838f93025..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_de.properties +++ /dev/null @@ -1,236 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 79. -# -# This file is divided into following sections. -# 1. main compiler class -# 2. error message helper class -# 3. syntax error messages -# 4. semantic error messages -# 5. optimizer -# 6. code generation -# 7. Miscellaneous -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################## -#
    -# Message ID Range: JDO79000 - JDO79099 -############################################################################# - -jqlc.jqlc.generic.nocandidateclass=JDO79000: Kandidatenklassenspezifikation fehlt. -jqlc.jqlc.checkcandidates.memorycollection=JDO79001: Abfragen \u00FCber Collections, die keine Extent Collections sind, werden nicht unterst\u00FCtzt. -jqlc.jqlc.checkcandidates.mismatch=JDO79002: Die Kandidaten-Collection stimmt nicht mit der Kandidatenklasse ''{0}'' \u00FCberein. -# {0} - name of the compiler pass -LOG_JQLCStartPass=JDO79003: JQLC-Start {0} -# {0} - name of the compiler pass -LOG_JQLCDumpTree=JDO79004: JQLC-Dump-Baumstruktur {0} -LOG_JQLCReuseRetrieveDesc=JDO79005: JQLC Wiederverwendung von gecachter RetrieveDesc - -############################################################################# -# -# it is the last arg for each of them that contains the -# actual message. -############################################################################# -jqlc.errormsg.generic.msg={0}: {1} -jqlc.errormsg.generic.msgcolumn={0} Spalte ({1}): {2} -jqlc.errormsg.generic.msglinecolumn={0} Zeile ({1}) Spalte ({2}): {3} - -############################################################################# -# -# Message ID Range: JDO79100 - JDO79199 -############################################################################# - -jqlc.parser.syntaxerror=JDO79100: Syntaxfehler. -jqlc.parser.syntaxerrorattoken=JDO79101: Syntaxfehler bei ''{0}''. -jqlc.parser.unexpectedtoken=JDO79102: Syntaxfehler, unerwartetes Token ''{0}''. -jqlc.parser.unexpectedchar=JDO79103: Syntaxfehler, unerwartetes Zeichen ''{0}''. -jqlc.parser.expectedfoundchar=JDO79104: Syntaxfehler, erwartetes Zeichen ''{0}'', ''{1}'' gefunden. -jqlc.parser.unexpectedEOF=JDO79105: Syntaxfehler, unerwartetes Textende. - -############################################################################# -# -# Message ID Range: JDO7109200 - JDO79399 -############################################################################# - -# semantic error messages (unsupported operations) - -jqlc.semantic.analysebitwiseexpr.exclusiveorop=JDO79200: Exklusiver Oder-Operator ^ nicht unterst\u00FCtzt. -jqlc.semantic.analysebitwiseexpr.integerbitwiseop=JDO79201: Ganzzahliger bitweiser Operator {0} nicht unterst\u00FCtzt. -jqlc.semantic.analysecollectioncall.unsupportedcollectionexpr=JDO79202: Nicht unterst\u00FCtzter Collection-Ausdruck ''{0}''. -jqlc.semantic.analysecollectioncall.nonvariable=JDO79203: Variable erwartet - ausgegebene Form enth\u00E4lt nicht unterst\u00FCtzte Argumente. -jqlc.semantic.generic.unsupportedconstraintop=JDO79204: Nicht unterst\u00FCtzter Vorgang ''{0}'' f\u00FCr Variablen-Constraint-Klausel. -jqlc.semantic.candidateclass.nonpc=JDO79205: Die Klasse ''{0}'' ist nicht persistenzf\u00E4hig. Nicht persistenzf\u00E4hige Kandidatenklassen werden f\u00FCr die Abfrage nicht unterst\u00FCtzt. -jqlc.semantic.checkvalidorderingexpr.invalidordering=JDO79206: Nicht unterst\u00FCtzter Ausdruck ''{0}'' in Sortierspezifikation. -jqlc.semantic.checkvalidresultexpr.invalidresult=JDO79207: Nicht unterst\u00FCtzter Ausdruck ''{0}'' in Ergebnispezifikation. - -# semantic error messages (user errors) - -jqlc.semantic.analysecollectioncall.typemismatch=JDO79208: Collection-Elementtyp ''{0}'' und Variablentyp ''{1}'' sind nicht kompatibel. -jqlc.semantic.analysecollectioncall.relationshipexpected=JDO79209: Beziehungsfeld ''{0}'' erwartet. -jqlc.semantic.analysedotexpr.classexprexpected=JDO79210: Ausdruck des Klassentyps erwartet. -jqlc.semantic.analysefieldaccess.nonperistentfield=JDO79211: Zugriff auf nicht persistentes Feld ''{0}'' der persistenzf\u00E4higen Klasse ''{1}'' nicht m\u00F6glich. -jqlc.semantic.analysefieldaccess.nonpublicfield=JDO79212: Zugriff auf nicht \u00F6ffentliches Feld ''{0}'' der nicht persistenzf\u00E4higen Klasse ''{1}'' nicht m\u00F6glich. -jqlc.semantic.analysestaticfieldaccess.staticreference=JDO79213: Statische Referenz f\u00FCr nicht statische Variable ''{0}'' der Klasse ''{1}'' nicht m\u00F6glich. -jqlc.semantic.analysestaticfieldaccess.nonpublicfield=JDO79214: Zugriff auf nicht \u00F6ffentliches statisches Feld ''{0}'' der Klasse ''{1}'' nicht m\u00F6glich. -jqlc.semantic.analyserelationalexpr.notorderable=JDO79215: Operandentyp ''{0}'' von {1} ist nicht sortierbar. -jqlc.semantic.expression.undefined=JDO79216: Undefinierter Ausdruck ''{0}''. -jqlc.semantic.filter.booleanexpected=JDO79217: Boolescher Ausdruck erwartet, Filterausdruck weist Typ ''{0}'' auf. -jqlc.semantic.generic.alreadydeclared=JDO79218: ''{0}'' bereits als {1} deklariert. -jqlc.semantic.generic.arguments.numbermismatch=JDO79219: Falsche Anzahl Argumente. -jqlc.semantic.generic.arguments.typemismatch=JDO79220: Inkompatibler Typ des aktuellen Parameters. Konvertierung von ''{0}'' in ''{1}'' nicht m\u00F6glich. -jqlc.semantic.generic.arguments.invalid=JDO79221: Ung\u00FCltige Argumente f\u00FCr ''{0}''. -jqlc.semantic.generic.invalidmethodcall=JDO79222: Ung\u00FCltiger Methodenaufruf. -jqlc.semantic.generic.unknownfield=JDO79223: Feld ''{0}'' f\u00FCr Klasse ''{1}'' nicht definiert. -jqlc.semantic.generic.unknowntype=JDO79224: Unbekannter Typ ''{0}''. -jqlc.semantic.identifier.undefined=JDO79225: Undefinierte ID ''{0}''. -jqlc.semantic.primary.invalidcast=JDO79226: Konvertierung des Ausdrucks von Typ ''{0}'' in Typ ''{1}'' nicht m\u00F6glich. -jqlc.semantic.type.notype=JDO79227: Typ erwartet, ''{0}'' ist als {1} definiert. -jqlc.semantic.analyseorderingexpression.notorderable=JDO79228: Typ ''{0}'' des Sortierausdrucks ist nicht sortierbar. -jqlc.semantic.checkvalidresultexpr.invalidavgsumexpr=JDO79229: Typ ''{0}'' von Aggregatausdruck ''{1}'' ist kein Zahlen- oder char-Typ. -jqlc.semantic.checkvalidresultexpr.invalidminmaxexpr=JDO79230: Typ ''{0}'' des Aggregatausdrucks ''{1}'' ist nicht sortierbar. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresultfield=JDO79231: Der eindeutige Ergebnisfeldausdruck ''{0}'' und der Sortierausdruck ''{1}'' sind nicht kompatibel. Sie m\u00FCssen dasselbe Feld darstellen. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresult=JDO79232: Der Ergebnisausdruck ''distinct {0}'' und der Sortierausdruck ''{1}'' sind nicht kompatibel. Sie m\u00FCssen Felder derselben Klasse sein und den gleichen Navigationsausdruck zur Klasse verwenden. - -# query parameter table - -jqlc.parametertable.checkunboundparams.unboundparam=JDO79233: Ungebundener Abfrageparameter ''{0}''. -jqlc.parametertable.definevaluebyname.undefinedparam=JDO79234: Nicht definierter Abfrageparameter ''{0}''. -jqlc.parametertable.definevaluebyindex.wrongnumberofargs=JDO79235: Falsche Anzahl Argumente. -jqlc.parametertable.definevaluebyindex.typemismatch=JDO79236: Inkompatibler Typ des aktuellen Parameters. Konvertierung von ''{0}'' in ''{1}'' nicht m\u00F6glich. - -############################################################################# -# -# Message ID Range: JDO79400 - JDO79499 -############################################################################# - -jqlc.optimizer.staticfieldaccess.illegal=JDO79400: Zugriff auf statisches Feld ''{0}'' der Klasse ''{1}'' nicht m\u00F6glich. -jqlc.optimizer.literal.invalid=JDO79401: Ung\u00FCltiges {0} Literal ''{1}''. - -############################################################################# -# -# Message ID Range: JDO79500 - JDO79599 -############################################################################# - -jqlc.codegeneration.fieldaccess.illegal=JDO79500: Zugriff auf Feld ''{0}'' des Objekts ''{1}'' nicht m\u00F6glich. -jqlc.codegeneration.collectioncomparison.nonnull=JDO79501: Nicht unterst\u00FCtzter Vergleich von Collection mit einem Wert ungleich Null. -jqlc.codegeneration.generic.unsupportedop=JDO79502: Nicht unterst\u00FCtzter Vorgang ''{0}'' -jqlc.codegeneration.substring.beginnegative=JDO79503: Startindex ''{0}'' der Teilzeichenfolgenmethode ist negativ. -jqlc.codegeneration.substring.beginlargerend=JDO79504: Startindex ''{0}'' der Teilzeichenfolgenmethode ist gr\u00F6\u00DFer als der Endindex ''{1}''. -jqlc.codegeneration.resultExpr.missingpkfields=JDO79505: Nicht unterst\u00FCtzter COUNT-Ausdruck. Der Ausdruckstyp ''{0}'' ist eine persistenzf\u00E4hige Klasse ohne prim\u00E4re Schl\u00FCsselfelder. - -############################################################################# -# -# Message ID Range: JDO79600 - JDO79699 -############################################################################# -# {0} - RetrieveDesc info -LOG_JQLCDumpRD=JDO79600: JQLC-Dump RetrieveDesc {0} - -# variable table - -jqlc.variabletable.markconstraint.multiple=JDO79601: Mehrere Constraints f\u00FCr Variable ''{0}''. -jqlc.variabletable.checkconstraint.unused=JDO79602: Variable ''{0}'' definiert aber nicht verwendet. -jqlc.variabletable.checkconstraint.cycle=JDO79603: Nicht unterst\u00FCtzte zyklische Constraint-Definition f\u00FCr Variable ''{0}''. -jqlc.variabletable.merge.different=JDO79604: Unterschiedliche Constraints f\u00FCr dieselbe Variable ''{0}''. - - -############################################################################### -# -############################################################################### -# -# -# -jqlc.jqlc.checkcandidates.nullpc=Persistenzf\u00E4hige Klasse von Extent Collection ist null. - -jqlc.parser.invalidunicodestr=JQLLexer.UNICODE_STR - -jqlc.parametertable.getvaluebyname.undefined=ParameterTable.getValueByName: undefinierter Parameter {0}. -jqlc.parametertable.getvaluebyindex.wrongindex=ParameterTable.getValueByIndex: falscher Index {0}. -jqlc.parametertable.definevaluebyindex.wrongindex=ParameterTable.defineValueByIndex: falscher Index {0}. - -jqlc.semantic.checkcandidateclass.unknowntype=Semantic.checkCandidateClass: unbekannter Typ {0}. -jqlc.semantic.analysedefinedidentifier.illegalident=Semantic.analyseDefinedIdentifier: unzul\u00E4ssige ID-Definition {0}. -jqlc.semantic.getcollectionfield.missingchildren=Semantic.getCollectionField: ung\u00FCltige Knotenstruktur, untergeordnete Objekte fehlen. - -jqlc.optimizer.checkbinaryplusop.invalidtype=Optimizer.checkBinaryPlusOp: ung\u00FCltiger Typ {0}. -jqlc.optimizer.checkbinaryminusop.invalidtype=Optimizer.checkBinaryMinusOp: ung\u00FCltiger Typ {0}. -jqlc.optimizer.checkmultiplicationop.invalidtype=Optimizer.checkMultiplicationOp: ung\u00FCltiger Typ {0}. -jqlc.optimizer.checkdivisionop.invalidtype=Optimizer.checkDivisionOp: ung\u00FCltiger Typ {0}. -jqlc.optimizer.checkmodop.invalidtype=Optimizer.checkModOp: ung\u00FCltiger Typ {0}. -jqlc.optimizer.checkunaryminusop.invalidtype=Optimizer.checkUnaryMinusOp: ung\u00FCltiger Typ {0}. -jqlc.optimizer.getbigdecimalvalue.notnumber=Optimizer.getBigDecimalValue: erwarteter Zahlenwert {0}. -jqlc.optimizer.getbigintegervalue.notnumber=Optimizer.getBigIntegerValue: erwarteter Zahlenwert {0}. -jqlc.optimizer.isempty.requirecollection=Optimizer.isEmpty: erfordert Collection-Wert. - -jqlc.codegeneration.generatesimplefieldvaluecomparison.invalidvalue=CodeGeneration.generateSimpleFieldValueComparison: ung\u00FCltiger Nullwert in relationalem Vorgang. -jqlc.codegeneration.generateparametervaluecomparison.invalidvalue=CodeGeneration.generateParameterValueComparison: ung\u00FCltiger Nullwert in relationalem Vorgang. -jqlc.codegeneration.getkeyfieldscomparisonbooleanop.invalidobj=CodeGeneration.getKeyFieldsComparisonBooleanOp: ung\u00FCltiger Objektvergleichsvorgang {0}. -jqlc.codegeneration.filter.nonbooleanvalue=CodeGeneration.filter: ung\u00FCltiger nicht-boolescher Wert {0}. -jqlc.codegeneration.primary.null=CodeGeneration.primary: ung\u00FCltiger Nullwert. - -jqlc.variabletable.markused.varnotfound=VariableTable.markUsed Variable {0} nicht gefunden. -jqlc.variabletable.markused.multidep=VariableTable.markUsed mehrere Abh\u00E4ngigkeiten f\u00FCr Variable {0} alt: {1}, neu: {2}. -jqlc.variabletable.markconstraint.varnotfound=VariableTable.markConstraint Variable {0} nicht gefunden. - -jqlc.jdoqlparameterdeclarationparser.next.wrongtoken=ParameterDeclarationHelper.ParameterTypeIterator.next: falscher Tokentyp {0} PARAMETER_DEF-Knoten erwartet. - -jqlc.queryvaluefetcher.getvalue.invalidparam=Ung\u00FCltiger Parameterindex {0} Parameter-Array hat eine L\u00E4nge {1}. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_es.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_es.properties deleted file mode 100644 index 10e3e912f48..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_es.properties +++ /dev/null @@ -1,236 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 79. -# -# This file is divided into following sections. -# 1. main compiler class -# 2. error message helper class -# 3. syntax error messages -# 4. semantic error messages -# 5. optimizer -# 6. code generation -# 7. Miscellaneous -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################## -#
    -# Message ID Range: JDO79000 - JDO79099 -############################################################################# - -jqlc.jqlc.generic.nocandidateclass=JDO79000: falta la especificaci\u00F3n de clase candidata. -jqlc.jqlc.checkcandidates.memorycollection=JDO79001: no est\u00E1n soportadas las consultas sobre recopilaciones no extendidas. -jqlc.jqlc.checkcandidates.mismatch=JDO79002: la recopilaci\u00F3n candidata no coincide con la clase candidata ''{0}''. -# {0} - name of the compiler pass -LOG_JQLCStartPass=JDO79003: inicio de JQLC {0} -# {0} - name of the compiler pass -LOG_JQLCDumpTree=JDO79004: \u00E1rbol de volcado de JQLC {0} -LOG_JQLCReuseRetrieveDesc=JDO79005: reutilizaci\u00F3n de RetrieveDesc en cach\u00E9 por JQLC - -############################################################################# -# -# it is the last arg for each of them that contains the -# actual message. -############################################################################# -jqlc.errormsg.generic.msg={0}: {1} -jqlc.errormsg.generic.msgcolumn={0} columna({1}): {2} -jqlc.errormsg.generic.msglinecolumn={0} l\u00EDnea({1}) columna({2}): {3} - -############################################################################# -# -# Message ID Range: JDO79100 - JDO79199 -############################################################################# - -jqlc.parser.syntaxerror=JDO79100: error de sintaxis. -jqlc.parser.syntaxerrorattoken=JDO79101: error de sintaxis en ''{0}''. -jqlc.parser.unexpectedtoken=JDO79102: token de error de sintaxis inesperado ''{0}''. -jqlc.parser.unexpectedchar=JDO79103: car\u00E1cter de error de sintaxis inesperado ''{0}''. -jqlc.parser.expectedfoundchar=JDO79104: car\u00E1cter de error de sintaxis esperado ''{0}'', encontrado en ''{1}''. -jqlc.parser.unexpectedEOF=JDO79105: error de sintaxis; final inesperado de texto. - -############################################################################# -# -# Message ID Range: JDO7109200 - JDO79399 -############################################################################# - -# semantic error messages (unsupported operations) - -jqlc.semantic.analysebitwiseexpr.exclusiveorop=JDO79200: ^ exclusivo o de operador no soportado. -jqlc.semantic.analysebitwiseexpr.integerbitwiseop=JDO79201: no est\u00E1 soportado el operador de entero a nivel de bit {0}. -jqlc.semantic.analysecollectioncall.unsupportedcollectionexpr=JDO79202: expresi\u00F3n de recopilaci\u00F3n no soportada ''{0}''. -jqlc.semantic.analysecollectioncall.nonvariable=JDO79203: variable esperada - sin variable contiene argumentos no soportados. -jqlc.semantic.generic.unsupportedconstraintop=JDO79204: operaci\u00F3n no soportada ''{0}'' para la cl\u00E1usula de restricci\u00F3n de la variable. -jqlc.semantic.candidateclass.nonpc=JDO79205: la clase ''{0}'' no es compatible con persistencia. No est\u00E1n soportadas en esta consulta las clases candidatas sin compatibilidad con persistencia. -jqlc.semantic.checkvalidorderingexpr.invalidordering=JDO79206: expresi\u00F3n no soportada ''{0}'' en la especificaci\u00F3n de ordenaci\u00F3n. -jqlc.semantic.checkvalidresultexpr.invalidresult=JDO79207: expresi\u00F3n no soportada ''{0}'' en la especificaci\u00F3n de resultado. - -# semantic error messages (user errors) - -jqlc.semantic.analysecollectioncall.typemismatch=JDO79208: el tipo de elemento de la recopilaci\u00F3n ''{0}'' y el tipo de variable ''{1}'' no son compatibles. -jqlc.semantic.analysecollectioncall.relationshipexpected=JDO79209: campo de relaci\u00F3n esperado ''{0}''. -jqlc.semantic.analysedotexpr.classexprexpected=JDO79210: expresi\u00F3n de tipo de clase esperada. -jqlc.semantic.analysefieldaccess.nonperistentfield=JDO79211: no se puede acceder al campo no persistente ''{0}'' de la clase compatible con persistencia ''{1}''. -jqlc.semantic.analysefieldaccess.nonpublicfield=JDO79212: no se puede acceder al campo no p\u00FAblico ''{0}'' de la clase no compatible con persistencia ''{1}''. -jqlc.semantic.analysestaticfieldaccess.staticreference=JDO79213: no se puede establecer una referencia est\u00E1tica a una variable no est\u00E1tica ''{0}'' de la clase ''{1}''. -jqlc.semantic.analysestaticfieldaccess.nonpublicfield=JDO79214: no se puede acceder al campo est\u00E1tico no p\u00FAblico ''{0}'' de la clase ''{1}''. -jqlc.semantic.analyserelationalexpr.notorderable=JDO79215: el tipo de operando ''{0}'' de {1} no permite su ordenaci\u00F3n. -jqlc.semantic.expression.undefined=JDO79216: expresi\u00F3n no definida ''{0}''. -jqlc.semantic.filter.booleanexpected=JDO79217: expresi\u00F3n booleana esperada; la expresi\u00F3n del filtro tiene el tipo ''{0}''. -jqlc.semantic.generic.alreadydeclared=JDO79218: ''{0}'' ya declarada como {1}. -jqlc.semantic.generic.arguments.numbermismatch=JDO79219: n\u00FAmero de argumentos incorrecto. -jqlc.semantic.generic.arguments.typemismatch=JDO79220: tipo de par\u00E1metro real incompatible. No se puede convertir ''{0}'' en ''{1}''. -jqlc.semantic.generic.arguments.invalid=JDO79221: argumentos no v\u00E1lidos para ''{0}''. -jqlc.semantic.generic.invalidmethodcall=JDO79222: llamada a m\u00E9todo no v\u00E1lido. -jqlc.semantic.generic.unknownfield=JDO79223: el campo ''{0}'' no est\u00E1 definido para la clase ''{1}''. -jqlc.semantic.generic.unknowntype=JDO79224: tipo desconocido ''{0}''. -jqlc.semantic.identifier.undefined=JDO79225: identificador no definido ''{0}''. -jqlc.semantic.primary.invalidcast=JDO79226: no se puede convertir una expresi\u00F3n del tipo ''{0}'' en el tipo ''{1}''. -jqlc.semantic.type.notype=JDO79227: tipo esperado, ''{0}'', definido como {1}. -jqlc.semantic.analyseorderingexpression.notorderable=JDO79228: el tipo ''{0}'' de expresi\u00F3n de ordenaci\u00F3n no permite su ordenaci\u00F3n. -jqlc.semantic.checkvalidresultexpr.invalidavgsumexpr=JDO79229: el tipo ''{0}'' de la expresi\u00F3n agregada ''{1}'' no es num\u00E9rico o de caracteres. -jqlc.semantic.checkvalidresultexpr.invalidminmaxexpr=JDO79230: el tipo ''{0}'' de la expresi\u00F3n agregada ''{1}'' no permite su ordenaci\u00F3n. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresultfield=JDO79231: la expresi\u00F3n de campo de resultados distinta ''{0}'' y la expresi\u00F3n de ordenaci\u00F3n ''{1}'' no son compatibles. Deben ser el mismo campo. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresult=JDO79232: la expresi\u00F3n de resultado ''distinct {0}'' y la expresi\u00F3n de ordenaci\u00F3n ''{1}'' no son compatibles. Deben estar en la misma clase y utilizar la misma expresi\u00F3n de navegaci\u00F3n para la clase. - -# query parameter table - -jqlc.parametertable.checkunboundparams.unboundparam=JDO79233: par\u00E1metro de consulta no enlazado ''{0}''. -jqlc.parametertable.definevaluebyname.undefinedparam=JDO79234: par\u00E1metro de consulta no definido ''{0}''. -jqlc.parametertable.definevaluebyindex.wrongnumberofargs=JDO79235: n\u00FAmero de argumentos incorrecto. -jqlc.parametertable.definevaluebyindex.typemismatch=JDO79236: tipo de par\u00E1metro real incompatible. No se puede convertir ''{0}'' en ''{1}''. - -############################################################################# -# -# Message ID Range: JDO79400 - JDO79499 -############################################################################# - -jqlc.optimizer.staticfieldaccess.illegal=JDO79400: no se puede acceder al campo est\u00E1tico ''{0}'' de la clase ''{1}''. -jqlc.optimizer.literal.invalid=JDO79401: Literal {0} ''{1}'' no v\u00E1lido. - -############################################################################# -# -# Message ID Range: JDO79500 - JDO79599 -############################################################################# - -jqlc.codegeneration.fieldaccess.illegal=JDO79500: no se puede acceder al campo ''{0}'' del objeto ''{1}''. -jqlc.codegeneration.collectioncomparison.nonnull=JDO79501: no est\u00E1 soportada la comparaci\u00F3n de recopilaciones con valor no NULL. -jqlc.codegeneration.generic.unsupportedop=JDO79502: operaci\u00F3n no soportada ''{0}''. -jqlc.codegeneration.substring.beginnegative=JDO79503: el \u00EDndice inicial ''{0}'' del m\u00E9todo de subcadena es negativo. -jqlc.codegeneration.substring.beginlargerend=JDO79504: el \u00EDndice inicial ''{0}'' del m\u00E9todo de subcadena es mayor que el \u00EDndice final ''{1}''. -jqlc.codegeneration.resultExpr.missingpkfields=JDO79505: expresi\u00F3n COUNT no soportada. El tipo de expresi\u00F3n ''{0}'' es una clase compatible con persistencia sin campos de clave primaria. - -############################################################################# -# -# Message ID Range: JDO79600 - JDO79699 -############################################################################# -# {0} - RetrieveDesc info -LOG_JQLCDumpRD=JDO79600: volcado de RetrieveDesc por JQLC {0} - -# variable table - -jqlc.variabletable.markconstraint.multiple=JDO79601: varias restricciones para la variable ''{0}''. -jqlc.variabletable.checkconstraint.unused=JDO79602: la variable ''{0}'' est\u00E1 definida, pero no se utiliza. -jqlc.variabletable.checkconstraint.cycle=JDO79603: definici\u00F3n de restricci\u00F3n c\u00EDclica no soportada para la variable ''{0}''. -jqlc.variabletable.merge.different=JDO79604: diferentes restricciones para la misma variable ''{0}''. - - -############################################################################### -# -############################################################################### -# -# -# -jqlc.jqlc.checkcandidates.nullpc=La clase compatible con persistencia de recopilaci\u00F3n de extensiones es nula. - -jqlc.parser.invalidunicodestr=JQLLexer.UNICODE_STR - -jqlc.parametertable.getvaluebyname.undefined=ParameterTable.getValueByName: par\u00E1metro no definido {0}. -jqlc.parametertable.getvaluebyindex.wrongindex=ParameterTable.getValueByIndex: \u00EDndice incorrecto {0}. -jqlc.parametertable.definevaluebyindex.wrongindex=ParameterTable.defineValueByIndex: \u00EDndice incorrecto {0}. - -jqlc.semantic.checkcandidateclass.unknowntype=Semantic.checkCandidateClass: tipo desconocido {0}. -jqlc.semantic.analysedefinedidentifier.illegalident=Semantic.analyseDefinedIdentifier: definici\u00F3n de identificador no v\u00E1lida {0}. -jqlc.semantic.getcollectionfield.missingchildren=Semantic.getCollectionField: faltan los secundarios de la estructura de nodos no v\u00E1lida. - -jqlc.optimizer.checkbinaryplusop.invalidtype=Optimizer.checkBinaryPlusOp: tipo no v\u00E1lido {0}. -jqlc.optimizer.checkbinaryminusop.invalidtype=Optimizer.checkBinaryMinusOp: tipo no v\u00E1lido {0}. -jqlc.optimizer.checkmultiplicationop.invalidtype=Optimizer.checkMultiplicationOp: tipo no v\u00E1lido {0}. -jqlc.optimizer.checkdivisionop.invalidtype=Optimizer.checkDivisionOp: tipo no v\u00E1lido {0}. -jqlc.optimizer.checkmodop.invalidtype=Optimizer.checkModOp: tipo no v\u00E1lido {0}. -jqlc.optimizer.checkunaryminusop.invalidtype=Optimizer.checkUnaryMinusOp: tipo no v\u00E1lido {0}. -jqlc.optimizer.getbigdecimalvalue.notnumber=Optimizer.getBigDecimalValue: valor de n\u00FAmero esperado {0}. -jqlc.optimizer.getbigintegervalue.notnumber=Optimizer.getBigIntegerValue: valor de n\u00FAmero esperado {0}. -jqlc.optimizer.isempty.requirecollection=Optimizer.isEmpty: necesita valor de recopilaci\u00F3n. - -jqlc.codegeneration.generatesimplefieldvaluecomparison.invalidvalue=CodeGeneration.generateSimpleFieldValueComparison: valor nulo no v\u00E1lido en la operaci\u00F3n relacional. -jqlc.codegeneration.generateparametervaluecomparison.invalidvalue=CodeGeneration.generateParameterValueComparison: valor nulo no v\u00E1lido en la operaci\u00F3n relacional. -jqlc.codegeneration.getkeyfieldscomparisonbooleanop.invalidobj=CodeGeneration.getKeyFieldsComparisonBooleanOp: operaci\u00F3n de comparaci\u00F3n de objetos no v\u00E1lida {0}. -jqlc.codegeneration.filter.nonbooleanvalue=CodeGeneration.filter: valor no booleano no v\u00E1lido {0}. -jqlc.codegeneration.primary.null=CodeGeneration.primary: valor nulo no v\u00E1lido. - -jqlc.variabletable.markused.varnotfound=No se ha encontrado la variable {0} de VariableTable.markUsed. -jqlc.variabletable.markused.multidep=VariableTable.markUsed varias dependencias para la variable {0} antigua: {1}, nueva: {2}. -jqlc.variabletable.markconstraint.varnotfound=No se ha encontrado la variable {0} de VariableTable.markConstraint. - -jqlc.jdoqlparameterdeclarationparser.next.wrongtoken=ParameterDeclarationHelper.ParameterTypeIterator.next: tipo de token incorrecto {0}; nodo PARAMETER_DEF esperado. - -jqlc.queryvaluefetcher.getvalue.invalidparam=\u00CDndice de par\u00E1metros no v\u00E1lido {0}; la matriz de par\u00E1metros tiene una longitud de {1}. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_fr.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_fr.properties deleted file mode 100644 index b65dd5792de..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_fr.properties +++ /dev/null @@ -1,236 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 79. -# -# This file is divided into following sections. -# 1. main compiler class -# 2. error message helper class -# 3. syntax error messages -# 4. semantic error messages -# 5. optimizer -# 6. code generation -# 7. Miscellaneous -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################## -#
    -# Message ID Range: JDO79000 - JDO79099 -############################################################################# - -jqlc.jqlc.generic.nocandidateclass=JDO79000 : sp\u00E9cifications de la classe candidat manquantes. -jqlc.jqlc.checkcandidates.memorycollection=JDO79001 : les requ\u00EAtes sur les collections autres que d'extents ne sont pas prises en charge. -jqlc.jqlc.checkcandidates.mismatch=JDO79002 : la collection candidat ne correspond pas \u00E0 la classe candidat ''{0}''. -# {0} - name of the compiler pass -LOG_JQLCStartPass=JDO79003 : JQLC d\u00E9marre {0} -# {0} - name of the compiler pass -LOG_JQLCDumpTree=JDO79004 : arborescence de vidage JQLC {0} -LOG_JQLCReuseRetrieveDesc=JDO79005 : JQLC r\u00E9utilise RetrieveDesc mis en cache. - -############################################################################# -# -# it is the last arg for each of them that contains the -# actual message. -############################################################################# -jqlc.errormsg.generic.msg={0}: {1} -jqlc.errormsg.generic.msgcolumn={0} colonne({1}) : {2} -jqlc.errormsg.generic.msglinecolumn={0} ligne({1}) colonne({2}) : {3} - -############################################################################# -# -# Message ID Range: JDO79100 - JDO79199 -############################################################################# - -jqlc.parser.syntaxerror=JDO79100 : erreur de syntaxe. -jqlc.parser.syntaxerrorattoken=JDO79101 : erreur de syntaxe \u00E0 ''{0}''. -jqlc.parser.unexpectedtoken=JDO79102 : jeton inattendu d''erreur de syntaxe ''{0}''. -jqlc.parser.unexpectedchar=JDO79103 : caract\u00E8re inattendu d''erreur de syntaxe ''{0}''. -jqlc.parser.expectedfoundchar=JDO79104 : caract\u00E8re attendu d''erreur de syntaxe ''{0}'', trouv\u00E9 ''{1}''. -jqlc.parser.unexpectedEOF=JDO79105 : fin inattendue du texte due \u00E0 une erreur de syntaxe. - -############################################################################# -# -# Message ID Range: JDO7109200 - JDO79399 -############################################################################# - -# semantic error messages (unsupported operations) - -jqlc.semantic.analysebitwiseexpr.exclusiveorop=JDO79200 : exclusif ou op\u00E9rateur ^ non pris en charge. -jqlc.semantic.analysebitwiseexpr.integerbitwiseop=JDO79201 : op\u00E9rateur au niveau du bit entier {0} non pris en charge. -jqlc.semantic.analysecollectioncall.unsupportedcollectionexpr=JDO79202 : expression de collection ''{0}'' non prise en charge. -jqlc.semantic.analysecollectioncall.nonvariable=JDO79203 : variable attendue - la non variable contient des arguments qui ne sont pas pris en charge. -jqlc.semantic.generic.unsupportedconstraintop=JDO79204 : op\u00E9ration ''{0}'' non prise en charge pour une clause de contrainte variable. -jqlc.semantic.candidateclass.nonpc=JDO79205 : la classe ''{0}'' n''est pas capable de persistance. Les classes Candidat qui ne sont pas capables de persistance ne sont pas prises en charge pour la requ\u00EAte. -jqlc.semantic.checkvalidorderingexpr.invalidordering=JDO79206 : expression ''{0}'' dans les sp\u00E9cifications de classement non prise en charge. -jqlc.semantic.checkvalidresultexpr.invalidresult=JDO79207 : l''expression ''{0}'' dans les sp\u00E9cifications de r\u00E9sultat n''est pas prise en charge. - -# semantic error messages (user errors) - -jqlc.semantic.analysecollectioncall.typemismatch=JDO79208 : le type d''\u00E9l\u00E9ment de collection ''{0}'' et le type de variable ''{1}'' ne sont pas compatibles. -jqlc.semantic.analysecollectioncall.relationshipexpected=JDO79209 : le champ de relation ''{0}'' est attendu. -jqlc.semantic.analysedotexpr.classexprexpected=JDO79210 : une expression de type classe est attendue. -jqlc.semantic.analysefieldaccess.nonperistentfield=JDO79211 : impossible d''acc\u00E9der au champ non persistant ''{0}'' de la classe capable de persistance ''{1}''. -jqlc.semantic.analysefieldaccess.nonpublicfield=JDO79212 : impossible d''acc\u00E9der au champ non-public ''{0}'' de la classe ''{1}''qui n''est pas capable de persistance. -jqlc.semantic.analysestaticfieldaccess.staticreference=JDO79213 : impossible de faire une r\u00E9f\u00E9rence statique \u00E0 une variable non statique ''{0}'' de la classe ''{1}''. -jqlc.semantic.analysestaticfieldaccess.nonpublicfield=JDO79214 : impossible d''acc\u00E9der au champ statique non public ''{0}'' de la classe ''{1}''. -jqlc.semantic.analyserelationalexpr.notorderable=JDO79215 : le type d''op\u00E9rande ''{0}'' de {1} ne peut pas \u00EAtre tri\u00E9. -jqlc.semantic.expression.undefined=JDO79216 : expression non d\u00E9finie ''{0}''. -jqlc.semantic.filter.booleanexpected=JDO79217 : expression bool\u00E9enne attendue, l''expression de filtre a le type ''{0}''. -jqlc.semantic.generic.alreadydeclared=JDO79218 : ''{0}'' d\u00E9j\u00E0 d\u00E9clar\u00E9 comme {1}. -jqlc.semantic.generic.arguments.numbermismatch=JDO79219 : nombre d'arguments incorrect. -jqlc.semantic.generic.arguments.typemismatch=JDO79220 : type de param\u00E8tre effectif incompatible. Impossible de convertir ''{0}'' en ''{1}''. -jqlc.semantic.generic.arguments.invalid=JDO79221 : les arguments de ''{0}'' ne sont pas valides. -jqlc.semantic.generic.invalidmethodcall=JDO79222 : appel de m\u00E9thode incorrect. -jqlc.semantic.generic.unknownfield=JDO79223 : le champ ''{0}'' n''est pas d\u00E9fini pour la classe ''{1}''. -jqlc.semantic.generic.unknowntype=JDO79224 : type ''{0}'' inconnu. -jqlc.semantic.identifier.undefined=JDO79225 : identificateur ''{0}'' non d\u00E9fini. -jqlc.semantic.primary.invalidcast=JDO79226 : impossible de convertir l''expression de type ''{0}'' en ''{1}''. -jqlc.semantic.type.notype=JDO79227 : type attendu, ''{0}'' est d\u00E9fini comme {1}. -jqlc.semantic.analyseorderingexpression.notorderable=JDO79228 : le type ''{0}'' de l''expression de classement ne peut pas \u00EAtre tri\u00E9. -jqlc.semantic.checkvalidresultexpr.invalidavgsumexpr=JDO79229 : le type ''{0}'' de l''expression d''agr\u00E9gation ''{1}'' n''est pas de type Number ou Char. -jqlc.semantic.checkvalidresultexpr.invalidminmaxexpr=JDO79230 : le type ''{0}'' de l''expression d''agr\u00E9gation ''{1}'' ne peut pas \u00EAtre tri\u00E9. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresultfield=JDO79231 : l''expression de champ de r\u00E9sultat ''{0}'' n''est pas compatible avec l''expression de classement ''{1}''. Elles doivent \u00EAtre identiques. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresult=JDO79232 : l''expression de r\u00E9sultat ''{0} distinct'' n''est pas compatible avec l''expression de classement ''{1}''. Celles-ci doivent correspondre \u00E0 des champs d''une m\u00EAme classe et doivent utiliser la m\u00EAme expression de navigation vers la classe. - -# query parameter table - -jqlc.parametertable.checkunboundparams.unboundparam=JDO79233 : le param\u00E8tre de requ\u00EAte ''{0}'' n''est pas li\u00E9. -jqlc.parametertable.definevaluebyname.undefinedparam=JDO79234 : le param\u00E8tre de requ\u00EAte ''{0}'' n''est pas d\u00E9fini. -jqlc.parametertable.definevaluebyindex.wrongnumberofargs=JDO79235 : nombre d'arguments incorrect. -jqlc.parametertable.definevaluebyindex.typemismatch=JDO79236 : type de param\u00E8tre effectif incompatible. Impossible de convertir ''{0}'' en ''{1}''. - -############################################################################# -# -# Message ID Range: JDO79400 - JDO79499 -############################################################################# - -jqlc.optimizer.staticfieldaccess.illegal=JDO79400 : impossible d''acc\u00E9der au champ statique ''{0}'' de la classe ''{1}''. -jqlc.optimizer.literal.invalid=JDO79401 : litt\u00E9ral {0} ''{1}'' non valide. - -############################################################################# -# -# Message ID Range: JDO79500 - JDO79599 -############################################################################# - -jqlc.codegeneration.fieldaccess.illegal=JDO79500 : impossible d''acc\u00E9der au champ ''{0}'' de l''objet ''{1}''. -jqlc.codegeneration.collectioncomparison.nonnull=JDO79501 : cette comparaison de collection avec une valeur non NULL n'est pas prise en charge. -jqlc.codegeneration.generic.unsupportedop=JDO79502 : l''op\u00E9ration ''{0}'' n''est pas prise en charge -jqlc.codegeneration.substring.beginnegative=JDO79503 : l''index de d\u00E9but ''{0}'' de la m\u00E9thode substring est n\u00E9gatif. -jqlc.codegeneration.substring.beginlargerend=JDO79504 : l''index de d\u00E9but ''{0}''de la m\u00E9thode substring est plus grand que l''index de fin ''{1}''. -jqlc.codegeneration.resultExpr.missingpkfields=JDO79505 : expression COUNT non prise en charge. Le type d''expression ''{0}'' correspond \u00E0 une classe capable de persistance sans champ de cl\u00E9 primaire. - -############################################################################# -# -# Message ID Range: JDO79600 - JDO79699 -############################################################################# -# {0} - RetrieveDesc info -LOG_JQLCDumpRD=JDO79600 : JQLC vide RetrieveDesc {0} - -# variable table - -jqlc.variabletable.markconstraint.multiple=JDO79601 : contraintes multiples pour la variable ''{0}''. -jqlc.variabletable.checkconstraint.unused=JDO79602 : la variable ''{0}'' est d\u00E9finie mais pas utilis\u00E9e. -jqlc.variabletable.checkconstraint.cycle=JDO79603 : d\u00E9finition de la contrainte cyclique pour la variable ''{0}'' non prise en charge. -jqlc.variabletable.merge.different=JDO79604 : diff\u00E9rentes contraintes pour la m\u00EAme variable ''{0}''. - - -############################################################################### -# -############################################################################### -# -# -# -jqlc.jqlc.checkcandidates.nullpc=La classe capable de persistance de la collection d'extents est NULL. - -jqlc.parser.invalidunicodestr=JQLLexer.UNICODE_STR - -jqlc.parametertable.getvaluebyname.undefined=ParameterTable.getValueByName : param\u00E8tre {0} ind\u00E9fini. -jqlc.parametertable.getvaluebyindex.wrongindex=ParameterTable.getValueByIndex : index {0} incorrect. -jqlc.parametertable.definevaluebyindex.wrongindex=ParameterTable.defineValueByIndex : index {0} incorrect. - -jqlc.semantic.checkcandidateclass.unknowntype=Semantic.checkCandidateClass : type {0} inconnu. -jqlc.semantic.analysedefinedidentifier.illegalident=Semantic.analyseDefinedIdentifier : d\u00E9finition d''identificateur {0} interdite. -jqlc.semantic.getcollectionfield.missingchildren=Semantic.getCollectionField : enfants de la structure de noeud non valide manquants. - -jqlc.optimizer.checkbinaryplusop.invalidtype=Optimizer.checkBinaryPlusOp : type {0} non valide. -jqlc.optimizer.checkbinaryminusop.invalidtype=Optimizer.checkBinaryMinusOp : type {0} non valide. -jqlc.optimizer.checkmultiplicationop.invalidtype=Optimizer.checkMultiplicationOp : type {0} non valide. -jqlc.optimizer.checkdivisionop.invalidtype=Optimizer.checkDivisionOp : type {0} non valide. -jqlc.optimizer.checkmodop.invalidtype=Optimizer.checkModOp : type {0} non valide. -jqlc.optimizer.checkunaryminusop.invalidtype=Optimizer.checkUnaryMinusOp : type {0} non valide. -jqlc.optimizer.getbigdecimalvalue.notnumber=Optimizer.getBigDecimalValue : valeur num\u00E9rique attendue {0}. -jqlc.optimizer.getbigintegervalue.notnumber=Optimizer.getBigIntegerValue : valeur num\u00E9rique attendue {0}. -jqlc.optimizer.isempty.requirecollection=Optimizer.isEmpty : exige une valeur de collection. - -jqlc.codegeneration.generatesimplefieldvaluecomparison.invalidvalue=CodeGeneration.generateSimpleFieldValueComparison : valeur NULL non valide dans l'op\u00E9ration relationnelle. -jqlc.codegeneration.generateparametervaluecomparison.invalidvalue=CodeGeneration.generateParameterValueComparison : valeur NULL non valide dans l'op\u00E9ration relationnelle. -jqlc.codegeneration.getkeyfieldscomparisonbooleanop.invalidobj=CodeGeneration.getKeyFieldsComparisonBooleanOp : op\u00E9ration de comparaison de l''objet non valide {0}. -jqlc.codegeneration.filter.nonbooleanvalue=CodeGeneration.filter : valeur non bool\u00E9enne {0} non valide. -jqlc.codegeneration.primary.null=CodeGeneration.primary : valeur NULL non valide. - -jqlc.variabletable.markused.varnotfound=Variable VariableTable.markUsed {0} introuvable. -jqlc.variabletable.markused.multidep=Plusieurs d\u00E9pendances VariableTable.markUsed pour la variable {0} ; ancienne : {1}, nouvelle : {2}. -jqlc.variabletable.markconstraint.varnotfound=Variable Table.markConstraint {0} introuvable. - -jqlc.jdoqlparameterdeclarationparser.next.wrongtoken=ParameterDeclarationHelper.ParameterTypeIterator.next : type de jeton {0} incorrect, noeud PARAMETER_DEF attendu. - -jqlc.queryvaluefetcher.getvalue.invalidparam=Index de param\u00E8tre non valide {0} ; le tableau de param\u00E8tres a une longueur de {1}. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_it.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_it.properties deleted file mode 100644 index 83e8cc198a6..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_it.properties +++ /dev/null @@ -1,236 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 79. -# -# This file is divided into following sections. -# 1. main compiler class -# 2. error message helper class -# 3. syntax error messages -# 4. semantic error messages -# 5. optimizer -# 6. code generation -# 7. Miscellaneous -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################## -#
    -# Message ID Range: JDO79000 - JDO79099 -############################################################################# - -jqlc.jqlc.generic.nocandidateclass=JDO79000: specifica della classe candidata mancante. -jqlc.jqlc.checkcandidates.memorycollection=JDO79001: query su raccolte senza extent non supportate. -jqlc.jqlc.checkcandidates.mismatch=JDO79002: la raccolta candidata non corrisponde alla classe candidata ''{0}''. -# {0} - name of the compiler pass -LOG_JQLCStartPass=JDO79003: inizio di JQLC {0} -# {0} - name of the compiler pass -LOG_JQLCDumpTree=JDO79004: struttura (ad albero) del dump JQLC {0} -LOG_JQLCReuseRetrieveDesc=JDO79005: JQLC riutilizza RetrieveDesc nella cache - -############################################################################# -# -# it is the last arg for each of them that contains the -# actual message. -############################################################################# -jqlc.errormsg.generic.msg={0}: {1} -jqlc.errormsg.generic.msgcolumn={0} colonna({1}): {2} -jqlc.errormsg.generic.msglinecolumn={0} riga({1}) colonna({2}): {3} - -############################################################################# -# -# Message ID Range: JDO79100 - JDO79199 -############################################################################# - -jqlc.parser.syntaxerror=JDO79100: errore di sintassi. -jqlc.parser.syntaxerrorattoken=JDO79101: errore di sintassi in ''{0}''. -jqlc.parser.unexpectedtoken=JDO79102: errore di sintassi - token ''{0}'' imprevisto. -jqlc.parser.unexpectedchar=JDO79103: errore di sintassi - carattere ''{0}'' imprevisto. -jqlc.parser.expectedfoundchar=JDO79104: errore di sintassi - previsto il carattere ''{0}'', trovato ''{1}''. -jqlc.parser.unexpectedEOF=JDO79105: errore di sintassi - fine imprevista del testo. - -############################################################################# -# -# Message ID Range: JDO7109200 - JDO79399 -############################################################################# - -# semantic error messages (unsupported operations) - -jqlc.semantic.analysebitwiseexpr.exclusiveorop=JDO79200: operatore OR esclusivo ^ non supportato. -jqlc.semantic.analysebitwiseexpr.integerbitwiseop=JDO79201: operatore bit per bit di numero intero {0} non supportato. -jqlc.semantic.analysecollectioncall.unsupportedcollectionexpr=JDO79202: espressione di raccolta ''{0}'' non supportata. -jqlc.semantic.analysecollectioncall.nonvariable=JDO79203: prevista una variabile. Il valore non variabile contiene argomenti non supportati. -jqlc.semantic.generic.unsupportedconstraintop=JDO79204: operazione ''{0}'' non supportata per clausola con vincolo variabile. -jqlc.semantic.candidateclass.nonpc=JDO79205: la classe ''{0}'' non ha funzionalit\u00E0 di persistenza. Le classi candidate senza funzionalit\u00E0 di persistenza non sono supportate per la query. -jqlc.semantic.checkvalidorderingexpr.invalidordering=JDO79206: espressione ''{0}'' non supportata nella specifica di ordinamento. -jqlc.semantic.checkvalidresultexpr.invalidresult=JDO79207: espressione ''{0}'' non supportata nella specifica del risultato. - -# semantic error messages (user errors) - -jqlc.semantic.analysecollectioncall.typemismatch=JDO79208: tipo di elemento di raccolta ''{0}'' e tipo di variabile ''{1}'' non compatibili. -jqlc.semantic.analysecollectioncall.relationshipexpected=JDO79209: previsto campo relazione ''{0}''. -jqlc.semantic.analysedotexpr.classexprexpected=JDO79210: prevista espressione di tipo di classe. -jqlc.semantic.analysefieldaccess.nonperistentfield=JDO79211: impossibile accedere al campo non persistente ''{0}'' della classe con funzionalit\u00E0 di persistenza ''{1}''. -jqlc.semantic.analysefieldaccess.nonpublicfield=JDO79212: impossibile accedere al campo non pubblico ''{0}'' della classe senza funzionalit\u00E0 di persistenza ''{1}''. -jqlc.semantic.analysestaticfieldaccess.staticreference=JDO79213: impossibile stabilire un riferimento statico a una variabile non statica ''{0}'' della classe ''{1}''. -jqlc.semantic.analysestaticfieldaccess.nonpublicfield=JDO79214: impossibile accedere al campo statico non pubblico ''{0}'' della classe ''{1}''. -jqlc.semantic.analyserelationalexpr.notorderable=JDO79215: il tipo di operando ''{0}'' di {1} non \u00E8 ordinabile. -jqlc.semantic.expression.undefined=JDO79216: espressione ''{0}'' non definita. -jqlc.semantic.filter.booleanexpected=JDO79217: prevista espressione booleana, l''espressione del filtro \u00E8 di tipo ''{0}''. -jqlc.semantic.generic.alreadydeclared=JDO79218: ''{0}'' gi\u00E0 dichiarato come {1}. -jqlc.semantic.generic.arguments.numbermismatch=JDO79219: numero di argomenti errato. -jqlc.semantic.generic.arguments.typemismatch=JDO79220: tipo di parametro effettivo non compatibile. Impossibile convertire ''{0}'' in ''{1}''. -jqlc.semantic.generic.arguments.invalid=JDO79221: argomento/i non valido/i per ''{0}''. -jqlc.semantic.generic.invalidmethodcall=JDO79222: chiamata a un metodo non valida. -jqlc.semantic.generic.unknownfield=JDO79223: campo ''{0}'' non definito per la classe ''{1}''. -jqlc.semantic.generic.unknowntype=JDO79224: tipo ''{0}'' sconosciuto. -jqlc.semantic.identifier.undefined=JDO79225: identificativo ''{0}'' non definito. -jqlc.semantic.primary.invalidcast=JDO79226: impossibile convertire l''espressione del tipo ''{0}'' nel tipo ''{1}''. -jqlc.semantic.type.notype=JDO79227: il tipo previsto ''{0}'' \u00E8 definito come {1}. -jqlc.semantic.analyseorderingexpression.notorderable=JDO79228: il tipo ''{0}'' di espressione di ordinamento non \u00E8 ordinabile. -jqlc.semantic.checkvalidresultexpr.invalidavgsumexpr=JDO79229: il tipo ''{0}'' dell''espressione di aggregazione ''{1}'' non \u00E8 un tipo di numero o di carattere. -jqlc.semantic.checkvalidresultexpr.invalidminmaxexpr=JDO79230: il tipo ''{0}'' dell''espressione di aggregazione ''{1}'' non \u00E8 ordinabile. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresultfield=JDO79231: l''espressione campo di risultato distinct ''{0}'' e l''espressione di ordinamento ''{1}'' non sono compatibili. Devono essere lo stesso campo. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresult=JDO79232: l''espressione di risultato ''distinct {0}'' e l''espressione di ordinamento ''{1}'' non sono compatibili. Devono essere campi nella stessa classe e utilizzare la stessa espressione di navigazione alla classe. - -# query parameter table - -jqlc.parametertable.checkunboundparams.unboundparam=JDO79233: parametro di query ''{0}'' non associato. -jqlc.parametertable.definevaluebyname.undefinedparam=JDO79234: parametro di query ''{0}'' non definito. -jqlc.parametertable.definevaluebyindex.wrongnumberofargs=JDO79235: numero di argomenti errato. -jqlc.parametertable.definevaluebyindex.typemismatch=JDO79236: tipo di parametro effettivo non compatibile. Impossibile convertire ''{0}'' in ''{1}''. - -############################################################################# -# -# Message ID Range: JDO79400 - JDO79499 -############################################################################# - -jqlc.optimizer.staticfieldaccess.illegal=JDO79400: impossibile accedere al campo statico ''{0}'' della classe ''{1}''. -jqlc.optimizer.literal.invalid=JDO79401: valore {0} ''{1}'' non valido. - -############################################################################# -# -# Message ID Range: JDO79500 - JDO79599 -############################################################################# - -jqlc.codegeneration.fieldaccess.illegal=JDO79500: impossibile accedere al campo ''{0}'' dell''oggetto ''{1}''. -jqlc.codegeneration.collectioncomparison.nonnull=JDO79501: confronto della raccolta con valore non nullo non supportato. -jqlc.codegeneration.generic.unsupportedop=JDO79502: operazione ''{0}'' non supportata -jqlc.codegeneration.substring.beginnegative=JDO79503: l''indice di inizio ''{0}'' del metodo della sottostringa \u00E8 negativo. -jqlc.codegeneration.substring.beginlargerend=JDO79504: l''indice di inizio''{0}''del metodo della sottostringa \u00E8 maggiore dell''indice di fine ''{1}''. -jqlc.codegeneration.resultExpr.missingpkfields=JDO79505: espressione COUNT non supportata. Il tipo di espressione ''{0}'' \u00E8 una classe con funzionalit\u00E0 di persistenza senza campi chiave primaria. - -############################################################################# -# -# Message ID Range: JDO79600 - JDO79699 -############################################################################# -# {0} - RetrieveDesc info -LOG_JQLCDumpRD=JDO79600: RetrieveDesc {0} del dump JQLC - -# variable table - -jqlc.variabletable.markconstraint.multiple=JDO79601: vincoli multipli per la variabile ''{0}''. -jqlc.variabletable.checkconstraint.unused=JDO79602: variabile ''{0}'' definita ma non utilizzata. -jqlc.variabletable.checkconstraint.cycle=JDO79603: definizione del vincolo ciclico non supportata per la variabile ''{0}''. -jqlc.variabletable.merge.different=JDO79604: vincoli diversi per la stessa variabile ''{0}''. - - -############################################################################### -# -############################################################################### -# -# -# -jqlc.jqlc.checkcandidates.nullpc=La classe con funzionalit\u00E0 di persistenza della raccolta di extent \u00E8 nulla. - -jqlc.parser.invalidunicodestr=JQLLexer.UNICODE_STR - -jqlc.parametertable.getvaluebyname.undefined=ParameterTable.getValueByName: parametro {0} non definito. -jqlc.parametertable.getvaluebyindex.wrongindex=ParameterTable.getValueByIndex: indice {0} errato. -jqlc.parametertable.definevaluebyindex.wrongindex=ParameterTable.defineValueByIndex: indice {0} errato. - -jqlc.semantic.checkcandidateclass.unknowntype=Semantic.checkCandidateClass: tipo {0} sconosciuto. -jqlc.semantic.analysedefinedidentifier.illegalident=Semantic.analyseDefinedIdentifier: definizione identificativo {0} non valida. -jqlc.semantic.getcollectionfield.missingchildren=Semantic.getCollectionField: elementi figlio della struttura nodi non valida mancanti. - -jqlc.optimizer.checkbinaryplusop.invalidtype=Optimizer.checkBinaryPlusOp: tipo {0} non valido. -jqlc.optimizer.checkbinaryminusop.invalidtype=Optimizer.checkBinaryMinusOp: tipo {0} non valido. -jqlc.optimizer.checkmultiplicationop.invalidtype=Optimizer.checkMultiplicationOp: tipo {0} non valido. -jqlc.optimizer.checkdivisionop.invalidtype=Optimizer.checkDivisionOp: tipo {0} non valido. -jqlc.optimizer.checkmodop.invalidtype=Optimizer.checkModOp: tipo {0} non valido. -jqlc.optimizer.checkunaryminusop.invalidtype=Optimizer.checkUnaryMinusOp: tipo {0} non valido. -jqlc.optimizer.getbigdecimalvalue.notnumber=Optimizer.getBigDecimalValue: previsto valore numerico {0}. -jqlc.optimizer.getbigintegervalue.notnumber=Optimizer.getBigIntegerValue: previsto valore numerico {0}. -jqlc.optimizer.isempty.requirecollection=Optimizer.isEmpty: richiede un valore di raccolta. - -jqlc.codegeneration.generatesimplefieldvaluecomparison.invalidvalue=CodeGeneration.generateSimpleFieldValueComparison: valore nullo non valido in un'operazione relazionale. -jqlc.codegeneration.generateparametervaluecomparison.invalidvalue=CodeGeneration.generateParameterValueComparison: valore nullo non valido in un'operazione relazionale. -jqlc.codegeneration.getkeyfieldscomparisonbooleanop.invalidobj=CodeGeneration.getKeyFieldsComparisonBooleanOp: operazione di confronto oggetti {0} non valida. -jqlc.codegeneration.filter.nonbooleanvalue=CodeGeneration.filter: valore non booleano {0} non valido. -jqlc.codegeneration.primary.null=CodeGeneration.primary: valore nullo non valido. - -jqlc.variabletable.markused.varnotfound=VariableTable.markUsed: variabile {0} non trovata. -jqlc.variabletable.markused.multidep=VariableTable.markUsed: pi\u00F9 dipendenze per la variabile {0}. Precedente: {1}, nuova: {2}. -jqlc.variabletable.markconstraint.varnotfound=VariableTable.markConstraint: variabile {0} non trovata. - -jqlc.jdoqlparameterdeclarationparser.next.wrongtoken=ParameterDeclarationHelper.ParameterTypeIterator.next: tipo di token {0} errato. Previsto nodo PARAMETER_DEF. - -jqlc.queryvaluefetcher.getvalue.invalidparam=Indice parametro {0} non valido, lunghezza array di parametri: {1}. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_ja.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_ja.properties deleted file mode 100644 index 39a05789415..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_ja.properties +++ /dev/null @@ -1,236 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 79. -# -# This file is divided into following sections. -# 1. main compiler class -# 2. error message helper class -# 3. syntax error messages -# 4. semantic error messages -# 5. optimizer -# 6. code generation -# 7. Miscellaneous -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################## -#
    -# Message ID Range: JDO79000 - JDO79099 -############################################################################# - -jqlc.jqlc.generic.nocandidateclass=JDO79000: \u5019\u88DC\u30AF\u30E9\u30B9\u306E\u6307\u5B9A\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -jqlc.jqlc.checkcandidates.memorycollection=JDO79001: \u7BC4\u56F2\u306E\u306A\u3044\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3078\u306E\u554F\u5408\u305B\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -jqlc.jqlc.checkcandidates.mismatch=JDO79002: \u5019\u88DC\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u304C\u5019\u88DC\u30AF\u30E9\u30B9''{0}''\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093\u3002 -# {0} - name of the compiler pass -LOG_JQLCStartPass=JDO79003: JQLC\u306F{0}\u3092\u958B\u59CB\u3057\u307E\u3059 -# {0} - name of the compiler pass -LOG_JQLCDumpTree=JDO79004: JQLC\u306F\u30C4\u30EA\u30FC{0}\u3092\u30C0\u30F3\u30D7\u3057\u307E\u3059 -LOG_JQLCReuseRetrieveDesc=JDO79005: JQLC\u306F\u30AD\u30E3\u30C3\u30B7\u30E5\u3055\u308C\u305FRetrieveDesc\u3092\u518D\u5229\u7528\u3057\u307E\u3059 - -############################################################################# -# -# it is the last arg for each of them that contains the -# actual message. -############################################################################# -jqlc.errormsg.generic.msg={0}: {1} -jqlc.errormsg.generic.msgcolumn={0}\u5217({1}): {2} -jqlc.errormsg.generic.msglinecolumn={0}\u884C({1})\u5217({2}): {3} - -############################################################################# -# -# Message ID Range: JDO79100 - JDO79199 -############################################################################# - -jqlc.parser.syntaxerror=JDO79100: \u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002 -jqlc.parser.syntaxerrorattoken=JDO79101: ''{0}''\u306B\u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002 -jqlc.parser.unexpectedtoken=JDO79102: \u69CB\u6587\u30A8\u30E9\u30FC\u3002\u4E88\u671F\u305B\u306C\u30C8\u30FC\u30AF\u30F3{0}\u304C\u3042\u308A\u307E\u3059\u3002 -jqlc.parser.unexpectedchar=JDO79103: \u69CB\u6587\u30A8\u30E9\u30FC\u3002\u4E88\u671F\u305B\u306Cchar ''{0}''\u304C\u3042\u308A\u307E\u3059\u3002 -jqlc.parser.expectedfoundchar=JDO79104: \u69CB\u6587\u30A8\u30E9\u30FC\u3002''{1}''\u3067\u4E88\u671F\u305B\u306Cchar ''{0}''\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002 -jqlc.parser.unexpectedEOF=JDO79105: \u69CB\u6587\u30A8\u30E9\u30FC\u3002\u30C6\u30AD\u30B9\u30C8\u306E\u4E88\u671F\u305B\u306C\u7D42\u4E86\u3067\u3059\u3002 - -############################################################################# -# -# Message ID Range: JDO7109200 - JDO79399 -############################################################################# - -# semantic error messages (unsupported operations) - -jqlc.semantic.analysebitwiseexpr.exclusiveorop=JDO79200: \u6392\u4ED6\u7684\u3067\u3042\u308B\u304B\u3001\u6F14\u7B97\u5B50^\u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -jqlc.semantic.analysebitwiseexpr.integerbitwiseop=JDO79201: \u6574\u6570\u30D3\u30C3\u30C8\u5358\u4F4D\u6F14\u7B97\u5B50{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -jqlc.semantic.analysecollectioncall.unsupportedcollectionexpr=JDO79202: \u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u5F0F''{0}''\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -jqlc.semantic.analysecollectioncall.nonvariable=JDO79203: \u5909\u6570\u304C\u4E88\u671F\u3055\u308C\u307E\u3057\u305F - \u5909\u6570\u4EE5\u5916\u306B\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u5F15\u6570\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002 -jqlc.semantic.generic.unsupportedconstraintop=JDO79204: \u5909\u6570\u5236\u7D04\u53E5\u3067\u306F\u6F14\u7B97''{0}''\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -jqlc.semantic.candidateclass.nonpc=JDO79205: \u30AF\u30E9\u30B9''{0}''\u306F\u6C38\u7D9A\u53EF\u80FD\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u554F\u5408\u305B\u3067\u306F\u3001\u6C38\u7D9A\u4E0D\u53EF\u5019\u88DC\u30AF\u30E9\u30B9\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -jqlc.semantic.checkvalidorderingexpr.invalidordering=JDO79206: \u9806\u5E8F\u306E\u6307\u5B9A\u306B\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u306A\u3044\u5F0F''{0}''\u304C\u3042\u308A\u307E\u3059\u3002 -jqlc.semantic.checkvalidresultexpr.invalidresult=JDO79207: \u7D50\u679C\u306E\u6307\u5B9A\u306B\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u306A\u3044\u5F0F''{0}''\u304C\u3042\u308A\u307E\u3059\u3002 - -# semantic error messages (user errors) - -jqlc.semantic.analysecollectioncall.typemismatch=JDO79208: \u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u8981\u7D20\u578B''{0}''\u3068\u5909\u6570\u578B''{1}''\u306E\u9593\u306B\u306F\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002 -jqlc.semantic.analysecollectioncall.relationshipexpected=JDO79209: \u60F3\u5B9A\u3055\u308C\u308B\u74B0\u5883\u30D5\u30A3\u30FC\u30EB\u30C9\u306F''{0}''\u3067\u3059\u3002 -jqlc.semantic.analysedotexpr.classexprexpected=JDO79210: \u30AF\u30E9\u30B9\u30FB\u30BF\u30A4\u30D7\u306E\u5F0F\u304C\u4E88\u671F\u3055\u308C\u307E\u3057\u305F\u3002 -jqlc.semantic.analysefieldaccess.nonperistentfield=JDO79211: \u6C38\u7D9A\u53EF\u80FD\u30AF\u30E9\u30B9''{1}''\u306E\u975E\u6C38\u7D9A\u30D5\u30A3\u30FC\u30EB\u30C9''{0}''\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002 -jqlc.semantic.analysefieldaccess.nonpublicfield=JDO79212: \u975E\u6C38\u7D9A\u53EF\u80FD\u30AF\u30E9\u30B9''{1}''\u306Epublic\u4EE5\u5916\u306E\u30D5\u30A3\u30FC\u30EB\u30C9''{0}''\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002 -jqlc.semantic.analysestaticfieldaccess.staticreference=JDO79213: \u30AF\u30E9\u30B9''{1}''\u306E\u9759\u7684\u3067\u306A\u3044\u5909\u6570''{0}''\u306B\u5BFE\u3057\u3066\u9759\u7684\u306A\u53C2\u7167\u3092\u4F5C\u6210\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -jqlc.semantic.analysestaticfieldaccess.nonpublicfield=JDO79214: \u30AF\u30E9\u30B9''{1}''\u306Epublic\u4EE5\u5916\u306E\u9759\u7684\u306A\u30D5\u30A3\u30FC\u30EB\u30C9''{0}''\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002 -jqlc.semantic.analyserelationalexpr.notorderable=JDO79215: {1}\u306E\u30AA\u30DA\u30E9\u30F3\u30C9\u578B''{0}''\u3092\u30BD\u30FC\u30C8\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -jqlc.semantic.expression.undefined=JDO79216: \u5F0F''{0}''\u306F\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -jqlc.semantic.filter.booleanexpected=JDO79217: \u30D6\u30FC\u30EB\u5F0F\u304C\u60F3\u5B9A\u3055\u308C\u307E\u3059\u3002\u30D5\u30A3\u30EB\u30BF\u5F0F\u306E\u578B\u306F''{0}''\u3067\u3059\u3002 -jqlc.semantic.generic.alreadydeclared=JDO79218: ''{0}''\u306F\u3059\u3067\u306B{1}\u3068\u3057\u3066\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u3002 -jqlc.semantic.generic.arguments.numbermismatch=JDO79219: \u5F15\u6570\u306E\u6570\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\u3002 -jqlc.semantic.generic.arguments.typemismatch=JDO79220: \u5B9F\u969B\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u306E\u578B\u306B\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002''{0}''\u3092''{1}''\u306B\u5909\u63DB\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -jqlc.semantic.generic.arguments.invalid=JDO79221: ''{0}''\u3067\u306F\u7121\u52B9\u306A\u5F15\u6570\u3067\u3059\u3002 -jqlc.semantic.generic.invalidmethodcall=JDO79222: \u30E1\u30BD\u30C3\u30C9\u547C\u51FA\u3057\u304C\u7121\u52B9\u3067\u3059\u3002 -jqlc.semantic.generic.unknownfield=JDO79223: \u30AF\u30E9\u30B9''{1}''\u306B\u306F\u30D5\u30A3\u30FC\u30EB\u30C9''{0}''\u306F\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -jqlc.semantic.generic.unknowntype=JDO79224: \u4E0D\u660E\u306A\u578B''{0}''\u3002 -jqlc.semantic.identifier.undefined=JDO79225: \u672A\u5B9A\u7FA9\u306E\u8B58\u5225\u5B50''{0}''\u3002 -jqlc.semantic.primary.invalidcast=JDO79226: \u578B''{0}''\u306E\u5F0F\u3092\u578B''{1}''\u306B\u30AD\u30E3\u30B9\u30C8\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -jqlc.semantic.type.notype=JDO79227: \u578B\u304C\u60F3\u5B9A\u3055\u308C\u307E\u3059\u3002''{0}''\u306F{1}\u3068\u3057\u3066\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002 -jqlc.semantic.analyseorderingexpression.notorderable=JDO79228: \u9806\u5E8F\u5F0F\u306E\u578B''{0}''\u3092\u30BD\u30FC\u30C8\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -jqlc.semantic.checkvalidresultexpr.invalidavgsumexpr=JDO79229: ''{1}''\u53CE\u96C6\u5F0F\u306E\u578B''{0}''\u304Cnumber\u578B\u307E\u305F\u306Fchar\u578B\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 -jqlc.semantic.checkvalidresultexpr.invalidminmaxexpr=JDO79230: \u53CE\u96C6\u5F0F''{1}''\u306E\u578B''{0}''\u3092\u30BD\u30FC\u30C8\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 -jqlc.semantic.checkresultordering.invalidorderingfordistinctresultfield=JDO79231: distinct\u7D50\u679C\u30D5\u30A3\u30FC\u30EB\u30C9\u5F0F''{0}''\u3068\u9806\u5E8F\u5F0F''{1}''\u306B\u306F\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u4E21\u8005\u306F\u540C\u3058\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 -jqlc.semantic.checkresultordering.invalidorderingfordistinctresult=JDO79232: \u7D50\u679C\u5F0F''distinct {0}''\u3068\u9806\u5E8F\u5F0F''{1}''\u306B\u306F\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u4E21\u8005\u306F\u3001\u30AF\u30E9\u30B9\u3078\u306E\u540C\u3058\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u5F0F\u3092\u4F7F\u7528\u3059\u308B\u540C\u3058\u30AF\u30E9\u30B9\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 - -# query parameter table - -jqlc.parametertable.checkunboundparams.unboundparam=JDO79233: \u554F\u5408\u305B\u30D1\u30E9\u30E1\u30FC\u30BF''{0}''\u306F\u30D0\u30A4\u30F3\u30C9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -jqlc.parametertable.definevaluebyname.undefinedparam=JDO79234: \u554F\u5408\u305B\u30D1\u30E9\u30E1\u30FC\u30BF''{0}''\u306F\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -jqlc.parametertable.definevaluebyindex.wrongnumberofargs=JDO79235: \u5F15\u6570\u306E\u6570\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\u3002 -jqlc.parametertable.definevaluebyindex.typemismatch=JDO79236: \u5B9F\u969B\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u3068\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002''{0}''\u3092''{1}''\u306B\u5909\u63DB\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 - -############################################################################# -# -# Message ID Range: JDO79400 - JDO79499 -############################################################################# - -jqlc.optimizer.staticfieldaccess.illegal=JDO79400: \u30AF\u30E9\u30B9''{1}''\u306E\u9759\u7684\u306A\u30D5\u30A3\u30FC\u30EB\u30C9''{0}''\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002 -jqlc.optimizer.literal.invalid=JDO79401: \u7121\u52B9\u306A''{0}''\u30EA\u30C6\u30E9\u30EB''{1}''\u3002 - -############################################################################# -# -# Message ID Range: JDO79500 - JDO79599 -############################################################################# - -jqlc.codegeneration.fieldaccess.illegal=JDO79500: \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8''{1}''\u306E\u30D5\u30A3\u30FC\u30EB\u30C9''{0}''\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002 -jqlc.codegeneration.collectioncomparison.nonnull=JDO79501: \u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3068null\u4EE5\u5916\u306E\u5024\u306E\u6BD4\u8F03\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -jqlc.codegeneration.generic.unsupportedop=JDO79502: \u64CD\u4F5C''{0}''\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093 -jqlc.codegeneration.substring.beginnegative=JDO79503: substring\u30E1\u30BD\u30C3\u30C9\u306E\u958B\u59CB\u7D22\u5F15''{0}''\u304C\u8CA0\u3067\u3059\u3002 -jqlc.codegeneration.substring.beginlargerend=JDO79504: substring\u30E1\u30BD\u30C3\u30C9\u306E\u958B\u59CB\u7D22\u5F15''{0}''\u304C\u7D42\u4E86\u7D22\u5F15''{1}''\u3088\u308A\u5927\u304D\u304F\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002 -jqlc.codegeneration.resultExpr.missingpkfields=JDO79505: \u30B5\u30DD\u30FC\u30C8\u3055\u308C\u306A\u3044COUNT\u5F0F\u3067\u3059\u3002\u5F0F\u306E\u578B''{0}''\u306F\u4E3B\u30AD\u30FC\u30FB\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u6301\u305F\u306A\u3044\u6C38\u7D9A\u53EF\u80FD\u30AF\u30E9\u30B9\u3067\u3059\u3002 - -############################################################################# -# -# Message ID Range: JDO79600 - JDO79699 -############################################################################# -# {0} - RetrieveDesc info -LOG_JQLCDumpRD=JDO79600: JQLC dump RetrieveDesc {0} - -# variable table - -jqlc.variabletable.markconstraint.multiple=JDO79601: \u5909\u6570''{0}''\u306B\u8907\u6570\u306E\u5236\u7D04\u304C\u3042\u308A\u307E\u3059\u3002 -jqlc.variabletable.checkconstraint.unused=JDO79602: \u5909\u6570''{0}''\u306F\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 -jqlc.variabletable.checkconstraint.cycle=JDO79603: \u5909\u6570''{0}''\u306E\u5FAA\u74B0\u5236\u7D04\u5B9A\u7FA9\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093\u3002 -jqlc.variabletable.merge.different=JDO79604: \u540C\u3058\u5909\u6570''{0}''\u306E\u5236\u7D04\u304C\u7570\u306A\u308A\u307E\u3059\u3002 - - -############################################################################### -# -############################################################################### -# -# -# -jqlc.jqlc.checkcandidates.nullpc=Persistence capable class of extent collection is null. - -jqlc.parser.invalidunicodestr=JQLLexer.UNICODE_STR - -jqlc.parametertable.getvaluebyname.undefined=ParameterTable.getValueByName: undefined parameter {0}. -jqlc.parametertable.getvaluebyindex.wrongindex=ParameterTable.getValueByIndex: wrong index {0}. -jqlc.parametertable.definevaluebyindex.wrongindex=ParameterTable.defineValueByIndex: wrong index {0}. - -jqlc.semantic.checkcandidateclass.unknowntype=Semantic.checkCandidateClass: unknown type {0}. -jqlc.semantic.analysedefinedidentifier.illegalident=Semantic.analyseDefinedIdentifier: illegal identifier definition {0}. -jqlc.semantic.getcollectionfield.missingchildren=Semantic.getCollectionField: invalid node structure children missing. - -jqlc.optimizer.checkbinaryplusop.invalidtype=Optimizer.checkBinaryPlusOp: invalid type {0}. -jqlc.optimizer.checkbinaryminusop.invalidtype=Optimizer.checkBinaryMinusOp: invalid type {0}. -jqlc.optimizer.checkmultiplicationop.invalidtype=Optimizer.checkMultiplicationOp: invalid type {0}. -jqlc.optimizer.checkdivisionop.invalidtype=Optimizer.checkDivisionOp: invalid type {0}. -jqlc.optimizer.checkmodop.invalidtype=Optimizer.checkModOp: invalid type {0}. -jqlc.optimizer.checkunaryminusop.invalidtype=Optimizer.checkUnaryMinusOp: invalid type {0}. -jqlc.optimizer.getbigdecimalvalue.notnumber=Optimizer.getBigDecimalValue: expected number value {0}. -jqlc.optimizer.getbigintegervalue.notnumber=Optimizer.getBigIntegerValue: expected number value {0}. -jqlc.optimizer.isempty.requirecollection=Optimizer.isEmpty: requires collection value. - -jqlc.codegeneration.generatesimplefieldvaluecomparison.invalidvalue=CodeGeneration.generateSimpleFieldValueComparison: invalid null value in relational operation. -jqlc.codegeneration.generateparametervaluecomparison.invalidvalue=CodeGeneration.generateParameterValueComparison: invalid null value in relational operation. -jqlc.codegeneration.getkeyfieldscomparisonbooleanop.invalidobj=CodeGeneration.getKeyFieldsComparisonBooleanOp: invalid object comparison operation {0}. -jqlc.codegeneration.filter.nonbooleanvalue=CodeGeneration.filter: invalid non boolean value {0}. -jqlc.codegeneration.primary.null=CodeGeneration.primary: invalid null value. - -jqlc.variabletable.markused.varnotfound=VariableTable.markUsed variable {0} not found. -jqlc.variabletable.markused.multidep=VariableTable.markUsed multiple dependencies for variable {0} old: {1}, new: {2}. -jqlc.variabletable.markconstraint.varnotfound=VariableTable.markConstraint variable {0} not found. - -jqlc.jdoqlparameterdeclarationparser.next.wrongtoken=ParameterDeclarationHelper.ParameterTypeIterator.next: wrong token type {0} expected PARAMETER_DEF node. - -jqlc.queryvaluefetcher.getvalue.invalidparam=Invalid parameter index {0} parameter array has length {1}. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_ko.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_ko.properties deleted file mode 100644 index c88f09a69df..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_ko.properties +++ /dev/null @@ -1,236 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 79. -# -# This file is divided into following sections. -# 1. main compiler class -# 2. error message helper class -# 3. syntax error messages -# 4. semantic error messages -# 5. optimizer -# 6. code generation -# 7. Miscellaneous -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################## -#
    -# Message ID Range: JDO79000 - JDO79099 -############################################################################# - -jqlc.jqlc.generic.nocandidateclass=JDO79000: \uD6C4\uBCF4 \uD074\uB798\uC2A4 \uC0AC\uC591\uC774 \uB204\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -jqlc.jqlc.checkcandidates.memorycollection=JDO79001: \uBE44\uBC94\uC704 \uBAA8\uC74C\uC758 \uC9C8\uC758\uAC00 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jqlc.jqlc.checkcandidates.mismatch=JDO79002: \uD6C4\uBCF4 \uBAA8\uC74C\uC774 \uD6C4\uBCF4 \uD074\uB798\uC2A4 ''{0}''\uACFC(\uC640) \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -# {0} - name of the compiler pass -LOG_JQLCStartPass=JDO79003: JQLC \uC2DC\uC791 {0} -# {0} - name of the compiler pass -LOG_JQLCDumpTree=JDO79004: JQLC\uC5D0\uC11C \uD2B8\uB9AC {0}\uC744(\uB97C) \uB364\uD504\uD569\uB2C8\uB2E4. -LOG_JQLCReuseRetrieveDesc=JDO79005: JQLC\uC5D0\uC11C \uCE90\uC2DC\uB41C RetrieveDesc\uB97C \uB2E4\uC2DC \uC0AC\uC6A9\uD569\uB2C8\uB2E4. - -############################################################################# -# -# it is the last arg for each of them that contains the -# actual message. -############################################################################# -jqlc.errormsg.generic.msg={0}: {1} -jqlc.errormsg.generic.msgcolumn={0} \uC5F4({1}): {2} -jqlc.errormsg.generic.msglinecolumn={0} \uD589({1}) \uC5F4({2}): {3} - -############################################################################# -# -# Message ID Range: JDO79100 - JDO79199 -############################################################################# - -jqlc.parser.syntaxerror=JDO79100: \uAD6C\uBB38 \uC624\uB958\uC785\uB2C8\uB2E4. -jqlc.parser.syntaxerrorattoken=JDO79101: ''{0}''\uC5D0 \uAD6C\uBB38 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -jqlc.parser.unexpectedtoken=JDO79102: \uAD6C\uBB38 \uC624\uB958. \uC608\uAE30\uCE58 \uC54A\uC740 \uD1A0\uD070 ''{0}''. -jqlc.parser.unexpectedchar=JDO79103: \uAD6C\uBB38 \uC624\uB958. \uC608\uAE30\uCE58 \uC54A\uC740 \uBB38\uC790 ''{0}''. -jqlc.parser.expectedfoundchar=JDO79104: \uAD6C\uBB38 \uC624\uB958. \uC608\uC0C1 \uBB38\uC790 ''{0}'', \uCC3E\uC740 \uBB38\uC790 ''{1}''. -jqlc.parser.unexpectedEOF=JDO79105: \uC608\uAE30\uCE58 \uC54A\uC740 \uD14D\uC2A4\uD2B8 \uC885\uB8CC \uAD6C\uBB38 \uC624\uB958 - -############################################################################# -# -# Message ID Range: JDO7109200 - JDO79399 -############################################################################# - -# semantic error messages (unsupported operations) - -jqlc.semantic.analysebitwiseexpr.exclusiveorop=JDO79200: Exclusive \uB610\uB294 \uC5F0\uC0B0\uC790 ^\uB294 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jqlc.semantic.analysebitwiseexpr.integerbitwiseop=JDO79201: \uC815\uC218 \uBE44\uD2B8 \uC5F0\uC0B0\uC790 {0}\uC740(\uB294) \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jqlc.semantic.analysecollectioncall.unsupportedcollectionexpr=JDO79202: \uBAA8\uC74C \uD45C\uD604\uC2DD ''{0}''\uC740(\uB294) \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jqlc.semantic.analysecollectioncall.nonvariable=JDO79203: \uBCC0\uC218\uAC00 \uC608\uC0C1\uB418\uC5C8\uC2B5\uB2C8\uB2E4. non \uBCC0\uC218\uC5D0 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uC778\uC218\uAC00 \uC788\uC2B5\uB2C8\uB2E4. -jqlc.semantic.generic.unsupportedconstraintop=JDO79204: \uBCC0\uC218 \uC81C\uC57D \uC870\uAC74 \uC808\uC5D0 \uC791\uC5C5 ''{0}''\uC774(\uAC00) \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jqlc.semantic.candidateclass.nonpc=JDO79205: ''{0}'' \uD074\uB798\uC2A4\uB294 \uC9C0\uC18D\uC131\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. \uBE44\uC9C0\uC18D\uC131 \uD6C4\uBCF4 \uD074\uB798\uC2A4\uB294 \uC9C8\uC758\uC5D0\uC11C \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jqlc.semantic.checkvalidorderingexpr.invalidordering=JDO79206: \uC21C\uC11C \uC0AC\uC591\uC5D0 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uD45C\uD604\uC2DD ''{0}''\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4. -jqlc.semantic.checkvalidresultexpr.invalidresult=JDO79207: \uACB0\uACFC \uC0AC\uC591\uC5D0 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uD45C\uD604\uC2DD ''{0}''\uC774(\uAC00) \uC788\uC2B5\uB2C8\uB2E4. - -# semantic error messages (user errors) - -jqlc.semantic.analysecollectioncall.typemismatch=JDO79208: \uBAA8\uC74C \uC694\uC18C \uC720\uD615 ''{0}''\uACFC(\uC640) \uBCC0\uC218 \uC720\uD615 ''{1}''\uC740(\uB294) \uD638\uD658\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jqlc.semantic.analysecollectioncall.relationshipexpected=JDO79209: \uAD00\uACC4 \uD544\uB4DC\uC5D0 ''{0}''\uC774(\uAC00) \uC608\uC0C1\uB429\uB2C8\uB2E4. -jqlc.semantic.analysedotexpr.classexprexpected=JDO79210: \uD074\uB798\uC2A4 \uC720\uD615\uC758 \uD45C\uD604\uC2DD\uC774 \uC608\uC0C1\uB429\uB2C8\uB2E4. -jqlc.semantic.analysefieldaccess.nonperistentfield=JDO79211: \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4 ''{1}''\uC758 \uBE44\uC9C0\uC18D\uC131 \uD544\uB4DC ''{0}''\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.semantic.analysefieldaccess.nonpublicfield=JDO79212: \uC9C0\uC18D\uC131\uC774 \uC5C6\uB294 \uD074\uB798\uC2A4 ''{1}''\uC758 \uBE44\uACF5\uC6A9 \uD544\uB4DC ''{0}''\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.semantic.analysestaticfieldaccess.staticreference=JDO79213: ''{1}'' \uD074\uB798\uC2A4\uC758 \uBE44\uC815\uC801 \uBCC0\uC218 ''{0}''\uC5D0 \uB300\uD55C \uC815\uC801 \uCC38\uC870\uB97C \uB9CC\uB4E4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.semantic.analysestaticfieldaccess.nonpublicfield=JDO79214: ''{1}'' \uD074\uB798\uC2A4\uC758 \uBE44\uACF5\uC6A9 \uC815\uC801 \uD544\uB4DC ''{0}''\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.semantic.analyserelationalexpr.notorderable=JDO79215: {1}\uC758 \uD53C\uC5F0\uC0B0\uC790 \uC720\uD615 ''{0}''\uC740(\uB294) \uC815\uB82C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.semantic.expression.undefined=JDO79216: ''{0}'' \uD45C\uD604\uC2DD\uC740 \uC815\uC758\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -jqlc.semantic.filter.booleanexpected=JDO79217: \uBD80\uC6B8 \uD45C\uD604\uC2DD\uC774 \uC608\uC0C1\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uD544\uD130 \uD45C\uD604\uC2DD\uC758 \uC720\uD615\uC740 ''{0}''\uC785\uB2C8\uB2E4. -jqlc.semantic.generic.alreadydeclared=JDO79218: ''{0}''\uC774(\uAC00) \uC774\uBBF8 {1}(\uC73C)\uB85C \uC120\uC5B8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -jqlc.semantic.generic.arguments.numbermismatch=JDO79219: \uC778\uC218\uC758 \uC218\uAC00 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -jqlc.semantic.generic.arguments.typemismatch=JDO79220: \uD638\uD658\uB418\uC9C0 \uC54A\uB294 \uC720\uD615\uC758 \uC2E4\uC81C \uB9E4\uAC1C\uBCC0\uC218\uC785\uB2C8\uB2E4. ''{0}''\uC744(\uB97C) ''{1}''(\uC73C)\uB85C \uBCC0\uD658\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.semantic.generic.arguments.invalid=JDO79221: ''{0}''\uC758 \uC778\uC218\uAC00 \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. -jqlc.semantic.generic.invalidmethodcall=JDO79222: \uBD80\uC801\uD569\uD55C \uBA54\uC18C\uB4DC \uD638\uCD9C\uC785\uB2C8\uB2E4. -jqlc.semantic.generic.unknownfield=JDO79223: ''{1}'' \uD074\uB798\uC2A4\uC5D0 ''{0}'' \uD544\uB4DC\uAC00 \uC815\uC758\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -jqlc.semantic.generic.unknowntype=JDO79224: ''{0}'' \uC720\uD615\uC744 \uC54C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.semantic.identifier.undefined=JDO79225: ''{0}'' \uC2DD\uBCC4\uC790\uAC00 \uC815\uC758\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -jqlc.semantic.primary.invalidcast=JDO79226: ''{0}'' \uC720\uD615\uC758 \uD45C\uD604\uC2DD\uC744 ''{1}'' \uC720\uD615\uC73C\uB85C \uCE90\uC2A4\uD2B8\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.semantic.type.notype=JDO79227: \uC608\uC0C1\uB41C \uC720\uD615 ''{0}''\uC740(\uB294) {1}(\uC73C)\uB85C \uC815\uC758\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -jqlc.semantic.analyseorderingexpression.notorderable=JDO79228: \uC21C\uC11C \uD45C\uD604\uC2DD\uC758 ''{0}'' \uC720\uD615\uC740 \uC815\uB82C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.semantic.checkvalidresultexpr.invalidavgsumexpr=JDO79229: \uD569\uACC4\uC2DD ''{1}''\uC758 ''{0}'' \uC720\uD615\uC740 \uC22B\uC790 \uB610\uB294 \uBB38\uC790 \uC720\uD615\uC774 \uC544\uB2D9\uB2C8\uB2E4. -jqlc.semantic.checkvalidresultexpr.invalidminmaxexpr=JDO79230: \uD569\uACC4\uC2DD ''{1}''\uC758 ''{0}'' \uC720\uD615\uC740 \uC815\uB82C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresultfield=JDO79231: distinct \uACB0\uACFC \uD544\uB4DC \uD45C\uD604\uC2DD ''{0}''\uACFC(\uC640) \uC21C\uC11C \uD45C\uD604\uC2DD ''{1}''\uC740(\uB294) \uD638\uD658\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uAC19\uC740 \uD544\uB4DC\uC5EC\uC57C \uD569\uB2C8\uB2E4. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresult=JDO79232: \uACB0\uACFC \uD45C\uD604\uC2DD ''distinct {0}''\uC640(\uACFC) ''{1}''\uC740(\uB294) \uD638\uD658\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uD074\uB798\uC2A4\uC5D0 \uB300\uD55C \uAC19\uC740 \uD0D0\uC0C9 \uD45C\uD604\uC2DD\uC744 \uC0AC\uC6A9\uD558\uB294 \uAC19\uC740 \uD074\uB798\uC2A4\uC758 \uD544\uB4DC\uC5EC\uC57C \uD569\uB2C8\uB2E4. - -# query parameter table - -jqlc.parametertable.checkunboundparams.unboundparam=JDO79233: \uBC14\uC778\uB4DC\uB418\uC9C0 \uC54A\uC740 \uC9C8\uC758 \uB9E4\uAC1C\uBCC0\uC218 ''{0}''\uC785\uB2C8\uB2E4. -jqlc.parametertable.definevaluebyname.undefinedparam=JDO79234: \uC815\uC758\uB418\uC9C0 \uC54A\uC740 \uC9C8\uC758 \uB9E4\uAC1C\uBCC0\uC218 ''{0}''\uC785\uB2C8\uB2E4. -jqlc.parametertable.definevaluebyindex.wrongnumberofargs=JDO79235: \uC778\uC218\uC758 \uC218\uAC00 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -jqlc.parametertable.definevaluebyindex.typemismatch=JDO79236: \uD638\uD658\uB418\uC9C0 \uC54A\uB294 \uC720\uD615\uC758 \uC2E4\uC81C \uB9E4\uAC1C\uBCC0\uC218\uC785\uB2C8\uB2E4. ''{0}''\uC744(\uB97C) ''{1}''(\uC73C)\uB85C \uBCC0\uD658\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -############################################################################# -# -# Message ID Range: JDO79400 - JDO79499 -############################################################################# - -jqlc.optimizer.staticfieldaccess.illegal=JDO79400: ''{1}'' \uD074\uB798\uC2A4\uC758 \uC815\uC801 \uD544\uB4DC ''{0}''\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.optimizer.literal.invalid=JDO79401: {0} \uB9AC\uD130\uB7F4 ''{1}''\uC774(\uAC00) \uBD80\uC801\uD569\uD569\uB2C8\uB2E4. - -############################################################################# -# -# Message ID Range: JDO79500 - JDO79599 -############################################################################# - -jqlc.codegeneration.fieldaccess.illegal=JDO79500: ''{1}'' \uAC1D\uCCB4\uC758 ''{0}'' \uD544\uB4DC\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.codegeneration.collectioncomparison.nonnull=JDO79501: \uBAA8\uC74C\uACFC \uB110\uC774 \uC544\uB2CC \uAC12\uC758 \uBE44\uAD50\uB294 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jqlc.codegeneration.generic.unsupportedop=JDO79502: ''{0}'' \uC791\uC5C5\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jqlc.codegeneration.substring.beginnegative=JDO79503: \uD558\uC704 \uBB38\uC790\uC5F4 \uBA54\uC18C\uB4DC\uC758 \uC2DC\uC791 \uC0C9\uC778 ''{0}''\uC774(\uAC00) \uC74C\uC218\uC785\uB2C8\uB2E4. -jqlc.codegeneration.substring.beginlargerend=JDO79504: \uD558\uC704 \uBB38\uC790\uC5F4 \uBA54\uC18C\uB4DC\uC758 \uC2DC\uC791 \uC0C9\uC778 ''{0}''\uC774(\uAC00) \uC885\uB8CC \uC0C9\uC778 ''{1}''\uBCF4\uB2E4 \uD07D\uB2C8\uB2E4. -jqlc.codegeneration.resultExpr.missingpkfields=JDO79505: COUNT \uD45C\uD604\uC2DD\uC740 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uD45C\uD604\uC2DD \uC720\uD615 ''{0}''\uC740(\uB294) \uAE30\uBCF8 \uD0A4 \uD544\uB4DC\uAC00 \uC5C6\uB294 \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uC785\uB2C8\uB2E4. - -############################################################################# -# -# Message ID Range: JDO79600 - JDO79699 -############################################################################# -# {0} - RetrieveDesc info -LOG_JQLCDumpRD=JDO79600: JQLC\uC5D0\uC11C RetrieveDesc {0}\uC744(\uB97C) \uB364\uD504\uD569\uB2C8\uB2E4. - -# variable table - -jqlc.variabletable.markconstraint.multiple=JDO79601: \uBCC0\uC218 ''{0}''\uC758 \uBCF5\uC218 \uC81C\uC57D \uC870\uAC74\uC785\uB2C8\uB2E4. -jqlc.variabletable.checkconstraint.unused=JDO79602: \uBCC0\uC218 ''{0}''\uC774(\uAC00) \uC815\uC758\uB418\uC5C8\uC9C0\uB9CC \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. -jqlc.variabletable.checkconstraint.cycle=JDO79603: \uBCC0\uC218 ''{0}''\uC5D0 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 \uC21C\uD658 \uC81C\uC57D \uC870\uAC74 \uC815\uC758\uAC00 \uC788\uC2B5\uB2C8\uB2E4. -jqlc.variabletable.merge.different=JDO79604: \uAC19\uC740 \uBCC0\uC218 ''{0}''\uC5D0 \uB2E4\uB978 \uC81C\uC57D \uC870\uAC74\uC774 \uC788\uC2B5\uB2C8\uB2E4. - - -############################################################################### -# -############################################################################### -# -# -# -jqlc.jqlc.checkcandidates.nullpc=\uBC94\uC704 \uBAA8\uC74C\uC758 \uC9C0\uC18D\uC131\uC774 \uC788\uB294 \uD074\uB798\uC2A4\uAC00 \uB110\uC785\uB2C8\uB2E4. - -jqlc.parser.invalidunicodestr=JQLLexer.UNICODE_STR - -jqlc.parametertable.getvaluebyname.undefined=ParameterTable.getValueByName: \uC815\uC758\uB418\uC9C0 \uC54A\uC740 \uB9E4\uAC1C\uBCC0\uC218 {0}. -jqlc.parametertable.getvaluebyindex.wrongindex=ParameterTable.getValueByIndex: \uC798\uBABB\uB41C \uC778\uB371\uC2A4 {0}. -jqlc.parametertable.definevaluebyindex.wrongindex=ParameterTable.defineValueByIndex: \uC798\uBABB\uB41C \uC778\uB371\uC2A4 {0}. - -jqlc.semantic.checkcandidateclass.unknowntype=Semantic.checkCandidateClass: \uC54C \uC218 \uC5C6\uB294 \uC720\uD615 {0}. -jqlc.semantic.analysedefinedidentifier.illegalident=Semantic.analyseDefinedIdentifier: \uC798\uBABB\uB41C \uC2DD\uBCC4\uC790 \uC815\uC758 {0}. -jqlc.semantic.getcollectionfield.missingchildren=Semantic.getCollectionField: \uBD80\uC801\uD569\uD55C \uB178\uB4DC \uAD6C\uC870 \uD558\uC704 \uD56D\uBAA9 \uB204\uB77D. - -jqlc.optimizer.checkbinaryplusop.invalidtype=Optimizer.checkBinaryPlusOp: \uBD80\uC801\uD569\uD55C \uC720\uD615 {0}. -jqlc.optimizer.checkbinaryminusop.invalidtype=Optimizer.checkBinaryMinusOp: \uBD80\uC801\uD569\uD55C \uC720\uD615 {0}. -jqlc.optimizer.checkmultiplicationop.invalidtype=Optimizer.checkMultiplicationOp: \uBD80\uC801\uD569\uD55C \uC720\uD615 {0}. -jqlc.optimizer.checkdivisionop.invalidtype=Optimizer.checkDivisionOp: \uBD80\uC801\uD569\uD55C \uC720\uD615 {0}. -jqlc.optimizer.checkmodop.invalidtype=Optimizer.checkModOp: \uBD80\uC801\uD569\uD55C \uC720\uD615 {0}. -jqlc.optimizer.checkunaryminusop.invalidtype=Optimizer.checkUnaryMinusOp: \uBD80\uC801\uD569\uD55C \uC720\uD615 {0}. -jqlc.optimizer.getbigdecimalvalue.notnumber=Optimizer.getBigDecimalValue: \uD544\uC694\uD55C \uC22B\uC790 \uAC12 {0}. -jqlc.optimizer.getbigintegervalue.notnumber=Optimizer.getBigIntegerValue: \uD544\uC694\uD55C \uC22B\uC790 \uAC12 {0}. -jqlc.optimizer.isempty.requirecollection=Optimizer.isEmpty: \uBAA8\uC74C \uAC12\uC774 \uD544\uC694\uD569\uB2C8\uB2E4. - -jqlc.codegeneration.generatesimplefieldvaluecomparison.invalidvalue=CodeGeneration.generateSimpleFieldValueComparison: \uAD00\uACC4 \uC5F0\uC0B0\uC758 \uBD80\uC801\uD569\uD55C \uB110 \uAC12. -jqlc.codegeneration.generateparametervaluecomparison.invalidvalue=CodeGeneration.generateParameterValueComparison: \uAD00\uACC4 \uC5F0\uC0B0\uC758 \uBD80\uC801\uD569\uD55C \uB110 \uAC12. -jqlc.codegeneration.getkeyfieldscomparisonbooleanop.invalidobj=CodeGeneration.getKeyFieldsComparisonBooleanOp: \uBD80\uC801\uD569\uD55C \uAC1D\uCCB4 \uBE44\uAD50 \uC5F0\uC0B0 {0}. -jqlc.codegeneration.filter.nonbooleanvalue=CodeGeneration.filter: \uBD80\uC801\uD569\uD55C \uBE44\uBD80\uC6B8 \uAC12 {0}. -jqlc.codegeneration.primary.null=CodeGeneration.primary: \uBD80\uC801\uD569\uD55C \uB110 \uAC12. - -jqlc.variabletable.markused.varnotfound=VariableTable.markUsed \uBCC0\uC218 {0}\uC744(\uB97C) \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -jqlc.variabletable.markused.multidep=VariableTable.markUsed \uBCC0\uC218 {0}\uC5D0 \uB300\uD55C \uC5EC\uB7EC \uC885\uC18D\uC131 - \uC774\uC804: {1}, \uC2E0\uADDC: {2}. -jqlc.variabletable.markconstraint.varnotfound=VariableTable.markConstraint \uBCC0\uC218 {0}\uC744(\uB97C) \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. - -jqlc.jdoqlparameterdeclarationparser.next.wrongtoken=ParameterDeclarationHelper.ParameterTypeIterator.next: \uC798\uBABB\uB41C \uD1A0\uD070 \uC720\uD615 {0} - PARAMETER_DEF \uB178\uB4DC\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. - -jqlc.queryvaluefetcher.getvalue.invalidparam=\uBD80\uC801\uD569\uD55C \uB9E4\uAC1C\uBCC0\uC218 \uC778\uB371\uC2A4 {0} - \uB9E4\uAC1C\uBCC0\uC218 \uBC30\uC5F4\uC758 \uAE38\uC774\uAC00 {1}\uC785\uB2C8\uB2E4. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_pt_BR.properties deleted file mode 100644 index 8686a6c2557..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_pt_BR.properties +++ /dev/null @@ -1,236 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 79. -# -# This file is divided into following sections. -# 1. main compiler class -# 2. error message helper class -# 3. syntax error messages -# 4. semantic error messages -# 5. optimizer -# 6. code generation -# 7. Miscellaneous -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################## -#
    -# Message ID Range: JDO79000 - JDO79099 -############################################################################# - -jqlc.jqlc.generic.nocandidateclass=JDO79000: Falta a especifica\u00E7\u00E3o da classe candidata. -jqlc.jqlc.checkcandidates.memorycollection=JDO79001: As consultas em conjuntos n\u00E3o extens\u00EDveis n\u00E3o t\u00EAm suporte. -jqlc.jqlc.checkcandidates.mismatch=JDO79002: O conjunto candidato n\u00E3o coincide com a classe candidata "{0}". -# {0} - name of the compiler pass -LOG_JQLCStartPass=JDO79003: Iniciar JQLC {0} -# {0} - name of the compiler pass -LOG_JQLCDumpTree=JDO79004: \u00C1rvore de dump JQLC {0} -LOG_JQLCReuseRetrieveDesc=JDO79005: JQLC reutiliza o RetrieveDesc no cache. - -############################################################################# -# -# it is the last arg for each of them that contains the -# actual message. -############################################################################# -jqlc.errormsg.generic.msg={0}: {1} -jqlc.errormsg.generic.msgcolumn={0} coluna({1}): {2} -jqlc.errormsg.generic.msglinecolumn={0} linha({1}) coluna({2}): {3} - -############################################################################# -# -# Message ID Range: JDO79100 - JDO79199 -############################################################################# - -jqlc.parser.syntaxerror=JDO79100: Erro de sintaxe. -jqlc.parser.syntaxerrorattoken=JDO79101: Erro de sintaxe em "{0}". -jqlc.parser.unexpectedtoken=JDO79102: Erro de sintaxe para token inesperado "{0}". -jqlc.parser.unexpectedchar=JDO79103: Erro de sintaxe por caractere inesperado "{0}". -jqlc.parser.expectedfoundchar=JDO79104: Erro de sintaxe por caractere esperado "{0}", encontrado "{1}". -jqlc.parser.unexpectedEOF=JDO79105: Erro de sintaxe por fim inesperado do texto. - -############################################################################# -# -# Message ID Range: JDO7109200 - JDO79399 -############################################################################# - -# semantic error messages (unsupported operations) - -jqlc.semantic.analysebitwiseexpr.exclusiveorop=JDO79200: Exclusivo ou operador ^ n\u00E3o suportado. -jqlc.semantic.analysebitwiseexpr.integerbitwiseop=JDO79201: Operador bit por bit inteiro {0} n\u00E3o possui suporte. -jqlc.semantic.analysecollectioncall.unsupportedcollectionexpr=JDO79202: Express\u00E3o de conjunto n\u00E3o suportada "{0}". -jqlc.semantic.analysecollectioncall.nonvariable=JDO79203: Vari\u00E1vel esperada - a n\u00E3o vari\u00E1vel cont\u00E9m argumentos que n\u00E3o t\u00EAm suporte. -jqlc.semantic.generic.unsupportedconstraintop=JDO79204: Opera\u00E7\u00E3o n\u00E3o suportada "{0}" para a cl\u00E1usula de restri\u00E7\u00E3o vari\u00E1vel. -jqlc.semantic.candidateclass.nonpc=JDO79205: A classe "{0}" n\u00E3o \u00E9 de capacidade de persist\u00EAncia. Classes candidatas com capacidade de n\u00E3o persist\u00EAncia n\u00E3o t\u00EAm suporte para a consulta. -jqlc.semantic.checkvalidorderingexpr.invalidordering=JDO79206: Express\u00E3o n\u00E3o suportada "{0}" na especifica\u00E7\u00E3o de ordena\u00E7\u00E3o. -jqlc.semantic.checkvalidresultexpr.invalidresult=JDO79207: Express\u00E3o n\u00E3o suportada "{0}" na especifica\u00E7\u00E3o de resultado. - -# semantic error messages (user errors) - -jqlc.semantic.analysecollectioncall.typemismatch=JDO79208: O tipo de elemento de conjunto "{0}" e o tipo de vari\u00E1vel "{1}" n\u00E3o s\u00E3o compat\u00EDveis. -jqlc.semantic.analysecollectioncall.relationshipexpected=JDO79209: Campo de relacionamento esperado "{0}". -jqlc.semantic.analysedotexpr.classexprexpected=JDO79210: Express\u00E3o do tipo de classe esperada. -jqlc.semantic.analysefieldaccess.nonperistentfield=JDO79211: N\u00E3o \u00E9 poss\u00EDvel acessar um campo n\u00E3o persistente "{0}" da classe com capacidade de persist\u00EAncia "{1}". -jqlc.semantic.analysefieldaccess.nonpublicfield=JDO79212: N\u00E3o \u00E9 poss\u00EDvel acessar um campo n\u00E3o p\u00FAblico "{0}" da classe com capacidade de n\u00E3o persist\u00EAncia "{1}". -jqlc.semantic.analysestaticfieldaccess.staticreference=JDO79213: N\u00E3o \u00E9 poss\u00EDvel fazer uma refer\u00EAncia est\u00E1tica \u00E0 uma vari\u00E1vel n\u00E3o est\u00E1tica "{0}" da classe "{1}". -jqlc.semantic.analysestaticfieldaccess.nonpublicfield=JDO79214: N\u00E3o \u00E9 poss\u00EDvel acessar um campo est\u00E1tico n\u00E3o p\u00FAblico "{0}" da classe "{1}". -jqlc.semantic.analyserelationalexpr.notorderable=JDO79215: Tipo de operando "{0}" de {1} n\u00E3o \u00E9 classific\u00E1vel. -jqlc.semantic.expression.undefined=JDO79216: Express\u00E3o indefinida "{0}". -jqlc.semantic.filter.booleanexpected=JDO79217: Express\u00E3o booliana esperada, a express\u00E3o do filtro tinha o tipo "{0}". -jqlc.semantic.generic.alreadydeclared=JDO79218: "{0}" j\u00E1 declarado como {1}. -jqlc.semantic.generic.arguments.numbermismatch=JDO79219: N\u00FAmero incorreto de argumentos. -jqlc.semantic.generic.arguments.typemismatch=JDO79220: Tipo incompat\u00EDvel de par\u00E2metro real. N\u00E3o \u00E9 poss\u00EDvel converter "{0}" em "{1}". -jqlc.semantic.generic.arguments.invalid=JDO79221: Argumentos inv\u00E1lidos para "{0}". -jqlc.semantic.generic.invalidmethodcall=JDO79222: Chamada inv\u00E1lida de m\u00E9todo. -jqlc.semantic.generic.unknownfield=JDO79223: O campo "{0}" n\u00E3o est\u00E1 definido para a classe "{1}". -jqlc.semantic.generic.unknowntype=JDO79224: Tipo desconhecido "{0}". -jqlc.semantic.identifier.undefined=JDO79225: Identificador indefinido "{0}". -jqlc.semantic.primary.invalidcast=JDO79226: N\u00E3o \u00E9 poss\u00EDvel projetar express\u00E3o do tipo "{0}" para o tipo "{1}". -jqlc.semantic.type.notype=JDO79227: O tipo esperado, "{0}" est\u00E1 definido como {1}. -jqlc.semantic.analyseorderingexpression.notorderable=JDO79228: O tipo "{0}" da express\u00E3o de ordena\u00E7\u00E3o n\u00E3o \u00E9 classific\u00E1vel. -jqlc.semantic.checkvalidresultexpr.invalidavgsumexpr=JDO79229: O tipo "{0}" de "{1}" express\u00E3o agregada n\u00E3o \u00E9 um n\u00FAmero ou tipo de caractere. -jqlc.semantic.checkvalidresultexpr.invalidminmaxexpr=JDO79230: O tipo "{0}" de "{1}" da express\u00E3o de ordena\u00E7\u00E3o n\u00E3o \u00E9 classific\u00E1vel. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresultfield=JDO79231: A express\u00E3o de campo de resultado distinto "{0}" e a express\u00E3o de ordena\u00E7\u00E3o "{1}" n\u00E3o s\u00E3o compat\u00EDveis. Elas precisam ser o mesmo campo. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresult=JDO79232: A express\u00E3o de resultado "distinto" "{0}" e a express\u00E3o de ordena\u00E7\u00E3o "{1}" n\u00E3o s\u00E3o compat\u00EDveis. Elas devem ser campos na mesma classe utilizando a mesma express\u00E3o de navega\u00E7\u00E3o para a classe. - -# query parameter table - -jqlc.parametertable.checkunboundparams.unboundparam=JDO79233: Par\u00E2metro n\u00E3o vinculado de consulta "{0}". -jqlc.parametertable.definevaluebyname.undefinedparam=JDO79234: Par\u00E2metro n\u00E3o definido de consulta "{0}". -jqlc.parametertable.definevaluebyindex.wrongnumberofargs=JDO79235: N\u00FAmero incorreto de argumentos. -jqlc.parametertable.definevaluebyindex.typemismatch=JDO79236: Tipo incompat\u00EDvel de par\u00E2metro real. N\u00E3o \u00E9 poss\u00EDvel converter "{0}" em "{1}". - -############################################################################# -# -# Message ID Range: JDO79400 - JDO79499 -############################################################################# - -jqlc.optimizer.staticfieldaccess.illegal=JDO79400: N\u00E3o \u00E9 poss\u00EDvel acessar um campo est\u00E1tico "{0}" da classe "{1}". -jqlc.optimizer.literal.invalid=JDO79401: Literal {0} inv\u00E1lido "{1}". - -############################################################################# -# -# Message ID Range: JDO79500 - JDO79599 -############################################################################# - -jqlc.codegeneration.fieldaccess.illegal=JDO79500: N\u00E3o \u00E9 poss\u00EDvel acessar o campo "{0}" do objeto "{1}". -jqlc.codegeneration.collectioncomparison.nonnull=JDO79501: A compara\u00E7\u00E3o n\u00E3o tem suporte de conjunto com valor n\u00E3o nulo. -jqlc.codegeneration.generic.unsupportedop=JDO79502: A opera\u00E7\u00E3o n\u00E3o tem suporte "{0}" -jqlc.codegeneration.substring.beginnegative=JDO79503: O \u00EDndice inicial "{0}" do m\u00E9todo de substring \u00E9 negativo. -jqlc.codegeneration.substring.beginlargerend=JDO79504: O \u00EDndice inicial "{0}" do m\u00E9todo de substring \u00E9 maior que o \u00EDndice final "{1}". -jqlc.codegeneration.resultExpr.missingpkfields=JDO79505: a express\u00E3o COUNT n\u00E3o \u00E9 suportada. O tipo de express\u00E3o "{0}" \u00E9 uma classe com capacidade de persist\u00EAncia sem campos de chave prim\u00E1ria. - -############################################################################# -# -# Message ID Range: JDO79600 - JDO79699 -############################################################################# -# {0} - RetrieveDesc info -LOG_JQLCDumpRD=JDO79600: Dump JQLC de RetrieveDesc {0} - -# variable table - -jqlc.variabletable.markconstraint.multiple=JDO79601: M\u00FAltiplas restri\u00E7\u00F5es para a vari\u00E1vel "{0}". -jqlc.variabletable.checkconstraint.unused=JDO79602: Vari\u00E1vel "{0}" definida mas n\u00E3o utilizada. -jqlc.variabletable.checkconstraint.cycle=JDO79603: A defini\u00E7\u00E3o de restri\u00E7\u00E3o c\u00EDclica n\u00E3o tem suporte para a vari\u00E1vel "{0}". -jqlc.variabletable.merge.different=JDO79604: Diferentes constraints para a mesma vari\u00E1vel "{0}". - - -############################################################################### -# -############################################################################### -# -# -# -jqlc.jqlc.checkcandidates.nullpc=A classe de persist\u00EAncia compat\u00EDvel do Conjunto de extens\u00E3o \u00E9 nula. - -jqlc.parser.invalidunicodestr=JQLLexer.UNICODE_STR - -jqlc.parametertable.getvaluebyname.undefined=ParameterTable.getValueByName: par\u00E2metro indefinido {0}. -jqlc.parametertable.getvaluebyindex.wrongindex=ParameterTable.getValueByIndex: \u00EDndice incorreto {0}. -jqlc.parametertable.definevaluebyindex.wrongindex=ParameterTable.defineValueByIndex: \u00EDndice incorreto {0}. - -jqlc.semantic.checkcandidateclass.unknowntype=Semantic.checkCandidateClass: tipo desconhecido {0}. -jqlc.semantic.analysedefinedidentifier.illegalident=Semantic.analyseDefinedIdentifier: defini\u00E7\u00E3o ilegal do identificador {0}. -jqlc.semantic.getcollectionfield.missingchildren=Semantic.getCollectionField: filhos inv\u00E1lidos da estrutura de n\u00F3 ausentes. - -jqlc.optimizer.checkbinaryplusop.invalidtype=Optimizer.checkBinaryPlusOp: tipo inv\u00E1lido {0}. -jqlc.optimizer.checkbinaryminusop.invalidtype=Optimizer.checkBinaryMinusOp: tipo inv\u00E1lido {0}. -jqlc.optimizer.checkmultiplicationop.invalidtype=Optimizer.checkMultiplicationOp: tipo inv\u00E1lido {0}. -jqlc.optimizer.checkdivisionop.invalidtype=Optimizer.checkDivisionOp: tipo inv\u00E1lido {0}. -jqlc.optimizer.checkmodop.invalidtype=Optimizer.checkModOp: tipo inv\u00E1lido {0}. -jqlc.optimizer.checkunaryminusop.invalidtype=Optimizer.checkUnaryMinusOp: tipo inv\u00E1lido {0}. -jqlc.optimizer.getbigdecimalvalue.notnumber=Optimizer.getBigDecimalValue: valor num\u00E9rico esperado {0}. -jqlc.optimizer.getbigintegervalue.notnumber=Optimizer.getBigIntegerValue: valor num\u00E9rico esperado {0}. -jqlc.optimizer.isempty.requirecollection=Optimizer.isEmpty: exige valor de conjunto. - -jqlc.codegeneration.generatesimplefieldvaluecomparison.invalidvalue=CodeGeneration.generateSimpleFieldValueComparison: valor nulo inv\u00E1lido na opera\u00E7\u00E3o relacional. -jqlc.codegeneration.generateparametervaluecomparison.invalidvalue=CodeGeneration.generateParameterValueComparison: valor nulo inv\u00E1lido na opera\u00E7\u00E3o relacional. -jqlc.codegeneration.getkeyfieldscomparisonbooleanop.invalidobj=CodeGeneration.getKeyFieldsComparisonBooleanOp: opera\u00E7\u00E3o de compara\u00E7\u00E3o do objeto inv\u00E1lida {0}. -jqlc.codegeneration.filter.nonbooleanvalue=CodeGeneration.filter: valor n\u00E3o booliano inv\u00E1lido {0}. -jqlc.codegeneration.primary.null=CodeGeneration.primary: valor nulo inv\u00E1lido. - -jqlc.variabletable.markused.varnotfound=Vari\u00E1vel VariableTable.markUsed {0} n\u00E3o encontrada. -jqlc.variabletable.markused.multidep=Depend\u00EAncias m\u00FAltiplas VariableTable.markUsed para a vari\u00E1vel {0} antiga: {1}, nova: {2}. -jqlc.variabletable.markconstraint.varnotfound=Vari\u00E1vel VariableTable.markConstraint n\u00E3o encontrada {0} . - -jqlc.jdoqlparameterdeclarationparser.next.wrongtoken=ParameterDeclarationHelper.ParameterTypeIterator.next: tipo de token incorreto {0} esperado do n\u00F3 PARAMETER_DEF. - -jqlc.queryvaluefetcher.getvalue.invalidparam=O array do par\u00E2metro do \u00EDndice de par\u00E2metro inv\u00E1lido {0} tem o tamanho {1}. diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_zh_CN.properties deleted file mode 100644 index 2c0f7fd15f9..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_zh_CN.properties +++ /dev/null @@ -1,236 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 79. -# -# This file is divided into following sections. -# 1. main compiler class -# 2. error message helper class -# 3. syntax error messages -# 4. semantic error messages -# 5. optimizer -# 6. code generation -# 7. Miscellaneous -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################## -#
    -# Message ID Range: JDO79000 - JDO79099 -############################################################################# - -jqlc.jqlc.generic.nocandidateclass=JDO79000: \u7F3A\u5C11\u5019\u9009\u7C7B\u89C4\u8303\u3002 -jqlc.jqlc.checkcandidates.memorycollection=JDO79001: \u4E0D\u652F\u6301\u5BF9\u975E\u533A\u96C6\u5408\u7684\u67E5\u8BE2\u3002 -jqlc.jqlc.checkcandidates.mismatch=JDO79002: \u5019\u9009\u96C6\u5408\u4E0E\u5019\u9009\u7C7B ''{0}'' \u4E0D\u5339\u914D\u3002 -# {0} - name of the compiler pass -LOG_JQLCStartPass=JDO79003: JQLC \u542F\u52A8{0} -# {0} - name of the compiler pass -LOG_JQLCDumpTree=JDO79004: JQLC \u8F6C\u50A8\u6811{0} -LOG_JQLCReuseRetrieveDesc=JDO79005: JQLC \u91CD\u590D\u4F7F\u7528\u9AD8\u901F\u7F13\u5B58\u7684 RetrieveDesc - -############################################################################# -# -# it is the last arg for each of them that contains the -# actual message. -############################################################################# -jqlc.errormsg.generic.msg={0}: {1} -jqlc.errormsg.generic.msgcolumn={0} \u5217({1}): {2} -jqlc.errormsg.generic.msglinecolumn={0} \u884C({1}) \u5217({2}): {3} - -############################################################################# -# -# Message ID Range: JDO79100 - JDO79199 -############################################################################# - -jqlc.parser.syntaxerror=JDO79100: \u8BED\u6CD5\u9519\u8BEF\u3002 -jqlc.parser.syntaxerrorattoken=JDO79101: \u5728 ''{0}'' \u5904\u6709\u8BED\u6CD5\u9519\u8BEF\u3002 -jqlc.parser.unexpectedtoken=JDO79102: \u8BED\u6CD5\u9519\u8BEF: \u610F\u5916\u6807\u8BB0 ''{0}''\u3002 -jqlc.parser.unexpectedchar=JDO79103: \u8BED\u6CD5\u9519\u8BEF: \u610F\u5916\u5B57\u7B26 ''{0}''\u3002 -jqlc.parser.expectedfoundchar=JDO79104: \u8BED\u6CD5\u9519\u8BEF: \u9700\u8981\u5B57\u7B26 ''{0}'', \u5374\u627E\u5230 ''{1}''\u3002 -jqlc.parser.unexpectedEOF=JDO79105: \u8BED\u6CD5\u9519\u8BEF\u5BFC\u81F4\u6587\u672C\u610F\u5916\u7ED3\u675F\u3002 - -############################################################################# -# -# Message ID Range: JDO7109200 - JDO79399 -############################################################################# - -# semantic error messages (unsupported operations) - -jqlc.semantic.analysebitwiseexpr.exclusiveorop=JDO79200: \u4E0D\u652F\u6301\u4E92\u65A5\u6216\u8FD0\u7B97\u7B26 ^\u3002 -jqlc.semantic.analysebitwiseexpr.integerbitwiseop=JDO79201: \u4E0D\u652F\u6301\u6574\u6570\u6309\u4F4D\u8FD0\u7B97\u7B26 {0}\u3002 -jqlc.semantic.analysecollectioncall.unsupportedcollectionexpr=JDO79202: \u4E0D\u652F\u6301\u96C6\u5408\u8868\u8FBE\u5F0F ''{0}''\u3002 -jqlc.semantic.analysecollectioncall.nonvariable=JDO79203: \u9700\u8981\u53D8\u91CF - \u4E0D\u652F\u6301\u975E\u53D8\u91CF (\u5305\u542B\u53C2\u6570)\u3002 -jqlc.semantic.generic.unsupportedconstraintop=JDO79204: \u53D8\u91CF\u7EA6\u675F\u6761\u4EF6\u5B50\u53E5\u4E0D\u652F\u6301\u64CD\u4F5C ''{0}''\u3002 -jqlc.semantic.candidateclass.nonpc=JDO79205: \u7C7B ''{0}'' \u4E0D\u5177\u6709\u6301\u4E45\u6027\u3002\u67E5\u8BE2\u4E0D\u652F\u6301\u4E0D\u5177\u6709\u6301\u4E45\u6027\u7684\u5019\u9009\u7C7B\u3002 -jqlc.semantic.checkvalidorderingexpr.invalidordering=JDO79206: \u6392\u5E8F\u89C4\u8303\u4E2D\u4E0D\u652F\u6301\u8868\u8FBE\u5F0F ''{0}''\u3002 -jqlc.semantic.checkvalidresultexpr.invalidresult=JDO79207: \u7ED3\u679C\u89C4\u8303\u4E2D\u4E0D\u652F\u6301\u8868\u8FBE\u5F0F ''{0}''\u3002 - -# semantic error messages (user errors) - -jqlc.semantic.analysecollectioncall.typemismatch=JDO79208: \u96C6\u5408\u5143\u7D20\u7C7B\u578B ''{0}'' \u4E0E\u53D8\u91CF\u7C7B\u578B ''{1}'' \u4E0D\u517C\u5BB9\u3002 -jqlc.semantic.analysecollectioncall.relationshipexpected=JDO79209: \u5173\u7CFB\u5B57\u6BB5\u9700\u8981 ''{0}''\u3002 -jqlc.semantic.analysedotexpr.classexprexpected=JDO79210: \u9700\u8981\u7C7B\u7C7B\u578B\u7684\u8868\u8FBE\u5F0F\u3002 -jqlc.semantic.analysefieldaccess.nonperistentfield=JDO79211: \u65E0\u6CD5\u8BBF\u95EE\u5177\u6709\u6301\u4E45\u6027\u7684\u7C7B ''{1}'' \u7684\u975E\u6301\u4E45\u6027\u5B57\u6BB5 ''{0}''\u3002 -jqlc.semantic.analysefieldaccess.nonpublicfield=JDO79212: \u65E0\u6CD5\u8BBF\u95EE\u4E0D\u5177\u6709\u6301\u4E45\u6027\u7684\u7C7B ''{1}'' \u7684\u975E\u516C\u5171\u5B57\u6BB5 ''{0}''\u3002 -jqlc.semantic.analysestaticfieldaccess.staticreference=JDO79213: \u65E0\u6CD5\u5BF9\u7C7B ''{1}'' \u7684\u975E\u9759\u6001\u53D8\u91CF ''{0}'' \u8FDB\u884C\u9759\u6001\u5F15\u7528\u3002 -jqlc.semantic.analysestaticfieldaccess.nonpublicfield=JDO79214: \u65E0\u6CD5\u8BBF\u95EE\u7C7B ''{1}'' \u7684\u975E\u516C\u5171\u9759\u6001\u5B57\u6BB5 ''{0}''\u3002 -jqlc.semantic.analyserelationalexpr.notorderable=JDO79215: {1} \u7684\u64CD\u4F5C\u6570\u7C7B\u578B ''{0}'' \u4E0D\u53EF\u6392\u5E8F\u3002 -jqlc.semantic.expression.undefined=JDO79216: \u672A\u5B9A\u4E49\u8868\u8FBE\u5F0F ''{0}''\u3002 -jqlc.semantic.filter.booleanexpected=JDO79217: \u9700\u8981\u5E03\u5C14\u8868\u8FBE\u5F0F, \u8FC7\u6EE4\u5668\u8868\u8FBE\u5F0F\u5177\u6709\u7C7B\u578B ''{0}''\u3002 -jqlc.semantic.generic.alreadydeclared=JDO79218: ''{0}'' \u5DF2\u58F0\u660E\u4E3A {1}\u3002 -jqlc.semantic.generic.arguments.numbermismatch=JDO79219: \u53C2\u6570\u6570\u91CF\u9519\u8BEF\u3002 -jqlc.semantic.generic.arguments.typemismatch=JDO79220: \u5B9E\u9645\u53C2\u6570\u7C7B\u578B\u4E0D\u517C\u5BB9\u3002\u65E0\u6CD5\u5C06 ''{0}'' \u8F6C\u6362\u4E3A ''{1}''\u3002 -jqlc.semantic.generic.arguments.invalid=JDO79221: ''{0}'' \u7684\u53C2\u6570\u65E0\u6548\u3002 -jqlc.semantic.generic.invalidmethodcall=JDO79222: \u65B9\u6CD5\u8C03\u7528\u65E0\u6548\u3002 -jqlc.semantic.generic.unknownfield=JDO79223: \u672A\u5B9A\u4E49\u7C7B ''{1}'' \u7684\u5B57\u6BB5 ''{0}''\u3002 -jqlc.semantic.generic.unknowntype=JDO79224: \u672A\u77E5\u7C7B\u578B ''{0}''\u3002 -jqlc.semantic.identifier.undefined=JDO79225: \u672A\u5B9A\u4E49\u6807\u8BC6\u7B26 ''{0}''\u3002 -jqlc.semantic.primary.invalidcast=JDO79226: \u65E0\u6CD5\u5C06\u8868\u8FBE\u5F0F\u4ECE\u7C7B\u578B ''{0}'' \u5F3A\u5236\u8F6C\u6362\u4E3A\u7C7B\u578B ''{1}''\u3002 -jqlc.semantic.type.notype=JDO79227: \u9700\u8981\u7C7B\u578B, ''{0}'' \u88AB\u5B9A\u4E49\u4E3A {1}\u3002 -jqlc.semantic.analyseorderingexpression.notorderable=JDO79228: \u6392\u5E8F\u8868\u8FBE\u5F0F\u7684\u7C7B\u578B ''{0}'' \u4E0D\u53EF\u6392\u5E8F\u3002 -jqlc.semantic.checkvalidresultexpr.invalidavgsumexpr=JDO79229: ''{1}'' \u805A\u96C6\u8868\u8FBE\u5F0F\u7684\u7C7B\u578B ''{0}'' \u4E0D\u662F\u6570\u5B57\u6216\u5B57\u7B26\u7C7B\u578B\u3002 -jqlc.semantic.checkvalidresultexpr.invalidminmaxexpr=JDO79230: ''{1}'' \u805A\u96C6\u8868\u8FBE\u5F0F\u7684\u7C7B\u578B ''{0}'' \u4E0D\u53EF\u6392\u5E8F\u3002 -jqlc.semantic.checkresultordering.invalidorderingfordistinctresultfield=JDO79231: distinct \u7ED3\u679C\u5B57\u6BB5\u8868\u8FBE\u5F0F ''{0}'' \u4E0E\u6392\u5E8F\u8868\u8FBE\u5F0F ''{1}'' \u4E0D\u517C\u5BB9\u3002\u5B83\u4EEC\u5FC5\u987B\u4E3A\u76F8\u540C\u5B57\u6BB5\u3002 -jqlc.semantic.checkresultordering.invalidorderingfordistinctresult=JDO79232: \u7ED3\u679C\u8868\u8FBE\u5F0F ''distinct {0}'' \u4E0E\u6392\u5E8F\u8868\u8FBE\u5F0F ''{1}'' \u4E0D\u517C\u5BB9\u3002\u5B83\u4EEC\u5FC5\u987B\u4E3A\u540C\u4E00\u7C7B\u4E2D\u7684\u5B57\u6BB5, \u5BF9\u8BE5\u7C7B\u4F7F\u7528\u76F8\u540C\u7684\u5BFC\u822A\u8868\u8FBE\u5F0F\u3002 - -# query parameter table - -jqlc.parametertable.checkunboundparams.unboundparam=JDO79233: \u67E5\u8BE2\u53C2\u6570 ''{0}'' \u65E0\u754C\u9650\u3002 -jqlc.parametertable.definevaluebyname.undefinedparam=JDO79234: \u672A\u5B9A\u4E49\u67E5\u8BE2\u53C2\u6570 ''{0}''\u3002 -jqlc.parametertable.definevaluebyindex.wrongnumberofargs=JDO79235: \u53C2\u6570\u6570\u91CF\u9519\u8BEF\u3002 -jqlc.parametertable.definevaluebyindex.typemismatch=JDO79236: \u5B9E\u9645\u53C2\u6570\u7C7B\u578B\u4E0D\u517C\u5BB9\u3002\u65E0\u6CD5\u5C06 ''{0}'' \u8F6C\u6362\u4E3A ''{1}''\u3002 - -############################################################################# -# -# Message ID Range: JDO79400 - JDO79499 -############################################################################# - -jqlc.optimizer.staticfieldaccess.illegal=JDO79400: \u65E0\u6CD5\u8BBF\u95EE\u7C7B ''{1}'' \u7684\u9759\u6001\u5B57\u6BB5 ''{0}''\u3002 -jqlc.optimizer.literal.invalid=JDO79401: {0} \u7684\u6587\u5B57\u503C ''{1}'' \u65E0\u6548\u3002 - -############################################################################# -# -# Message ID Range: JDO79500 - JDO79599 -############################################################################# - -jqlc.codegeneration.fieldaccess.illegal=JDO79500: \u65E0\u6CD5\u8BBF\u95EE\u5BF9\u8C61 ''{1}'' \u7684\u5B57\u6BB5 ''{0}''\u3002 -jqlc.codegeneration.collectioncomparison.nonnull=JDO79501: \u4E0D\u652F\u6301\u96C6\u5408\u4E0E\u975E\u7A7A\u503C\u8FDB\u884C\u6BD4\u8F83\u3002 -jqlc.codegeneration.generic.unsupportedop=JDO79502: \u4E0D\u652F\u6301\u64CD\u4F5C ''{0}'' -jqlc.codegeneration.substring.beginnegative=JDO79503: substring \u65B9\u6CD5\u7684\u5F00\u59CB\u7D22\u5F15 ''{0}'' \u4E3A\u8D1F\u503C\u3002 -jqlc.codegeneration.substring.beginlargerend=JDO79504: substring \u65B9\u6CD5\u7684\u5F00\u59CB\u7D22\u5F15 ''{0}'' \u5927\u4E8E\u7ED3\u675F\u7D22\u5F15 ''{1}''\u3002 -jqlc.codegeneration.resultExpr.missingpkfields=JDO79505: \u4E0D\u652F\u6301\u7684 COUNT \u8868\u8FBE\u5F0F\u3002\u8868\u8FBE\u5F0F\u7C7B\u578B ''{0}'' \u4E3A\u5177\u6709\u6301\u4E45\u6027\u7684\u4E0D\u5E26\u4E3B\u952E\u5B57\u6BB5\u7684\u7C7B\u3002 - -############################################################################# -# -# Message ID Range: JDO79600 - JDO79699 -############################################################################# -# {0} - RetrieveDesc info -LOG_JQLCDumpRD=JDO79600: JQLC \u8F6C\u50A8 RetrieveDesc {0} - -# variable table - -jqlc.variabletable.markconstraint.multiple=JDO79601: \u53D8\u91CF ''{0}'' \u7684\u591A\u4E2A\u7EA6\u675F\u6761\u4EF6\u3002 -jqlc.variabletable.checkconstraint.unused=JDO79602: \u53D8\u91CF ''{0}'' \u5DF2\u5B9A\u4E49, \u4F46\u672A\u4F7F\u7528\u3002 -jqlc.variabletable.checkconstraint.cycle=JDO79603: \u4E0D\u652F\u6301\u7528\u4E8E\u53D8\u91CF ''{0}'' \u7684\u5FAA\u73AF\u7EA6\u675F\u6761\u4EF6\u5B9A\u4E49\u3002 -jqlc.variabletable.merge.different=JDO79604: \u4E0D\u540C\u7EA6\u675F\u6761\u4EF6\u7528\u4E8E\u540C\u4E00\u53D8\u91CF ''{0}''\u3002 - - -############################################################################### -# -############################################################################### -# -# -# -jqlc.jqlc.checkcandidates.nullpc=\u533A\u96C6\u5408\u5177\u6709\u6301\u4E45\u6027\u7684\u7C7B\u4E3A\u7A7A\u503C\u3002 - -jqlc.parser.invalidunicodestr=JQLLexer.UNICODE_STR - -jqlc.parametertable.getvaluebyname.undefined=ParameterTable.getValueByName: \u672A\u5B9A\u4E49\u7684\u53C2\u6570 {0}\u3002 -jqlc.parametertable.getvaluebyindex.wrongindex=ParameterTable.getValueByIndex: \u9519\u8BEF\u7684\u7D22\u5F15 {0}\u3002 -jqlc.parametertable.definevaluebyindex.wrongindex=ParameterTable.defineValueByIndex: \u9519\u8BEF\u7684\u7D22\u5F15 {0}\u3002 - -jqlc.semantic.checkcandidateclass.unknowntype=Semantic.checkCandidateClass: \u672A\u77E5\u7C7B\u578B {0}\u3002 -jqlc.semantic.analysedefinedidentifier.illegalident=Semantic.analyseDefinedIdentifier: \u975E\u6CD5\u7684\u6807\u8BC6\u7B26\u5B9A\u4E49 {0}\u3002 -jqlc.semantic.getcollectionfield.missingchildren=Semantic.getCollectionField: \u8282\u70B9\u7ED3\u6784\u65E0\u6548, \u7F3A\u5C11\u5B50\u9879\u3002 - -jqlc.optimizer.checkbinaryplusop.invalidtype=Optimizer.checkBinaryPlusOp: \u7C7B\u578B {0} \u65E0\u6548\u3002 -jqlc.optimizer.checkbinaryminusop.invalidtype=Optimizer.checkBinaryMinusOp: \u7C7B\u578B {0} \u65E0\u6548\u3002 -jqlc.optimizer.checkmultiplicationop.invalidtype=Optimizer.checkMultiplicationOp: \u7C7B\u578B {0} \u65E0\u6548\u3002 -jqlc.optimizer.checkdivisionop.invalidtype=Optimizer.checkDivisionOp: \u7C7B\u578B {0} \u65E0\u6548\u3002 -jqlc.optimizer.checkmodop.invalidtype=Optimizer.checkModOp: \u7C7B\u578B {0} \u65E0\u6548\u3002 -jqlc.optimizer.checkunaryminusop.invalidtype=Optimizer.checkUnaryMinusOp: \u7C7B\u578B {0} \u65E0\u6548\u3002 -jqlc.optimizer.getbigdecimalvalue.notnumber=Optimizer.getBigDecimalValue: \u6240\u9700\u7684\u6570\u503C {0}\u3002 -jqlc.optimizer.getbigintegervalue.notnumber=Optimizer.getBigIntegerValue: \u6240\u9700\u7684\u6570\u503C\u4E3A {0}\u3002 -jqlc.optimizer.isempty.requirecollection=Optimizer.isEmpty: \u9700\u8981\u96C6\u5408\u503C\u3002 - -jqlc.codegeneration.generatesimplefieldvaluecomparison.invalidvalue=CodeGeneration.generateSimpleFieldValueComparison: \u5173\u7CFB\u64CD\u4F5C\u4E2D\u7684\u65E0\u6548\u7A7A\u503C\u3002 -jqlc.codegeneration.generateparametervaluecomparison.invalidvalue=CodeGeneration.generateParameterValueComparison: \u5173\u7CFB\u64CD\u4F5C\u4E2D\u7684\u65E0\u6548\u7A7A\u503C\u3002 -jqlc.codegeneration.getkeyfieldscomparisonbooleanop.invalidobj=CodeGeneration.getKeyFieldsComparisonBooleanOp: \u5BF9\u8C61\u6BD4\u8F83\u64CD\u4F5C {0} \u65E0\u6548\u3002 -jqlc.codegeneration.filter.nonbooleanvalue=CodeGeneration.filter: \u975E\u5E03\u5C14\u503C {0} \u65E0\u6548\u3002 -jqlc.codegeneration.primary.null=CodeGeneration.primary: \u7A7A\u503C\u65E0\u6548\u3002 - -jqlc.variabletable.markused.varnotfound=\u627E\u4E0D\u5230 VariableTable.markUsed \u53D8\u91CF {0}\u3002 -jqlc.variabletable.markused.multidep=\u53D8\u91CF {0} \u7684 VariableTable.markUsed \u591A\u76F8\u5173\u6027, \u65E7\u503C: {1}, \u65B0\u503C: {2}\u3002 -jqlc.variabletable.markconstraint.varnotfound=\u627E\u4E0D\u5230 VariableTable.markConstraint \u53D8\u91CF {0}\u3002 - -jqlc.jdoqlparameterdeclarationparser.next.wrongtoken=ParameterDeclarationHelper.ParameterTypeIterator.next: \u9519\u8BEF\u7684\u6807\u8BB0\u7C7B\u578B {0}, \u9700\u8981 PARAMETER_DEF \u8282\u70B9\u3002 - -jqlc.queryvaluefetcher.getvalue.invalidparam=\u53C2\u6570\u7D22\u5F15{0}\u65E0\u6548, \u53C2\u6570\u6570\u7EC4\u957F\u5EA6\u4E3A {1}\u3002 diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_zh_TW.properties deleted file mode 100644 index 877ed4b924a..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle_zh_TW.properties +++ /dev/null @@ -1,236 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 79. -# -# This file is divided into following sections. -# 1. main compiler class -# 2. error message helper class -# 3. syntax error messages -# 4. semantic error messages -# 5. optimizer -# 6. code generation -# 7. Miscellaneous -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################## -#
    -# Message ID Range: JDO79000 - JDO79099 -############################################################################# - -jqlc.jqlc.generic.nocandidateclass=JDO79000\uFF1A\u7F3A\u5C11\u5019\u9078\u985E\u5225\u898F\u683C\u3002 -jqlc.jqlc.checkcandidates.memorycollection=JDO79001\uFF1A\u4E0D\u652F\u63F4\u67E5\u8A62\u975E\u5EF6\u4F38\u96C6\u5408\u3002 -jqlc.jqlc.checkcandidates.mismatch=JDO79002\uFF1A\u5019\u9078\u96C6\u5408\u8207\u5019\u9078\u985E\u5225 ''{0}'' \u4E0D\u76F8\u7B26\u3002 -# {0} - name of the compiler pass -LOG_JQLCStartPass=JDO79003\uFF1AJQLC \u555F\u52D5 {0} -# {0} - name of the compiler pass -LOG_JQLCDumpTree=JDO79004\uFF1AJQLC \u50BE\u5370\u6A39 {0} -LOG_JQLCReuseRetrieveDesc=JDO79005\uFF1AJQLC \u91CD\u8907\u4F7F\u7528\u5FEB\u53D6\u7684 RetrieveDesc - -############################################################################# -# -# it is the last arg for each of them that contains the -# actual message. -############################################################################# -jqlc.errormsg.generic.msg={0}: {1} -jqlc.errormsg.generic.msgcolumn={0} \u6B04({1})\uFF1A{2} -jqlc.errormsg.generic.msglinecolumn={0} \u884C({1}) \u6B04({2})\uFF1A{3} - -############################################################################# -# -# Message ID Range: JDO79100 - JDO79199 -############################################################################# - -jqlc.parser.syntaxerror=JDO79100\uFF1A\u8A9E\u6CD5\u932F\u8AA4\u3002 -jqlc.parser.syntaxerrorattoken=JDO79101\uFF1A\u5728 ''{0}'' \u8655\u767C\u751F\u8A9E\u6CD5\u932F\u8AA4\u3002 -jqlc.parser.unexpectedtoken=JDO79102\uFF1A\u672A\u9810\u671F\u7684\u8A9E\u6CD5\u932F\u8AA4\u8A18\u865F ''{0}''\u3002 -jqlc.parser.unexpectedchar=JDO79103\uFF1A\u672A\u9810\u671F\u7684\u8A9E\u6CD5\u932F\u8AA4\u5B57\u5143 ''{0}''\u3002 -jqlc.parser.expectedfoundchar=JDO79104\uFF1A\u9810\u671F\u7684\u8A9E\u6CD5\u932F\u8AA4\u5B57\u5143 ''{0}''\uFF0C\u627E\u5230 ''{1}''\u3002 -jqlc.parser.unexpectedEOF=JDO79105\uFF1A\u672A\u9810\u671F\u7D50\u675F\u6587\u672C\u6642\u767C\u751F\u8A9E\u6CD5\u932F\u8AA4\u3002 - -############################################################################# -# -# Message ID Range: JDO7109200 - JDO79399 -############################################################################# - -# semantic error messages (unsupported operations) - -jqlc.semantic.analysebitwiseexpr.exclusiveorop=JDO79200\uFF1A\u4E0D\u652F\u63F4\u5C08\u7528\u6216\u904B\u7B97\u5B50 ^\u3002 -jqlc.semantic.analysebitwiseexpr.integerbitwiseop=JDO79201\uFF1A\u4E0D\u652F\u63F4\u6574\u6578\u4F4D\u5143\u904B\u7B97\u5B50 {0}\u3002 -jqlc.semantic.analysecollectioncall.unsupportedcollectionexpr=JDO79202\uFF1A\u4E0D\u652F\u63F4\u96C6\u5408\u8868\u793A\u5F0F ''{0}''\u3002 -jqlc.semantic.analysecollectioncall.nonvariable=JDO79203\uFF1A\u9810\u671F\u7684\u8B8A\u6578 \uFF0D \u975E\u8B8A\u6578\u5305\u542B\u4E0D\u53D7\u652F\u63F4\u7684\u5F15\u6578\u3002 -jqlc.semantic.generic.unsupportedconstraintop=JDO79204\uFF1A\u4E0D\u652F\u63F4 variable constraint \u5B50\u53E5\u7684\u4F5C\u696D ''{0}''\u3002 -jqlc.semantic.candidateclass.nonpc=JDO79205\uFF1A\u985E\u5225 ''{0}'' \u4E0D\u5177\u6709\u6301\u7E8C\u6027\u3002\u67E5\u8A62\u4E0D\u652F\u63F4 Non-persistence-capable \u5019\u9078\u985E\u5225\u3002 -jqlc.semantic.checkvalidorderingexpr.invalidordering=JDO79206\uFF1A\u6392\u5E8F\u898F\u683C\u4E2D\u4E0D\u652F\u63F4\u8868\u793A\u5F0F ''{0}''\u3002 -jqlc.semantic.checkvalidresultexpr.invalidresult=JDO79207\uFF1A\u7D50\u679C\u898F\u683C\u4E2D\u4E0D\u652F\u63F4\u8868\u793A\u5F0F ''{0}''\u3002 - -# semantic error messages (user errors) - -jqlc.semantic.analysecollectioncall.typemismatch=JDO79208\uFF1A\u96C6\u5408\u5143\u7D20\u985E\u578B ''{0}'' \u8207\u8B8A\u6578\u985E\u578B ''{1}'' \u4E0D\u76F8\u5BB9\u3002 -jqlc.semantic.analysecollectioncall.relationshipexpected=JDO79209\uFF1A\u9810\u671F\u7684\u95DC\u4FC2\u6B04\u4F4D ''{0}''\u3002 -jqlc.semantic.analysedotexpr.classexprexpected=JDO79210\uFF1A\u9810\u671F\u7684\u985E\u5225\u985E\u578B\u8868\u793A\u5F0F\u3002 -jqlc.semantic.analysefieldaccess.nonperistentfield=JDO79211\uFF1A\u7121\u6CD5\u5B58\u53D6\u5177\u6709\u6301\u7E8C\u6027\u985E\u5225 ''{1}'' \u7684\u975E\u6301\u7E8C\u6027\u6B04\u4F4D ''{0}''\u3002 -jqlc.semantic.analysefieldaccess.nonpublicfield=JDO79212\uFF1A\u7121\u6CD5\u5B58\u53D6\u975E\u6301\u7E8C\u6027\u985E\u5225 ''{1}'' \u7684\u975E\u516C\u7528\u6B04\u4F4D ''{0}''\u3002 -jqlc.semantic.analysestaticfieldaccess.staticreference=JDO79213\uFF1A\u7121\u6CD5\u5C0D\u985E\u5225 ''{1}'' \u7684\u975E\u975C\u614B\u8B8A\u6578 ''{0}'' \u9032\u884C\u975C\u614B\u53C3\u7167\u3002 -jqlc.semantic.analysestaticfieldaccess.nonpublicfield=JDO79214\uFF1A\u7121\u6CD5\u5B58\u53D6\u985E\u5225 ''{1}'' \u7684\u975E\u516C\u7528\u975C\u614B\u6B04\u4F4D ''{0}''\u3002 -jqlc.semantic.analyserelationalexpr.notorderable=JDO79215\uFF1A{1} \u7684\u904B\u7B97\u5143\u985E\u578B ''{0}'' \u662F\u4E0D\u53EF\u6392\u5E8F\u7684\u3002 -jqlc.semantic.expression.undefined=JDO79216\uFF1A\u672A\u5B9A\u7FA9\u8868\u793A\u5F0F ''{0}''\u3002 -jqlc.semantic.filter.booleanexpected=JDO79217\uFF1A\u9810\u671F\u5E03\u6797\u8868\u793A\u5F0F\uFF0C\u7BE9\u9078\u8868\u793A\u5F0F\u7684\u985E\u578B\u70BA ''{0}''\u3002 -jqlc.semantic.generic.alreadydeclared=JDO79218\uFF1A''{0}'' \u5DF2\u5BA3\u544A\u70BA {1}\u3002 -jqlc.semantic.generic.arguments.numbermismatch=JDO79219\uFF1A\u5F15\u6578\u6578\u76EE\u932F\u8AA4\u3002 -jqlc.semantic.generic.arguments.typemismatch=JDO79220\uFF1A\u5BE6\u969B\u53C3\u6578\u7684\u985E\u578B\u4E0D\u76F8\u5BB9\u3002\u7121\u6CD5\u5C07 ''{0}'' \u8F49\u63DB\u70BA ''{1}''\u3002 -jqlc.semantic.generic.arguments.invalid=JDO79221\uFF1A''{0}'' \u7684\u5F15\u6578\u7121\u6548\u3002 -jqlc.semantic.generic.invalidmethodcall=JDO79222\uFF1A\u65B9\u6CD5\u547C\u53EB\u7121\u6548\u3002 -jqlc.semantic.generic.unknownfield=JDO79223\uFF1A\u6C92\u6709\u70BA\u985E\u5225 ''{1}'' \u5B9A\u7FA9\u6B04\u4F4D ''{0}''\u3002 -jqlc.semantic.generic.unknowntype=JDO79224\uFF1A\u985E\u578B ''{0}'' \u672A\u77E5\u3002 -jqlc.semantic.identifier.undefined=JDO79225\uFF1A\u672A\u5B9A\u7FA9\u8B58\u5225\u78BC ''{0}''\u3002 -jqlc.semantic.primary.invalidcast=JDO79226\uFF1A\u7121\u6CD5\u5C07\u8868\u793A\u5F0F\u985E\u578B ''{0}'' \u8F49\u63DB\u70BA\u985E\u578B ''{1}''\u3002 -jqlc.semantic.type.notype=JDO79227\uFF1A\u9810\u671F\u985E\u578B\uFF0C''{0}'' \u5DF2\u5B9A\u7FA9\u70BA {1}\u3002 -jqlc.semantic.analyseorderingexpression.notorderable=JDO79228\uFF1A\u6392\u5E8F\u8868\u793A\u5F0F\u7684\u985E\u578B ''{0}'' \u662F\u4E0D\u53EF\u6392\u5E8F\u7684\u3002 -jqlc.semantic.checkvalidresultexpr.invalidavgsumexpr=JDO79229\uFF1A''{1}'' \u5408\u4F75\u8868\u793A\u5F0F\u7684\u985E\u578B ''{0}'' \u4E0D\u662F\u6578\u5B57\u6216\u5B57\u5143\u985E\u578B\u3002 -jqlc.semantic.checkvalidresultexpr.invalidminmaxexpr=JDO79230\uFF1A''{1}'' \u5408\u4F75\u8868\u793A\u5F0F\u7684\u985E\u578B ''{0}'' \u662F\u4E0D\u53EF\u6392\u5E8F\u7684\u3002 -jqlc.semantic.checkresultordering.invalidorderingfordistinctresultfield=JDO79231\uFF1A\u660E\u78BA\u7D50\u679C\u6B04\u4F4D\u8868\u793A\u5F0F ''{0}'' \u548C\u6392\u5E8F\u8868\u793A\u5F0F ''{1}'' \u4E0D\u76F8\u5BB9\u3002\u5B83\u5011\u5FC5\u9808\u70BA\u540C\u4E00\u6B04\u4F4D\u3002 -jqlc.semantic.checkresultordering.invalidorderingfordistinctresult=JDO79232\uFF1A\u7D50\u679C\u8868\u793A\u5F0F ''distinct {0}'' \u548C\u6392\u5E8F\u8868\u793A\u5F0F ''{1}'' \u4E0D\u76F8\u5BB9\u3002\u5B83\u5011\u5FC5\u9808\u662F\u5728\u540C\u4E00\u985E\u5225\u4E2D\u4F7F\u7528\u8A72\u985E\u5225\u4E4B\u5C0E\u89BD\u8868\u793A\u5F0F\u7684\u6B04\u4F4D\u3002 - -# query parameter table - -jqlc.parametertable.checkunboundparams.unboundparam=JDO79233\uFF1A\u7121\u754C\u9650\u67E5\u8A62\u53C3\u6578 ''{0}''\u3002 -jqlc.parametertable.definevaluebyname.undefinedparam=JDO79234\uFF1A\u672A\u5B9A\u7FA9\u67E5\u8A62\u53C3\u6578 ''{0}''\u3002 -jqlc.parametertable.definevaluebyindex.wrongnumberofargs=JDO79235\uFF1A\u5F15\u6578\u6578\u76EE\u932F\u8AA4\u3002 -jqlc.parametertable.definevaluebyindex.typemismatch=JDO79236\uFF1A\u5BE6\u969B\u53C3\u6578\u7684\u985E\u578B\u4E0D\u76F8\u5BB9\u3002\u7121\u6CD5\u5C07 ''{0}'' \u8F49\u63DB\u70BA ''{1}''\u3002 - -############################################################################# -# -# Message ID Range: JDO79400 - JDO79499 -############################################################################# - -jqlc.optimizer.staticfieldaccess.illegal=JDO79400\uFF1A\u7121\u6CD5\u5B58\u53D6\u985E\u5225 ''{1}'' \u7684\u975C\u614B\u6B04\u4F4D ''{0}''\u3002 -jqlc.optimizer.literal.invalid=JDO79401\uFF1A{0} \u6587\u5B57 ''{1}'' \u7121\u6548\u3002 - -############################################################################# -# -# Message ID Range: JDO79500 - JDO79599 -############################################################################# - -jqlc.codegeneration.fieldaccess.illegal=JDO79500\uFF1A\u7121\u6CD5\u5B58\u53D6\u7269\u4EF6 ''{1}'' \u7684\u6B04\u4F4D ''{0}''\u3002 -jqlc.codegeneration.collectioncomparison.nonnull=JDO79501\uFF1A\u4E0D\u652F\u63F4\u96C6\u5408\u8207\u975E\u7A7A\u503C\u7684\u6BD4\u8F03\u3002 -jqlc.codegeneration.generic.unsupportedop=JDO79502\uFF1A\u4E0D\u652F\u63F4\u4F5C\u696D ''{0}'' -jqlc.codegeneration.substring.beginnegative=JDO79503\uFF1A\u5B50\u5B57\u4E32\u65B9\u6CD5\u7684\u958B\u59CB\u7D22\u5F15 ''{0}'' \u662F\u8CA0\u503C\u3002 -jqlc.codegeneration.substring.beginlargerend=JDO79504\uFF1A\u5B50\u5B57\u4E32\u65B9\u6CD5\u7684\u958B\u59CB\u7D22\u5F15 ''{0}'' \u5927\u65BC\u7D50\u675F\u7D22\u5F15 ''{1}''\u3002 -jqlc.codegeneration.resultExpr.missingpkfields=JDO79505\uFF1A\u4E0D\u652F\u63F4\u8A08\u6578\u8868\u793A\u5F0F\u3002\u8868\u793A\u5F0F\u985E\u578B ''{0}'' \u70BA\u6C92\u6709\u4E3B\u9375\u6B04\u4F4D\u7684\u6301\u7E8C\u6027\u985E\u5225\u3002 - -############################################################################# -# -# Message ID Range: JDO79600 - JDO79699 -############################################################################# -# {0} - RetrieveDesc info -LOG_JQLCDumpRD=JDO79600\uFF1AJQLC \u50BE\u5370 RetrieveDesc {0} - -# variable table - -jqlc.variabletable.markconstraint.multiple=JDO79601\uFF1A\u8B8A\u6578 ''{0}'' \u7684\u591A\u91CD\u9650\u5236\u3002 -jqlc.variabletable.checkconstraint.unused=JDO79602\uFF1A\u5DF2\u5B9A\u7FA9\u8B8A\u6578 ''{0}''\uFF0C\u4F46\u672A\u4F7F\u7528\u3002 -jqlc.variabletable.checkconstraint.cycle=JDO79603\uFF1A\u4E0D\u652F\u63F4\u8B8A\u6578 ''{0}'' \u7684\u5FAA\u74B0\u9650\u5236\u5B9A\u7FA9\u3002 -jqlc.variabletable.merge.different=JDO79604\uFF1A\u540C\u4E00\u8B8A\u6578 ''{0}'' \u7684\u4E0D\u540C\u9650\u5236\u3002 - - -############################################################################### -# -############################################################################### -# -# -# -jqlc.jqlc.checkcandidates.nullpc=\u5EF6\u4F38\u96C6\u5408\u7684\u5177\u6709\u6301\u7E8C\u6027\u985E\u5225\u70BA\u7A7A\u503C\u3002 - -jqlc.parser.invalidunicodestr=JQLLexer.UNICODE_STR - -jqlc.parametertable.getvaluebyname.undefined=ParameterTable.getValueByName\uFF1A\u672A\u5B9A\u7FA9\u7684\u53C3\u6578 {0}\u3002 -jqlc.parametertable.getvaluebyindex.wrongindex=ParameterTable.getValueByIndex\uFF1A\u932F\u8AA4\u7684\u7D22\u5F15 {0}\u3002 -jqlc.parametertable.definevaluebyindex.wrongindex=ParameterTable.defineValueByIndex\uFF1A\u932F\u8AA4\u7684\u7D22\u5F15 {0}\u3002 - -jqlc.semantic.checkcandidateclass.unknowntype=Semantic.checkCandidateClass\uFF1A\u4E0D\u660E\u7684\u985E\u578B {0}\u3002 -jqlc.semantic.analysedefinedidentifier.illegalident=Semantic.analyseDefinedIdentifier\uFF1A\u975E\u6CD5\u7684\u8B58\u5225\u78BC\u5B9A\u7FA9 {0}\u3002 -jqlc.semantic.getcollectionfield.missingchildren=Semantic.getCollectionField\uFF1A\u7121\u6548\u7684\u7BC0\u9EDE\u7D50\u69CB\uFF0C\u907A\u6F0F\u5B50\u7CFB\u3002 - -jqlc.optimizer.checkbinaryplusop.invalidtype=Optimizer.checkBinaryPlusOp\uFF1A\u7121\u6548\u7684\u985E\u578B {0}\u3002 -jqlc.optimizer.checkbinaryminusop.invalidtype=Optimizer.checkBinaryMinusOp\uFF1A\u7121\u6548\u7684\u985E\u578B {0}\u3002 -jqlc.optimizer.checkmultiplicationop.invalidtype=Optimizer.checkMultiplicationOp\uFF1A\u7121\u6548\u7684\u985E\u578B {0}\u3002 -jqlc.optimizer.checkdivisionop.invalidtype=Optimizer.checkDivisionOp\uFF1A\u7121\u6548\u7684\u985E\u578B {0}\u3002 -jqlc.optimizer.checkmodop.invalidtype=Optimizer.checkModOp\uFF1A\u7121\u6548\u7684\u985E\u578B {0}\u3002 -jqlc.optimizer.checkunaryminusop.invalidtype=Optimizer.checkUnaryMinusOp\uFF1A\u7121\u6548\u7684\u985E\u578B {0}\u3002 -jqlc.optimizer.getbigdecimalvalue.notnumber=Optimizer.getBigDecimalValue\uFF1A\u9810\u671F\u7684\u6578\u5B57\u503C {0}\u3002 -jqlc.optimizer.getbigintegervalue.notnumber=Optimizer.getBigIntegerValue\uFF1A\u9810\u671F\u7684\u6578\u5B57\u503C {0}\u3002 -jqlc.optimizer.isempty.requirecollection=Optimizer.isEmpty\uFF1A\u9700\u8981\u96C6\u5408\u503C\u3002 - -jqlc.codegeneration.generatesimplefieldvaluecomparison.invalidvalue=CodeGeneration.generateSimpleFieldValueComparison\uFF1A\u95DC\u806F\u5F0F\u4F5C\u696D\u4E2D\u7684\u7A7A\u503C\u7121\u6548 -jqlc.codegeneration.generateparametervaluecomparison.invalidvalue=CodeGeneration.generateParameterValueComparison\uFF1A\u95DC\u806F\u5F0F\u4F5C\u696D\u4E2D\u7684\u7A7A\u503C\u7121\u6548 -jqlc.codegeneration.getkeyfieldscomparisonbooleanop.invalidobj=CodeGeneration.getKeyFieldsComparisonBooleanOp\uFF1A\u7121\u6548\u7684\u7269\u4EF6\u6BD4\u8F03\u4F5C\u696D {0}\u3002 -jqlc.codegeneration.filter.nonbooleanvalue=CodeGeneration.filter\uFF1A\u7121\u6548\u7684\u975E\u5E03\u6797\u503C {0}\u3002 -jqlc.codegeneration.primary.null=CodeGeneration.primary\uFF1A\u7121\u6548\u7684\u7A7A\u503C\u3002 - -jqlc.variabletable.markused.varnotfound=\u627E\u4E0D\u5230 VariableTable.markUsed \u8B8A\u6578 {0}\u3002 -jqlc.variabletable.markused.multidep=\u8B8A\u6578 {0} (\u820A\uFF1A{1}\uFF0C\u65B0\uFF1A{2}) \u7684 VariableTable.markUsed \u591A\u91CD\u76F8\u4F9D\u6027\u3002 -jqlc.variabletable.markconstraint.varnotfound=\u627E\u4E0D\u5230 VariableTable.markConstraint \u8B8A\u6578 {0}\u3002 - -jqlc.jdoqlparameterdeclarationparser.next.wrongtoken=ParameterDeclarationHelper.ParameterTypeIterator.next\uFF1A\u932F\u8AA4\u7684\u8A18\u865F\u985E\u578B {0}\uFF0C\u9810\u671F PARAMETER_DEF \u7BC0\u9EDE\u3002 - -jqlc.queryvaluefetcher.getvalue.invalidparam=\u7121\u6548\u7684\u53C3\u6578\u7D22\u5F15 {0} \u53C3\u6578\u9663\u5217\u9577\u5EA6\u70BA {1}\u3002 diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_de.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_de.properties deleted file mode 100644 index 93a08e41880..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_de.properties +++ /dev/null @@ -1,53 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase - -scope.classname.getname.name=Typname -scope.parameter.getname.name=Parameter -scope.variable.getname.name=Variable -scope.field.getname.name=Feld diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_es.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_es.properties deleted file mode 100644 index 3f23353e0a3..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_es.properties +++ /dev/null @@ -1,53 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase - -scope.classname.getname.name=type name -scope.parameter.getname.name=parameter -scope.variable.getname.name=variable -scope.field.getname.name=field diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_fr.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_fr.properties deleted file mode 100644 index 3c95819888a..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_fr.properties +++ /dev/null @@ -1,53 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase - -scope.classname.getname.name=nom du type -scope.parameter.getname.name=param\u00E8tre -scope.variable.getname.name=variable -scope.field.getname.name=champ diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_it.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_it.properties deleted file mode 100644 index e028373648b..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_it.properties +++ /dev/null @@ -1,53 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase - -scope.classname.getname.name=nome tipo -scope.parameter.getname.name=parametro -scope.variable.getname.name=variabile -scope.field.getname.name=campo diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_ja.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_ja.properties deleted file mode 100644 index ee641851cb6..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_ja.properties +++ /dev/null @@ -1,53 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase - -scope.classname.getname.name=\u578B\u540D -scope.parameter.getname.name=\u30D1\u30E9\u30E1\u30FC\u30BF -scope.variable.getname.name=\u5909\u6570 -scope.field.getname.name=\u30D5\u30A3\u30FC\u30EB\u30C9 diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_ko.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_ko.properties deleted file mode 100644 index 61f55b29f9f..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_ko.properties +++ /dev/null @@ -1,53 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase - -scope.classname.getname.name=\uC720\uD615 \uC774\uB984 -scope.parameter.getname.name=\uB9E4\uAC1C\uBCC0\uC218 -scope.variable.getname.name=\uBCC0\uC218 -scope.field.getname.name=field diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_pt_BR.properties deleted file mode 100644 index 9000e43b347..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_pt_BR.properties +++ /dev/null @@ -1,53 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase - -scope.classname.getname.name=nome do tipo -scope.parameter.getname.name=par\u00E2metro -scope.variable.getname.name=vari\u00E1vel -scope.field.getname.name=campo diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_zh_CN.properties deleted file mode 100644 index 52c28684c45..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_zh_CN.properties +++ /dev/null @@ -1,53 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase - -scope.classname.getname.name=\u7C7B\u578B\u540D\u79F0 -scope.parameter.getname.name=\u53C2\u6570 -scope.variable.getname.name=\u53D8\u91CF -scope.field.getname.name=field diff --git a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_zh_TW.properties deleted file mode 100644 index 2b4a4452df9..00000000000 --- a/appserver/persistence/cmp-l10n/support-sqlstore-l10n/src/main/resources/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle_zh_TW.properties +++ /dev/null @@ -1,53 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase - -scope.classname.getname.name=\u985E\u578B\u540D\u7A31 -scope.parameter.getname.name=\u53C3\u6578 -scope.variable.getname.name=\u8B8A\u6578 -scope.field.getname.name=\u6B04\u4F4D diff --git a/appserver/persistence/cmp-l10n/utility-l10n/osgi.bundle b/appserver/persistence/cmp-l10n/utility-l10n/osgi.bundle deleted file mode 100644 index 86722a634cb..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/osgi.bundle +++ /dev/null @@ -1,41 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -Fragment-Host: fish.payara.server.internal.persistence.cmp.utility; bundle-version=${project.osgi.version} diff --git a/appserver/persistence/cmp-l10n/utility-l10n/pom.xml b/appserver/persistence/cmp-l10n/utility-l10n/pom.xml deleted file mode 100755 index 1a60995964a..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/pom.xml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp-l10n - 7.2026.5-SNAPSHOT - - cmp-utility-l10n - - utility module for cmp l10n - - - true - - - - - - org.glassfish.hk2 - osgiversion-maven-plugin - - - compute-osgi-version - - compute-osgi-version - - - - - - org.apache.felix - maven-bundle-plugin - - - bundle-manifest - process-classes - - manifest - - - - - - - - - - - - - src/main/resources - - **/*.jar - - - - - diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_de.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_de.properties deleted file mode 100644 index 4bb199dd595..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_de.properties +++ /dev/null @@ -1,76 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 81. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO81000 - JDO81999 -############################################################################### -utility.nullsemaphore.constructor=NullSemaphore constructor() f\u00FCr {0}. -utility.nullsemaphore.acquire=NullSemaphore.acquire() f\u00FCr {0}. -utility.nullsemaphore.release=NullSemaphore.release() f\u00FCr {0}. - -utility.semaphoreimpl.acquire=SemaphoreImpl.acquire() f\u00FCr {0}, Thread = {1} mit _lockCounter = {2}. -utility.semaphoreimpl.gotlock=SemaphoreImpl.acquire() f\u00FCr {0}, erhalten f\u00FCr Thread = {1} mit _lockCounter = {2}. -utility.semaphoreimpl.release=SemaphoreImpl.release() f\u00FCr {0}, Thread = {1} mit _lockCounter = {2}. -utility.semaphoreimpl.wrongthread=SemaphoreImpl.release() falscher Thread f\u00FCr {0}, Thread = {1}. - diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_es.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_es.properties deleted file mode 100644 index 032de8ae3fa..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_es.properties +++ /dev/null @@ -1,76 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 81. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO81000 - JDO81999 -############################################################################### -utility.nullsemaphore.constructor=Constructor NullSemaphore () para {0}. -utility.nullsemaphore.acquire=NullSemaphore.acquire() para {0}. -utility.nullsemaphore.release=NullSemaphore.release() para {0}. - -utility.semaphoreimpl.acquire=SemaphoreImpl.acquire() para {0}, thread = {1} con _lockCounter = {2}. -utility.semaphoreimpl.gotlock=SemaphoreImpl.acquire() para {0}, se ha obtenido para thread = {1} con _lockCounter = {2}. -utility.semaphoreimpl.release=SemaphoreImpl.release() para {0}, thread = {1} con _lockCounter = {2}. -utility.semaphoreimpl.wrongthread=SemaphoreImpl.release() thread incorrecto para {0}, thread = {1}. - diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_fr.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_fr.properties deleted file mode 100644 index 60b8027b130..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_fr.properties +++ /dev/null @@ -1,76 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 81. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO81000 - JDO81999 -############################################################################### -utility.nullsemaphore.constructor=NullSemaphore constructor() pour {0}. -utility.nullsemaphore.acquire=NullSemaphore.acquire() pour {0}. -utility.nullsemaphore.release=NullSemaphore.release() pour {0}. - -utility.semaphoreimpl.acquire=SemaphoreImpl.acquire() pour {0}, thread = {1} avec _lockCounter = {2}. -utility.semaphoreimpl.gotlock=SemaphoreImpl.acquire() pour {0}, obtenu pour thread = {1} avec _lockCounter = {2}. -utility.semaphoreimpl.release=SemaphoreImpl.release() pour {0}, thread = {1} avec _lockCounter = {2}. -utility.semaphoreimpl.wrongthread=SemaphoreImpl.release(), thread incorrect pour {0}, thread = {1}. - diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_it.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_it.properties deleted file mode 100644 index b044aa20097..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_it.properties +++ /dev/null @@ -1,76 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 81. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO81000 - JDO81999 -############################################################################### -utility.nullsemaphore.constructor=NullSemaphore costruttore() per {0}. -utility.nullsemaphore.acquire=NullSemaphore.acquire() per {0}. -utility.nullsemaphore.release=NullSemaphore.release() per {0}. - -utility.semaphoreimpl.acquire=SemaphoreImpl.acquire() per {0}, thread = {1} con _lockCounter = {2}. -utility.semaphoreimpl.gotlock=SemaphoreImpl.acquire() per {0}, ottenuto per il thread = {1} con _lockCounter = {2}. -utility.semaphoreimpl.release=SemaphoreImpl.release() per {0}, thread = {1} con _lockCounter = {2}. -utility.semaphoreimpl.wrongthread=Thread errato SemaphoreImpl.release() per {0}, thread = {1}. - diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_ja.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_ja.properties deleted file mode 100644 index af26d4704ed..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_ja.properties +++ /dev/null @@ -1,76 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 81. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO81000 - JDO81999 -############################################################################### -utility.nullsemaphore.constructor={0}\u306ENullSemaphore constructor()\u3002 -utility.nullsemaphore.acquire={0}\u306ENullSemaphore.acquire()\u3002 -utility.nullsemaphore.release={0}\u306ENullSemaphore.release()\u3002 - -utility.semaphoreimpl.acquire={0}\u306ESemaphoreImpl.acquire()\u3001\u30B9\u30EC\u30C3\u30C9={1}\u3001_lockCounter={2}\u3002 -utility.semaphoreimpl.gotlock={0}\u306ESemaphoreImpl.acquire()\u3001\u5BFE\u8C61\u306E\u30B9\u30EC\u30C3\u30C9={1}\u3001_lockCounter={2}\u3002 -utility.semaphoreimpl.release={0}\u306ESemaphoreImpl.release()\u3001\u30B9\u30EC\u30C3\u30C9={1}\u3001_lockCounter={2}\u3002 -utility.semaphoreimpl.wrongthread={0}\u306ESemaphoreImpl.release()\u306E\u4E0D\u6B63\u306A\u30B9\u30EC\u30C3\u30C9\u3001\u30B9\u30EC\u30C3\u30C9 = {1}\u3002 - diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_ko.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_ko.properties deleted file mode 100644 index 69b4a8c128f..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_ko.properties +++ /dev/null @@ -1,76 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 81. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO81000 - JDO81999 -############################################################################### -utility.nullsemaphore.constructor=NullSemaphore constructor() for {0}. -utility.nullsemaphore.acquire=NullSemaphore.acquire() for {0}. -utility.nullsemaphore.release=NullSemaphore.release() for {0}. - -utility.semaphoreimpl.acquire=SemaphoreImpl.acquire() for {0}, thread = {1} with _lockCounter = {2}. -utility.semaphoreimpl.gotlock=SemaphoreImpl.acquire() for {0}, got for thread = {1} with _lockCounter = {2}. -utility.semaphoreimpl.release=SemaphoreImpl.release() for {0}, thread = {1} with _lockCounter = {2}. -utility.semaphoreimpl.wrongthread=SemaphoreImpl.release() wrong thread for {0}, thread = {1}. - diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_pt_BR.properties deleted file mode 100644 index 43147d50714..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_pt_BR.properties +++ /dev/null @@ -1,76 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 81. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO81000 - JDO81999 -############################################################################### -utility.nullsemaphore.constructor=NullSemaphore constructor() para {0}. -utility.nullsemaphore.acquire=NullSemaphore.acquire() para {0}. -utility.nullsemaphore.release=NullSemaphore.release() para {0}. - -utility.semaphoreimpl.acquire=SemaphoreImpl.acquire() para {0}, thread = {1} com _lockCounter = {2}. -utility.semaphoreimpl.gotlock=SemaphoreImpl.acquire() para {0}, obteve para thread = {1} com _lockCounter = {2}. -utility.semaphoreimpl.release=SemaphoreImpl.release() para {0}, thread = {1} com _lockCounter = {2}. -utility.semaphoreimpl.wrongthread=SemaphoreImpl.release() thread incorreto para {0}, thread = {1}. - diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_zh_CN.properties deleted file mode 100644 index fba82056a6e..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_zh_CN.properties +++ /dev/null @@ -1,76 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 81. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO81000 - JDO81999 -############################################################################### -utility.nullsemaphore.constructor={0} \u7684 NullSemaphore constructor()\u3002 -utility.nullsemaphore.acquire=NullSemaphore.acquire() for {0}. -utility.nullsemaphore.release={0} \u7684 NullSemaphore.release()\u3002 - -utility.semaphoreimpl.acquire=SemaphoreImpl.acquire() for {0}, thread = {1} with _lockCounter = {2}. -utility.semaphoreimpl.gotlock={0} \u7684 SemaphoreImpl.acquire(), \u83B7\u5F97\u7EBF\u7A0B = {1}, _lockCounter = {2}\u3002 -utility.semaphoreimpl.release={0} \u7684 SemaphoreImpl.release(), \u7EBF\u7A0B = {1}, _lockCounter = {2}\u3002 -utility.semaphoreimpl.wrongthread=SemaphoreImpl.release() {0}\u7684\u7EBF\u7A0B\u9519\u8BEF, \u7EBF\u7A0B = {1}\u3002 - diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_zh_TW.properties deleted file mode 100644 index e71bd66a027..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/Bundle_zh_TW.properties +++ /dev/null @@ -1,76 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 81. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO81000 - JDO81999 -############################################################################### -utility.nullsemaphore.constructor={0} \u7684 NullSemaphore constructor()\u3002 -utility.nullsemaphore.acquire={0} \u7684 NullSemaphore.acquire()\u3002 -utility.nullsemaphore.release={0} \u7684 NullSemaphore.release()\u3002 - -utility.semaphoreimpl.acquire={0} \u7684 SemaphoreImpl.acquire()\uFF0C\u7E6B\u7DDA = {1} _lockCounter = {2}\u3002 -utility.semaphoreimpl.gotlock={0} \u7684 SemaphoreImpl.acquire()\uFF0C\u53D6\u5F97\u7E6B\u7DDA = {1} _lockCounter = {2}\u3002 -utility.semaphoreimpl.release={0} \u7684 SemaphoreImpl.release()\uFF0C\u7E6B\u7DDA = {1} _lockCounter = {2}\u3002 -utility.semaphoreimpl.wrongthread=SemaphoreImpl.release() \u932F\u8AA4\u7E6B\u7DDA {0}\uFF0C\u7E6B\u7DDA = {1}\u3002 - diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_de.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_de.properties deleted file mode 100644 index 0bd2bea0fe5..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_de.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO80000 - JDO80999 -############################################################################### -# {0}=dir name -utility.unable_create_destination_directory=JDO80000: Zielverzeichnis {0} kann nicht erstellt werden. diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_es.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_es.properties deleted file mode 100644 index 559fb7ecf84..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_es.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO80000 - JDO80999 -############################################################################### -# {0}=dir name -utility.unable_create_destination_directory=JDO80000: no se ha podido crear el directorio de destino {0}. diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_fr.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_fr.properties deleted file mode 100644 index 84d74225104..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_fr.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO80000 - JDO80999 -############################################################################### -# {0}=dir name -utility.unable_create_destination_directory=JDO80000 : impossible de cr\u00E9er le r\u00E9pertoire de destination {0}. diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_it.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_it.properties deleted file mode 100644 index cffe45aedb8..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_it.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO80000 - JDO80999 -############################################################################### -# {0}=dir name -utility.unable_create_destination_directory=JDO80000: impossibile creare directory di destinazione {0}. diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_ja.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_ja.properties deleted file mode 100644 index 928c8fe6b29..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_ja.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO80000 - JDO80999 -############################################################################### -# {0}=dir name -utility.unable_create_destination_directory=JDO80000: \u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA{0}\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002 diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_ko.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_ko.properties deleted file mode 100644 index 02e22500756..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_ko.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO80000 - JDO80999 -############################################################################### -# {0}=dir name -utility.unable_create_destination_directory=JDO80000: \uB300\uC0C1 \uB514\uB809\uD1A0\uB9AC {0}\uC744(\uB97C) \uC0DD\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_pt_BR.properties deleted file mode 100644 index beff3e57242..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_pt_BR.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO80000 - JDO80999 -############################################################################### -# {0}=dir name -utility.unable_create_destination_directory=JDO80000: N\u00E3o \u00E9 poss\u00EDvel criar o diret\u00F3rio de destino {0}. diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_zh_CN.properties deleted file mode 100644 index 6b2983cdac3..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_zh_CN.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO80000 - JDO80999 -############################################################################### -# {0}=dir name -utility.unable_create_destination_directory=JDO80000: \u65E0\u6CD5\u521B\u5EFA\u76EE\u6807\u76EE\u5F55 {0}\u3002 diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_zh_TW.properties deleted file mode 100644 index 14066568073..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/generator/io/Bundle_zh_TW.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO80000 - JDO80999 -############################################################################### -# {0}=dir name -utility.unable_create_destination_directory=JDO80000\uFF1A\u7121\u6CD5\u5EFA\u7ACB\u76EE\u7684\u5730\u76EE\u9304 {0}\u3002 diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_de.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_de.properties deleted file mode 100644 index 7603c42ddfb..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_de.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO82000 - JDO82999 -############################################################################### - - -# values for displaying log levels: -utility.level_off=OFF -utility.level_severe=SEVERE -utility.level_warning=WARNING -utility.level_info=INFO -utility.level_config=CONFIG -utility.level_fine=FINE -utility.level_finer=FINER -utility.level_finest=FINEST -utility.level_all=ALL - -#{0}=class name -#{1}=method name -entering_method=ENTRY: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=a single method parameter or comma separated list of parameters -entering_method_params=ENTRY: {0} {1} {2} - -#{0}=class name -#{2}=method name -exiting_method=RETURN: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=return result -exiting_method_return=RETURN: {0} {1} {2} - -#{0}=class name -#{1}=method name -throwing_method=THROW: {0} {1} - -#{0}=level from utility.level_* above -#{1}=logging message -logging_prefix={0}: {1} - -#{0}=logger name -errorlogger.create.exception=JDO82000: Ausnahme bei Erstellung von Logger {0} -JDO82000.diag.cause.1=System konnte den angegebenen Logger nicht erstellen. -JDO82000.diag.cause.2=Fehler beim Laden des Message Bundles, das diesem Protokoll entspricht. -JDO82000.diag.check.1=Vergewissern Sie sich, dass die Classpath-Einstellungen nicht besch\u00E4digt sind. -JDO82000.diag.check.2=\u00DCberpr\u00FCfen Sie das Fehlerlog auf den angegebenen Grund. - -#{0}=logger name -errorlogger.filehandler.initialize.exception=JDO82001: Ausnahme bei der Initialisierung von FileHandler f\u00FCr Logger {0} -#{0}=logger name -errorlogger.formatter.initialize.exception=JDO82002: Ausnahme bei der Initialisierung von Formatter f\u00FCr Logger {0} diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_es.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_es.properties deleted file mode 100644 index 8583205cba1..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_es.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO82000 - JDO82999 -############################################################################### - - -# values for displaying log levels: -utility.level_off=OFF -utility.level_severe=SEVERE -utility.level_warning=WARNING -utility.level_info=INFO -utility.level_config=CONFIG -utility.level_fine=FINE -utility.level_finer=FINER -utility.level_finest=FINEST -utility.level_all=ALL - -#{0}=class name -#{1}=method name -entering_method=ENTRY: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=a single method parameter or comma separated list of parameters -entering_method_params=ENTRY: {0} {1} {2} - -#{0}=class name -#{2}=method name -exiting_method=RETURN: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=return result -exiting_method_return=RETURN: {0} {1} {2} - -#{0}=class name -#{1}=method name -throwing_method=THROW: {0} {1} - -#{0}=level from utility.level_* above -#{1}=logging message -logging_prefix={0}: {1} - -#{0}=logger name -errorlogger.create.exception=JDO82000: excepci\u00F3n al crear el registrador {0} -JDO82000.diag.cause.1=El sistema no ha podido crear el registrador especificado. -JDO82000.diag.cause.2=Error al cargar el grupo de mensajes correspondiente a este registrador. -JDO82000.diag.check.1=Compruebe que la configuraci\u00F3n de la classpath no est\u00E1 corrupta. -JDO82000.diag.check.2=Consulte el log de errores para obtener informaci\u00F3n detallada del motivo. - -#{0}=logger name -errorlogger.filehandler.initialize.exception=JDO82001: se ha producido una excepci\u00F3n al inicializar FileHandler para el registrador {0} -#{0}=logger name -errorlogger.formatter.initialize.exception=JDO82002: se ha producido una excepci\u00F3n al inicializar el formateador para el registrador {0} diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_fr.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_fr.properties deleted file mode 100644 index 338a5e135e1..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_fr.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO82000 - JDO82999 -############################################################################### - - -# values for displaying log levels: -utility.level_off=OFF -utility.level_severe=SEVERE -utility.level_warning=WARNING -utility.level_info=INFO -utility.level_config=CONFIG -utility.level_fine=FINE -utility.level_finer=FINER -utility.level_finest=FINEST -utility.level_all=ALL - -#{0}=class name -#{1}=method name -entering_method=ENTRY: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=a single method parameter or comma separated list of parameters -entering_method_params=ENTRY: {0} {1} {2} - -#{0}=class name -#{2}=method name -exiting_method=RETURN: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=return result -exiting_method_return=RETURN: {0} {1} {2} - -#{0}=class name -#{1}=method name -throwing_method=THROW: {0} {1} - -#{0}=level from utility.level_* above -#{1}=logging message -logging_prefix={0}: {1} - -#{0}=logger name -errorlogger.create.exception=JDO82000 : exception lors de la cr\u00E9ation du journaliseur {0} -JDO82000.diag.cause.1=Le syst\u00E8me n'a pas pu cr\u00E9er le journaliseur sp\u00E9cifi\u00E9. -JDO82000.diag.cause.2=Erreur lors du chargement de l'ensemble des messages correspondant \u00E0 ce journaliseur. -JDO82000.diag.check.1=V\u00E9rifiez que les param\u00E8tres de classpath sont corrects. -JDO82000.diag.check.2=Pour obtenir des informations d\u00E9taill\u00E9es, consultez le journal des erreurs. - -#{0}=logger name -errorlogger.filehandler.initialize.exception=JDO82001 : exception lors de l''initialisation de FileHandler pour le journaliseur {0} -#{0}=logger name -errorlogger.formatter.initialize.exception=JDO82002 : exception lors de l''initialisation du formateur pour le journaliseur {0} diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_it.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_it.properties deleted file mode 100644 index 21e7f72069f..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_it.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO82000 - JDO82999 -############################################################################### - - -# values for displaying log levels: -utility.level_off=OFF -utility.level_severe=SEVERE -utility.level_warning=WARNING -utility.level_info=INFO -utility.level_config=CONFIG -utility.level_fine=FINE -utility.level_finer=FINER -utility.level_finest=FINEST -utility.level_all=ALL - -#{0}=class name -#{1}=method name -entering_method=ENTRY: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=a single method parameter or comma separated list of parameters -entering_method_params=ENTRY: {0} {1} {2} - -#{0}=class name -#{2}=method name -exiting_method=RETURN: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=return result -exiting_method_return=RETURN: {0} {1} {2} - -#{0}=class name -#{1}=method name -throwing_method=THROW: {0} {1} - -#{0}=level from utility.level_* above -#{1}=logging message -logging_prefix={0}: {1} - -#{0}=logger name -errorlogger.create.exception=JDO82000: eccezione durante la creazione del logger {0} -JDO82000.diag.cause.1=Il sistema non \u00E8 in grado di creare il logger specificato. -JDO82000.diag.cause.2=Errore durante il caricamento del bundle dei messaggi corrispondente a questo logger. -JDO82000.diag.check.1=Controllare che le impostazioni di classpath non siano danneggiate. -JDO82000.diag.check.2=Controllare il log degli errori per ottenere la causa dettagliata. - -#{0}=logger name -errorlogger.filehandler.initialize.exception=JDO82001: eccezione durante l''inizializzazione di FileHandler per il logger {0} -#{0}=logger name -errorlogger.formatter.initialize.exception=JDO82002: eccezione durante l''inizializzazione del formatter per il logger {0} diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_ja.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_ja.properties deleted file mode 100644 index 574dbe13e15..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_ja.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO82000 - JDO82999 -############################################################################### - - -# values for displaying log levels: -utility.level_off=OFF -utility.level_severe=SEVERE -utility.level_warning=WARNING -utility.level_info=INFO -utility.level_config=CONFIG -utility.level_fine=FINE -utility.level_finer=FINER -utility.level_finest=FINEST -utility.level_all=ALL - -#{0}=class name -#{1}=method name -entering_method=ENTRY: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=a single method parameter or comma separated list of parameters -entering_method_params=ENTRY: {0} {1} {2} - -#{0}=class name -#{2}=method name -exiting_method=RETURN: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=return result -exiting_method_return=RETURN: {0} {1} {2} - -#{0}=class name -#{1}=method name -throwing_method=THROW: {0} {1} - -#{0}=level from utility.level_* above -#{1}=logging message -logging_prefix={0}: {1} - -#{0}=logger name -errorlogger.create.exception=JDO82000: \u30ED\u30AC\u30FC{0}\u306E\u4F5C\u6210\u6642\u306B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F -JDO82000.diag.cause.1=\u30B7\u30B9\u30C6\u30E0\u306F\u6307\u5B9A\u3055\u308C\u305F\u30ED\u30AC\u30FC\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 -JDO82000.diag.cause.2=\u3053\u306E\u30ED\u30AC\u30FC\u306B\u5BFE\u5FDC\u3059\u308B\u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30D0\u30F3\u30C9\u30EB\u306E\u30ED\u30FC\u30C9\u6642\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 -JDO82000.diag.check.1=\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u8A2D\u5B9A\u304C\u7834\u640D\u3057\u3066\u3044\u306A\u3044\u3053\u3068\u3092\u78BA\u8A8D\u3057\u307E\u3059\u3002 -JDO82000.diag.check.2=\u8A73\u7D30\u306A\u539F\u56E0\u306B\u3064\u3044\u3066\u306F\u3001\u30A8\u30E9\u30FC\u30FB\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 - -#{0}=logger name -errorlogger.filehandler.initialize.exception=JDO82001: \u30ED\u30AC\u30FC{0}\u306EFileHandler\u306E\u521D\u671F\u5316\u6642\u306B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F -#{0}=logger name -errorlogger.formatter.initialize.exception=JDO82002: \u30ED\u30AC\u30FC{0}\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30BF\u306E\u521D\u671F\u5316\u6642\u306B\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_ko.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_ko.properties deleted file mode 100644 index 49690157484..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_ko.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO82000 - JDO82999 -############################################################################### - - -# values for displaying log levels: -utility.level_off=OFF -utility.level_severe=SEVERE -utility.level_warning=WARNING -utility.level_info=INFO -utility.level_config=CONFIG -utility.level_fine=FINE -utility.level_finer=FINER -utility.level_finest=FINEST -utility.level_all=ALL - -#{0}=class name -#{1}=method name -entering_method=ENTRY: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=a single method parameter or comma separated list of parameters -entering_method_params=ENTRY: {0} {1} {2} - -#{0}=class name -#{2}=method name -exiting_method=RETURN: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=return result -exiting_method_return=RETURN: {0} {1} {2} - -#{0}=class name -#{1}=method name -throwing_method=THROW: {0} {1} - -#{0}=level from utility.level_* above -#{1}=logging message -logging_prefix={0}: {1} - -#{0}=logger name -errorlogger.create.exception=JDO82000: \uB85C\uAC70 {0}\uC744(\uB97C) \uC0DD\uC131\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -JDO82000.diag.cause.1=\uC2DC\uC2A4\uD15C\uC5D0\uC11C \uC9C0\uC815\uB41C \uB85C\uAC70\uB97C \uC0DD\uC131\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. -JDO82000.diag.cause.2=\uC774 \uB85C\uAC70\uC5D0 \uD574\uB2F9\uD558\uB294 \uBA54\uC2DC\uC9C0 \uBC88\uB4E4\uC744 \uB85C\uB4DC\uD558\uB294 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -JDO82000.diag.check.1=\uD074\uB798\uC2A4 \uACBD\uB85C \uC124\uC815\uC774 \uC190\uC0C1\uB418\uC9C0 \uC54A\uC558\uB294\uC9C0 \uD655\uC778\uD558\uC2ED\uC2DC\uC624. -JDO82000.diag.check.2=\uC790\uC138\uD55C \uC774\uC720\uB294 \uC624\uB958 \uB85C\uADF8\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624. - -#{0}=logger name -errorlogger.filehandler.initialize.exception=JDO82001: \uB85C\uAC70 {0}\uC758 FileHandler\uB97C \uCD08\uAE30\uD654\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. -#{0}=logger name -errorlogger.formatter.initialize.exception=JDO82002: \uB85C\uAC70 {0}\uC758 \uD3EC\uB9E4\uD130\uB97C \uCD08\uAE30\uD654\uD558\uB294 \uC911 \uC608\uC678 \uC0AC\uD56D\uC774 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_pt_BR.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_pt_BR.properties deleted file mode 100644 index 35ca1ba25c5..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_pt_BR.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO82000 - JDO82999 -############################################################################### - - -# values for displaying log levels: -utility.level_off=DESATIVADO -utility.level_severe=SEVERE -utility.level_warning=WARNING -utility.level_info=INFO -utility.level_config=CONFIG -utility.level_fine=BOM -utility.level_finer=FINER -utility.level_finest=FINEST -utility.level_all=TODOS - -#{0}=class name -#{1}=method name -entering_method=ENTRY: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=a single method parameter or comma separated list of parameters -entering_method_params=ENTRY: {0} {1} {2} - -#{0}=class name -#{2}=method name -exiting_method=RETURN: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=return result -exiting_method_return=RETURN: {0} {1} {2} - -#{0}=class name -#{1}=method name -throwing_method=THROW: {0} {1} - -#{0}=level from utility.level_* above -#{1}=logging message -logging_prefix={0}: {1} - -#{0}=logger name -errorlogger.create.exception=JDO82000: Exce\u00E7\u00E3o ao criar o logger {0} -JDO82000.diag.cause.1=O sistema n\u00E3o foi capaz de criar o logger especificado. -JDO82000.diag.cause.2=Erro ao carregar o pacote de mensagens que corresponda a este logger. -JDO82000.diag.check.1=Verifique se as defini\u00E7\u00F5es de classpath n\u00E3o est\u00E3o corrompidas. -JDO82000.diag.check.2=Verifique o log de erros para obter o motivo detalhado. - -#{0}=logger name -errorlogger.filehandler.initialize.exception=JDO82001: Exce\u00E7\u00E3o ao inicializar o FileHandler para o logger {0} -#{0}=logger name -errorlogger.formatter.initialize.exception=JDO82002: Exce\u00E7\u00E3o ao inicializar o formatador para o logger {0} diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_zh_CN.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_zh_CN.properties deleted file mode 100644 index 8609ac8b2a7..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_zh_CN.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO82000 - JDO82999 -############################################################################### - - -# values for displaying log levels: -utility.level_off=OFF -utility.level_severe=SEVERE -utility.level_warning=WARNING -utility.level_info=INFO -utility.level_config=CONFIG -utility.level_fine=FINE -utility.level_finer=FINER -utility.level_finest=FINEST -utility.level_all=ALL - -#{0}=class name -#{1}=method name -entering_method=ENTRY: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=a single method parameter or comma separated list of parameters -entering_method_params=ENTRY: {0} {1} {2} - -#{0}=class name -#{2}=method name -exiting_method=RETURN: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=return result -exiting_method_return=RETURN: {0} {1} {2} - -#{0}=class name -#{1}=method name -throwing_method=THROW: {0} {1} - -#{0}=level from utility.level_* above -#{1}=logging message -logging_prefix={0}: {1} - -#{0}=logger name -errorlogger.create.exception=JDO82000: \u521B\u5EFA\u65E5\u5FD7\u8BB0\u5F55\u7A0B\u5E8F {0} \u65F6\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF -JDO82000.diag.cause.1=\u7CFB\u7EDF\u65E0\u6CD5\u521B\u5EFA\u6307\u5B9A\u7684\u65E5\u5FD7\u8BB0\u5F55\u7A0B\u5E8F\u3002 -JDO82000.diag.cause.2=\u52A0\u8F7D\u4E0E\u6B64\u65E5\u5FD7\u8BB0\u5F55\u7A0B\u5E8F\u5BF9\u5E94\u7684\u6D88\u606F\u7ED1\u5B9A\u65F6\u51FA\u73B0\u9519\u8BEF\u3002 -JDO82000.diag.check.1=\u8BF7\u68C0\u67E5\u7C7B\u8DEF\u5F84\u8BBE\u7F6E\u662F\u5426\u5DF2\u635F\u574F\u3002 -JDO82000.diag.check.2=\u68C0\u67E5\u9519\u8BEF\u65E5\u5FD7\u4EE5\u4E86\u89E3\u8BE6\u7EC6\u539F\u56E0\u3002 - -#{0}=logger name -errorlogger.filehandler.initialize.exception=JDO82001: \u521D\u59CB\u5316\u65E5\u5FD7\u8BB0\u5F55\u7A0B\u5E8F {0} \u7684\u6587\u4EF6\u5904\u7406\u7A0B\u5E8F\u65F6\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF -#{0}=logger name -errorlogger.formatter.initialize.exception=JDO82002: \u521D\u59CB\u5316\u65E5\u5FD7\u8BB0\u5F55\u7A0B\u5E8F {0} \u7684\u683C\u5F0F\u5316\u7A0B\u5E8F\u65F6\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF diff --git a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_zh_TW.properties b/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_zh_TW.properties deleted file mode 100644 index 47d132eefa7..00000000000 --- a/appserver/persistence/cmp-l10n/utility-l10n/src/main/resources/com/sun/jdo/spi/persistence/utility/logging/Bundle_zh_TW.properties +++ /dev/null @@ -1,95 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - - -############################################################################### -# -# Message ID Range: JDO82000 - JDO82999 -############################################################################### - - -# values for displaying log levels: -utility.level_off=\u95DC\u9589 -utility.level_severe=SEVERE -utility.level_warning=WARNING -utility.level_info=\u8CC7\u8A0A -utility.level_config=CONFIG -utility.level_fine=\u8A73\u7D30 -utility.level_finer=FINER -utility.level_finest=FINEST -utility.level_all=\u5168\u90E8 - -#{0}=class name -#{1}=method name -entering_method=ENTRY: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=a single method parameter or comma separated list of parameters -entering_method_params=ENTRY: {0} {1} {2} - -#{0}=class name -#{2}=method name -exiting_method=RETURN: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=return result -exiting_method_return=RETURN: {0} {1} {2} - -#{0}=class name -#{1}=method name -throwing_method=THROW: {0} {1} - -#{0}=level from utility.level_* above -#{1}=logging message -logging_prefix={0}: {1} - -#{0}=logger name -errorlogger.create.exception=JDO82000\uFF1A\u5EFA\u7ACB\u8A18\u9304\u7A0B\u5F0F {0} \u6642\u51FA\u73FE\u7570\u5E38 -JDO82000.diag.cause.1=\u7CFB\u7D71\u7121\u6CD5\u5EFA\u7ACB\u6307\u5B9A\u7684\u8A18\u9304\u7A0B\u5F0F\u3002 -JDO82000.diag.cause.2=\u8F09\u5165\u8207\u6B64\u8A18\u9304\u7A0B\u5F0F\u76F8\u5C0D\u61C9\u7684\u8A0A\u606F\u7D44\u5408\u6642\u51FA\u73FE\u932F\u8AA4\u3002 -JDO82000.diag.check.1=\u6AA2\u67E5\u985E\u5225\u8DEF\u5F91\u8A2D\u5B9A\u672A\u640D\u58DE\u3002 -JDO82000.diag.check.2=\u8ACB\u67E5\u770B\u932F\u8AA4\u8A18\u9304\uFF0C\u4EE5\u53D6\u5F97\u8A73\u7D30\u539F\u56E0\u3002 - -#{0}=logger name -errorlogger.filehandler.initialize.exception=JDO82001\uFF1A\u521D\u59CB\u5316\u8A18\u9304\u7A0B\u5F0F {0} \u7684 FileHandler \u6642\u51FA\u73FE\u7570\u5E38 -#{0}=logger name -errorlogger.formatter.initialize.exception=JDO82002\uFF1A\u521D\u59CB\u5316\u8A18\u9304\u7A0B\u5F0F {0} \u7684\u683C\u5F0F\u5316\u7A0B\u5F0F\u6642\u51FA\u73FE\u7570\u5E38 diff --git a/appserver/persistence/cmp/cmp-all/pom.xml b/appserver/persistence/cmp/cmp-all/pom.xml deleted file mode 100755 index fd636d96547..00000000000 --- a/appserver/persistence/cmp/cmp-all/pom.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - fish.payara.server.internal.persistence.cmp - cmp - 7.2026.5-SNAPSHOT - - 4.0.0 - cmp-all - pom - CMP tier for GlassFish - - This module bundles all the CMP related Maven modules together. - Distributions that need CMP capability should depend on this module, - instead of pulling in individual CMP modules separately. - - - - - ${project.groupId} - cmp-internal-api - ${project.version} - - - ${project.groupId} - cmp-utility - ${project.version} - - - ${project.groupId} - cmp-model - ${project.version} - - - ${project.groupId} - cmp-generator-database - ${project.version} - - - ${project.groupId} - cmp-ejb-mapping - ${project.version} - - - ${project.groupId} - cmp-enhancer - ${project.version} - - - ${project.groupId} - cmp-support-sqlstore - ${project.version} - - - ${project.groupId} - cmp-support-ejb - ${project.version} - - - ${project.groupId} - cmp-scripts - ${project.version} - distribution-fragment - - - diff --git a/appserver/persistence/cmp/cmp-scripts/pom.xml b/appserver/persistence/cmp/cmp-scripts/pom.xml deleted file mode 100755 index c7f9e6f43d9..00000000000 --- a/appserver/persistence/cmp/cmp-scripts/pom.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp - 7.2026.5-SNAPSHOT - - - cmp-scripts - GlassFish cmp scripts - - - - - distribution-fragment - - - - diff --git a/appserver/persistence/cmp/cmp-scripts/src/main/manpages/glassfish/bin/capture-schema.1m b/appserver/persistence/cmp/cmp-scripts/src/main/manpages/glassfish/bin/capture-schema.1m deleted file mode 100644 index 1fab27c8140..00000000000 --- a/appserver/persistence/cmp/cmp-scripts/src/main/manpages/glassfish/bin/capture-schema.1m +++ /dev/null @@ -1,80 +0,0 @@ -capture-schema(1M) Utility Commands capture-schema(1M) - -NAME - capture-schema - stores the database metadata (schema) in a file for - use in mapping and execution - -SYNOPSIS - capture-schema -username name -password password - [-dburl url] [-driver jdbc_driver_classname] - [-schemaname schemaname] [-table tablename] - -out filename] - -DESCRIPTION - Stores the database metadata (schema) in a file. - - Run capture-schema as the same database user that owns the table(s), - and use that same username with the -username option (and -schemaname, - if required). - - When running capture-schema against an Oracle database, you should - grant the database user running the capture-schema command the ANALYZE - ANY TABLE privilege. - -OPTIONS - -username - user name for authenticating access to a database. - - -password - password for accessing the selected database. - - -dburl - JDBC URL required by the driver for accessing a database. - - -driver - JDBC driver classname in your CLASSPATH. - - -schemaname - name of the user schema being captured. If not specified, the - default will capture metadata for all tables from all the schemas - accessible to this user. - - Specifying this parameter is highly recommended. Without this - option, if more than one schema is accessible to this user, more - than one table with the same name may be captured, which will cause - problems when mapping CMP fields to tables. - - The specified schema name must be uppercase. - - -table - name of a table; multiple table names can be specified. If no table - is specified, all the tables in the database or named schema are - captured. - - The specified table name or names are case sensitive. Be sure to - match the case of the previously created table names. - - -out - name of the output file. This option is required. If the specified - output file does not contain the .dbschema suffix, it will be - appended to the filename. - -EXAMPLES - Example 1, Using the capture-schema command - - capture-schema -username cantiflas -password enigma - -dburl jdbc:oracle:thin:@sadbuttrue:1521:ora817 - -driver oracle.jdbc.driver.OracleDriver - -schemaname CANTIFLAS -out cantiflas.dbschema - Where: sun-acc.xml is the name of the client configuration XML - file, myclientapp.jar is the client application .jar file, and - scott and sample are arguments to pass to the application. If - sun-acc.xml and myclientapp.jar are not in the current directory, - you must give the absolute path locations; otherwise the relative - paths are used. The relative path is relative to the directory - where the command is being executed. - -SEE ALSO - asadmin(1M) - -Java EE 8 1 Dec 2011 capture-schema(1M) diff --git a/appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/.gitattributes b/appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/.gitattributes deleted file mode 100644 index 2d47cdbb151..00000000000 --- a/appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -* text eol=lf -*.bat text eol=crlf diff --git a/appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/capture-schema b/appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/capture-schema deleted file mode 100755 index a09af45675c..00000000000 --- a/appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/capture-schema +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh - -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -AS_INSTALL=`dirname $0`/.. -AS_INSTALL_LIB=$AS_INSTALL/modules - -echo java -Xms24m -Xmx96m -cp "$AS_INSTALL_LIB/common-util.jar;$AS_INSTALL_LIB/cmp-utility.jar;$AS_INSTALL_LIB/cmp-support-ejb.jar;$AS_INSTALL_LIB/cmp-ejb-mapping.jar;$AS_INSTALL_LIB/dbschema-repackaged.jar;$CLASSPATH" com.sun.jdo.spi.persistence.support.ejb.util.CaptureSchemaWrapper $@ -java -Xms24m -Xmx96m -cp "$AS_INSTALL_LIB/common-util.jar:$AS_INSTALL_LIB/cmp-utility.jar:$AS_INSTALL_LIB/cmp-l10n.jar:$AS_INSTALL_LIB/cmp-support-ejb.jar:$AS_INSTALL_LIB/cmp-ejb-mapping.jar:$AS_INSTALL_LIB/dbschema-repackaged.jar:$CLASSPATH" com.sun.jdo.spi.persistence.support.ejb.util.CaptureSchemaWrapper $@ diff --git a/appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/capture-schema.bat b/appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/capture-schema.bat deleted file mode 100644 index 05d0be45acc..00000000000 --- a/appserver/persistence/cmp/cmp-scripts/src/main/resources/glassfish/bin/capture-schema.bat +++ /dev/null @@ -1,48 +0,0 @@ -@echo off - -REM -REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -REM -REM Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -REM -REM The contents of this file are subject to the terms of either the GNU -REM General Public License Version 2 only ("GPL") or the Common Development -REM and Distribution License("CDDL") (collectively, the "License"). You -REM may not use this file except in compliance with the License. You can -REM obtain a copy of the License at -REM https://github.com/payara/Payara/blob/main/LICENSE.txt -REM See the License for the specific -REM language governing permissions and limitations under the License. -REM -REM When distributing the software, include this License Header Notice in each -REM file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -REM -REM GPL Classpath Exception: -REM Oracle designates this particular file as subject to the "Classpath" -REM exception as provided by Oracle in the GPL Version 2 section of the License -REM file that accompanied this code. -REM -REM Modifications: -REM If applicable, add the following below the License Header, with the fields -REM enclosed by brackets [] replaced by your own identifying information: -REM "Portions Copyright [year] [name of copyright owner]" -REM -REM Contributor(s): -REM If you wish your version of this file to be governed by only the CDDL or -REM only the GPL Version 2, indicate your decision by adding "[Contributor] -REM elects to include this software in this distribution under the [CDDL or GPL -REM Version 2] license." If you don't indicate a single choice of license, a -REM recipient has the option to distribute your version of this file under -REM either the CDDL, the GPL Version 2 or to extend the choice of license to -REM its licensees as provided above. However, if you add GPL Version 2 code -REM and therefore, elected the GPL Version 2 license, then the option applies -REM only if the new code is made subject to such option by the copyright -REM holder. -REM - -setlocal - -set AS_INSTALL=%~dp0.. -set AS_INSTALL_LIB=%AS_INSTALL%\modules - -java -Xms24m -Xmx96m -cp "%AS_INSTALL_LIB%\common-util.jar;%AS_INSTALL_LIB%\cmp-utility.jar;%AS_INSTALL_LIB%\cmp-support-ejb.jar;%AS_INSTALL_LIB%\cmp-ejb-mapping.jar;%AS_INSTALL_LIB%\dbschema-repackaged.jar;%CLASSPATH%" com.sun.jdo.spi.persistence.support.ejb.util.CaptureSchemaWrapper %* diff --git a/appserver/persistence/cmp/ejb-mapping/osgi.bundle b/appserver/persistence/cmp/ejb-mapping/osgi.bundle deleted file mode 100644 index a7af974a2f6..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/osgi.bundle +++ /dev/null @@ -1,43 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - --exportcontents: \ - com.sun.jdo.api.persistence.mapping.ejb; \ - com.sun.jdo.api.persistence.mapping.ejb.beans; version=${project.osgi.version} diff --git a/appserver/persistence/cmp/ejb-mapping/pom.xml b/appserver/persistence/cmp/ejb-mapping/pom.xml deleted file mode 100644 index a0c2c470bee..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/pom.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp - 7.2026.5-SNAPSHOT - - cmp-ejb-mapping - glassfish-jar - - ejb-mapping module for cmp - - - - mm110999 - Mitesh Meswani - Oracle, Inc. - - developer - lead - - - - - - - src/main/java - - **/*.properties - - - - - - - fish.payara.server.internal.persistence.cmp - cmp-generator-database - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-model - ${project.version} - - - org.glassfish.external - schema2beans - - - fish.payara.server.internal.common - common-util - ${project.version} - - - diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/AbstractNameMapper.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/AbstractNameMapper.java deleted file mode 100644 index e88da81017a..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/AbstractNameMapper.java +++ /dev/null @@ -1,353 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * AbstractNameMapper.java - * - * Created on October 28, 2004, 2:51 PM - */ - -package com.sun.jdo.api.persistence.mapping.ejb; - -import java.util.*; - -/** This is a class which helps translate between the various names of the - * CMP (ejb name, abstract schema, abstract bean, concrete bean, local - * interface, remote interface) and the persistence-capable class name. It - * also has methods for translation of field names. The basic entry point - * is ejb name or persistence-capable class name. - * - * @author Rochelle Raccah - */ -abstract public class AbstractNameMapper { - public static final int USER_DEFINED_KEY_CLASS = 1; - public static final int PRIMARY_KEY_FIELD = 2; - public static final int UNKNOWN_KEY_CLASS = 3; - - /** Defines key field name for unknown primary key */ - public static final String GENERATED_KEY_FIELD_NAME = "generatedPKField"; // NOI18N - /** Defines version field name prefix for version consistency */ - public static final String GENERATED_VERSION_FIELD_PREFIX = - "thisVersionFieldWasGeneratedByTheNameMapper"; // NOI18N - protected static final String GENERATED_CMR_FIELD_PREFIX = - "thisRelationshipFieldWasGeneratedByTheNameMapper"; // NOI18N - - abstract protected Map getGeneratedFieldsMap(); - - abstract protected Map getInverseFieldsMap(); - - /** Determines if the specified name represents an ejb. - * @param name the fully qualified name to be checked - * @return true if this name represents an ejb; - * false otherwise. - */ - abstract public boolean isEjbName(String name); - - /** Gets the name of the abstract bean class which corresponds to the - * specified ejb name. - * @param name the name of the ejb - * @return the name of the abstract bean for the specified ejb - */ - abstract public String getAbstractBeanClassForEjbName(String name); - - /** Gets the name of the key class which corresponds to the specified - * ejb name. - * @param name the name of the ejb - * @return the name of the key class for the ejb - */ - abstract public String getKeyClassForEjbName(String name); - - /** Gets the name of the key class which corresponds to the specified - * persistence-capable key class name. Returns null if the - * supplied className is not a persistence-capable key class name. - * @param className the name of the persistence-capable key class - * @return the name of the key class for the ejb - */ - public String getKeyClassForPersistenceKeyClass(String className) { - String ejbName = getEjbNameForPersistenceKeyClass(className); - - return ((ejbName != null) ? getKeyClassForEjbName(ejbName) : null); - } - - /** Gets the name of the ejb name which corresponds to the - * specified persistence-capable key class name. Returns - * null if the supplied className is not a - * persistence-capable key class name. - * @param className the name of the persistence-capable key class - * @return the name of the ejb for the specified persistence-capable - * key class - */ - public String getEjbNameForPersistenceKeyClass(String className) { - if (className.toUpperCase().endsWith("OID")) { // NOI18N - return getEjbNameForPersistenceClass( - className.substring(0, className.length() - 4)); - } - - return null; - } - - /** Get the type of key class of this ejb. - * @return the key class type, one of {@link #USER_DEFINED_KEY_CLASS}, - * {@link #PRIMARY_KEY_FIELD}, or {@link #UNKNOWN_KEY_CLASS} - */ - abstract public int getKeyClassTypeForEjbName (String name); - - /** Gets the name of the abstract schema which corresponds to the - * specified ejb. - * @param name the name of the ejb - * @return the name of the abstract schema for the specified ejb - */ - abstract public String getAbstractSchemaForEjbName(String name); - - /** Gets the name of the ejb name which corresponds to the - * specified persistence-capable class name. - * @param className the name of the persistence-capable - * @return the name of the ejb for the specified persistence-capable - */ - abstract public String getEjbNameForPersistenceClass(String className); - - /** Gets the name of the persistence-capable class which corresponds to - * the specified ejb name. - * @param name the name of the ejb - * @return the name of the persistence-capable for the specified ejb - */ - abstract public String getPersistenceClassForEjbName(String name); - - /** Determines if the specified name represents a local interface. - * @param name the fully qualified name to be checked - * @return true if this name represents a local interface; - * false otherwise. - */ - abstract public boolean isLocalInterface(String name); - - /** Gets the name of the persistence-capable class which corresponds to - * the specified local interface name. - * @param className the name of the persistence-capable class which - * contains fieldName from which to find relationship and therefore the - * local interface - * @param fieldName the name of the field in the persistence-capable class - * @param interfaceName the name of the local interface - * @return the name of the persistence-capable for the specified - * local interface which is related to the specified class name, field name - * pair - */ - public String getPersistenceClassForLocalInterface(String className, - String fieldName, String interfaceName) { - if (isLocalInterface(interfaceName)) { - String ejbName = getEjbNameForPersistenceClass(className); - String ejbField = - getEjbFieldForPersistenceField(className, fieldName); - - return getPersistenceClassForEjbName( - getEjbNameForLocalInterface(ejbName, ejbField, interfaceName)); - } - - return null; - } - - /** Gets the name of the ejb which corresponds to the specified - * local interface name. - * @param ejbName the name of the ejb which contains fieldName - * from which to find relationship and therefore the local interface - * @param fieldName the name of the field in the ejb - * @param interfaceName the name of the local interface - * @return the name of the ejb for the specified local interface - */ - abstract public String getEjbNameForLocalInterface(String ejbName, - String fieldName, String interfaceName); - - /** Gets the name of the local interface which corresponds to the - * specified ejb name. - * @param name the name of the ejb - * @return the name of the local interface for the specified ejb - */ - abstract public String getLocalInterfaceForEjbName(String name); - - /** Determines if the specified name represents a remote interface. - * @param name the fully qualified name to be checked - * @return true if this name represents a remote interface; - * false otherwise. - */ - abstract public boolean isRemoteInterface(String name); - - /** Gets the name of the persistence-capable class which corresponds to - * the specified remote interface name. - * @param className the name of the persistence-capable class which - * contains fieldName from which to find relationship and therefore the - * remote interface - * @param fieldName the name of the field in the persistence-capable class - * @param interfaceName the name of the remote interface - * @return the name of the persistence-capable for the specified - * remote interface which is related to the specified class name, field name - * pair - */ - public String getPersistenceClassForRemoteInterface( - String className, String fieldName, String interfaceName) { - if (isRemoteInterface(interfaceName)) { - String ejbName = getEjbNameForPersistenceClass(className); - String ejbField = - getEjbFieldForPersistenceField(className, fieldName); - - return getPersistenceClassForEjbName( - getEjbNameForRemoteInterface(ejbName, ejbField, interfaceName)); - } - - return null; - } - - /** Gets the name of the ejb which corresponds to the specified - * remote interface name. - * @param ejbName the name of the ejb which contains fieldName - * from which to find relationship and therefore the remote interface - * @param fieldName the name of the field in the ejb - * @param interfaceName the name of the remote interface - * @return the name of the ejb for the specified remote interface - */ - abstract public String getEjbNameForRemoteInterface(String ejbName, - String fieldName, String interfaceName); - - /** Gets the name of the remote interface which corresponds to the - * specified ejb name. - * @param name the name of the ejb - * @return the name of the remote interface for the specified ejb - */ - abstract public String getRemoteInterfaceForEjbName(String name); - - /** Gets the name of the field in the ejb which corresponds to the - * specified persistence-capable class name and field name pair. - * @param className the name of the persistence-capable - * @param fieldName the name of the field in the persistence-capable - * @return the name of the field in the ejb for the specified - * persistence-capable field - */ - abstract public String getEjbFieldForPersistenceField(String className, - String fieldName); - - /** Gets the name of the field in the persistence-capable class which - * corresponds to the specified ejb name and field name pair. - * @param name the name of the ejb - * @param fieldName the name of the field in the ejb - * @return the name of the field in the persistence-capable for the - * specified ejb field - */ - abstract public String getPersistenceFieldForEjbField(String name, - String fieldName); - - /** Returns true if the field is a generated field. - * That includes: relationships generated for 2 way managed relationships, - * key fields generated for use with {@link #UNKNOWN_KEY_CLASS}, or - * version fields generated to hold a version consistency column. - * @param name the name of the ejb - * @param fieldName the name of the field in the ejb - * @return true if the field is generated;false - * otherwise - */ - public boolean isGeneratedField(String name, String fieldName) { - return isGeneratedEjbRelationship(name, fieldName) || - fieldName.equals(GENERATED_KEY_FIELD_NAME) || - fieldName.startsWith(GENERATED_VERSION_FIELD_PREFIX); - } - - /** Returns true if the field in the persistence-capable - * class which corresponds to the specified ejb name and field name pair - * is one which was generated automatically for 2 way managed - * relationships in the case that the ejb specifies one way - * relationships. - * @param name the name of the ejb - * @param fieldName the name of the field in the ejb - * @return true if the field is generated;false - * otherwise - */ - public boolean isGeneratedEjbRelationship(String name, String fieldName) { - return getGeneratedFieldsMap().keySet().contains( - Arrays.asList(new String[]{name, fieldName})); - } - - /** The list contains generated relationship field names. - * @param name the name of the ejb - * @return a List of generated relationship names - */ - public List getGeneratedRelationshipsForEjbName(String name) { - Map generatedFieldsMap = getGeneratedFieldsMap(); - Iterator iterator = generatedFieldsMap.keySet().iterator(); - List returnList = new ArrayList(); - - while (iterator.hasNext()) { - List nextField = (List)iterator.next(); - - if (nextField.get(0).equals(name)) - returnList.add(nextField.get(1)); - } - - return returnList; - } - - /** Gets the name of the generated field in the ejb which corresponds to - * the specified ejb name and field name pair. - * @param name the name of the ejb - * @param fieldName the name of the field in the ejb - * @return a String array of the form {, } which - * represents the generated field for the ejb field - */ - public String[] getGeneratedFieldForEjbField(String name, - String fieldName) { - List field = (List)getInverseFieldsMap().get( - Arrays.asList(new String[]{name, fieldName})); - - return ((field != null) ? - (String[])field.toArray(new String[2]) : null); - } - - /** Gets the name of the ejb field which corresponds to the specified - * generated ejb name and field name pair. - * @param name the name of the ejb - * @param fieldName the name of the field in the ejb - * @return a String array of the form {, } which - * represents the inverse field for the generated field - */ - public String[] getEjbFieldForGeneratedField(String name, String fieldName) - { - List field = (List)getGeneratedFieldsMap().get( - Arrays.asList(new String[]{name, fieldName})); - - return ((field != null) ? - (String[])field.toArray(new String[2]) : null); - } -} diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/Bundle.properties b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/Bundle.properties deleted file mode 100644 index 79f4b3f0d9f..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/Bundle.properties +++ /dev/null @@ -1,141 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO71000 - JDO71099 -############################################################################### -#NOI18N -CONST_IAS_MAPPING_FILE_LOC=META-INF -CONST_IAS_MAPPING_FILE=sun-cmp-mappings.xml - -MESSAGE_START_BEAN=Begin conversion of bean: {0} -MESSAGE_LWB_NULL=Setting the lower bound for relationship field {1} of bean {0} to 0. -MESSAGE_LWB_NOPK=The relationship field {1} of bean {0} is mapped to a non-nullable column that is not part of the primary key... setting the lower bound to 1. -MESSAGE_LWB_FK=The relationship field {1} of bean {0} is mapped to a non-nullable column that is part of a foreign key constraint... setting the lower bound to 1. -MESSAGE_LWB_PKSUBSET=The relationship field {1} of bean {0} is mapped to a subset of primary key columns... setting the lower bound to 1. -MESSAGE_LWB_CASCADE=This side of the relation corresponding to relationship field {1} of bean {0} is marked for cascade delete... setting the lower bound to 1. -MESSAGE_LWB_NODEPENDENT=Unable to determine the dependent side for relationship field {1} of bean {0}. -MESSAGE_CONV_EXC=Conversion exception: {0} -MESSAGE_REL_OBJ_DEL=Related objects are deleted is TRUE for bean {0} and field {1}. -MESSAGE_ADD_COLUMN=Add column {0} to mapping for field {1}. -MESSAGE_JDOCLASS_NAME=The class name of bean {0} is {1}. -MESSAGE_CANDIDATE_PK=Candidate PK has column name {0}. - -ERR_INVALID_COLUMN=JDO71001: The table {1} does not have a column named {0} -ERR_INVALID_TABLE=JDO71002: The schema file {1} does not contain a table named {0} -ERR_CANNOT_FIND_SCHEMA=JDO71003: Could not find schema file {0} on classpath {1} -ERR_BAD_MULTIPLICTY=JDO71005:Invalid multiplicity element value: {0} (in the ejb-relationship-role element: {1}) -ERR_INVALID_FG_LEVEL=JDO71006: Invalid value for fetched-with level {2} on field {1} of bean {0}. -ERR_UNDEFINED_TABLE=JDO71008: Missing table definition -ERR_INVALID_FIELD=JDO71009: The field {1} is not defined for bean {0}. -ERR_FIELD_MAPPED_TWICE=JDO71010: The field {1} of bean {0} is already mapped. -ERR_BAD_CONVERSION_HELPER=JDO71014: Assertion failure for ConversionHelper. The current helper doesn't support mapping completion. -ERR_COLUMN_PAIR_MISSING=JDO71018:Invalid cmr-field-mapping for bean: {0} field: {5}. At least one column-pair element required. - -ERR_INVALID_CONSISTENCY_VALUE=JDO71019: Invalid consistency specification for {0} - -WARN_ILLEGAL_PAIR=JDO71020:Illegal column pair specified for secondary table {1} of mapping for bean {0}: {2} -WARN_MISSING_TABLE=JDO71021: Missing table name {1} in MappingReferenceKeyElement for bean {0} -WARN_NO_PRIMARY=JDO71022: Bean {0} is not mapped to a primary table. -WARN_NOT_MAPPED_TO_PRIMARY=JDO71023:This mce is not mapped to a primary table: {0} -WARN_NO_PAIRS=JDO71024: The bean {0} has no pairs to map the primary table to the secondary table {1} -XML_ERROR_IN_MAPPING_FILE=JDO71026: {0} has syntax errors. Correct the file and redeploy. -WARN_INVALID_FIELD=JDO71027: The field {1} in bean {0} is invalid because the field is not declared in the deployment descriptor or has already been mapped. -WARN_INVALID_CMRFIELD=JDO71028: The relationship field {1} in bean {0} is invalid because the field is not declared in the deployment descriptor or has already been mapped. -WARN_INVALID_RELATIONSHIP_FIELDTYPE=JDO71029: The field type {2} for relationship field {1} in bean {0} is not a supported type. -WARN_NO_PKCOLUMN=JDO71030: There is no column in table {0} which can be used to support the server''s implementation of unknown key classes. -ERR_INVALID_VERSION_COLUMNS=JDO71031: Multiple version columns in one bean are not supported. -WARN_VERSION_COLUMN_INVALID_TABLE=JDO71032: The version column {2} must belong to bean {1}''s primary table: {0}. -WARN_VERSION_COLUMN_MISSING=JDO71033: The bean {1}''s primary table {0} must have a version column. -ERR_INVALID_CLASS=JDO71035: The class corresponding to the bean {0} is null. - -############################################################################### -# -# Message ID Range: JDO71100 - JDO71199 -############################################################################### -CMD_FLAG_USERNAME=-username -CMD_FLAG_TABLE=-table -STRING_SCHEMAS_SLASH_NOI18N=schemas/ -MESSAGE_CAPTURING_SCHEMA=Capturing schema: -MESSAGE_USING_SCHEMANAME=Using schemaname: - -HELP_USAGE=usage: \n \ -capture-schema -username name -password password -dburl url -driver jdbcdriver -out aFilename \n\t [-schemaname aSchemaname] [-table aTablename]*\n \ -where: \n\ -\t-username: username for authenticating access to a database \n \ -\t-password: password for accessing the selected database \n \ -\t-dburl: JDBC URL expected by the driver for accessing a database \n \ -\t-driver: JDBC driver classname in your CLASSPATH \n \ -\t-out: name of the output file. If it does not end with \".dbschema\", that extension will be added. \n \ -\t-schemaname: name of the user schema being captured \n \ -\t-table: name of a table to be captured \n \ -\n\tIf no table names are given, all the tables in the database\n\t(or named schema, if given) are captured.\n\n\tIf no schemaname is given, captures metadata for all tables\n\tfrom all schemas accessible to this user. - -STRING_ORACLE_DRIVER_NOI18N= -CMD_FLAG_PASSWORD=-password -MESSAGE_USING_USERNAME=Using username: -STRING_IASCTS_NOI18N= -CMD_FLAG_DRIVER=-driver -MESSAGE_SAVING_SCHEMA=Saving schema ... -MESSAGE_USING_PASSWORD=Using password: -MESSAGE_SCHEMA_CAPTURED=Schema captured -MESSAGE_USING_DRIVER=Using driver: -CMD_FLAG_SCHEMA_NAME=-schemaname -CMD_FLAG_DBURL=-dburl -MESSAGE_USING_URL=Using dburl: -MESSAGE_CHANGING_OUTFILENAME=Warning: output file name changed to have filename extension -MESSAGE_USING_OUTFILENAME=Using output file: - -#NOI18N -STRING_ORACLE_JDBC_URL_PREFIX_NOI18N=jdbc:oracle: -#NOI18N -CMD_FLAG_OUTPUT=-out - -ERR_CHECK_CLASSPATH=JDO71100: Failed to find a class. Verify that the class is available on your CLASSPATH -ERR_INVALID_TABLE_GIVEN=JDO71101: Cannot access table {0}. -MESSAGE_NO_VALID_TABLES=JDO71102: No valid tables requested. No schema file created -ERR_ORACLE_ARGUMENTS=JDO71103: schemaname argument required for Oracle databases - -############################################################################### -# -# Message ID Range: JDO71200 - JDO71299 -############################################################################### -ERR_DISCONNECTED_NOT_SUPPORTED=Disconnected beans not supported. diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/CaptureSchema.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/CaptureSchema.java deleted file mode 100644 index 1fe8749f326..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/CaptureSchema.java +++ /dev/null @@ -1,248 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] [Payara Foundation and/or its affiliates] - -/* - * CaptureSchema.java - * - * Created on March 15, 2002, 4:02 PM - */ -package com.sun.jdo.api.persistence.mapping.ejb; - -import org.netbeans.modules.dbschema.*; -import org.netbeans.modules.dbschema.jdbcimpl.*; -import org.netbeans.modules.dbschema.util.*; - -import java.io.*; - -import java.util.ResourceBundle; - -import java.sql.ResultSet; -import java.sql.DatabaseMetaData; -import java.util.Map; -import java.util.HashMap; -import java.util.List; -import java.util.LinkedList; -import java.util.Iterator; - -import java.text.MessageFormat; - -/** - * - * @author vkraemer - * @version 1.0 - */ -public class CaptureSchema { - /** Required filename extension. */ - private static final String OUTPUTFILE_EXTENSION = ".dbschema"; // NOI18N - private static final String PASSWORD_MASK_STRING = "Protected value, not to be logged"; // NOI18N - - /** Creates new CaptureSchema */ - public CaptureSchema() { - } - - public static void main(String args[]) { - int help = 0; - ResourceBundle bundle = - ResourceBundle.getBundle("com.sun.jdo.api.persistence.mapping.ejb.Bundle"); // NOI18N - String driver=bundle.getString("STRING_ORACLE_DRIVER_NOI18N"); //NOI18N - String username=bundle.getString("STRING_IASCTS_NOI18N"); //NOI18N - String password=bundle.getString("STRING_IASCTS_NOI18N"); //NOI18N - String dburl=null; - String dbschemaname = null; - String outfile = null; - LinkedList tableList = new LinkedList(); - LinkedList vList = new LinkedList(); - try { - for (int i=0; i -1 && //NOI18N - (null == dbschemaname || dbschemaname.length() == 0)) { - // this argument combo has problems. print an error message and exit - System.err.println(bundle.getString("ERR_ORACLE_ARGUMENTS")); //NOI18N - err_flag=true; - return; - } - - if (tableList.size() == 0) { - outSchemaImpl.initTables(cp); - } - else { - pruneTableList(tableList, cp,bundle); - if (tableList.size() > 0) - outSchemaImpl.initTables(cp, tableList,vList,false); - else { - System.err.println(bundle.getString("MESSAGE_NO_VALID_TABLES")); //NOI18N - err_flag=true; - return; - } - } - System.out.println(bundle.getString("MESSAGE_SCHEMA_CAPTURED")); //NOI18N - - System.out.println(bundle.getString("MESSAGE_SAVING_SCHEMA")); //NOI18N - OutputStream outstream = new FileOutputStream(outfile); - se.save(outstream); - } - catch (java.lang.ClassNotFoundException cnfe) { - System.err.println(bundle.getString("ERR_CHECK_CLASSPATH")); //NOI18N - cnfe.printStackTrace(System.err); //NOI18N - err_flag=true; - } - catch (Throwable exc) { - exc.printStackTrace(System.err); //NOI18N - err_flag=true; - } - finally { - if (cp != null) { - cp.closeConnection(); - } - } - System.exit(err_flag ? 1 : 0); - } - - private static void pruneTableList(List tableList, ConnectionProvider cp, - ResourceBundle bundle) throws java.sql.SQLException { - ResultSet rs; - DatabaseMetaData dmd = cp.getDatabaseMetaData(); - Map tables = new HashMap(); - String catalog = cp.getConnection().getCatalog(); - String user = cp.getSchema(); - - rs = dmd.getTables(catalog, user, "%", new String[] {"TABLE"}); //NOI18N - if (rs != null) { - while (rs.next()) { - String tn = rs.getString("TABLE_NAME").trim(); //NOI18N - tables.put(tn,tn); - } - rs.close(); - } - Iterator iter = tableList.iterator(); - String [] args = new String[1]; - while (iter.hasNext()) { - String s = (String) iter.next(); - if (null == tables.get(s.trim())) { - iter.remove(); - args[0] = s; - System.err.println(MessageFormat.format(bundle.getString("ERR_INVALID_TABLE_GIVEN"), (Object []) args)); //NOI18N - } - } - } - - static class PropChangeReport implements java.beans.PropertyChangeListener { - public void propertyChange(java.beans.PropertyChangeEvent pce) { - //System.err.println(pce); //NOI18N - } - } -} diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/ConversionException.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/ConversionException.java deleted file mode 100644 index 4f93a6d54bf..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/ConversionException.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConversionException.java - * - */ - -package com.sun.jdo.api.persistence.mapping.ejb; - -/** - * - * @author Jie Leng - * @version %I% - */ -public class ConversionException extends Exception -{ - /** - * Creates new ConversionException without detail message. - */ - public ConversionException () {} - - /** - * Constructs an ConversionException with the - * specified detail message. - * @param msg the detail message. - */ - public ConversionException (String msg) { - super(msg); - } -} diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/ConversionHelper.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/ConversionHelper.java deleted file mode 100644 index 5fadc7790dc..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/ConversionHelper.java +++ /dev/null @@ -1,216 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConversionHelper.java - * - * Created on February 3, 2002, 12:34 PM - */ - -package com.sun.jdo.api.persistence.mapping.ejb; - -import java.util.List; - -/** Helper interface for the {@link MappingFile}. - * The mapping file classes use an object that - * implements this interface to assist in the conversion - * from the sun-cmp-mapping file, into a TP dot-mapping file. - * The APIs to the deployment descriptors differ at deployment time - * and at development time. This interface provides a level of abstraction - * for the needed information. - * - * @author vkraemer - * @version 1.0 - */ -public interface ConversionHelper { - - public static final String ONE = "One"; // NOI18N - public static final String MANY = "Many"; // NOI18N - - /** Computes the name of the TP implementation class for a bean. - * @param beanName The value of the ejb-name element for a bean. - * @return The full name of the TP class that implements - * the fields and relationships of an EJB. - */ - public String getMappedClassName(String beanName); - - /** - * @param beanName Name of bean to investigate for field. - * @param fieldName Name of field sought in named bean. - * @return True if the named bean has the named field - */ - public boolean hasField(String beanName, String fieldName); - - /** - */ - public Object[] getFields(String beanName); - - /** Compute the keyness of a field. - * The value returned is the keyness of the field, if it is - * computable. If it is not, the candidate value is returned. - * @param beanName The value of the ejb-name element for a bean. - * @param fieldName The name of a container managed field in the named bean. - * @param candidate The value "proposed" by the content of the sun-cmp-mapping file. - * @return The real value of the keyness of a field. - * This may be different than the candidate value, - * if the correct values of a fields keyness can - * be computed from available data. - */ - public boolean isKey(String beanName, String fieldName, boolean candidate); - - /** Return the name of the opposite roles ejb-name - * @param ejbName The value of the ejb-name element for a bean. - * @param fieldName The name of a container managed field in the named bean. - * @return The ejb-name of the bean that is referenced by a - * relationship field. This is the ejb-name of the - * "other" roles relationship-role-source. - */ - public String getRelationshipFieldContent(String ejbName, String fieldName); - - /** - * @param ejbName The ejb-name element for the bean - * @param fieldName The name of a container managed field in the named bean. - * @return The String values "One" or "Many". - */ - public String getMultiplicity(String ejbName, String fieldName); - - /** - * @param ejbName The value of the ejb-name element for a bean. - * @param fieldName The name of a container managed field in the named bean. - * @return The String values "One" or "Many". - */ - public String getRelationshipFieldType(String ejbName, String fieldName); - - /** - * @param ejbName The value of the ejb-name element for a bean. - * @param fieldName The name of a container managed field in the named bean. - * @return The String values "One" or "Many". - */ - public String getInverseFieldName(String ejbName, String fieldName); - - /** - * Returns flag whether the mapping conversion should apply the default - * strategy for dealing with unknown primary key classes. This method will - * only be called when {@link #generateFields} returns true. - * @param ejbName The value of the ejb-name element for a bean. - * @return true to apply the default unknown PK Class Strategy, - * false otherwise - */ - public boolean applyDefaultUnknownPKClassStrategy(String ejbName); - - /** - * Returns the name used for generated primary key fields. - * @return a string for key field name - */ - public String getGeneratedPKFieldName(); - - /** - * Returns the prefix used for generated version fields. - * @return a string for version field name prefix - */ - public String getGeneratedVersionFieldNamePrefix(); - - /** - * @param ejbName The ejb-name element for the bean - * @param fieldName The name of a container managed field in the named bean. - * @return boolean flag indicating whether the objects in this collection field are to - * be deleted when this field' owning object is deleted. - */ - public boolean relatedObjectsAreDeleted(String ejbName, String fieldName); - - /** - * Returns the flag whether the mapping conversion should generate - * relationship fields and primary key fields to support run-time. - * The version field is always created even {@link #generateFields} is - * false because it holds version column information. - * @return true to generate fields in the dot-mapping file - * (if they are not present). - */ - public boolean generateFields(); - - /** - * Sets the flag whether the mapping conversion should generate relationship - * fields, primary key fields, and version fields to support run-time. - * @param generateFields a flag which indicates whether fields should be - * generated - */ - public void setGenerateFields(boolean generateFields); - - /** Returns the flag whether the mapping conversion should validate - * all fields against schema columns. - * @return true to validate all the fields in the dot-mapping - * file. - */ - public boolean ensureValidation(); - - /** - * Sets the flag whether the mapping conversion should validate all fields - * against schema columns. - * @param isValidating a boolean of indicating validating fields or not - */ - public void setEnsureValidation(boolean isValidating); - - /** - * Returns true if the field is generated. There are three - * types of generated fields: generated relationships, unknown primary key - * fields, and version consistency fields. - * @param ejbName The ejb-name element for the bean - * @param fieldName The name of a container managed field in the named bean - * @return true if the field is generated; false - * otherwise. - */ - public boolean isGeneratedField(String ejbName, String fieldName); - - /** Flag whether the conversion helper generated the relationship field - * @param ejbName The ejb-name element for the bean - * @param fieldName The name of a container managed field in the named bean. - * @return true if the field was created by the conversion - * helper. - */ - public boolean isGeneratedRelationship(String ejbName, String fieldName); - - /** - * Returns a list of generated relationship field names. - * @param ejbName The ejb-name element for the bean - * @return a list of generated relationship field names - */ - public List getGeneratedRelationships(String ejbName); -} - diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/EJBInfoHelper.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/EJBInfoHelper.java deleted file mode 100644 index acfd5bc20da..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/EJBInfoHelper.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * EJBInfoHelper.java - * - * Created on October 15, 2004, 12:51 PM - */ - -package com.sun.jdo.api.persistence.mapping.ejb; - -import java.util.Collection; - -import org.netbeans.modules.dbschema.SchemaElement; - -import com.sun.jdo.api.persistence.model.Model; - -/** This is an interface which represents information found in the - * ejb-jar.xml descriptor and provides a variety of other information - * and helper objects needed to do mapping and generating of ejb related - * things in persistence. - * - * @author Rochelle Raccah - */ -public interface EJBInfoHelper -{ - /** Gets the name of the ejb jar. - * @return the name of the ejb jar - */ - public String getEjbJarDisplayName (); - - /** Gets a collection of names of schemas defined in this - * ejb jar. - * @return a collection schema names - */ - public Collection getAvailableSchemaNames (); - - /** Gets the name to use for schema generation. An example might be - * a combo of app name, module name, etc. - * @return the name to use for schema generation - */ - public String getSchemaNameToGenerate (); - - /** Gets the schema with the specified name, loading it if necessary. - * @param schemaName the name of the schema to be loaded - * @return the schema object - */ - public SchemaElement getSchema (String schemaName); - - /** Gets a collection of names of cmp entity beans defined in this - * ejb jar. - * @return a collection cmp ejb names - */ - public Collection getEjbNames (); - - /** Gets a collection of names of cmp fields and cmr fields defined in - * this ejb jar for the specified ejb. - * @param ejbName the name of the ejb for which a list of fields - * will be created - * @return a collection cmp and cmr field names - */ - public Collection getFieldsForEjb (String ejbName); - - /** Gets a collection of names of cmr fields defined in - * this ejb jar for the specified ejb. - * @param ejbName the name of the ejb for which a list of cmr fields - * will be created - * @return a collection cmr field names - */ - public Collection getRelationshipsForEjb (String ejbName); - - /** Gets the class loader which corresponds to this ejb jar. - * Implementations can return null if this is not - * relevant. - * @return the class loader which corresponds to this ejb jar - */ - public ClassLoader getClassLoader (); - - /** Gets the AbstractNameMapper object to use for this helper. - * @return the name mapper object - */ - public AbstractNameMapper getNameMapper (); - - /** Creates and returns an instance of the AbstractNameMapper object to - * use for generation of unique names with this helper. Unique names - * usually means that the mapper doesn't use the same jdo and ejb names. - * Note that this method is a factory-like method which creates a new - * instance so the caller can make modifications to it as necessary. - * @return the name mapper object - */ - public AbstractNameMapper createUniqueNameMapper (); - - /** Creates and returns an instance of the ConversionHelper object to - * use for this helper. Note that this method is a factory-like method - * which creates a new instance so the caller can make modifications to - * it as necessary. - * @return the conversion helper object - */ - public ConversionHelper createConversionHelper (); - - /** Gets the Model object to use for this helper. - * @return the model object - */ - public Model getModel (); -} diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/HasFetchedWith.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/HasFetchedWith.java deleted file mode 100644 index d574a4468fb..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/HasFetchedWith.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * HasFetchedWith.java - * - * Created on March 22, 2002, 12:57 PM - */ - -package com.sun.jdo.api.persistence.mapping.ejb; - -import com.sun.jdo.api.persistence.mapping.ejb.beans.FetchedWith; - -/** - * - * @author vkraemer - * @version 1.0 - */ -public interface HasFetchedWith { - - public FetchedWith getFetchedWith(); - - public void setFetchedWith(FetchedWith fw); - -} - diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/LogHelperMappingConversion.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/LogHelperMappingConversion.java deleted file mode 100644 index f1388cce451..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/LogHelperMappingConversion.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * LogHelperMappingConversion.java - * - * Created on June 9, 2004 - */ - - -package com.sun.jdo.api.persistence.mapping.ejb; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Jie Leng - */ -class LogHelperMappingConversion { - - /** The component name for this component */ - private static final String componentName = "mapping.conversion"; // NOI18N - - /** The class loader for this component */ - private static final ClassLoader loader = - LogHelperMappingConversion.class.getClassLoader(); - - /** The bundle name for this component */ - private static final String bundleName = - "com.sun.jdo.api.persistence.mapping.ejb.Bundle"; // NOI18N - - /** - * @return The logger for the mapping generator component. - */ - static Logger getLogger() { - return LogHelper.getLogger(componentName, bundleName, loader); - } -} diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/MappingFile.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/MappingFile.java deleted file mode 100644 index e38cd98c153..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/MappingFile.java +++ /dev/null @@ -1,1908 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018-2019] Payara Foundation and/or affiliates - -/* - * MappingFile.java - * - * Created on February 1, 2002, 9:47 PM - */ - -package com.sun.jdo.api.persistence.mapping.ejb; - -import java.io.InputStream; -import java.io.OutputStream; -import java.io.File; - -import java.util.Collection; -import java.util.Map; -import java.util.List; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.ResourceBundle; -import java.util.Iterator; -import java.io.IOException; - -import org.netbeans.modules.dbschema.*; - -import com.sun.jdo.api.persistence.mapping.ejb.beans.*; -import org.glassfish.common.util.StringHelper; -import com.sun.jdo.api.persistence.model.*; -import com.sun.jdo.api.persistence.model.mapping.*; -import com.sun.jdo.api.persistence.model.mapping.impl.*; -import com.sun.jdo.api.persistence.model.jdo.*; -import com.sun.jdo.api.persistence.model.jdo.impl.*; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -import org.netbeans.modules.schema2beans.Schema2BeansException; - -/** This class supports the conversion between the iAS mapping file - * format and the object used to represent that mapping to support - * the iAS EJBC process and iAS CMP run-time. - * - * @author vbk - * @version 1.0 - */ -public class MappingFile { - - private static final String JAVA_TYPE_SET = "java.util.Set"; //NOI18N - private static final String JAVA_TYPE_COLLECTION = "java.util.Collection"; //NOI18N - private static final List types = new ArrayList<>(); - - /** Definitive location for a mapping file in an ejb-jar file. */ - public static final String DEFAULT_LOCATION_IN_EJB_JAR; - - /** The logger */ - private static final Logger logger = - LogHelperMappingConversion.getLogger(); - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - MappingFile.class); - - static { - types.add(JAVA_TYPE_SET); - types.add(JAVA_TYPE_COLLECTION); - - DEFAULT_LOCATION_IN_EJB_JAR = new StringBuilder(I18NHelper.getMessage( - messages, "CONST_IAS_MAPPING_FILE_LOC")). //NOI18N - append(File.separator). - append(I18NHelper.getMessage( - messages, "CONST_IAS_MAPPING_FILE")).toString(); //NOI18N - } - - private Map inverseRelationships = null; - private Map namedGroups = null; - private int groupCount = MappingFieldElement.GROUP_INDEPENDENT; - - private ClassLoader classLoader = null; - - private static int MINIMUM_PRECISION = 19; - - /** - * An object which implements ConversionHelper interface to - * access data from other available sources to support the mapping - * generation. - */ - private ConversionHelper helper = null; - - private HashMap loadedSchema = new HashMap(); - - /** Creates new MappingFile */ - public MappingFile() { - classLoader = null; - } - - /** Creates new MappingFile */ - public MappingFile(ClassLoader cl) { - this(); - classLoader = cl; - } - - /** Convert an SunCmpMapping object into the equivelent collection of - * MappingClassElement objects - * @param content An SunCmpMapping object that describes a mapping - * for one or more beans - * @param helper An object which implements ConversionHelper interface to - * access data from other available sources to support the mapping - * generation - * @return A Collection of MappingClassElement objects - * @throws DBException - * @throws ModelException - * @throws ConversionException - */ - public Map intoMappingClasses(SunCmpMappings content, - ConversionHelper helper) - throws DBException, ModelException, ConversionException { - Map mces = new java.util.HashMap(); - this.helper = helper; - boolean ensureValidation = helper.ensureValidation(); - - for (int i = 0; i < content.sizeSunCmpMapping(); i++) { - SunCmpMapping beanSet = content.getSunCmpMapping(i); - inverseRelationships = new HashMap(); - namedGroups = new HashMap(); - String schema = beanSet.getSchema(); - - if (helper.generateFields()) { - - // sweep through the mappings to complete them - completeCmrMappings(beanSet); - } - - // process bean mapping and fields mapping - for (int k = 0; k < beanSet.sizeEntityMapping(); k++) { - EntityMapping beanMapping = beanSet.getEntityMapping(k); - MappingClassElement aTpMapping = null; - if (ensureValidation) { - aTpMapping = mapFieldsOfBean(beanMapping, schema); - } - else { - try { - aTpMapping = mapFieldsOfBean(beanMapping, schema); - } - catch (ConversionException t) { - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_CONV_EXC", //NOI18N - t.toString())); - } - } - - mces.put(beanMapping.getEjbName(), aTpMapping); - } - } - return mces; - } - - /** Convert an SunCmpMapping object into the equivelent collection of - * MappingClassElement objects - * @param content An InputStream that contains an xml data stream that - * conforms to the sun-cmp-mapping.dtd - * @param helper An object which implements ConversionHelper interface to - * access data from other available sources to support the mapping - * generation - * @return A Collection of MappingClassElement objects - * @throws DBException - * @throws ModelException - * @throws ConversionException - */ - public Map intoMappingClasses(InputStream content, ConversionHelper helper) - throws DBException, ModelException, ConversionException { - SunCmpMappings foo = null; - try { - foo = SunCmpMappings.createGraph(content); - } - catch (Schema2BeansException t) { - if (helper.ensureValidation()) { - throw new ConversionException( - I18NHelper.getMessage(messages, - "XML_ERROR_IN_MAPPING_FILE", //NOI18N - DEFAULT_LOCATION_IN_EJB_JAR)); - } - foo = SunCmpMappings.createGraph(); - } - - return intoMappingClasses(foo, helper); - } - - /** Creates an SunCmpMapping object from a Collection of - * MappingClassElement objects - * @param dest The output for processing - * @param mappingClasses The Collection of MappingClassElements - * @param helper An object which implements ConversionHelper interface to - * access data from other available sources to support the mapping - * generation - * @throws IOException Thrown if there is a problem - * sending the data out on dest. - * @throws Schema2BeansException - */ - public void fromMappingClasses(OutputStream dest, Map mappingClasses, - ConversionHelper helper) - throws IOException, Schema2BeansException { - SunCmpMappings tmp = fromMappingClasses(mappingClasses, helper); - tmp.write(dest); - } - - /** Creates an SunCmpMapping object from a Collection of - * MappingClassElement objects - * @param mappingClasses The Collection of MappingClassElements - * @param helper An object which implements ConversionHelper interface to - * access data from other available sources to support the mapping - * generation. - * @return The SunCmpMapping object that is equivelent to the - * collection of MappingClassElements. - * throws Schema2BeansException - */ - public SunCmpMappings fromMappingClasses(Map mappingClasses, - ConversionHelper helper) throws Schema2BeansException { - Iterator keyIter = mappingClasses.keySet().iterator(); - Map mapOfMapping = new java.util.HashMap(); - while (keyIter.hasNext()) { - String ejbName = (String) keyIter.next(); - MappingClassElement mce = (MappingClassElement) - mappingClasses.get(ejbName); - EntityMapping beanMapping = new EntityMapping(); - - if (null != mce) { - setConsistency(mce, beanMapping); - - String schemaName = mce.getDatabaseRoot(); - SunCmpMapping aMapping = (SunCmpMapping) mapOfMapping.get( - schemaName); - if (null == aMapping) { - aMapping = new SunCmpMapping(); - aMapping.setSchema(schemaName); - mapOfMapping.put(schemaName, aMapping); - } - List tables = mce.getTables(); - MappingTableElement primary = null; - if (tables.size() > 0) { - primary = (MappingTableElement) tables.get(0); - beanMapping.setTableName(primary.getName()); - } - beanMapping.setEjbName(ejbName); - if (null != primary) { - List refKeys = primary.getReferencingKeys(); - for (int i = 0; refKeys != null && i < refKeys.size(); i++) { - SecondaryTable sT = new SecondaryTable(); - MappingReferenceKeyElement mrke = - (MappingReferenceKeyElement) refKeys.get(i); - MappingTableElement mte = mrke.getTable(); - if (null != mte) { - sT.setTableName(mte.getName()); - List cpnames = mrke.getColumnPairNames(); - boolean hasPairs = false; - for (int j = 0; cpnames != null && - j < cpnames.size(); j++) { - List token = - StringHelper.separatedListToArray((String)cpnames.get(j),";"); //NOI18N - ColumnPair cp = new ColumnPair(); - Iterator iter = token.iterator(); - while (iter.hasNext()) { - String columnName = (String)iter.next(); - cp.addColumnName(columnName); - } - sT.addColumnPair(cp); - hasPairs = true; - } - if (hasPairs) - beanMapping.addSecondaryTable(sT); - else - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "WARN_ILLEGAL_PAIR", //NOI18N - new Object [] {ejbName, mte.getName(), cpnames})); - } - else { - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "WARN_MISSING_TABLE", //NOI18N - new Object [] {ejbName, primary.getName()})); - } - } - } - else { - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "WARN_NO_PRIMARY", //NOI18N - ejbName)); - } - - // transform the field mappings - PersistenceClassElement pce = null; - PersistenceFieldElement pfields[] = null; - if (mce instanceof MappingClassElementImpl) { - MappingClassElementImpl mcei = - (MappingClassElementImpl) mce; - pce = mcei.getPersistenceElement(); - pfields = pce.getFields(); - } - int len = 0; - if (null != pfields) - len = pfields.length; - for (int i = 0; i < len; i++) { - PersistenceFieldElement pfield = pfields[i]; - String fieldName = pfield.getName(); - if (helper.isGeneratedField(ejbName, fieldName)) { - continue; - } - if (pfield instanceof RelationshipElement) { - MappingRelationshipElement mre = - (MappingRelationshipElement) mce.getField(fieldName); - MappingFieldElement mfe = mre; - CmrFieldMapping cfm = new CmrFieldMapping(); - cfm.setCmrFieldName(fieldName); - List cols = null; - if (null != mfe) { - cols = mfe.getColumns(); - int fgVal = mfe.getFetchGroup(); - setFetchedWith(cfm, fgVal); - } - for (int j = 0; null != cols && j < cols.size(); j++) { - String cpstring = (String) cols.get(j); - int slen = cpstring.indexOf(';'); - ColumnPair cp = new ColumnPair(); - cp.addColumnName(cpstring.substring(0,slen)); - cp.addColumnName(cpstring.substring(slen+1)); - cfm.addColumnPair(cp); - } - if (null != mre) - cols = mre.getAssociatedColumns(); - for (int j = 0; null != cols && j < cols.size(); j++) { - String cpstring = (String) cols.get(j); - int slen = cpstring.indexOf(';'); - ColumnPair cp = new ColumnPair(); - cp.addColumnName(cpstring.substring(0,slen)); - cp.addColumnName(cpstring.substring(slen+1)); - cfm.addColumnPair(cp); - } - beanMapping.addCmrFieldMapping(cfm); - } - else { - MappingFieldElement mfe = mce.getField(fieldName); - CmpFieldMapping cfm = new CmpFieldMapping(); - cfm.setFieldName(fieldName); - List cols = null; - if (null != mfe) { - cols = mfe.getColumns(); - for (int j = 0; null != cols && - j < cols.size(); j++) { - cfm.addColumnName((String)cols.get(j)); - } - int fgVal = mfe.getFetchGroup(); - setFetchedWith(cfm,fgVal); - } - beanMapping.addCmpFieldMapping(cfm); - } - } - aMapping.addEntityMapping(beanMapping); - } - } - SunCmpMappings retVal = null; - retVal = new SunCmpMappings(); - Iterator mapOfMappingIter = mapOfMapping.values().iterator(); - while (mapOfMappingIter.hasNext()) { - SunCmpMapping aVal = (SunCmpMapping) mapOfMappingIter.next(); - retVal.addSunCmpMapping(aVal); - } - return retVal; - } - - /** Set fetchgroup in schema2beans FetchedWith bean - * @param cfm An object that represents HasFetchedWith object - * in schema2beans - * @param fgVal integer that represents fetch group value - */ - private void setFetchedWith(HasFetchedWith cfm, int fgVal) { - FetchedWith fw = new FetchedWith(); - if (fgVal <= MappingFieldElement.GROUP_INDEPENDENT) { - String key = "IndependentFetchGroup"+fgVal; //NOI18N - fw.setNamedGroup(key); - } - else if (fgVal == MappingFieldElement.GROUP_DEFAULT) { - fw.setDefault(true); - } - else if (fgVal > MappingFieldElement.GROUP_DEFAULT) { - fw.setLevel(fgVal-1); - } - else if (fgVal == MappingFieldElement.GROUP_NONE) { - fw.setNone(true); - } - cfm.setFetchedWith(fw); - } - - /** Convert a bean's cmp-field-mapping and cmr-field-mapping elements into - * mapping model objects. - * - * The method can be called in two distinct cases: - * - * 1. At deployment time. The mapping must be complete enough to create a - * valid mapping model, in order to support execution. - * - * 2. During mapping development. The mapping may be incomplete, but the - * model objects that are created need to be as consistent as possible. - * The absence of data should not be fatal, if possible. - * - * @param mapping The schema2beans object that represents the mapping - * for a particular bean. - * @param schemaArg The name of the schema that the bean is mapped against. - * @return The MappingClassElement that corresponds to the - * schema2beans object. - * @throws DBException - * @throws ModelException - * @throws ConversionException - */ - private MappingClassElement mapFieldsOfBean(EntityMapping mapping, - String schemaArg) - throws DBException, ModelException, ConversionException { - - String beanName = mapping.getEjbName(); - MappingClassElement mce = null; - List tablesOfBean = new ArrayList(); - Map knownTables = new HashMap(); - - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_START_BEAN", //NOI18N - beanName)); - - String jdoClassName = helper.getMappedClassName(beanName); - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_JDOCLASS_NAME", //NOI18N - beanName, jdoClassName)); - - if (null == jdoClassName) { - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_INVALID_CLASS", //NOI18N - beanName)); - } - - // create the mapping class element and its children - PersistenceClassElementImpl persistElImpl = - new PersistenceClassElementImpl(jdoClassName); - persistElImpl.setKeyClass(jdoClassName+".Oid"); //NOI18N - mce = new MappingClassElementImpl( - new PersistenceClassElement(persistElImpl)); - - SchemaElement schema = null; - - // Assign the schema - if (!StringHelper.isEmpty(schemaArg)) - schema = setDatabaseRoot(mce, schemaArg, - helper.ensureValidation()); - - // Map the table information - // Ensure the bean is mapped to a primary table. - if (!StringHelper.isEmpty(mapping.getTableName())) { - - mapPrimaryTable(mapping, mce, - schema, knownTables, tablesOfBean); - mapSecondaryTables(mapping, mce, - schema, knownTables, tablesOfBean); - } - - ColumnElement candidatePK = null; - - // map the simple fields. - candidatePK = mapNonRelationshipFields(mapping, mce, - beanName, schema, knownTables); - - createMappingForUnknownPKClass(mapping, mce, - beanName, candidatePK); - - createMappingForConsistency(mapping, mce, - beanName, knownTables); - - // map the relationship fields. - mapRelationshipFields(mapping, mce, - beanName, schema, knownTables, tablesOfBean); - - // map any unmapped fields. - mapUnmappedFields(mce, beanName); - - return mce; - } - - /** Create field mapping for unknown primary key - * @param mapping The schema2beans object that represents the mapping - * for a particular bean. - * @param mce Mapping class element - * @param beanName Bean name - * @param candidatePK A ColumnElement object which is a candidate column for - * mapping to primary key field if it is unknown primary key - * @throws ModelException - * @throws ConversionException - */ - private void createMappingForUnknownPKClass(EntityMapping mapping, - MappingClassElement mce, - String beanName, - ColumnElement candidatePK) - throws ModelException, ConversionException { - String primaryTableName = mapping.getTableName(); - - if (helper.generateFields() - && helper.applyDefaultUnknownPKClassStrategy(beanName)) { - if (null != candidatePK) { - String fieldName = helper.getGeneratedPKFieldName(); - - // Fix later. Since mapping and persistence classes in the - // cache are only skeletons and not the one we want, - // put pce in a map at pce creation time for persistence - // class look up later to avoid a cast - // to MappingClassElementImpl. - PersistenceFieldElement pfe = createPersistenceField(mce, - fieldName); - pfe.setKey(true); - MappingFieldElement mfe = createMappingField(mce, fieldName, - candidatePK); - } - else { - // There is no column which meets primary key criteria. - // Report error. - throw new ConversionException( - I18NHelper.getMessage( - messages, - "WARN_NO_PKCOLUMN", //NOI18N - primaryTableName)); - } - } - } - - /** Load the consistency information. if it is version consistency, create - * field mapping for version columns. - * @param mapping The schema2beans object that represents the mapping - * for a particular bean. - * @param mce Mapping class element - * @param beanName Bean name - * @param knownTables A Map which contains primary and secondary tables - * for beans in the set. Keys: table names Values: TableElement objects - * @throws ModelException - * @throws DBException - * @throws ConversionException - */ - private void createMappingForConsistency(EntityMapping mapping, - MappingClassElement mce, - String beanName, - Map knownTables) - throws ModelException, DBException, ConversionException { - - // load the consistency information - List versionColumns = loadConsistency(mapping, mce); - - // If the consistency level is version consistency, the version field - // is always created, independent of the ConversionHelper's value for - // generateFields. This is because a generated version field is - // needed to hold the version column information. - if (versionColumns != null) { - - String primaryTableName = mapping.getTableName(); - - // For 8.1 release, we only support one version column per bean - if (versionColumns.size() > 1) { - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_INVALID_VERSION_COLUMNS")); //NOI18N - } - String versionColumn = (String)versionColumns.get(0); - - String sourceTableName = getTableName(versionColumn, - primaryTableName); - - // we do not support version column from secondary table - // in 8.1 release - if (!sourceTableName.equals(primaryTableName)) { - throw new ConversionException( - I18NHelper.getMessage( - messages, - "WARN_VERSION_COLUMN_INVALID_TABLE", //NOI18N - primaryTableName, beanName, versionColumn)); - } - - TableElement sourceTableEl = (TableElement) knownTables.get( - sourceTableName); - String versionColumnName = getColumnName(versionColumn); - ColumnElement versionCol = getColumnElement(sourceTableEl, - DBIdentifier.create(versionColumnName), helper); - - if (null != versionCol) { - - // Since 8.1 release only support one version column per bean, - // use prefix as the version field name - String fieldName = helper.getGeneratedVersionFieldNamePrefix(); - PersistenceFieldElement pfe = createPersistenceField(mce, - fieldName); - MappingFieldElement mfe = createMappingField(mce, fieldName, - versionCol); - mfe.setVersion(true); - } - else { - // There is no version column. - // Report error. - throw new ConversionException( - I18NHelper.getMessage( - messages, - "WARN_VERSION_COLUMN_MISSING", //NOI18N - primaryTableName, beanName)); - } - } - } - - /** Map simple cmp field to MappingFieldElement - * @param mapping The schema2beans object that represents the mapping - * for a particular bean. - * @param mce Mapping class element - * @param beanName Bean name - * @param schema dbschema information for all beans - * @param knownTables A Map which contains primary and secondary tables - * for beans in the set. Keys: table names Values: TableElement objects - * @return candidate primary key column for unknown - * primary key class mapping, if applicable - * @throws DBException - * @throws ModelException - * @throws ConversionException - */ - private ColumnElement mapNonRelationshipFields(EntityMapping mapping, - MappingClassElement mce, - String beanName, - SchemaElement schema, - Map knownTables) - throws DBException, ModelException, ConversionException { - - CmpFieldMapping [] mapOfFields = mapping.getCmpFieldMapping(); - String primaryTableName = mapping.getTableName(); - ColumnElement candidatePK = null; - - // get candidate column only used for unknown primary key - if (helper.generateFields() - && helper.applyDefaultUnknownPKClassStrategy(beanName)) { - - candidatePK = getCandidatePK(schema, primaryTableName); - } - - for (int i = 0; i < mapOfFields.length; i++) { - CmpFieldMapping mapForOneField = mapOfFields[i]; - - String fieldName = mapForOneField.getFieldName(); - if (!validateField(mce, beanName, fieldName, - helper.ensureValidation())) { - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "WARN_INVALID_FIELD", //NOI18N - beanName, fieldName)); - - continue; - } - - String columnNames[] = mapForOneField.getColumnName(); - MappingFieldElement mfe = createUnmappedField(mce, beanName, - fieldName); - boolean fieldMappedToABlob = false; - - for (int j = 0; j < columnNames.length; j++) { - String sourceTableName = getTableName(columnNames[j], - primaryTableName); - if (null == sourceTableName) { - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_UNDEFINED_TABLE")); //NOI18N - } - - String sourceColumnName = getColumnName(columnNames[j]); - - // get the table element - TableElement sourceTableEl = getTableElement(sourceTableName, - knownTables, schema); - ColumnElement aCol = getColumnElement(sourceTableEl, - DBIdentifier.create(sourceColumnName), helper); - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_ADD_COLUMN", //NOI18N - new Object [] {aCol, fieldName})); - - // If candidatePK is mapped to a field, then it can not - // treated as a primary key for unknown primary key - if (helper.generateFields() - && helper.applyDefaultUnknownPKClassStrategy(beanName)) { - if (candidatePK != null && candidatePK.equals(aCol)) { - candidatePK = null; - } - } - - fieldMappedToABlob |= aCol.isBlobType(); - mfe.addColumn(aCol); - } - - FetchedWith fw = mapForOneField.getFetchedWith(); - setFetchGroup(fw, mfe, beanName, fieldMappedToABlob); - mce.addField(mfe); - } - - return candidatePK; - } - - /** - * Converts entity mapping relationship information from sun-cmp-mappings.xml - * into JDO mapping file information. - * - * @param mapping The schema2beans object that represents the mapping - * for a particular bean. - * @param mce Mapping class element being populated corresponding to the bean. - * @param beanName Bean name. - * @param knownTables A Map which contains primary and secondary tables - * for beans in the set. Keys: table names Values: TableElement objects - * @param tablesOfBean contains primary table and - * secondary tables of the bean beanName. - * @throws ModelException - * @throws DBException - * @throws ConversionException - */ - private void mapRelationshipFields(EntityMapping mapping, - MappingClassElement mce, - String beanName, - SchemaElement schema, - Map knownTables, - List tablesOfBean) - throws ModelException, DBException, ConversionException { - - String primaryTableName = mapping.getTableName(); - CmrFieldMapping mapOfRelations[] = mapping.getCmrFieldMapping(); - PersistenceClassElement pce = ((MappingClassElementImpl)mce).getPersistenceElement(); - - for (int i = 0; mapOfRelations != null && i < mapOfRelations.length; - i++) { - CmrFieldMapping aRelation = mapOfRelations[i]; - String fieldName = aRelation.getCmrFieldName(); - - if (!validateField(mce, beanName, fieldName, helper.ensureValidation())) { - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "WARN_INVALID_CMRFIELD", //NOI18N - beanName, fieldName)); - continue; - } - - RelationshipElement rel = new RelationshipElement( - new RelationshipElementImpl(fieldName), pce); - MappingRelationshipElement mre = - new MappingRelationshipElementImpl(fieldName, mce); - - // Register the inverse RelationshipElement - registerInverseRelationshipElement(rel, beanName, fieldName); - - final ColumnPair pairs[] = aRelation.getColumnPair(); - final String relationId = mapping.getEjbName() + "_Relationship_" + i; //NOI18N - Collection primaryTableColumns = convertToColumnPairElements( - pairs, - primaryTableName, schema, knownTables, tablesOfBean, - relationId, - mre); - - setUpperBound(rel, beanName, fieldName); - setCascadeDeleteAction(rel, beanName, fieldName); - setLowerBound(rel, - primaryTableColumns, - primaryTableName,schema, knownTables, - beanName, fieldName); - setFetchGroup(aRelation.getFetchedWith(), mre, beanName, false); - - pce.addField(rel); - mce.addField(mre); - } - } - - /** Map unmapped field to mapping field object. - * @param mce Mapping class element - * @param beanName Bean name - * @throws ModelException - */ - private void mapUnmappedFields(MappingClassElement mce, String beanName) - throws ModelException { - - Object[] fields = helper.getFields(beanName); - if (!helper.ensureValidation()) { - for (int i = 0; i < fields.length; i++) { - String fieldName = (String) fields[i]; - MappingFieldElement mfe = mce.getField(fieldName); - - if (null == mfe) { - - // this field needs a mapping created for it... - mfe = createUnmappedField(mce, beanName, fieldName); - mce.addField(mfe); - } - } - } - } - - /** Set consistency from MappingClassElement into schema2beans - * Consistency bean. - * @param mce An object that represents the mapping object - * @param beanMapping The schema2beans object that represents the mapping - * for a particular bean. - */ - private void setConsistency(MappingClassElement mce, - EntityMapping beanMapping) { - int consistency = mce.getConsistencyLevel(); - if (MappingClassElement.NONE_CONSISTENCY != consistency) { - Consistency c = new Consistency(); - if (MappingClassElement.LOCK_WHEN_MODIFIED_CHECK_ALL_AT_COMMIT_CONSISTENCY == consistency) { - c.setLockWhenModified(true); - c.setCheckAllAtCommit(true); - } - if (MappingClassElement.LOCK_WHEN_MODIFIED_CONSISTENCY == consistency) - c.setLockWhenModified(true); - if (MappingClassElement.CHECK_ALL_AT_COMMIT_CONSISTENCY == consistency) - c.setCheckAllAtCommit(true); - if (MappingClassElement.LOCK_WHEN_LOADED_CONSISTENCY == consistency) - c.setLockWhenLoaded(true); - if (MappingClassElement.CHECK_MODIFIED_AT_COMMIT_CONSISTENCY == consistency) - c.setCheckModifiedAtCommit(true); - if (MappingClassElement.VERSION_CONSISTENCY == consistency) { - CheckVersionOfAccessedInstances versionIns = - new CheckVersionOfAccessedInstances(); - Iterator iter = mce.getVersionFields().iterator(); - while (iter.hasNext()) { - List columnNames = ((MappingFieldElement)iter.next()). - getColumns(); - - // vesion field only allow to map to one column - if (columnNames != null && columnNames.size() > 0) - versionIns.addColumnName((String)columnNames.get(0)); - } - c.setCheckVersionOfAccessedInstances(versionIns); - } - beanMapping.setConsistency(c); - } - } - - /** Load consistency from schema2beans into MappingClassElement - * @param mapping The schema2beans object that represents the mapping - * for a particular bean. - * @param mce An object that represents mapping object - * @return a list of version column names if applicable; return null - * otherwise. - * @throws ModelException - * @throws ConversionException - */ - private List loadConsistency(EntityMapping mapping, MappingClassElement mce) - throws ModelException, ConversionException { - Consistency c = mapping.getConsistency(); - if (null == c) { - mce.setConsistencyLevel(MappingClassElement.NONE_CONSISTENCY); - } - else { - CheckVersionOfAccessedInstances versionIns = - c.getCheckVersionOfAccessedInstances(); - - if (c.isCheckModifiedAtCommit()) - mce.setConsistencyLevel( - MappingClassElement.CHECK_MODIFIED_AT_COMMIT_CONSISTENCY); - else if(c.isLockWhenLoaded()) - mce.setConsistencyLevel( - MappingClassElement.LOCK_WHEN_LOADED_CONSISTENCY); - else if(c.isCheckAllAtCommit()) - mce.setConsistencyLevel( - MappingClassElement.CHECK_ALL_AT_COMMIT_CONSISTENCY); - else if(c.isLockWhenModified()) - mce.setConsistencyLevel( - MappingClassElement.LOCK_WHEN_MODIFIED_CONSISTENCY); - else if(c.isLockWhenModified() && c.isCheckAllAtCommit()) - mce.setConsistencyLevel(MappingClassElement. - LOCK_WHEN_MODIFIED_CHECK_ALL_AT_COMMIT_CONSISTENCY); - else if(c.isNone()) - mce.setConsistencyLevel(MappingClassElement.NONE_CONSISTENCY); - else if (versionIns != null) { - mce.setConsistencyLevel(MappingClassElement.VERSION_CONSISTENCY); - List versionColumns = new ArrayList(); - for (int i = 0; i < versionIns.sizeColumnName(); i++) { - versionColumns.add(versionIns.getColumnName(i)); - } - return versionColumns; - } - else { - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_INVALID_CONSISTENCY_VALUE", mce)); //NOI18N - } - } - return null; - } - - /** Map the primary table of the bean. - * @param mapping The schema2beans object that represents the mapping - * for a particular bean. - * @param mce Mapping class element - * @param schema dbschema information for all beans - * @param knownTables A Map which contains primary and secondary tables - * for beans in the set. Keys: table names Values: TableElement objects - * @param tablesOfBean contains primary table and - * secondary tables of the bean corresponding to the mapping - * @throws DBException - * @throws ModelException - * @throws ConversionException - */ - private void mapPrimaryTable(EntityMapping mapping, - MappingClassElement mce, - SchemaElement schema, - Map knownTables, - List tablesOfBean) - throws DBException, ModelException, ConversionException { - - String primaryTableName = mapping.getTableName(); - TableElement primTabEl = getTableElement(primaryTableName, knownTables, schema); - - mce.addTable(primTabEl); - tablesOfBean.add(primaryTableName); - } - - /** Get the candidate pk column for unknown primary key. - * @param schema dbschema information for all beans - * @param primaryTableName Primary table name - * @return candidate pk column which will be used for unknown primary key, - * if applicable - * @throws DBException - * @throws ConversionException - */ - private ColumnElement getCandidatePK(SchemaElement schema, - String primaryTableName) - throws DBException, ConversionException { - ColumnElement candidatePK = null; - - TableElement primTabEl = getTableElement(schema, - DBIdentifier.create(primaryTableName), helper); - // Check if the candidatePK is really satisfying primary key - // criteria. It will be used only for unknown primary key. - UniqueKeyElement uke = primTabEl.getPrimaryKey(); - - if (null != uke) { - ColumnElement cols[] = uke.getColumns(); - if (null != cols && 1 == cols.length) { - candidatePK = cols[0]; - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_CANDIDATE_PK", //NOI18N - candidatePK.getName())); - - Integer pre = candidatePK.getPrecision(); - if (null != candidatePK && !candidatePK.isNumericType()) { - candidatePK = null; - } - if (null != candidatePK && (null != pre) && pre.intValue() < MINIMUM_PRECISION) { - candidatePK = null; - } - } - } - return candidatePK; - } - - /** - * Converts column pair information from sun-cmp-mappings.xml into - * column pair elements from the JDO mapping definition. - * - * @param pairs ColumnPair information from sun-cmp-mappings.xml. - * @param primaryTableName Name of the bean's primary table. - * @param schema dbschema information for all beans. - * @param knownTables A Map which contains primary and secondary tables - * for beans in the set. Keys: table names Values: TableElement objects - * @param tablesOfBean contains primary table and - * secondary tables of the bean corresponding to the mre's - * declaring class. - * @param relationId Relationship id used to name the ColumnPairElements. - * @param mre Mapping relationship element (== JDO information). - * @return Collection of column elements, including all columns from the - * current cmr definition that are part of the primary table. - * @throws DBException - * @throws ModelException - * @throws ConversionException - */ - private Collection convertToColumnPairElements(ColumnPair pairs[], - String primaryTableName, - SchemaElement schema, - Map knownTables, - List tablesOfBean, - String relationId, - MappingRelationshipElement mre) - throws DBException, ModelException, ConversionException { - - Collection primaryTableColumns = new ArrayList(); - boolean isJoin = false; - - for (int i = 0; null != pairs && i < pairs.length; i++) { - ColumnPair pair = pairs[i]; - ColumnPairElement cpe = new ColumnPairElement(); - boolean localSet = false; - - cpe.setName(DBIdentifier.create(relationId + "_ColumnPair_" + i)); //NOI18N - - for (int j = 0; j < 2; j++) { - String columnName = pair.getColumnName(j); - String sourceTableName = getTableName(columnName, - primaryTableName); - String sourceColumnName = getColumnName(columnName); - TableElement sourceTableEl = getTableElement(sourceTableName, - knownTables, schema); - ColumnElement ce = getColumnElement(sourceTableEl, - DBIdentifier.create(sourceColumnName), helper); - ce.toString(); - - // tablesOfBean stores the primary table and the secondary - // tables for the bean. - // It can be used for checking join table if sourceTableName - // is not in the tablesOfBean. - // If it is join table, should use addLocalColumn instead of - // addColumn. - if (j == 0) { - if (tablesOfBean.contains(sourceTableName)) { - localSet = true; - - // Remember local columns for lower bound determination. - primaryTableColumns.add(ce); - } - else { - - // join table - isJoin = true; - localSet = false; - } - } - - if (cpe.getLocalColumn() == null) { - cpe.setLocalColumn(ce); - } - else { - cpe.setReferencedColumn(ce); - } - } - - if (localSet) { - if (!isJoin) { - mre.addColumn(cpe); - } - else { - mre.addLocalColumn(cpe); - } - } - else if (isJoin) { - mre.addAssociatedColumn(cpe); - } - } - - return primaryTableColumns; - } - - /** - * If a non-collection relationship field is mapped to a - * non-nullable column, the lower bound of the relationship might - * be set to 1. To set the lower bound, we have to determine the - * dependent side of the relationship. We set the lower bound to 1 - * based on the following rules: - * - *
      - *
    • If the non-nullable column is not part of the primary key.
    • - *
    • If the local side has got a foreign key.
    • - *
    • If the local columns are a real subset of the primary key.
    • - *
    • If the user specified the local side for cascade delete.
    • - *
    - * - * @param rel JDO relationship information being constructed. - * @param primaryTableColumns Collection of all columns from the - * current cmr definition that are part of the primary table. - * @param primaryTableName Name of the bean's primary table. - * @param knownTables A Map which contains primary and secondary tables - * for beans in the set. Keys: table names Values: TableElement objects - * @param schema dbschema information for all beans. - * @param beanName Bean name. - * @param fieldName Relationship field name. - * @throws ModelException - * @throws DBException - * @throws ConversionException - */ - private void setLowerBound(RelationshipElement rel, - Collection primaryTableColumns, - String primaryTableName, - SchemaElement schema, - Map knownTables, - String beanName, - String fieldName) - throws ModelException, DBException, - ConversionException { - - rel.setLowerBound(0); - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_LWB_NULL", //NOI18N - beanName, fieldName)); - - if (1 == rel.getUpperBound() && null != primaryTableName) { - - boolean isPartOfPrimaryKey = false; - TableElement primaryTable = getTableElement(primaryTableName, - knownTables, schema); - UniqueKeyElement pk = primaryTable.getPrimaryKey(); - ForeignKeyElement fks[] = primaryTable.getForeignKeys(); - Iterator iter = primaryTableColumns.iterator(); - - while (iter.hasNext() && 0 == rel.getLowerBound()) { - ColumnElement ce = (ColumnElement) iter.next(); - if (!ce.isNullable()) { - isPartOfPrimaryKey |= isPartOfPrimaryKey(ce, pk); - - if (!isPartOfPrimaryKey) { - // We suppose that all primary key columns are non-nullable. - // If the non-nullable column is not part of the primary key, - // this is the dependent side. - rel.setLowerBound(1); - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_LWB_NOPK", //NOI18N - beanName, fieldName)); - } - // Check the foreign key constraint - else if (isPartOfForeignKey(ce, fks)) { - // If the non-nullable column is part of the foreign key, - // this is the dependent side. - rel.setLowerBound(1); - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_LWB_FK", //NOI18N - beanName, fieldName)); - } - } - } - - if (0 == rel.getLowerBound() && isPartOfPrimaryKey) { - // The lower bound is still unset and all local columns - // are part of the primary key. - if (primaryTableColumns.size() < pk.getColumns().length) { - // The local columns are a real subset of the primary key. - // ==> This must be the dependent side. - rel.setLowerBound(1); - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_LWB_PKSUBSET", //NOI18N - beanName, fieldName)); - } - else if (isCascadeDelete(beanName, fieldName)) { - // This relationship side is marked as dependent side by the user. - rel.setLowerBound(1); - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_LWB_CASCADE", //NOI18N - beanName, fieldName)); - } - else { - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_LWB_NODEPENDENT", //NOI18N - beanName, fieldName)); - } - } - } - } - - /** - * Looks up the table element for tableName in the - * table element cache knownTables. If the table - * element is not found, the table name is looked up in the - * database schema and registered in the cache. - * - * @param tableName Table name. - * @param knownTables A Map which contains primary and secondary tables - * for beans in the set. Keys: table names Values: TableElement objects - * @param schema dbschema information for all beans. - * @return Table element for table tableName. - * @exception DBException - * @exception ConversionException - */ - private TableElement getTableElement(String tableName, - Map knownTables, - SchemaElement schema) - throws DBException, ConversionException { - - TableElement te = (TableElement) knownTables.get(tableName); - - if (null == te) { - te = getTableElement(schema, DBIdentifier.create(tableName), - helper); - knownTables.put(tableName, te); - } - - return te; - } - - /** - * Checks, if the column ce is part of the - * primary key pk. - * RESOLVE: Method isPrimaryKeyColumn in ModelValidator - * implements similar functionality. - * - * @param ce Column element for the column to be tested. - * @param pk Primary key element. The column to be tested - * must be defined in the same table. - * @return True, if the column is part of the primary key, - * false otherwise. - * @see com.sun.jdo.api.persistence.model.util.ModelValidator - */ - private boolean isPartOfPrimaryKey(ColumnElement ce, UniqueKeyElement pk) { - return null != pk && ce.equals(pk.getColumn(ce.getName())); - } - - /** - * Checks, if the column ce is part of one - * of the foreign key constraints defined in fks. - * RESOLVE: Method matchesFK in ModelValidator implements similar - * functionality. - * - * @param ce Column element for the column to be tested. - * @param fks Array of foreign key elements. The column to be - * tested must be defined in the same table. - * @return True, if the column is part of one of the foreign keys, - * false otherwise. - * @see com.sun.jdo.api.persistence.model.util.ModelValidator - */ - private boolean isPartOfForeignKey(ColumnElement ce, - ForeignKeyElement[] fks) { - - // RESOLVE: Column ce might be included in multiple foreign - // keys. The foreign key check applies to ALL relationships - // mapped to column ce. How can we find out, that a foreign - // key matches exactly the relationship being checked here? - - if (fks != null) { - for (int index = 0; index < fks.length; index++) { - if (ce.equals(fks[index].getColumn(ce.getName()))) { - // The current ce is part of the foreign key. - return true; - } - } - } - - return false; - } - - /** - * Returns the cascade delete setting for the current relationship side. - * The ConversionHelper interface provides cascade delete information - * for the related side only. - * - * @param beanName Bean name. - * @param fieldName Relationship field name. - * @return True, if the current relationship side is marked for cascade delete, - * false otherwise. - */ - private boolean isCascadeDelete(String beanName, String fieldName) { - final String beanInField = helper.getRelationshipFieldContent(beanName, fieldName); - final String inverseField = helper.getInverseFieldName(beanName, - fieldName); - - return (null != beanInField && null != inverseField) ? - helper.relatedObjectsAreDeleted(beanInField, inverseField) : false; - } - - /** - * Registers relationship element rel in the cache - * mapping field names to inverse relationship elements. The - * inverse bean- and field names for the registration are - * determined with the conversion helper. Returns the - * relationship element for the inverse field, if this field has - * been already processed, null otherwise. - * - * @param rel JDO relationship information being constructed. - * @param beanName Bean name. - * @param fieldName Relationship field name. - * @return The relationship element for the inverse field, if this field - * has been already processed, null otherwise. - * @throws ModelException - */ - private RelationshipElement registerInverseRelationshipElement( - RelationshipElement rel, String beanName, String fieldName) - throws ModelException { - - String key = beanName + "." + fieldName; //NOI18N - RelationshipElement inverse = (RelationshipElement) inverseRelationships.get(key); - - if (null == inverse) { - final String beanInField = helper.getRelationshipFieldContent( - beanName, fieldName); - final String inverseField = helper.getInverseFieldName(beanName, - fieldName); - - if (null != beanInField && null != inverseField) { - key = beanInField + "." + inverseField; //NOI18N - inverseRelationships.put(key, rel); - } - } - else { - rel.changeInverseRelationship(inverse); - inverse.changeInverseRelationship(rel); - } - - return inverse; - } - - /** - * Sets the upper bound for relationship element rel - * depending on the upper bound information from the deployment - * descriptor and defines the element class for collection - * relationship fields. - * - * @param rel JDO relationship information being constructed. - * @param beanName Bean name. - * @param fieldName Relationship field name. - * @throws ModelException - * @throws ConversionException - */ - private void setUpperBound(RelationshipElement rel, - String beanName, String fieldName) - throws ModelException, ConversionException { - - String beanInField = helper.getRelationshipFieldContent(beanName, - fieldName); - String classInJdoField = helper.getMappedClassName(beanInField); - String multiplicity = helper.getMultiplicity(beanName, fieldName); - - // Set the upper bound. - if (multiplicity.equals(helper.MANY)) { - rel.setUpperBound(Integer.MAX_VALUE); - rel.setElementClass(classInJdoField); - String collectionClass = helper.getRelationshipFieldType(beanName, - fieldName); - if (types.contains(collectionClass)) { - rel.setCollectionClass(collectionClass); - } - else { - rel.setCollectionClass(null); - if (logger.isLoggable(Logger.WARNING)) - logger.warning( - I18NHelper.getMessage( - messages, - "WARN_INVALID_RELATIONSHIP_FIELDTYPE", //NOI18N - beanName, fieldName, collectionClass)); - } - } - else if (multiplicity.equals(helper.ONE)) { - rel.setUpperBound(1); - // Fix later. This code should be removed because in one side - // setElementClass should not be called. - // This line of code is for bug 4665051 which is plugin bug. - // It is likely that bug 4665051 indicates that there is code - // in the plugin which depends on the element class being set - // for a one side relationship. - rel.setElementClass(classInJdoField); - } - else { - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_BAD_MULTIPLICTY", //NOI18N - multiplicity, rel.getName())); - } - } - - /** - * Sets the cascade delete option for relationship element - * rel depending on the information from the - * deployment descriptor. While the deployment descriptor - * specifies cascade delete option on the dependent side, JDO - * specifies it on the primary side. For this reason, the - * information must be "switched". - * - * @param rel JDO relationship information being constructed. - * @param beanName Bean name. - * @param fieldName Relationship field name. - * @throws ModelException - */ - private void setCascadeDeleteAction(RelationshipElement rel, - String beanName, String fieldName) - throws ModelException { - - if (helper.relatedObjectsAreDeleted(beanName, fieldName)) { - if (logger.isLoggable(Logger.FINE)) - logger.fine( - I18NHelper.getMessage( - messages, - "MESSAGE_REL_OBJ_DEL", //NOI18N - beanName, fieldName)); - rel.setDeleteAction(RelationshipElement.CASCADE_ACTION); - } - } - - private SchemaElement setDatabaseRoot(MappingClassElement foo, - String schemaElementValue, boolean strict) - throws ModelException, DBException, ConversionException { - SchemaElement bar = null; - if (null != classLoader) { - if (loadedSchema.get(schemaElementValue) == null) { - SchemaElement.removeFromCache(schemaElementValue); - loadedSchema.put(schemaElementValue, schemaElementValue); - } - bar = SchemaElement.forName(schemaElementValue,classLoader); - } - else - bar = SchemaElement.forName(schemaElementValue); - if (strict) { - if (bar == null) { - // Prepare for a schema related error - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_CANNOT_FIND_SCHEMA", //NOI18N - new Object [] {schemaElementValue, classLoader})); - } - } - else { - if (null == bar) { - // conjure up a schema element and set its name... - // need to create a dummy for invalid mappings because the - // mapping model setter methods don't accept strings even - // though that is what they store. - bar = new SchemaElement(); - DBIdentifier n = DBIdentifier.create(schemaElementValue); - n.setFullName(schemaElementValue); - bar.setName(n); - } - } - foo.setDatabaseRoot(bar); - return bar; - } - - private String getTableName(String columnName, String defaultName) { - String retVal = defaultName; - int len = columnName.lastIndexOf('.'); - if (len > 0) - retVal = columnName.substring(0,len); - return retVal; - } - - private String getColumnName(String columnName) { - String retVal = columnName; - int len = columnName.lastIndexOf('.'); - if (len > 0) - retVal = columnName.substring(len+1); - return retVal; - } - - /** Map the secondary tables of the bean. - * @param mapping The schema2beans object that represents the mapping - * for a particular bean. - * @param mce Mapping class element - * @param schema dbschema information for all beans - * @param knownTables A Map which contains primary and secondary tables - * for beans in the set. Keys: table names Values: TableElement objects - * @param tablesOfBean contains primary table and - * secondary tables of the bean corresponding to the mapping - * @throws ModelException - * @throws DBException - * @throws ConversionException - */ - private void mapSecondaryTables(EntityMapping mapping, - MappingClassElement mce, - SchemaElement schema, - Map knownTables, - List tablesOfBean) - throws ModelException, DBException, ConversionException { - - SecondaryTable [] tableList = mapping.getSecondaryTable(); - List tl = mce.getTables(); - - if (null != tl && tl.size() > 0 && null != tl.get(0)) { - MappingTableElement primary = (MappingTableElement) tl.get(0); - - for (int i = 0; null != tableList && i < tableList.length; i++) { - String tn = tableList[i].getTableName(); - if (StringHelper.isEmpty(tn)) - continue; - TableElement te = getTableElement(schema, - DBIdentifier.create(tn.trim()), helper); - ColumnPair pairs[] = tableList[i].getColumnPair(); - int len = 0; - if (null != pairs) - len = pairs.length; - if (0 == len) { - if (logger.isLoggable(Logger.WARNING)) - logger.warning( - I18NHelper.getMessage( - messages, - "WARN_NO_PAIRS", //NOI18N - new Object [] {mce, tn})); - continue; - } - MappingReferenceKeyElement mrke = mce.addSecondaryTable( - primary,te); - for (int j = 0; null != pairs && j < pairs.length; j++) { - ColumnPairElement cpe = new ColumnPairElement(); - DBIdentifier dbId = DBIdentifier.create("SecondaryTable"+j); //NOI18N - cpe.setName(dbId); - ColumnPair pair = pairs[j]; - for (int k = 0; k < 2; k++) { - String nameOne = pair.getColumnName(k); - String sourceTableName = getTableName( - nameOne.trim(), - primary.getName().toString()); - String sourceColumnName = getColumnName(nameOne); - dbId = DBIdentifier.create(sourceTableName); - TableElement sourceTableEl = getTableElement(schema, - dbId, helper); - dbId = DBIdentifier.create(sourceColumnName); - ColumnElement ce = getColumnElement(sourceTableEl, - dbId, helper); - if (k == 0) - cpe.setLocalColumn(ce); - else - cpe.setReferencedColumn(ce); - } - mrke.addColumnPair(cpe); - } - knownTables.put(tn,te); - tablesOfBean.add(tn); - } - } - else - throw new ConversionException( - I18NHelper.getMessage( - messages, - "WARN_NOT_MAPPED_TO_PRIMARY", //NOI18N - mce.getName())); - } - - private boolean validateField(MappingClassElement mce, String beanName, - String fieldName, boolean throwEx) throws ConversionException { - MappingFieldElement mfe = mce.getField(fieldName); - if (null != mfe) { - if (throwEx) - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_FIELD_MAPPED_TWICE", //NOI18N - beanName, fieldName)); - else - return false; - } - if (!helper.hasField(beanName,fieldName)) { - if (throwEx) - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_INVALID_FIELD", //NOI18N - beanName, fieldName)); - else - return false; - } - return true; - } - - // loop through the mappings to create a hash from bean name to em objects - private Map getBean2EntityMappingMap(SunCmpMapping beanSet) { - Map retVal = new HashMap(); - EntityMapping [] entityMappingsInSet = beanSet.getEntityMapping(); - int len = 0; - if (null != entityMappingsInSet) - len = entityMappingsInSet.length; - for (int k = 0; k < len; k++) { - EntityMapping anEntityMapping = entityMappingsInSet[k]; - String beanName = anEntityMapping.getEjbName(); - beanName.trim().charAt(0); - retVal.put(beanName,anEntityMapping); - } - return retVal; - } - - // for each cmr field in the mapping - // determine is the inverse is a generated field - // create the mapping data for this generated field - private boolean completeCmrMappings(SunCmpMapping beanSet) - throws ConversionException { - - // loop through the mappings to create a hash from bean name to em objects - Map beanName2EntityMapping = getBean2EntityMappingMap(beanSet); - Iterator emIter = beanName2EntityMapping.values().iterator(); - boolean retVal = false; - String errorMsg = I18NHelper.getMessage( - messages, - "ERR_BAD_CONVERSION_HELPER"); //NOI18N - - while (emIter.hasNext()) { - EntityMapping anEM = (EntityMapping) emIter.next(); - String beanName = anEM.getEjbName(); - String pt = anEM.getTableName(); - CmrFieldMapping[] cmrsInEM = anEM.getCmrFieldMapping(); - int len = 0; - if (null != cmrsInEM && !StringHelper.isEmpty(beanName)) - len = cmrsInEM.length; - for (int i = 0; i < len; i++) { - String fieldName = cmrsInEM[i].getCmrFieldName(); - if (!helper.hasField(beanName, fieldName)) { - throw new ConversionException(I18NHelper.getMessage( - messages, - "WARN_INVALID_CMRFIELD", //NOI18N - beanName, fieldName)); - } - fieldName.trim().charAt(0); - String otherField = helper.getInverseFieldName(beanName, - fieldName); - if (otherField == null) { - throw new ConversionException(errorMsg); - } - String otherBean = helper.getRelationshipFieldContent(beanName, - fieldName); - if (otherBean == null) { - throw new ConversionException(errorMsg); - } - - if (helper.isGeneratedRelationship(otherBean,otherField)) { - retVal = true; - String otherBeanName = helper.getRelationshipFieldContent( - beanName, fieldName); - otherBeanName.trim().charAt(0); - EntityMapping otherEM = - (EntityMapping) beanName2EntityMapping.get( - otherBeanName); - CmrFieldMapping inverseMapping = new CmrFieldMapping(); - inverseMapping.setCmrFieldName(otherField); - inverseMapping.setColumnPair( - reverseCPArray(cmrsInEM[i].getColumnPair(), pt, - beanName, fieldName)); - otherEM.addCmrFieldMapping(inverseMapping); - } - } - } - return retVal; - } - - private ColumnPair[] reverseCPArray(ColumnPair[] cpa, String primeTable, - String beanName, String fieldName) - throws ConversionException { - int len = (cpa == null) ? 0 : cpa.length; - if (len == 0) { - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_COLUMN_PAIR_MISSING", //NOI18N - beanName, fieldName)); - } - ColumnPair [] retVal = new ColumnPair[len]; - for (int index = 0; index < len; index++) { - retVal[index] = new ColumnPair(); - retVal[index].addColumnName( - qualify(primeTable,cpa[index].getColumnName(1))); - retVal[index].addColumnName( - qualify(primeTable,cpa[index].getColumnName(0))); - } - return retVal; - } - - private String qualify(String tn, String cn) { - int tmp = cn.indexOf('.'); - String retVal = cn; - if (-1 == tmp) - retVal = tn + "." + cn; // NOI18N - return retVal; - } - - private TableElement getTableElement(SchemaElement schema, - DBIdentifier dbId, ConversionHelper helper) - throws DBException, ConversionException { - - TableElement retVal = ((schema != null) ? - schema.getTable(dbId) : null); - - if (null == retVal && !helper.ensureValidation()) { - // Need to create a dummy for invalid mappings because - // the mapping model setter methods don't accept - // strings even though that is what they store. - // Create the table and add it to the knownTables list - // for later - - retVal = new TableElement(); - retVal.setName(dbId); - retVal.setDeclaringSchema(schema); - org.netbeans.modules.dbschema.UniqueKeyElement tkey = - new org.netbeans.modules.dbschema.UniqueKeyElement(); - ColumnElement fakeKeyCol = new ColumnElement(); - fakeKeyCol.setName(DBIdentifier.create(retVal.getName().getName()+ "."+"fookeyng")); //NOI18N - - // Type numeric=2 - fakeKeyCol.setType(2); - fakeKeyCol.setPrecision(Integer.valueOf(MINIMUM_PRECISION)); - tkey.setPrimaryKey(true); - tkey.addColumn(fakeKeyCol); - retVal.addColumn(fakeKeyCol); - retVal.addKey(tkey); - } - if (retVal == null) { - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_INVALID_TABLE", //NOI18N - new Object [] {dbId.getName(), schema})); - } - return retVal; - } - - private ColumnElement getColumnElement(TableElement sourceTableEl, - DBIdentifier sourceColumnName, ConversionHelper helper) - throws DBException, ConversionException { - - ColumnElement aCol = sourceTableEl.getColumn(sourceColumnName); - if (null == aCol && !helper.ensureValidation()) { - aCol = new ColumnElement(); - aCol.setName(DBIdentifier.create(sourceTableEl.getName().toString()+"."+sourceColumnName.toString())); // NOI18N - aCol.setDeclaringTable(sourceTableEl); - aCol.setNullable(true); - } - if (aCol == null) { - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_INVALID_COLUMN", //NOI18N - new Object [] {sourceColumnName, sourceTableEl})); - } - return aCol; - } - - private MappingFieldElement createUnmappedField(MappingClassElement mce, - String beanName, String fieldName) - throws ModelException { - - PersistenceClassElement pce = ((MappingClassElementImpl)mce). - getPersistenceElement(); - PersistenceFieldElementImpl pfei = - new PersistenceFieldElementImpl(fieldName); - PersistenceFieldElement pfe = - new PersistenceFieldElement(pfei, pce); - - pfe.setKey(helper.isKey(beanName,fieldName,false)); - pce.addField(pfe); - MappingFieldElement mfe = new MappingFieldElementImpl(fieldName, mce); - return mfe; - } - - /** - * Set fetch group level for mapping field and mapping relationship - * element. If there is fetch level information, then set mapping field - * element with the level. If there is no fetch group level information, - * set mapping field element to GROUP_NONE if it is mapping relationship - * element or blob type field otherwise set to GROUP_DEFAULT. - * @param fw An object having fetch group level information - * @param mfe An mapping field or mapping relationship element to be set - * fetch group level - * @param fieldMappedToABlob boolean type to indicate that field is blob - * type or not - * @throws ModelException - * @throws ConversionException - */ - private void setFetchGroup(FetchedWith fw, MappingFieldElement mfe, - String beanName, boolean fieldMappedToABlob) - throws ModelException, ConversionException { - if (null != fw) { - boolean tryLevel = false; - int level = 0; - try { - level = fw.getLevel(); - tryLevel = true; - } - catch (RuntimeException e) { - // If there is no level set, schema2beans throws - // RuntimeException. - // Need to do more investigation on why throws this exception. - // it is very likely that there is no level set, which would - // throw an exception here.. Which we are going to ignore - } - if (tryLevel) { - if (level < 1) { - throw new ConversionException( - I18NHelper.getMessage( - messages, - "ERR_INVALID_FG_LEVEL", //NOI18N - beanName, mfe.getName(), ""+level)); //NOI18N - } - mfe.setFetchGroup(level+1); - } - String ig = fw.getNamedGroup(); - if (null != ig) { - Integer fgval = (Integer) namedGroups.get(ig); - if (null == fgval) { - fgval = new Integer(groupCount--); - namedGroups.put(ig,fgval); - } - mfe.setFetchGroup(fgval.intValue()); - } - if (fw.isNone()) - mfe.setFetchGroup(MappingFieldElement.GROUP_NONE); - if (fw.isDefault()) - mfe.setFetchGroup(MappingFieldElement.GROUP_DEFAULT); - } - else { - if (mfe instanceof MappingRelationshipElement) - mfe.setFetchGroup(MappingFieldElement.GROUP_NONE); - else { - if (fieldMappedToABlob) - mfe.setFetchGroup(MappingFieldElement.GROUP_NONE); - else - mfe.setFetchGroup(MappingFieldElement.GROUP_DEFAULT); - } - } - } - - private PersistenceFieldElement createPersistenceField( - MappingClassElement mce, String fieldName) throws ModelException { - PersistenceClassElement pce = - ((MappingClassElementImpl)mce).getPersistenceElement(); - PersistenceFieldElementImpl pfei = - new PersistenceFieldElementImpl(fieldName); - PersistenceFieldElement pfe = - new PersistenceFieldElement(pfei, pce); - pce.addField(pfe); - return pfe; - } - - private MappingFieldElement createMappingField(MappingClassElement mce, - String fieldName, ColumnElement col) throws ModelException { - MappingFieldElement mfe = - new MappingFieldElementImpl(fieldName, mce); - mce.addField(mfe); - if (col != null) - mfe.addColumn(col); - return mfe; - } -} - diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/MappingGenerator.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/MappingGenerator.java deleted file mode 100644 index dbddcca7b71..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/MappingGenerator.java +++ /dev/null @@ -1,653 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * MappingGenerator.java - * - * Created on Aug 18, 2003 - */ - -package com.sun.jdo.api.persistence.mapping.ejb; - -import java.util.*; -import java.sql.Types; -import java.io.IOException; - -import com.sun.jdo.api.persistence.mapping.ejb.beans.*; - -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.mapping.MappingClassElement; -import com.sun.jdo.api.persistence.model.mapping.MappingFieldElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceClassElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; - -import org.glassfish.common.util.StringHelper; -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; - -import com.sun.jdo.spi.persistence.generator.database.DatabaseGenerator; -import com.sun.jdo.spi.persistence.generator.database.MappingPolicy; - -import org.netbeans.modules.dbschema.*; -import org.netbeans.modules.dbschema.jdbcimpl.SchemaElementImpl; - -import org.netbeans.modules.schema2beans.Schema2BeansException; - -/* - * This class will generate mapping classes from sun-cmp-mappings.xml - * and dbschema if they are available in the jar, or it will generate mapping - * classes based on ejb-jar.xml, bean classes and policy by invoking the - * database generation backend. - * - * @author Jie Leng - */ -public class MappingGenerator { - - // Since "_JDOState" is defined as private in IASEjbCMPEntityDescriptor, - // redefined here for passing it in DatabaseGenerator. - private static final String CLASS_SUFFIX = "_JDOState"; // NOI18N - - private static final String FAKE_NAME = "fakename"; // NOI18N - - private final EJBInfoHelper infoHelper; - private final Model model; - private final AbstractNameMapper nameMapper; - private final ClassLoader loader; - private final ConversionHelper ddHelper; - - /** a boolean indicating whether the jdo model and mapping model should - * contain generated fields - */ - private boolean skipGeneratedFields = false; - - //hold strong reference to mapping class elements - private List strongRefs = new ArrayList(); - - /** - * Constructor - * @param infoHelper an instance of an EJBInfoHelper - * @param loader a class loader - * @param skipGeneratedFields a boolean indicating to remove generated - * fields from jdo model and mapping model - */ - public MappingGenerator(EJBInfoHelper infoHelper, - ClassLoader loader, boolean skipGeneratedFields) { - this.infoHelper = infoHelper; - this.model = infoHelper.getModel(); - this.loader = loader; - this.nameMapper = infoHelper.getNameMapper(); - this.ddHelper = infoHelper.createConversionHelper(); - this.skipGeneratedFields = skipGeneratedFields; - } - - protected EJBInfoHelper getInfoHelper() { - return infoHelper; - } - - protected ClassLoader getClassLoader() { - return loader; - } - - protected AbstractNameMapper getNameMapper() { - return nameMapper; - } - - protected ConversionHelper getConversionHelper() { - return ddHelper; - } - - /** - * Create mapping classes and schema based on database vendor name. - * @param dbName a string for database vendor name - * @param uniqueTableNames a Boolean to determin if use unique table names - * during database generation - * @param userPolicy a property object holding user overrides - * @param inputFilesPath a directory where sun-cmp-mappings.xml is located - * @throws IOException - * @throws Schema2BeansException - * @throws ModelException - * @throws DBException - * @throws ConversionException - */ - public DatabaseGenerator.Results generateMappingClasses(String dbName, - Boolean uniqueTableNames, Properties userPolicy, - String inputFilesPath) - throws IOException, Schema2BeansException, ModelException, - DBException, ConversionException { - - // generate mapping classes and dbschema in memory - SunCmpMappings sunCmpMappings = null; - - // sun-cmp-mappings.xml does not exist, use DatabaseGenerator - // to generate sun-cmp-mappings.xml, *.dbschema - - List pcClasses = new ArrayList(); - sunCmpMappings = getPartialSunCmpMappings(pcClasses, - (uniqueTableNames != null)? uniqueTableNames.booleanValue() : false); - - // load real jdo model and fake mapping model in memory - ddHelper.setEnsureValidation(false); - - // create fake schema for partial mapping - SchemaElement fakeSchema = new SchemaElement(new SchemaElementImpl()); - fakeSchema.setName(DBIdentifier.create(FAKE_NAME)); - - // add newly created fake schema to SchemaElement cache - SchemaElement.addToCache(fakeSchema); - - // pass null as class loader in order for MappingFile to load schema - // from cache not from disk. - loadMappingClasses(sunCmpMappings, null); - - DatabaseGenerator.Results results = generateSchema(pcClasses, - dbName, uniqueTableNames, userPolicy); - - SchemaElement schema = results.getSchema(); - Set mappingClasses = results.getMappingClasses(); - - // remove fake schema from cache since the correct schema is generated. - SchemaElement.removeFromCache(FAKE_NAME); - - // clean up old version of schema in SchemaElement cache - // if there is one - SchemaElement.removeFromCache(schema.getName().getName()); - - // add newly created schema to SchemaElement cache - SchemaElement.addToCache(schema); - - // update mapping classes - updateMappingClasses(mappingClasses); - - // If skipGeneratedFields is set to true, the generated fields should - // not be kept in jdo model and mapping model. - // Remove generated fields from jdo model and mapping - // model before returning the result. - if (skipGeneratedFields) { - Iterator iter = mappingClasses.iterator(); - while (iter.hasNext()) { - MappingClassElement mapClassElt = (MappingClassElement)iter.next(); - if (mapClassElt != null) { - String className = mapClassElt.getName(); - String ejbName = nameMapper.getEjbNameForPersistenceClass( - className); - - PersistenceClassElement pce = (PersistenceClassElement) - model.getPersistenceClass(className); - PersistenceFieldElement[] allFields = pce.getFields(); - if (allFields != null) { - List generatedFieldList = new ArrayList(); - - // In order to avoid concurrentmod exception, - // loop through all persistence fields to put generated - // fields in a list, loop though the list to remove - // the generated fields from the model. - for (int i = 0; i < allFields.length; i++) { - PersistenceFieldElement pfe = allFields[i]; - if (pfe != null) { - String pFieldName = pfe.getName(); - String ejbFieldName = nameMapper. - getEjbFieldForPersistenceField(className, - pFieldName); - if (nameMapper.isGeneratedField(ejbName, - ejbFieldName)) { - generatedFieldList.add(pfe); - } - } - } - - // If the field is a version field, don't remove it - // from the model even though it is generated because - // it is needed to hold the version column information. - Iterator iterator = generatedFieldList.iterator(); - while (iterator.hasNext()) { - PersistenceFieldElement pfe = - (PersistenceFieldElement)iterator.next(); - MappingFieldElement mfe = mapClassElt. - getField(pfe.getName()); - if (mfe != null && (!mfe.isVersion())) { - model.removeFieldElement(pfe); - mapClassElt.removeField(mfe); - } - } - } - } - } - } - - return results; - } - - /** - * load mapping classes from SunCmpMappings object - * @param sunMapping a SunCmpMappings object representing - * sun-cmp-mappings.xml in memory - * @param classLoader a class loader object - * @return a map object containing ejb names and mapping classes - * @throws DBException - * @throws ModelException - * @throws ConversionException - */ - protected Map loadMappingClasses(SunCmpMappings sunMapping, - ClassLoader classLoader) - throws DBException, ModelException, ConversionException { - MappingFile mapFile = new MappingFile(classLoader); - - Map allMappings = mapFile.intoMappingClasses(sunMapping, ddHelper); - - updateMappingClasses(allMappings.values()); - - return allMappings; - } - - /** - * Clean up strong reference. It should be called by end of deployment - * or deploytool. - */ - public void cleanup() { - // Remove the strong references to MappingClassElements - // needed during deployment. The mapping class cache - // can now be cleaned up by the garbage collector. - strongRefs.clear(); - } - - /** - * Call DatabaseGenerator to generate database model and mapping model - * @param pcClasses a list of DatabaseGenerator.GeneratorNameTuple objects - * @param dbVendorName the string of database name - * @param useUniqueTableNames the string to determine use of unique table - * names for database generation - * @param userPolicy the property having user defined mappings between - * class field and jdbc type - * @return DatabaseGenerator.Results contains mapping classes and schema - * @throws IOException - * @throws DBException - * @throws ModelException - */ - private DatabaseGenerator.Results generateSchema(List pcClasses, - String dbName, Boolean useUniqueTableNames, - Properties userPolicy) - throws IOException, DBException, ModelException { - - MappingPolicy mappingPolicy = MappingPolicy.getMappingPolicy(dbName); - mappingPolicy.setUserPolicy(userPolicy); - - if (useUniqueTableNames != null) { - // It was explicitly set. - mappingPolicy.setUniqueTableName(useUniqueTableNames.booleanValue()); - } - - return DatabaseGenerator.generate( - model, pcClasses, mappingPolicy, - infoHelper.getSchemaNameToGenerate(), CLASS_SUFFIX, true); - } - - /** - * Puts mapping classes into model's cache - * @param mappingClasses a collection of mapping classes - */ - private void updateMappingClasses(Collection mappingClasses) { - Iterator iter = mappingClasses.iterator(); - while (iter.hasNext()) { - MappingClassElement mapClassElt = (MappingClassElement)iter.next(); - //put it in the models' cache - model.updateKeyForClass(mapClassElt, null); - //keep a strong ref - strongRefs.add(mapClassElt); - } - } - - /** - * Generates partial sun-cmp-mapping (contains fake table name and - * fake column name) for MappingFile.intoMappings() - * @param pcClasses a list of DatabaseGenerator.NameTuple objects - * @param useUniqueTableNames a boolean to determine whether to use - * unique table names during database generation - * @return a SunCmpMappings object - * @throws Schema2BeansException - */ - private SunCmpMappings getPartialSunCmpMappings(List pcClasses, - boolean useUniqueTableNames) throws Schema2BeansException { - - // Create a new name mapper with perisistence class name differing - // from bean name if useUniqueTableName flag is true. - // So persistence class name can be used for unique table name. - AbstractNameMapper nameMapper2 = (useUniqueTableNames) ? - infoHelper.createUniqueNameMapper() : nameMapper; - - SunCmpMappings mappings = null; - mappings = new SunCmpMappings(); - SunCmpMapping mapping = new SunCmpMapping(); - mapping.setSchema(FAKE_NAME); - - Iterator iter = infoHelper.getEjbNames().iterator(); - while (iter.hasNext()) { - String ejbName = (String)iter.next(); - String pcClass = ddHelper.getMappedClassName(ejbName); - String hashClassName = JavaTypeHelper.getShortClassName(pcClass); - - // Make sure hash class name differs from ejb name - // if useUniqueTableName flag is true. - // if useUniqueTableName flag is false, ejb name is used for - // table name and hash class name is ignored. - if (useUniqueTableNames && hashClassName.equals(ejbName)) { - hashClassName = JavaTypeHelper.getShortClassName( - nameMapper2.getPersistenceClassForEjbName(ejbName)); - pcClasses.add(new DatabaseGenerator.NameTuple( - pcClass, ejbName, hashClassName)); - } - else { - pcClasses.add(new DatabaseGenerator.NameTuple( - pcClass, ejbName)); - } - - EntityMapping entity = new EntityMapping(); - entity.setEjbName(ejbName); - entity.setTableName(FAKE_NAME); - Collection fields = infoHelper.getFieldsForEjb(ejbName); - Collection rels = infoHelper.getRelationshipsForEjb(ejbName); - fields.removeAll(rels); - // cmp field - Iterator fIter = fields.iterator(); - while (fIter.hasNext()) { - String fieldName = (String)fIter.next(); - CmpFieldMapping cmpField = new CmpFieldMapping(); - cmpField.setFieldName(fieldName); - cmpField.addColumnName(FAKE_NAME); - entity.addCmpFieldMapping(cmpField); - } - // cmr field - fIter = rels.iterator(); - while (fIter.hasNext()) { - String fieldName = (String)fIter.next(); - CmrFieldMapping cmrField = new CmrFieldMapping(); - cmrField.setCmrFieldName(fieldName); - ColumnPair columnPair = new ColumnPair(); - columnPair.addColumnName(FAKE_NAME); - columnPair.addColumnName(FAKE_NAME); - cmrField.addColumnPair(columnPair); - entity.addCmrFieldMapping(cmrField); - } - mapping.addEntityMapping(entity); - } - - mappings.addSunCmpMapping(mapping); - - return mappings; - } - - /** - * Returns true if the specified propertyValue represents - * a defined value, false otherwise. This implementation - * returns true if the value is not empty, but subclasses - * may override this method to compare to a constant which represents an - * undefined value. - * @param propertyValue the value to be tested for defined - * @return true if the specified propertyValue represents - * a defined value, false otherwise - */ - protected boolean isPropertyDefined(String propertyValue) { - return !StringHelper.isEmpty(propertyValue); - } - - /** - * Update column in the SchemaElement with jdbc type and its length, - * scale and precision. - * @param column a ColumnElement to be updated - * @param jdbcType jdbc type from java.sql.Types - * @param length an Integer for length or null - * if it does not apply - * @param scale an Integer for scale or null - * if it does not apply - * @param precision an Integer for precision or null - * if it does not apply - */ - public static void updateColumn(ColumnElement column, int jdbcType, - Integer length, Integer scale, Integer precision) - throws DBException { - - column.setType(jdbcType); - column.setLength(length); - column.setScale(scale); - column.setPrecision(precision); - } - - /** - * This method updates properties which stores user override policy. - * @param prop the property for user override - * @param className a string for bean class - * @param fieldName a string for field - * @param jdbcType jdbc type from java.sql.Types - * @param length an Integer for length or null - * if it does not apply - * @param scale an Integer for scale or null - * if it does not apply - * @param precision an Integer for precision or null - * if it does not apply - */ - public static void updateProperties(Properties prop, String className, - String fieldName, int jdbcType, Integer length, Integer scale, - Integer precision) { - - prop.setProperty( - MappingPolicy.getOverrideForType(className, fieldName), - MappingPolicy.getJdbcTypeName(jdbcType)); - - updateProperty(prop, MappingPolicy.getOverrideForLength( - className, fieldName), length); - - updateProperty(prop, MappingPolicy.getOverrideForScale( - className, fieldName), scale); - - updateProperty(prop, MappingPolicy.getOverrideForPrecision( - className, fieldName), precision); - } - - /** - * This method updates property. If the value is not null, - * update the property. If the value is null, - * remove the property. - * @param prop a property object which needs to be updated - * @param key a key for the property - * @param value a value for the propety - */ - private static void updateProperty(Properties prop, String key, - Integer value) { - if (value != null) { - prop.setProperty(key, value.toString()); - } - else { - prop.remove(key); - } - } - - /** - * The contents of this class will eventually be added to SQLTypeUtil - * in dbmodel. It is an util class which provides methods for jdbc type - * compatible and jdbc attribute. - */ - public static class SQLTypeUtil { - - private static final Map characterMap = new HashMap(); - private static final Map numericMap = new HashMap(); - private static final Map blobMap = new HashMap(); - private static final Map timeMap = new HashMap(); - - private static final String NONE_ATTRIBUTE = "none"; - private static final String LENGTH_ATTRIBUTE = "length"; - private static final String SCALE_ATTRIBUTE = "scale"; - private static final String SCALE_PRECISION_ATTRIBUTE = "scale-precision"; - - static { - characterMap.put(new Integer(Types.CHAR), LENGTH_ATTRIBUTE); - characterMap.put(new Integer(Types.VARCHAR), LENGTH_ATTRIBUTE); - characterMap.put(new Integer(Types.CLOB), LENGTH_ATTRIBUTE); - - numericMap.put(new Integer(Types.BIT), NONE_ATTRIBUTE); - numericMap.put(new Integer(Types.TINYINT), NONE_ATTRIBUTE); - numericMap.put(new Integer(Types.SMALLINT), NONE_ATTRIBUTE); - numericMap.put(new Integer(Types.BIGINT), NONE_ATTRIBUTE); - numericMap.put(new Integer(Types.INTEGER), NONE_ATTRIBUTE); - numericMap.put(new Integer(Types.DOUBLE), NONE_ATTRIBUTE); - numericMap.put(new Integer(Types.DECIMAL), SCALE_PRECISION_ATTRIBUTE); - numericMap.put(new Integer(Types.REAL), NONE_ATTRIBUTE); - - blobMap.put(new Integer(Types.BLOB), LENGTH_ATTRIBUTE); - - timeMap.put(new Integer(Types.DATE), NONE_ATTRIBUTE); - timeMap.put(new Integer(Types.TIME), NONE_ATTRIBUTE); - timeMap.put(new Integer(Types.TIMESTAMP), NONE_ATTRIBUTE); - } - - /** Returns if the given data type is numeric type or not. - * @param jdbcType the type from java.sql.Types - * @return true if the given type is numeric type; - * false otherwise - */ - public static boolean isNumeric (int jdbcType) { - return checkType(jdbcType, numericMap); - } - - /** Returns if the given data type is character type or not. - * @param jdbcType the type from java.sql.Types - * @return true if the given type is character type; - * false otherwise - */ - public static boolean isCharacter (int jdbcType) { - return checkType(jdbcType, characterMap); - } - - /** Returns if a given data type is blob type or not. - * @param jdbcType the type from java.sql.Types - * @return true if the give type is blob type; - * false otherwise - */ - public static boolean isBlob (int jdbcType) { - return checkType(jdbcType, blobMap); - } - - /** Returns if a given data type is time type or not. - * @param jdbcType the type from java.sql.Types - * @return true if the give type is time type; - * false otherwise - */ - public static boolean isTime (int jdbcType) { - return checkType(jdbcType, timeMap); - } - - private static boolean checkType(int jdbcType, Map jdbcTypes) { - return jdbcTypes.containsKey(Integer.valueOf(jdbcType)); - } - - /** Returns a collection of compatible jdbc types. - * @param jdbcType the type from java.sql.Types - * @return a collection of compatible jdbc types - */ - public static Collection getCompatibleTypes(int jdbcType) { - if (isNumeric(jdbcType)) { - return numericMap.keySet(); - } - else if (isCharacter(jdbcType)) { - return characterMap.keySet(); - } - else if (isBlob(jdbcType)) { - return blobMap.keySet(); - } - else if (isTime(jdbcType)) { - return timeMap.keySet(); - } - return null; - } - - /** - * This method returns true if the jdbc type has scale. - * @param jdbcType a jdbc type from java.sql.Types - * @return true if the type has scale; - * false otherwise - */ - public static boolean hasScale(int jdbcType) { - if (getAttribute(jdbcType).equals(SCALE_ATTRIBUTE) - || getAttribute(jdbcType).equals(SCALE_PRECISION_ATTRIBUTE)) - return true; - return false; - } - - /** - * This method returns true if the jdbc type has precision. - * If the jdbc type has the precision, it means it also has scale. - * @param jdbcType a jdbc type from java.sql.Types - * @return true if the type has precision; - * false otherwise - */ - public static boolean hasPrecision(int jdbcType) { - if (getAttribute(jdbcType).equals(SCALE_PRECISION_ATTRIBUTE)) - return true; - return false; - } - - /** - * This method returns true if the jdbc type has length - * @param jdbcType a jdbc type from java.sql.Types - * @return true if the type has length; - * false otherwise - */ - public static boolean hasLength(int jdbcType) { - if (getAttribute(jdbcType).equals(LENGTH_ATTRIBUTE)) - return true; - return false; - } - - private static String getAttribute(int jdbcType) { - if (isNumeric(jdbcType)) { - return (String)numericMap.get(Integer.valueOf(jdbcType)); - } - else if (isCharacter(jdbcType)) { - return (String)characterMap.get(Integer.valueOf(jdbcType)); - } - else if (isBlob(jdbcType)) { - return (String)blobMap.get(Integer.valueOf(jdbcType)); - } - else if (isTime(jdbcType)) { - return (String)timeMap.get(Integer.valueOf(jdbcType)); - } - return NONE_ATTRIBUTE; - } - } -} diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/SunCmpMappingsUtils.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/SunCmpMappingsUtils.java deleted file mode 100644 index 2b3bd42d0af..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/SunCmpMappingsUtils.java +++ /dev/null @@ -1,199 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] [Payara Foundation and/or its affiliates] -package com.sun.jdo.api.persistence.mapping.ejb; - -import java.util.ArrayList; -import java.util.List; -import java.util.ResourceBundle; - -import org.netbeans.modules.schema2beans.BaseBean; -import org.netbeans.modules.schema2beans.GraphManager; -import org.netbeans.modules.schema2beans.BaseProperty; - -import com.sun.jdo.api.persistence.mapping.ejb.beans.*; - - -/** Finder utilities for elements of the SunCmpMappings - * object graph. - * @author vkraemer - */ -public class SunCmpMappingsUtils { - private static ResourceBundle bundle = - ResourceBundle.getBundle("com.sun.jdo.api.persistence.mapping.ejb.Bundle"); //NOI18N - - - /** Creates a new instance of SunCmpMappingsUtils */ - private SunCmpMappingsUtils() { - } - - /** Return the first SunCmpMapping element from the graph. - * @param scms The root of a SunCmpMappings object graph - * @param addEmpty flag to add an empty version of the SunCmpMapping element to the graph if one is - * not found. - * @return The first SunCmpMapping element in the graph or null if it doesn't exists and - * addEmpty is false. - */ - public static SunCmpMapping getFirstSunCmpMapping(SunCmpMappings scms, boolean addEmpty) { - SunCmpMapping retVal = null; - if (0 < scms.sizeSunCmpMapping()) - retVal = scms.getSunCmpMapping(0); - if ((null == retVal) && addEmpty) { - retVal = new SunCmpMapping(); - scms.addSunCmpMapping(retVal); - } - return retVal; - } - - - /** Find the EntityMapping element that correspond to a bean. - * @return the EntityMapping element, or null if addEmpty is false and the EntityMapping is not - * found. - * @param scms the root of the SunCmpMappings graph - * @param bname The value of the ejb-name element for a bean in the graph - * @param addEmpty flag to add an empty version of the EntityMapping element to the graph if one is - * not found. - * @throws IllegalArgumentException if more than one EntityMapping element has an ejb-name element with the matching - * value - */ - public static EntityMapping findEntityMapping(SunCmpMappings scms, String bname, boolean addEmpty) throws IllegalArgumentException { - EntityMapping retVal = (EntityMapping) findSingleCompatibleBean( - "scms", scms, "bname", bname, "ejb-name", EntityMapping.class); // NOI18N - if ((null == retVal) && addEmpty) { - retVal = new EntityMapping(); - retVal.setEjbName(bname); - SunCmpMapping scm = getFirstSunCmpMapping(scms, addEmpty); - scm.addEntityMapping(retVal); - } - return retVal; - } - - /** Find the cmr-field-mapping element for a field in an EntityMapping object - * @return the CmrFieldMapping element or null if addEmpty is false and the field is not - * found. - * @param em The root of the search - * @param fname the name of the field - * @param addEmpty flag to add an empty version of the CmrFieldMapping element to the graph if one is - * not found. - * @throws IllegalArgumentException If there is more than one cmr-field with a matching cmr-field-name element in - * the EntityMapping graph. - */ - public static CmrFieldMapping findCmrFieldMapping(EntityMapping em, String fname, boolean addEmpty) throws IllegalArgumentException { - CmrFieldMapping retVal = (CmrFieldMapping) findSingleCompatibleBean( - "em", em, "fname", fname, "cmr-field-name", CmrFieldMapping.class); // NOI18N - if ((null == retVal) && addEmpty) { - retVal = new CmrFieldMapping(); - retVal.setCmrFieldName(fname); - em.addCmrFieldMapping(retVal); - } - return retVal; - } - - /** Find the CmpFieldMapping element with a matching field-name element value - * @return The CmpFieldMapping element or null if addEmpty is false and the field is not - * found. - * @param em the root of the search - * @param fname the value of the field-name element - * @param addEmpty flag to add an empty version of the CmpFieldMapping element to the graph if one is - * not found. - * @throws IllegalArgumentException If there is more than one cmp-field with a matching field-name element in - * the EntityMapping graph. - */ - public static CmpFieldMapping findCmpFieldMapping(EntityMapping em, String fname, boolean addEmpty) throws IllegalArgumentException { - CmpFieldMapping retVal = (CmpFieldMapping) findSingleCompatibleBean( - "em", em, "fname", fname, "field-name", CmpFieldMapping.class); // NOI18N - if ((null == retVal) && addEmpty) { - retVal = new CmpFieldMapping(); - retVal.setFieldName(fname); - em.addCmpFieldMapping(retVal); - } - return retVal; - } - - /** helper method */ - private static BaseBean findSingleCompatibleBean(String argOneName, BaseBean argOne, String argTwoName, - String argTwo, String propName, Class type) { - BaseBean retVal = null; - if (null == argTwo || argTwo.length() < 1) - throw new IllegalArgumentException(argTwoName); - - List l = findCompatibleBeansWithValue(argOne, propName, argTwo, - type); - if (null != l) { - if (l.size() == 1) - retVal = (BaseBean) l.get(0); - else if (l.size() > 1) - throw new IllegalArgumentException(argOneName); - } - return retVal; - } - - /** A utility for finding beans in a graph of BaseBean objects. - * - * Search the bean graph, starting at a given root, for beans where the named - * property has the given value. The returned list is filtered by assignment - * compatibility. - * @return The assignment compatible BaseBeans that were found. - * @param root The root of a search - * @param propName The name of the element - * @param propVal the value of the element - * @param type The expected type of the value to be returned. - * @throws IllegalArgumentException If the bean is not part of a complete bean graph. - */ - protected static List findCompatibleBeansWithValue(BaseBean root, String propName, String propVal, Class type) throws IllegalArgumentException { - GraphManager gm = root.graphManager(); - if (null == gm) { - throw new IllegalArgumentException(bundle.getString("ERR_DISCONNECTED_NOT_SUPPORTED")); - } - String[] props = root.findPropertyValue(propName, propVal); - if (props == null) { - return null; - } - List retVal = new ArrayList<>(); - for (int i = 0; i < props.length; i++) { - // get the bean that is the property's parent. - BaseBean candidate = gm.getPropertyParent(props[i]); - if (type.isInstance(candidate)) { - retVal.add(candidate); - } - } - return retVal; - } -} diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CheckVersionOfAccessedInstances.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CheckVersionOfAccessedInstances.java deleted file mode 100644 index 6fff8677c45..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CheckVersionOfAccessedInstances.java +++ /dev/null @@ -1,301 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.mapping.ejb.beans; - -import org.netbeans.modules.schema2beans.Common; - -import java.util.Vector; - -// BEGIN_NOI18N - -public class CheckVersionOfAccessedInstances extends org.netbeans.modules.schema2beans.BaseBean -{ - - static Vector comparators = new Vector(); - private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(5, 0, 0); - - static public final String COLUMN_NAME = "ColumnName"; // NOI18N - - public CheckVersionOfAccessedInstances() { - this(Common.USE_DEFAULT_VALUES); - } - - public CheckVersionOfAccessedInstances(int options) - { - super(comparators, runtimeVersion); - // Properties (see root bean comments for the bean graph) - initPropertyTables(1); - this.createProperty("column-name", // NOI18N - COLUMN_NAME, - Common.TYPE_1_N | Common.TYPE_STRING | Common.TYPE_KEY, - String.class); - this.initialize(options); - } - - // Setting the default values of the properties - void initialize(int options) { - - } - - // This attribute is an array containing at least one element - public void setColumnName(int index, String value) { - this.setValue(COLUMN_NAME, index, value); - } - - // - public String getColumnName(int index) { - return (String)this.getValue(COLUMN_NAME, index); - } - - // Return the number of properties - public int sizeColumnName() { - return this.size(COLUMN_NAME); - } - - // This attribute is an array containing at least one element - public void setColumnName(String[] value) { - this.setValue(COLUMN_NAME, value); - } - - // - public String[] getColumnName() { - return (String[])this.getValues(COLUMN_NAME); - } - - // Add a new element returning its index in the list - public int addColumnName(String value) { - int positionOfNewItem = this.addValue(COLUMN_NAME, value); - return positionOfNewItem; - } - - // - // Remove an element using its reference - // Returns the index the element had in the list - // - public int removeColumnName(String value) { - return this.removeValue(COLUMN_NAME, value); - } - - // - public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.add(c); - } - - // - public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.remove(c); - } - public void validate() throws org.netbeans.modules.schema2beans.ValidateException { - boolean restrictionFailure = false; - boolean restrictionPassed = false; - // Validating property columnName - if (sizeColumnName() == 0) { - throw new org.netbeans.modules.schema2beans.ValidateException("sizeColumnName() == 0", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "columnName", this); // NOI18N - } - } - - // Dump the content of this bean returning it as a String - public void dump(StringBuffer str, String indent){ - String s; - Object o; - org.netbeans.modules.schema2beans.BaseBean n; - str.append(indent); - str.append("ColumnName["+this.sizeColumnName()+"]"); // NOI18N - for(int i=0; i\n"); // NOI18N - this.dumpAttributes(COLUMN_NAME, i, str, indent); - } - - } - public String dumpBeanNode(){ - StringBuffer str = new StringBuffer(); - str.append("CheckVersionOfAccessedInstances\n"); // NOI18N - this.dump(str, "\n "); // NOI18N - return str.toString(); - }} - -// END_NOI18N - - -/* - The following schema file has been used for generation: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CmpFieldMapping.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CmpFieldMapping.java deleted file mode 100644 index 8c4eb9cb05d..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CmpFieldMapping.java +++ /dev/null @@ -1,391 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.mapping.ejb.beans; - -import org.netbeans.modules.schema2beans.Common; - -import java.util.Vector; - -// BEGIN_NOI18N - -public class CmpFieldMapping extends org.netbeans.modules.schema2beans.BaseBean - implements com.sun.jdo.api.persistence.mapping.ejb.HasFetchedWith -{ - - static Vector comparators = new Vector(); - private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(5, 0, 0); - - static public final String FIELD_NAME = "FieldName"; // NOI18N - static public final String COLUMN_NAME = "ColumnName"; // NOI18N - static public final String READ_ONLY = "ReadOnly"; // NOI18N - static public final String FETCHED_WITH = "FetchedWith"; // NOI18N - - public CmpFieldMapping() { - this(Common.USE_DEFAULT_VALUES); - } - - public CmpFieldMapping(int options) - { - super(comparators, runtimeVersion); - // Properties (see root bean comments for the bean graph) - initPropertyTables(4); - this.createProperty("field-name", // NOI18N - FIELD_NAME, - Common.TYPE_1 | Common.TYPE_STRING | Common.TYPE_KEY, - String.class); - this.createProperty("column-name", // NOI18N - COLUMN_NAME, - Common.TYPE_1_N | Common.TYPE_STRING | Common.TYPE_KEY, - String.class); - this.createProperty("read-only", // NOI18N - READ_ONLY, - Common.TYPE_0_1 | Common.TYPE_BOOLEAN | Common.TYPE_KEY, - Boolean.class); - this.createProperty("fetched-with", // NOI18N - FETCHED_WITH, - Common.TYPE_0_1 | Common.TYPE_BEAN | Common.TYPE_KEY, - FetchedWith.class); - this.initialize(options); - } - - // Setting the default values of the properties - void initialize(int options) { - - } - - // This attribute is mandatory - public void setFieldName(String value) { - this.setValue(FIELD_NAME, value); - } - - // - public String getFieldName() { - return (String)this.getValue(FIELD_NAME); - } - - // This attribute is an array containing at least one element - public void setColumnName(int index, String value) { - this.setValue(COLUMN_NAME, index, value); - } - - // - public String getColumnName(int index) { - return (String)this.getValue(COLUMN_NAME, index); - } - - // Return the number of properties - public int sizeColumnName() { - return this.size(COLUMN_NAME); - } - - // This attribute is an array containing at least one element - public void setColumnName(String[] value) { - this.setValue(COLUMN_NAME, value); - } - - // - public String[] getColumnName() { - return (String[])this.getValues(COLUMN_NAME); - } - - // Add a new element returning its index in the list - public int addColumnName(String value) { - int positionOfNewItem = this.addValue(COLUMN_NAME, value); - return positionOfNewItem; - } - - // - // Remove an element using its reference - // Returns the index the element had in the list - // - public int removeColumnName(String value) { - return this.removeValue(COLUMN_NAME, value); - } - - // This attribute is optional - public void setReadOnly(boolean value) { - this.setValue(READ_ONLY, (value ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE)); - } - - // - public boolean isReadOnly() { - Boolean ret = (Boolean)this.getValue(READ_ONLY); - if (ret == null) - ret = (Boolean)Common.defaultScalarValue(Common.TYPE_BOOLEAN); - return ((java.lang.Boolean)ret).booleanValue(); - } - - // This attribute is optional - public void setFetchedWith(FetchedWith value) { - this.setValue(FETCHED_WITH, value); - } - - // - public FetchedWith getFetchedWith() { - return (FetchedWith)this.getValue(FETCHED_WITH); - } - - /** - * Create a new bean using it's default constructor. - * This does not add it to any bean graph. - */ - public FetchedWith newFetchedWith() { - return new FetchedWith(); - } - - // - public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.add(c); - } - - // - public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.remove(c); - } - public void validate() throws org.netbeans.modules.schema2beans.ValidateException { - boolean restrictionFailure = false; - boolean restrictionPassed = false; - // Validating property fieldName - if (getFieldName() == null) { - throw new org.netbeans.modules.schema2beans.ValidateException("getFieldName() == null", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "fieldName", this); // NOI18N - } - // Validating property columnName - if (sizeColumnName() == 0) { - throw new org.netbeans.modules.schema2beans.ValidateException("sizeColumnName() == 0", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "columnName", this); // NOI18N - } - // Validating property readOnly - // Validating property fetchedWith - if (getFetchedWith() != null) { - getFetchedWith().validate(); - } - } - - // Dump the content of this bean returning it as a String - public void dump(StringBuffer str, String indent){ - String s; - Object o; - org.netbeans.modules.schema2beans.BaseBean n; - str.append(indent); - str.append("FieldName"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append("<"); // NOI18N - o = this.getFieldName(); - str.append((o==null?"null":o.toString().trim())); // NOI18N - str.append(">\n"); // NOI18N - this.dumpAttributes(FIELD_NAME, 0, str, indent); - - str.append(indent); - str.append("ColumnName["+this.sizeColumnName()+"]"); // NOI18N - for(int i=0; i\n"); // NOI18N - this.dumpAttributes(COLUMN_NAME, i, str, indent); - } - - str.append(indent); - str.append("ReadOnly"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append((this.isReadOnly()?"true":"false")); - this.dumpAttributes(READ_ONLY, 0, str, indent); - - str.append(indent); - str.append("FetchedWith"); // NOI18N - n = (org.netbeans.modules.schema2beans.BaseBean) this.getFetchedWith(); - if (n != null) - n.dump(str, indent + "\t"); // NOI18N - else - str.append(indent+"\tnull"); // NOI18N - this.dumpAttributes(FETCHED_WITH, 0, str, indent); - - } - public String dumpBeanNode(){ - StringBuffer str = new StringBuffer(); - str.append("CmpFieldMapping\n"); // NOI18N - this.dump(str, "\n "); // NOI18N - return str.toString(); - }} - -// END_NOI18N - - -/* - The following schema file has been used for generation: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CmrFieldMapping.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CmrFieldMapping.java deleted file mode 100644 index 058e2c08411..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/CmrFieldMapping.java +++ /dev/null @@ -1,380 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.mapping.ejb.beans; - -import org.netbeans.modules.schema2beans.Common; - -import java.util.Vector; - -// BEGIN_NOI18N - -public class CmrFieldMapping extends org.netbeans.modules.schema2beans.BaseBean - implements com.sun.jdo.api.persistence.mapping.ejb.HasFetchedWith -{ - - static Vector comparators = new Vector(); - private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(5, 0, 0); - - static public final String CMR_FIELD_NAME = "CmrFieldName"; // NOI18N - static public final String COLUMN_PAIR = "ColumnPair"; // NOI18N - static public final String FETCHED_WITH = "FetchedWith"; // NOI18N - - public CmrFieldMapping() { - this(Common.USE_DEFAULT_VALUES); - } - - public CmrFieldMapping(int options) - { - super(comparators, runtimeVersion); - // Properties (see root bean comments for the bean graph) - initPropertyTables(3); - this.createProperty("cmr-field-name", // NOI18N - CMR_FIELD_NAME, - Common.TYPE_1 | Common.TYPE_STRING | Common.TYPE_KEY, - String.class); - this.createProperty("column-pair", // NOI18N - COLUMN_PAIR, - Common.TYPE_1_N | Common.TYPE_BEAN | Common.TYPE_KEY, - ColumnPair.class); - this.createProperty("fetched-with", // NOI18N - FETCHED_WITH, - Common.TYPE_0_1 | Common.TYPE_BEAN | Common.TYPE_KEY, - FetchedWith.class); - this.initialize(options); - } - - // Setting the default values of the properties - void initialize(int options) { - - } - - // This attribute is mandatory - public void setCmrFieldName(String value) { - this.setValue(CMR_FIELD_NAME, value); - } - - // - public String getCmrFieldName() { - return (String)this.getValue(CMR_FIELD_NAME); - } - - // This attribute is an array containing at least one element - public void setColumnPair(int index, ColumnPair value) { - this.setValue(COLUMN_PAIR, index, value); - } - - // - public ColumnPair getColumnPair(int index) { - return (ColumnPair)this.getValue(COLUMN_PAIR, index); - } - - // Return the number of properties - public int sizeColumnPair() { - return this.size(COLUMN_PAIR); - } - - // This attribute is an array containing at least one element - public void setColumnPair(ColumnPair[] value) { - this.setValue(COLUMN_PAIR, value); - } - - // - public ColumnPair[] getColumnPair() { - return (ColumnPair[])this.getValues(COLUMN_PAIR); - } - - // Add a new element returning its index in the list - public int addColumnPair(com.sun.jdo.api.persistence.mapping.ejb.beans.ColumnPair value) { - int positionOfNewItem = this.addValue(COLUMN_PAIR, value); - return positionOfNewItem; - } - - // - // Remove an element using its reference - // Returns the index the element had in the list - // - public int removeColumnPair(com.sun.jdo.api.persistence.mapping.ejb.beans.ColumnPair value) { - return this.removeValue(COLUMN_PAIR, value); - } - - // This attribute is optional - public void setFetchedWith(FetchedWith value) { - this.setValue(FETCHED_WITH, value); - } - - // - public FetchedWith getFetchedWith() { - return (FetchedWith)this.getValue(FETCHED_WITH); - } - - /** - * Create a new bean using it's default constructor. - * This does not add it to any bean graph. - */ - public ColumnPair newColumnPair() { - return new ColumnPair(); - } - - /** - * Create a new bean using it's default constructor. - * This does not add it to any bean graph. - */ - public FetchedWith newFetchedWith() { - return new FetchedWith(); - } - - // - public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.add(c); - } - - // - public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.remove(c); - } - public void validate() throws org.netbeans.modules.schema2beans.ValidateException { - boolean restrictionFailure = false; - boolean restrictionPassed = false; - // Validating property cmrFieldName - if (getCmrFieldName() == null) { - throw new org.netbeans.modules.schema2beans.ValidateException("getCmrFieldName() == null", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "cmrFieldName", this); // NOI18N - } - // Validating property columnPair - if (sizeColumnPair() == 0) { - throw new org.netbeans.modules.schema2beans.ValidateException("sizeColumnPair() == 0", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "columnPair", this); // NOI18N - } - for (int _index = 0; _index < sizeColumnPair(); ++_index) { - com.sun.jdo.api.persistence.mapping.ejb.beans.ColumnPair element = getColumnPair(_index); - if (element != null) { - element.validate(); - } - } - // Validating property fetchedWith - if (getFetchedWith() != null) { - getFetchedWith().validate(); - } - } - - // Dump the content of this bean returning it as a String - public void dump(StringBuffer str, String indent){ - String s; - Object o; - org.netbeans.modules.schema2beans.BaseBean n; - str.append(indent); - str.append("CmrFieldName"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append("<"); // NOI18N - o = this.getCmrFieldName(); - str.append((o==null?"null":o.toString().trim())); // NOI18N - str.append(">\n"); // NOI18N - this.dumpAttributes(CMR_FIELD_NAME, 0, str, indent); - - str.append(indent); - str.append("ColumnPair["+this.sizeColumnPair()+"]"); // NOI18N - for(int i=0; i - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/ColumnPair.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/ColumnPair.java deleted file mode 100644 index 57f0684fc45..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/ColumnPair.java +++ /dev/null @@ -1,301 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.mapping.ejb.beans; - -import org.netbeans.modules.schema2beans.Common; - -import java.util.Vector; - -// BEGIN_NOI18N - -public class ColumnPair extends org.netbeans.modules.schema2beans.BaseBean -{ - - static Vector comparators = new Vector(); - private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(5, 0, 0); - - static public final String COLUMN_NAME = "ColumnName"; // NOI18N - - public ColumnPair() { - this(Common.USE_DEFAULT_VALUES); - } - - public ColumnPair(int options) - { - super(comparators, runtimeVersion); - // Properties (see root bean comments for the bean graph) - initPropertyTables(1); - this.createProperty("column-name", // NOI18N - COLUMN_NAME, - Common.TYPE_1_N | Common.TYPE_STRING | Common.TYPE_KEY, - String.class); - this.initialize(options); - } - - // Setting the default values of the properties - void initialize(int options) { - - } - - // This attribute is an array containing at least one element - public void setColumnName(int index, String value) { - this.setValue(COLUMN_NAME, index, value); - } - - // - public String getColumnName(int index) { - return (String)this.getValue(COLUMN_NAME, index); - } - - // Return the number of properties - public int sizeColumnName() { - return this.size(COLUMN_NAME); - } - - // This attribute is an array containing at least one element - public void setColumnName(String[] value) { - this.setValue(COLUMN_NAME, value); - } - - // - public String[] getColumnName() { - return (String[])this.getValues(COLUMN_NAME); - } - - // Add a new element returning its index in the list - public int addColumnName(String value) { - int positionOfNewItem = this.addValue(COLUMN_NAME, value); - return positionOfNewItem; - } - - // - // Remove an element using its reference - // Returns the index the element had in the list - // - public int removeColumnName(String value) { - return this.removeValue(COLUMN_NAME, value); - } - - // - public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.add(c); - } - - // - public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.remove(c); - } - public void validate() throws org.netbeans.modules.schema2beans.ValidateException { - boolean restrictionFailure = false; - boolean restrictionPassed = false; - // Validating property columnName - if (sizeColumnName() == 0) { - throw new org.netbeans.modules.schema2beans.ValidateException("sizeColumnName() == 0", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "columnName", this); // NOI18N - } - } - - // Dump the content of this bean returning it as a String - public void dump(StringBuffer str, String indent){ - String s; - Object o; - org.netbeans.modules.schema2beans.BaseBean n; - str.append(indent); - str.append("ColumnName["+this.sizeColumnName()+"]"); // NOI18N - for(int i=0; i\n"); // NOI18N - this.dumpAttributes(COLUMN_NAME, i, str, indent); - } - - } - public String dumpBeanNode(){ - StringBuffer str = new StringBuffer(); - str.append("ColumnPair\n"); // NOI18N - this.dump(str, "\n "); // NOI18N - return str.toString(); - }} - -// END_NOI18N - - -/* - The following schema file has been used for generation: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/Consistency.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/Consistency.java deleted file mode 100644 index 4110a682b7a..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/Consistency.java +++ /dev/null @@ -1,629 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.mapping.ejb.beans; - -import org.netbeans.modules.schema2beans.Common; - -import java.util.Vector; - -// BEGIN_NOI18N - -public class Consistency extends org.netbeans.modules.schema2beans.BaseBean -{ - - static Vector comparators = new Vector(); - private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(5, 0, 0); - - static public final String NONE = "None"; // NOI18N - static public final String CHECK_MODIFIED_AT_COMMIT = "CheckModifiedAtCommit"; // NOI18N - static public final String LOCK_WHEN_LOADED = "LockWhenLoaded"; // NOI18N - static public final String CHECK_ALL_AT_COMMIT = "CheckAllAtCommit"; // NOI18N - static public final String LOCK_WHEN_MODIFIED = "LockWhenModified"; // NOI18N - static public final String CHECK_ALL_AT_COMMIT2 = "CheckAllAtCommit2"; // NOI18N - static public final String CHECK_VERSION_OF_ACCESSED_INSTANCES = "CheckVersionOfAccessedInstances"; // NOI18N - - public Consistency() { - this(Common.USE_DEFAULT_VALUES); - } - - public Consistency(int options) - { - super(comparators, runtimeVersion); - // Properties (see root bean comments for the bean graph) - initPropertyTables(7); - this.createProperty("none", // NOI18N - NONE, Common.SEQUENCE_OR | - Common.TYPE_0_1 | Common.TYPE_BOOLEAN | Common.TYPE_KEY, - Boolean.class); - this.createProperty("check-modified-at-commit", // NOI18N - CHECK_MODIFIED_AT_COMMIT, Common.SEQUENCE_OR | - Common.TYPE_0_1 | Common.TYPE_BOOLEAN | Common.TYPE_KEY, - Boolean.class); - this.createProperty("lock-when-loaded", // NOI18N - LOCK_WHEN_LOADED, Common.SEQUENCE_OR | - Common.TYPE_0_1 | Common.TYPE_BOOLEAN | Common.TYPE_KEY, - Boolean.class); - this.createProperty("check-all-at-commit", // NOI18N - CHECK_ALL_AT_COMMIT, Common.SEQUENCE_OR | - Common.TYPE_0_1 | Common.TYPE_BOOLEAN | Common.TYPE_KEY, - Boolean.class); - this.createProperty("lock-when-modified", // NOI18N - LOCK_WHEN_MODIFIED, Common.SEQUENCE_OR | - Common.TYPE_0_1 | Common.TYPE_BOOLEAN | Common.TYPE_KEY, - Boolean.class); - this.createProperty("check-all-at-commit", // NOI18N - CHECK_ALL_AT_COMMIT2, Common.SEQUENCE_OR | - Common.TYPE_0_1 | Common.TYPE_BOOLEAN | Common.TYPE_KEY, - Boolean.class); - this.createProperty("check-version-of-accessed-instances", // NOI18N - CHECK_VERSION_OF_ACCESSED_INSTANCES, Common.SEQUENCE_OR | - Common.TYPE_1 | Common.TYPE_BEAN | Common.TYPE_KEY, - CheckVersionOfAccessedInstances.class); - this.initialize(options); - } - - // Setting the default values of the properties - void initialize(int options) { - - } - - // This attribute is mandatory - public void setNone(boolean value) { - this.setValue(NONE, (value ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE)); - if (value != false) { - // It's a mutually exclusive property. - setCheckModifiedAtCommit(false); - setLockWhenLoaded(false); - setCheckAllAtCommit(false); - setLockWhenModified(false); - setCheckAllAtCommit2(false); - setCheckVersionOfAccessedInstances(null); - } - } - - // - public boolean isNone() { - Boolean ret = (Boolean)this.getValue(NONE); - if (ret == null) - ret = (Boolean)Common.defaultScalarValue(Common.TYPE_BOOLEAN); - return ((java.lang.Boolean)ret).booleanValue(); - } - - // This attribute is mandatory - public void setCheckModifiedAtCommit(boolean value) { - this.setValue(CHECK_MODIFIED_AT_COMMIT, (value ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE)); - if (value != false) { - // It's a mutually exclusive property. - setNone(false); - setLockWhenLoaded(false); - setCheckAllAtCommit(false); - setLockWhenModified(false); - setCheckAllAtCommit2(false); - setCheckVersionOfAccessedInstances(null); - } - } - - // - public boolean isCheckModifiedAtCommit() { - Boolean ret = (Boolean)this.getValue(CHECK_MODIFIED_AT_COMMIT); - if (ret == null) - ret = (Boolean)Common.defaultScalarValue(Common.TYPE_BOOLEAN); - return ((java.lang.Boolean)ret).booleanValue(); - } - - // This attribute is mandatory - public void setLockWhenLoaded(boolean value) { - this.setValue(LOCK_WHEN_LOADED, (value ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE)); - if (value != false) { - // It's a mutually exclusive property. - setNone(false); - setCheckModifiedAtCommit(false); - setCheckAllAtCommit(false); - setLockWhenModified(false); - setCheckAllAtCommit2(false); - setCheckVersionOfAccessedInstances(null); - } - } - - // - public boolean isLockWhenLoaded() { - Boolean ret = (Boolean)this.getValue(LOCK_WHEN_LOADED); - if (ret == null) - ret = (Boolean)Common.defaultScalarValue(Common.TYPE_BOOLEAN); - return ((java.lang.Boolean)ret).booleanValue(); - } - - // This attribute is mandatory - public void setCheckAllAtCommit(boolean value) { - this.setValue(CHECK_ALL_AT_COMMIT, (value ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE)); - if (value != false) { - // It's a mutually exclusive property. - setNone(false); - setCheckModifiedAtCommit(false); - setLockWhenLoaded(false); - setLockWhenModified(false); - setCheckAllAtCommit2(false); - setCheckVersionOfAccessedInstances(null); - } - } - - // - public boolean isCheckAllAtCommit() { - Boolean ret = (Boolean)this.getValue(CHECK_ALL_AT_COMMIT); - if (ret == null) - ret = (Boolean)Common.defaultScalarValue(Common.TYPE_BOOLEAN); - return ((java.lang.Boolean)ret).booleanValue(); - } - - // This attribute is mandatory - public void setLockWhenModified(boolean value) { - this.setValue(LOCK_WHEN_MODIFIED, (value ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE)); - if (value != false) { - // It's a mutually exclusive property. - setNone(false); - setCheckModifiedAtCommit(false); - setLockWhenLoaded(false); - setCheckAllAtCommit(false); - setCheckVersionOfAccessedInstances(null); - } - } - - // - public boolean isLockWhenModified() { - Boolean ret = (Boolean)this.getValue(LOCK_WHEN_MODIFIED); - if (ret == null) - ret = (Boolean)Common.defaultScalarValue(Common.TYPE_BOOLEAN); - return ((java.lang.Boolean)ret).booleanValue(); - } - - // This attribute is optional - public void setCheckAllAtCommit2(boolean value) { - this.setValue(CHECK_ALL_AT_COMMIT2, (value ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE)); - if (value != false) { - // It's a mutually exclusive property. - setNone(false); - setCheckModifiedAtCommit(false); - setLockWhenLoaded(false); - setCheckAllAtCommit(false); - setCheckVersionOfAccessedInstances(null); - } - } - - // - public boolean isCheckAllAtCommit2() { - Boolean ret = (Boolean)this.getValue(CHECK_ALL_AT_COMMIT2); - if (ret == null) - ret = (Boolean)Common.defaultScalarValue(Common.TYPE_BOOLEAN); - return ((java.lang.Boolean)ret).booleanValue(); - } - - // This attribute is mandatory - public void setCheckVersionOfAccessedInstances(CheckVersionOfAccessedInstances value) { - this.setValue(CHECK_VERSION_OF_ACCESSED_INSTANCES, value); - if (value != null) { - // It's a mutually exclusive property. - setNone(false); - setCheckModifiedAtCommit(false); - setLockWhenLoaded(false); - setCheckAllAtCommit(false); - setLockWhenModified(false); - setCheckAllAtCommit2(false); - } - } - - // - public CheckVersionOfAccessedInstances getCheckVersionOfAccessedInstances() { - return (CheckVersionOfAccessedInstances)this.getValue(CHECK_VERSION_OF_ACCESSED_INSTANCES); - } - - /** - * Create a new bean using it's default constructor. - * This does not add it to any bean graph. - */ - public CheckVersionOfAccessedInstances newCheckVersionOfAccessedInstances() { - return new CheckVersionOfAccessedInstances(); - } - - // - public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.add(c); - } - - // - public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.remove(c); - } - public void validate() throws org.netbeans.modules.schema2beans.ValidateException { - boolean restrictionFailure = false; - boolean restrictionPassed = false; - // Validating property none - if (isNone() != false) { - if (isCheckModifiedAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: None and CheckModifiedAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckModifiedAtCommit", this); // NOI18N - } - if (isLockWhenLoaded() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: None and LockWhenLoaded", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "LockWhenLoaded", this); // NOI18N - } - if (isCheckAllAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: None and CheckAllAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckAllAtCommit", this); // NOI18N - } - if (isLockWhenModified() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: None and LockWhenModified", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "LockWhenModified", this); // NOI18N - } - if (isCheckAllAtCommit2() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: None and CheckAllAtCommit2", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckAllAtCommit2", this); // NOI18N - } - if (getCheckVersionOfAccessedInstances() != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: None and CheckVersionOfAccessedInstances", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckVersionOfAccessedInstances", this); // NOI18N - } - } - // Validating property checkModifiedAtCommit - if (isCheckModifiedAtCommit() != false) { - if (isNone() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckModifiedAtCommit and None", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "None", this); // NOI18N - } - if (isLockWhenLoaded() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckModifiedAtCommit and LockWhenLoaded", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "LockWhenLoaded", this); // NOI18N - } - if (isCheckAllAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckModifiedAtCommit and CheckAllAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckAllAtCommit", this); // NOI18N - } - if (isLockWhenModified() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckModifiedAtCommit and LockWhenModified", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "LockWhenModified", this); // NOI18N - } - if (isCheckAllAtCommit2() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckModifiedAtCommit and CheckAllAtCommit2", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckAllAtCommit2", this); // NOI18N - } - if (getCheckVersionOfAccessedInstances() != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckModifiedAtCommit and CheckVersionOfAccessedInstances", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckVersionOfAccessedInstances", this); // NOI18N - } - } - // Validating property lockWhenLoaded - if (isLockWhenLoaded() != false) { - if (isNone() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: LockWhenLoaded and None", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "None", this); // NOI18N - } - if (isCheckModifiedAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: LockWhenLoaded and CheckModifiedAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckModifiedAtCommit", this); // NOI18N - } - if (isCheckAllAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: LockWhenLoaded and CheckAllAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckAllAtCommit", this); // NOI18N - } - if (isLockWhenModified() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: LockWhenLoaded and LockWhenModified", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "LockWhenModified", this); // NOI18N - } - if (isCheckAllAtCommit2() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: LockWhenLoaded and CheckAllAtCommit2", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckAllAtCommit2", this); // NOI18N - } - if (getCheckVersionOfAccessedInstances() != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: LockWhenLoaded and CheckVersionOfAccessedInstances", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckVersionOfAccessedInstances", this); // NOI18N - } - } - // Validating property checkAllAtCommit - if (isCheckAllAtCommit() != false) { - if (isNone() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckAllAtCommit and None", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "None", this); // NOI18N - } - if (isCheckModifiedAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckAllAtCommit and CheckModifiedAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckModifiedAtCommit", this); // NOI18N - } - if (isLockWhenLoaded() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckAllAtCommit and LockWhenLoaded", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "LockWhenLoaded", this); // NOI18N - } - if (isLockWhenModified() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckAllAtCommit and LockWhenModified", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "LockWhenModified", this); // NOI18N - } - if (isCheckAllAtCommit2() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckAllAtCommit and CheckAllAtCommit2", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckAllAtCommit2", this); // NOI18N - } - if (getCheckVersionOfAccessedInstances() != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckAllAtCommit and CheckVersionOfAccessedInstances", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckVersionOfAccessedInstances", this); // NOI18N - } - } - // Validating property lockWhenModified - if (isLockWhenModified() != false) { - if (isNone() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: LockWhenModified and None", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "None", this); // NOI18N - } - if (isCheckModifiedAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: LockWhenModified and CheckModifiedAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckModifiedAtCommit", this); // NOI18N - } - if (isLockWhenLoaded() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: LockWhenModified and LockWhenLoaded", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "LockWhenLoaded", this); // NOI18N - } - if (isCheckAllAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: LockWhenModified and CheckAllAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckAllAtCommit", this); // NOI18N - } - if (getCheckVersionOfAccessedInstances() != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: LockWhenModified and CheckVersionOfAccessedInstances", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckVersionOfAccessedInstances", this); // NOI18N - } - } - // Validating property checkAllAtCommit2 - if (isCheckAllAtCommit2() != false) { - if (isNone() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckAllAtCommit2 and None", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "None", this); // NOI18N - } - if (isCheckModifiedAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckAllAtCommit2 and CheckModifiedAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckModifiedAtCommit", this); // NOI18N - } - if (isLockWhenLoaded() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckAllAtCommit2 and LockWhenLoaded", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "LockWhenLoaded", this); // NOI18N - } - if (isCheckAllAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckAllAtCommit2 and CheckAllAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckAllAtCommit", this); // NOI18N - } - if (getCheckVersionOfAccessedInstances() != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckAllAtCommit2 and CheckVersionOfAccessedInstances", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckVersionOfAccessedInstances", this); // NOI18N - } - } - // Validating property checkVersionOfAccessedInstances - if (getCheckVersionOfAccessedInstances() != null) { - getCheckVersionOfAccessedInstances().validate(); - } - if (getCheckVersionOfAccessedInstances() != null) { - if (isNone() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckVersionOfAccessedInstances and None", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "None", this); // NOI18N - } - if (isCheckModifiedAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckVersionOfAccessedInstances and CheckModifiedAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckModifiedAtCommit", this); // NOI18N - } - if (isLockWhenLoaded() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckVersionOfAccessedInstances and LockWhenLoaded", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "LockWhenLoaded", this); // NOI18N - } - if (isCheckAllAtCommit() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckVersionOfAccessedInstances and CheckAllAtCommit", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckAllAtCommit", this); // NOI18N - } - if (isLockWhenModified() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckVersionOfAccessedInstances and LockWhenModified", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "LockWhenModified", this); // NOI18N - } - if (isCheckAllAtCommit2() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: CheckVersionOfAccessedInstances and CheckAllAtCommit2", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "CheckAllAtCommit2", this); // NOI18N - } - } - if (getCheckVersionOfAccessedInstances() == null && isCheckAllAtCommit() == false && isCheckAllAtCommit2() == false && isCheckModifiedAtCommit() == false && isLockWhenLoaded() == false && isNone() == false) { - throw new org.netbeans.modules.schema2beans.ValidateException("required properties: getCheckVersionOfAccessedInstances() == null && isCheckAllAtCommit() == false && isCheckAllAtCommit2() == false && isCheckModifiedAtCommit() == false && isLockWhenLoaded() == false && isNone() == false", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "CheckAllAtCommit2", this); // NOI18N - } - if (getCheckVersionOfAccessedInstances() == null && isCheckAllAtCommit() == false && isCheckModifiedAtCommit() == false && isLockWhenLoaded() == false && isLockWhenModified() == false && isNone() == false) { - throw new org.netbeans.modules.schema2beans.ValidateException("required properties: getCheckVersionOfAccessedInstances() == null && isCheckAllAtCommit() == false && isCheckModifiedAtCommit() == false && isLockWhenLoaded() == false && isLockWhenModified() == false && isNone() == false", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "LockWhenModified", this); // NOI18N - } - if (getCheckVersionOfAccessedInstances() == null && isCheckAllAtCommit() == false && isCheckAllAtCommit2() == false && isCheckModifiedAtCommit() == false && isLockWhenLoaded() == false && isLockWhenModified() == false && isNone() == false) { - throw new org.netbeans.modules.schema2beans.ValidateException("required properties: getCheckVersionOfAccessedInstances() == null && isCheckAllAtCommit() == false && isCheckAllAtCommit2() == false && isCheckModifiedAtCommit() == false && isLockWhenLoaded() == false && isLockWhenModified() == false && isNone() == false", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "CheckVersionOfAccessedInstances", this); // NOI18N - } - } - - // Dump the content of this bean returning it as a String - public void dump(StringBuffer str, String indent){ - String s; - Object o; - org.netbeans.modules.schema2beans.BaseBean n; - str.append(indent); - str.append("None"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append((this.isNone()?"true":"false")); - this.dumpAttributes(NONE, 0, str, indent); - - str.append(indent); - str.append("CheckModifiedAtCommit"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append((this.isCheckModifiedAtCommit()?"true":"false")); - this.dumpAttributes(CHECK_MODIFIED_AT_COMMIT, 0, str, indent); - - str.append(indent); - str.append("LockWhenLoaded"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append((this.isLockWhenLoaded()?"true":"false")); - this.dumpAttributes(LOCK_WHEN_LOADED, 0, str, indent); - - str.append(indent); - str.append("CheckAllAtCommit"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append((this.isCheckAllAtCommit()?"true":"false")); - this.dumpAttributes(CHECK_ALL_AT_COMMIT, 0, str, indent); - - str.append(indent); - str.append("LockWhenModified"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append((this.isLockWhenModified()?"true":"false")); - this.dumpAttributes(LOCK_WHEN_MODIFIED, 0, str, indent); - - str.append(indent); - str.append("CheckAllAtCommit2"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append((this.isCheckAllAtCommit2()?"true":"false")); - this.dumpAttributes(CHECK_ALL_AT_COMMIT2, 0, str, indent); - - str.append(indent); - str.append("CheckVersionOfAccessedInstances"); // NOI18N - n = (org.netbeans.modules.schema2beans.BaseBean) this.getCheckVersionOfAccessedInstances(); - if (n != null) - n.dump(str, indent + "\t"); // NOI18N - else - str.append(indent+"\tnull"); // NOI18N - this.dumpAttributes(CHECK_VERSION_OF_ACCESSED_INSTANCES, 0, str, indent); - - } - public String dumpBeanNode(){ - StringBuffer str = new StringBuffer(); - str.append("Consistency\n"); // NOI18N - this.dump(str, "\n "); // NOI18N - return str.toString(); - }} - -// END_NOI18N - - -/* - The following schema file has been used for generation: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/EntityMapping.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/EntityMapping.java deleted file mode 100644 index 2b5c292d29c..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/EntityMapping.java +++ /dev/null @@ -1,553 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.mapping.ejb.beans; - -import org.netbeans.modules.schema2beans.Common; - -import java.util.Vector; - -// BEGIN_NOI18N - -public class EntityMapping extends org.netbeans.modules.schema2beans.BaseBean -{ - - static Vector comparators = new Vector(); - private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(5, 0, 0); - - static public final String EJB_NAME = "EjbName"; // NOI18N - static public final String TABLE_NAME = "TableName"; // NOI18N - static public final String CMP_FIELD_MAPPING = "CmpFieldMapping"; // NOI18N - static public final String CMR_FIELD_MAPPING = "CmrFieldMapping"; // NOI18N - static public final String SECONDARY_TABLE = "SecondaryTable"; // NOI18N - static public final String CONSISTENCY = "Consistency"; // NOI18N - - public EntityMapping() { - this(Common.USE_DEFAULT_VALUES); - } - - public EntityMapping(int options) - { - super(comparators, runtimeVersion); - // Properties (see root bean comments for the bean graph) - initPropertyTables(6); - this.createProperty("ejb-name", // NOI18N - EJB_NAME, - Common.TYPE_1 | Common.TYPE_STRING | Common.TYPE_KEY, - String.class); - this.createProperty("table-name", // NOI18N - TABLE_NAME, - Common.TYPE_1 | Common.TYPE_STRING | Common.TYPE_KEY, - String.class); - this.createProperty("cmp-field-mapping", // NOI18N - CMP_FIELD_MAPPING, - Common.TYPE_1_N | Common.TYPE_BEAN | Common.TYPE_KEY, - CmpFieldMapping.class); - this.createProperty("cmr-field-mapping", // NOI18N - CMR_FIELD_MAPPING, - Common.TYPE_0_N | Common.TYPE_BEAN | Common.TYPE_KEY, - CmrFieldMapping.class); - this.createProperty("secondary-table", // NOI18N - SECONDARY_TABLE, - Common.TYPE_0_N | Common.TYPE_BEAN | Common.TYPE_KEY, - SecondaryTable.class); - this.createProperty("consistency", // NOI18N - CONSISTENCY, - Common.TYPE_0_1 | Common.TYPE_BEAN | Common.TYPE_KEY, - Consistency.class); - this.initialize(options); - } - - // Setting the default values of the properties - void initialize(int options) { - - } - - // This attribute is mandatory - public void setEjbName(String value) { - this.setValue(EJB_NAME, value); - } - - // - public String getEjbName() { - return (String)this.getValue(EJB_NAME); - } - - // This attribute is mandatory - public void setTableName(String value) { - this.setValue(TABLE_NAME, value); - } - - // - public String getTableName() { - return (String)this.getValue(TABLE_NAME); - } - - // This attribute is an array containing at least one element - public void setCmpFieldMapping(int index, CmpFieldMapping value) { - this.setValue(CMP_FIELD_MAPPING, index, value); - } - - // - public CmpFieldMapping getCmpFieldMapping(int index) { - return (CmpFieldMapping)this.getValue(CMP_FIELD_MAPPING, index); - } - - // Return the number of properties - public int sizeCmpFieldMapping() { - return this.size(CMP_FIELD_MAPPING); - } - - // This attribute is an array containing at least one element - public void setCmpFieldMapping(CmpFieldMapping[] value) { - this.setValue(CMP_FIELD_MAPPING, value); - } - - // - public CmpFieldMapping[] getCmpFieldMapping() { - return (CmpFieldMapping[])this.getValues(CMP_FIELD_MAPPING); - } - - // Add a new element returning its index in the list - public int addCmpFieldMapping(com.sun.jdo.api.persistence.mapping.ejb.beans.CmpFieldMapping value) { - int positionOfNewItem = this.addValue(CMP_FIELD_MAPPING, value); - return positionOfNewItem; - } - - // - // Remove an element using its reference - // Returns the index the element had in the list - // - public int removeCmpFieldMapping(com.sun.jdo.api.persistence.mapping.ejb.beans.CmpFieldMapping value) { - return this.removeValue(CMP_FIELD_MAPPING, value); - } - - // This attribute is an array, possibly empty - public void setCmrFieldMapping(int index, CmrFieldMapping value) { - this.setValue(CMR_FIELD_MAPPING, index, value); - } - - // - public CmrFieldMapping getCmrFieldMapping(int index) { - return (CmrFieldMapping)this.getValue(CMR_FIELD_MAPPING, index); - } - - // Return the number of properties - public int sizeCmrFieldMapping() { - return this.size(CMR_FIELD_MAPPING); - } - - // This attribute is an array, possibly empty - public void setCmrFieldMapping(CmrFieldMapping[] value) { - this.setValue(CMR_FIELD_MAPPING, value); - } - - // - public CmrFieldMapping[] getCmrFieldMapping() { - return (CmrFieldMapping[])this.getValues(CMR_FIELD_MAPPING); - } - - // Add a new element returning its index in the list - public int addCmrFieldMapping(com.sun.jdo.api.persistence.mapping.ejb.beans.CmrFieldMapping value) { - int positionOfNewItem = this.addValue(CMR_FIELD_MAPPING, value); - return positionOfNewItem; - } - - // - // Remove an element using its reference - // Returns the index the element had in the list - // - public int removeCmrFieldMapping(com.sun.jdo.api.persistence.mapping.ejb.beans.CmrFieldMapping value) { - return this.removeValue(CMR_FIELD_MAPPING, value); - } - - // This attribute is an array, possibly empty - public void setSecondaryTable(int index, SecondaryTable value) { - this.setValue(SECONDARY_TABLE, index, value); - } - - // - public SecondaryTable getSecondaryTable(int index) { - return (SecondaryTable)this.getValue(SECONDARY_TABLE, index); - } - - // Return the number of properties - public int sizeSecondaryTable() { - return this.size(SECONDARY_TABLE); - } - - // This attribute is an array, possibly empty - public void setSecondaryTable(SecondaryTable[] value) { - this.setValue(SECONDARY_TABLE, value); - } - - // - public SecondaryTable[] getSecondaryTable() { - return (SecondaryTable[])this.getValues(SECONDARY_TABLE); - } - - // Add a new element returning its index in the list - public int addSecondaryTable(com.sun.jdo.api.persistence.mapping.ejb.beans.SecondaryTable value) { - int positionOfNewItem = this.addValue(SECONDARY_TABLE, value); - return positionOfNewItem; - } - - // - // Remove an element using its reference - // Returns the index the element had in the list - // - public int removeSecondaryTable(com.sun.jdo.api.persistence.mapping.ejb.beans.SecondaryTable value) { - return this.removeValue(SECONDARY_TABLE, value); - } - - // This attribute is optional - public void setConsistency(Consistency value) { - this.setValue(CONSISTENCY, value); - } - - // - public Consistency getConsistency() { - return (Consistency)this.getValue(CONSISTENCY); - } - - /** - * Create a new bean using it's default constructor. - * This does not add it to any bean graph. - */ - public CmpFieldMapping newCmpFieldMapping() { - return new CmpFieldMapping(); - } - - /** - * Create a new bean using it's default constructor. - * This does not add it to any bean graph. - */ - public CmrFieldMapping newCmrFieldMapping() { - return new CmrFieldMapping(); - } - - /** - * Create a new bean using it's default constructor. - * This does not add it to any bean graph. - */ - public SecondaryTable newSecondaryTable() { - return new SecondaryTable(); - } - - /** - * Create a new bean using it's default constructor. - * This does not add it to any bean graph. - */ - public Consistency newConsistency() { - return new Consistency(); - } - - // - public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.add(c); - } - - // - public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.remove(c); - } - public void validate() throws org.netbeans.modules.schema2beans.ValidateException { - boolean restrictionFailure = false; - boolean restrictionPassed = false; - // Validating property ejbName - if (getEjbName() == null) { - throw new org.netbeans.modules.schema2beans.ValidateException("getEjbName() == null", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "ejbName", this); // NOI18N - } - // Validating property tableName - if (getTableName() == null) { - throw new org.netbeans.modules.schema2beans.ValidateException("getTableName() == null", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "tableName", this); // NOI18N - } - // Validating property cmpFieldMapping - if (sizeCmpFieldMapping() == 0) { - throw new org.netbeans.modules.schema2beans.ValidateException("sizeCmpFieldMapping() == 0", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "cmpFieldMapping", this); // NOI18N - } - for (int _index = 0; _index < sizeCmpFieldMapping(); ++_index) { - com.sun.jdo.api.persistence.mapping.ejb.beans.CmpFieldMapping element = getCmpFieldMapping(_index); - if (element != null) { - element.validate(); - } - } - // Validating property cmrFieldMapping - for (int _index = 0; _index < sizeCmrFieldMapping(); ++_index) { - com.sun.jdo.api.persistence.mapping.ejb.beans.CmrFieldMapping element = getCmrFieldMapping(_index); - if (element != null) { - element.validate(); - } - } - // Validating property secondaryTable - for (int _index = 0; _index < sizeSecondaryTable(); ++_index) { - com.sun.jdo.api.persistence.mapping.ejb.beans.SecondaryTable element = getSecondaryTable(_index); - if (element != null) { - element.validate(); - } - } - // Validating property consistency - if (getConsistency() != null) { - getConsistency().validate(); - } - } - - // Dump the content of this bean returning it as a String - public void dump(StringBuffer str, String indent){ - String s; - Object o; - org.netbeans.modules.schema2beans.BaseBean n; - str.append(indent); - str.append("EjbName"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append("<"); // NOI18N - o = this.getEjbName(); - str.append((o==null?"null":o.toString().trim())); // NOI18N - str.append(">\n"); // NOI18N - this.dumpAttributes(EJB_NAME, 0, str, indent); - - str.append(indent); - str.append("TableName"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append("<"); // NOI18N - o = this.getTableName(); - str.append((o==null?"null":o.toString().trim())); // NOI18N - str.append(">\n"); // NOI18N - this.dumpAttributes(TABLE_NAME, 0, str, indent); - - str.append(indent); - str.append("CmpFieldMapping["+this.sizeCmpFieldMapping()+"]"); // NOI18N - for(int i=0; i - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/FetchedWith.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/FetchedWith.java deleted file mode 100644 index 04a0ec428c1..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/FetchedWith.java +++ /dev/null @@ -1,417 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.mapping.ejb.beans; - -import org.netbeans.modules.schema2beans.Common; - -import java.util.Vector; - -// BEGIN_NOI18N - -public class FetchedWith extends org.netbeans.modules.schema2beans.BaseBean -{ - - static Vector comparators = new Vector(); - private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(5, 0, 0); - - static public final String DEFAULT = "Default"; // NOI18N - static public final String LEVEL = "Level"; // NOI18N - static public final String NAMED_GROUP = "NamedGroup"; // NOI18N - static public final String NONE = "None"; // NOI18N - - public FetchedWith() { - this(Common.USE_DEFAULT_VALUES); - } - - public FetchedWith(int options) - { - super(comparators, runtimeVersion); - // Properties (see root bean comments for the bean graph) - initPropertyTables(4); - this.createProperty("default", // NOI18N - DEFAULT, Common.SEQUENCE_OR | - Common.TYPE_0_1 | Common.TYPE_BOOLEAN | Common.TYPE_KEY, - Boolean.class); - this.createProperty("level", // NOI18N - LEVEL, Common.SEQUENCE_OR | - Common.TYPE_1 | Common.TYPE_STRING | Common.TYPE_KEY, - Integer.class); - this.createProperty("named-group", // NOI18N - NAMED_GROUP, Common.SEQUENCE_OR | - Common.TYPE_1 | Common.TYPE_STRING | Common.TYPE_KEY, - String.class); - this.createProperty("none", // NOI18N - NONE, Common.SEQUENCE_OR | - Common.TYPE_0_1 | Common.TYPE_BOOLEAN | Common.TYPE_KEY, - Boolean.class); - this.initialize(options); - } - - // Setting the default values of the properties - void initialize(int options) { - - } - - // This attribute is mandatory - public void setDefault(boolean value) { - this.setValue(DEFAULT, (value ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE)); - if (value != false) { - // It's a mutually exclusive property. - setLevel(0); - setNamedGroup(null); - setNone(false); - } - } - - // - public boolean isDefault() { - Boolean ret = (Boolean)this.getValue(DEFAULT); - if (ret == null) - ret = (Boolean)Common.defaultScalarValue(Common.TYPE_BOOLEAN); - return ((java.lang.Boolean)ret).booleanValue(); - } - - // This attribute is mandatory - public void setLevel(int value) { - this.setValue(LEVEL, new java.lang.Integer(value)); - if (value != 0) { - // It's a mutually exclusive property. - setDefault(false); - setNamedGroup(null); - setNone(false); - } - } - - // - public int getLevel() { - Integer ret = (Integer)this.getValue(LEVEL); - if (ret == null) - throw new RuntimeException(Common.getMessage( - "NoValueForElt_msg", - new Object[] {"LEVEL", "int"})); - return ((java.lang.Integer)ret).intValue(); - } - - // This attribute is mandatory - public void setNamedGroup(String value) { - this.setValue(NAMED_GROUP, value); - if (value != null) { - // It's a mutually exclusive property. - setDefault(false); - setLevel(0); - setNone(false); - } - } - - // - public String getNamedGroup() { - return (String)this.getValue(NAMED_GROUP); - } - - // This attribute is mandatory - public void setNone(boolean value) { - this.setValue(NONE, (value ? java.lang.Boolean.TRUE : java.lang.Boolean.FALSE)); - if (value != false) { - // It's a mutually exclusive property. - setDefault(false); - setLevel(0); - setNamedGroup(null); - } - } - - // - public boolean isNone() { - Boolean ret = (Boolean)this.getValue(NONE); - if (ret == null) - ret = (Boolean)Common.defaultScalarValue(Common.TYPE_BOOLEAN); - return ((java.lang.Boolean)ret).booleanValue(); - } - - // - public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.add(c); - } - - // - public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.remove(c); - } - public void validate() throws org.netbeans.modules.schema2beans.ValidateException { - boolean restrictionFailure = false; - boolean restrictionPassed = false; - // Validating property default - if (isDefault() != false) { - if (getValue(LEVEL) != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: Default and Level", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "Level", this); // NOI18N - } - if (getNamedGroup() != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: Default and NamedGroup", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "NamedGroup", this); // NOI18N - } - if (isNone() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: Default and None", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "None", this); // NOI18N - } - } - // Validating property level - if (getValue(LEVEL) != null) { - if (isDefault() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: Level and Default", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "Default", this); // NOI18N - } - if (getNamedGroup() != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: Level and NamedGroup", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "NamedGroup", this); // NOI18N - } - if (isNone() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: Level and None", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "None", this); // NOI18N - } - } - // Validating property namedGroup - if (getNamedGroup() != null) { - if (isDefault() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: NamedGroup and Default", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "Default", this); // NOI18N - } - if (getValue(LEVEL) != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: NamedGroup and Level", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "Level", this); // NOI18N - } - if (isNone() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: NamedGroup and None", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "None", this); // NOI18N - } - } - // Validating property none - if (isNone() != false) { - if (isDefault() != false) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: None and Default", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "Default", this); // NOI18N - } - if (getValue(LEVEL) != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: None and Level", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "Level", this); // NOI18N - } - if (getNamedGroup() != null) { - throw new org.netbeans.modules.schema2beans.ValidateException("mutually exclusive properties: None and NamedGroup", org.netbeans.modules.schema2beans.ValidateException.FailureType.MUTUALLY_EXCLUSIVE, "NamedGroup", this); // NOI18N - } - } - if (getNamedGroup() == null && getValue(LEVEL) == null && isDefault() == false && isNone() == false) { - throw new org.netbeans.modules.schema2beans.ValidateException("required properties: getNamedGroup() == null && getValue(LEVEL) == null && isDefault() == false && isNone() == false", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "None", this); // NOI18N - } - } - - // Dump the content of this bean returning it as a String - public void dump(StringBuffer str, String indent){ - String s; - Object o; - org.netbeans.modules.schema2beans.BaseBean n; - str.append(indent); - str.append("Default"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append((this.isDefault()?"true":"false")); - this.dumpAttributes(DEFAULT, 0, str, indent); - - if (this.getValue(LEVEL) != null) { - str.append(indent); - str.append("Level"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append("<"); // NOI18N - s = String.valueOf(this.getLevel()); - str.append((s==null?"null":s.trim())); // NOI18N - str.append(">\n"); // NOI18N - this.dumpAttributes(LEVEL, 0, str, indent); - } - - str.append(indent); - str.append("NamedGroup"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append("<"); // NOI18N - o = this.getNamedGroup(); - str.append((o==null?"null":o.toString().trim())); // NOI18N - str.append(">\n"); // NOI18N - this.dumpAttributes(NAMED_GROUP, 0, str, indent); - - str.append(indent); - str.append("None"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append((this.isNone()?"true":"false")); - this.dumpAttributes(NONE, 0, str, indent); - - } - public String dumpBeanNode(){ - StringBuffer str = new StringBuffer(); - str.append("FetchedWith\n"); // NOI18N - this.dump(str, "\n "); // NOI18N - return str.toString(); - }} - -// END_NOI18N - - -/* - The following schema file has been used for generation: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/README.txt b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/README.txt deleted file mode 100644 index 6766a3c4afa..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/README.txt +++ /dev/null @@ -1,62 +0,0 @@ - - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - - Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. - - The contents of this file are subject to the terms of either the GNU - General Public License Version 2 only ("GPL") or the Common Development - and Distribution License("CDDL") (collectively, the "License"). You - may not use this file except in compliance with the License. You can - obtain a copy of the License at - https://github.com/payara/Payara/blob/main/LICENSE.txt - See the License for the specific - language governing permissions and limitations under the License. - - When distributing the software, include this License Header Notice in each - file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - - GPL Classpath Exception: - Oracle designates this particular file as subject to the "Classpath" - exception as provided by Oracle in the GPL Version 2 section of the License - file that accompanied this code. - - Modifications: - If applicable, add the following below the License Header, with the fields - enclosed by brackets [] replaced by your own identifying information: - "Portions Copyright [year] [name of copyright owner]" - - Contributor(s): - If you wish your version of this file to be governed by only the CDDL or - only the GPL Version 2, indicate your decision by adding "[Contributor] - elects to include this software in this distribution under the [CDDL or GPL - Version 2] license." If you don't indicate a single choice of license, a - recipient has the option to distribute your version of this file under - either the CDDL, the GPL Version 2 or to extend the choice of license to - its licensees as provided above. However, if you add GPL Version 2 code - and therefore, elected the GPL Version 2 license, then the option applies - only if the new code is made subject to such option by the copyright - holder. - - -The files in this directory are generated using schema2beans http://schema2beans.netbeans.org/ - -If the dtd file changes and you need to regenerate the sources, please use following command. - -Please point to a valid path to schema2beabs.jar and schema2beansdev.jar before executing the command - -java \ --classpath \ -"schema2beans.jar;schema2beansdev.jar" \ -org.netbeans.modules.schema2beansdev.GenBeans \ --f \ -"../sun-cmp-mapping_1_2.dtd" \ --mdd \ -"..//sun-cmp-mapping_1_2.mdd" \ --p \ -com.sun.jdo.api.persistence.mapping.ejb.beans \ --r \ -. \ --throw \ --dtd \ --validate - diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SecondaryTable.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SecondaryTable.java deleted file mode 100644 index c2a866e6045..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SecondaryTable.java +++ /dev/null @@ -1,343 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.mapping.ejb.beans; - -import org.netbeans.modules.schema2beans.Common; - -import java.util.Vector; - -// BEGIN_NOI18N - -public class SecondaryTable extends org.netbeans.modules.schema2beans.BaseBean -{ - - static Vector comparators = new Vector(); - private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(5, 0, 0); - - static public final String TABLE_NAME = "TableName"; // NOI18N - static public final String COLUMN_PAIR = "ColumnPair"; // NOI18N - - public SecondaryTable() { - this(Common.USE_DEFAULT_VALUES); - } - - public SecondaryTable(int options) - { - super(comparators, runtimeVersion); - // Properties (see root bean comments for the bean graph) - initPropertyTables(2); - this.createProperty("table-name", // NOI18N - TABLE_NAME, - Common.TYPE_1 | Common.TYPE_STRING | Common.TYPE_KEY, - String.class); - this.createProperty("column-pair", // NOI18N - COLUMN_PAIR, - Common.TYPE_1_N | Common.TYPE_BEAN | Common.TYPE_KEY, - ColumnPair.class); - this.initialize(options); - } - - // Setting the default values of the properties - void initialize(int options) { - - } - - // This attribute is mandatory - public void setTableName(String value) { - this.setValue(TABLE_NAME, value); - } - - // - public String getTableName() { - return (String)this.getValue(TABLE_NAME); - } - - // This attribute is an array containing at least one element - public void setColumnPair(int index, ColumnPair value) { - this.setValue(COLUMN_PAIR, index, value); - } - - // - public ColumnPair getColumnPair(int index) { - return (ColumnPair)this.getValue(COLUMN_PAIR, index); - } - - // Return the number of properties - public int sizeColumnPair() { - return this.size(COLUMN_PAIR); - } - - // This attribute is an array containing at least one element - public void setColumnPair(ColumnPair[] value) { - this.setValue(COLUMN_PAIR, value); - } - - // - public ColumnPair[] getColumnPair() { - return (ColumnPair[])this.getValues(COLUMN_PAIR); - } - - // Add a new element returning its index in the list - public int addColumnPair(com.sun.jdo.api.persistence.mapping.ejb.beans.ColumnPair value) { - int positionOfNewItem = this.addValue(COLUMN_PAIR, value); - return positionOfNewItem; - } - - // - // Remove an element using its reference - // Returns the index the element had in the list - // - public int removeColumnPair(com.sun.jdo.api.persistence.mapping.ejb.beans.ColumnPair value) { - return this.removeValue(COLUMN_PAIR, value); - } - - /** - * Create a new bean using it's default constructor. - * This does not add it to any bean graph. - */ - public ColumnPair newColumnPair() { - return new ColumnPair(); - } - - // - public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.add(c); - } - - // - public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.remove(c); - } - public void validate() throws org.netbeans.modules.schema2beans.ValidateException { - boolean restrictionFailure = false; - boolean restrictionPassed = false; - // Validating property tableName - if (getTableName() == null) { - throw new org.netbeans.modules.schema2beans.ValidateException("getTableName() == null", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "tableName", this); // NOI18N - } - // Validating property columnPair - if (sizeColumnPair() == 0) { - throw new org.netbeans.modules.schema2beans.ValidateException("sizeColumnPair() == 0", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "columnPair", this); // NOI18N - } - for (int _index = 0; _index < sizeColumnPair(); ++_index) { - com.sun.jdo.api.persistence.mapping.ejb.beans.ColumnPair element = getColumnPair(_index); - if (element != null) { - element.validate(); - } - } - } - - // Dump the content of this bean returning it as a String - public void dump(StringBuffer str, String indent){ - String s; - Object o; - org.netbeans.modules.schema2beans.BaseBean n; - str.append(indent); - str.append("TableName"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append("<"); // NOI18N - o = this.getTableName(); - str.append((o==null?"null":o.toString().trim())); // NOI18N - str.append(">\n"); // NOI18N - this.dumpAttributes(TABLE_NAME, 0, str, indent); - - str.append(indent); - str.append("ColumnPair["+this.sizeColumnPair()+"]"); // NOI18N - for(int i=0; i - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SunCmpMapping.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SunCmpMapping.java deleted file mode 100644 index c398755b181..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SunCmpMapping.java +++ /dev/null @@ -1,343 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.mapping.ejb.beans; - -import org.netbeans.modules.schema2beans.Common; - -import java.util.Vector; - -// BEGIN_NOI18N - -public class SunCmpMapping extends org.netbeans.modules.schema2beans.BaseBean -{ - - static Vector comparators = new Vector(); - private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(5, 0, 0); - - static public final String SCHEMA = "Schema"; // NOI18N - static public final String ENTITY_MAPPING = "EntityMapping"; // NOI18N - - public SunCmpMapping() { - this(Common.USE_DEFAULT_VALUES); - } - - public SunCmpMapping(int options) - { - super(comparators, runtimeVersion); - // Properties (see root bean comments for the bean graph) - initPropertyTables(2); - this.createProperty("schema", // NOI18N - SCHEMA, - Common.TYPE_1 | Common.TYPE_STRING | Common.TYPE_KEY, - String.class); - this.createProperty("entity-mapping", // NOI18N - ENTITY_MAPPING, - Common.TYPE_1_N | Common.TYPE_BEAN | Common.TYPE_KEY, - EntityMapping.class); - this.initialize(options); - } - - // Setting the default values of the properties - void initialize(int options) { - - } - - // This attribute is mandatory - public void setSchema(String value) { - this.setValue(SCHEMA, value); - } - - // - public String getSchema() { - return (String)this.getValue(SCHEMA); - } - - // This attribute is an array containing at least one element - public void setEntityMapping(int index, EntityMapping value) { - this.setValue(ENTITY_MAPPING, index, value); - } - - // - public EntityMapping getEntityMapping(int index) { - return (EntityMapping)this.getValue(ENTITY_MAPPING, index); - } - - // Return the number of properties - public int sizeEntityMapping() { - return this.size(ENTITY_MAPPING); - } - - // This attribute is an array containing at least one element - public void setEntityMapping(EntityMapping[] value) { - this.setValue(ENTITY_MAPPING, value); - } - - // - public EntityMapping[] getEntityMapping() { - return (EntityMapping[])this.getValues(ENTITY_MAPPING); - } - - // Add a new element returning its index in the list - public int addEntityMapping(com.sun.jdo.api.persistence.mapping.ejb.beans.EntityMapping value) { - int positionOfNewItem = this.addValue(ENTITY_MAPPING, value); - return positionOfNewItem; - } - - // - // Remove an element using its reference - // Returns the index the element had in the list - // - public int removeEntityMapping(com.sun.jdo.api.persistence.mapping.ejb.beans.EntityMapping value) { - return this.removeValue(ENTITY_MAPPING, value); - } - - /** - * Create a new bean using it's default constructor. - * This does not add it to any bean graph. - */ - public EntityMapping newEntityMapping() { - return new EntityMapping(); - } - - // - public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.add(c); - } - - // - public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.remove(c); - } - public void validate() throws org.netbeans.modules.schema2beans.ValidateException { - boolean restrictionFailure = false; - boolean restrictionPassed = false; - // Validating property schema - if (getSchema() == null) { - throw new org.netbeans.modules.schema2beans.ValidateException("getSchema() == null", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "schema", this); // NOI18N - } - // Validating property entityMapping - if (sizeEntityMapping() == 0) { - throw new org.netbeans.modules.schema2beans.ValidateException("sizeEntityMapping() == 0", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "entityMapping", this); // NOI18N - } - for (int _index = 0; _index < sizeEntityMapping(); ++_index) { - com.sun.jdo.api.persistence.mapping.ejb.beans.EntityMapping element = getEntityMapping(_index); - if (element != null) { - element.validate(); - } - } - } - - // Dump the content of this bean returning it as a String - public void dump(StringBuffer str, String indent){ - String s; - Object o; - org.netbeans.modules.schema2beans.BaseBean n; - str.append(indent); - str.append("Schema"); // NOI18N - str.append(indent+"\t"); // NOI18N - str.append("<"); // NOI18N - o = this.getSchema(); - str.append((o==null?"null":o.toString().trim())); // NOI18N - str.append(">\n"); // NOI18N - this.dumpAttributes(SCHEMA, 0, str, indent); - - str.append(indent); - str.append("EntityMapping["+this.sizeEntityMapping()+"]"); // NOI18N - for(int i=0; i - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SunCmpMappings.java b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SunCmpMappings.java deleted file mode 100644 index d3e5788e107..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/beans/SunCmpMappings.java +++ /dev/null @@ -1,626 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - - /** - * This generated bean class SunCmpMappings matches the schema element 'sun-cmp-mappings'. - * - * Generated on Mon Dec 22 15:39:25 PST 2008 - * - * This class matches the root element of the DTD, - * and is the root of the following bean graph: - * - * sunCmpMappings : SunCmpMappings - * sunCmpMapping : SunCmpMapping[1,n] - * schema : String - * entityMapping : EntityMapping[1,n] - * ejbName : String - * tableName : String - * cmpFieldMapping : CmpFieldMapping[1,n] - * fieldName : String - * columnName : String[1,n] - * readOnly : boolean[0,1] - * EMPTY : String - * fetchedWith : FetchedWith[0,1] - * | default : boolean - * | EMPTY : String - * | level : int - * | namedGroup : String - * | none : boolean - * | EMPTY : String - * cmrFieldMapping : CmrFieldMapping[0,n] - * cmrFieldName : String - * columnPair : ColumnPair[1,n] - * columnName : String[1,n] - * fetchedWith : FetchedWith[0,1] - * | default : boolean - * | EMPTY : String - * | level : int - * | namedGroup : String - * | none : boolean - * | EMPTY : String - * secondaryTable : SecondaryTable[0,n] - * tableName : String - * columnPair : ColumnPair[1,n] - * columnName : String[1,n] - * consistency : Consistency[0,1] - * | none : boolean - * | EMPTY : String - * | checkModifiedAtCommit : boolean - * | EMPTY : String - * | lockWhenLoaded : boolean - * | EMPTY : String - * | checkAllAtCommit : boolean - * | EMPTY : String - * | lockWhenModified : boolean - * | EMPTY : String - * | checkAllAtCommit2 : boolean[0,1] - * | EMPTY : String - * | checkVersionOfAccessedInstances : CheckVersionOfAccessedInstances - * | columnName : String[1,n] - * - * @Generated - */ - -package com.sun.jdo.api.persistence.mapping.ejb.beans; - -import org.netbeans.modules.schema2beans.AttrProp; -import org.netbeans.modules.schema2beans.Common; -import org.netbeans.modules.schema2beans.GraphManager; -import org.netbeans.modules.schema2beans.Schema2BeansException; -import org.w3c.dom.Document; -import org.w3c.dom.Node; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.util.Vector; - -// BEGIN_NOI18N - -public class SunCmpMappings extends org.netbeans.modules.schema2beans.BaseBean -{ - - static Vector comparators = new Vector(); - private static final org.netbeans.modules.schema2beans.Version runtimeVersion = new org.netbeans.modules.schema2beans.Version(5, 0, 0); - - static public final String SUN_CMP_MAPPING = "SunCmpMapping"; // NOI18N - - public SunCmpMappings() throws org.netbeans.modules.schema2beans.Schema2BeansException { - this(null, Common.USE_DEFAULT_VALUES); - } - - public SunCmpMappings(org.w3c.dom.Node doc, int options) throws org.netbeans.modules.schema2beans.Schema2BeansException { - this(Common.NO_DEFAULT_VALUES); - initFromNode(doc, options); - } - protected void initFromNode(org.w3c.dom.Node doc, int options) throws Schema2BeansException - { - if (doc == null) - { - doc = GraphManager.createRootElementNode("sun-cmp-mappings"); // NOI18N - if (doc == null) - throw new Schema2BeansException(Common.getMessage( - "CantCreateDOMRoot_msg", "sun-cmp-mappings")); - } - Node n = GraphManager.getElementNode("sun-cmp-mappings", doc); // NOI18N - if (n == null) - throw new Schema2BeansException(Common.getMessage( - "DocRootNotInDOMGraph_msg", "sun-cmp-mappings", doc.getFirstChild().getNodeName())); - - this.graphManager.setXmlDocument(doc); - - // Entry point of the createBeans() recursive calls - this.createBean(n, this.graphManager()); - this.initialize(options); - } - public SunCmpMappings(int options) - { - super(comparators, runtimeVersion); - initOptions(options); - } - protected void initOptions(int options) - { - // The graph manager is allocated in the bean root - this.graphManager = new GraphManager(this); - this.createRoot("sun-cmp-mappings", "SunCmpMappings", // NOI18N - Common.TYPE_1 | Common.TYPE_BEAN, SunCmpMappings.class); - - // Properties (see root bean comments for the bean graph) - initPropertyTables(1); - this.createProperty("sun-cmp-mapping", // NOI18N - SUN_CMP_MAPPING, - Common.TYPE_1_N | Common.TYPE_BEAN | Common.TYPE_KEY, - SunCmpMapping.class); - this.initialize(options); - } - - // Setting the default values of the properties - void initialize(int options) { - - } - - // This attribute is an array containing at least one element - public void setSunCmpMapping(int index, SunCmpMapping value) { - this.setValue(SUN_CMP_MAPPING, index, value); - } - - // - public SunCmpMapping getSunCmpMapping(int index) { - return (SunCmpMapping)this.getValue(SUN_CMP_MAPPING, index); - } - - // Return the number of properties - public int sizeSunCmpMapping() { - return this.size(SUN_CMP_MAPPING); - } - - // This attribute is an array containing at least one element - public void setSunCmpMapping(SunCmpMapping[] value) { - this.setValue(SUN_CMP_MAPPING, value); - } - - // - public SunCmpMapping[] getSunCmpMapping() { - return (SunCmpMapping[])this.getValues(SUN_CMP_MAPPING); - } - - // Add a new element returning its index in the list - public int addSunCmpMapping(com.sun.jdo.api.persistence.mapping.ejb.beans.SunCmpMapping value) { - int positionOfNewItem = this.addValue(SUN_CMP_MAPPING, value); - return positionOfNewItem; - } - - // - // Remove an element using its reference - // Returns the index the element had in the list - // - public int removeSunCmpMapping(com.sun.jdo.api.persistence.mapping.ejb.beans.SunCmpMapping value) { - return this.removeValue(SUN_CMP_MAPPING, value); - } - - /** - * Create a new bean using it's default constructor. - * This does not add it to any bean graph. - */ - public SunCmpMapping newSunCmpMapping() { - return new SunCmpMapping(); - } - - // - public static void addComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.add(c); - } - - // - public static void removeComparator(org.netbeans.modules.schema2beans.BeanComparator c) { - comparators.remove(c); - } - // - // This method returns the root of the bean graph - // Each call creates a new bean graph from the specified DOM graph - // - public static SunCmpMappings createGraph(org.w3c.dom.Node doc) throws org.netbeans.modules.schema2beans.Schema2BeansException { - return new SunCmpMappings(doc, Common.NO_DEFAULT_VALUES); - } - - public static SunCmpMappings createGraph(java.io.File f) throws org.netbeans.modules.schema2beans.Schema2BeansException, java.io.IOException { - java.io.InputStream in = new java.io.FileInputStream(f); - try { - return createGraph(in, false); - } finally { - in.close(); - } - } - - public static SunCmpMappings createGraph(java.io.InputStream in) throws org.netbeans.modules.schema2beans.Schema2BeansException { - return createGraph(in, false); - } - - public static SunCmpMappings createGraph(java.io.InputStream in, boolean validate) throws org.netbeans.modules.schema2beans.Schema2BeansException { - Document doc = GraphManager.createXmlDocument(in, validate); - return createGraph(doc); - } - - // - // This method returns the root for a new empty bean graph - // - public static SunCmpMappings createGraph() { - try { - return new SunCmpMappings(); - } - catch (Schema2BeansException e) { - throw new RuntimeException(e); - } - } - - public void validate() throws org.netbeans.modules.schema2beans.ValidateException { - boolean restrictionFailure = false; - boolean restrictionPassed = false; - // Validating property sunCmpMapping - if (sizeSunCmpMapping() == 0) { - throw new org.netbeans.modules.schema2beans.ValidateException("sizeSunCmpMapping() == 0", org.netbeans.modules.schema2beans.ValidateException.FailureType.NULL_VALUE, "sunCmpMapping", this); // NOI18N - } - for (int _index = 0; _index < sizeSunCmpMapping(); ++_index) { - com.sun.jdo.api.persistence.mapping.ejb.beans.SunCmpMapping element = getSunCmpMapping(_index); - if (element != null) { - element.validate(); - } - } - } - - // Special serializer: output XML as serialization - private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException{ - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - write(baos); - String str = baos.toString();; - // System.out.println("str='"+str+"'"); - out.writeUTF(str); - } - // Special deserializer: read XML as deserialization - private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException{ - try{ - init(comparators, runtimeVersion); - String strDocument = in.readUTF(); - // System.out.println("strDocument='"+strDocument+"'"); - ByteArrayInputStream bais = new ByteArrayInputStream(strDocument.getBytes()); - Document doc = GraphManager.createXmlDocument(bais, false); - initOptions(Common.NO_DEFAULT_VALUES); - initFromNode(doc, Common.NO_DEFAULT_VALUES); - } - catch (Schema2BeansException e) { - throw new RuntimeException(e); - } - } - - public void _setSchemaLocation(String location) { - if (beanProp().getAttrProp("xsi:schemaLocation", true) == null) { - createAttribute("xmlns:xsi", "xmlns:xsi", AttrProp.CDATA | AttrProp.IMPLIED, null, "http://www.w3.org/2001/XMLSchema-instance"); - setAttributeValue("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); - createAttribute("xsi:schemaLocation", "xsi:schemaLocation", AttrProp.CDATA | AttrProp.IMPLIED, null, location); - } - setAttributeValue("xsi:schemaLocation", location); - } - - public String _getSchemaLocation() { - if (beanProp().getAttrProp("xsi:schemaLocation", true) == null) { - createAttribute("xmlns:xsi", "xmlns:xsi", AttrProp.CDATA | AttrProp.IMPLIED, null, "http://www.w3.org/2001/XMLSchema-instance"); - setAttributeValue("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); - createAttribute("xsi:schemaLocation", "xsi:schemaLocation", AttrProp.CDATA | AttrProp.IMPLIED, null, null); - } - return getAttributeValue("xsi:schemaLocation"); - } - - // Dump the content of this bean returning it as a String - public void dump(StringBuffer str, String indent){ - String s; - Object o; - org.netbeans.modules.schema2beans.BaseBean n; - str.append(indent); - str.append("SunCmpMapping["+this.sizeSunCmpMapping()+"]"); // NOI18N - for(int i=0; i - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/sun-cmp-mapping_1_2.dtd b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/sun-cmp-mapping_1_2.dtd deleted file mode 100644 index fcd9bea1e8e..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/sun-cmp-mapping_1_2.dtd +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/sun-cmp-mapping_1_2.mdd b/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/sun-cmp-mapping_1_2.mdd deleted file mode 100644 index 2f215bd697b..00000000000 --- a/appserver/persistence/cmp/ejb-mapping/src/main/java/com/sun/jdo/api/persistence/mapping/ejb/sun-cmp-mapping_1_2.mdd +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - - - sun-cmp-mappings - SunCmpMappings - - SunCmpMapping - - - - sun-cmp-mapping - SunCmpMapping - - Schema - - - EntityMapping - - - - schema - Schema - String - - - entity-mapping - EntityMapping - - EjbName - - - TableName - - - CmpFieldMapping - - - CmrFieldMapping - - - SecondaryTable - - - Consistency - - - - ejb-name - EjbName - String - - - table-name - TableName - String - - - cmp-field-mapping - CmpFieldMapping - - FieldName - - - ColumnName - - - ReadOnly - - - FetchedWith - - com.sun.jdo.api.persistence.mapping.ejb.HasFetchedWith - - - cmr-field-mapping - CmrFieldMapping - - CmrFieldName - - - ColumnPair - - - FetchedWith - - com.sun.jdo.api.persistence.mapping.ejb.HasFetchedWith - - - secondary-table - SecondaryTable - - TableName - - - ColumnPair - - - - consistency - Consistency - - None - - - CheckModifiedAtCommit - - - LockWhenLoaded - - - LockWhenModified - - - CheckAllAtCommit - - - CheckVersionOfAccessedInstances - - - - default - Default - Boolean - - - none - None - Boolean - - - check-modified-at-commit - CheckModifiedAtCommit - Boolean - - - lock-when-loaded - LockWhenLoaded - Boolean - - - lock-when-modified - LockWhenModified - Boolean - - - check-all-at-commit - CheckAllAtCommit - Boolean - - - check-version-of-accessed-instances - CheckVersionOfAccessedInstances - - ColumnName - - - - EMPTY - Empty - String - - - column-pair - ColumnPair - - ColumnName - - - - column-name - ColumnName - String - - - #PCDATA - Pcdata - String - - - cmr-field-name - CmrFieldName - String - - - fetched-with - FetchedWith - - Default - - - Level - - - NamedGroup - - - None - - - - level - Level - int - - - named-group - NamedGroup - String - - - field-name - FieldName - String - - - read-only - ReadOnly - Boolean - - diff --git a/appserver/persistence/cmp/enhancer/osgi.bundle b/appserver/persistence/cmp/enhancer/osgi.bundle deleted file mode 100644 index f493c14639d..00000000000 --- a/appserver/persistence/cmp/enhancer/osgi.bundle +++ /dev/null @@ -1,54 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# -# Portions Copyright [2019] [Payara Foundation and/or its affiliates] - --exportcontents: \ - com.sun.jdo.api.persistence.enhancer.generator; \ - com.sun.jdo.api.persistence.enhancer.meta; version=${project.osgi.version} - -Import-Package: \ - com.sun.jdo.api.persistence.model, \ - com.sun.jdo.api.persistence.model.jdo, \ - com.sun.jdo.spi.persistence.utility, \ - com.sun.jdo.spi.persistence.utility.generator, \ - com.sun.jdo.spi.persistence.utility.generator.io, \ - com.sun.jdo.spi.persistence.utility.logging, \ - org.glassfish.persistence.common, \ - sun.security.tools diff --git a/appserver/persistence/cmp/enhancer/pom.xml b/appserver/persistence/cmp/enhancer/pom.xml deleted file mode 100644 index 12e83c4821c..00000000000 --- a/appserver/persistence/cmp/enhancer/pom.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp - 7.2026.5-SNAPSHOT - - cmp-enhancer - glassfish-jar - - enhancer module for cmp - - - - mm110999 - Mitesh Meswani - Oracle, Inc. - - developer - lead - - - - - - - - src/main/java - - **/*.properties - - - - - - - - fish.payara.server.internal.persistence.cmp - cmp-model - ${project.version} - - - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/Bundle.properties b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/Bundle.properties deleted file mode 100644 index c3161f9244f..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/Bundle.properties +++ /dev/null @@ -1,127 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# ResourceBundle properties file for model messages -# key consists of: enhancer.. -# - is optional, package under model -# - short description (use _ to represent space) -# all keys should be in lowercase - - -# -# Global enhancer messages -# - -# {0}=detailed message -enhancer.error=JDO ENHANCER: At least one error occurred while enhancing input class for Transparent Persistence; detailed message(s): {0} - -# {0}=error number, {1}=detailed message -enhancer.enumerated_error=JDO ENHANCER: Error ({0}): {1} - -# {0}=detailed message -enhancer.internal_error=JDO ENHANCER: An internal error occurred while enhancing input class; detailed message: {0} - -# {0}=detailed message -enhancer.warning=JDO ENHANCER: Warning: A problem has been detected while enhancing input class for transparent persistence; detailed message: {0} - - -# -# Enhancer core messages -# - -# -enhancer.io_error_while_reading_stream=I/O error while reading input stream. - -# -enhancer.class_format_error=The input stream does not denote a valid Java class. - -# -enhancer.io_error_while_writing_stream=I/O error while writing output stream. - -# {0}=file name -enhancer.file_not_found=The file {0} was not found. - -# {0}=file name -enhancer.io_error_while_reading_file=I/O error while reading file {0}. - -# {0}=dir name -enhancer.unable_to_create_dir=Unable to create the directory named {0}. - -# {0}=file name -enhancer.class_previously_annotated=The class {0} was previously annotated. - -# {0}=class name, {1}=interface name -enhancer.class_implements_jdo_pc=The class {0} implements the interface {1}. - -# {0}=class name, {1}=method name -enhancer.class_defines_jdo_method=The persistence-capable class {0} defines a JDO method called {1}. - -# {0}=class name, {1}=field name -enhancer.class_defines_jdo_field=The persistence-capable class {0} defines a JDO field called {1}. - -# {0}=class name, {1}=member name -enhancer.class_has_jdo_like_member=The persistence-capable class {0} defines a member {1} whose name starts with the reserved jdo prefix. - - -# -# Unsupported enhancer messages -# -# (don't need to be localized unless we expose the command-line interface -# of the enhancer to the user) -# - -# {0}=class name, {1}=file name, {2}=file name -enhancer.class_already_entered=The class {0} from {1} is already entered from {2}. - -# {0}=dir name, {1}=dir name -enhancer.destination_directory_already_set=Attempt to set the destination directory to {0}, but it has already been set to {1}. - -# {0}=dir name -enhancer.destination_directory_not_exist=The destination directory {0} does not exist. - -# Enhancer generator messages -# {0}=exception string -CME.generic_exception=Some exception occurred in enhancer generator: {0} -CME.generic_exception_stack=Some exception occurred in enhancer generator: - -#Failed to create destination directory. -#{0}=Destination directory -EXC_DestDirCreateFailure=Unable to create destination directory: {0} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancer.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancer.java deleted file mode 100644 index 07bba2c7311..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancer.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer; - -import java.io.InputStream; -import java.io.OutputStream; - -import java.util.zip.ZipInputStream; -import java.util.zip.ZipOutputStream; - - -/** - * A JDO enhancer, or byte-code enhancer, modifies the byte-codes of - * Java class files to enable transparent loading and storing of the - * fields of the persistent instances. - */ -public interface ByteCodeEnhancer -{ - /** - * Enhances a given class according to the JDO meta-data. If the - * input class has been enhanced or not - the output stream is - * always written, either with the enhanced class or with the - * non-enhanced class. - * - * @param inByteCode The byte-code of the class to be enhanced. - * @param outByteCode The byte-code of the enhanced class. - * - * @return true if the class has been enhanced, - * false otherwise. - */ - boolean enhanceClassFile(InputStream inByteCode, - OutputStream outByteCode) - throws EnhancerUserException, EnhancerFatalError; - - - /** - * Enhances a given class according to the JDO meta-data. If the - * input class has been enhanced or not - the output stream is - * always written, either with the enhanced class or with the - * non-enhanced class. - *
    - * Furthermore the enhancer has to set the classname of - * the enhanced class to the output stream wrapper object (it's - * possible to get the input stream without knowing the classname). - * - * @param in The byte-code of the class to be enhanced. - * @param out The byte-code of the enhanced class. - * - * @return true if the class has been enhanced, - * false otherwise. - */ - boolean enhanceClassFile (InputStream in, - OutputStreamWrapper out) - throws EnhancerUserException, - EnhancerFatalError; - -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancerHelper.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancerHelper.java deleted file mode 100644 index d50af642651..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancerHelper.java +++ /dev/null @@ -1,275 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -//ByteCodeEnhancerHelper - Java Source - - -//***************** package *********************************************** - -package com.sun.jdo.api.persistence.enhancer; - - -//***************** import ************************************************ - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; - -import java.util.zip.CRC32; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; -import java.util.zip.ZipOutputStream; - - -//######################################################################### -/** - * This is a helper-class to perform some useful operations outside a - * byte code enhancer and delegate the real work to the enhancer. - */ -//######################################################################### - -public class ByteCodeEnhancerHelper -{ - - - /********************************************************************** - * Enhances a classfile. - * - * @param enhancer The enhancer to delegate the work to. - * @param in The input stream with the Java class. - * @param out The output stream to write the enhanced class to. - * - * @return Has the input stream been enhanced? - * - * @exception EnhancerUserException If something went wrong. - * @exception EnhancerFatalError If something went wrong. - * - * @see ByteCodeEnhancer#enhanceClassFile - *********************************************************************/ - - public static final boolean enhanceClassFile (ByteCodeEnhancer enhancer, - InputStream in, - OutputStream out) - throws EnhancerUserException, - EnhancerFatalError - { - - return enhancer.enhanceClassFile (in, new OutputStreamWrapper (out)); - - } //ByteCodeEnhancerHelper.enhanceClassFile() - - - /********************************************************************** - * Enhances a zip file. The zip file is given as a uip input stream. - * It's entries are read and - if necessary - individually enhanced. - * The output stream has the same compression (if any) as the input - * stream. - * - * @param enhancer The enhancer. - * @param zip_in The zip input stream. - * @param zip_out The zip output stream. - * - * - * - * @exception EnhancerUserException If something went wrong. - * @exception EnhancerFatalError If something went wrong. - * - * @see ByteCodeEnhancer#enhanceClassFile - *********************************************************************/ - - public static final boolean enhanceZipFile (ByteCodeEnhancer enhancer, - ZipInputStream zip_in, - ZipOutputStream zip_out) - throws EnhancerUserException, - EnhancerFatalError - { - - boolean enhanced = false; - try - { - CRC32 crc32 = new CRC32 (); - ZipEntry entry; - while ((entry = zip_in.getNextEntry ()) != null) - { - InputStream in = zip_in; - ZipEntry out_entry = new ZipEntry (entry); - - //try to enhance - if (isClassFileEntry (entry)) //enhance the classfile - { - //we have to copy the classfile, because if it won't be enhanced, - //the OutputStream is empty and we have to re-read the InputStream, - //which is impossiblewith a ZipInputStream (no mark/reset) - in = openZipEntry (zip_in); - in.mark (Integer.MAX_VALUE); - ByteArrayOutputStream tmp = new ByteArrayOutputStream (); - if (enhancer.enhanceClassFile (in, tmp)) - { - enhanced = true; - byte [] bytes = tmp.toByteArray (); - tmp.close (); - in.close (); - modifyZipEntry (out_entry, bytes, crc32); - in = new ByteArrayInputStream (bytes); - } - else - { - //the classfile has not been enhanced - in.reset (); - } - } - - //copy the entry - zip_out.putNextEntry (out_entry); - copyZipEntry (in, zip_out); - zip_out.closeEntry (); - - if (in != zip_in) - { - in.close (); - } - } - } - catch (IOException ex) - { - throw new EnhancerFatalError (ex); - } - - return enhanced; - - } //ByteCodeEnhancerHelper.enhanceZipFile() - - - /********************************************************************** - * Copies a zip entry from one stream to another. - * - * @param in The inout stream. - * @param out The output stream. - * - * @exception IOException If the stream access failed. - *********************************************************************/ - - private static final void copyZipEntry (InputStream in, - OutputStream out) - throws IOException - { - - int b; - while ((in.available () > 0) && (b = in.read ()) > -1) - { - out.write (b); - } - - } //ByteCodeEnhancerHelper.copyZipEntry() - - - /********************************************************************** - * Opens the next zip entry of a zip input stream and copies it to - * a java.io.ByteArrayOutputStream. It's byte array is made - * available via an java.io.ByteArrayInputStream which is - * returned. - * - * @param in The zip input stream. - * - * @return The newly created input stream with the next zip entry. - * - * @exception IOException If an I/O operation failed. - *********************************************************************/ - - private static final InputStream openZipEntry (ZipInputStream in) - throws IOException - { - - ByteArrayOutputStream out = new ByteArrayOutputStream (); - copyZipEntry (in, out); - - return new ByteArrayInputStream (out.toByteArray ()); - - } //ByteCodeEnhancerHelper.openZipEntry() - - - /********************************************************************** - * Modifies the given zip entry so that it can be added to zip file. - * The given zip entry represents an enhanced class, so the zip entry - * has to get the correct size and checksum (but only it the entry won't - * be compressed). - * - * @param entry The zip entry to modify. - * @param bytes The uncompressed byte representation of the classfile. - * @param crc32 The checksum evaluator. - *********************************************************************/ - - private static final void modifyZipEntry (ZipEntry entry, - byte [] bytes, - CRC32 crc32) - { - - entry.setSize (bytes.length); - if (entry.getMethod () == 0) //no compression (ZipInputStream.STORED - not accessible) - { - crc32.reset (); - crc32.update (bytes); - entry.setCrc (crc32.getValue ()); - entry.setCompressedSize (bytes.length); - } - - } //ByteCodeEnhancerHelper.modifyZipEntry() - - - /********************************************************************** - * Determines if a given entry represents a classfile. - * - * @return Does the given entry represent a classfile? - *********************************************************************/ - - private static final boolean isClassFileEntry (ZipEntry entry) - { - - return entry.getName ().endsWith (".class"); - - } //ByteCodeEnhancerHelper.isClassFileEntry() - - -} //ByteCodeEnhancerHelper - - -//ByteCodeEnhancer - Java Source End diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancerTimer.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancerTimer.java deleted file mode 100644 index 3b3860938b2..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/ByteCodeEnhancerTimer.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer; - -import java.io.InputStream; -import java.io.OutputStream; - -import com.sun.jdo.api.persistence.enhancer.util.Support; - - -//@lars: changes to reflect to new ByteCodeEnhancer interface - - -//@olsen: new class -public final class ByteCodeEnhancerTimer - extends Support - implements ByteCodeEnhancer -{ - // delegate - final protected ByteCodeEnhancer delegate; - - /** - * Creates an instance. - */ - public ByteCodeEnhancerTimer(ByteCodeEnhancer delegate) - { - affirm(delegate); - this.delegate = delegate; - } - - public boolean enhanceClassFile(InputStream inByteCode, - OutputStream outByteCode) - throws EnhancerUserException, EnhancerFatalError - { - try { - timer.push("ByteCodeEnhancer.enhanceClassFile(InputStream,OutputStream)");//NOI18N - return delegate.enhanceClassFile(inByteCode, outByteCode); - } finally { - timer.pop(); - } - } - - public boolean enhanceClassFile(InputStream inByteCode, - OutputStreamWrapper outByteCode) - throws EnhancerUserException, EnhancerFatalError - { - try { - timer.push("ByteCodeEnhancer.enhanceClassFile(InputStream,OutputStreamWrapper)");//NOI18N - return delegate.enhanceClassFile(inByteCode, outByteCode); - } finally { - timer.pop(); - } - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/EnhancerFatalError.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/EnhancerFatalError.java deleted file mode 100644 index 41a5fbe37e6..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/EnhancerFatalError.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer; - - -/** - * Thrown to indicate that the class-file enhancer failed to perform an - * operation due to a serious error. The enhancer is not guaranteed to - * be in a consistent state anymore. - */ -public class EnhancerFatalError - extends Exception -{ - /** - * An optional nested exception. - */ - public final Throwable nested; - - /** - * Constructs an EnhancerFatalError with no detail message. - */ - public EnhancerFatalError() - { - this.nested = null; - } - - /** - * Constructs an EnhancerFatalError with the specified - * detail message. - */ - public EnhancerFatalError(String msg) - { - super(msg); - this.nested = null; - } - - /** - * Constructs an EnhancerFatalError with an optional - * nested exception. - */ - public EnhancerFatalError(Throwable nested) - { - super(nested.toString()); - this.nested = nested; - } - - /** - * Constructs an EnhancerFatalError with the specified - * detail message and an optional nested exception. - */ - public EnhancerFatalError(String msg, Throwable nested) - { - super(msg); - this.nested = nested; - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/EnhancerUserException.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/EnhancerUserException.java deleted file mode 100644 index 933299acdd3..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/EnhancerUserException.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer; - - -/** - * Thrown to indicate that the class-file enhancer failed to perform an - * operation due to an error. The enhancer is guaranteed to remain in a - * consistent state. - */ -public class EnhancerUserException - extends Exception -{ - /** - * An optional nested exception. - */ - public final Throwable nested; - - /** - * Constructs an EnhancerUserException with no detail message. - */ - public EnhancerUserException() - { - this.nested = null; - } - - /** - * Constructs an EnhancerUserException with the specified - * detail message. - */ - public EnhancerUserException(String msg) - { - super(msg); - this.nested = null; - } - - /** - * Constructs an EnhancerUserException with an optional - * nested exception. - */ - public EnhancerUserException(Throwable nested) - { - super(nested.toString()); - this.nested = nested; - } - - /** - * Constructs an EnhancerUserException with the specified - * detail message and an optional nested exception. - */ - public EnhancerUserException(String msg, Throwable nested) - { - super(msg); - this.nested = nested; - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/FilterEnhancer.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/FilterEnhancer.java deleted file mode 100644 index e6e873d4b94..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/FilterEnhancer.java +++ /dev/null @@ -1,375 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * FilterEnhancer.java - */ - -package com.sun.jdo.api.persistence.enhancer; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.PrintWriter; -import java.io.DataInputStream; -import java.io.DataOutputStream; - -import java.util.Properties; - -import com.sun.jdo.api.persistence.model.Model; - -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaData; -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaDataModelImpl; -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaDataPropertyImpl; - -import com.sun.jdo.api.persistence.enhancer.impl.EnhancerControl; -import com.sun.jdo.api.persistence.enhancer.impl.Environment; -import com.sun.jdo.api.persistence.enhancer.impl.ClassControl; - -import com.sun.jdo.api.persistence.enhancer.classfile.ClassFile; - -//@olsen: added: support for I18N -import com.sun.jdo.api.persistence.enhancer.util.Support; -import com.sun.jdo.api.persistence.enhancer.util.UserException; -import com.sun.jdo.api.persistence.enhancer.util.ClassFileSource; - - -//@lars: the output stream is always written with the class - even if it hasn't been enhanced -//@lars: added an error-PrintWriter to all constructors -//@lars: changes to reflect the new ByteCodeEnhancer interface - - -/** - * Implements a JDO enhancer as a byte-code filtering tool. - */ -//@olsen: added class -public class FilterEnhancer - extends Support - implements ByteCodeEnhancer -{ - static public final String DO_SIMPLE_TIMING - = "ByteCodeEnhancer.doSimpleTiming";//NOI18N - static public final String VERBOSE_LEVEL - = "ByteCodeEnhancer.verboseLevel";//NOI18N - static public final String VERBOSE_LEVEL_QUIET - = "quiet";//NOI18N - static public final String VERBOSE_LEVEL_WARN - = "warn";//NOI18N - static public final String VERBOSE_LEVEL_VERBOSE - = "verbose";//NOI18N - static public final String VERBOSE_LEVEL_DEBUG - = "debug";//NOI18N - - /* Central repository for the options selected by - * the user and the current state of the Filter execution */ - private Environment env = new Environment(); - - private EnhancerControl econtrol = new EnhancerControl(env); - -// private StringWriter errString = new StringWriter(); -// private PrintWriter err = new PrintWriter(errString, true); - - /** - * Initializes an instance of a JDO enhancer. - * @param metaData the JDO meta-data object - * @param settings enhancement properties - * @param out standard ouput stream for the enhancer - */ - protected void init(JDOMetaData metaData, - Properties settings, - PrintWriter out, - PrintWriter err) - throws EnhancerUserException, EnhancerFatalError - { - if (metaData == null) { - //@olsen: support for I18N - throw new EnhancerFatalError( - getI18N("enhancer.internal_error",//NOI18N - "Illegal argument: metaData == null"));//NOI18N - } - - env.setJDOMetaData(metaData); - - // set verbose level - if (err != null) - { - env.setErrorWriter(err); - } - if (out != null) - { - env.setOutputWriter(out); - } - final String verboseLevel - = (settings == null ? null : settings.getProperty(VERBOSE_LEVEL)); - if (VERBOSE_LEVEL_QUIET.equals(verboseLevel)) { - env.setVerbose(false); - env.setQuiet(true); - } else if (VERBOSE_LEVEL_WARN.equals(verboseLevel)) { - env.setVerbose(false); - env.setQuiet(false); - } else if (VERBOSE_LEVEL_VERBOSE.equals(verboseLevel)) { - env.setVerbose(true); - env.setQuiet(false); - } else if (VERBOSE_LEVEL_DEBUG.equals(verboseLevel)) { - env.setVerbose(true); - env.setQuiet(false); - } else { - env.setVerbose(false); - env.setQuiet(false); - } - - //@olsen: force settings - env.setNoOptimization(true); - env.messageNL("FilterEnhancer: forced settings: -noopt");//NOI18N - } - - /** - * Creates an instance of a JDO enhancer. - * @param metaData the JDO meta-data object - * @param settings enhancement properties - * @param out standard ouput stream for the enhancer - */ - public FilterEnhancer(JDOMetaData metaData, - Properties settings, - PrintWriter out, - PrintWriter err) - throws EnhancerUserException, EnhancerFatalError - { - init(metaData, settings, out, err); - } - - /** - * Creates an instance of a JDO enhancer. - * @param metaData the JDO meta-data properties - * @param settings enhancement properties - * @param out standard ouput stream for the enhancer - */ - public FilterEnhancer(Properties metaData, - Properties settings, - PrintWriter out, - PrintWriter err) - throws EnhancerUserException, EnhancerFatalError - { - if (metaData == null) { - //@olsen: support for I18N - throw new EnhancerFatalError( - getI18N("enhancer.internal_error",//NOI18N - "Illegal argument: metaData == null"));//NOI18N - } - - final JDOMetaData meta - = new JDOMetaDataPropertyImpl(metaData, out); - init(meta, settings, out, err); - } - - /** - * Creates an instance of a JDO enhancer. - * @param metaData the JDO model - * @param settings enhancement properties - * @param out standard ouput stream for the enhancer - */ - public FilterEnhancer(Model metaData, - Properties settings, - PrintWriter out, - PrintWriter err) - throws EnhancerUserException, EnhancerFatalError - { - if (metaData == null) { - //@olsen: support for I18N - throw new EnhancerFatalError( - getI18N("enhancer.internal_error",//NOI18N - "Illegal argument: metaData == null"));//NOI18N - } - - final JDOMetaData meta - = new JDOMetaDataModelImpl(metaData, - env.getOutputWriter()); - init(meta, settings, out, err); - } - - - /** - * Enhances a given class according to the JDO meta-data. - */ - public boolean enhanceClassFile(InputStream inByteCode, - OutputStreamWrapper outByteCode) - throws EnhancerUserException, EnhancerFatalError - { - env.messageNL("FilterEnhancer: enhancing classfile ...");//NOI18N - - // reset environment to clear class map etc. - env.reset(); - - // enhance class file; check Exceptions - final boolean changed; - try { - changed = enhanceClassFile1(inByteCode, outByteCode); - } catch (UserException ex) { - // note: catch UserException before RuntimeException - - // reset environment to clear class map etc. - env.reset(); - //@olsen: support for I18N - throw new EnhancerUserException( - getI18N("enhancer.error",//NOI18N - ex.getMessage()), - ex); - } catch (RuntimeException ex) { - // note: catch UserException before RuntimeException - - // reset environment to clear class map etc. - env.reset(); - //@olsen: support for I18N - ex.printStackTrace (); - throw new EnhancerFatalError( - getI18N("enhancer.internal_error",//NOI18N - ex.getMessage()), - ex); - } - - env.messageNL(changed - ? "FilterEnhancer: classfile enhanced successfully."//NOI18N - : "FilterEnhancer: classfile not changed.");//NOI18N - return changed; - } - - /** - * Enhances a given class according to the JDO meta-data. - */ - private boolean enhanceClassFile1(InputStream inByteCode, - OutputStreamWrapper outByteCode) - { - // check arguments - affirm(inByteCode, "Illegal argument: inByteCode == null.");//NOI18N - affirm(outByteCode, "Illegal argument: outByteCode == null.");//NOI18N - - // parse class - final ClassFileSource cfs; - final ClassFile cf; - final ClassControl cc; - try { - // create class file source - cfs = new ClassFileSource(null, inByteCode); - - // create class file - final DataInputStream dis = cfs.classFileContents(); - cf = new ClassFile(dis); -//@lars: do not close the input stream -// dis.close(); - - // create class control - cc = new ClassControl(cfs, cf, env); - env.addClass(cc); - - // get real class name - final String className = cc.className(); - cfs.setExpectedClassName(className); - } catch (IOException ex) { - //@olsen: support for I18N - throw new UserException( - getI18N("enhancer.io_error_while_reading_stream"),//NOI18N - ex); - } catch (ClassFormatError ex) { - //@olsen: support for I18N - throw new UserException( - getI18N("enhancer.class_format_error"),//NOI18N - ex); - } - - // enhance class - econtrol.modifyClasses(); - if (env.errorCount() > 0) { - // retrieve error messages - env.getErrorWriter ().flush (); - /* - final String str = errString.getBuffer().toString(); - - // reset env's error writer - errString = new StringWriter(); - err = new PrintWriter(errString, true); - env.setErrorWriter(err); - */ - - //@olsen: support for I18N - throw new UserException(env.getLastErrorMessage ()); - } - - // write class - boolean changed = (cc.updated() && cc.filterRequired()); - try { - if (changed) - { - env.message("writing enhanced class " + cc.userClassName()//NOI18N - + " to output stream");//NOI18N - } - else - { - env.message("no changes on class " + cc.userClassName()); - } - outByteCode.setClassName (cc.userClassName ()); - final DataOutputStream dos = new DataOutputStream(outByteCode.getStream ()); - cf.write(dos); - dos.flush(); - } catch (IOException ex) { - //@olsen: support for I18N - throw new UserException( - getI18N("enhancer.io_error_while_writing_stream"),//NOI18N - ex); - } - return changed; - } - - - /********************************************************************** - * - *********************************************************************/ - - public boolean enhanceClassFile (InputStream in, - OutputStream out) - throws EnhancerUserException, - EnhancerFatalError - { - - return enhanceClassFile (in, new OutputStreamWrapper (out)); - - } //FilterEnhancer.enhanceClassFile() - - -} //FilterEnhancer diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/LogHelperEnhancer.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/LogHelperEnhancer.java deleted file mode 100644 index 0bc89780eb6..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/LogHelperEnhancer.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Piali Nag - */ -public class LogHelperEnhancer { - - /** The component name for this component - */ - protected static final String componentName = "enhancer"; // NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = - LogHelperEnhancer.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = - "com.sun.jdo.api.persistence.enhancer.Bundle"; // NOI18N - - /** Return the logger for the enhancer component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/Main.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/Main.java deleted file mode 100644 index 7ec44f35f60..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/Main.java +++ /dev/null @@ -1,1145 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer; - -//@olsen: -//import java.io.*; -import java.io.IOException; -import java.io.FileNotFoundException; -import java.io.File; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.PrintWriter; -import java.io.FileReader; -import java.io.BufferedReader; - -//@olsen: -//import java.util.*; -import java.util.Collection; -import java.util.Iterator; -import java.util.ArrayList; -import java.util.Properties; -import java.util.StringTokenizer; - -import java.util.zip.ZipInputStream; -import java.util.zip.ZipOutputStream; - -import java.net.URL; - -import com.sun.enterprise.util.io.FileUtils; -import com.sun.jdo.api.persistence.model.Model; - -//import com.sun.jdo.api.persistence.enhancer.util.ClassFileSource; -//import com.sun.jdo.api.persistence.enhancer.util.ZipFileRegistry; -//import com.sun.jdo.api.persistence.enhancer.util.ClassPath; -//import com.sun.jdo.api.persistence.enhancer.util.FilePath; - -//@olsen: added support for timing statistics -import com.sun.jdo.api.persistence.enhancer.util.Support; - -//import com.sun.jdo.api.persistence.enhancer.classfile.ClassFile; - -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaData; -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaDataModelImpl; -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaDataPropertyImpl; -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaDataTimer; - -//import com.sun.jdo.api.persistence.enhancer.impl.ClassControl; -//import com.sun.jdo.api.persistence.enhancer.impl.Environment; - - -//import org.openidex.jarpackager.ArchiveEntry; //@yury Added the capability to create ClassFileSources out of ArchiveEntries - -//@olsen: disabled feature -/* -import com.sun.jdo.api.persistence.enhancer.impl.FieldMap; -*/ - -//@lars: moved functionality into ByteCodeEnhancerHelper -//@lars: design improvements -//@olsen: cosmetics -//@olsen: subst: [iI]Persistent -> [pP]ersistenceCapable -//@olsen: subst: /* ... */ -> // ... -//@olsen: moved: class FilterError -> package util -//@olsen: moved: OSCFP.addClass(ClassControl) -> impl.Environment -//@olsen: subst: filterEnv.classMap.elements() -> filterEnv.getClasses() -//@olsen: subst: filterEnv.classMap.get(name) -> filterEnv.getClass(name) -//@olsen: subst: filterEnv.translations -> filterEnv.translations() -//@olsen: subst: filterEnv.translations -> filterEnv.destinationDirectory() -//@olsen: subst: OSCFP -> Main -//@olsen: subst: filterEnv -> env -//@olsen: subst: FilterEnv -> Environment -//@olsen: dropped parameter 'Environment env', use association instead -//@olsen: subst: augment -> closeOver -//@olsen: subst: collectAllClasses -> collectClasses -//@olsen: subst: Vector -> Collection, List, ArrayList -//@olsen: subst: Hashtable -> Map, HashMap -//@olsen: subst: Enumeration,... -> Iterator, hasNext(), next() -//@olsen: moved: Main.closeOverClasses() -> EnhancerControl -//@olsen: moved: Main.closeOverClass(ClassControl) -> EnhancerControl -//@olsen: moved: Main.modifyClasses() -> EnhancerControl -//@olsen: moved: Main.retargetClasses() -> EnhancerControl -//@olsen: moved: Main.locateTranslatedClasses() -> EnhancerControl -//@olsen: moved: Main.checkIndexableFields() -> EnhancerControl -//@olsen: subst: (ClassControl) control -> cc -//@olsen: removed: proprietary support for HashCode -//@olsen: removed: proprietary support for TypeSummary -//@olsen: removed: proprietary support for ClassInfo -//@olsen: removed: proprietary support for IndexableField -//@olsen: removed: support for IgnoreTransientField, AddedTransientField -//@olsen: removed: support for [No]AnnotateField - - -/** - * Main is the starting point for the persistent filter tool. - */ -public class Main -{ - - - /** - * The byte code enhancer. - */ - private ByteCodeEnhancer enhancer = null; - - - /** - * The stream to write messages to. - */ - private final PrintWriter outMessages = new PrintWriter (System.out, true); - - - /** - * The stream to write error messages to. - */ - private final PrintWriter outErrors = new PrintWriter (System.err, true); - - - /** - * The command line options. - */ - private final CmdLineOptions cmdLineOpts = new CmdLineOptions (); - - - /** - * Construct a filter tool instance - */ - public Main() { - } - - - /** - * This is where it all starts. - */ - public static void main(String[] argv) { - //@olsen: added support for timing statistics - final Main main = new Main(); - try { - //@olsen: split: method filter() -> process(), processArgs() - //System.exit(new Main().process(argv)); - main.process(argv); - } catch (RuntimeException tt) { - //} catch (Throwable tt) { - //@olsen: changed to print to error stream - System.err.println("Exception occurred while postprocessing:"); - tt.printStackTrace(System.err); - //System.exit(1); - throw tt; - } finally { - //@olsen: added support for timing statistics - if (main.cmdLineOpts.doTiming) { - Support.timer.print(); - } - } - } - - /** - * Process command line options and perform filtering tasks - */ - //@olsen: split: method filter() -> process(), processArgs() - public int process(String[] argv) { - //@olsen: added inplace of disabled feature - ArrayList cNames = new ArrayList(); - //@olsen: split: method filter() -> process(), processArgs() - int res = processArgs(argv, cNames); - if (res != 0) { - //@olsen: added println() - printMessage ("aborted with errors.");//NOI18N - return res; - } - - //@olsen: added support for timing statistics - try { - if (this.cmdLineOpts.doTiming) { - Support.timer.push("Main.process(String[])");//NOI18N - } - - // Find all of the classes on which we want to operate -//@olsen: disabled feature - enhanceInputFiles (cNames); -/* - computeClasses(pcNames, paNames, ccNames); -*/ - - printMessage ("done.");//NOI18N - return 0; - } finally { - if (this.cmdLineOpts.doTiming) { - Support.timer.pop(); - } - } - } - - /** - * Process command line options - */ - //@olsen: split: method filter() -> process(), processArgs() - //@olsen: made private - protected int processArgs(String[] argv, - //@olsen: added inplace of disabled feature - Collection cNames) { - argv = preprocess(argv); - -//@olsen: disabled feature -/* - ArrayList ccNames = new ArrayList(); - ArrayList pcNames = new ArrayList(); - ArrayList paNames = new ArrayList(); - int classMode = ClassControl.PersistCapable; -*/ - -//@olsen: disabled feature -/* - String classpath = System.getProperty("java.class.path"); - String sysClasspath = System.getProperty("sun.boot.class.path", ""); -*/ - - //@olsen: added - Properties jdoMetaDataProperties = null; - - for (int i=0; i continue - - String arg = argv[i]; -//@olsen: disabled feature -/* - if (arg.equals("-cc") || - arg.equals("-copyclass")) { - classMode = ClassControl.PersistUnknown; - continue; - } - if (arg.equals("-pa") || - arg.equals("-persistaware")) { - classMode = ClassControl.PersistAware; - continue; - } - if (arg.equals("-pc") || - arg.equals("-persistcapable")) { - classMode = ClassControl.PersistCapable; - continue; - } -*/ - if (arg.equals("-v") ||//NOI18N - arg.equals("-verbose")) {//NOI18N - this.cmdLineOpts.verbose = true; - this.cmdLineOpts.quiet = false; - continue; - } - if (arg.equals("-q") ||//NOI18N - arg.equals("-quiet")) {//NOI18N - this.cmdLineOpts.quiet = true; - this.cmdLineOpts.verbose = false; - continue; - } - if (arg.equals("-f") ||//NOI18N - arg.equals("-force")) {//NOI18N - this.cmdLineOpts.forceWrite = true; - continue; - } -//@olsen: disabled feature -/* - if (arg.equals("-inplace")) { - env.setUpdateInPlace(true); - continue; - } -*/ -//@lars: disabled feature -/* - if (arg.equals("-qf") ||//NOI18N - arg.equals("-quietfield")) {//NOI18N - if (argv.length-i < 2) { - usage(); - printError ("Missing argument to the -quietfield option", null);//NOI18N - } else { - String fullFieldName = argv[++i]; - if (fullFieldName.indexOf('.') == -1) { - printError ("Field name specifications must include " +//NOI18N - "a fully qualified class name. " +//NOI18N - fullFieldName + " does not include one.", null);//NOI18N - } else { - env.suppressFieldWarnings(fullFieldName); - } - } - continue; - } - if (arg.equals("-qc") ||//NOI18N - arg.equals("-quietclass")) {//NOI18N - if (argv.length-i < 2) { - usage(); - env.error("Missing argument to the -quietclass option");//NOI18N - } else { - env.suppressClassWarnings(argv[++i]); - } - continue; - } -*/ - if (arg.equals("-nowrite")) {//NOI18N - this.cmdLineOpts.noWrite = true; - continue; - } -//@olsen: disabled feature -/* - if (arg.equals("-modifyjava")) { - env.setModifyJavaClasses(true); - continue; - } -*/ -//@olsen: disabled feature -/* - if (arg.equals("-modifyfinals")) { - env.setAllowFinalModifications(true); - continue; - } -*/ -//@olsen: disabled feature -/* - if (arg.equals("-noarrayopt")) { - env.setNoArrayOptimization(true); - continue; - } -*/ -//@lars: disabled feature -/* - if (arg.equals("-nothisopt")) {//NOI18N - env.setNoThisOptimization(true); - continue; - } - if (arg.equals("-noinitializeropt")) {//NOI18N - env.setNoInitializerOptimization(true); - continue; - } - if (arg.equals("-noopt")) {//NOI18N - env.setNoOptimization(true); - continue; - } -*/ - if (arg.equals("-d") ||//NOI18N - arg.equals("-dest")) {//NOI18N - if (argv.length-i < 2) { - printError ("Missing argument to the -dest option", null);//NOI18N - usage(); - } - this.cmdLineOpts.destinationDirectory = argv[++i]; - continue; - } -//@olsen: disabled feature -/* - if (arg.equals("-classpath") || - arg.equals("-cpath")) { - if (argv.length-i < 2) { - usage(); - env.error("Missing argument to the -classpath option"); - } - classpath = argv[++i]; - continue; - } - if (arg.equals("-sysclasspath") || - arg.equals("-syscpath")) { - if (argv.length-i < 2) { - usage(); - env.error("Missing argument to the -sysclasspath option"); - } - sysClasspath = argv[++i]; - continue; - } -*/ -//@olsen: disabled feature -/* - if (arg.equals("-tp") || - arg.equals("-translatepackage")) { - if (argv.length-i < 3) { - usage(); - env.error("Missing arguments to the -translatepackage option"); - } - env.setPackageTranslation(argv[i+1], argv[i+2]); - i += 2; - continue; - } -*/ - //@olsen: new command line option for timing statistics - if (arg.equals("-t") ||//NOI18N - arg.equals("--doTiming")) {//NOI18N - this.cmdLineOpts.doTiming = true; -// env.setDoTimingStatistics(true); - continue; - } - //@olsen: new command line option for JDO meta data properties - if (arg.equals("-jp") ||//NOI18N - arg.equals("--jdoProperties")) {//NOI18N - if (argv.length-i < 2) { - printError("Missing argument to the -jp/--jdoProperties option", null);//NOI18N - usage(); - } - try { - jdoMetaDataProperties = new Properties(); - jdoMetaDataProperties.load(new FileInputStream(argv[++i])); - } catch (IOException ex) { - printError("Cannot read JDO meta data properties from file", ex);//NOI18N - usage(); - } - continue; - } - if (arg.length() > 0 && arg.charAt(0) == '-') { - printError("Unrecognized option:" + arg, null);//NOI18N - usage(); - } - if (arg.length() == 0) { - printMessage ("Empty file name encountered on the command line.");//NOI18N - } - - //@olsen: added inplace of disabled feature - cNames.add(arg); -//@olsen: disabled feature -/* - { - if (arg.equals("java.lang.Object")) - env.error("java.lang.Object may not be postprocessed"); - else if (classMode == ClassControl.PersistCapable) - pcNames.add(arg); - else if (classMode == ClassControl.PersistAware) - paNames.add(arg); - else if (classMode == ClassControl.PersistUnknown) - ccNames.add(arg); - else - affirm(false, "Invalid class mode"); - } -*/ - } - - //@olsen: forced settings - //env.setVerbose(true); - this.cmdLineOpts.quiet = false; -// env.setNoOptimization(true); -// env.message("forced settings: -noopt");//NOI18N - -/* - if (env.errorCount() > 0) - return 1; -*/ - -//@olsen: disabled feature -/* - env.setClassPath(classpath + - java.io.File.pathSeparator + - sysClasspath); -*/ - - // The user must specify a destination directory - if (this.cmdLineOpts.destinationDirectory == null) { - if (argv.length > 0) - printError("No -dest output directory was specified", null);//NOI18N - usage(); - } - - //@olsen: added: initialize JDO meta data - JDOMetaData jdoMetaData; - if (jdoMetaDataProperties != null) { - printMessage("using JDO meta-data from properties");//NOI18N - jdoMetaData = new JDOMetaDataPropertyImpl(jdoMetaDataProperties, this.outMessages); - } else { - printMessage("using JDO meta-data from Model.Enhancer");//NOI18N - jdoMetaData = new JDOMetaDataModelImpl(Model.ENHANCER, this.outMessages); - } - //@olsen: added support for timing statistics - if (this.cmdLineOpts.doTiming) { - // wrap with timing meta data object - jdoMetaData = new JDOMetaDataTimer(jdoMetaData); - } - - try - { - this.enhancer = createEnhancer (jdoMetaData); - } - catch (Exception ex) - { - printError ("Error creating the enhancer", ex); - } - - -//@olsen: disabled feature -/* - // -translatepackage is incompatible with in-place update. - if (env.updateInPlace() && env.translations().size() > 0) { - env.error("The -translatepackage option cannot be used " + - "in conjunction with the -inplace option."); - return 1; - } -*/ - - // make sure we don't lookup classes from the destination directory - // unless we are doing in-place annotation, and in that case it should - // be as a last resort. -//@lars: removed -/* - if (env.updateInPlace()) - env.moveDestinationDirectoryToEnd(); - else - env.excludeDestinationDirectory(); -*/ - - //@olsen: split: method filter() -> process(), processArgs() - return 0; - } - - // Private methods - - /** - * Preprocess @files, returning a new argv incorporating the contents - * of the @files, if any - */ - private String[] preprocess(String[] args) { - ArrayList argVec = new ArrayList(); - for (int i=0; i 0 && args[i].charAt(0) == '@') { - String filename = null; - if (args[i].length() == 1) { - if (i+1 < args.length) - filename = args[++i]; - } else { - filename = args[i].substring(1); - } - - if (filename == null) { - printError("missing file name argument to @.", null);//NOI18N - } else { - appendFileContents(filename, argVec); - } - } else { - argVec.add(args[i]); - } - } - //@olsen: subst: Vector -> ArrayList - //String[] newArgs = new String[argVec.size()]; - //argVec.copyInto(newArgs); - final String[] newArgs = (String[])argVec.toArray(new String[0]); - return newArgs; - } - - /** - * Given an input file name, open the file and append each "word" - * within the file to argVec. This currently has only a very - * primitive notion of words (separated by white space). - */ - private void appendFileContents(String filename, ArrayList argVec) { - try { - FileReader inputFile = new FileReader(filename); - try { - BufferedReader input = new BufferedReader(inputFile); - String s = null; - while ((s = input.readLine()) != null) { - StringTokenizer parser = new StringTokenizer(s, " \t", false);//NOI18N - while (parser.hasMoreElements()) { - String token = parser.nextToken(); - if (token.length() > 0 && token.charAt(0) == '@') - printError("The included file \"" +//NOI18N - filename + - "\" contains a recursive include. " +//NOI18N - "Recursive includes are not supported.", null);//NOI18N - if (token.charAt(0) == '#') break; - argVec.add(token); - } - } - } - catch (IOException ex) { - printError("IO exception reading file " + filename + ".", ex);//NOI18N - } - } - catch (FileNotFoundException ex) { - printError("file " + filename + " not found.", ex);//NOI18N - } - } - - - /********************************************************************** - * - *********************************************************************/ - - private final ByteCodeEnhancer createEnhancer (JDOMetaData jdometadata) - throws EnhancerUserException, - EnhancerFatalError - { - - Properties props = new Properties (); - if (this.cmdLineOpts.verbose) - { - props.put (FilterEnhancer.VERBOSE_LEVEL, FilterEnhancer.VERBOSE_LEVEL_VERBOSE); - } - - return new FilterEnhancer (jdometadata, props, this.outMessages, this.outErrors); - - } //Main.createEnhancer() - - - /********************************************************************** - * Enhances all files entered in the command line. - * - * @param filenames The filenames. - *********************************************************************/ - - private final void enhanceInputFiles (Collection filenames) - { - - for (Iterator names = filenames.iterator(); names.hasNext ();) - { - try - { - String name = (String) names.next (); - int n = name.length (); - - //if we have a class-files - InputStream in = null; - if (isClassFileName (name)) - { - enhanceClassFile (openFileInputStream (name)); - } - else - { - //if we have an archive - if (isZipFileName (name)) - { - enhanceZipFile (name); //getZipFile (name)); - } - //assume that it is a class name - else - { - enhanceClassFile (openClassInputStream (name)); - } - } - } - catch (Throwable ex) - { - printError (null, ex); - } - } - - } //Main.enhanceInputFiles() - - - /********************************************************************** - * Enhances a classfile. - * - * @param in The input stream of the classfile. - *********************************************************************/ - - private final void enhanceClassFile (InputStream in) - { - - OutputStream out = null; - try - { - File temp = File.createTempFile ("enhancer", ".class"); - out = new BufferedOutputStream (new FileOutputStream (temp)); - - //enhance - OutputStreamWrapper wrapper = new OutputStreamWrapper (out); - boolean enhanced = this.enhancer.enhanceClassFile (in, wrapper); - closeOutputStream (out); - createOutputFile (enhanced, createClassFileName (wrapper.getClassName ()), temp); - } - catch (Throwable ex) - { - printError (null, ex); - } - finally - { - closeInputStream (in); - closeOutputStream (out); - } - - } //Main.enhanceClassFile() - - - /********************************************************************** - * Enhances a zipfile. - * - * @param name The filename of the zipfile. - *********************************************************************/ - - private final void enhanceZipFile (String filename) - { - - ZipInputStream in = null; - ZipOutputStream out = null; - try - { - File temp = File.createTempFile ("enhancer", ".zip"); - in = new ZipInputStream (new BufferedInputStream (new FileInputStream (new File (filename)))); - out = new ZipOutputStream (new BufferedOutputStream (new FileOutputStream (temp))); - - //enhance the zipfile - boolean enhanced = ByteCodeEnhancerHelper.enhanceZipFile (this.enhancer, in, out); - closeOutputStream (out); - out = null; - - //create the output file - createOutputFile (enhanced, new File (filename).getName (), temp); - } - catch (Throwable ex) - { - printError (null, ex); - } - finally - { - closeOutputStream (out); - closeInputStream (in); - } - - } //Main.enhanceZipFile() - - - /********************************************************************** - * Opens an input stream for the given filename - * - * @param filename The name of the file. - * - * @return The input stream. - * - * @exception FileNotFoundException If the file could not be found. - *********************************************************************/ - - private static final InputStream openFileInputStream (String filename) - throws FileNotFoundException - { - - return new BufferedInputStream (new FileInputStream (new File (filename))); - - } //Main.openFileInputStream() - - - /********************************************************************** - * Opens an input stream for the given classname. The input stream is - * created via an URL that is obtained by the current ClassLoader. - * - * @param classname The name of the class (dot-notation). - * - * @return The iput stream. - * - * @exception IOException If an I/O error occured. - * @exception ClassNotFoundException If the class could not be found. - *********************************************************************/ - - private final InputStream openClassInputStream (String classname) - throws IOException, - ClassNotFoundException - { - - URL url = Main.class.getClassLoader ().getSystemResource (createClassFileName (classname)); - if (url == null) - { - throw new ClassNotFoundException (classname); - } - return url.openStream (); - - } //Main.getClassInPath() - - - /********************************************************************** - * Tests if a filename is a classfile name. - * - * @param filename The name of the file. - * - * @return Do we have a potential classfile? - *********************************************************************/ - - private static final boolean isClassFileName (String filename) - { - - return filename.endsWith (".class"); - - } //Main.isClassFileName() - - - /********************************************************************** - * Tests if a filename is a zipfile (only by testing if the extension - - * ignoring the case - is ".zip" or ".jar"). - * - * @param filename The name of the file. - * - * @param Do we have a potential zipfile? - *********************************************************************/ - - private static final boolean isZipFileName (String filename) - { - - final int n = filename.length (); - if (n < 5) - { - return false; - } - String ext = filename.substring (n - 4); - - return ext.equalsIgnoreCase (".zip") || ext.equalsIgnoreCase (".jar"); - - } //Main.isZipFileName - - - /********************************************************************** - * Creates a filename from a classname (by replacing '.' - * by '/'. - * - * @param classname The classname. - * - * @return The filename. - *********************************************************************/ - - private static final String createClassFileName (String classname) - { - - return classname.replace ('.', '/') + ".class"; - - } //Main.createClassFileName() - - - /********************************************************************** - * Creates a file object that represents the output zipfile for a given - * zipfile to enhance. - * - * @param zipfilename The input zipfile name. - * - * @return The output zipfile name. - *********************************************************************/ - - private final File createZipOutputFile (String zipfilename) - { - - return new File (this.cmdLineOpts.destinationDirectory, new File (zipfilename).getName ()); - - } //Main.createZipOutputFile() - - - /********************************************************************** - * Creates the output file for an enhaced class- or zipfile. If the - * enhanced file is written back depends on the command line options. - * - * @param enhanced Has the input file been enhanced? - * @param filename The name of the output file. - * @param temp The temp file, the output is written to. - * - * @exception IOException If the file could not be created. - *********************************************************************/ - - private final void createOutputFile (boolean enhanced, - String filename, - File temp) - throws IOException - { - - //noWrite or (not enhanced and not forceWrite) - if (this.cmdLineOpts.noWrite || ( ! enhanced && ! this.cmdLineOpts.forceWrite)) { - FileUtils.deleteOnExit(temp); - return; - } - - File file = new File (this.cmdLineOpts.destinationDirectory, filename); - createPathOfFile (file); - file.delete (); //delete old file if exists - //@olsen: added workaround to JDK bug with file.renameTo() - boolean renamed = temp.renameTo(file); - if (!renamed) { - //@dave: empirical evidence shows that renameTo does not allow for - // crossing filesystem boundaries. If it fails, try "by hand". - try { - DataInputStream dis = - new DataInputStream(new FileInputStream(temp)); - DataOutputStream dos = - new DataOutputStream(new FileOutputStream(file)); - int PAGESIZE = 4096; // Suggest a better size? - byte data[] = new byte[PAGESIZE]; - while (dis.available() > 0) { - int numRead = dis.read(data, 0, PAGESIZE); - dos.write(data, 0, numRead); - } - renamed = true; - temp.delete (); // delete temp file - } catch (IOException ex) { - // empty - } - if (!renamed) { - throw new IOException("Could not rename temp file '" + - temp.getAbsolutePath() + - "' to '" + file.getAbsolutePath() + "'."); - } - } - } - - - /********************************************************************** - * Closes an input stream. - * - * @param in The input stream. - *********************************************************************/ - - private final void closeInputStream (InputStream in) - { - - if (in != null) - { - try - { - in.close (); - } - catch (IOException ex) - { - printError (null, ex); - } - } - - } //Main.closeInputStream() - - - /********************************************************************** - * Closes an output stream. - * - * @param in The output stream. - *********************************************************************/ - - private final void closeOutputStream (OutputStream out) - { - - if (out != null) - { - try - { - out.close (); - } - catch (IOException ex) - { - printError (null, ex); - } - } - - } //Main.closeOutputStream() - - - /********************************************************************** - * Creates only the path of the given file. - * - * @param file The file. - * - * @exception IOException If an error occured. - *********************************************************************/ - - private static final void createPathOfFile (File file) - throws IOException - { - - //Verzeichnis erzeugen - File dir = file.getAbsoluteFile ().getParentFile (); - if ( ! dir.exists () && ! dir.mkdirs ()) - { - throw new IOException ("Error creating directory '" + dir.getAbsolutePath () + "'."); - } - - } //Main.createPathOfFile() - - - /********************************************************************** - * Prints out an error. - * - * @param msg The error message (can be null). - * @param ex An optional exception (can be null). - *********************************************************************/ - - private final void printError (String msg, - Throwable ex) - { - - if (msg != null) - { - this.outErrors.println (msg + (ex != null ? ": " + ex : "")); - } - if (ex != null) - { - ex.printStackTrace (this.outErrors); - } - - } //Main.printError() - - - /********************************************************************** - * Prints out a message. - * - * @param msg The message. - *********************************************************************/ - - private final void printMessage (String msg) - { - - this.outMessages.println (msg); - - } //Main.printMessage() - - - /** - * Print a usage message to System.err - */ - public static void usage() { - //@olsen: document that main() takes a file name argument - System.err.println("Usage: main "); -//@olsen: disabled feature -/* - System.err.println(" { -copyclass | -cc }"); - System.err.println(" { -persistaware | -pa }"); - System.err.println(" { -persistcapable | -pc }"); -*/ - System.err.println(" { -verbose | -v }"); - System.err.println(" { -force | -f }"); - System.err.println(" { -quiet | -q }"); -// System.err.println(" { -quietfield | -qf } "); -// System.err.println(" { -quietclass | -qc } "); -//@olsen: disabled feature -/* - System.err.println(" -inplace"); -*/ -// System.err.println(" -noarrayopt"); -// System.err.println(" -nothisopt"); -// System.err.println(" -noinitializeropt"); -// System.err.println(" -noopt"); -//@olsen: disabled feature -/* - System.err.println(" -modifyjava"); -*/ -//@olsen: disabled feature -/* - //@olsen: added missing cmd line option - System.err.println(" -modifyfinals"); -*/ - System.err.println(" -nowrite"); - System.err.println(" -dest | -d "); -//@olsen: disabled feature -/* - System.err.println(" { -translatepackage | -tp } "); -*/ -//@olsen: disabled feature -/* - System.err.println(" { -arraydims | -a } "); -*/ -//@olsen: disabled feature -/* - System.err.println(" { -classpath | -cpath } "); - System.err.println(" { -sysclasspath | -syscpath } "); -*/ - //@olsen: new command line option for JDO meta data properties - System.err.println(" --jdoProperties | -jp"); - System.err.println(" --timing | -t"); - - System.err.println(" @"); - - System.exit (1); - } - - - //##################################################################### - /** - * A class for holding the command line options. - */ - //##################################################################### - - private final class CmdLineOptions - { - - - /** - * The destination directory to write the enhanced classes to. - */ - String destinationDirectory = null; - - - /** - * Do timing messures? - */ - boolean doTiming = false; - - - /** - * Verbose output? - */ - boolean verbose = false; - - - /** - * No output at all? - */ - boolean quiet = false; - - - /** - * Force a write even if the classfile has not been enhanced? - */ - boolean forceWrite = false; - - - /** - * Really write the enhanced or not enhanced classes to disk? - */ - boolean noWrite = false; - - - } //CmdLineOptions - - -} //Main diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/OutputStreamWrapper.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/OutputStreamWrapper.java deleted file mode 100644 index 6f7c78317a5..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/OutputStreamWrapper.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -//OutputStreamWrapper - Java Source - - -//***************** package *********************************************** - -package com.sun.jdo.api.persistence.enhancer; - - -//***************** import ************************************************ - -import java.io.OutputStream; - - -//######################################################################### -/** - * This class serves as a wrapper for an output stream of a class file. The - * stream is passed as a parameter to the byte code enhancer, that can - * sets the classname of the written Java class to the wrapper. - *
    - * This wrapper is necessary to determine the classname outside the enhancer, - * after the class has been enhanced, since do do not always know the - * classname of an opened input stream. - *

    - */ -//######################################################################### - -public class OutputStreamWrapper -{ - - - /** - * The wrapped output stream. - */ - private OutputStream out; - - - /** - * The classname of the written Java class. This parameter - * is set by the enhancer. - */ - private String className = null; - - - /********************************************************************** - * Constructs a new object. - * - * @param out The output stream to wrap. - *********************************************************************/ - - public OutputStreamWrapper (OutputStream out) - { - - this.out = out; - - } //OutputStreamWrapper. - - - /********************************************************************** - * Gets the wrapped output stream. - * - * @return The wrapped output stream. - * - * @see #out - *********************************************************************/ - - public final OutputStream getStream () - { - - return this.out; - - } //NamedOuptutStream.getStream() - - - /********************************************************************** - * Gets the classname of the written Java class. This method should be - * called after the class has been enhanced. - * - * @return The name of the written Java class. - * - * @see #className - *********************************************************************/ - - public final String getClassName () - { - - return this.className; - - } //OutputStreamWrapper.getClassName() - - - /********************************************************************** - * Sets the name of the written Java class. This method should be called - * by the enhancer. - * - * @param classname The name of the Java class. - * - * @see #className - *********************************************************************/ - - public final void setClassName (String classname) - { - - this.className = classname; - - } //OutputStreamWrapper.setClassName() - - -} //OutputStreamWrapper - - -//OutputStreamWrapper - Java Source End diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/PersistenceLauncher.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/PersistenceLauncher.java deleted file mode 100644 index 60804535b92..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/PersistenceLauncher.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright 2019-2022 Payara Foundation and/or its affiliates -// Payara Foundation and/or its affiliates elects to include this software in this distribution under the GPL Version 2 license -/* - * PersistenceLauncher.java - * - * Created on July 3, 2000, 8:22 AM - */ - -package com.sun.jdo.api.persistence.enhancer; - -import java.io.PrintWriter; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -import com.sun.jdo.api.persistence.enhancer.util.Support; - -/** - * Application launcher for persistence-capable classes. - * - * @author Martin Zaun - * @version 1.1 - */ -public class PersistenceLauncher { - - // chose whether to separate or join out and err channels - // static private final PrintWriter err = new PrintWriter(System.err, true); - static private final PrintWriter err = new PrintWriter(System.out, true); - static private final PrintWriter out = new PrintWriter(System.out, true); - static private final String prefix = "PersistenceLauncher.main() : ";// NOI18N - - /** - * Creates new PersistenceLauncher. - */ - private PersistenceLauncher() { - } - - /** - * Prints usage message. - */ - static void usage() { - out.flush(); - err.println("PersistenceLauncher:"); - err.println(" usage: ... ..."); - err.println(" options:"); - err.println(" -h | --help"); - err.println(" -q | --quiet"); - err.println(" -w | --warn"); - err.println(" -d | --debug"); - err.println(" -t | --timing"); - err.println(" class names have to be fully qualified"); - err.println("done."); - err.println(); - err.flush(); - } - - /** - * Creates a class loader and launches a target class. - * - * @param args the command line arguments - */ - public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalAccessException, - IllegalArgumentException, InvocationTargetException { - - // get launcher options - String classpath = System.getProperty("java.class.path"); - boolean debug = false; - boolean timing = false; - String targetClassname = null; - String[] targetClassArgs = null; - - for (int i = 0; i < args.length; i++) { - String arg = args[i]; - if (arg.equals("-h")// NOI18N - || arg.equals("--help")) {// NOI18N - usage(); - - // exit gently - return; - } - if (arg.equals("-t")// NOI18N - || arg.equals("--timing")) {// NOI18N - timing = true; - continue; - } - if (arg.equals("-d")// NOI18N - || arg.equals("--debug")) {// NOI18N - debug = true; - continue; - } - if (arg.equals("-w")// NOI18N - || arg.equals("--warn")) {// NOI18N - debug = false; - continue; - } - if (arg.equals("-q")// NOI18N - || arg.equals("--quiet")) {// NOI18N - debug = false; - continue; - } - - // get target class name - targetClassname = arg; - - // copy remaining arguments and leave loop - i++; - final int length = args.length - i; - targetClassArgs = new String[length]; - System.arraycopy(args, i, targetClassArgs, 0, length); - break; - } - - // debugging oputput - if (debug) { - out.println(prefix + "...");// NOI18N - out.println("settings and arguments:");// NOI18N - out.println(" classpath = " + classpath);// NOI18N - out.println(" debug = " + debug);// NOI18N - out.println(" targetClassname = " + targetClassname);// NOI18N - out.print(" targetClassArgs = { ");// NOI18N - for (int i = 0; i < targetClassArgs.length; i++) { - out.print(targetClassArgs[i] + " ");// NOI18N - } - out.println("}");// NOI18N - } - - // check options - if (targetClassname == null) { - usage(); - throw new IllegalArgumentException("targetClassname == null");// NOI18N - } - - // get class loader - final ClassLoader loader; - if (debug) { - out.println(prefix + "using system class loader");// NOI18N - } - // out.println("using system class loader"); - loader = PersistenceLauncher.class.getClassLoader(); - - // get target class' main method - Class clazz; - Method main; - try { - String mname = "main"; - Class[] mparams = new Class[] { String[].class }; - boolean init = true; - if (debug) { - out.println(prefix + "getting method " + targetClassname + "." + mname + "(String[])"); - } - clazz = Class.forName(targetClassname, init, loader); - main = clazz.getDeclaredMethod(mname, mparams); - } catch (ClassNotFoundException | NoSuchMethodException | SecurityException e) { - // log exception only - if (debug) { - out.flush(); - err.println("PersistenceLauncher: EXCEPTION SEEN: " + e); - e.printStackTrace(err); - err.flush(); - } - throw e; - } - - // Invoke target class' main method - try { - Object[] margs = new Object[] { targetClassArgs }; - if (debug) { - out.println("invoking method " + clazz.getName() + "." + main.getName() + "(String[])"); - } - main.invoke(null, margs); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { - // log exception only - if (debug) { - out.flush(); - err.println("PersistenceLauncher: EXCEPTION SEEN: " + e); - e.printStackTrace(err); - err.flush(); - } - throw e; - } finally { - if (timing) { - Support.timer.print(); - } - } - - if (debug) { - out.println(prefix + "done.");// NOI18N - out.flush(); - err.flush(); - } - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/URLClassPath.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/URLClassPath.java deleted file mode 100644 index 9bde94ed7a1..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/URLClassPath.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2019-2022 Payara Foundation and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * The Payara Foundation designates this particular file as subject to the "Classpath" - * exception as provided by the Payara Foundation in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -package com.sun.jdo.api.persistence.enhancer; - -import java.io.IOException; -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; -import java.net.URL; -import java.security.AccessControlContext; -import java.security.cert.Certificate; -import java.util.jar.Manifest; - -/** - * - * @author Gaurav Gupta - */ -public class URLClassPath { - - private static final String URL_CLASSPATH_CLASS_NAME = "jdk.internal.loader.URLClassPath"; - private static Constructor constructor; - private static final String GET_RESOURCE_METHOD_NAME = "getResource"; - private static Method getResource; - - private Object instance; - - public URLClassPath(URL[] urls, AccessControlContext acc) { - try { - if (constructor == null) { - Class clazz = Class.forName(URL_CLASSPATH_CLASS_NAME); - constructor = clazz.getConstructor(URL[].class, AccessControlContext.class); - } - instance = constructor.newInstance(urls, acc); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - - } - - Resource getResource(String name, boolean check) { - if (getResource == null) { - getResource = getMethod(instance, GET_RESOURCE_METHOD_NAME, String.class, boolean.class); - } - return new Resource(invoke(instance, getResource, name, check)); - } - - static Method getMethod(Object instance, String name, Class... parameterTypes) { - try { - return instance.getClass().getMethod(name, parameterTypes); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - - static Object invoke(Object instance, Method method, Object... args) { - try { - return method.invoke(instance, args); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - -} - -class Resource { - - private final Object instance; - private static final String GET_CODE_SOURCE_URL_METHOD_NAME = "getCodeSourceURL"; - private static Method getCodeSourceURL; - private static final String GET_MANIFEST_METHOD_NAME = "getManifest"; - private static Method getManifest; - private static final String GET_BYTES_METHOD_NAME = "getBytes"; - private static Method getBytes; - private static final String GET_CERTIFICATES_METHOD_NAME = "getCertificates"; - private static Method getCertificates; - - public Resource(Object instance) { - this.instance = instance; - } - - public URL getCodeSourceURL() { - if (getCodeSourceURL == null) { - getCodeSourceURL = URLClassPath.getMethod(instance, GET_CODE_SOURCE_URL_METHOD_NAME); - } - return (URL) URLClassPath.invoke(instance, getCodeSourceURL); - } - - public Manifest getManifest() throws IOException { - if (getManifest == null) { - getManifest = URLClassPath.getMethod(instance, GET_MANIFEST_METHOD_NAME); - } - return (Manifest) URLClassPath.invoke(instance, getManifest); - } - - public byte[] getBytes() throws IOException { - if (getBytes == null) { - getBytes = URLClassPath.getMethod(instance, GET_BYTES_METHOD_NAME); - } - return (byte[]) URLClassPath.invoke(instance, getBytes); - } - - public Certificate[] getCertificates() { - if (getCertificates == null) { - getCertificates = URLClassPath.getMethod(instance, GET_CERTIFICATES_METHOD_NAME); - } - return (Certificate[]) URLClassPath.invoke(instance, getCertificates); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/AnnotatedClassAttribute.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/AnnotatedClassAttribute.java deleted file mode 100644 index 7b7a74cf14a..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/AnnotatedClassAttribute.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * AnnotatedClassAttribute represents a class level attribute - * class file which identifies the level of annotation of the class. - */ - -public class AnnotatedClassAttribute extends ClassAttribute { - - /* The expected attribute name */ - public final static String expectedAttrName = "filter.annotatedClass";//NOI18N - - /* The expected attribute version */ - public final static short expectedAttrVersion = 1; - - /* Bit mask indicating that the class was filter generated */ - public final static short generatedFlag = 0x1; - - /* Bit mask indicating that the class was filter annotated */ - public final static short annotatedFlag = 0x2; - - /* Bit mask indicating that the class was "repackaged" or similarly - * modified */ - public final static short modifiedFlag = 0x4; - - /* The version of the attribute */ - private short attrVersion; - - /* Flags associated with the annotation */ - private short annotationFlags; - - /* The modification date of the class file at the time of modification */ - private long classModTime; - - /* The date of the annotation */ - private long classAnnotationTime; - - /* public accessors */ - - public short getVersion() { - return attrVersion; - } - - public void setVersion(short version) { - attrVersion = version; - } - - public short getFlags() { - return annotationFlags; - } - - public void setFlags(short flags) { - annotationFlags = flags; - } - - public long getModTime() { - return classModTime; - } - - public void setModTime(long time) { - classModTime = time; - } - - public long getAnnotationTime() { - return classAnnotationTime; - } - - public void setAnnotationTime(long time) { - classAnnotationTime = time; - } - - /** - * Constructor - */ - public AnnotatedClassAttribute( - ConstUtf8 nameAttr, short version, short annFlags, - long modTime, long annTime) { - super(nameAttr); - attrVersion = version; - annotationFlags = annFlags; - classModTime = modTime; - classAnnotationTime = annTime; - } - - /* package local methods */ - - static AnnotatedClassAttribute read( - ConstUtf8 attrName, DataInputStream data, ConstantPool pool) - throws IOException { - short version = data.readShort(); - short annFlags = data.readShort(); - long modTime = data.readLong(); - long annTime = data.readLong(); - return new AnnotatedClassAttribute(attrName, version, annFlags, - modTime, annTime); - } - - void write(DataOutputStream out) throws IOException { - out.writeShort(attrName().getIndex()); - out.writeShort(20); - out.writeShort(attrVersion); - out.writeShort(annotationFlags); - out.writeLong(classModTime); - out.writeLong(classAnnotationTime); - } - - void print(PrintStream out, int indent) { - ClassPrint.spaces(out, indent); - out.println("version: " + attrVersion);//NOI18N - out.println(" flags: " + annotationFlags);//NOI18N - out.println(" modTime: " + classModTime);//NOI18N - out.println(" annTime: " + classAnnotationTime);//NOI18N - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/AnnotatedMethodAttribute.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/AnnotatedMethodAttribute.java deleted file mode 100644 index b7fd85186b4..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/AnnotatedMethodAttribute.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * AnnotatedMethodAttribute represents a class level attribute - * class file which identifies the level of annotation of the class. - */ - -public class AnnotatedMethodAttribute extends ClassAttribute { - - /* The expected attribute name */ - public final static String expectedAttrName = "filter.annotatedMethod";//NOI18N - - /* The expected attribute version */ - public final static short expectedAttrVersion = 1; - - /* Bit mask indicating that the class was filter generated */ - public final static short generatedFlag = 0x1; - - /* Bit mask indicating that the class was filter annotated */ - public final static short annotatedFlag = 0x2; - - /* Bit mask indicating that the class was "repackaged" *///NOI18N - public final static short modifiedFlag = 0x4; - - /* The version of the attribute */ - private short attrVersion; - - /* Flags associated with the annotation */ - private short annotationFlags; - - /* list of targets in the code sequence delimiting inserted instruction - * sequences. Even index targets are a range start (inclusive) and odd - * targets represent a range end (exclusive) */ - private InsnTarget annotationRanges[]; - - /* public accessors */ - - public short getVersion() { - return attrVersion; - } - - public void setVersion(short version) { - attrVersion = version; - } - - public short getFlags() { - return annotationFlags; - } - - public void setFlags(short flags) { - annotationFlags = flags; - } - - public InsnTarget[] getAnnotationRanges() { - return annotationRanges; - } - - public void setAnnotationRanges(InsnTarget[] ranges) { - annotationRanges = ranges; - } - - /** - * Constructor - */ - public AnnotatedMethodAttribute( - ConstUtf8 nameAttr, short version, short annFlags, - InsnTarget[] annRanges) { - super(nameAttr); - attrVersion = version; - annotationFlags = annFlags; - annotationRanges = annRanges; - } - - /* package local methods */ - - static AnnotatedMethodAttribute read( - ConstUtf8 attrName, DataInputStream data, CodeEnv env) - throws IOException { - short version = data.readShort(); - short annFlags = data.readShort(); - - short nRanges = data.readShort(); - - InsnTarget ranges[] = new InsnTarget[nRanges*2]; - for (int i=0; i 0) { - attribs.addElement(ClassAttribute.read(data, constantPool)); - } - return attribs; - } - - /** - * ClassMethod attribute reader - */ - static AttributeVector readAttributes( - DataInputStream data, CodeEnv codeEnv) - throws IOException { - AttributeVector attribs = new AttributeVector(); - int n_attrs = data.readUnsignedShort(); - while (n_attrs-- > 0) { - attribs.addElement(ClassAttribute.read(data, codeEnv)); - } - return attribs; - } - - /** - * Write the attributes to the output stream - */ - void write(DataOutputStream out) throws IOException { - if (attributes == null) { - out.writeShort(0); - } else { - out.writeShort(attributes.length); - for (int i=0; i 0) { - int interfaceIndex = data.readUnsignedShort(); - ConstClass ci = null; - if (interfaceIndex != 0) - ci = (ConstClass) constantPool.constantAt(interfaceIndex); - classInterfaces.addElement(ci); - } - } - - private void writeInterfaces(DataOutputStream data) throws IOException { - data.writeShort(classInterfaces.size()); - for (int i=0; i 0) { - classFields.addElement (ClassField.read(data, constantPool)); - } - } - - private void writeFields (DataOutputStream data) throws IOException { - data.writeShort(classFields.size()); - for (int i=0; i 0) { - classMethods.addElement (ClassMethod.read(data, constantPool)); - } - } - - private void writeMethods (DataOutputStream data) throws IOException { - data.writeShort(classMethods.size()); - for (int i=0; i o2 */ - abstract int compare(int o1Index, int o2Index); - - /* Swap the elements at index o1Index and o2Index */ - abstract void swap(int o1Index, int o2Index); - - void sortArray() { - sortArray(0, size()-1); - } - - private void sortArray(int start, int end) { - if (end > start) { - swap(start, (start+end)/2); - int last = start; - for (int i = start+1; i<=end; i++) { - if (compare(i, start) < 0) - swap (++last, i); - } - swap(start, last); - sortArray(start, last-1); - sortArray(last+1, end); - } - } -} - -class InterfaceArraySorter extends ArraySorter { - private ConstClass theArray[]; - - InterfaceArraySorter(ConstClass[] interfaces) { - theArray = interfaces; - } - - /* return the size of the array being sorted */ - int size() { return theArray.length; } - - /* return -1 if o1 < o2, 0 if o1 == o2, 1 if o1 > o2 */ - int compare(int o1Index, int o2Index) { - return theArray[o1Index].asString().compareTo( - theArray[o2Index].asString()); - } - - /* Swap the elements at index o1Index and o2Index */ - void swap(int o1Index, int o2Index) { - ConstClass tmp = theArray[o1Index]; - theArray[o1Index] = theArray[o2Index]; - theArray[o2Index] = tmp; - } -} - -class FieldArraySorter extends ArraySorter { - private ClassField theArray[]; - - FieldArraySorter(ClassField[] fields) { - theArray = fields; - } - - /* return the size of the array being sorted */ - int size() { return theArray.length; } - - /* return -1 if o1 < o2, 0 if o1 == o2, 1 if o1 > o2 */ - int compare(int o1Index, int o2Index) { - return theArray[o1Index].name().asString().compareTo( - theArray[o2Index].name().asString()); - } - - /* Swap the elements at index o1Index and o2Index */ - void swap(int o1Index, int o2Index) { - ClassField tmp = theArray[o1Index]; - theArray[o1Index] = theArray[o2Index]; - theArray[o2Index] = tmp; - } -} - -class MethodArraySorter extends ArraySorter { - private ClassMethod theArray[]; - - MethodArraySorter(ClassMethod[] methods) { - theArray = methods; - } - - /* return the size of the array being sorted */ - int size() { return theArray.length; } - - /* return -1 if o1 < o2, 0 if o1 == o2, 1 if o1 > o2 */ - int compare(int o1Index, int o2Index) { - int cmp = theArray[o1Index].name().asString().compareTo( - theArray[o2Index].name().asString()); - if (cmp == 0) { - cmp = theArray[o1Index].signature().asString().compareTo( - theArray[o2Index].signature().asString()); - } - return cmp; - } - - /* Swap the elements at index o1Index and o2Index */ - void swap(int o1Index, int o2Index) { - ClassMethod tmp = theArray[o1Index]; - theArray[o1Index] = theArray[o2Index]; - theArray[o2Index] = tmp; - } - - -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassMember.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassMember.java deleted file mode 100644 index 1c38f6100af..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassMember.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -/** - * ClassMember is a common base class for ClassMethod and ClassField - */ - -abstract public class ClassMember implements VMConstants { - - /* public accessors */ - - /** - * Is the member static? - */ - final public boolean isStatic() { - return (access() & ACCStatic) != 0; - } - - /** - * Is the member final? - */ - final public boolean isFinal() { - return (access() & ACCFinal) != 0; - } - - /** - * Turn on or off the final qualifier for the member. - */ - public void setIsFinal(boolean newFinal) { - if (newFinal) - setAccess(access() | ACCFinal); - else - setAccess(access() & ~ACCFinal); - } - - /** - * Is the member private? - */ - final public boolean isPrivate() { - return (access() & ACCPrivate) != 0; - } - - /** - * Is the member protected? - */ - final public boolean isProtected() { - return (access() & ACCProtected) != 0; - } - - /** - * Is the member public? - */ - final public boolean isPublic() { - return (access() & ACCPublic) != 0; - } - - /* These are expected to be implemented by subtypes */ - - /** - * Return the access flags for the method - see VMConstants - */ - abstract public int access(); - - /** - * Set the access flags for the method - see VMConstants - */ - abstract public void setAccess(int newAccess); - - /** - * Return the name of the member - */ - abstract public ConstUtf8 name(); - - /** - * Return the type signature of the method - */ - abstract public ConstUtf8 signature(); - - /** - * Return the attributes associated with the member - */ - abstract public AttributeVector attributes(); - -} - - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassMethod.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassMethod.java deleted file mode 100644 index 81fe3a6b64a..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassMethod.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; -import java.util.Vector; -import java.util.Enumeration; - -/** - * ClassMethod models the static and non-static methods of a class within - * a class file. This includes constructors and initializer code. - */ - -public class ClassMethod extends ClassMember { - /* The name of the constructor code */ - public final static String intializerName = "";//NOI18N - - /* The name of the static initializer code */ - public final static String staticIntializerName = "";//NOI18N - - /* access flag bit mask - see VMConstants */ - private int accessFlags; - - /* The name of the method */ - private ConstUtf8 methodName; - - /* The type signature of the method */ - private ConstUtf8 methodSignature; - - /* The attributes associated with the field */ - private AttributeVector methodAttributes; - - - /* public accessors */ - - /** - * Return the access flags for the method - see VMConstants - */ - public int access() { - return accessFlags; - } - - /** - * Update the access flags for the field - see VMConstants - */ - public void setAccess(int newFlags) { - accessFlags = newFlags; - } - - /** - * Is the method abstract? - */ - public boolean isAbstract() { - return (accessFlags & ACCAbstract) != 0; - } - - /** - * Is the method native? - */ - public boolean isNative() { - return (accessFlags & ACCNative) != 0; - } - - /** - * Return the name of the method - */ - public ConstUtf8 name() { - return methodName; - } - - /** - * Change the name of the method - */ - public void changeName(ConstUtf8 name) { - methodName = name; - } - - /** - * Return the type signature of the method - */ - public ConstUtf8 signature() { - return methodSignature; - } - - /** - * Change the type signature of the method - */ - public void changeSignature(ConstUtf8 newSig) { - methodSignature = newSig; - } - - /** - * Return the attributes associated with the method - */ - public AttributeVector attributes() { - return methodAttributes; - } - - /** - * Construct a class method object - */ - - public ClassMethod(int accFlags, ConstUtf8 name, ConstUtf8 sig, - AttributeVector methodAttrs) { - accessFlags = accFlags; - methodName = name; - methodSignature = sig; - methodAttributes = methodAttrs; - } - - /** - * Returns the size of the method byteCode (if any) - */ - int codeSize() { - CodeAttribute codeAttr = codeAttribute(); - return (codeAttr == null) ? 0 : codeAttr.codeSize(); - } - - /** - * Returns the CodeAttribute associated with this method (if any) - */ - public CodeAttribute codeAttribute() { - Enumeration e = methodAttributes.elements(); - while (e.hasMoreElements()) { - ClassAttribute attr = (ClassAttribute) e.nextElement(); - if (attr instanceof CodeAttribute) - return (CodeAttribute) attr; - } - return null; - } - - /* package local methods */ - - - static ClassMethod read(DataInputStream data, ConstantPool pool) - throws IOException { - int accessFlags = data.readUnsignedShort(); - int nameIndex = data.readUnsignedShort(); - int sigIndex = data.readUnsignedShort(); - ClassMethod f = - new ClassMethod(accessFlags, - (ConstUtf8) pool.constantAt(nameIndex), - (ConstUtf8) pool.constantAt(sigIndex), - null); - - f.methodAttributes = AttributeVector.readAttributes(data, pool); - return f; - } - - void write(DataOutputStream data) throws IOException { - CodeAttribute codeAttr = codeAttribute(); - data.writeShort(accessFlags); - data.writeShort(methodName.getIndex()); - data.writeShort(methodSignature.getIndex()); - methodAttributes.write(data); - } - - void print(PrintStream out, int indent) { - ClassPrint.spaces(out, indent); - out.print("'" + methodName.asString() + "'");//NOI18N - out.print(" sig = " + methodSignature.asString());//NOI18N - out.print(" accessFlags = " + Integer.toString(accessFlags));//NOI18N - out.println(" attributes:");//NOI18N - methodAttributes.print(out, indent+2); - } - -} - - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassPrint.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassPrint.java deleted file mode 100644 index d193219094b..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ClassPrint.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * A really simple class with printing utilities - */ - -class ClassPrint { - /** - * Print 'nspaces' spaces to the print stream - */ - public static void spaces(PrintStream ps, int nspaces) { - while (nspaces-- > 0) - ps.print(' '); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/CodeAttribute.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/CodeAttribute.java deleted file mode 100644 index 805e6870148..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/CodeAttribute.java +++ /dev/null @@ -1,395 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.util.Vector; -import java.io.*; - -/** - * Subtype of ClassAttribute which describes the "Code" attribute - * associated with a method. - */ - -public class CodeAttribute extends ClassAttribute { - public final static String expectedAttrName = "Code";//NOI18N - - /* The java class file contents defining this code attribute. - If non-null, this must be disassembled before the remaining - fields of this instance may be accessed. */ - private byte theDataBytes[]; - - /* The maximum number of stack entries used by this method */ - private int maxStack; - - /* The maximum number of local variables used by this method */ - private int maxLocals; - - /* The java VM byte code sequence for this method - null for native - and abstract methods */ - private byte theCodeBytes[]; - - /* The instruction sequence for this method - initially derived from - the byte code array, but may later be modified */ - private Insn theCode; - - /* The exception ranges and handlers which apply to the code in this - method */ - private ExceptionTable exceptionTable; - - /* The attributes which apply to this method */ - private AttributeVector codeAttributes; - - /* The method environment used for decompiling this code attribute */ - CodeEnv codeEnv; - - /* public accessors */ - - - /** - * Return the maximum number of stack entries used by this method - */ - public int stackUsed() { - makeValid(); - return maxStack; - } - - /** - * Set the maximum number of stack entries used by this method - */ - public void setStackUsed(int used) { - makeValid(); - maxStack = used; - } - - /** - * Return the maximum number of local variables used by this method - */ - public int localsUsed() { - makeValid(); - return maxLocals; - } - - /** - * Set the maximum number of local variables used by this method - */ - public void setLocalsUsed(int used) { - makeValid(); - maxLocals = used; - } - - /** - * Return the java VM byte code sequence for this method - null for - * native and abstract methods - */ - public byte[] byteCodes() { - makeValid(); - return theCodeBytes; - } - - /** - * Return the instruction sequence for this method - initially derived - * from the byte code array, but may later be modified - */ - public Insn theCode() { - makeValid(); - if (theCode == null && codeEnv != null) { - buildInstructions(codeEnv); - } - return theCode; - } - - /** - * Install the instruction sequence for this method - the byte code array - * is later updated. - */ - public void setTheCode(Insn insn) { - makeValid(); - if (insn != null && insn.opcode() != Insn.opc_target) - throw new InsnError( - "The initial instruction in all methods must be a target");//NOI18N - theCode = insn; - } - - /** - * Return the exception ranges and handlers which apply to the code in - * this method. - */ - public ExceptionTable exceptionHandlers() { - makeValid(); - return exceptionTable; - } - - /** - * Return the attributes which apply to this code - */ - public AttributeVector attributes() { - makeValid(); - return codeAttributes; - } - - - /** - * Constructs a CodeAttribute object for construction from scratch - */ - public CodeAttribute(ConstUtf8 attrName, - int maxStack, int maxLocals, - Insn code, - ExceptionTable excTable, - AttributeVector codeAttrs) { - this(attrName, maxStack, maxLocals, code, null, /* byteCodes */ - excTable, codeAttrs, null /* CodeEnv */ ); - } - - /** - * Constructs a CodeAttribute object - */ - public CodeAttribute(ConstUtf8 attrName, - int maxStack, int maxLocals, - Insn code, byte[] codeBytes, - ExceptionTable excTable, - AttributeVector codeAttrs, - CodeEnv codeEnv) { - super(attrName); - this.maxStack = maxStack; - this.maxLocals = maxLocals; - theCode = code; - theCodeBytes = codeBytes; - exceptionTable = excTable; - codeAttributes = codeAttrs; - this.codeEnv = codeEnv; - } - - - /** - * Constructs a CodeAttribute object for later disassembly - */ - public CodeAttribute(ConstUtf8 attrName, byte[] dataBytes, CodeEnv codeEnv) { - super(attrName); - this.theDataBytes = dataBytes; - this.codeEnv = codeEnv; - } - - - /* package local methods */ - - - static CodeAttribute read(ConstUtf8 attrName, - DataInputStream data, ConstantPool pool) - throws IOException { - int maxStack = data.readUnsignedShort(); - int maxLocals = data.readUnsignedShort(); - int codeLength = data.readInt(); - byte codeBytes[] = new byte[codeLength]; - data.readFully(codeBytes); - Insn code = null; - CodeEnv codeEnv = new CodeEnv(pool); - - ExceptionTable excTable = ExceptionTable.read(data, codeEnv); - - AttributeVector codeAttrs = - AttributeVector.readAttributes(data, codeEnv); - - return new CodeAttribute(attrName, maxStack, maxLocals, code, codeBytes, - excTable, codeAttrs, codeEnv); - } - - /* This version reads the attribute into a byte array for later - consumption */ - static CodeAttribute read(ConstUtf8 attrName, int attrLength, - DataInputStream data, ConstantPool pool) - throws IOException { - byte dataBytes[] = new byte[attrLength]; - data.readFully(dataBytes); - return new CodeAttribute(attrName, dataBytes, new CodeEnv(pool)); - } - - void write(DataOutputStream out) throws IOException { - out.writeShort(attrName().getIndex()); - if (theDataBytes == null) { - buildInstructionBytes(); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - DataOutputStream tmpOut = new DataOutputStream(baos); - tmpOut.writeShort(maxStack); - tmpOut.writeShort(maxLocals); - tmpOut.writeInt(theCodeBytes.length); - tmpOut.write(theCodeBytes, 0, theCodeBytes.length); - exceptionTable.write(tmpOut); - codeAttributes.write(tmpOut); - - tmpOut.flush(); - byte tmpBytes[] = baos.toByteArray(); - out.writeInt(tmpBytes.length); - out.write(tmpBytes, 0, tmpBytes.length); - } else { - out.writeInt(theDataBytes.length); - out.write(theDataBytes, 0, theDataBytes.length); - } - } - - void print(PrintStream out, int indent) { - makeValid(); - ClassPrint.spaces(out, indent); - out.print("Code:");//NOI18N - out.print(" max_stack = " + Integer.toString(maxStack));//NOI18N - out.print(" max_locals = " + Integer.toString(maxLocals));//NOI18N - out.println(" Exceptions:");//NOI18N - exceptionTable.print(out, indent+2); - ClassPrint.spaces(out, indent); - out.println("Code Attributes:");//NOI18N - codeAttributes.print(out, indent+2); - - Insn insn = theCode(); - if (insn != null) { - ClassPrint.spaces(out, indent); - out.println("Instructions:");//NOI18N - while (insn != null) { - insn.print(out, indent+2); - insn = insn.next(); - } - } - } - - /** - * Assign offsets to instructions and return the number of bytes. - * theCode must be non-null. - */ - private int resolveOffsets() { - Insn insn = theCode; - int currPC = 0; - while (insn != null) { - currPC = insn.resolveOffset(currPC); - insn = insn.next(); - } - return currPC; - } - - int codeSize() { - makeValid(); - return theCodeBytes.length; - } - - /** - * Derive the instruction list from the instruction byte codes - */ - private void buildInstructions(CodeEnv codeEnv) { - if (theCodeBytes != null) { - InsnReadEnv insnEnv = new InsnReadEnv(theCodeBytes, codeEnv); - theCode = insnEnv.getTarget(0); - Insn currInsn = theCode; - - /* First, create instructions */ - while (insnEnv.more()) { - Insn newInsn = Insn.read(insnEnv); - currInsn.setNext(newInsn); - currInsn = newInsn; - } - - /* Now, insert targets */ - InsnTarget targ; - currInsn = theCode; - Insn prevInsn = null; - while (currInsn != null) { - int off = currInsn.offset(); - - /* We always insert a target a 0 to start so ignore that one */ - if (off > 0) { - targ = codeEnv.findTarget(off); - if (targ != null) - prevInsn.setNext(targ); - } - prevInsn = currInsn; - currInsn = currInsn.next(); - } - - /* And follow up with a final target if needed */ - targ = codeEnv.findTarget(insnEnv.currentPC()); - if (targ != null) - prevInsn.setNext(targ); - } - } - - /** - * Derive the instruction byte codes from the instruction list - * This should also recompute stack and variables but for now we - * assume that this isn't needed - */ - private void buildInstructionBytes() { - if (theCode != null) { - /* Make sure instructions have correct offsets */ - int size = resolveOffsets(); - theCodeBytes = new byte[size]; - - Insn insn = theCode; - int index = 0; - while (insn != null) { - index = insn.store(theCodeBytes, index); - insn = insn.next(); - } - } - } - - /** If theDataBytes is non-null, disassemble this code attribute - * from the data bytes. */ - private void makeValid() { - if (theDataBytes != null) { - DataInputStream dis = new DataInputStream( - new ByteArrayInputStream(theDataBytes)); - try { - maxStack = dis.readUnsignedShort(); - maxLocals = dis.readUnsignedShort(); - int codeLength = dis.readInt(); - theCodeBytes = new byte[codeLength]; - dis.readFully(theCodeBytes); - exceptionTable = ExceptionTable.read(dis, codeEnv); - codeAttributes = AttributeVector.readAttributes(dis, codeEnv); - } catch (java.io.IOException ioe) { - ClassFormatError cfe = new ClassFormatError( - "IOException while reading code attribute");//NOI18N - cfe.initCause(ioe); - throw cfe; - } - - theDataBytes = null; - } - } - -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/CodeEnv.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/CodeEnv.java deleted file mode 100644 index 83bd663c6e6..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/CodeEnv.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.util.Hashtable; - -/** - * Environment in which to decode the attributes of a CodeAttribute. - */ - -class CodeEnv { - /* The constant pool */ - private ConstantPool constantPool; - - /* hash table mapping byte code offset to InsnTarget */ - private Hashtable targets = new Hashtable(7); - - CodeEnv(ConstantPool constantPool) { - this.constantPool = constantPool; - } - - final InsnTarget getTarget(int offset) { - Integer off = Integer.valueOf(offset); - InsnTarget targ = (InsnTarget)targets.get(off); - if (targ == null) { - targ = new InsnTarget(offset); - targets.put(off, targ); - } - return targ; - } - - final InsnTarget findTarget(int offset) { - Integer off = Integer.valueOf(offset); - return (InsnTarget)targets.get(off); - } - - final ConstantPool pool() { - return constantPool; - } - -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstBasic.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstBasic.java deleted file mode 100644 index c536860d27c..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstBasic.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * Abstract base class of the types which represent entries in - * the class constant pool. - */ - -abstract public class ConstBasic implements VMConstants { - /* The index of the constant entry in the constant pool */ - protected int index = 0; - - /* public accessors */ - - /* Get the index of this constant entry */ - public int getIndex() { return index; } - - /* Return the type of the constant entry - see VMConstants */ - public abstract int tag (); - - /* package local methods */ - - /** - * Sets the index of this constant with its containing constant pool - */ - void setIndex(int ind) { index = ind; } - - /** - * Write this Constant pool entry to the output stream - */ - abstract void formatData (DataOutputStream b) throws IOException; - - /** - * Resolve integer index references to the actual constant pool - * entries that they represent. This is used during class file - * reading because a constant pool entry could have a forward - * reference to a higher numbered constant. - */ - abstract void resolve (ConstantPool p); - - /** - * Return the index of this constant in the constant pool as - * a decimal formatted String. - */ - String indexAsString() { return Integer.toString(index); } - - /** - * The constructor for subtypes - */ - ConstBasic () {} -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstBasicMemberRef.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstBasicMemberRef.java deleted file mode 100644 index 22a2237eb69..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstBasicMemberRef.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * The abstract base class used to represent the various type of - * references to members (fields/methods) within the constant pool. - */ - -public abstract class ConstBasicMemberRef extends ConstBasic { - /* The name of the class on which the member is defined */ - protected ConstClass theClassName; - - /* The index of the class on which the member is defined - * - used temporarily while reading from a class file */ - protected int theClassNameIndex; - - /* The name and type of the member */ - protected ConstNameAndType theNameAndType; - - /* The index of the name and type of the member - * - used temporarily while reading from a class file */ - protected int theNameAndTypeIndex; - - /* public accessors */ - - /** - * Return the name of the class defining the member - */ - public ConstClass className() { - return theClassName; - } - - /** - * Return the name and type of the member - */ - public ConstNameAndType nameAndType() { - return theNameAndType; - } - - public String toString () { - return "className(" + theClassName.toString() + ")" +//NOI18N - " nameAndType(" + theNameAndType.toString() + ")";//NOI18N - } - - /* package local methods */ - - /** - * Constructor for "from scratch" creation - */ - ConstBasicMemberRef (ConstClass cname, ConstNameAndType NT) { - theClassName = cname; - theNameAndType = NT; - } - - /** - * Constructor for reading from a class file - */ - ConstBasicMemberRef (int cnameIndex, int NT_index) { - theClassNameIndex = cnameIndex; - theNameAndTypeIndex = NT_index; - } - - void formatData (DataOutputStream b) throws IOException { - b.writeShort(theClassName.getIndex()); - b.writeShort(theNameAndType.getIndex()); - } - void resolve (ConstantPool p) { - theClassName = (ConstClass) p.constantAt(theClassNameIndex); - theNameAndType = (ConstNameAndType) p.constantAt(theNameAndTypeIndex); - } -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstClass.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstClass.java deleted file mode 100644 index 68c4f2e0731..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstClass.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * Class representing a class reference in the constant pool - */ - -public class ConstClass extends ConstBasic { - /* The tag associated with ConstClass entries */ - public static final int MyTag = CONSTANTClass; - - /* The name of the class being referred to */ - private ConstUtf8 theClassName; - - /* The index of name of the class being referred to - * - used while reading from a class file */ - private int theClassNameIndex; - - /* public accessors */ - - /** - * Return the tag for this constant - */ - public int tag () { return MyTag; } - - /** - * Return the class name - */ - public ConstUtf8 className() { - return theClassName; - } - - /** - * Return the class name in simple string form - */ - public String asString() { - return theClassName.asString(); - } - - /** - * A printable representation - */ - public String toString () { - return "CONSTANTClass(" + indexAsString() + "): " + //NOI18N - "className(" + theClassName.toString() + ")";//NOI18N - } - - /** - * Change the class reference (not to be done lightly) - */ - public void changeClass(ConstUtf8 newName) { - theClassName = newName; - theClassNameIndex = newName.getIndex(); - } - - /* package local methods */ - - /** - * Construct a ConstClass - */ - public ConstClass (ConstUtf8 cname) { - theClassName = cname; - } - - ConstClass (int cname) { - theClassNameIndex = cname; - } - - void formatData (DataOutputStream b) throws IOException { - b.writeShort(theClassName.getIndex()); - } - - static ConstClass read (DataInputStream input) throws IOException { - return new ConstClass (input.readUnsignedShort()); - } - - void resolve (ConstantPool p) { - theClassName = (ConstUtf8) p.constantAt(theClassNameIndex); - } -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstDouble.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstDouble.java deleted file mode 100644 index 29a94701a89..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstDouble.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * Class representing a double constant in the constant pool of a class file - */ - -public class ConstDouble extends ConstValue { - /* The tag value associated with ConstDouble */ - public static final int MyTag = CONSTANTDouble; - - /* The value */ - private double doubleValue; - - /* public accessors */ - - /** - * The tag of this constant entry - */ - public int tag () { - return MyTag; - } - - /** - * return the value associated with the entry - */ - public double value() { - return doubleValue; - } - - /** - * Return the descriptor string for the constant type. - */ - public String descriptor() { - return "D";//NOI18N - } - - /** - * A printable representation - */ - public String toString () { - return "CONSTANTDouble(" + indexAsString() + "): " + //NOI18N - "doubleValue(" + Double.toString(doubleValue) + ")";//NOI18N - } - - /* package local methods */ - - /** - * Construct a ConstDouble object - */ - ConstDouble (double f) { - doubleValue = f; - } - - void formatData (DataOutputStream b) throws IOException { - b.writeDouble(doubleValue); - } - - static ConstDouble read (DataInputStream input) throws IOException { - return new ConstDouble (input.readDouble()); - } - - void resolve (ConstantPool p) { } -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstFieldRef.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstFieldRef.java deleted file mode 100644 index 43349d586bf..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstFieldRef.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * ConstFieldRef represents a reference to a field of some class - * in the constant pool of a class file. - */ - -public class ConstFieldRef extends ConstBasicMemberRef { - /* The tag associated with ConstFieldRef */ - public static final int MyTag = CONSTANTFieldRef; - - /* public accessors */ - public int tag () { return MyTag; } - - public String toString () { - return "CONSTANTFieldRef(" + indexAsString() + "): " + //NOI18N - super.toString(); - } - - /* package local methods */ - - ConstFieldRef (ConstClass cname, ConstNameAndType NT) { - super(cname, NT); - } - - ConstFieldRef (int cnameIndex, int NT_index) { - super(cnameIndex, NT_index); - } - - static ConstFieldRef read (DataInputStream input) throws IOException { - int cname = input.readUnsignedShort(); - int NT = input.readUnsignedShort(); - return new ConstFieldRef (cname, NT); - } - -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstFloat.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstFloat.java deleted file mode 100644 index 564a0d7f63e..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstFloat.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * Class representing a float constant in the constant pool of a class file - */ - -public class ConstFloat extends ConstValue { - /* The tag value associated with ConstFloat */ - public static final int MyTag = CONSTANTFloat; - - /* The value */ - private float floatValue; - - /* public accessors */ - - /** - * The tag of this constant entry - */ - public int tag () { return MyTag; } - - /** - * return the value associated with the entry - */ - public float value() { - return floatValue; - } - - /** - * Return the descriptor string for the constant type. - */ - public String descriptor() { - return "F";//NOI18N - } - - /** - * A printable representation - */ - public String toString () { - return "CONSTANTFloat(" + indexAsString() + "): " + //NOI18N - "floatValue(" + Float.toString(floatValue) + ")";//NOI18N - } - - /* package local methods */ - - ConstFloat (float f) { - floatValue = f; - } - - void formatData (DataOutputStream b) throws IOException { - b.writeFloat(floatValue); - } - - static ConstFloat read (DataInputStream input) throws IOException { - return new ConstFloat (input.readFloat()); - } - - void resolve (ConstantPool p) { } - -} - - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstInteger.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstInteger.java deleted file mode 100644 index efa4b456ed0..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstInteger.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * Class representing an integer constant in the constant pool of a class file - */ - -public class ConstInteger extends ConstValue { - /* The tag value associated with ConstInteger */ - public static final int MyTag = CONSTANTInteger; - - /* The value */ - private int intValue; - - /* public accessors */ - - /** - * The tag of this constant entry - */ - public int tag () { return MyTag; } - - /** - * return the value associated with the entry - */ - public int value() { - return intValue; - } - - /** - * Return the descriptor string for the constant type. - */ - public String descriptor() { - return "I";//NOI18N - } - - /** - * A printable representation - */ - public String toString () { - return "CONSTANTInteger(" + indexAsString() + "): " + //NOI18N - "intValue(" + Integer.toString(intValue) + ")";//NOI18N - } - - /* package local methods */ - - ConstInteger (int i) { - intValue = i; - } - - void formatData (DataOutputStream b) throws IOException { - b.writeInt(intValue); - } - - static ConstInteger read (DataInputStream input) throws IOException { - return new ConstInteger (input.readInt()); - } - - void resolve (ConstantPool p) { } - -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstInterfaceMethodRef.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstInterfaceMethodRef.java deleted file mode 100644 index d613b4f1a32..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstInterfaceMethodRef.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * Class representing a reference to an interface method of some class - * in the constant pool of a class file. - */ - -public class ConstInterfaceMethodRef extends ConstBasicMemberRef { - /* The tag value associated with ConstDouble */ - public static final int MyTag = CONSTANTInterfaceMethodRef; - - /* public accessors */ - - /** - * The tag of this constant entry - */ - public int tag () { return MyTag; } - - /** - * A printable representation - */ - public String toString () { - return "CONSTANTInterfaceMethodRef(" + indexAsString() + "): " + //NOI18N - super.toString(); - } - - /* package local methods */ - - ConstInterfaceMethodRef (ConstClass cname, ConstNameAndType NT) { - super(cname, NT); - } - - ConstInterfaceMethodRef (int cnameIndex, int NT_index) { - super(cnameIndex, NT_index); - } - - static ConstInterfaceMethodRef read (DataInputStream input) - throws IOException { - int cname = input.readUnsignedShort(); - int NT = input.readUnsignedShort(); - return new ConstInterfaceMethodRef (cname, NT); - } -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstLong.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstLong.java deleted file mode 100644 index b53ac223ac8..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstLong.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * Class representing a long constant in the constant pool of a class file - */ - -public class ConstLong extends ConstValue { - /* The tag value associated with ConstLong */ - public static final int MyTag = CONSTANTLong; - - /* The value */ - private long longValue; - - /* public accessors */ - - /** - * The tag of this constant entry - */ - public int tag () { return MyTag; } - - /** - * return the value associated with the entry - */ - public long value() { - return longValue; - } - - /** - * Return the descriptor string for the constant type. - */ - public String descriptor() { - return "J";//NOI18N - } - - /** - * A printable representation - */ - public String toString () { - return "CONSTANTLong(" + indexAsString() + "): " + //NOI18N - "longValue(" + Long.toString(longValue) + ")";//NOI18N - } - - /* package local methods */ - - ConstLong (long i) { - longValue = i; - } - - void formatData (DataOutputStream b) throws IOException { - b.writeLong(longValue); - } - - static ConstLong read (DataInputStream input) throws IOException { - return new ConstLong (input.readLong()); - } - - void resolve (ConstantPool p) { } - - -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstMethodRef.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstMethodRef.java deleted file mode 100644 index e45865ed49e..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstMethodRef.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * Class representing a reference to a method of some class in the - * constant pool of a class file - */ - -public class ConstMethodRef extends ConstBasicMemberRef { - /* The tag value associated with ConstMethodRef */ - public static final int MyTag = CONSTANTMethodRef; - - /* public accessors */ - - /** - * The tag of this constant entry - */ - public int tag () { return MyTag; } - - /** - * A printable representation - */ - public String toString () { - return "CONSTANTMethodRef(" + indexAsString() + "): " + //NOI18N - super.toString(); - } - - /* package local methods */ - - ConstMethodRef (ConstClass cname, ConstNameAndType NT) { - super(cname, NT); - } - - ConstMethodRef (int cnameIndex, int NT_index) { - super(cnameIndex, NT_index); - } - - static ConstMethodRef read (DataInputStream input) throws IOException { - int cname = input.readUnsignedShort(); - int NT = input.readUnsignedShort(); - return new ConstMethodRef (cname, NT); - } -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstNameAndType.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstNameAndType.java deleted file mode 100644 index d61aef75147..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstNameAndType.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * Class representing a name and an associated type in the constant pool - * of a class file - */ - -public class ConstNameAndType extends ConstBasic { - /* The tag value associated with ConstDouble */ - public static final int MyTag = CONSTANTNameAndType; - - /* The name of interest */ - private ConstUtf8 theName; - - /* The index of the name to be resolved - * - used during class file reading */ - private int theNameIndex; - - /* The type signature associated with the name */ - private ConstUtf8 typeSignature; - - /* The index of the signature to be resolved - * - used during class file reading */ - private int typeSignatureIndex; - - /* public accessors */ - - /** - * The tag of this constant entry - */ - public int tag () { return MyTag; } - - /** - * Return the name - */ - public ConstUtf8 name() { - return theName; - } - - /** - * Return the type signature associated with the name - */ - public ConstUtf8 signature() { - return typeSignature; - } - - /** - * Modify the signature - */ - public void changeSignature(ConstUtf8 newSig) { - typeSignature = newSig; - } - - /** - * A printable representation - */ - public String toString () { - return "CONSTANTNameAndType(" + indexAsString() + "): " + //NOI18N - "name(" + theName.toString() + ") " +//NOI18N - " type(" + typeSignature.toString() + ")";//NOI18N - } - - /* package local methods */ - - ConstNameAndType (ConstUtf8 n, ConstUtf8 sig) { - theName = n; typeSignature = sig; - } - - ConstNameAndType (int n, int sig) { - theNameIndex = n; typeSignatureIndex = sig; - } - - void formatData (DataOutputStream b) throws IOException { - b.writeShort(theName.getIndex()); - b.writeShort(typeSignature.getIndex()); - } - - static ConstNameAndType read (DataInputStream input) throws IOException { - int cname = input.readUnsignedShort(); - int sig = input.readUnsignedShort(); - - return new ConstNameAndType (cname, sig); - } - - void resolve (ConstantPool p) { - theName = (ConstUtf8) p.constantAt(theNameIndex); - typeSignature = (ConstUtf8) p.constantAt(typeSignatureIndex); - } -} - - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstString.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstString.java deleted file mode 100644 index 91378276657..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstString.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * Class representing a class specification in the constant pool - */ - -/* - ConstString strictly speaking is not a ConstantValue in the - Java VM sense. However, the compiler generates ConstantValue attributes - which refer to ConstString entries. This occurs for initialized static - final String fields. I've changed ConstString to be a ConstValue for - now as a simplification. -*/ - -public class ConstString extends ConstValue { - /* The tag associated with ConstClass entries */ - public static final int MyTag = CONSTANTString; - - /* The name of the class being referred to */ - private ConstUtf8 stringValue; - - /* The index of name of the class being referred to - * - used while reading from a class file */ - private int stringValueIndex; - - /* public accessors */ - - /** - * Return the tag for this constant - */ - public int tag () { return MyTag; } - - /** - * Return the utf8 string calue - */ - public ConstUtf8 value() { - return stringValue; - } - - /** - * Return the descriptor string for the constant type. - */ - public String descriptor() { - return "Ljava/lang/String;";//NOI18N - } - - /** - * A printable representation - */ - public String toString () { - return "CONSTANTString(" + indexAsString() + "): " + //NOI18N - "string(" + stringValue.asString() + ")";//NOI18N - } - - /* package local methods */ - - ConstString (ConstUtf8 s) { - stringValue = s; - } - - ConstString (int sIndex) { - stringValueIndex = sIndex; - } - - void formatData (DataOutputStream b) throws IOException { - b.writeShort (stringValue.getIndex()); - } - static ConstString read (DataInputStream input) throws IOException { - return new ConstString (input.readUnsignedShort()); - } - void resolve (ConstantPool p) { - stringValue = (ConstUtf8) p.constantAt(stringValueIndex); - } -} - - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstUnicode.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstUnicode.java deleted file mode 100644 index 48be3b57d27..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstUnicode.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; - -/** - * Class representing a unicode string value in the constant pool - */ - -/* - * Note: evidence suggests that this is no longer part of the java VM - * spec. - */ - -public class ConstUnicode extends ConstBasic { - /* The tag associated with ConstClass entries */ - public static final int MyTag = CONSTANTUnicode; - - /* The unicode string of interest */ - private String stringValue; - - /* public accessors */ - - /** - * The tag of this constant entry - */ - public int tag () { return MyTag; } - - /** - * return the value associated with the entry - */ - public String asString() { - return stringValue; - } - - /** - * A printable representation - */ - public String toString () { - return "CONSTANTUnicode(" + indexAsString() + "): " + stringValue;//NOI18N - } - - /* package local methods */ - - ConstUnicode (String s) { - stringValue = s; - } - - void formatData (DataOutputStream b) throws IOException { - b.writeBytes(stringValue); - } - - static ConstUnicode read (DataInputStream input) throws IOException { - int count = input.readShort(); // Is this chars or bytes? - StringBuilder b = new StringBuilder(); - for (int i=0; i < count; i++) { - b.append(input.readChar()); - } - return new ConstUnicode (b.toString()); - } - - void resolve (ConstantPool p) { - } -} - - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstUtf8.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstUtf8.java deleted file mode 100644 index 31205261d1c..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstUtf8.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * Class representing a utf8 string value in the constant pool - */ - -public class ConstUtf8 extends ConstBasic { - /* The tag associated with ConstClass entries */ - public static final int MyTag = CONSTANTUtf8; - - /* The unicode string of interest */ - private String stringValue; - - /* public accessors */ - - /** - * The tag of this constant entry - */ - public int tag () { return MyTag; } - - /** - * return the value associated with the entry - */ - public String asString () { - return stringValue; - } - - /** - * A printable representation - */ - public String toString () { - return "CONSTANTUtf8(" + indexAsString() + "): " + asString();//NOI18N - } - - /* package local methods */ - ConstUtf8 (String s) { - stringValue = s; - } - - void formatData (DataOutputStream b) throws IOException { - b.writeUTF(stringValue); - } - - static ConstUtf8 read (DataInputStream input) throws IOException { - return new ConstUtf8 (input.readUTF()); - } - - void resolve (ConstantPool p) { - } -} - - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstValue.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstValue.java deleted file mode 100644 index 3801613ec6d..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstValue.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * An abstract class serving as a common type for constants which - * can be the target of ConstantValue attributes - */ - -public abstract class ConstValue extends ConstBasic { - /** - * The constructor - */ - ConstValue() { } - - /** - * Return the descriptor string for the constant type. - */ - public abstract String descriptor(); -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstantPool.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstantPool.java deleted file mode 100644 index 355df780c14..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ConstantPool.java +++ /dev/null @@ -1,467 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.util.Vector; -import java.util.Hashtable; -import java.io.*; - -/** - * Constant Pool implementation - this represents the constant pool - * of a class in a class file. - */ - -public class ConstantPool implements VMConstants { - - /* The actual pool */ - private Vector pool = new Vector(); - - /* uniqifier tables */ - private boolean hashed = false; - private Hashtable utfTable = new Hashtable(11); - private Hashtable unicodeTable = new Hashtable(3); - private Hashtable stringTable = new Hashtable(11); - private Hashtable classTable = new Hashtable(11); - private Hashtable intTable = new Hashtable(3); - private Hashtable floatTable = new Hashtable(3); - private Hashtable longTable = new Hashtable(3); - private Hashtable doubleTable = new Hashtable(3); - - private Vector methodRefTable = new Vector(); - private Vector fieldRefTable = new Vector(); - private Vector ifaceMethodRefTable = new Vector(); - private Vector nameAndTypeTable = new Vector(); - - /* public accessors */ - - /** - * Return the number of pool entries. - */ - public int nEntries() { - return pool.size(); - } - - /** - * Return the constant in the pool at the specified entry index - */ - public ConstBasic constantAt (int index) { - return (ConstBasic) pool.elementAt(index); - } - - /** - * Find or create a class constant in the pool - */ - public ConstClass addClass (String className) { - hashConstants(); - ConstClass c = (ConstClass) classTable.get(className); - if (c == null) { - c = new ConstClass(addUtf8(className)); - internConstant(c); - } - return c; - } - - /** - * Find or create a field constant in the pool - */ - public ConstFieldRef addFieldRef (String className, String fieldName, - String type) { - hashConstants(); - ConstFieldRef f = (ConstFieldRef) - searchTable(fieldRefTable, className, fieldName, type); - - if (f == null) { - f = new ConstFieldRef (addClass(className), - addNameAndType(fieldName, type)); - internConstant(f); - } - return f; - } - - /** - * Find or create a method constant in the pool - */ - public ConstMethodRef addMethodRef (String className, String methodName, - String type) { - hashConstants(); - ConstMethodRef m = (ConstMethodRef) - searchTable(methodRefTable, className, methodName, type); - if (m == null) { - m = new ConstMethodRef (addClass(className), - addNameAndType(methodName, type)); - internConstant(m); - } - return m; - } - - /** - * Find or create an interface method constant in the pool - */ - public ConstInterfaceMethodRef addInterfaceMethodRef (String className, - String methodName, String type) { - hashConstants(); - ConstInterfaceMethodRef m = (ConstInterfaceMethodRef) - searchTable(ifaceMethodRefTable, className, methodName, type); - if (m == null) { - m = new ConstInterfaceMethodRef (addClass(className), - addNameAndType(methodName, type)); - internConstant(m); - } - return m; - } - - /** - * Find or create a string constant in the pool - */ - public ConstString addString (String s) { - hashConstants(); - ConstString cs = (ConstString) stringTable.get(s); - if (cs == null) { - cs = new ConstString(addUtf8(s)); - internConstant(cs); - } - return cs; - } - - /** - * Find or create an integer constant in the pool - */ - public ConstInteger addInteger (int i) { - hashConstants(); - Integer io = Integer.valueOf(i); - ConstInteger ci = (ConstInteger) intTable.get(io); - if (ci == null) { - ci = new ConstInteger(i); - internConstant(ci); - } - return ci; - } - - /** - * Find or create a float constant in the pool - */ - public ConstFloat addFloat (float f) { - hashConstants(); - Float fo = Float.valueOf(f); - ConstFloat cf = (ConstFloat) floatTable.get(fo); - if (cf == null) { - cf = new ConstFloat(f); - internConstant(cf); - } - return cf; - } - - /** - * Find or create a long constant in the pool - */ - public ConstLong addLong (long l) { - hashConstants(); - Long lo = Long.valueOf(l); - ConstLong cl = (ConstLong) longTable.get(lo); - if (cl == null) { - cl = new ConstLong(l); - internConstant(cl); - internConstant(null); - } - return cl; - } - - /** - * Find or create a double constant in the pool - */ - public ConstDouble addDouble (double d) { - hashConstants(); - Double dobj = Double.valueOf(d); - ConstDouble cd = (ConstDouble) doubleTable.get(dobj); - if (cd == null) { - cd = new ConstDouble(d); - internConstant(cd); - internConstant(null); - } - return cd; - } - - /** - * Find or create a name/type constant in the pool - */ - public ConstNameAndType addNameAndType (String name, String type) { - hashConstants(); - for (int i=0; i 0) - nconstants -= readConstant(input); - - resolvePool(); - } - - void print (PrintStream out) { - for (int i=0; i 1) - pool.addElement(null); - return slots; - } - - private void internConstant (ConstBasic c) { - if (c != null) { - c.setIndex(pool.size()); - recordConstant(c); - } - pool.addElement(c); - } - - private void recordConstant (ConstBasic c) { - if (c != null) { - switch (c.tag()) { - case CONSTANTUtf8: - utfTable.put(((ConstUtf8)c).asString(), c); - break; - case CONSTANTUnicode: - unicodeTable.put(((ConstUnicode)c).asString(), c); - break; - case CONSTANTInteger: - intTable.put(new Integer(((ConstInteger)c).value()), c); - break; - case CONSTANTFloat: - floatTable.put(new Float(((ConstFloat)c).value()), c); - break; - case CONSTANTLong: - longTable.put(new Long(((ConstLong)c).value()), c); - break; - case CONSTANTDouble: - doubleTable.put(new Double(((ConstDouble)c).value()), c); - break; - case CONSTANTClass: - classTable.put(((ConstClass)c).asString(), c); - break; - case CONSTANTString: - stringTable.put(((ConstString)c).value().asString(), c); - break; - case CONSTANTFieldRef: - fieldRefTable.addElement(c); - break; - case CONSTANTMethodRef: - methodRefTable.addElement(c); - break; - case CONSTANTInterfaceMethodRef: - ifaceMethodRefTable.addElement(c); - break; - case CONSTANTNameAndType: - nameAndTypeTable.addElement(c); - break; - } - } - } - - private ConstBasicMemberRef searchTable(Vector table, String cname, - String mname, String sig) { - for (int i=0; i Map, HashMap - - -/** - * A collection of static methods which manipulate type descriptors - */ - -public class Descriptor implements VMConstants { - /** - * Return the number of words of arguments to the method - * based on the method signature - */ - public static int countMethodArgWords(String sig) { - if (sig.charAt(0) != '(') - throw new InsnError ("not a method signature");//NOI18N - int count = 0; - for (int idx = 1; sig.charAt(idx) != ')'; idx++) { - switch (sig.charAt(idx)) { - case 'B': /* byte */ - case 'C': /* char */ - case 'S': /* short */ - case 'I': /* int */ - case 'F': /* float */ - case 'Z': /* boolean */ - count++; - break; - case 'J': /* long */ - case 'D': /* double */ - count += 2; - break; - case 'L': - count++; - idx = sig.indexOf(';', idx); - break; - case '[': - count++; - while (sig.charAt(idx) == '[' || sig.charAt(idx) == ']') - idx++; - if (sig.charAt(idx) == 'L') - idx = sig.indexOf(';', idx); - /* else, let idx++ at loop iteration skip primitive descriptor */ - break; - default: - throw new InsnError("missing case");//NOI18N - } - } - return count; - } - - /** - * Return the number of words of return value for the method - * based on the method signature - */ - public static int countMethodReturnWords(String sig) { - int idx = sig.lastIndexOf(')') + 1; - if (idx == 0) - throw new InsnError ("not a method signature");//NOI18N - switch (sig.charAt(idx)) { - case 'J': /* long */ - case 'D': /* double */ - return 2; - case 'B': /* byte */ - case 'C': /* char */ - case 'S': /* short */ - case 'I': /* int */ - case 'F': /* float */ - case 'Z': /* boolean */ - case 'L': /* object */ - case '[': /* array */ - return 1; - case 'V': /* void */ - return 0; - default: - throw new InsnError("missing case");//NOI18N - } - } - - /** - * Return the stack descriptor for the result of a method - * invocation. Void return values yield "V". - */ - public static String extractResultSig(String methodSig) { - return methodSig.substring(methodSig.indexOf(')')+1); - } - - /** - * Return the stack descriptor for the arguments to a method - * invocation (not including any "this" argument) - */ - public static String extractArgSig(String methodSig) { - return methodSig.substring(1, methodSig.indexOf(')')); - } - - /** - * Return the reversed stack descriptor for the arguments to a method - * invocation (not including any "this" argument). The top of stack - * element will be first. - */ - public static String extractReversedArgSig(String methodSig) { - StringBuilder buf = new StringBuilder();; - reverseArgSig(buf, methodSig, 1); - return buf.toString(); - } - - /** - * Given a StringBuilder, a method descriptor, and a index to the - * start of an argument descriptor, append the arguments to the - * string buffer in reverse order. - */ - private static void reverseArgSig(StringBuilder buf, String methodSig, - int idx) { - char c = methodSig.charAt(idx); - if (c == ')') - return; - int startIdx = idx; - - switch(c) { - case 'B': - case 'C': - case 'S': - case 'I': - case 'F': - case 'J': - case 'D': - case 'Z': - idx = idx+1; - break; - case '[': - while (methodSig.charAt(idx) == '[' || methodSig.charAt(idx) == ']') - idx++; - if (methodSig.charAt(idx) != 'L') { - idx++; - break; - } - /* fall through */ - case 'L': - idx = methodSig.indexOf(';', idx) + 1; - break; - default: - throw new InsnError("bad signature char");//NOI18N - } - - reverseArgSig(buf, methodSig, idx); - while (startIdx < idx) - buf.append(methodSig.charAt(startIdx++)); - } - - /** - * Return the number of words of a field based on its signature. - */ - //@olsen: added method - public static int countFieldWords(String sig) { - if (sig == null || sig.length() < 1) - throw new InsnError ("not a field signature");//NOI18N - switch (sig.charAt(0)) { - case 'J': /* long */ - case 'D': /* double */ - return 2; - case 'B': /* byte */ - case 'C': /* char */ - case 'S': /* short */ - case 'I': /* int */ - case 'F': /* float */ - case 'Z': /* boolean */ - case 'L': /* object */ - case '[': /* array */ - return 1; - default: - throw new InsnError("missing case");//NOI18N - } - } - - /** - * Return the element type for the first char in the type descriptor string. - */ - //@olsen: added method - public static int elementType(String sig) { - if (sig == null || sig.length() < 1) - throw new InsnError ("not a value signature");//NOI18N - switch(sig.charAt(0)) { - case 'B': - return T_BOOLEAN; - case 'C': - return T_CHAR; - case 'Z': - return T_BYTE; - case 'S': - return T_SHORT; - case 'I': - return T_INT; - case 'J': - return T_LONG; - case 'F': - return T_FLOAT; - case 'D': - return T_DOUBLE; - case '[': - return TC_OBJECT; - case 'L': - return TC_OBJECT; - default: - throw new InsnError("bad signature char");//NOI18N - } - } - - /** - * Return the element type descriptor char for the element type. - * The element type must be one of the T_ or TC_OBJECT. - */ - public static String elementSig(int valueType) { - switch(valueType) { - case T_BYTE: - return "B";//NOI18N - case T_CHAR: - return "C";//NOI18N - case T_BOOLEAN: - return "Z";//NOI18N - case T_SHORT: - return "S";//NOI18N - case T_INT: - return "I";//NOI18N - case T_LONG: - return "J";//NOI18N - case T_FLOAT: - return "F";//NOI18N - case T_DOUBLE: - return "D";//NOI18N - case TC_OBJECT: - return "Ljava/lang/Object;";//NOI18N - default: - throw new InsnError("bad element type");//NOI18N - } - } - - /** - * Return the number of stack words required for a value of the specified - * type on the operand stack. - */ - public static int elementSize(int elementType) { - switch(elementType) { - case T_LONG: - case T_DOUBLE: - case T_TWOWORD: - return 2; - default: - return 1; - } - } - - /** - * stackSig is a signature for a list of types on the JVM stack with the - * last type in the signature intended to be on the top of JVM stack. - * For each type in the signature, pushes an Integer objects identifying - * the types on top of the input Stack object. - */ - public static void computeStackTypes(String stackSig, Stack stack) { - for (int idx = 0; idx < stackSig.length(); idx++) { - int tp = 0; - switch(stackSig.charAt(idx)) { - case 'B': - case 'C': - case 'Z': - case 'S': - case 'I': - tp = T_INT; - break; - case 'F': - tp = T_FLOAT; - break; - case 'J': - tp = T_LONG; - break; - case 'D': - tp = T_DOUBLE; - break; - case '?': - tp = T_UNKNOWN; - break; - case 'W': - tp = T_WORD; - break; - case 'X': - tp = T_TWOWORD; - break; - case 'A': - /* This isn't a real type, but any object refrence */ - tp = TC_OBJECT; - break; - case '[': - tp = TC_OBJECT; - while (stackSig.charAt(idx) == '[' || stackSig.charAt(idx) == ']') - idx++; - if (stackSig.charAt(idx) != 'L') - break; - /* fall through */ - case 'L': - tp = TC_OBJECT; - idx = stackSig.indexOf(';', idx); - break; - default: - throw new InsnError("bad signature char");//NOI18N - } - stack.push(new Integer(tp)); - } - } - - /** - * stackSig is a signature for the types on the stack with the last - * type in the signature on the top of stack. idx is the index of - * the start of a valid signature type element. Return the index of - * the next element (which may be past the end of the string). - */ - public static int nextSigElement(String stackSig, int idx) { - switch(stackSig.charAt(idx)) { - case 'B': - case 'C': - case 'Z': - case 'S': - case 'I': - case 'F': - case 'J': - case 'D': - break; - case '[': - while (stackSig.charAt(idx) == '[' || stackSig.charAt(idx) == ']') - idx++; - if (stackSig.charAt(idx) != 'L') - break; - /* fall through */ - case 'L': - idx = stackSig.indexOf(';', idx); - break; - default: - throw new InsnError("bad signature char");//NOI18N - } - - idx++; - return idx; - } - - /** - * classTranslations contains a set of mappings of class names. - * For any types within the input signature which appear as keys - * in the translation table, change the signature to replace the - * original type with the translation. Return a string containing - * the original signature with any translations applied. - */ - public static String remapTypes(String sig, Map classTranslations) { - /* Defer allocation of the string buffer until it's needed */ - StringBuilder buf = null; - - for (int idx = 0; idx < sig.length(); idx++) { - char c; - switch(c = sig.charAt(idx)) { - case '[': - /* An array - skip through the [] pairs, copying to buf if not null */ - while ((c = sig.charAt(idx)) == '[' || c == ']') { - idx++; - if (buf != null) - buf.append(c); - } - - /* If the next char isnt 'L', the next char is a simple type and - will be handled by the default 1 char translation */ - if (sig.charAt(idx) != 'L') - break; - /* fall through to type name translation */ - case 'L': - /* This is a type name */ - idx++; - int endIdx = sig.indexOf(';', idx); - String typeName = sig.substring(idx, endIdx); - String mapTo = (String) classTranslations.get(typeName); - if (mapTo != null) { - /* This type needs translation - allocate the string buffer - now if needed and copy in all up to this type name. */ - if (buf == null) { - buf = new StringBuilder(sig.length() + 20); - buf.append(sig.substring(0,idx-1)); - } - typeName = mapTo; - } - - if (buf != null) { - buf.append('L'); - buf.append(typeName); - } - idx = endIdx; - c = ';'; - break; - } - - if (buf != null) - buf.append(c); - } - return (buf == null) ? sig : (buf.toString()); - } - - /** - * classTranslations contains a set of mappings of class names. - * Translate the class name (which may be an array class) according - * to the entries in the translation table. - * Return either the original string if no translation applies or - * else the translated string. - */ - public static String translateClass( - String cls, Map classTranslations) { - if (cls.charAt(0) == '[') - return remapTypes(cls, classTranslations); - else { - String mapTo = (String) classTranslations.get(cls); - if (mapTo != null) - return mapTo; - return cls; - } - } - - /** - * Translates a VM type field signature into a user-format signature. - * Just a front for the two argument overload of this method. - */ - public static String userFieldSig(String vmSig) { - return userFieldSig(vmSig, 0); - } - - /** - * Translates a VM type field signature into a user-format signature. - */ - public static String userFieldSig(String vmSig, int idx) { - String sigElement = "";//NOI18N - int arrayDims = 0; - boolean moreSig = true; - while (moreSig) { - moreSig = false; - char c = vmSig.charAt(idx); - switch (c) { - case 'B': - sigElement = "byte";//NOI18N - break; - case 'C': - sigElement = "char";//NOI18N - break; - case 'Z': - sigElement = "boolean";//NOI18N - break; - case 'S': - sigElement = "short";//NOI18N - break; - case 'I': - sigElement = "int";//NOI18N - break; - case 'F': - sigElement = "float";//NOI18N - break; - case 'J': - sigElement = "long";//NOI18N - break; - case 'D': - sigElement = "double";//NOI18N - break; - case 'V': - /* void isn't really valid as a field signature but this method - might be useful in implementing method signature conversion and - void is a valid return type. */ - sigElement = "void";//NOI18N - break; - case '[': - idx++; - arrayDims++; - moreSig = true; - break; - case 'L': - int nextIdx = vmSig.indexOf(';', idx); - sigElement = vmSig.substring(idx+1,nextIdx).replace('/','.'); - break; - default: - throw new InsnError("bad signature char");//NOI18N - } - } - - /* If a non-array type, we already have the answer */ - if (arrayDims == 0) - return sigElement; - - /* array types need a little more work */ - StringBuilder buf = new StringBuilder(sigElement.length() + 2 * arrayDims); - buf.append(sigElement); - while (arrayDims-- > 0) - buf.append("[]");//NOI18N - - return buf.toString(); - } - - /** - * Produce a user consumable representation of a method argument list - * from the method signature. The return value is ignored. - */ - public static String userMethodArgs(String methodSig) { - /* This better be a method signature */ - if (methodSig.charAt(0) != '(') - throw new InsnError("Invalid method signature");//NOI18N - - StringBuilder buf = new StringBuilder(); - - buf.append('('); - - int idx = 1; - boolean firstArg = true; - while (methodSig.charAt(idx) != ')') { - if (firstArg) - firstArg = false; - else - buf.append(", ");//NOI18N - - buf.append(userFieldSig(methodSig, idx)); - idx = nextSigElement(methodSig, idx); - } - - buf.append(')'); - return buf.toString(); - } - -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ExceptionRange.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ExceptionRange.java deleted file mode 100644 index ac62eac0897..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ExceptionRange.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * ExceptionRange represents a range an exception handler within - * a method in class file. - */ - -public class ExceptionRange { - /* The start of the exception hander (inclusive) */ - private InsnTarget excStartPC; - - /* The end of the exception hander (exclusive) */ - private InsnTarget excEndPC; - - /* The exception handler code */ - private InsnTarget excHandlerPC; - - /* The exception specification */ - private ConstClass excCatchType; - - /* public accessors */ - - /** - * return the start of the exception hander (inclusive) - */ - public InsnTarget startPC() { - return excStartPC; - } - - /** - * return the end of the exception hander (exclusive) - */ - public InsnTarget endPC() { - return excEndPC; - } - - /** - * return the exception handler code - */ - public InsnTarget handlerPC() { - return excHandlerPC; - } - - /** - * return the exception specification - * a null return value means a catch of any (try/finally) - */ - public ConstClass catchType() { - return excCatchType; - } - - /** - * constructor - */ - - public ExceptionRange(InsnTarget startPC, InsnTarget endPC, - InsnTarget handlerPC, ConstClass catchType) { - excStartPC = startPC; - excEndPC = endPC; - excHandlerPC = handlerPC; - excCatchType = catchType; - } - - /* package local methods */ - - static ExceptionRange read(DataInputStream data, CodeEnv env) - throws IOException { - InsnTarget startPC = env.getTarget(data.readUnsignedShort()); - InsnTarget endPC = env.getTarget(data.readUnsignedShort()); - InsnTarget handlerPC = env.getTarget(data.readUnsignedShort()); - ConstClass catchType = - (ConstClass) env.pool().constantAt(data.readUnsignedShort()); - return new ExceptionRange(startPC, endPC, handlerPC, catchType); - } - - void write(DataOutputStream out) throws IOException { - out.writeShort(excStartPC.offset()); - out.writeShort(excEndPC.offset()); - out.writeShort(excHandlerPC.offset()); - out.writeShort(excCatchType == null ? 0 : excCatchType.getIndex()); - } - - void print(PrintStream out, int indent) { - ClassPrint.spaces(out, indent); - out.print("Exc Range:");//NOI18N - if (excCatchType == null) - out.print("any");//NOI18N - else - out.print("'" + excCatchType.asString() + "'");//NOI18N - out.print(" start = " + Integer.toString(excStartPC.offset()));//NOI18N - out.print(" end = " + Integer.toString(excEndPC.offset()));//NOI18N - out.println(" handle = " + Integer.toString(excHandlerPC.offset()));//NOI18N - } -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ExceptionTable.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ExceptionTable.java deleted file mode 100644 index 24786a4ccd9..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/ExceptionTable.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; -import java.util.Vector; -import java.util.Enumeration; - -/** - * ExceptionTable represents the exception handlers within the code - * of a method. - */ - -public class ExceptionTable { - /* A variable length list of ExceptionRange objects */ - private Vector theVector = new Vector(); - - /* public accessors */ - - /** - * Return an enumeration of the exception handlers - * Each element in the enumeration is an ExceptionRange - */ - public Enumeration handlers() { - return theVector.elements(); - } - - /** - * Add an exception handler to the list - */ - public void addElement(ExceptionRange range) { - theVector.addElement(range); - } - - public ExceptionTable() { } - - /* package local methods */ - - static ExceptionTable read(DataInputStream data, CodeEnv env) - throws IOException { - ExceptionTable excTable = new ExceptionTable(); - int nExcepts = data.readUnsignedShort(); - while (nExcepts-- > 0) { - excTable.addElement(ExceptionRange.read(data, env)); - } - return excTable; - } - - void write(DataOutputStream out) throws IOException { - out.writeShort(theVector.size()); - for (int i=0; i 0) { - int excIndex = data.readUnsignedShort(); - ConstClass exc_class = null; - if (excIndex != 0) - exc_class = (ConstClass) pool.constantAt(excIndex); - excTable.addElement(exc_class); - } - - return new ExceptionsAttribute(attrName, excTable); - } - - void write(DataOutputStream out) throws IOException { - out.writeShort(attrName().getIndex()); - out.writeInt(2+2*exceptionTable.size()); - out.writeShort(exceptionTable.size()); - for (int i=0; i=0 && opcode <= VMOp.ops.length) - return VMOp.ops[opcode].name(); - else - throw new InsnError("invalid opcode for opName: " + opcode);//NOI18N - } - - /* Instruction creation interfaces - these should be used for all - * instructions except opc_iinc, opc_tableswitch, opc_lookupswitch, - * opc_multidimarraynew, and opc_invokeinterface. - */ - - /** - * Create an instruction which requires no immediate operands - */ - public static Insn create(int theOpCode) { - return new InsnSingle(theOpCode); - } - - /** - * Create an instruction which requires a single constant from the - * constant pool as an immediate operand. - */ - public static Insn create(int theOpCode, ConstBasic constValue) { - return new InsnConstOp(theOpCode, constValue); - } - - /** - * Create an instruction which requires a single integral constant - * as an immediate operand. - */ - public static Insn create(int theOpCode, int intValue) { - return new InsnIntOp(theOpCode, intValue); - } - - /** - * Create an instruction which requires a single branch offset - * as an immediate operand. - */ - public static Insn create(int theOpCode, InsnTarget target) { - return new InsnTargetOp(theOpCode, target); - } - - /** - * Print the sequence of instructions to the output stream - */ - public void printList(PrintStream out) { - Insn insn = this; - while (insn != null) { - insn.print(out, 0); - insn = insn.next(); - } - } - - /** - * Print this instruction to the output stream - */ - public void printInsn(PrintStream out) { - print(out, 0); - } - - /* package local methods */ - - abstract void print (PrintStream out, int indent); - - abstract int store(byte[] buf, int index); - - /* return the size of the instruction in bytes - * Note: some instructions are unable to answer correctly until their - * start offset is known - */ - abstract int size(); - - /* Set the offset of the instruction and return the offset of the - following instruction */ - - final int resolveOffset(int pc) { - insnOffset = pc; - return pc + size(); - } - - Insn(int theOpcode, int theOffset) { - insnOpcode = theOpcode; - insnOffset = theOffset; - } - - static int storeInt(byte buf[], int index, int v) { - buf[index++] = (byte) (v >> 24); - buf[index++] = (byte) ((v >> 16) & 0xff); - buf[index++] = (byte) ((v >> 8) & 0xff); - buf[index++] = (byte) (v & 0xff); - return index; - } - - - static int storeShort(byte buf[], int index, short v) { - buf[index++] = (byte) ((v >> 8) & 0xff); - buf[index++] = (byte) (v & 0xff); - return index; - } - - static Insn read(InsnReadEnv insnEnv) { - boolean widen = false; - int pc = insnEnv.currentPC(); - - int op = insnEnv.getUByte(); - if (op == opc_wide) { - widen = true; - op = insnEnv.getUByte(); - } - - switch (op) { - case opc_nop: - case opc_aconst_null: - case opc_iconst_m1: - case opc_iconst_0: - case opc_iconst_1: - case opc_iconst_2: - case opc_iconst_3: - case opc_iconst_4: - case opc_iconst_5: - case opc_lconst_0: - case opc_lconst_1: - case opc_fconst_0: - case opc_fconst_1: - case opc_fconst_2: - case opc_dconst_0: - case opc_dconst_1: - case opc_iload_0: - case opc_iload_1: - case opc_iload_2: - case opc_iload_3: - case opc_lload_0: - case opc_lload_1: - case opc_lload_2: - case opc_lload_3: - case opc_fload_0: - case opc_fload_1: - case opc_fload_2: - case opc_fload_3: - case opc_dload_0: - case opc_dload_1: - case opc_dload_2: - case opc_dload_3: - case opc_aload_0: - case opc_aload_1: - case opc_aload_2: - case opc_aload_3: - case opc_iaload: - case opc_laload: - case opc_faload: - case opc_daload: - case opc_aaload: - case opc_baload: - case opc_caload: - case opc_saload: - case opc_istore_0: - case opc_istore_1: - case opc_istore_2: - case opc_istore_3: - case opc_lstore_0: - case opc_lstore_1: - case opc_lstore_2: - case opc_lstore_3: - case opc_fstore_0: - case opc_fstore_1: - case opc_fstore_2: - case opc_fstore_3: - case opc_dstore_0: - case opc_dstore_1: - case opc_dstore_2: - case opc_dstore_3: - case opc_astore_0: - case opc_astore_1: - case opc_astore_2: - case opc_astore_3: - case opc_iastore: - case opc_lastore: - case opc_fastore: - case opc_dastore: - case opc_aastore: - case opc_bastore: - case opc_castore: - case opc_sastore: - case opc_pop: - case opc_pop2: - case opc_dup: - case opc_dup_x1: - case opc_dup_x2: - case opc_dup2: - case opc_dup2_x1: - case opc_dup2_x2: - case opc_swap: - case opc_iadd: - case opc_ladd: - case opc_fadd: - case opc_dadd: - case opc_isub: - case opc_lsub: - case opc_fsub: - case opc_dsub: - case opc_imul: - case opc_lmul: - case opc_fmul: - case opc_dmul: - case opc_idiv: - case opc_ldiv: - case opc_fdiv: - case opc_ddiv: - case opc_irem: - case opc_lrem: - case opc_frem: - case opc_drem: - case opc_ineg: - case opc_lneg: - case opc_fneg: - case opc_dneg: - case opc_ishl: - case opc_lshl: - case opc_ishr: - case opc_lshr: - case opc_iushr: - case opc_lushr: - case opc_iand: - case opc_land: - case opc_ior: - case opc_lor: - case opc_ixor: - case opc_lxor: - case opc_i2l: - case opc_i2f: - case opc_i2d: - case opc_l2i: - case opc_l2f: - case opc_l2d: - case opc_f2i: - case opc_f2l: - case opc_f2d: - case opc_d2i: - case opc_d2l: - case opc_d2f: - case opc_i2b: - case opc_i2c: - case opc_i2s: - case opc_lcmp: - case opc_fcmpl: - case opc_fcmpg: - case opc_dcmpl: - case opc_dcmpg: - case opc_ireturn: - case opc_lreturn: - case opc_freturn: - case opc_dreturn: - case opc_areturn: - case opc_return: - case opc_xxxunusedxxx: - case opc_arraylength: - case opc_athrow: - case opc_monitorenter: - case opc_monitorexit: - return new InsnSingle(op, pc); - - case opc_ldc: - return new InsnConstOp(op, insnEnv.pool().constantAt(insnEnv.getUByte()), - pc); - - case opc_ldc_w: - case opc_ldc2_w: - case opc_getstatic: - case opc_putstatic: - case opc_getfield: - case opc_putfield: - case opc_invokevirtual: - case opc_invokespecial: - case opc_invokestatic: - case opc_new: - case opc_anewarray: - case opc_checkcast: - case opc_instanceof: - return new InsnConstOp(op, - insnEnv.pool().constantAt(insnEnv.getUShort()), - pc); - - case opc_iload: - case opc_lload: - case opc_fload: - case opc_dload: - case opc_aload: - case opc_istore: - case opc_lstore: - case opc_fstore: - case opc_dstore: - case opc_astore: - case opc_ret: - if (widen) - return new InsnIntOp(op, insnEnv.getShort(), pc); - else - return new InsnIntOp(op, insnEnv.getByte(), pc); - - case opc_bipush: /* a byte constant */ - case opc_newarray: - return new InsnIntOp(op, insnEnv.getByte(), pc); - - case opc_sipush: /* a short constant */ - return new InsnIntOp(op, insnEnv.getShort(), pc); - - case opc_iinc: - if (widen) - return new InsnIInc(insnEnv.getUShort(), insnEnv.getShort(), pc); - else - return new InsnIInc(insnEnv.getUByte(), insnEnv.getByte(), pc); - - case opc_ifeq: - case opc_ifne: - case opc_iflt: - case opc_ifge: - case opc_ifgt: - case opc_ifle: - case opc_if_icmpeq: - case opc_if_icmpne: - case opc_if_icmplt: - case opc_if_icmpge: - case opc_if_icmpgt: - case opc_if_icmple: - case opc_if_acmpeq: - case opc_if_acmpne: - case opc_goto: - case opc_jsr: - case opc_ifnull: - case opc_ifnonnull: - return new InsnTargetOp(op, insnEnv.getTarget(insnEnv.getShort()+pc), pc); - - case opc_goto_w: - case opc_jsr_w: - return new InsnTargetOp(op, insnEnv.getTarget(insnEnv.getInt()+pc), pc); - - case opc_tableswitch: - return InsnTableSwitch.read(insnEnv, pc); - - case opc_lookupswitch: - return InsnLookupSwitch.read(insnEnv, pc); - - case opc_invokeinterface: - return InsnInterfaceInvoke.read(insnEnv, pc); - - case opc_multianewarray: - return InsnMultiDimArrayNew.read(insnEnv, pc); - } - throw new InsnError("Invalid byte code (" + op + ")");//NOI18N - } - - /** - * Return the type of value manipulated by the load/store instruction - */ - public static final int loadStoreDataType(int opcode) { - switch(opcode) { - case opc_iload: - case opc_iload_0: - case opc_iload_1: - case opc_iload_2: - case opc_iload_3: - case opc_istore: - case opc_istore_0: - case opc_istore_1: - case opc_istore_2: - case opc_istore_3: - case opc_iaload: - case opc_baload: - case opc_caload: - case opc_saload: - case opc_iastore: - case opc_bastore: - case opc_castore: - case opc_sastore: - return T_INT; - - case opc_lload: - case opc_lload_0: - case opc_lload_1: - case opc_lload_2: - case opc_lload_3: - case opc_lstore: - case opc_lstore_0: - case opc_lstore_1: - case opc_lstore_2: - case opc_lstore_3: - case opc_laload: - case opc_lastore: - return T_LONG; - - case opc_fload: - case opc_fload_0: - case opc_fload_1: - case opc_fload_2: - case opc_fload_3: - case opc_fstore: - case opc_fstore_0: - case opc_fstore_1: - case opc_fstore_2: - case opc_fstore_3: - case opc_faload: - case opc_fastore: - return T_FLOAT; - - case opc_dload: - case opc_dload_0: - case opc_dload_1: - case opc_dload_2: - case opc_dload_3: - case opc_dstore: - case opc_dstore_0: - case opc_dstore_1: - case opc_dstore_2: - case opc_dstore_3: - case opc_daload: - case opc_dastore: - return T_DOUBLE; - - case opc_aload: - case opc_aload_0: - case opc_aload_1: - case opc_aload_2: - case opc_aload_3: - case opc_astore: - case opc_astore_0: - case opc_astore_1: - case opc_astore_2: - case opc_astore_3: - case opc_aaload: - case opc_aastore: - return TC_OBJECT; - - default: - throw new InsnError("not a load/store");//NOI18N - } - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnConstOp.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnConstOp.java deleted file mode 100644 index 1bf61138cb4..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnConstOp.java +++ /dev/null @@ -1,314 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - - -import java.io.PrintStream; - -/** - * An instruction which requires a single constant from the constant - * pool as an immediate operand - */ - -public class InsnConstOp extends Insn { - /* The constant from the constant pool */ - private ConstBasic constValue; - - /* public accessors */ - - public int nStackArgs() { - int n = VMOp.ops[opcode()].nStackArgs(); - if (n >= 0) - return n; - switch (opcode()) { - case opc_putstatic: - case opc_putfield: - { - ConstFieldRef fld = (ConstFieldRef) constValue; - String sig = fld.nameAndType().signature().asString(); - if (sig.equals("J") || sig.equals("D"))//NOI18N - return (opcode() == opc_putfield) ? 3 : 2; - return (opcode() == opc_putfield) ? 2 : 1; - } - case opc_invokevirtual: - case opc_invokespecial: - case opc_invokestatic: - /* handle interface invoke too */ - case opc_invokeinterface: - { - ConstBasicMemberRef meth = (ConstBasicMemberRef) constValue; - String sig = meth.nameAndType().signature().asString(); - int nMethodArgWords = Descriptor.countMethodArgWords(sig); - return nMethodArgWords + - ((opcode() == opc_invokestatic) ? 0 : 1); - } - default: - throw new InsnError("unexpected variable opcode");//NOI18N - } - } - - public int nStackResults() { - int n = VMOp.ops[opcode()].nStackResults(); - if (n >= 0) - return n; - switch (opcode()) { - case opc_getstatic: - case opc_getfield: - { - ConstFieldRef fld = (ConstFieldRef) constValue; - String sig = fld.nameAndType().signature().asString(); - if (sig.equals("J") || sig.equals("D"))//NOI18N - return 2; - return 1; - } - case opc_invokevirtual: - case opc_invokespecial: - case opc_invokestatic: - /* handle interface invoke too */ - case opc_invokeinterface: - { - ConstBasicMemberRef meth = (ConstBasicMemberRef) constValue; - return Descriptor.countMethodReturnWords( - meth.nameAndType().signature().asString()); - } - default: - throw new InsnError("unexpected variable opcode");//NOI18N - } - } - - public String argTypes() { - switch (opcode()) { - case opc_putstatic: - case opc_putfield: - { - ConstFieldRef fld = (ConstFieldRef) constValue; - String sig = fld.nameAndType().signature().asString(); - if (opcode() == opc_putstatic) - return sig; - else - return descriptorTypeOfObject(fld) + sig; - } - case opc_invokevirtual: - case opc_invokespecial: - case opc_invokestatic: - /* handle interface invoke too */ - case opc_invokeinterface: - { - ConstBasicMemberRef meth = (ConstBasicMemberRef) constValue; - String argSig = - Descriptor.extractArgSig(meth.nameAndType().signature().asString()); - if (opcode() == opc_invokestatic) - return argSig; - else - return descriptorTypeOfObject(meth) + argSig; - } - default: - return VMOp.ops[opcode()].argTypes(); - } - } - - public String resultTypes() { - switch (opcode()) { - case opc_invokevirtual: - case opc_invokespecial: - case opc_invokestatic: - /* handle interface invoke too */ - case opc_invokeinterface: - { - ConstBasicMemberRef meth = (ConstBasicMemberRef) constValue; - String resultSig = Descriptor.extractResultSig( - meth.nameAndType().signature().asString()); - if (resultSig.equals("V"))//NOI18N - return "";//NOI18N - return resultSig; - } - case opc_getstatic: - case opc_getfield: - { - ConstFieldRef fld = (ConstFieldRef) constValue; - return fld.nameAndType().signature().asString(); - } - case opc_ldc: - case opc_ldc_w: - case opc_ldc2_w: - { - ConstValue constVal = (ConstValue) constValue; - return constVal.descriptor(); - } - default: - return VMOp.ops[opcode()].resultTypes(); - } - } - - public boolean branches() { - /* invokes don't count as a branch */ - return false; - } - - /** - * Return the constant pool entry which is the immediate operand - */ - public ConstBasic value() { - return constValue; - } - - /** - * Modify the referenced constant - */ - public void setValue(ConstBasic newValue) { - checkConstant(newValue); - constValue = newValue; - } - - /* package local methods */ - - void print (PrintStream out, int indent) { - ClassPrint.spaces(out, indent); - out.println(offset() + " " + opName(opcode()) + " pool(" + //NOI18N - constValue.getIndex() + ")");//NOI18N - } - - int store(byte[] buf, int index) { - if (opcode() == opc_ldc && !isNarrowldc()) - buf[index++] = (byte) opc_ldc_w; - else - buf[index++] = (byte) opcode(); - int constIndex = constValue.getIndex(); - if (size() == 3) - buf[index++] = (byte) (constIndex >> 8); - buf[index++] = (byte)(constIndex & 0xff); - return index; - } - - int size() { - return isNarrowldc() ? 2 : 3; - } - - private boolean isNarrowldc() { - return (opcode() == opc_ldc && constValue.getIndex() < 256); - } - - - InsnConstOp (int theOpcode, ConstBasic theOperand) { - this(theOpcode, theOperand, NO_OFFSET); - } - - InsnConstOp (int theOpcode, ConstBasic theOperand, int pc) { - super(theOpcode, pc); - constValue = theOperand; - checkConstant(theOperand); - if (theOpcode == opc_invokeinterface) - throw new InsnError("attempt to create an " + opName(theOpcode) +//NOI18N - " as an InsnConstOp instead of InsnInterfaceInvoke");//NOI18N - } - - /* used only by InsnInterfaceInvoke, to make sure that opc_invokeinterface cannot - * come through the wrong path and miss its extra nArgsOp */ - InsnConstOp (int theOpcode, ConstInterfaceMethodRef theOperand, int pc) { - super(theOpcode, pc); - constValue = theOperand; - checkConstant(theOperand); - } - - private void checkConstant (ConstBasic operand) { - switch(opcode()) { - case opc_ldc: - case opc_ldc_w: - case opc_ldc2_w: - /* ConstValue */ - if (operand == null || - (! (operand instanceof ConstValue))) - throw new InsnError ("attempt to create an " + opName(opcode()) +//NOI18N - " without a ConstValue operand");//NOI18N - break; - - case opc_getstatic: - case opc_putstatic: - case opc_getfield: - case opc_putfield: - /* ConstFieldRef */ - if (operand == null || - (! (operand instanceof ConstFieldRef))) - throw new InsnError ("attempt to create an " + opName(opcode()) +//NOI18N - " without a ConstFieldRef operand");//NOI18N - break; - - case opc_invokevirtual: - case opc_invokespecial: - case opc_invokestatic: - /* ConstMethodRef */ - if (operand == null || - (! (operand instanceof ConstMethodRef))) - throw new InsnError ("attempt to create an " + opName(opcode()) +//NOI18N - " without a ConstMethodRef operand");//NOI18N - break; - - case opc_invokeinterface: - /* ConstInterfaceMethodRef */ - if (operand == null || - (! (operand instanceof ConstInterfaceMethodRef))) - throw new InsnError("Attempt to create an " + opName(opcode()) +//NOI18N - " without a ConstInterfaceMethodRef operand");//NOI18N - break; - - case opc_new: - case opc_anewarray: - case opc_checkcast: - case opc_instanceof: - /* ConstClass */ - if (operand == null || - (! (operand instanceof ConstClass))) - throw new InsnError ("attempt to create an " + opName(opcode()) +//NOI18N - " without a ConstClass operand");//NOI18N - break; - - default: - throw new InsnError ("attempt to create an " + opName(opcode()) +//NOI18N - " with a constant operand");//NOI18N - } - } - - private final String descriptorTypeOfObject(ConstBasicMemberRef memRef) { - String cname = memRef.className().className().asString(); - return "L" + cname + ";";//NOI18N - } - -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnError.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnError.java deleted file mode 100644 index 5c53ce4434d..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnError.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -/** - * An exception thrown when an error occurs in encoding or decoding - * instruction sequences - */ - -public class InsnError extends RuntimeException { - public InsnError(String s) { - super(s); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnIInc.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnIInc.java deleted file mode 100644 index 4d1100de771..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnIInc.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - - -import java.io.PrintStream; - -/** - * Special instruction form for the opc_iinc instruction - */ - -public class InsnIInc extends Insn { - - /* The local variable slot to be incremented */ - private int localVarIndex; - - /* The amount by which the slot is to be incremented */ - private int value; - - /* public accessors */ - - public int nStackArgs() { - return 0; - } - - public int nStackResults() { - return 0; - } - - /** - * What are the types of the stack operands ? - */ - public String argTypes() { - return "";//NOI18N - } - - /** - * What are the types of the stack results? - */ - public String resultTypes() { - return "";//NOI18N - } - - public boolean branches() { - return false; - } - - /** - * The local variable slot to be incremented - */ - public int varIndex() { - return localVarIndex; - } - - /** - * The amount by which the slot is to be incremented - */ - public int incrValue() { - return value; - } - - /** - * Constructor for opc_iinc instruction - */ - public InsnIInc (int localVarIndex, int value) { - this(localVarIndex, value, NO_OFFSET); - } - - /* package local methods */ - - InsnIInc (int localVarIndex, int value, int pc) { - super(opc_iinc, pc); - - this.localVarIndex = localVarIndex; - this.value =value; - } - - void print (PrintStream out, int indent) { - ClassPrint.spaces(out, indent); - out.println(offset() + " opc_iinc " + //NOI18N - localVarIndex + "," + value);//NOI18N - } - - int store(byte[] buf, int index) { - if (isWide()) - buf[index++] = (byte) opc_wide; - buf[index++] = (byte) opcode(); - if (isWide()) { - index = storeShort(buf, index, (short) localVarIndex); - index = storeShort(buf, index, (short) value); - } else { - buf[index++] = (byte)localVarIndex; - buf[index++] = (byte)value; - } - return index; - } - - int size() { - return isWide() ? 6 : 3; - } - - private boolean isWide() { - return (value > 127 || value < -128 || localVarIndex > 255); - } - -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnIntOp.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnIntOp.java deleted file mode 100644 index 5dfb01aa5fa..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnIntOp.java +++ /dev/null @@ -1,203 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.PrintStream; - -/** - * An instruction which requires a integral constant as an immediate operand - */ - -public class InsnIntOp extends Insn { - /* The operand */ - private int operandValue; - - /* public accessors */ - - public int nStackArgs() { - return VMOp.ops[opcode()].nStackArgs(); - } - - public int nStackResults() { - return VMOp.ops[opcode()].nStackResults(); - } - - public String argTypes() { - return VMOp.ops[opcode()].argTypes(); - } - - public String resultTypes() { - return VMOp.ops[opcode()].resultTypes(); - } - - public boolean branches() { - return opcode() == opc_ret; - } - - public int value() { - return operandValue; - } - - /* package local methods */ - - static String primType(int primIndex) { - switch (primIndex) { - case T_BOOLEAN: - return "boolean";//NOI18N - case T_CHAR: - return "char";//NOI18N - case T_FLOAT: - return "float";//NOI18N - case T_DOUBLE: - return "double";//NOI18N - case T_BYTE: - return "byte";//NOI18N - case T_SHORT: - return "short";//NOI18N - case T_INT: - return "int";//NOI18N - case T_LONG: - return "long";//NOI18N - default: - throw new InsnError ("Invalid primitive type(" + primIndex + ")");//NOI18N - } - } - - void print (PrintStream out, int indent) { - ClassPrint.spaces(out, indent); - if (opcode() == opc_newarray) - out.println(offset() + " opc_newarray " + primType(operandValue));//NOI18N - else - out.println(offset() + " " + opName(opcode()) + " " + operandValue);//NOI18N - } - - int store(byte[] buf, int index) { - if (size() == 4) { - /* prefix with an opc_wide */ - buf[index++] = (byte) opc_wide; - } - - buf[index++] = (byte) opcode(); - if (size() > 2) - buf[index++] = (byte)(operandValue >> 8); - buf[index++] = (byte)(operandValue & 0xff); - return index; - } - - - /* return the size of the instruction in bytes */ - - int size() { - switch(opcode()) { - case opc_bipush: - case opc_newarray: - /* These are always 1 byte constants */ - return 2; - - case opc_sipush: /* a short constant */ - /* This is always a 2 byte constant */ - return 3; - - case opc_iload: - case opc_lload: - case opc_fload: - case opc_dload: - case opc_aload: - case opc_istore: - case opc_lstore: - case opc_fstore: - case opc_dstore: - case opc_astore: - case opc_ret: - /* These can be one or two byte constants specifying a local var. - * If a two byte constant, the constant is prefixed by a wide - * instruction */ - if (operandValue < 256) - return 2; - else - return 4; - - default: - throw new InsnError ("invalid instruction " + opName(opcode()) +//NOI18N - " with an integer operand");//NOI18N - } - } - - - InsnIntOp (int theOpcode, int theOperand, int pc) { - super(theOpcode, pc); - - operandValue = theOperand; - } - - - InsnIntOp (int theOpcode, int theOperand) { - super(theOpcode, NO_OFFSET); - - operandValue = theOperand; - switch(theOpcode) { - case opc_bipush: - case opc_newarray: - /* These are always 1 byte constants */ - - case opc_sipush: /* a short constant */ - /* This is always a 2 byte constant */ - - case opc_dload: - case opc_lload: - case opc_iload: - case opc_fload: - case opc_aload: - case opc_istore: - case opc_lstore: - case opc_fstore: - case opc_dstore: - case opc_astore: - case opc_ret: - /* These can be one or two byte constants specifying a local var */ - break; - - default: - throw new InsnError ("attempt to create an " + opName(theOpcode) +//NOI18N - " with an integer operand");//NOI18N - } - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnInterfaceInvoke.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnInterfaceInvoke.java deleted file mode 100644 index a370950cdce..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnInterfaceInvoke.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.PrintStream; - -/** - * Special instruction form for the opc_invokeinterface instruction - */ - -public class InsnInterfaceInvoke extends InsnConstOp { - /* The number of arguments to the interface method */ - private int nArgsOp; - - /* public accessors */ - - public int nStackArgs() { - return super.nStackArgs(); - } - - public int nStackResults() { - return super.nStackResults(); - } - - /** - * What are the types of the stack operands ? - */ - public String argTypes() { - return super.argTypes(); - } - - /** - * What are the types of the stack results? - */ - public String resultTypes() { - return super.resultTypes(); - } - - public boolean branches() { - return false; - } - - /** - * Return the interface to be invoked - */ - public ConstInterfaceMethodRef method() { - return (ConstInterfaceMethodRef) value(); - } - - /** - * Return the number of arguments to the interface - */ - public int nArgs() { - return nArgsOp; - } - - /** - * constructor for opc_invokeinterface - */ - public InsnInterfaceInvoke (ConstInterfaceMethodRef methodRefOp, - int nArgsOp) { - this(methodRefOp, nArgsOp, NO_OFFSET); - } - - /* package local methods */ - - InsnInterfaceInvoke (ConstInterfaceMethodRef methodRefOp, int nArgsOp, - int offset) { - super(opc_invokeinterface, methodRefOp, offset); - - this.nArgsOp = nArgsOp; - - if (methodRefOp == null || nArgsOp < 0) - throw new InsnError ("attempt to create an opc_invokeinterface" +//NOI18N - " with invalid operands");//NOI18N - } - - void print (PrintStream out, int indent) { - ClassPrint.spaces(out, indent); - out.println(offset() + " opc_invokeinterface " + //NOI18N - "pool(" + method().getIndex() + ")," + nArgsOp);//NOI18N - } - - int store(byte[] buf, int index) { - buf[index++] = (byte) opcode(); - index = storeShort(buf, index, (short)method().getIndex()); - buf[index++] = (byte) nArgsOp; - buf[index++] = (byte) 0; - return index; - } - - int size() { - return 5; - } - - static InsnInterfaceInvoke read(InsnReadEnv insnEnv, int myPC) { - ConstInterfaceMethodRef iface = (ConstInterfaceMethodRef) - insnEnv.pool().constantAt(insnEnv.getUShort()); - int nArgs = insnEnv.getUByte(); - insnEnv.getByte(); // eat reserved arg - return new InsnInterfaceInvoke(iface, nArgs, myPC); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnLookupSwitch.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnLookupSwitch.java deleted file mode 100644 index 51f88252b79..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnLookupSwitch.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.PrintStream; - -/** - * Special instruction form for the opc_lookupswitch instruction - */ - -public class InsnLookupSwitch extends Insn { - /* The target for the default case */ - private InsnTarget defaultOp; - - /* The int constants against which to perform the lookup */ - private int[] matchesOp; - - /* The branch targets for the cases corresponding to the entries in - * the matchesOp array */ - private InsnTarget[] targetsOp; - - /* public accessors */ - - public int nStackArgs() { - return 1; - } - - public int nStackResults() { - return 0; - } - - /** - * What are the types of the stack operands ? - */ - public String argTypes() { - return "I";//NOI18N - } - - /** - * What are the types of the stack results? - */ - public String resultTypes() { - return "";//NOI18N - } - - public boolean branches() { - return true; - } - - /** - * Mark possible branch targets - */ - public void markTargets() { - defaultOp.setBranchTarget(); - for (int i=0; i " + targetsOp[i].offset());//NOI18N - } - ClassPrint.spaces(out, indent+2); - out.println("default -> " + defaultOp.offset());//NOI18N - } - - int store(byte[] buf, int index) { - buf[index++] = (byte) opcode(); - index = (index + 3) & ~3; - index = storeInt(buf, index, defaultOp.offset() - offset()); - index = storeInt(buf, index, targetsOp.length); - for (int i=0; i 0; pads--) - insnEnv.getByte(); - InsnTarget defaultTarget = insnEnv.getTarget(insnEnv.getInt() + myPC); - int npairs = insnEnv.getInt(); - int matches[] = new int[npairs]; - InsnTarget[] offsets = new InsnTarget[npairs]; - for (int i=0; i 0 and <= number of array dimensions for classOp - */ - public InsnMultiDimArrayNew (ConstClass classOp, int nDimsOp) { - this(classOp, nDimsOp, NO_OFFSET); - } - - /* package local methods */ - - InsnMultiDimArrayNew (ConstClass classOp, int nDimsOp, int offset) { - super(opc_multianewarray, offset); - - this.classOp = classOp; - this.nDimsOp = nDimsOp; - - if (classOp == null || nDimsOp < 1) - throw new InsnError ("attempt to create an opc_multianewarray" +//NOI18N - " with invalid operands");//NOI18N - } - - - - void print (PrintStream out, int indent) { - ClassPrint.spaces(out, indent); - out.println(offset() + " opc_multianewarray pool(" +//NOI18N - classOp.getIndex() + ")," + nDimsOp);//NOI18N - } - - int store(byte[] buf, int index) { - buf[index++] = (byte) opcode(); - index = storeShort(buf, index, (short) classOp.getIndex()); - buf[index++] = (byte) nDimsOp; - return index; - } - - int size() { - return 4; - } - - static InsnMultiDimArrayNew read (InsnReadEnv insnEnv, int myPC) { - ConstClass classOp = (ConstClass) - insnEnv.pool().constantAt(insnEnv.getUShort()); - int nDims = insnEnv.getUByte(); - return new InsnMultiDimArrayNew(classOp, nDims, myPC); - } - -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnReadEnv.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnReadEnv.java deleted file mode 100644 index 0f4cf497f94..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnReadEnv.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -/** - * Environment for decoding byte codes into instructions - */ - -class InsnReadEnv { - - /* The parent method environment */ - private CodeEnv codeEnv; - - /* The byte codes to be decoded */ - private byte[] byteCodes; - - /* The index into byteCodes for the next instruction to be decoded */ - private int currPc; - - /** - * Constructor - */ - InsnReadEnv(byte[] bytes, CodeEnv codeEnv) { - this.byteCodes = bytes; - this.currPc = 0; - this.codeEnv = codeEnv; - } - - /** - * Return the index of the next instruction to decode - */ - int currentPC() { - return currPc; - } - - /** - * Are there more byte codes to decode? - */ - boolean more() { - return currPc < byteCodes.length; - } - - /** - * Get a single byte from the byte code stream - */ - byte getByte() { - if (!more()) - throw new InsnError("out of byte codes");//NOI18N - - return byteCodes[currPc++]; - } - - /** - * Get a single unsigned byte from the byte code stream - */ - int getUByte() { - return getByte() & 0xff; - } - - /** - * Get a short from the byte code stream - */ - int getShort() { - byte byte1 = byteCodes[currPc++]; - byte byte2 = byteCodes[currPc++]; - return (byte1 << 8) | (byte2 & 0xff); - } - - /** - * Get an unsigned short from the byte code stream - */ - int getUShort() { - return getShort() & 0xffff; - } - - /** - * Get an int from the byte code stream - */ - int getInt() { - byte byte1 = byteCodes[currPc++]; - byte byte2 = byteCodes[currPc++]; - byte byte3 = byteCodes[currPc++]; - byte byte4 = byteCodes[currPc++]; - return (byte1 << 24) | ((byte2 & 0xff) << 16) | - ((byte3 & 0xff) << 8) | (byte4 & 0xff); - } - - /** - * Get the constant pool which applies to the method being decoded - */ - ConstantPool pool() { - return codeEnv.pool(); - } - - /** - * Get the canonical InsnTarget instance for the specified - * pc within the method. - */ - InsnTarget getTarget(int targ) { - return codeEnv.getTarget(targ); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnSingle.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnSingle.java deleted file mode 100644 index be1e05994f9..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnSingle.java +++ /dev/null @@ -1,273 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.PrintStream; - -/** - * A java VM instruction which takes no immediate operands. - */ - -public class InsnSingle extends Insn { - - public int nStackArgs() { - return VMOp.ops[opcode()].nStackArgs(); - } - - public int nStackResults() { - return VMOp.ops[opcode()].nStackResults(); - } - - /** - * What are the types of the stack operands ? - */ - public String argTypes() { - return VMOp.ops[opcode()].argTypes(); - } - - /** - * What are the types of the stack results? - */ - public String resultTypes() { - return VMOp.ops[opcode()].resultTypes(); - } - - public boolean branches() { - switch (opcode()) { - case opc_ireturn: - case opc_lreturn: - case opc_freturn: - case opc_dreturn: - case opc_areturn: - case opc_return: - case opc_athrow: - return true; - default: - return false; - } - } - - - /* package local methods */ - - void print (PrintStream out, int indent) { - ClassPrint.spaces(out, indent); - out.println(offset() + " " + opName(opcode()));//NOI18N - } - - int store(byte[] buf, int index) { - buf[index] = (byte) opcode(); - return index+1; - } - - int size() { - return 1; - } - - /* Construct an instruction. The opcode must be one which requires - no operands */ - - InsnSingle(int theOpcode) { - this(theOpcode, NO_OFFSET); - } - - /* The no-check constructor */ - - InsnSingle(int theOpcode, int theOffset) { - super(theOpcode, theOffset); - - switch (theOpcode) { - case opc_nop: - case opc_aconst_null: - case opc_iconst_m1: - case opc_iconst_0: - case opc_iconst_1: - case opc_iconst_2: - case opc_iconst_3: - case opc_iconst_4: - case opc_iconst_5: - case opc_lconst_0: - case opc_lconst_1: - case opc_fconst_0: - case opc_fconst_1: - case opc_fconst_2: - case opc_dconst_0: - case opc_dconst_1: - case opc_iload_0: - case opc_iload_1: - case opc_iload_2: - case opc_iload_3: - case opc_lload_0: - case opc_lload_1: - case opc_lload_2: - case opc_lload_3: - case opc_fload_0: - case opc_fload_1: - case opc_fload_2: - case opc_fload_3: - case opc_dload_0: - case opc_dload_1: - case opc_dload_2: - case opc_dload_3: - case opc_aload_0: - case opc_aload_1: - case opc_aload_2: - case opc_aload_3: - case opc_iaload: - case opc_laload: - case opc_faload: - case opc_daload: - case opc_aaload: - case opc_baload: - case opc_caload: - case opc_saload: - case opc_istore_0: - case opc_istore_1: - case opc_istore_2: - case opc_istore_3: - case opc_lstore_0: - case opc_lstore_1: - case opc_lstore_2: - case opc_lstore_3: - case opc_fstore_0: - case opc_fstore_1: - case opc_fstore_2: - case opc_fstore_3: - case opc_dstore_0: - case opc_dstore_1: - case opc_dstore_2: - case opc_dstore_3: - case opc_astore_0: - case opc_astore_1: - case opc_astore_2: - case opc_astore_3: - case opc_iastore: - case opc_lastore: - case opc_fastore: - case opc_dastore: - case opc_aastore: - case opc_bastore: - case opc_castore: - case opc_sastore: - case opc_pop: - case opc_pop2: - case opc_dup: - case opc_dup_x1: - case opc_dup_x2: - case opc_dup2: - case opc_dup2_x1: - case opc_dup2_x2: - case opc_swap: - case opc_iadd: - case opc_ladd: - case opc_fadd: - case opc_dadd: - case opc_isub: - case opc_lsub: - case opc_fsub: - case opc_dsub: - case opc_imul: - case opc_lmul: - case opc_fmul: - case opc_dmul: - case opc_idiv: - case opc_ldiv: - case opc_fdiv: - case opc_ddiv: - case opc_irem: - case opc_lrem: - case opc_frem: - case opc_drem: - case opc_ineg: - case opc_lneg: - case opc_fneg: - case opc_dneg: - case opc_ishl: - case opc_lshl: - case opc_ishr: - case opc_lshr: - case opc_iushr: - case opc_lushr: - case opc_iand: - case opc_land: - case opc_ior: - case opc_lor: - case opc_ixor: - case opc_lxor: - case opc_i2l: - case opc_i2f: - case opc_i2d: - case opc_l2i: - case opc_l2f: - case opc_l2d: - case opc_f2i: - case opc_f2l: - case opc_f2d: - case opc_d2i: - case opc_d2l: - case opc_d2f: - case opc_i2b: - case opc_i2c: - case opc_i2s: - case opc_lcmp: - case opc_fcmpl: - case opc_fcmpg: - case opc_dcmpl: - case opc_dcmpg: - case opc_ireturn: - case opc_lreturn: - case opc_freturn: - case opc_dreturn: - case opc_areturn: - case opc_return: - case opc_xxxunusedxxx: - case opc_arraylength: - case opc_athrow: - case opc_monitorenter: - case opc_monitorexit: - break; - - default: - throw new InsnError ("attempt to create an " + opName(opcode()) +//NOI18N - " without specifying the required operands");//NOI18N - } - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnTableSwitch.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnTableSwitch.java deleted file mode 100644 index 239aa516c1a..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/InsnTableSwitch.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - - -import java.io.PrintStream; - -/** - * Special instruction form for the opc_tableswitch instruction - */ - -public class InsnTableSwitch extends Insn { - /* The lowest value in the jump table */ - private int lowOp; - - /* The default target for the switch */ - private InsnTarget defaultOp; - - /* The targets for the switch - a switch value of lowOp dispatches - * to targetsOp[0], lowOp+1 dispatches to targetsOp[1], etc. */ - private InsnTarget[] targetsOp; - - /* public accessors */ - - public int nStackArgs() { - return 1; - } - - public int nStackResults() { - return 0; - } - - public String argTypes() { - return "I";//NOI18N - } - - public String resultTypes() { - return "";//NOI18N - } - - public boolean branches() { - return true; - } - - /** - * Mark possible branch targets - */ - public void markTargets() { - defaultOp.setBranchTarget(); - for (int i=0; i " + targetsOp[i].offset());//NOI18N - } - } - ClassPrint.spaces(out, indent+2); - out.println("default -> " + defaultOp.offset());//NOI18N - } - - int store(byte[] buf, int index) { - buf[index++] = (byte) opcode(); - index = (index + 3) & ~3; - index = storeInt(buf, index, defaultOp.offset() - offset()); - index = storeInt(buf, index, lowOp); - index = storeInt(buf, index, lowOp+targetsOp.length-1); - for (int i=0; i 0; pads--) - insnEnv.getByte(); - InsnTarget defaultTarget = insnEnv.getTarget(insnEnv.getInt() + myPC); - int low = insnEnv.getInt(); - int high = insnEnv.getInt(); - InsnTarget[] offsets = new InsnTarget[high - low + 1]; - for (int i=0; i= -128 && i < 128) - return Insn.create(opc_bipush, i); - return Insn.create(opc_ldc, pool.addInteger(i)); - } - - /** - * Return the best instruction for loading the specified long constant onto - * the stack. - */ - public static Insn longConstant(long l, ConstantPool pool) { - if (l == 0) - return Insn.create(opc_lconst_0); - else if (l == 1) - return Insn.create(opc_lconst_1); - else - return Insn.create(opc_ldc2_w, pool.addLong(l)); - } - - /** - * Return the best instruction for loading the specified float constant onto - * the stack. - */ - public static Insn floatConstant(float f, ConstantPool pool) { - if (f == 0) - return Insn.create(opc_fconst_0); - else if (f == 1) - return Insn.create(opc_fconst_1); - else if (f == 2) - return Insn.create(opc_fconst_2); - else - return Insn.create(opc_ldc, pool.addFloat(f)); - } - - /** - * Return the best instruction for loading the specified double constant onto - * the stack. - */ - public static Insn doubleConstant(double d, ConstantPool pool) { - if (d == 0) - return Insn.create(opc_dconst_0); - else if (d == 1) - return Insn.create(opc_dconst_1); - else - return Insn.create(opc_ldc2_w, pool.addDouble(d)); - } - - /** - * Return the best instruction for storing a reference to a local - * variable slot - */ - public static Insn aStore(int i, ConstantPool pool) { - if (i == 0) - return Insn.create(opc_astore_0); - else if (i == 1) - return Insn.create(opc_astore_1); - else if (i == 2) - return Insn.create(opc_astore_2); - else if (i == 3) - return Insn.create(opc_astore_3); - return Insn.create(opc_astore, i); - } - - /** - * Return the best instruction for storing an int to a local - * variable slot - */ - public static Insn iStore(int i, ConstantPool pool) { - if (i == 0) - return Insn.create(opc_istore_0); - else if (i == 1) - return Insn.create(opc_istore_1); - else if (i == 2) - return Insn.create(opc_istore_2); - else if (i == 3) - return Insn.create(opc_istore_3); - return Insn.create(opc_istore, i); - } - - /** - * Return the best instruction for storing a float to a local - * variable slot - */ - public static Insn fStore(int i, ConstantPool pool) { - if (i == 0) - return Insn.create(opc_fstore_0); - else if (i == 1) - return Insn.create(opc_fstore_1); - else if (i == 2) - return Insn.create(opc_fstore_2); - else if (i == 3) - return Insn.create(opc_fstore_3); - return Insn.create(opc_fstore, i); - } - - /** - * Return the best instruction for storing a long to a local - * variable slot - */ - public static Insn lStore(int i, ConstantPool pool) { - if (i == 0) - return Insn.create(opc_lstore_0); - else if (i == 1) - return Insn.create(opc_lstore_1); - else if (i == 2) - return Insn.create(opc_lstore_2); - else if (i == 3) - return Insn.create(opc_lstore_3); - return Insn.create(opc_lstore, i); - } - - /** - * Return the best instruction for storing a double to a local - * variable slot - */ - public static Insn dStore(int i, ConstantPool pool) { - if (i == 0) - return Insn.create(opc_dstore_0); - else if (i == 1) - return Insn.create(opc_dstore_1); - else if (i == 2) - return Insn.create(opc_dstore_2); - else if (i == 3) - return Insn.create(opc_dstore_3); - return Insn.create(opc_dstore, i); - } - - /** - * Return the best instruction for loading a reference from a local - * variable slot - */ - public static Insn aLoad(int i, ConstantPool pool) { - if (i == 0) - return Insn.create(opc_aload_0); - else if (i == 1) - return Insn.create(opc_aload_1); - else if (i == 2) - return Insn.create(opc_aload_2); - else if (i == 3) - return Insn.create(opc_aload_3); - return Insn.create(opc_aload, i); - } - - /** - * Return the best instruction for loading an int from a local - * variable slot - */ - public static Insn iLoad(int i, ConstantPool pool) { - if (i == 0) - return Insn.create(opc_iload_0); - else if (i == 1) - return Insn.create(opc_iload_1); - else if (i == 2) - return Insn.create(opc_iload_2); - else if (i == 3) - return Insn.create(opc_iload_3); - return Insn.create(opc_iload, i); - } - - /** - * Return the best instruction for loading a float from a local - * variable slot - */ - public static Insn fLoad(int i, ConstantPool pool) { - if (i == 0) - return Insn.create(opc_fload_0); - else if (i == 1) - return Insn.create(opc_fload_1); - else if (i == 2) - return Insn.create(opc_fload_2); - else if (i == 3) - return Insn.create(opc_fload_3); - return Insn.create(opc_fload, i); - } - - /** - * Return the best instruction for loading a long from a local - * variable slot - */ - public static Insn lLoad(int i, ConstantPool pool) { - if (i == 0) - return Insn.create(opc_lload_0); - else if (i == 1) - return Insn.create(opc_lload_1); - else if (i == 2) - return Insn.create(opc_lload_2); - else if (i == 3) - return Insn.create(opc_lload_3); - return Insn.create(opc_lload, i); - } - - /** - * Return the best instruction for loading a double from a local - * variable slot - */ - public static Insn dLoad(int i, ConstantPool pool) { - if (i == 0) - return Insn.create(opc_dload_0); - else if (i == 1) - return Insn.create(opc_dload_1); - else if (i == 2) - return Insn.create(opc_dload_2); - else if (i == 3) - return Insn.create(opc_dload_3); - return Insn.create(opc_dload, i); - } - - /** - * Return the best instruction for loading a value from a local - * variable slot - */ - public static Insn load(int tp, int i, ConstantPool pool) { - switch(tp) { - //@olsen: added these cases: - case T_BOOLEAN: - case T_CHAR: - case T_BYTE: - case T_SHORT: - //@olsen: end added cases - case T_INT: - return iLoad(i, pool); - case T_FLOAT: - return fLoad(i, pool); - case T_DOUBLE: - return dLoad(i, pool); - case T_LONG: - return lLoad(i, pool); - case TC_OBJECT: - return aLoad(i, pool); - default: - throw new InsnError("bad load type");//NOI18N - } - } - - - /** - * Return the best instruction for storing a value to a local - * variable slot - */ - public static Insn store(int tp, int i, ConstantPool pool) { - switch(tp) { - //@olsen: added these cases: - case T_BOOLEAN: - case T_CHAR: - case T_BYTE: - case T_SHORT: - //@olsen: end added cases - case T_INT: - return iStore(i, pool); - case T_FLOAT: - return fStore(i, pool); - case T_DOUBLE: - return dStore(i, pool); - case T_LONG: - return lStore(i, pool); - case TC_OBJECT: - return aStore(i, pool); - default: - throw new InsnError("bad store type");//NOI18N - } - } -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/LineNumberTableAttribute.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/LineNumberTableAttribute.java deleted file mode 100644 index d2a84b04875..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/classfile/LineNumberTableAttribute.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.classfile; - -import java.io.*; - -/** - * LineNumberTableAttribute represents a line number table attribute - * within a CodeAttribute within a class file - */ - -public class LineNumberTableAttribute extends ClassAttribute { - /* The expected attribute name */ - public final static String expectedAttrName = "LineNumberTable";//NOI18N - - /* The line numbers */ - private short lineNumbers[]; - - /* The corresponding instructions */ - private InsnTarget targets[]; - - /* public accessors */ - - /** - * Constructor - */ - public LineNumberTableAttribute( - ConstUtf8 nameAttr, short lineNums[], InsnTarget targets[]) { - super(nameAttr); - lineNumbers = lineNums; - this.targets = targets; - } - - /* package local methods */ - - static LineNumberTableAttribute read( - ConstUtf8 attrName, DataInputStream data, CodeEnv env) - throws IOException { - int nLnums = data.readUnsignedShort(); - short lineNums[] = new short[nLnums]; - InsnTarget targs[] = new InsnTarget[nLnums]; - for (int i=0; i 0) { - lvarTable.addElement(LocalVariable.read(data, env)); - } - - return new LocalVariableTableAttribute(attrName, lvarTable); - } - - void write(DataOutputStream out) throws IOException { - out.writeShort(attrName().getIndex()); - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - DataOutputStream tmp_out = new DataOutputStream(baos); - tmp_out.writeShort(localTable.size()); - for (int i=0; i ..., null */ - new VMOp(opc_aconst_null, "aconst_null", 0, 1, "", "A"),//NOI18N - /* | ... -> ..., -1 */ - new VMOp(opc_iconst_m1, "iconst_m1", 0, 1, "", "I"),//NOI18N - /* | ... -> ..., 0 */ - new VMOp(opc_iconst_0, "iconst_0", 0, 1, "", "I"),//NOI18N - /* | ... -> ..., 1 */ - new VMOp(opc_iconst_1, "iconst_1", 0, 1, "", "I"),//NOI18N - /* | ... -> ..., 2 */ - new VMOp(opc_iconst_2, "iconst_2", 0, 1, "", "I"),//NOI18N - /* | ... -> ..., 3 */ - new VMOp(opc_iconst_3, "iconst_3", 0, 1, "", "I"),//NOI18N - /* | ... -> ..., 4 */ - new VMOp(opc_iconst_4, "iconst_4", 0, 1, "", "I"),//NOI18N - /* | ... -> ..., 5 */ - new VMOp(opc_iconst_5, "iconst_5", 0, 1, "", "I"),//NOI18N - /* | ... -> ..., 0, 0 */ - new VMOp(opc_lconst_0, "lconst_0", 0, 2, "", "J"),//NOI18N - /* | ... -> ..., 1, 1 */ - new VMOp(opc_lconst_1, "lconst_1", 0, 2, "", "J"),//NOI18N - /* | ... -> ..., 0.0f */ - new VMOp(opc_fconst_0, "fconst_0", 0, 1, "", "F"),//NOI18N - /* | ... -> ..., 1.0f */ - new VMOp(opc_fconst_1, "fconst_1", 0, 1, "", "F"),//NOI18N - /* | ... -> ..., 2.0f */ - new VMOp(opc_fconst_2, "fconst_2", 0, 1, "", "F"),//NOI18N - /* | ... -> ..., 0.0, 0.0 */ - new VMOp(opc_dconst_0, "dconst_0", 0, 2, "", "D"),//NOI18N - /* | ... -> ..., 1.0, 1.0 */ - new VMOp(opc_dconst_1, "dconst_1", 0, 2, "", "D"),//NOI18N - /* byte1 | ... => ..., value */ - new VMOp(opc_bipush, "bipush", 0, 1, "", "I"),//NOI18N - /* byte1 byte2 | ... => ..., value */ - new VMOp(opc_sipush, "sipush", 0, 1, "", "I"),//NOI18N - /* indexbyte1 | ... => ..., item */ - new VMOp(opc_ldc, "ldc", 0, 1, "", "W"),//NOI18N - /* indexbyte1 indexbyte2 | ... => ..., item */ - new VMOp(opc_ldc_w, "ldc_w", 0, 1, "", "W"),//NOI18N - /* indexbyte1 indexbyte2 | ... => ..., item1, item2 */ - new VMOp(opc_ldc2_w, "ldc2_w", 0, 2, "", "X"),//NOI18N - /* vindex | ... => ..., value */ - new VMOp(opc_iload, "iload", 0, 1, "", "I"),//NOI18N - /* vindex | ... => ..., value, value */ - new VMOp(opc_lload, "lload", 0, 2, "", "J"),//NOI18N - /* vindex | ... => ..., value */ - new VMOp(opc_fload, "fload", 0, 1, "", "F"),//NOI18N - /* vindex | ... => ..., value, value */ - new VMOp(opc_dload, "dload", 0, 2, "", "D"),//NOI18N - /* vindex | ... => ..., value */ - new VMOp(opc_aload, "aload", 0, 1, "", "A"),//NOI18N - /* | ... => ..., value<0> */ - new VMOp(opc_iload_0, "iload_0", 0, 1, "", "I"),//NOI18N - /* | ... => ..., value<1> */ - new VMOp(opc_iload_1, "iload_1", 0, 1, "", "I"),//NOI18N - /* | ... => ..., value<2> */ - new VMOp(opc_iload_2, "iload_2", 0, 1, "", "I"),//NOI18N - /* | ... => ..., value<3> */ - new VMOp(opc_iload_3, "iload_3", 0, 1, "", "I"),//NOI18N - /* | ... => ..., value<0>, value<0> */ - new VMOp(opc_lload_0, "lload_0", 0, 2, "", "J"),//NOI18N - /* | ... => ..., value<1>, value<1> */ - new VMOp(opc_lload_1, "lload_1", 0, 2, "", "J"),//NOI18N - /* | ... => ..., value<2>, value<2> */ - new VMOp(opc_lload_2, "lload_2", 0, 2, "", "J"),//NOI18N - /* | ... => ..., value<3>, value<3> */ - new VMOp(opc_lload_3, "lload_3", 0, 2, "", "J"),//NOI18N - /* | ... => ..., value<0> */ - new VMOp(opc_fload_0, "fload_0", 0, 1, "", "F"),//NOI18N - /* | ... => ..., value<1> */ - new VMOp(opc_fload_1, "fload_1", 0, 1, "", "F"),//NOI18N - /* | ... => ..., value<2> */ - new VMOp(opc_fload_2, "fload_2", 0, 1, "", "F"),//NOI18N - /* | ... => ..., value<3> */ - new VMOp(opc_fload_3, "fload_3", 0, 1, "", "F"),//NOI18N - /* | ... => ..., value<0>, value<0> */ - new VMOp(opc_dload_0, "dload_0", 0, 2, "", "D"),//NOI18N - /* | ... => ..., value<1>, value<1> */ - new VMOp(opc_dload_1, "dload_1", 0, 2, "", "D"),//NOI18N - /* | ... => ..., value<2>, value<2> */ - new VMOp(opc_dload_2, "dload_2", 0, 2, "", "D"),//NOI18N - /* | ... => ..., value<3>, value<3> */ - new VMOp(opc_dload_3, "dload_3", 0, 2, "", "D"),//NOI18N - /* | ... => ..., value<0> */ - new VMOp(opc_aload_0, "aload_0", 0, 1, "", "A"),//NOI18N - /* | ... => ..., value<1> */ - new VMOp(opc_aload_1, "aload_1", 0, 1, "", "A"),//NOI18N - /* | ... => ..., value<2> */ - new VMOp(opc_aload_2, "aload_2", 0, 1, "", "A"),//NOI18N - /* | ... => ..., value<3> */ - new VMOp(opc_aload_3, "aload_3", 0, 1, "", "A"),//NOI18N - /* | ..., arrayref, index => ..., value */ - new VMOp(opc_iaload, "iaload", 2, 1, "AI", "I"),//NOI18N - /* | ..., arrayref, index => ..., value, value */ - new VMOp(opc_laload, "laload", 2, 2, "AI", "J"),//NOI18N - /* | ..., arrayref, index => ..., value */ - new VMOp(opc_faload, "faload", 2, 1, "AI", "F"),//NOI18N - /* | ..., arrayref, index => ..., value, value */ - new VMOp(opc_daload, "daload", 2, 2, "AI", "D"),//NOI18N - /* | ..., arrayref, index => ..., value */ - new VMOp(opc_aaload, "aaload", 2, 1, "AI", "A"),//NOI18N - /* | ..., arrayref, index => ..., value */ - new VMOp(opc_baload, "baload", 2, 1, "AI", "I"),//NOI18N - /* | ..., arrayref, index => ..., value */ - new VMOp(opc_caload, "caload", 2, 1, "AI", "I"),//NOI18N - /* | ..., arrayref, index => ..., value */ - new VMOp(opc_saload, "saload", 2, 1, "AI", "I"),//NOI18N - /* vindex | ..., value => ... */ - new VMOp(opc_istore, "istore", 1, 0, "I", ""),//NOI18N - /* vindex | ..., value, value => ... */ - new VMOp(opc_lstore, "lstore", 2, 0, "J", ""),//NOI18N - /* vindex | ..., value => ... */ - new VMOp(opc_fstore, "fstore", 1, 0, "F", ""),//NOI18N - /* vindex | ..., value, value => ... */ - new VMOp(opc_dstore, "dstore", 2, 0, "D", ""),//NOI18N - /* vindex | ..., value => ... */ - new VMOp(opc_astore, "astore", 1, 0, "A", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_istore_0, "istore_0", 1, 0, "I", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_istore_1, "istore_1", 1, 0, "I", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_istore_2, "istore_2", 1, 0, "I", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_istore_3, "istore_3", 1, 0, "I", ""),//NOI18N - /* | ..., value, value => ... */ - new VMOp(opc_lstore_0, "lstore_0", 2, 0, "J", ""),//NOI18N - /* | ..., value, value => ... */ - new VMOp(opc_lstore_1, "lstore_1", 2, 0, "J", ""),//NOI18N - /* | ..., value, value => ... */ - new VMOp(opc_lstore_2, "lstore_2", 2, 0, "J", ""),//NOI18N - /* | ..., value, value => ... */ - new VMOp(opc_lstore_3, "lstore_3", 2, 0, "J", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_fstore_0, "fstore_0", 1, 0, "F", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_fstore_1, "fstore_1", 1, 0, "F", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_fstore_2, "fstore_2", 1, 0, "F", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_fstore_3, "fstore_3", 1, 0, "F", ""),//NOI18N - /* | ..., value, value => ... */ - new VMOp(opc_dstore_0, "dstore_0", 2, 0, "D", ""),//NOI18N - /* | ..., value, value => ... */ - new VMOp(opc_dstore_1, "dstore_1", 2, 0, "D", ""),//NOI18N - /* | ..., value, value => ... */ - new VMOp(opc_dstore_2, "dstore_2", 2, 0, "D", ""),//NOI18N - /* | ..., value, value => ... */ - new VMOp(opc_dstore_3, "dstore_3", 2, 0, "D", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_astore_0, "astore_0", 1, 0, "A", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_astore_1, "astore_1", 1, 0, "A", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_astore_2, "astore_2", 1, 0, "A", ""),//NOI18N - /* | ..., value => ... */ - new VMOp(opc_astore_3, "astore_3", 1, 0, "A", ""),//NOI18N - /* | ..., arrayref, index, value => ... */ - new VMOp(opc_iastore, "iastore", 3, 0, "AII", ""),//NOI18N - /* | ..., arrayref, index, value, value => ... */ - new VMOp(opc_lastore, "lastore", 4, 0, "AIJ", ""),//NOI18N - /* | ..., arrayref, index, value => ... */ - new VMOp(opc_fastore, "fastore", 3, 0, "AIF", ""),//NOI18N - /* | ..., arrayref, index, value, value => ... */ - new VMOp(opc_dastore, "dastore", 4, 0, "AID", ""),//NOI18N - /* | ..., arrayref, index, value => ... */ - new VMOp(opc_aastore, "aastore", 3, 0, "AIA", ""),//NOI18N - /* | ..., arrayref, index, value => ... */ - new VMOp(opc_bastore, "bastore", 3, 0, "AII", ""),//NOI18N - /* | ..., arrayref, index, value => ... */ - new VMOp(opc_castore, "castore", 3, 0, "AII", ""),//NOI18N - /* | ..., arrayref, index, value => ... */ - new VMOp(opc_sastore, "sastore", 3, 0, "AII", ""),//NOI18N - /* | ..., any => ... */ - new VMOp(opc_pop, "pop", 1, 0, "W", ""),//NOI18N - /* | ..., any1, any2 => ... */ - new VMOp(opc_pop2, "pop2", 2, 0, "WW", ""),//NOI18N - /* | ..., any => ..., any, any */ - new VMOp(opc_dup, "dup", 1, 2, "W", "WW"),//NOI18N - /* | ..., any1, any2 => ..., any2, any1, any2 */ - new VMOp(opc_dup_x1, "dup_x1", 2, 3, "WW", "WWW"),//NOI18N - /* | ..., any1, any2, any3 => ..., any3, any1, any2, any3 */ - new VMOp(opc_dup_x2, "dup_x2", 3, 4, "WWW", "WWWW"),//NOI18N - /* | ..., any1, any2 => ..., any1, any2, any1, any2 */ - new VMOp(opc_dup2, "dup2", 2, 4, "WW", "WWWW"),//NOI18N - /* | ..., any1, any2, any3 => ..., any2, any3, any1, any2, any3 */ - new VMOp(opc_dup2_x1, "dup2_x1", 3, 5, "WWW", "WWWWW"),//NOI18N - /* | ..., any1, any2, any3, any4 => ..., any3, any4, any1, any2, any3, any4 */ - new VMOp(opc_dup2_x2, "dup2_x2", 4, 6, "WWWW", "WWWWWW"),//NOI18N - /* | ..., any1, any2 => ..., any2, any1 */ - new VMOp(opc_swap, "swap", 2, 2, "WW", "WW"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_iadd, "iadd", 2, 1, "II", "I"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_ladd, "ladd", 4, 2, "JJ", "J"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_fadd, "fadd", 2, 1, "FF", "F"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_dadd, "dadd", 4, 2, "DD", "D"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_isub, "isub", 2, 1, "II", "I"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_lsub, "lsub", 4, 2, "JJ", "J"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_fsub, "fsub", 2, 1, "FF", "F"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_dsub, "dsub", 4, 2, "DD", "D"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_imul, "imul", 2, 1, "II", "I"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_lmul, "lmul", 4, 2, "JJ", "J"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_fmul, "fmul", 2, 1, "FF", "F"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_dmul, "dmul", 4, 2, "DD", "D"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_idiv, "idiv", 2, 1, "II", "I"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_ldiv, "ldiv", 4, 2, "JJ", "J"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_fdiv, "fdiv", 2, 1, "FF", "F"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_ddiv, "ddiv", 4, 2, "DD", "D"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_irem, "irem", 2, 1, "II", "I"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_lrem, "lrem", 4, 2, "JJ", "J"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_frem, "frem", 2, 1, "FF", "F"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_drem, "drem", 4, 2, "DD", "D"),//NOI18N - /* | ..., value => ..., result */ - new VMOp(opc_ineg, "ineg", 1, 1, "I", "I"),//NOI18N - /* | ..., value, value => ..., result, result */ - new VMOp(opc_lneg, "lneg", 2, 2, "J", "J"),//NOI18N - /* | ..., value => ..., result */ - new VMOp(opc_fneg, "fneg", 1, 1, "F", "F"),//NOI18N - /* | ..., value, value => ..., result, result */ - new VMOp(opc_dneg, "dneg", 2, 2, "D", "D"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_ishl, "ishl", 2, 1, "II", "I"),//NOI18N - /* | ..., value1, value1, value2 => ..., result */ - new VMOp(opc_lshl, "lshl", 3, 2, "JI", "J"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_ishr, "ishr", 2, 1, "II", "I"),//NOI18N - /* | ..., value1, value1, value2 => ..., result, result */ - new VMOp(opc_lshr, "lshr", 3, 2, "JI", "J"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_iushr, "iushr", 2, 1, "II", "I"),//NOI18N - /* | ..., value1, value1, value2 => ..., result, result */ - new VMOp(opc_lushr, "lushr", 3, 2, "JI", "J"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_iand, "iand", 2, 1, "II", "I"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_land, "land", 4, 2, "JJ", "J"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_ior, "ior", 2, 1, "II", "I"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_lor, "lor", 4, 2, "JJ", "J"),//NOI18N - /* | ..., value1, value2 => ..., result */ - new VMOp(opc_ixor, "ixor", 2, 1, "II", "I"),//NOI18N - /* | ..., value1, value1, value2, value2 => ..., result, result */ - new VMOp(opc_lxor, "lxor", 4, 2, "JJ", "J"),//NOI18N - /* vindex, const | no change */ - new VMOp(opc_iinc, "iinc", 0, 0, "", ""),//NOI18N - /* | ..., value => ..., value, value */ - new VMOp(opc_i2l, "i2l", 1, 2, "I", "J"),//NOI18N - /* | ..., value => ..., value */ - new VMOp(opc_i2f, "i2f", 1, 1, "I", "F"),//NOI18N - /* | ..., value => ..., value, value */ - new VMOp(opc_i2d, "i2d", 1, 2, "I", "D"),//NOI18N - /* | ..., value, value => ..., value */ - new VMOp(opc_l2i, "l2i", 2, 1, "J", "I"),//NOI18N - /* | ..., value, value => ..., value */ - new VMOp(opc_l2f, "l2f", 2, 1, "J", "F"),//NOI18N - /* | ..., value, value => ..., value, value */ - new VMOp(opc_l2d, "l2d", 2, 2, "J", "D"),//NOI18N - /* | ..., value => ..., value */ - new VMOp(opc_f2i, "f2i", 1, 1, "F", "I"),//NOI18N - /* | ..., value => ..., value, value */ - new VMOp(opc_f2l, "f2l", 1, 2, "F", "J"),//NOI18N - /* | ..., value => ..., value, value */ - new VMOp(opc_f2d, "f2d", 1, 2, "F", "D"),//NOI18N - /* | ..., value, value => ..., value */ - new VMOp(opc_d2i, "d2i", 2, 1, "D", "I"),//NOI18N - /* | ..., value, value => ..., value, value */ - new VMOp(opc_d2l, "d2l", 2, 2, "D", "J"),//NOI18N - /* | ..., value, value => ..., value */ - new VMOp(opc_d2f, "d2f", 2, 1, "D", "F"),//NOI18N - /* | ..., value => ..., result */ - new VMOp(opc_i2b, "i2b", 1, 1, "I", "I"),//NOI18N - /* | ..., value => ..., result */ - new VMOp(opc_i2c, "i2c", 1, 1, "I", "I"),//NOI18N - /* | ..., value => ..., result */ - new VMOp(opc_i2s, "i2s", 1, 1, "I", "I"),//NOI18N - /* | ..., v1, v1, v2, v2 => ..., result */ - new VMOp(opc_lcmp, "lcmp", 4, 1, "JJ", "I"),//NOI18N - /* | ..., v1, v1, v2, v2 => ..., result */ - new VMOp(opc_fcmpl, "fcmpl", 2, 1, "FF", "I"),//NOI18N - /* | ..., v1, v2 => ..., result */ - new VMOp(opc_fcmpg, "fcmpg", 2, 1, "FF", "I"),//NOI18N - /* | ..., v1, v1, v2, v2 => ..., result */ - new VMOp(opc_dcmpl, "dcmpl", 4, 1, "DD", "I"),//NOI18N - /* | ..., v1, v1, v2, v2 => ..., result */ - new VMOp(opc_dcmpg, "dcmpg", 4, 1, "DD", "I"),//NOI18N - /* brbyte1, brbyte2 | ..., value => ... */ - new VMOp(opc_ifeq, "ifeq", 1, 0, "I", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value => ... */ - new VMOp(opc_ifne, "ifne", 1, 0, "I", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value => ... */ - new VMOp(opc_iflt, "iflt", 1, 0, "I", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value => ... */ - new VMOp(opc_ifge, "ifge", 1, 0, "I", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value => ... */ - new VMOp(opc_ifgt, "ifgt", 1, 0, "I", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value => ... */ - new VMOp(opc_ifle, "ifle", 1, 0, "I", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value1, value2 => ... */ - new VMOp(opc_if_icmpeq, "if_icmpeq", 2, 0, "II", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value1, value2 => ... */ - new VMOp(opc_if_icmpne, "if_icmpne", 2, 0, "II", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value1, value2 => ... */ - new VMOp(opc_if_icmplt, "if_icmplt", 2, 0, "II", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value1, value2 => ... */ - new VMOp(opc_if_icmpge, "if_icmpge", 2, 0, "II", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value1, value2 => ... */ - new VMOp(opc_if_icmpgt, "if_icmpgt", 2, 0, "II", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value1, value2 => ... */ - new VMOp(opc_if_icmple, "if_icmple", 2, 0, "II", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value1, value2 => ... */ - new VMOp(opc_if_acmpeq, "if_acmpeq", 2, 0, "AA", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value1, value2 => ... */ - new VMOp(opc_if_acmpne, "if_acmpne", 2, 0, "AA", ""),//NOI18N - /* brbyte1, brbyte2 | no change */ - new VMOp(opc_goto, "goto", 0, 0, "", ""),//NOI18N - /* brbyte1, brbyte2 | ... => ..., return_addr */ - new VMOp(opc_jsr, "jsr", 0, 1, "", "W"),//NOI18N - /* vindex | no change */ - new VMOp(opc_ret, "ret", 0, 0, "", ""),//NOI18N - /* ??? | ..., index => ... */ - new VMOp(opc_tableswitch, "tableswitch", 1, 0, "I", ""),//NOI18N - /* ??? | ..., key => ... */ - new VMOp(opc_lookupswitch, "lookupswitch", 1, 0, "I", ""),//NOI18N - /* | ..., value => [empty] */ - new VMOp(opc_ireturn, "ireturn", 1, 0, "I", ""),//NOI18N - /* | ..., value, value => [empty] */ - new VMOp(opc_lreturn, "lreturn", 2, 0, "J", ""),//NOI18N - /* | ..., value => [empty] */ - new VMOp(opc_freturn, "freturn", 1, 0, "F", ""),//NOI18N - /* | ..., value, value => [empty] */ - new VMOp(opc_dreturn, "dreturn", 2, 0, "D", ""),//NOI18N - /* | ..., value => [empty] */ - new VMOp(opc_areturn, "areturn", 1, 0, "A", ""),//NOI18N - /* | ... => [empty] */ - new VMOp(opc_return, "return", 0, 0, "", ""),//NOI18N - /* idxbyte1, idxbyte2 | ... => ..., value [ value2 ] */ - new VMOp(opc_getstatic, "getstatic", 0, -1, "", "?"),//NOI18N - /* idxbyte1, idxbyte2 | ..., value [ value2 ] => ... */ - new VMOp(opc_putstatic, "putstatic", -1, 0, "?", ""),//NOI18N - /* idxbyte1, idxbyte2 | ..., objectref => ..., value [ value2 ] */ - new VMOp(opc_getfield, "getfield", 1, -1, "A", "?"),//NOI18N - /* idxbyte1, idxbyte2 | ..., objectref, value [ value2 ] => ... */ - new VMOp(opc_putfield, "putfield", -1, 0, "A?", ""),//NOI18N - /* idxbyte1, idxbyte2 | ..., objectref, [args] => ... */ - new VMOp(opc_invokevirtual, "invokevirtual", -1, -1, "A?", "?"),//NOI18N - /* idxbyte1, idxbyte2 | ..., objectref, [args] => ... */ - new VMOp(opc_invokespecial, "invokespecial", -1, -1, "A?", "?"),//NOI18N - /* idxbyte1, idxbyte2 | ..., [args] => ... */ - new VMOp(opc_invokestatic, "invokestatic", -1, -1, "?", "?"),//NOI18N - /* idxbyte1, idxbyte2, nargs, rsvd | ..., objectref, [args] => ... */ - new VMOp(opc_invokeinterface, "invokeinterface", -1, -1, "A?", "?"),//NOI18N - /* */ - new VMOp(opc_xxxunusedxxx, "xxxunusedxxx", 0, 0, "", ""),//NOI18N - /* idxbyte1, idxbyte2 | ... => ..., objectref */ - new VMOp(opc_new, "new", 0, 1, "", "A"),//NOI18N - /* atype | ..., size => ..., result */ - new VMOp(opc_newarray, "newarray", 1, 1, "I", "A"),//NOI18N - /* indexbyte1, indexbyte2 | ..., size => ..., result */ - new VMOp(opc_anewarray, "anewarray", 1, 1, "I", "A"),//NOI18N - /* | ..., objectref => ..., length */ - new VMOp(opc_arraylength, "arraylength", 1, 1, "A", "I"),//NOI18N - /* | ..., objectref => [undefined] */ - new VMOp(opc_athrow, "athrow", 1, 0, "A", "?"),//NOI18N - /* idxbyte1, idxbyte2 | ..., objectref => ..., objectref */ - new VMOp(opc_checkcast, "checkcast", 1, 1, "A", "A"),//NOI18N - /* idxbyte1, idxbyte2 | ..., objectref => ..., result */ - new VMOp(opc_instanceof, "instanceof", 1, 1, "A", "I"),//NOI18N - /* | ..., objectref => ... */ - new VMOp(opc_monitorenter, "monitorenter", 1, 0, "A", ""),//NOI18N - /* | ..., objectref => ... */ - new VMOp(opc_monitorexit, "monitorexit", 1, 0, "A", ""),//NOI18N - /* an instruction | special */ - new VMOp(opc_wide, "wide", 0, 0, "", ""),//NOI18N - /* indexbyte1, indexbyte2, dimensions | ..., size1, ..., sizen => ..., result*/ - new VMOp(opc_multianewarray, "multianewarray", -1, 1, "?", "A"),//NOI18N - /* brbyte1, brbyte2 | ..., value => ... */ - new VMOp(opc_ifnull, "ifnull", 1, 0, "A", ""),//NOI18N - /* brbyte1, brbyte2 | ..., value => ... */ - new VMOp(opc_ifnonnull, "ifnonnull", 1, 0, "A", ""),//NOI18N - /* brbyte1, brbyte2, brbyte3, brbyte4 | no change */ - new VMOp(opc_goto_w, "goto_w", 0, 0, "", ""),//NOI18N - /* brbyte1, brbyte2, brbyte3, brbyte4 | ... => ..., return_addr */ - new VMOp(opc_jsr_w, "jsr_w", 0, 1, "", "W") };//NOI18N - - /** - * Check that each entry in the ops array has a valid VMOp entry - */ - private static void check() { - for (int i=0; i<=opc_jsr_w; i++) { - VMOp op = ops[i]; - if (op == null) - throw new InsnError ("null VMOp for " + i);//NOI18N - if (op.opcode() != i) - throw new InsnError ("bad opcode for " + i);//NOI18N - - if (1 == 0) { - /* check arg/result data */ - checkTypes(op.argTypes(), op.nStackArgs(), op); - checkTypes(op.resultTypes(), op.nStackResults(), op); - } - } - } - - private static void checkTypes(String types, int n, VMOp op) { - for (int i=0; i 0) {").toString(); - bodies[i++] = " " + FIELDNAME_JDO_STATE_MANAGER + ".loadForRead();"; - bodies[i++] = "}"; - bodies[i++] = "return " + fieldName + JavaClassWriterHelper.delim_; - return bodies; - } - - static String[] getFieldDirectWriteImpl(String fieldName, - String fieldType, - int fieldNumber, - String newvalue) - { - normalizeClassName(fieldType); - return new String[] { - "// annotation: grant direct write access", - (new StringBuilder("this.")) - .append(fieldName).append(" = ").append(newvalue) - .append(JavaClassWriterHelper.delim_).toString() - }; - } - - static String[] getFieldMediateWriteImpl(String fieldName, - String fieldType, - int fieldNumber, - String newvalue) - { - String[] bodies = new String[7]; - int i = 0; - fieldType = normalizeClassName(fieldType); - bodies[i++] = "// annotation: mediate write access"; - bodies[i++] = (new StringBuilder("final ")) - .append(CLASSNAME_JDO_STATE_MANAGER) - .append(" stateManager = this.") - .append(FIELDNAME_JDO_STATE_MANAGER) - .append(JavaClassWriterHelper.delim_).toString(); - bodies[i++] = "if (stateManager == null) {"; - bodies[i++] = (new StringBuilder(" this.")) - .append(fieldName).append(" = ") - .append(newvalue).append(JavaClassWriterHelper.delim_) - .toString(); - bodies[i++] = "} else {"; - bodies[i++] = (new StringBuilder(" stateManager.")) - .append(getMethodNameSetField(fieldType)).append('(') - .append(fieldNumber).append(", ").append(newvalue) - .append(");").toString(); - bodies[i++] = "}"; - return bodies; - } - - static String[] getFieldCheckWriteImpl(String fieldName, - String fieldType, - int fieldNumber, - String newvalue) - { - String[] bodies = new String[5]; - int i = 0; - normalizeClassName(fieldType); - bodies[i++] = "// annotation: check write access"; - bodies[i++] = "if (" + FIELDNAME_JDO_FLAGS + " != 0) {"; - bodies[i++] = " " + FIELDNAME_JDO_STATE_MANAGER + ".loadForUpdate();"; - bodies[i++] = "}"; - bodies[i++] = (new StringBuilder("this.")).append(fieldName) - .append(" = ").append(newvalue) - .append(JavaClassWriterHelper.delim_).toString(); - return bodies; - } - - static String[] getJDOClearImpl(String className, ExtendedJDOMetaData meta, - String[] fieldNames, String[] fieldTypes) { - final List impl = new ArrayList(20); - for (int i = 0; i < fieldNames.length; i++) { - String fieldTypeClassPath = fieldTypes[i]; - String fieldType = normalizeClassName(fieldTypes[i]); - String fieldName = fieldNames[i]; - if (meta.isKeyField(className, fieldName)) { - continue; - } - String primClass = JavaTypeHelper.getWrapperName(fieldType); - if (meta.isMutableSecondClassObjectType(fieldTypeClassPath)) { - impl.add((new StringBuilder("if (")) - .append(fieldName).append(" instanceof ") - .append(CLASSNAME_JDO_SCO).append(") {") - .toString()); - impl.add((new StringBuilder(" ((")) - .append(CLASSNAME_JDO_SCO).append(")") - .append(fieldName).append(").unsetOwner();") - .toString()); - impl.add("}"); - impl.add(fieldName + " = null;"); - } else if (primClass == null) { - impl.add(fieldName + " = null;"); - } else if (JavaClassWriterHelper.boolean_.equals(fieldType)) { - impl.add(fieldName + " = false;"); - } else { - impl.add(fieldName + " = 0;"); - } - } - String[] strArr = new String[impl.size()]; - return (String[])impl.toArray(strArr); - } - - static String[] getJDOGetFieldImpl(String fieldNumber, - String[] fieldNames, - String[] fieldTypes) - { - final List impl = new ArrayList(20); - impl.add("switch (" + fieldNumber + ") {"); - for (int i = 0; i < fieldNames.length; i++) { - String fieldType = normalizeClassName(fieldTypes[i]); - impl.add("case " + i + ':'); - String primClass = JavaTypeHelper.getWrapperName(fieldType); - if (primClass == null) { - impl.add(" return " + fieldNames[i] + ";"); - } else { - impl.add((new StringBuilder(" return new ")) - .append(primClass).append("(") - .append(fieldNames[i]).append(");").toString()); - } - } - impl.add("default:"); - impl.add(" throw new " + CLASSNAME_JDO_FATAL_EXCEPTION + "();"); - impl.add("}"); - String[] strArr = new String[impl.size()]; - return (String[])impl.toArray(strArr); - } - - static String[] getJDOSetFieldImpl(String fieldNumber, String objName, - String[] fieldNames, - String[] fieldTypes) - { - final List impl = new ArrayList(20); - impl.add("switch (" + fieldNumber + ") {"); - for (int i = 0; i < fieldNames.length; i++) { - String fieldType = normalizeClassName(fieldTypes[i]); - impl.add("case " + i + ':'); - String primClass = JavaTypeHelper.getWrapperName(fieldType); - if (primClass == null) { - impl.add((new StringBuilder(" this.")) - .append(fieldNames[i]) - .append(" = (").append(fieldType) - .append(")").append(objName) - .append(";").toString()); - } else { - impl.add((new StringBuilder(" this.")) - .append(fieldNames[i]) - .append(" = ((").append(primClass) - .append(")").append(objName).append(").") - .append(((String)typeNameConversion.get(fieldType)).toLowerCase()) - .append("Value();").toString()); - } - impl.add(" return;"); - } - impl.add("default:"); - impl.add(" throw new " + CLASSNAME_JDO_FATAL_EXCEPTION + "();"); - impl.add("}"); - String[] strArr = new String[impl.size()]; - return (String[])impl.toArray(strArr); - } - - // returnType = null means void - private static String[] getJDOStateManagerDelegationImpl( - String delegation, String returnType) { - final List impl = new ArrayList(7); - impl.add((new StringBuilder("final ")) - .append(CLASSNAME_JDO_STATE_MANAGER) - .append(" stateManager = this.") - .append(FIELDNAME_JDO_STATE_MANAGER) - .append(JavaClassWriterHelper.delim_) - .toString()); - impl.add("if (stateManager != null) {"); - StringBuilder buf = new StringBuilder(" "); - if (returnType != null) { - buf.append("return "); - } - impl.add(((buf.append("stateManager.")) - .append(delegation).append(";")).toString()); - impl.add("}"); - if (returnType != null) { - impl.add((new StringBuilder("return ")).append(returnType) - .append(";").toString()); - }; - String[] strArr = new String[impl.size()]; - return (String[])impl.toArray(strArr); - } - - static String[] getJDOStateManagerVoidDelegationImpl(String delegation) - { - return getJDOStateManagerDelegationImpl(delegation, null); - } - - static String[] getJDOStateManagerObjectDelegationImpl(String delegation) - { - return getJDOStateManagerDelegationImpl(delegation, - JavaClassWriterHelper.null_); - } - - static String[] getJDOStateManagerBooleanDelegationImpl(String delegation) - { - return getJDOStateManagerDelegationImpl(delegation, - JavaClassWriterHelper.false_); - } - - static String[] getOidHashCodeImpl(String[] pknames, - String[] pktypes, - boolean isRoot) - { - final List impl = new ArrayList(3); - if (isRoot) { - impl.add("int hash = 0;"); - } else { - impl.add("int hash = super.hashCode();"); - } - for (int i = 0; i < pknames.length; i++) { - if (isPrimitiveClass(pktypes[i])) { - if (pktypes[i].equals("boolean")) { - impl.add("hash += (" + pknames[i] + " ? 1 : 0);"); - } else { - impl.add("hash += (int)" + pknames[i] + - JavaClassWriterHelper.delim_); - } - } else { - impl.add("hash += (this." + pknames[i] - + " != null ? this." + pknames[i] - + ".hashCode() : 0);"); - } - } - impl.add("return hash;"); - String[] strArr = new String[impl.size()]; - return (String[])impl.toArray(strArr); - } - - static String[] getOidEqualsImpl(String oidClassName, - String[] pknames, - String[] pktypes, - String pk, - boolean isRoot) - { - final List impl = new ArrayList(31); - if (isRoot) { - impl.add("if (" + pk + " == null || !this.getClass().equals(" - + pk + ".getClass())) {"); - } else { - impl.add("if (!super.equals(" + pk + ")) {"); - } - impl.add(" return false;"); - impl.add("}"); - oidClassName = getClassName(oidClassName); - impl.add(oidClassName + " oid = (" + oidClassName + ")" + pk + - JavaClassWriterHelper.delim_); - for (int i = 0; i < pknames.length; i++) { - if (isPrimitiveClass(pktypes[i])) { - impl.add("if (this." + pknames[i] + " != oid." - + pknames[i] + ") return false;"); - } else { - impl.add("if (this." + pknames[i] + " != oid." - + pknames[i] + " && (this." + pknames[i] - + " == null || " + "!this." + pknames[i] - + ".equals(oid." + pknames[i] - + "))) return false;"); - } - } - impl.add("return true;"); - String[] strArr = new String[impl.size()]; - return (String[])impl.toArray(strArr); - } - - - //The following three methods are originated from NameHelper. - /** - * The input parameter can be a classPath with "/" or a valid - * full className with package name. - */ - static String normalizeClassName(String className) - { - if (className == null) { - return null; - } - return className.replace('/', '.').replace('$', '.'); - } - - /** - * The inner class must be represented by $ in className. - * The input className can be a classPath with "/". - */ - static String getPackageName(String className) - { - if (className == null) { - return null; - } - return JavaTypeHelper.getPackageName(className.replace('/', '.')); - } - - /** - * The input parameter can be a classPath with "/" or a valid - * full className with package name. - */ - static String getClassName(String className) { - return JavaTypeHelper.getShortClassName(normalizeClassName(className)); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/generator/Main.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/generator/Main.java deleted file mode 100644 index 17c38665bb8..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/generator/Main.java +++ /dev/null @@ -1,831 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.generator; - -import java.lang.reflect.Modifier; - -import java.util.Iterator; -import java.util.Collection; -import java.util.List; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Properties; - -import java.io.Serializable; -import java.io.File; -import java.io.Writer; -import java.io.PrintWriter; -import java.io.FileWriter; -import java.io.BufferedWriter; -import java.io.InputStream; -import java.io.BufferedInputStream; -import java.io.FileInputStream; -import java.io.ObjectOutputStream; -import java.io.IOException; -import java.io.FileNotFoundException; - -import com.sun.jdo.api.persistence.enhancer.util.Assertion; - -import com.sun.jdo.api.persistence.enhancer.meta.ExtendedJDOMetaData; -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaDataPropertyImpl; - -import com.sun.jdo.spi.persistence.utility.generator.JavaFileWriter; -import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriter; -import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriterHelper; -import com.sun.jdo.spi.persistence.utility.generator.io.IOJavaFileWriter; -import com.sun.jdo.spi.persistence.utility.generator.io.IOJavaClassWriter; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.api.persistence.enhancer.LogHelperEnhancer; -import java.util.ResourceBundle; -import org.glassfish.persistence.common.I18NHelper; - - -/** - * - */ -public final class Main - extends Assertion -{ - // - // CAUTION: THE ENHANCER-GENERATOR DEALS WITH CLASS NAMES IN THE - // JVM FORMAT, THAT IS, '/' INSTEAD OF '.' IS USED AS SEPARATOR. - // - // Class names in the Java language format ('.' as separator) are - // referred to as "normalized" in the generator code. - // - // File names are named as such; they use File.separatorChar as - // separator. - // - - /** The logger */ - private static final Logger logger = LogHelperEnhancer.getLogger(); - private static final String dotLine = - "----------------------------------------------------------------------"; - /** - * The stream to write messages to. - */ - private final PrintWriter out = new PrintWriter(System.out, true); - - /** - * The stream to write error messages to. - */ - private final PrintWriter err = new PrintWriter(System.err, true); - - /** - * The command line options. - */ - private final CmdLineOptions opts = new CmdLineOptions(); - - /** - * Java Writer Class - */ - private JavaFileWriter fWriter = null; - private JavaClassWriter writer = null; - - /** - * The MetaData for generating classes. - */ - private ExtendedJDOMetaData meta = null; - - private File destinationDir = null; - - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle("com.sun.jdo.api.persistence.enhancer.Bundle"); // NOI18N - public Main() - {} - - public Main(ExtendedJDOMetaData meta, File destinationDir) - throws IOException { - this.meta = meta; - this.destinationDir = destinationDir; - createDestinationDir(); - } - - /** - * - */ - public static final void main(String[] argv) - { - final Main gen = new Main(); - try { - gen.opts.processArgs(argv); - gen.init(); - gen.generate(); - } catch(Exception ex) { - gen.printError(null, ex); - } - } - - /** - * A class for holding the command line options. - */ - private class CmdLineOptions - { - // final Collection inputFileNames = new ArrayList(); - String destinationDirectory = null; - String jdoXMLModelFileName = null; - String jdoPropertiesFileName = null; - boolean verbose = false; - - /** - * Print a usage message to System.err - */ - public void usage() { - err.println("Usage: Main ..."); - err.println("Options:"); - err.println(" -v, --verbose print verbose output"); - err.println(" -d, --dest
    destination directory for output files"); - err.println(" -p, --properties use property file for meta data"); - err.println(); - err.println("Arguments:"); - err.println(); - err.println("Returns a non-zero value in case of errors."); - System.exit(1); - } - - /** - * Process command line options - */ - protected int processArgs(String[] argv) - { - for (int i = 0; i < argv.length; i++) { - final String arg = argv[i]; - if (arg.equals("-v") - || arg.equals("--verbose")) { - verbose = true; - continue; - } - if (arg.equals("-d") - || arg.equals("--dest")) { - if (argv.length - i < 2) { - printError("Missing argument to the -d/-dest option", null); - usage(); - } - destinationDirectory = argv[++i]; - continue; - } - if (arg.equals("-p") || - arg.equals("--properties")) { - if (argv.length - i < 2) { - printError("Missing argument to the -p/--properties option", null); - usage(); - } - jdoPropertiesFileName = argv[++i]; - continue; - } - if (arg.length() > 0 && arg.charAt(0) == '-') { - printError("Unrecognized option:" + arg, null); - usage(); - } - if (arg.length() == 0) { - printMessage("Ignoring empty command line argument."); - continue; - } - - //inputFileNames.add(arg); - } - - // The user must specify a destination directory - if (jdoPropertiesFileName == null) { - printError("No destination directory specified", null); - usage(); - } - - // The user must specify a destination directory - if (destinationDirectory == null) { - printError("No destination directory specified", null); - usage(); - } - - return 0; - } - } - - private void init() - throws FileNotFoundException, IOException - { - // load the properties - affirm(opts.jdoPropertiesFileName != null); - FileInputStream finput = null; - try { - final File f = new File(opts.jdoPropertiesFileName); - finput = new FileInputStream(f); - final Properties props = new Properties(); - props.load(finput); - meta = new JDOMetaDataPropertyImpl(props, out); - } finally { - if (finput != null) { - try { - finput.close(); - } catch(Exception ex) { - printError(ex.getMessage(), ex); - } - } - } - - affirm(opts.destinationDirectory != null); - destinationDir = new File(opts.destinationDirectory); - createDestinationDir(); - } - - private void createDestinationDir() - throws IOException - { - // create the destination directory - if (!destinationDir.exists() && !destinationDir.mkdirs()) { - throw new IOException(I18NHelper.getMessage(messages,"EXC_DestDirCreateFailure",destinationDir)); //NOI18N - } - } - - private void generate() - throws IOException - { - final String[] classes = meta.getKnownClasses(); - for (int i = 0; i < classes.length; i++) { - final String className = classes[i]; - generate(className); - } - } - - // entry point for EJB TP class generation - // The argument is a fully qualified class name expected in the - // JVM format, that is, with '/' for '.' as separator. See comment - // at the beginning of this class. - public File generate(final String className) - throws IOException - { - affirm(className != null); - printMessage("generating '" + className + "'..."); - - //@olsen, 4653156: fixed file name - final String filePath = className.replace('/', File.separatorChar); - final String classFileName - = filePath + JavaClassWriterHelper.javaExtension_; - final File file = new File(destinationDir, classFileName); - - //@olsen: not needed: IOJavaFileWriter takes care of creating file - // create the destination directory - //final File dir = file.getAbsoluteFile().getParentFile(); - //if (!dir.exists() && !dir.mkdirs()) { - // throw new IOException("unable to create destination directory: " - // + "'" + destinationDir + "'"); - //} - - fWriter = new IOJavaFileWriter(file); - writer = new IOJavaClassWriter(); - generateClass(className); - fWriter.addClass(writer); - printMessage("DONE generating '" + className + "'..."); - - //@olsen: moved from finally{} to main block - // by JavaFileWriter, no stale resources remain allocated ever - fWriter.save(); - return file; - } - - private void generateClass(final String className) - throws IOException - { - affirm(className != null); - - final String packageName = ImplHelper.getPackageName(className); - fWriter.setPackage(packageName, null); - - // write the class header and key class - final String oidClassName = meta.getKeyClass(className); - if (oidClassName == null) { - writeClassHeader(className); - } else { - final String oidPackageName - = ImplHelper.getPackageName(oidClassName); - affirm(packageName.equals(oidPackageName), - "PC class and key class must be in same package."); - - final boolean enclosedOid - = oidClassName.startsWith(className + "$"); - if (enclosedOid) { - writeClassHeader(className); - writeOidClass(className, ImplHelper.getClassName(oidClassName), - enclosedOid); - } else { - writeOidClass(className, ImplHelper.getClassName(oidClassName), - enclosedOid); - writeClassHeader(className); - } - } - - writeClassMembers(className); - - // write the augmentation - final boolean isPC = meta.isPersistenceCapableClass(className); - if (isPC) { - final boolean isPCRoot - = meta.isPersistenceCapableRootClass(className); - if (isPCRoot) { - writePCRootMembers(className); - } - writePCMembers(className); - } - } - - private void writeClassHeader(final String className) - throws IOException - { - final boolean isPCRoot = meta.isPersistenceCapableRootClass(className); - final String superclass = - ImplHelper.normalizeClassName(meta.getSuperClass(className)); - - final String[] comments = null; - final String[] interfaces - = (isPCRoot - ? new String[]{ ImplHelper.CLASSNAME_JDO_PERSISTENCE_CAPABLE, "Cloneable" } - : null); - writer.setClassDeclaration(meta.getClassModifiers(className), - ImplHelper.getClassName(className), comments); - writer.setSuperclass(superclass); - if (interfaces != null) { - for (int i = 0; i < interfaces.length; i++) { - writer.addInterface(interfaces[i]); - } - } - } - - private void writeClassMembers(final String className) - throws IOException - { - final String[] comments = new String[]{ - dotLine, - "Class Members:", - dotLine - }; - - // write default constructor - writer.addConstructor(ImplHelper.getClassName(className), - Modifier.PUBLIC, null, null, null, - ImplHelper.getDefaultConstructorImpl(), - comments); - - final String[] fieldNames = meta.getKnownFields(className); - final int n = (fieldNames != null ? fieldNames.length : 0); - - // write method clone() for enhancer testing purpose - final ArrayList list = new ArrayList(); - for (int i = 0; i < n; i++) { - final String fieldName = (String)fieldNames[i]; - final int access = meta.getFieldModifiers(className, fieldName); - if ((access & Modifier.STATIC) == 0) { - list.add(fieldName); - } - } - - writer.addMethod( - "clone", - Modifier.PUBLIC, - JavaClassWriterHelper.Object_, - null, - null, - new String[]{ "java.lang.CloneNotSupportedException" }, - ImplHelper.getCloneImpl(className), - ImplHelper.COMMENT_NOT_ENHANCER_ADDED); - - // write the fields and with their bean getters/setters - for (int i = 0; i < n; i++) { - final String fieldName = (String)fieldNames[i]; - writeFieldMember(className, fieldName); - } - } - - private void writeFieldMember(final String className, - final String fieldName) - throws IOException - { - final String fieldType = meta.getFieldType(className, fieldName); - final String normalizedFieldType = - ImplHelper.normalizeClassName(fieldType); - final int fieldNumber = meta.getFieldNo(className, fieldName); - final int flags = meta.getFieldFlags(className, fieldName); - - final int access = meta.getFieldModifiers(className, fieldName); - - // the field - writer.addField( - fieldName, - access, - normalizedFieldType, - null, null); - - // do not write bean getters and setters for static fields - if ((access & Modifier.STATIC) != 0) { - return; - } - - // accessor - { - affirm(((flags & meta.CHECK_READ) == 0) - | (flags & meta.MEDIATE_READ) == 0); - final String[] impl; - if ((flags & meta.CHECK_READ) != 0) { - impl = ImplHelper.getFieldCheckReadImpl(fieldName, - fieldType, - fieldNumber); - } else if ((flags & meta.MEDIATE_READ) != 0) { - impl = ImplHelper.getFieldMediateReadImpl(fieldName, - fieldType, - fieldNumber); - } else { - impl = ImplHelper.getFieldDirectReadImpl(fieldName, - fieldType, - fieldNumber); - } - writer.addMethod( - createMethodName(JavaClassWriterHelper.get_, fieldName), - Modifier.PUBLIC, - normalizedFieldType, - null, null, null, - impl, - ImplHelper.COMMENT_ENHANCER_ADDED); - } - - // mutator - { - affirm(((flags & meta.CHECK_WRITE) == 0) - | (flags & meta.MEDIATE_WRITE) == 0); - final String[] impl; - if ((flags & meta.CHECK_WRITE) != 0) { - impl = ImplHelper.getFieldCheckWriteImpl(fieldName, - fieldType, - fieldNumber, - fieldName); - } else if ((flags & meta.MEDIATE_WRITE) != 0 - && !meta.isKnownNonManagedField(className, fieldName, - null)) { - impl = ImplHelper.getFieldMediateWriteImpl(fieldName, - fieldType, - fieldNumber, - fieldName); - } else { - impl = ImplHelper.getFieldDirectWriteImpl(fieldName, - fieldType, - fieldNumber, - fieldName); - } - writer.addMethod( - createMethodName(JavaClassWriterHelper.set_, fieldName), - Modifier.PUBLIC, - JavaClassWriterHelper.void_, - new String[]{ fieldName }, - new String[]{ normalizedFieldType }, - null, - impl, - ImplHelper.COMMENT_ENHANCER_ADDED); - } - - } - - private void writePCRootMembers(final String className) - throws IOException - { - final String[] comments = new String[]{ - dotLine, - "Augmentation for Persistence-Capable Root Classes (added by enhancer):", - dotLine - }; - - // write constructor with parameter StateManager - writer.addConstructor( - ImplHelper.getClassName(className), - Modifier.PUBLIC, - new String[]{ ImplHelper.FIELDNAME_JDO_STATE_MANAGER }, - new String[]{ ImplHelper.CLASSNAME_JDO_STATE_MANAGER }, - null, - ImplHelper.getJDOConstructorSMImpl(ImplHelper.FIELDNAME_JDO_STATE_MANAGER), - comments); - - // jdoStateManager - writer.addField( - ImplHelper.FIELDNAME_JDO_STATE_MANAGER, - Modifier.PUBLIC | Modifier.TRANSIENT, - ImplHelper.CLASSNAME_JDO_STATE_MANAGER, - JavaClassWriterHelper.null_, - ImplHelper.COMMENT_ENHANCER_ADDED); - - // jdoFlags - writer.addField( - ImplHelper.FIELDNAME_JDO_FLAGS, - Modifier.PUBLIC | Modifier.TRANSIENT, - "byte", - "0", - ImplHelper.COMMENT_ENHANCER_ADDED); - - - // jdoGetStateManager - writer.addMethod( - ImplHelper.METHODNAME_JDO_GET_STATE_MANAGER, - Modifier.PUBLIC | Modifier.FINAL, - ImplHelper.CLASSNAME_JDO_STATE_MANAGER, null, null, null, - new String[] { "return " + ImplHelper.FIELDNAME_JDO_STATE_MANAGER + JavaClassWriterHelper.delim_ }, - ImplHelper.COMMENT_ENHANCER_ADDED); - - // jdoSetStateManager - writer.addMethod( - ImplHelper.METHODNAME_JDO_SET_STATE_MANAGER, - Modifier.PUBLIC | Modifier.FINAL, - JavaClassWriterHelper.void_, - new String[] { ImplHelper.FIELDNAME_JDO_STATE_MANAGER }, - new String[] { ImplHelper.CLASSNAME_JDO_STATE_MANAGER }, null, - new String[] { "this." + ImplHelper.FIELDNAME_JDO_STATE_MANAGER + " = " + ImplHelper.FIELDNAME_JDO_STATE_MANAGER + JavaClassWriterHelper.delim_ }, - ImplHelper.COMMENT_ENHANCER_ADDED); - - //jdoGetFlags - writer.addMethod( - ImplHelper.METHODNAME_JDO_GET_FLAGS, - Modifier.PUBLIC | Modifier.FINAL, - "byte", null, null, null, - new String[] { "return " + ImplHelper.FIELDNAME_JDO_FLAGS + - JavaClassWriterHelper.delim_ }, - ImplHelper.COMMENT_ENHANCER_ADDED); - - // jdoSetFlags - writer.addMethod( - ImplHelper.METHODNAME_JDO_SET_FLAGS, - Modifier.PUBLIC | Modifier.FINAL, - JavaClassWriterHelper.void_, - new String[] { ImplHelper.FIELDNAME_JDO_FLAGS }, - new String[] { "byte" }, null, - new String[] { "this." + ImplHelper.FIELDNAME_JDO_FLAGS + " = " + ImplHelper.FIELDNAME_JDO_FLAGS + JavaClassWriterHelper.delim_ }, - ImplHelper.COMMENT_ENHANCER_ADDED); - - // getPersistenceManager - writer.addMethod( - ImplHelper.METHODNAME_JDO_GET_PERSISTENCE_MANAGER, - Modifier.PUBLIC | Modifier.FINAL, - ImplHelper.CLASSNAME_JDO_PERSISTENCE_MANAGER, null, null, null, - ImplHelper.getJDOStateManagerObjectDelegationImpl("getPersistenceManager()"), - ImplHelper.COMMENT_ENHANCER_ADDED); - - // getObjectId - writer.addMethod( - ImplHelper.METHODNAME_JDO_GET_OBJECT_ID, - Modifier.PUBLIC | Modifier.FINAL, - Object.class.getName(), null, null, null, - ImplHelper.getJDOStateManagerObjectDelegationImpl("getObjectId()"), - ImplHelper.COMMENT_ENHANCER_ADDED); - - // is-methods - writer.addMethod( - ImplHelper.METHODNAME_JDO_IS_PERSISTENT, - Modifier.PUBLIC | Modifier.FINAL, - JavaClassWriterHelper.boolean_, null, null, null, - ImplHelper.getJDOStateManagerBooleanDelegationImpl("isPersistent()"), - ImplHelper.COMMENT_ENHANCER_ADDED); - - writer.addMethod( - ImplHelper.METHODNAME_JDO_IS_TRANSACTIONAL, - Modifier.PUBLIC | Modifier.FINAL, - JavaClassWriterHelper.boolean_, null, null, null, - ImplHelper.getJDOStateManagerBooleanDelegationImpl("isTransactional()"), - ImplHelper.COMMENT_ENHANCER_ADDED); - - writer.addMethod( - ImplHelper.METHODNAME_JDO_IS_NEW, - Modifier.PUBLIC | Modifier.FINAL, - JavaClassWriterHelper.boolean_, null, null, null, - ImplHelper.getJDOStateManagerBooleanDelegationImpl("isNew()"), - ImplHelper.COMMENT_ENHANCER_ADDED); - - writer.addMethod( - ImplHelper.METHODNAME_JDO_IS_DELETED, - Modifier.PUBLIC | Modifier.FINAL, - JavaClassWriterHelper.boolean_, null, null, null, - ImplHelper.getJDOStateManagerBooleanDelegationImpl("isDeleted()"), - ImplHelper.COMMENT_ENHANCER_ADDED); - - writer.addMethod( - ImplHelper.METHODNAME_JDO_IS_DIRTY, - Modifier.PUBLIC | Modifier.FINAL, - JavaClassWriterHelper.boolean_, null, null, null, - ImplHelper.getJDOStateManagerBooleanDelegationImpl("isDirty()"), - ImplHelper.COMMENT_ENHANCER_ADDED); - - // makeDirty - writer.addMethod( - ImplHelper.METHODNAME_JDO_MAKE_DIRTY, - Modifier.PUBLIC | Modifier.FINAL, - JavaClassWriterHelper.void_, - new String[]{ "fieldName" }, - new String[]{ String.class.getName() }, - null, - ImplHelper.getJDOStateManagerVoidDelegationImpl("makeDirty(fieldName)"), - ImplHelper.COMMENT_ENHANCER_ADDED); - - } - - private void writePCMembers(final String className) - throws IOException - { - final String[] comments = new String[]{ - dotLine, - "Augmentation for Persistence-Capable Classes (added by enhancer):", - dotLine - }; - - final String[] managedFieldNames - = meta.getManagedFields(className); - final String[] managedFieldTypes - = meta.getFieldType(className, managedFieldNames); - final boolean isPCRoot - = meta.isPersistenceCapableRootClass(className); - - // jdoGetField - writer.addMethod( - ImplHelper.METHODNAME_JDO_GET_FIELD, - Modifier.PUBLIC, - JavaClassWriterHelper.Object_, - new String[]{ "fieldNumber" }, - new String[]{ "int" }, - null, - ImplHelper.getJDOGetFieldImpl("fieldNumber", - managedFieldNames, - managedFieldTypes), - comments); - - // jdoSetField - writer.addMethod( - ImplHelper.METHODNAME_JDO_SET_FIELD, - Modifier.PUBLIC, - JavaClassWriterHelper.void_, - new String[]{ "fieldNumber", "obj" }, - new String[]{ "int", JavaClassWriterHelper.Object_ }, - null, - ImplHelper.getJDOSetFieldImpl("fieldNumber", "obj", - managedFieldNames, - managedFieldTypes), - ImplHelper.COMMENT_ENHANCER_ADDED); - - // jdoClear - writer.addMethod( - ImplHelper.METHODNAME_JDO_CLEAR, - Modifier.PUBLIC, - JavaClassWriterHelper.void_, null, null, null, - ImplHelper.getJDOClearImpl(className, meta, managedFieldNames, - managedFieldTypes), - ImplHelper.COMMENT_ENHANCER_ADDED); - - // jdoNewInstance - writer.addMethod( - ImplHelper.METHODNAME_JDO_NEW_INSTANCE, - Modifier.PUBLIC, - JavaClassWriterHelper.Object_, - new String[]{ "sm" }, - new String[]{ ImplHelper.CLASSNAME_JDO_STATE_MANAGER }, - null, - ImplHelper.getJDONewInstanceImpl(className, "sm"), - ImplHelper.COMMENT_ENHANCER_ADDED); - - } - - private void writeOidClass(final String className, - final String oidClassName, - final boolean enclosedOid) - throws IOException - { - final String[] comments = new String[]{ - dotLine, - "Key Class:", - dotLine - }; - - final String superOidClassName - = ImplHelper.normalizeClassName(meta.getSuperKeyClass(className)); - - JavaClassWriter oidWriter = new IOJavaClassWriter(); - - oidWriter.setClassDeclaration( - (enclosedOid ? Modifier.PUBLIC | Modifier.STATIC : 0), - oidClassName, - ImplHelper.COMMENT_NOT_ENHANCER_ADDED); - oidWriter.setSuperclass(superOidClassName); - oidWriter.addInterface(Serializable.class.getName()); - - final boolean isPCRoot - = meta.isPersistenceCapableRootClass(className); - - final String[] pknames = meta.getKeyFields(className); - final String[] pktypes = meta.getFieldType(className, pknames); - - // write the PK-fields - for (int i = 0; i < pknames.length; i++) { - oidWriter.addField( - pknames[i], - Modifier.PUBLIC, - ImplHelper.normalizeClassName(pktypes[i]), - null, - null); - } - - // write default constructor - oidWriter.addConstructor( - oidClassName, - Modifier.PUBLIC, - null, null, null, - ImplHelper.getDefaultConstructorImpl(), - ImplHelper.COMMENT_NOT_ENHANCER_ADDED); - - // hashCode - oidWriter.addMethod( - "hashCode", - Modifier.PUBLIC, - "int", - null, - null, - null, - ImplHelper.getOidHashCodeImpl(pknames, - pktypes, - isPCRoot), - ImplHelper.COMMENT_NOT_ENHANCER_ADDED); - - // equals - oidWriter.addMethod( - "equals", Modifier.PUBLIC, JavaClassWriterHelper.boolean_, - new String[]{ "pk" }, - new String[]{ Object.class.getName() }, - null, - ImplHelper.getOidEqualsImpl(oidClassName, - pknames, - pktypes, - "pk", - isPCRoot), - ImplHelper.COMMENT_NOT_ENHANCER_ADDED); - - if (enclosedOid) { - writer.addClass(oidWriter); - } else { - fWriter.addClass(oidWriter); - } - } - - static private String createMethodName(final String prefix, - final String fieldName) - { - return (prefix + Character.toUpperCase(fieldName.charAt(0)) - + fieldName.substring(1)); - } - - //XXX use common logger later - private void printMessage(String msg) - { - logger.finest("TP PCClassGen: " + msg); // NOI18N - } - - private void printError(String msg, Throwable ex) - { - if (msg != null) { - String errmsg=msg + (ex != null ? ": " + ex.getMessage() : ""); //NOI18N - logger.log(Logger.SEVERE,"CME.generic_exception",errmsg); //NOI18N - } - if (ex != null) { - logger.log(Logger.SEVERE,"CME.generic_exception_stack",ex); //NOI18N - } - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/AnnotationConstants.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/AnnotationConstants.java deleted file mode 100644 index df29d18ca7b..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/AnnotationConstants.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.impl; - -import com.sun.jdo.api.persistence.enhancer.classfile.VMConstants; - -//@olsen: cosmetics -//@olsen: moved: this class -> package impl -//@olsen: subst: (object)state -> flags -//@olsen: subst: (object)reference -> stateManager -//@olsen: subst: [iI]Persistent -> [pP]ersistenceCapable -//@olsen: removed: proprietary support for HashCode - - -/** - * AnnotationConstants defines a set of constants for use across the - * filter subsystem. - */ -public interface AnnotationConstants extends VMConstants { - - /* bit mask constants to describe the types of code annotation needed - * at specific points within methods - */ - - /* "this" needs to be fetched *///NOI18N - public final static int FetchThis = 0x0001; - - /* "this" needs to be dirtied *///NOI18N - public final static int DirtyThis = 0x0002; - - /* a java.lang.Object needs to be fetched */ -//@olsen: disabled feature / not used anymore -/* - public final static int FetchObject = 0x0004; -*/ - - /* a java.lang.Object needs to be dirtied */ -//@olsen: disabled feature / not used anymore -/* - public final static int DirtyObject = 0x0008; -*/ - - /* an PersistenceCapable needs to be fetched */ - public final static int FetchPersistent = 0x0010; - - /* an PersistenceCapable needs to be dirtied */ - public final static int DirtyPersistent = 0x0020; - - /* an array instance needs to be fetched */ -//@olsen: disabled feature -/* - public final static int FetchArray = 0x0040; -*/ - - /* an array instance needs to be dirtied */ -//@olsen: disabled feature -/* - public final static int DirtyArray = 0x0080; -*/ - - /* the fetch/dirty point is unconditionally reached in the method */ -//@olsen: disabled feature -/* - public final static int Unconditional = 0x0100; -*/ - - /* the fetch/dirty point is within some type of loop structure */ -//@olsen: disabled feature -/* - public final static int InLoop = 0x0200; -*/ - - /* the fetch/dirty requires a check for null */ -//@olsen: disabled feature -/* - public final static int CheckNull = 0x0400; -*/ - - /* the fetch/dirty is not mediated by the StateManager */ - //@olsen: added constant - public final static int DFGField = 0x0800; - - /* the dirty is mediated by the StateManager */ - //@olsen: added constant - public final static int PKField = 0x1000; - - /* clear stateManager and flags fields in "this" *///NOI18N -//@olsen: disabled feature -/* - public final static int MakeThisTransient = 0x2000; -*/ - - /* needs to clear jdo fields after a call of super.clone() */ - //@olsen: added constant - public final static int SuperClone = 0x8000; - - /* a bit mask covering a field which describes the type of array - being fetched or dirtied */ -//@olsen: disabled feature -/* - public final static int ArrayTypeMask = 0x78000000; -*/ - - /* Specific values for the array type field */ -//@olsen: disabled feature -/* - public final static int ArrayTypeBoolean = 0x08000000; - public final static int ArrayTypeByte = 0x10000000; - public final static int ArrayTypeChar = 0x18000000; - public final static int ArrayTypeShort = 0x20000000; - public final static int ArrayTypeInt = 0x28000000; - public final static int ArrayTypeLong = 0x30000000; - public final static int ArrayTypeFloat = 0x38000000; - public final static int ArrayTypeDouble = 0x40000000; - public final static int ArrayTypeObject = 0x48000000; -*/ - - /* pre-combined masks formed from the above masks */ - -//@olsen: disabled feature / not used anymore -/* - public final static int FetchAny = - FetchThis | FetchObject | FetchPersistent | FetchArray; - public final static int DirtyAny = - DirtyThis | DirtyObject | DirtyPersistent | DirtyArray; -*/ -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/ClassAction.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/ClassAction.java deleted file mode 100644 index 0968a5e5052..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/ClassAction.java +++ /dev/null @@ -1,1175 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.impl; - -//import java.io.*; - -import java.util.Map; -import java.util.HashMap; -import java.util.Enumeration; -import java.util.Iterator; -import java.util.List; -import java.util.ArrayList; - -import com.sun.jdo.api.persistence.enhancer.classfile.*; - -import com.sun.jdo.api.persistence.enhancer.util.Support; - -//@olsen: added import -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaData; - - -//@olsen: cosmetics -//@olsen: moved: this class -> package impl -//@olsen: subst: (object)state -> flags -//@olsen: subst: JDOFlags -> jdoFlags -//@olsen: subst: makeJDO[gs]etFlags -> makeJDO[GS]etFlags -//@olsen: subst: JDO[gs]etFlags -> jdo[GS]etFlags -//@olsen: subst: [Nn]eedsJDORefMethods -> [Nn]eedsJDOStateManagerMethods -//@olsen: subst: JDORef -> jdoStateManager -//@olsen: subst: makeJDO[gs]etRef -> makeJDO[GS]etStateManager -//@olsen: subst: JDO[gs]etRef -> jdo[GS]etStateManager -//@olsen: subst: [iI]Persistent -> [pP]ersistenceCapable -//@olsen: subst: PersistentAux -> StateManager -//@olsen: subst: jdo/ -> com/sun/forte4j/persistence/internal/ -//@olsen: subst: jdo. -> com.sun.forte4j.persistence.internal. -//@olsen: subst: /* ... */ -> // ... -//@olsen: subst: filterEnv -> env -//@olsen: subst: FilterEnv -> Environment -//@olsen: made MethodBuilder's methods non-static -//@olsen: dropped parameter 'Environment env', use association instead -//@olsen: subst: Hashtable -> Map, HashMap -//@olsen: subst: Vector -> Collection, List, ArrayList -//@olsen: subst: Enumeration,... -> Iterator, hasNext(), next() -//@olsen: subst: absolut jdo types and names -> constants from JDOMetaData -//@olsen: subst: refMember, flagsMember -> JDOStateManagerName, JDOFlagsName -//@olsen: added: support for I18N -//@olsen: subst: FilterError -> UserException, affirm() -//@olsen: removed: proprietary support for HashCode -//@olsen: removed: proprietary support for TypeSummary -//@olsen: removed: proprietary support for ClassInfo -//@olsen: removed: proprietary support for {set,get}{Ref,Flags}{Fields,Methods} -//@olsen: simplified detection/generation of jdo[GS]etStateManager() methods -//@olsen: simplified detection/generation of jdo[GS]etFlags() methods -//@olsen: removed: old, disabled ODI code - - -/** - * ClassAction handles the persistence annotation actions for a class. - * The details specific to individual methods and fields are delegated - * to instances of FieldAction and MethodAction. - */ -final class ClassAction - extends Support - implements VMConstants { - - /* bit mask constants indicating what needs to be generated */ -//@olsen: disabled feature -/* - private static final int GENInitContents = 0x02; - private static final int GENFlushContents = 0x04; - private static final int GENClearContents = 0x08; - - private static final int GENAllContents = - GENInitContents | GENFlushContents | GENClearContents; -*/ - - /* Constants for the class level annotation attribute */ - private static final String AnnotatedAttribute = "com.sun.jdo.api.persistence.enhancer.annotated";//NOI18N - private static final short AnnotatedVersion = 1; - - //@olsen: added method name constants - static private final String jdoGetStateManagerName - = "jdoGetStateManager";//NOI18N - static private final String jdoSetStateManagerName - = "jdoSetStateManager";//NOI18N - static private final String jdoGetFlagsName - = "jdoGetFlags";//NOI18N - static private final String jdoSetFlagsName - = "jdoSetFlags";//NOI18N - static private final String jdoMakeDirtyName - = "jdoMakeDirty";//NOI18N - static private final String jdoIsDirtyName - = "jdoIsDirty";//NOI18N - static private final String jdoIsTransactionalName - = "jdoIsTransactional";//NOI18N - static private final String jdoIsPersistentName - = "jdoIsPersistent";//NOI18N - static private final String jdoIsNewName - = "jdoIsNew";//NOI18N - static private final String jdoIsDeletedName - = "jdoIsDeleted";//NOI18N - static private final String jdoGetPersistenceManagerName - = "jdoGetPersistenceManager";//NOI18N - static private final String jdoGetObjectIdName - = "jdoGetObjectId";//NOI18N - static private final String jdoConstructorName - = "";//NOI18N - static private final String jdoNewInstanceName - = "jdoNewInstance";//NOI18N - static private final String jdoClearName - = "jdoClear";//NOI18N - static private final String jdoCopyName - = "jdoCopy";//NOI18N - static private final String jdoGetFieldName - = "jdoGetField";//NOI18N - static private final String jdoSetFieldName - = "jdoSetField";//NOI18N - static private final String jdoCloneName - = "clone";//NOI18N - - /* The class to be annotated */ - //@olsen: made final - private final ClassControl control; - - /* Central repository for the options and classes */ - //@olsen: added association - //@olsen: made final - private final Environment env; - - /* The method builder helper object. */ - //@olsen: made MethodBuilder's methods non-static - //@olsen: made final - private final MethodBuilder methodBuilder; - - /* Hash table mapping ClassMethod to MethodAction */ - //@olsen: made final - //@olsen: subst: Hashtable -> HashMap - private final Map methodActionTable = new HashMap(11); - - /* Vector of FieldAction */ - //@olsen: made final - //@olsen: subst: Vector -> ArrayList - private final List fieldActionTable = new ArrayList(); - - /* What should we generate for this class? - * This is a combination of the GENXXXX constants defined above. */ -//@olsen: disabled feature -/* - private int generate; -*/ - - /* True if this has already been annotated */ - private boolean previouslyAnnotated = false; - - /* If true, this class will directly implement PersistenceCapable - interface. */ - private boolean implementsPersistence = false; - - /* If true, this class will directly implement PersistenceCapableHooks - interface if no base class does so. */ -//@olsen: disabled feature -/* - private boolean implementsPersistenceHooks = false; - private boolean implementsPersistenceHooksKnown = false; -*/ - - /* True if a user-defined jdo member has been seen in this class. */ - //@olsen: added fields - private boolean sawImplementsPersistenceCapable = false; - private boolean sawImplementsCloneable = false; - private boolean sawFieldJDOStateManager = false; - private boolean sawFieldJDOFlags = false; - private boolean sawMethodJDOGetStateManager = false; - private boolean sawMethodJDOSetStateManager = false; - private boolean sawMethodJDOGetFlags = false; - private boolean sawMethodJDOSetFlags = false; - private boolean sawMethodJDOMakeDirty = false; - private boolean sawMethodJDOIsDirty = false; - private boolean sawMethodJDOIsTransactional = false; - private boolean sawMethodJDOIsPersistent = false; - private boolean sawMethodJDOIsNew = false; - private boolean sawMethodJDOIsDeleted = false; - private boolean sawMethodJDOGetPersistenceManager = false; - private boolean sawMethodJDOGetObjectId = false; - private boolean sawMethodJDOConstructor = false; - private boolean sawMethodJDONewInstance = false; - private boolean sawMethodJDOGetField = false; - private boolean sawMethodJDOSetField = false; - private boolean sawMethodJDOClear = false; - private boolean sawMethodJDOCopy = false; - private boolean sawMethodJDOClone = false; - - /* True if the preDestroyPersistent() method needs to be generated - for PersistenceCapable. */ -//@olsen: disabled feature -/* - private boolean needsPreDestroyPersistent = true; -*/ - - /* True if the postInitializeContents() method needs to be generated - for PersistenceCapable. */ -//@olsen: disabled feature -/* - private boolean needsPostInitializeContents = true; -*/ - - /* True if the preFlushContents() method needs to be generated - for PersistenceCapable. */ -//@olsen: disabled feature -/* - private boolean needsPreFlushContents = true; -*/ - - /* True if the preClearContents() method needs to be generated - for PersistenceCapable. */ -//@olsen: disabled feature -/* - private boolean needsPreClearContents = true; -*/ - - - // public accessors - - /** - * Constructor - */ - //@olsen: added parameter 'env' for association - public ClassAction(ClassControl control, - Environment env) { - this.control = control; - this.env = env; - this.methodBuilder = new MethodBuilder(env); - } - - /** - * Perform the pass1 scan of the class. - * Certain scan operations must be completed for all classes before - * the remaining operations can be completed. - */ - //@olsen: dropped argument: boolean filterRequired - public void scan1() { - //@olsen: moved verbose output from ClassControl to ClassAction - env.message("scanning class " + control.userClassName());//NOI18N - - //@olsen: added constraints; ensured by ClassControl - affirm(!classFile().isInterface()); - affirm(control.persistType() > ClassControl.TransientOnly); - - scanAttributes(); - - //@olsen: 4357074 skip previously enhanced files - if (previouslyAnnotated) { - return; - } - - //@olsen: initialize 'implementsPersistence' flag from JDOMetaData - final String name = className(); - implementsPersistence - = env.getJDOMetaData().isPersistenceCapableRootClass(name); - - //@olsen: checks on persistence-capable classes - final boolean isPersistent - = (control.persistType() == ClassControl.PersistCapable); - if (isPersistent) { - // check whether this class directly implements PersistenceCapable - // or clonable. - scanForImplementsInterfaces(); - - // check only fields of persistence-capable classes - scanFields(); - } - - //@olsen: removed check, ensured before already - //if (!previouslyAnnotated && !classFile().isInterface()) - scanMethods(); - } - - /** - * Add an PersistenceCapable implementation and PersistenceCapableHooks - * implementation if needed. - */ - //@olsen: subst: augmentInterfaces -> augment - //@olsen: dropped argument: boolean filterRequired - public void augment() { - if (previouslyAnnotated) - return; - - if (implementsPersistence) { - env.message("augmenting class " + control.userClassName());//NOI18N - - if (!sawImplementsPersistenceCapable) { - augmentClassInterface(JDOMetaData.JDOPersistenceCapablePath); - } - - if (!sawImplementsCloneable) { - augmentClassInterface(JDOMetaData.javaLangCloneablePath); - } - - //@olsen: made fields to have public access - { - insertPersistenceCapableFields( - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig, - JDOMetaData.JDOStateManagerFieldType, - ACCTransient | ACCPublic); - - insertPersistenceCapableFields( - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig, - JDOMetaData.JDOFlagsFieldType, - ACCTransient | ACCPublic); - } - - insertPersistenceCapableMethods(); - } - -//@olsen: disabled feature -/* - if (getImplementsPersistenceHooks() && - !control.hasPersistenceCapableHooksProvided()) { - env.message("modifying class " + control.userClassName() + - " to implement " + - ClassControl.userClassFromVMClass( - JDOMetaData.JDOInstanceCallbacksName)); - - augmentClassInterface(JDOMetaData.JDOInstanceCallbacksName); - insertPersistenceCapableHooksMethods(); - } -*/ - } - - /** - * Modify the class references within this class according to the - * mappings in classTranslations. - */ -//@olsen: disabled feature -/* - public void retarget(Map classTranslations, - boolean filterRequired) { - - //@olsen: added final modifiers - final ConstantPool pool = classFile().pool(); - - // First, translate the constant pool - final int nEntries = pool.nEntries(); - for (int i=0; i>> 8); - data[1] = (byte)(AnnotatedVersion & 0xff); - final ClassAttribute annotatedAttr - = new GenericAttribute( - classFile().pool().addUtf8(AnnotatedAttribute), data); - classFile().attributes().addElement(annotatedAttr); - } - } - - // package accessors - - /** - * Get the control object - */ - ClassControl classControl() { - return control; - } - - /** - * Get the class file which we are operating on - */ - ClassFile classFile() { - return control.classFile(); - } - - /** - * Return an Enumeration of the FieldActions for the class - */ - Iterator fieldActions() { - return fieldActionTable.iterator(); - } - - /** - * Return an Enumeration of the MethodActions for the class - */ - Iterator methodActions() { - return methodActionTable.values().iterator(); - } - - /** - * Return the class name in VM form - */ - public String className() { - return control.className(); - } - - /** - * Return the class name in user ('.' delimited) form - */ - public String userClassName() { - return control.userClassName(); - } - - /** - * Return true if this class will implement PersistenceCapable. - */ - public boolean getImplementsPersistence() { - return implementsPersistence; - } - - /** - * Return true if this class will implement PersistenceCapableHooks. - */ -//@olsen: disabled feature -/* - public boolean getImplementsPersistenceHooks() { - if (!implementsPersistenceHooksKnown) { - if (!needsPreDestroyPersistent || - !needsPreClearContents || - !needsPreFlushContents || - !needsPostInitializeContents) - implementsPersistenceHooks = true; - implementsPersistenceHooksKnown = true; - } - return implementsPersistenceHooks; - } -*/ - - /** - * Return true if this method needs an implementation of clone(). - */ - public boolean hasCloneMethod() { - return sawMethodJDOClone; - } - - /** - * Checks the class attributes for a filter.annotated attribute. - * This works even if scan1 hasn't run yet. - */ - public boolean hasAnnotatedAttribute() { - if (previouslyAnnotated) - return true; - - Enumeration e = classFile().attributes().elements(); - while (e.hasMoreElements()) { - ClassAttribute attr = (ClassAttribute) e.nextElement(); - if (attr.attrName().asString().equals(AnnotatedAttribute)) - return true; - } - - return false; - } - - /** - * Check whether this class has a persistent field of the - * specified name. This might be called when the FieldActions have - * not yet been built. - */ -//@olsen: disabled feature -/* - boolean fieldIsPersistent(String fieldName) { - ClassField field = classFile().findField(fieldName); - if (field != null) { - String className = classFile().className().asString(); - String fieldName = field.name().asString(); - //@olsen: disabled feature - //return FieldAction.fieldIsPersistent(classFile(), field); - return env.getJDOMetaData().isPersistentField(className, fieldName); - } - return false; - } -*/ - - // private methods - - /** - * Scans the attributes of a ClassFile - */ - private void scanAttributes() { - Enumeration e = classFile().attributes().elements(); - while (e.hasMoreElements()) { - ClassAttribute attr = (ClassAttribute) e.nextElement(); - if (attr.attrName().asString().equals(AnnotatedAttribute)) { - previouslyAnnotated = true; - -//@olsen: disabled feature -/* - if (!control.isImplicitlyPersistent() && !env.updateInPlace()) { -*/ - { - // At some point we may want to consider stripping old - // annotations and re-annotating, but not yet - env.message("ignoring previously enhanced class "//NOI18N - + control.userClassName()); - } - break; - } - } - } - - /** - * Scans the class to check whether it implemens interfaces - * PersistenceCapable and Clonable. - * Sets instance variables sawImplementsPersistenceCapable if - * the class implements JDOMetaData.JDOPersistenceCapablePath. - * Sets the instance variable sawImplementsCloneable - * if the class implements JDOMetaData.javaLangCloneablePath. - * Please note that only the current class is scanned for implemented - * interfaces by this method. Even if the super class implements - * one of the above interfaces, the corresponding instance variable will - * not be set. - */ - //@olsen: added method - private void scanForImplementsInterfaces() { - for (Iterator ifc = classFile().interfaces().iterator(); - ifc.hasNext();) { - final ConstClass i = (ConstClass)ifc.next(); - String interfaceNamePath = i.asString(); - if (interfaceNamePath.equals(JDOMetaData.JDOPersistenceCapablePath)) { - sawImplementsPersistenceCapable = true; - - //@olsen: warn if user-defined 'implements PC' clause - env.warning( - getI18N("enhancer.class_implements_jdo_pc",//NOI18N - new Object[]{ - userClassName(), - JDOMetaData.JDOPersistenceCapableType - })); - } - if(JDOMetaData.javaLangCloneablePath.equals(interfaceNamePath) ) { - sawImplementsCloneable = true; - } - } - -//@olsen: disabled feature -//@olsen: don't check whether this class implements PC indirectly -/* - if (control.implementsPersistenceCapable()) - env.warning( - getI18N("enhancer.class_implements_pc", - userClassName(), - meta.JDOPersistenceCapableType)); -*/ - } - - /** - * Scans the fields of a ClassFile - * If this is not a persistence capable class, do nothing. - */ - private void scanFields() { - Enumeration e = classFile().fields().elements(); - while (e.hasMoreElements()) { - final ClassField f = (ClassField)e.nextElement(); - final String fieldName = f.name().asString(); - final String fieldSig = f.signature().asString(); - - //@olsen: added check - scanForJDOFields(fieldName, fieldSig); - - FieldAction action = new FieldAction(this, f, env); - action.check(); - fieldActionTable.add(action); - } - } - - /** - * Scan for JDO fields. - */ - //@olsen: added method - private void scanForJDOFields(String fieldName, - String fieldSig) { - if (fieldName.equals(JDOMetaData.JDOStateManagerFieldName)) { - env.error( - getI18N("enhancer.class_defines_jdo_field",//NOI18N - userClassName(), - JDOMetaData.JDOStateManagerFieldName)); - sawFieldJDOStateManager = true; - return; - } - if (fieldName.equals(JDOMetaData.JDOFlagsFieldName)) { - env.error( - getI18N("enhancer.class_defines_jdo_field",//NOI18N - userClassName(), - JDOMetaData.JDOFlagsFieldName)); - sawFieldJDOFlags = true; - return; - } - //@olsen: check whether member starts with the reserved jdo prefix - if (fieldName.startsWith("jdo")) {//NOI18N - //@olsen: issue a warning only - env.warning( - getI18N("enhancer.class_has_jdo_like_member",//NOI18N - userClassName(), fieldName)); - return; - } - } - - /** - * Scans the methods of a ClassFile. - */ - private void scanMethods() { - final boolean isPersistent - = (control.persistType() == ClassControl.PersistCapable); - - Enumeration e = classFile().methods().elements(); - while (e.hasMoreElements()) { - final ClassMethod m = (ClassMethod)e.nextElement(); - final String methodName = m.name().asString(); - final String methodSig = m.signature().asString(); - - if (isPersistent) { - scanForJDOMethods(methodName, methodSig); - } - - final MethodAction action = new MethodAction(this, m, env); - action.check(); - methodActionTable.put(m, action); - } - } - - - /** - * Scan for JDO methods. - */ - //@olsen: moved code from scanMethods() - private void scanForJDOMethods(String methodName, - String methodSig) { - if (methodName.equals(jdoGetStateManagerName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOGetStateManager = true; - return; - } - if (methodName.equals(jdoSetStateManagerName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOSetStateManager = true; - return; - } - if (methodName.equals(jdoGetFlagsName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOGetFlags = true; - return; - } - if (methodName.equals(jdoSetFlagsName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOSetFlags = true; - return; - } - if (methodName.equals(jdoMakeDirtyName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOMakeDirty = true; - return; - } - if (methodName.equals(jdoIsDirtyName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOIsDirty = true; - return; - } - if (methodName.equals(jdoIsTransactionalName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOIsTransactional = true; - return; - } - if (methodName.equals(jdoIsPersistentName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOIsPersistent = true; - return; - } - if (methodName.equals(jdoIsNewName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOIsNew = true; - return; - } - if (methodName.equals(jdoIsDeletedName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOIsDeleted = true; - return; - } - if (methodName.equals(jdoGetPersistenceManagerName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOGetPersistenceManager = true; - return; - } - if (methodName.equals(jdoGetObjectIdName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOGetObjectId = true; - return; - } - //^olsen: get signature from method builder - // for jdo constructor, check by name and signature - if (methodName.equals(jdoConstructorName) - && methodSig.equals("(" + JDOMetaData.JDOStateManagerSig + ")V")) {//NOI18N - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOConstructor = true; - return; - } - if (methodName.equals(jdoNewInstanceName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDONewInstance = true; - return; - } - if (methodName.equals(jdoClearName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOClear = true; - return; - } - if (methodName.equals(jdoCopyName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOCopy = true; - return; - } - if (methodName.equals(jdoGetFieldName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOGetField = true; - return; - } - if (methodName.equals(jdoSetFieldName)) { - env.error( - getI18N("enhancer.class_defines_jdo_method",//NOI18N - userClassName(), methodName)); - sawMethodJDOSetField = true; - return; - } - //^olsen: get signature from method builder - // for method clone(), check by name and signature - if (methodName.equals(jdoCloneName) - && methodSig.equals("()Ljava/lang/Object;")) {//NOI18N - // it's OK to have a user-defined clone() - sawMethodJDOClone = true; - return; - } - //@olsen: check whether member starts with the reserved jdo prefix - if (methodName.startsWith("jdo")) {//NOI18N - //@olsen: issue a warning only - env.warning( - getI18N("enhancer.class_has_jdo_like_member",//NOI18N - userClassName(), methodName)); - return; - } - -//@olsen: disabled feature -/* - boolean sawInitializeContents = false; - boolean sawFlushContents = false; - boolean sawClearContents = false; -*/ -//@olsen: disabled feature -/* - else if (methodName.equals("initializeContents") && - methodSig.equals("(com/sun/forte4j/persistence/internal/ObjectContents;)V")) - sawInitializeContents = true; - else if (methodName.equals("flushContents") && - methodSig.equals("(Lcom/sun/forte4j/persistence/internal/ObjectContents;)V")) - sawFlushContents = true; - else if (methodName.equals("clearContents") && - methodSig.equals("()V")) - sawClearContents = true; -*/ -//@olsen: disabled feature -/* - else if (methodName.equals("preDestroyPersistent") && - methodSig.equals("()V")) - needsPreDestroyPersistent = false; - else if (methodName.equals("postInitializeContents") && - methodSig.equals("()V")) - needsPostInitializeContents = false; - else if (methodName.equals("preFlushContents") && - methodSig.equals("()V")) - needsPreFlushContents = false; - else if (methodName.equals("preClearContents") && - methodSig.equals("()V")) - needsPreClearContents = false; -*/ -//@olsen: disabled feature -/* - if (!sawInitializeContents) - generate |= GENInitContents; - if (!sawFlushContents) - generate |= GENFlushContents; - if (!sawClearContents) - generate |= GENClearContents; -*/ - } - - /** - * Add a field as the index'th element of the field vector in the class. - */ - private void insertPersistenceCapableFields(String fieldName, - String fieldSig, - String printableFieldSig, - int accessFlags) { - affirm(implementsPersistence); - - control.noteUpdate(); - - // create it - env.message("adding "//NOI18N - + control.userClassName() + - "." + fieldName + " " + printableFieldSig);//NOI18N - - final ClassFile cfile = classFile(); - final ConstantPool pool = cfile.pool(); - - //@olsen: fix 4467428, add synthetic attribute for generated fields - final AttributeVector fieldAttrs = new AttributeVector(); - fieldAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - - final ClassField theField - = new ClassField(accessFlags, - pool.addUtf8(fieldName), - pool.addUtf8(fieldSig), - fieldAttrs); - - cfile.addField(theField); - } - - /** - * Add all the methods required for com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable interface. - */ - private void insertPersistenceCapableMethods() { - affirm(implementsPersistence); - - control.noteUpdate(); - - //@olsen: simplified generation of jdo[GS]etStateManager methods - affirm(!sawMethodJDOGetStateManager); - classFile().addMethod( - methodBuilder.makeJDOGetStateManager( - this, - jdoGetStateManagerName)); - - affirm(!sawMethodJDOSetStateManager); - classFile().addMethod( - methodBuilder.makeJDOSetStateManager( - this, - jdoSetStateManagerName)); - - //@olsen: simplified generation of jdo[GS]etFlags methods - affirm(!sawMethodJDOGetFlags); - classFile().addMethod( - methodBuilder.makeJDOGetFlags( - this, - jdoGetFlagsName)); - affirm(!sawMethodJDOSetFlags); - classFile().addMethod( - methodBuilder.makeJDOSetFlags( - this, - jdoSetFlagsName)); - - //@olsen: add generation of jdoMakeDirty() method - affirm(!sawMethodJDOMakeDirty); - classFile().addMethod( - methodBuilder.makeJDOMakeDirtyMethod( - this, - jdoMakeDirtyName)); - - //@olsen: add generation of JDO interrogative methods - affirm(!sawMethodJDOIsDirty); - classFile().addMethod( - methodBuilder.makeJDOInterrogativeMethod( - this, - jdoIsDirtyName)); - affirm(!sawMethodJDOIsTransactional); - classFile().addMethod( - methodBuilder.makeJDOInterrogativeMethod( - this, - jdoIsTransactionalName)); - affirm(!sawMethodJDOIsPersistent); - classFile().addMethod( - methodBuilder.makeJDOInterrogativeMethod( - this, - jdoIsPersistentName)); - affirm(!sawMethodJDOIsNew); - classFile().addMethod( - methodBuilder.makeJDOInterrogativeMethod( - this, - jdoIsNewName)); - affirm(!sawMethodJDOIsDeleted); - classFile().addMethod( - methodBuilder.makeJDOInterrogativeMethod( - this, - jdoIsDeletedName)); - - //@olsen: add generation of jdoGetPersistenceManager method - affirm(!sawMethodJDOGetPersistenceManager); - classFile().addMethod( - methodBuilder.makeJDOGetPersistenceManagerMethod( - this, - jdoGetPersistenceManagerName)); - - //@olsen: add generation of jdoGetObjectId method - affirm(!sawMethodJDOGetObjectId); - classFile().addMethod( - methodBuilder.makeJDOGetObjectIdMethod( - this, - jdoGetObjectIdName)); - - //@olsen: add generation of the JDO constructor - affirm(!sawMethodJDOConstructor); - classFile().addMethod( - methodBuilder.makeJDOConstructor( - this, - jdoConstructorName)); - - //@olsen: add generation of the jdoNewInstance method - affirm(!sawMethodJDONewInstance); - classFile().addMethod( - methodBuilder.makeJDONewInstanceMethod( - this, - jdoNewInstanceName)); - - //@olsen: add generation of the jdoGetField method - affirm(!sawMethodJDOGetField); - classFile().addMethod( - methodBuilder.makeJDOGetFieldMethod( - this, - jdoGetFieldName)); - - //@olsen: add generation of the jdoSetField method - affirm(!sawMethodJDOSetField); - classFile().addMethod( - methodBuilder.makeJDOSetFieldMethod( - this, - jdoSetFieldName)); - - //@olsen: add generation of the jdoClear method - affirm(!sawMethodJDOClear); - classFile().addMethod( - methodBuilder.makeJDOClearMethod( - this, - jdoClearName)); - - //@lars: removed jdoCopy-method creation - //@olsen: add generation of the jdoCopy method - /* - affirm(!sawMethodJDOCopy); - classFile().addMethod( - methodBuilder.makeJDOCopyMethod( - this, - jdoCopyName)); - */ - - //@olsen: generate method clone() if not present - if (!sawMethodJDOClone) { - classFile().addMethod( - methodBuilder.makeJDOClone( - this, - jdoCloneName)); - } - } - - /** - * Add all the methods required for com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapableHooks interface. - */ -//@olsen: disabled feature -/* - private void insertPersistenceCapableHooksMethods() { - if (needsPreDestroyPersistent) - classFile().addMethod - (methodBuilder.makeNullMethod(this, "preDestroyPersistent")); - - if (needsPostInitializeContents) - classFile().addMethod - (methodBuilder.makeNullMethod(this, "postInitializeContents")); - - if (needsPreFlushContents) - classFile().addMethod - (methodBuilder.makeNullMethod(this, "preFlushContents")); - - if (needsPreClearContents) - classFile().addMethod - (methodBuilder.makeNullMethod(this, "preClearContents")); - - if (needsPreDestroyPersistent || needsPostInitializeContents - || needsPreFlushContents || needsPreClearContents) - control.noteUpdate(); - } -*/ - - /** - * Add the specified interface to list. - */ - private void augmentClassInterface(String interfaceName) { - control.noteUpdate(); - ClassFile cfile = classFile(); - ConstClass iface = cfile.pool().addClass(interfaceName); - //@olsen: moved output to here - env.message("adding implements "//NOI18N - + ClassControl.userClassFromVMClass(interfaceName)); - cfile.addInterface(iface); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/ClassControl.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/ClassControl.java deleted file mode 100644 index 240894fe7ae..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/ClassControl.java +++ /dev/null @@ -1,987 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.impl; - -import java.io.*; - -import java.util.Map; -import java.util.Hashtable; -import java.util.Iterator; - -import com.sun.jdo.api.persistence.enhancer.classfile.ClassFile; -import com.sun.jdo.api.persistence.enhancer.classfile.ClassField; -import com.sun.jdo.api.persistence.enhancer.classfile.ClassMethod; -import com.sun.jdo.api.persistence.enhancer.classfile.ConstClass; - -import com.sun.jdo.api.persistence.enhancer.util.Support; -import com.sun.jdo.api.persistence.enhancer.util.UserException; -import com.sun.jdo.api.persistence.enhancer.util.ClassFileSource; - -//@olsen: added import -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaData; - - -//@olsen: cosmetics -//@olsen: moved: this class -> package impl -//@olsen: subst: [iI]Persistent -> [pP]ersistenceCapable -//@olsen: subst: jdo/ -> com/sun/forte4j/persistence/internal/ -//@olsen: subst: /* ... */ -> // ... -//@olsen: subst: filterEnv -> env -//@olsen: subst: FilterEnv -> Environment -//@olsen: dropped parameter 'Environment env', use association instead -//@olsen: subst: Hashtable -> Map, HashMap -//@olsen: subst: Enumeration,... -> Iterator, hasNext(), next() -//@olsen: subst: absolut jdo types and names -> constants from JDOMetaData -//@olsen: subst: persistType() -> persistenceType -//@olsen: subst: ClassControl. -> -//@olsen: added: support for I18N -//@olsen: subst: FilterError -> UserException, affirm() -//@olsen: removed: support for [No]AnnotateField -//@olsen: removed: old, disabled ODI code - - -/** - * ClassControl acts as the primary handle for a class within the - * filter tool. ClassControl instances are typically accessed through - * various methods on Environment. - */ -public final class ClassControl - extends Support { - - /* Valid persistence types */ - - /* The user didn't tell us to make this persistence-capable or - * persistence-aware and it doesn't appear to be annotated */ - //@olsen: changed value 3 -> -1 - static public final int TransientOnly = -1; - - /* The user made no explicit statement about the persistence capability. */ - static public final int PersistUnknown = 0; - - /* The user said that this class needs to be annotated for fetch/dirty - * but the class doesn't need to be stored persistently */ - //@olsen: changed value 2 -> 1 - static public final int PersistAware = 1; - - /* The user said this class should be persistence capable or it was - * promoted to persistence-capable status as a result of being a base - * class of an explicitly persistence capable class */ - //@olsen: changed value 1 -> 2 - static public final int PersistCapable = 2; - - /* A filtered version of this class exists and is up to date w.r.t. - * the unfiltered versionr - filtering will NOT be required. - */ - //@olsen: changed value 3 -> -1 - static public final int UpdateNotNeeded = -1; - - /* It is not yet known whether the current filtered version of this - * class exists or if it is up-to-date w.r.t. the unfiltered version. - */ - static public final int UpdateUnknown = 0; - - /* No filtered version of this class exists - filtering will be required. - */ - static public final int UpdateNew = 1; - - /* A filtered version of this class exists but the unfiltered version - * is newer - filtering will be required. - */ - static public final int UpdateNewer = 2; - - /* Central repository for the options and classes */ - //@olsen: added association - //@olsen: made final - private final Environment env; - - /* The class to be annotated */ - //@olsen: made final - private final ClassFileSource theClassSource; - - /* The classfile to be annotated */ - private ClassFile theClass; - - /* What type of class is this w.r.t. persistence */ - private int persistenceType = PersistUnknown; - - /* What type of class is this w.r.t. persistence as defined on cmd line */ -//@olsen: disabled feature -/* - private int initialPersistenceType = PersistUnknown; -*/ - - /* Was this class promoted to persistent capable? */ -//@olsen: disabled feature -/* - private boolean implicitlyPersistent = false; -*/ - - /* Was this class explicitly listed on the command line? */ -//@olsen: disabled feature -/* - private boolean explicitlyMentioned = false; -*/ - - /* What is the update state of the class */ - private int updateType = UpdateUnknown; - - /* What annotation related actions are to be performed for the class */ - //@olsen: made final - private final ClassAction classAction; - - /* If true, this class is believed to have been modified in some way */ - private boolean classUpdated; - - /* If true, this class was renamed via repackaging */ -//@olsen: disabled feature -/* - private boolean classRenamed; -*/ - - // public accessors - - /** - * Return true if the classfile has been updated - */ - public boolean updated() { - return classUpdated; - } - - /** - * Return true if the classfile has been renamed - */ -//@olsen: disabled feature -/* - public boolean renamed() { - return classRenamed; - } -*/ - - /** - * Record a modification of the class - */ - public void noteUpdate() { - classUpdated = true; - } - - /** - * Get the ClassFile data structure for the class - */ - public ClassFile classFile() { - return theClass; - } - - /** - * Return the persistence type for this class - */ - public int persistType() { - return persistenceType; - } - - /** - * Return the initial persistence type for this class - */ -//@olsen: disabled feature -/* - public int initialPersistType() { - return initialPersistenceType; - } -*/ - - /** - * Return true if the persistence type for this class is either - * PersistAware or PersistCapable. - */ -//@olsen: not used -//@olsen: disabled feature -/* - public boolean persistAware() { - if (persistenceType == PersistUnknown) - checkPersistAware(); - return (persistenceType == PersistCapable || - persistenceType == PersistAware); - } -*/ - - /** - * Return true if the persistence type for this class is PersistCapable. - */ -//@olsen: disabled feature -/* - public boolean persistCapable() { - if (persistenceType == PersistUnknown) - checkPersistAware(); - return persistenceType == PersistCapable; - } -*/ - - /** - * Return true if filtering of the class is required. - * This checks only whether the filtered version of the class is - * up to date w.r.t. its input class. - */ - public boolean filterRequired() { - if (updateType == UpdateUnknown) - checkUpdateType(); -//@olsen: optimized code - return (updateType > UpdateUnknown || env.forceOverwrite()); -/* - return (updateType == UpdateNew - || updateType == UpdateNewer - || env.forceOverwrite()); -*/ - } - - /** - * Mark the class as requiring update. - */ - public void requireUpdate() { - updateType = UpdateNew; - } - - /** - * Return true if the class is one which should be a candidate for - * annotation. - */ - public boolean annotateable() { -//@olsen: disabled feature: isImplicitlyPersistent() -/* - return (initialPersistenceType == PersistCapable || - initialPersistenceType == PersistAware || - isImplicitlyPersistent()); -*/ - //@olsen: changed to check each class not explicitly known as transient - return (persistenceType >= PersistUnknown); - } - - /** - * Set the peristence type for this class - */ -//@olsen: disabled feature: -> setPersistenceType() -/* - public void setPersistType(int ptype) { - persistenceType = ptype; - } -*/ - - /** - * Set the initial peristence type for this class - */ -//@olsen: disabled feature -/* - public void setInitialPersistType(int ptype) { - initialPersistenceType = ptype; - persistenceType = ptype; - } -*/ - - /** - * Returns true if this class was promoted to persistent implicitly - */ -//@olsen: disabled feature -/* - public boolean isImplicitlyPersistent() { - return implicitlyPersistent; - } -*/ - - /** - * Record that this class was promoted to persistence capable - */ -//@olsen: disabled feature -/* - public void setImplicitlyPersistent(boolean wasPromoted) { - implicitlyPersistent = wasPromoted; - } -*/ - - /** - * Returns true if this class was explicitly named on the command line - */ -//@olsen: disabled feature -/* - public boolean isExplicitlyNamed() { - return explicitlyMentioned; - } -*/ - - /** - * Record whether this class was explicitly listed as a class on the - * command line. - */ -//@olsen: disabled feature -/* - public void setExplicitlyNamed(boolean wasNamed) { - explicitlyMentioned = wasNamed; - } -*/ - - /** - * Get the ClassAction for this class - */ - public ClassAction action() { - return classAction; - } - - /** - * Constructor - */ - //@olsen: added parameter 'env' for association - public ClassControl(ClassFileSource theSource, - Environment env) { - theClassSource = theSource; - buildTheClass(true /* allowJDK12ClassFiles */); - theClassSource.setExpectedClassName(className()); - classAction = new ClassAction(this, env); - this.env = env; - - if (false) { - System.out.println("ClassControl(): new class = " + className());//NOI18N - } - } - - /** - * Constructor - */ - //@olsen: added parameter 'env' for association - public ClassControl(ClassFileSource theSource, - ClassFile theFile, - Environment env) { - theClassSource = theSource; - theClass = theFile; - theClassSource.setExpectedClassName(className()); - classAction = new ClassAction(this, env); - this.env = env; - - if (false) { - System.out.println("ClassControl(): new class = " + className());//NOI18N - } - } - - - /** - * Sets the persistence type of a class by JDO meta-data. - */ - //@olsen: added method - private void setPersistenceType() { - final JDOMetaData meta = env.getJDOMetaData(); - - //@olsen: skip class if its persistence type is already known - if (persistenceType != PersistUnknown) { - return; - } - - //@olsen: check whether class is an interface - if (classFile().isInterface()) { - persistenceType = TransientOnly; - return; - } - - //@olsen: check whether class is known to be transient - final String className = className(); - if (meta.isTransientClass(className)) { - persistenceType = TransientOnly; - return; - } - - //@olsen: check whether class is persistence-capable - if (meta.isPersistenceCapableClass(className)) { - persistenceType = PersistCapable; - - //@olsen: for Dogwood, check limitation on PC-inheritance - affirm(meta.isPersistenceCapableRootClass(className), - ("Sorry, not supported yet: the persistent-capable class "//NOI18N - + userClassName() - + "cannot extend a persistent-capable super-class."));//NOI18N - } - } - - /** - * Note the class characteristics - */ - public void scan1() { - //@olsen: added support for timing statistics - try{ - if (env.doTimingStatistics()) { - Support.timer.push("ClassControl.scan1()");//NOI18N - } - //@olsen: added: set the persistent type of class - setPersistenceType(); - -//@olsen: disabled feature -/* - if (annotateable() || implementsPersistenceCapable()) { -*/ - - if (annotateable()) { - //@olsen: dropped argument: boolean filterRequired - //classAction.scan1(filterRequired()); - if (filterRequired()) { - classAction.scan1(); - } else { - //@olsen: added output - env.message("skipping " + userClassName() + //NOI18N - " because it is already up to date.");//NOI18N - } - } - } finally { - if (env.doTimingStatistics()) { - Support.timer.pop(); - } - } - } - - /** - * Check the class to see what actions need to be performed - */ -//@olsen: disabled feature -/* - public void scan2() { - if (annotateable()) { - env.message("computing annotations for " + userClassName()); - classAction.scan2(filterRequired()); - } - } -*/ - - /** - * Reparent class if needed - */ - //@olsen: subst: augmentInterfaces -> augment - public void augment() { - //@olsen: added support for timing statistics - try{ - if (env.doTimingStatistics()) { - Support.timer.push("ClassControl.augment()");//NOI18N - } - if (annotateable()) { - //@olsen: dropped argument: boolean filterRequired - //classAction.augment(filterRequired()); - if (filterRequired()) { - classAction.augment(); - } else { - //@olsen: added output - env.message("skipping " + userClassName() + //NOI18N - " because it is already up to date.");//NOI18N - } - } - } finally { - if (env.doTimingStatistics()) { - Support.timer.pop(); - } - } - } - - /** - * Retarget the class if needed - */ -//@olsen: disabled feature -/* - public void retarget(Map classTranslations) { - // Trust our caller on this one - // The check for filterRequired is pushed down into ClassAction - // for this method to allow any special considerations to be made - // there. - if (classTranslations.get(className()) != null) - classRenamed = true; - - env.message("retargetting class references for " + userClassName()); - classAction.retarget(classTranslations, - filterRequired()); - - // update our class source to reflect our new name if it has changed - // We need to do this even if filtering is not required - theClassSource.setExpectedClassName(className()); - } -*/ - - /** - * perform necessary annotation actions on the class - */ - public void annotate() { - //@olsen: added support for timing statistics - try{ - if (env.doTimingStatistics()) { - Support.timer.push("ClassControl.annotate()");//NOI18N - } - if (annotateable()) { - if (filterRequired()) { - classAction.annotate(); - } else { - env.message("skipping " + userClassName() + //NOI18N - " because it is already up to date.");//NOI18N - } - } - } finally { - if (env.doTimingStatistics()) { - Support.timer.pop(); - } - } - } - - // package accessors - - /** - * Return the class name in VM form - */ - public String className() { - ConstClass cname = theClass.className(); - return (cname == null) ? null : cname.asString(); - } - - /** - * Return the class name in user ('.' delimited) form - */ - public String userClassName() { - return userClassFromVMClass(className()); - } - - /** - * Return the class name in user ('.' delimited) form - */ - //^olsen: move to -> classfile.Descriptor ? - static public String userClassFromVMClass(String vmName) { - return vmName.replace('/', '.'); - } - - /** - * Return the class name in VM ('/' delimited) form - */ - //^olsen: move to -> classfile.Descriptor ? - static public String vmClassFromUserClass(String userName) { - return userName.replace('.', '/'); - } - - /** - * Return the vm package name for this class - */ - public String pkg() { - return packageOf(className()); - } - - /** - * Return the vm package name for the vm class name - */ - static public String packageOf(String vmName) { - int last = vmName.lastIndexOf('/'); - if (last < 0) - return "";//NOI18N - return vmName.substring(0, last); - } - - /** - * Return the unpackaged name for this class - */ -//@olsen: disabled feature -/* - public String unpackagedName() { - return unpackagedNameOf(className()); - } -*/ - - /** - * Return the unpackaged name for the vm class name - */ -//@olsen: disabled feature -/* - static public String unpackagedNameOf(String vmName) { - int last = vmName.lastIndexOf('/'); - if (last < 0) - return vmName; - return vmName.substring(last+1); - } -*/ - - /** - * Return the name of the class source - */ - public String sourceName() { - return theClassSource.containingFilePath(); - } - - /** - * Return the source of the class - */ - public ClassFileSource source() { - return theClassSource; - } - - /** - * Check whether the class already implements PersistenceCapable. - * Drag in new classes if needed. - */ -//@olsen: disabled feature -/* - public boolean implementsPersistenceCapable() { - return implementsInterface(JDOMetaData.JDOPersistenceCapablePath, - null); - } -*/ - -//@olsen: disabled feature -/* - abstract class Checker { - abstract boolean checkClass(ClassControl aClass); - } -*/ - - /** - * Check whether the class will implement PersistenceCapableHooks - * in the absence of the postprocessor doing it. - * Drag in new classes if needed. Must not be called until scan2 phase - */ -//@olsen: disabled feature -/* - public boolean hasPersistenceCapableHooksProvided() { - return implementsInterface(JDOMetaData.JDOInstanceCallbacksPath, - new Checker() { - boolean checkClass(ClassControl aClass) { - return (aClass != ClassControl.this && - aClass.action().getImplementsPersistenceHooks()); - } - }); - } -*/ - - /** - * Check whether the class implements the specified class or - * is the specified class. - * If ccCheck is non-null, it is called on each ClassControl visited - * during the traversal to the base class as an additional predicate - * which, if it returns true, causes termination of the walk with - * a return value of true. - * - * TBD: modify this method and its callers to move all checking to - * the Checker predicate. - */ -//@olsen: disabled feature -/* - boolean implementsInterface(String implementClassName, - Checker ccChecker) { - String currClassName = className(); - while (currClassName != null) { - ClassControl cc = env.findClass(currClassName); - if (cc == null) - return false; - - ClassFile cf = cc.classFile(); - - Iterator interfaces = cf.interfaces().iterator(); - while (interfaces.hasNext()) { - ConstClass i = (ConstClass)interfaces.next(); - String interfaceName = i.asString(); - ClassControl icc = env.findClass(interfaceName); - if (icc == null) { - env.error("Class " + interfaceName - + " could not be found."); - return false; - } - if (interfaceName.equals(implementClassName) || - icc.implementsInterface(implementClassName, ccChecker)) - return true; - } - - if (ccChecker != null && ccChecker.checkClass(cc)) - return true; - - ConstClass superClass = cf.superName(); - if (superClass == null) - // java/lang/Object has no super class - return false; - - currClassName = superClass.asString(); - } - - return false; - } -*/ - - /** - * Check whether the class derives from the specified class or - * is the specified class. - */ -//@olsen: disabled feature -/* - //@olsen: made public - public boolean inherits(String inheritClassName) { - String currClassName = className(); - while (currClassName != null) { - if (currClassName.equals(inheritClassName)) - return true; - - ClassControl cc = env.findClass(currClassName); - if (cc == null) - return false; - - ClassFile cf = cc.classFile(); - ConstClass superClass = cf.superName(); - if (superClass == null) - // java/lang/Object has no super class - return false; - - currClassName = superClass.asString(); - } - - return false; - } -*/ - - /** - * Find the class which implements the given method and signature. - * Search up the class hierarchy from "this" until either java.lang.Object - * is found or a class which implements the method is found. Return - * null if the method has no implementation. - */ -//@olsen: disabled feature -/* - ClassControl findMethodClass(String methodName, - String methodSig) { - String currClassName = className(); - - while (currClassName != null) { - ClassControl cc = env.findClass(currClassName); - if (cc == null) - break; - - ClassFile cf = cc.classFile(); - if (cf.findMethod(methodName, methodSig) != null) - return cc; - ConstClass superClass = cf.superName(); - if (superClass == null) - // java/lang/Object has no super class - return null; - - currClassName = superClass.asString(); - } - env.error("Class " + userClassFromVMClass(currClassName) + - " could not be found while trying to locate method " + - methodName); - - return null; - } -*/ - -//@olsen: disabled feature -> get this information from JDOMetaData -/* - ClassControl findBasestPersistCapable() { - String currClassName = className(); - - ClassControl ret = null; - while (currClassName != null) { - ClassControl cc = env.findClass(currClassName); - if (cc == null) - break; - - if (cc.persistCapable()) { - ret = cc; - } - ConstClass superClass = cc.classFile().superName(); - if (superClass == null) - // java/lang/Object has no super class - return ret; - - currClassName = superClass.asString(); - } - env.error("Class " + userClassFromVMClass(currClassName) + - " could not be found while trying to locate Base class."); - - return null; - } -*/ - - /** - * Write the file. If destination directory is non-null, write the - * file relative to that directory, else write it relative to its - * original location. - */ - //@olsen: made public - public void write(File destFile) - throws IOException, FileNotFoundException { - DataOutputStream dos = - theClassSource.getOutputStream(destFile); - theClass.write(dos); - dos.close(); - } - - // private methods - - /** - * Check to see if this class appears to be annotated. If so, - * update PersistUnknown to PersistAware. - */ -//@olsen: disabled feature -/* - private void checkPersistAware() { - if (persistenceType == PersistUnknown) { - if (action().hasAnnotatedAttribute()) { - // The class is annotated - it is either - // persistence-aware or persistence-capable. - if (implementsPersistenceCapable()) - persistenceType = PersistCapable; - else - persistenceType = PersistAware; - } else { - // Either unannotated or manually annotated. - // We used to check for the presence of a ClassInfo class - // but the fact that we are relying now on dynamic classinfo - // means that we encounter increasing numbers of false - // warnings so for now, we'll just assume that the - // PersistenceCapable is sufficient and defer error detection - // until runtime. - if (implementsPersistenceCapable() - || classFile().isInterface()) - persistenceType = PersistCapable; - - // This code still needs to be implemented but not being - // implemented simply means that more array fetches might - // occur than are really necessary. - //else if (this class appears to be annotated) - // persistenceType = PersistAware; - else - persistenceType = TransientOnly; - } - } - } -*/ - - /** - * Check to see if output class for this class is up-to-date with - * respect to its input class. Set updateType to reflect what - * type of update of the output class is needed, if any. - */ - private void checkUpdateType() { - if (updateType == UpdateUnknown) { - String lookupName; - - //@olsen: added inplace of disable featured - lookupName = className(); -//@olsen: disabled feature -/* - // check to see if it exists in the updated form - String pkg = pkg(); - String xlat = (String) env.translations().get(pkg); - if (xlat != null) { - if (xlat.length() == 0) - lookupName = unpackagedName(); - else - lookupName = xlat + "/" + unpackagedName(); - } else { - lookupName = className(); - } -*/ - - ClassFileSource annotatedSource; - if (env.updateInPlace() && !theClassSource.isZipped()) - annotatedSource = theClassSource; - else - annotatedSource = env.lookupDestClass(lookupName); - - if (annotatedSource == null) { - // No annotated class exists - updateType = UpdateNew; - } else { - try { - long annModDate = annotatedSource.modificationDate(); - long srcModDate = source().modificationDate(); - if (annModDate < srcModDate) { - // An annotated class exists, but it is older than - // the input - updateType = UpdateNewer; - } else { - if (annotatedSource == theClassSource - && !action().hasAnnotatedAttribute()) { - // An unannotated class file to be updated - // in-place - if (persistenceType == PersistCapable - || persistenceType == PersistAware) - updateType = UpdateNewer; - else - updateType = UpdateNotNeeded; - } else { - //@olsen: an annotated class exists, which is - // newer than the input - updateType = UpdateNotNeeded; - } - } - } catch (FileNotFoundException e) { - // shouldn't occur, but if it does, handle it - updateType = UpdateNew; - } - } - } - } - - /** - * Constructs the ClassFile for the class - */ - private void buildTheClass(boolean allowJDK12ClassFiles) { - if (false) { - System.out.println("Reading class "//NOI18N - + theClassSource.expectedClassName()); - } - - //@olsen: cosmetics - //try { - // try { - // } catch (FileNotFoundException e) { - // } - //} catch (IOException e) { - //} - try { - DataInputStream dis = theClassSource.classFileContents(); - theClass = new ClassFile(dis); - dis.close(); - } catch (FileNotFoundException e) { - // File should already have been tested for existence - //@olsen: support for I18N - throw new UserException( - getI18N("enhancer.file_not_found",//NOI18N - sourceName()), - e); - } catch (IOException e) { - //@olsen: support for I18N - throw new UserException( - getI18N("enhancer.io_error_while_reading_file",//NOI18N - sourceName()), - e); - } - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/EnhancerControl.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/EnhancerControl.java deleted file mode 100644 index acfb7a86f1d..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/EnhancerControl.java +++ /dev/null @@ -1,463 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.impl; - -import java.util.Map; -import java.util.Collection; -import java.util.Enumeration; -import java.util.Iterator; -import java.util.ArrayList; -import java.util.HashMap; - -//@olsen: added general support -import com.sun.jdo.api.persistence.enhancer.util.Support; - -import com.sun.jdo.api.persistence.enhancer.util.ClassFileSource; - -//@olsen: disabled feature -/* -import com.sun.jdo.api.persistence.enhancer.classfile.ClassFile; -*/ - -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaData; - -import com.sun.jdo.api.persistence.enhancer.impl.ClassControl; -import com.sun.jdo.api.persistence.enhancer.impl.Environment; -//@olsen: disabled feature -/* -import com.sun.jdo.api.persistence.enhancer.impl.FieldMap; -*/ - -//lars: made the class public to access it from the root package -//lars: moved from root package into impl-subpackage -//@olsen: cosmetics -//@olsen: subst: [iI]Persistent -> [pP]ersistenceCapable -//@olsen: subst: /* ... */ -> // ... -//@olsen: moved: class FilterError -> package util -//@olsen: moved: OSCFP.addClass(ClassControl) -> impl.Environment -//@olsen: subst: filterEnv.classMap.elements() -> filterEnv.getClasses() -//@olsen: subst: filterEnv.classMap.get(name) -> filterEnv.getClass(name) -//@olsen: subst: filterEnv.translations -> filterEnv.translations() -//@olsen: subst: OSCFP -> Main -//@olsen: subst: filterEnv -> env -//@olsen: subst: FilterEnv -> Environment -//@olsen: dropped parameter 'Environment env', use association instead -//@olsen: subst: augment -> closeOver -//@olsen: subst: collectAllClasses -> collectClasses -//@olsen: subst: Vector -> Collection, List, ArrayList -//@olsen: subst: Hashtable -> Map, HashMap -//@olsen: subst: Enumeration,... -> Iterator, hasNext(), next() -//@olsen: removed: proprietary support for IndexableField - - -/** - * Main is the starting point for the persistent filter tool. - */ -//@olsen: added local class -public class EnhancerControl -//extends Support -{ - - /* Central repository for the options selected by - * the user and the current state of the Filter execution */ - private Environment env; - - /** - * Create an instance. - */ - public EnhancerControl(Environment env) { - this.env = env; - } - - /** - * Extend the class map so that persistent classes are closed over - */ -//@olsen: inlined method -/* - //@olsen: moved: Main.closeOverClasses() -> EnhancerControl - //@olsen: made public - public void closeOverClasses() { - ArrayList v = env.collectClasses(ClassControl.PersistCapable); - for (Iterator e = v.iterator(); e.hasNext();) { - ClassControl cc = (ClassControl)e.next(); - closeOverClass(cc); - } - } -*/ - - /** - * Extend the class map so that all base classes of the specified - * class are included, if possible. The specified class is assumed - * to already be on the persistent class list. - */ -//@olsen: disabled feature -/* - //@olsen: moved: Main.closeOverClass(ClassControl startCC) -> EnhancerControl - //@olsen: made public - public void closeOverClass(ClassControl startCC) { - final JDOMetaData jdoMetaData = env.getJDOMetaData(); - String className = startCC.classFile().className().asString(); - String baseClassName = startCC.classFile().superName().asString(); - while (true) { - //@olsen: added final - final ClassControl cc = env.findClass(baseClassName); - - if (cc == null) { - // We can't find the class file - // perhaps a mechanism to only produce the error would be nice - env.error("Unable to locate class " + - ClassControl.userClassFromVMClass(baseClassName)); - return; - } - - if (baseClassName.equals("java/lang/Object")) - //@olsen: subst: break -> return - return; - -//@olsen: disabled feature -/// - //@olsen: not used - //String ccPkg = cc.pkg(); - if (baseClassName.startsWith("java/") && - !cc.implementsPersistenceCapable() && - !env.modifyJavaClasses()) { - env.error("Sorry, java types can not be made persistent. " + - "Class " + - ClassControl.userClassFromVMClass(className) + - " extends " + - ClassControl.userClassFromVMClass(baseClassName) + - ". See the -modifyjava option if you really " + - "want to do this."); - return; - } - - if (baseClassName.startsWith("com/ms/com/")) { - env.error("Sorry, Microsoft COM types can not be made persistent. " + - "Class " + - ClassControl.userClassFromVMClass(className) + - " extends " + - ClassControl.userClassFromVMClass(baseClassName) + - "."); - return; - } -/// - - //cc.setPersistType(ClassControl.PersistCapable); - - //@olsen: set persisence type of class by JDO meta-data - if (jdoMetaData.isPersistenceCapableClass(baseClassName)) { - //cc.setPersistType(ClassControl.PersistCapable); - cc.setInitialPersistType(ClassControl.PersistCapable); - - //@olsen: impose limitation - env.error("Sorry, in this release a persistent class cannot have a persistent super-class. " + - "Persistent class " + - ClassControl.userClassFromVMClass(className) + - " (indirectly) extends persistent class " + - ClassControl.userClassFromVMClass(baseClassName) + - "."); - return; - } else if (baseClassName.startsWith("java/")) { - //cc.setPersistType(ClassControl.TransientOnly); - cc.setInitialPersistType(ClassControl.TransientOnly); - - // may stop when transient root class found - return; - } - -//@olsen: disabled feature -/// - if (cc.persistType() == ClassControl.PersistCapable) { - // The base class is already on the persistent-capable list - // so we're all done here - return; - } - if (cc.implementsPersistenceCapable()) { - // The class already inherits from Persistent. It's probably - // ok to update if necessary - env.message("Promoting " + cc.userClassName() + - " to persistence-capable."); - cc.setPersistType(ClassControl.PersistCapable); - cc.setImplicitlyPersistent(true); - } else if (cc.persistType() == ClassControl.PersistUnknown) { - if (cc.pkg().equals(startCC.pkg())) { - // It's ok to make this base class persistent too. - env.message("Including class " + cc.userClassName() + - " as a persistence capable class."); - cc.setPersistType(ClassControl.PersistCapable); - cc.setImplicitlyPersistent(true); - } else { - // Ought to be more clever here as this class may be - // pulled in through another persistence path later on - env.error("Class " + cc.userClassName() + - " must be persistent to allow " + - startCC.userClassName() + - " to be persistent."); - return; - } - } else { - // Ought to be more clever here as this class may be pulled in - // through another persistence path later on - env.error("Class " + cc.userClassName() + - " must be persistent to allow " + - startCC.userClassName() + - " to be persistent."); - return; - } -/// - - // Move on to the next base class - baseClassName = cc.classFile().superName().asString(); - } - } -*/ - - /** - * Dumps a class' signature and byte-code. - */ - //@olsen: added method for debugging - static protected void dumpClass(ClassControl cc) { - final String name = cc.userClassName(); - System.out.println(); - System.out.println("dumping class " + name + " {");//NOI18N - cc.classFile().print(System.out); - System.out.println("} // end of class " + name); - System.out.println(); - } - - - /** - * Determine what modifications are needed and perform them - */ - //@olsen: moved: Main.modifyClasses() -> EnhancerControl - //@olsen: made public - //@olsen: improved output - public void modifyClasses() { - //@olsen: added support for timing statistics - try{ - if (env.doTimingStatistics()) { - Support.timer.push("EnhancerControl.modifyClasses()");//NOI18N - } - final ArrayList classes = env.collectClasses(); - - if (classes.size() > 1) { - env.messageNL("scanning classes");//NOI18N - } - - // First examine the classes, noting the class characteristics - for (Iterator e = classes.iterator(); e.hasNext();) { - ClassControl cc = (ClassControl)e.next(); - cc.scan1(); - - if (false) { - dumpClass(cc); - } - } - -//@olsen: disabled feature -/* - // Possibly update package names - retargetClasses(); -*/ - - if (env.errorCount() > 0) - return; - - if (classes.size() > 1) { - env.messageNL("augmenting classes");//NOI18N - } - - // Change class inheritance - for (Iterator e = classes.iterator(); e.hasNext();) { - ClassControl cc = (ClassControl)e.next(); - //@olsen: subst: augmentInterfaces -> augment - cc.augment(); - - if (false) { - dumpClass(cc); - } - } - - if (env.errorCount() > 0) - return; - - if (classes.size() > 1) { - env.messageNL("annotating classes");//NOI18N - } - - // Then perform the annotation actions - for (Iterator e = classes.iterator(); e.hasNext();) { - ClassControl cc = (ClassControl)e.next(); - cc.annotate(); - - if (false) { - dumpClass(cc); - } - } - } finally { - if (env.doTimingStatistics()) { - Support.timer.pop(); - } - } - } - - /** - * Build a ArrayList of strings which are the names of the - * persistent classes in this enhancer's run. - */ -//@olsen: disabled feature -/* - private ArrayList computePersistentClasses() { - ArrayList v = new ArrayList(); - Iterator allClasses = env.getClasses(); - while (allClasses.hasNext()) { - ClassControl cc = (ClassControl)allClasses.next(); - if (cc.isExplicitlyNamed() && cc.persistCapable()) - v.add(cc.userClassName()); - } - return v; - } -*/ - - /** - * For each class in the class map which isn't transient-only, - * apply package name translations to update class references - */ -//@olsen: disabled feature -/* - //@olsen: moved: Main.retargetClasses() -> EnhancerControl - private void retargetClasses() { - - if (env.translations().size() == 0) - return; - - locateTranslatedClasses(); - - //@olsen: made classMap local in Environment - //if (env.classMap.size() > 0) { - { - ArrayList translatable = new ArrayList(); - Map classTranslations = new HashMap(); - - // Compute the full set of class translations - for (Iterator e = env.getClasses(); e.hasNext();) { - ClassControl cc = (ClassControl)e.next(); - String pkg = cc.pkg(); - String xlat = (String)env.translations().get(pkg); - if (xlat != null || cc.annotateable()) { - translatable.add(cc); - - if (xlat != null) { - String newName; - if (xlat.length() == 0) - newName = cc.unpackagedName(); - else - newName = xlat + "/" + cc.unpackagedName(); - if (!newName.equals(cc.className())) { - ClassControl existingCC = - (ClassControl)env.getClass(newName); - - if (existingCC != null) { - env.error("The package translations specified would " + - "cause " + cc.userClassName() + - " to be translated to " + - existingCC.userClassName() + - " which already exists."); - } else - classTranslations.put(cc.className(), newName); - } - } - } - } - - if (env.errorCount() > 0) - return; - - if (classTranslations.size() == 0) { - env.warning("No package name translations are being applied"); - } - else { - env.message(); - env.message("doing package name translations"); - - for (Iterator e = translatable.iterator(); e.hasNext();) { - final ClassControl cc = (ClassControl)e.next(); - final String className = cc.className(); - cc.retarget(classTranslations); - - //@olsen: use added method - env.renameClass(className); -// - // Add the modified name to the class map if the class - // name has changed. - String newClassName = cc.className(); - env.classMap.remove(className); - env.renamedMap.put(className, cc); - env.classMap.put(newClassName, cc); -// - } - } - } - } -*/ - - /** - * For each package name translation selected, find all classes in the - * package and add to the class map. - */ -//@olsen: disabled feature -/* - //@olsen: moved: Main.locateTranslatedClasses() -> EnhancerControl - private void locateTranslatedClasses() { - // Compute the full set of class translations - for (Iterator e = env.translations().keySet().iterator(); - e.hasNext();) { - String pkg = (String)e.next(); - - for (Enumeration pe = env.classPathOption().classesInPackage(pkg); - pe.hasMoreElements();) { - String className = (String)pe.nextElement(); - env.findClass(className); - } - } - } -*/ -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/Environment.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/Environment.java deleted file mode 100644 index fc6a6cb31fe..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/Environment.java +++ /dev/null @@ -1,888 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.enhancer.impl; - -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaData; -import com.sun.jdo.api.persistence.enhancer.util.ClassFileSource; -import com.sun.jdo.api.persistence.enhancer.util.ClassPath; -import com.sun.jdo.api.persistence.enhancer.util.Support; - -import java.io.File; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.Iterator; - -//@olsen: added import -//@olsen: added import - - -//@lars added: field for last error message -//@olsen: cosmetics -//@olsen: moved: this class -> package impl -//@olsen: subst: /* ... */ -> // ... -//@olsen: make fields private -//@olsen: subst: FilterEnv -> Environment -//@olsen: subst: collectAllClasses -> collectClasses -//@olsen: subst: Vector -> Collection, ArrayList -//@olsen: subst: Enumeration,... -> Iterator, hasNext(), next() -//@olsen: subst: control -> cc -//@olsen: added: support for I18N -//@olsen: subst: FilterError -> UserException, assert() -//@olsen: removed: proprietary support for HashCode -//@olsen: removed: proprietary support for TypeSummary -//@olsen: removed: proprietary support for ClassInfo -//@olsen: removed: proprietary support for IndexableField -//@olsen: removed: support for IgnoreTransientField, AddedTransientField -//@olsen: removed: support for [No]AnnotateField -//@olsen: removed: old, disabled ODI code - -//^olsen: move: ClassControl+ClassPath handling - - -/** - * Environment serves as a central collection for the options and - * working environment of the filter tool. - */ -public final class Environment - extends Support { - - /* Writer for regular program output and warnings. */ - //@olsen: added field - private PrintWriter out = new PrintWriter(System.out, true); - - /* Writer for error output. */ - //@olsen: added field - private PrintWriter err = new PrintWriter(System.err, true); - - /* If true, provide timing statistics */ - //@olsen: added support for timing statistics - private boolean timingOption = false; - - /* If true, provide verbose output */ - private boolean verboseOption = false; - - /* If true, squash warnings */ - private boolean quietOption = false; - - /* The level of debugging detail to provide - not currently used */ -//@olsen: disabled feature -/* - private int dumpLevel = 0; -*/ - - /* If true, perform only a dry run - no output is written to disk */ - private boolean noWriteOption = false; - - /* If true, allow java classes to be modified for persistence */ -//@olsen: disabled feature -/* - private boolean modifyJavaClassesOption = false; -*/ - - /* If true, allow final fields to be updated by initializeContents */ -//@olsen: disabled feature -/* - private boolean allowFinalFieldModifications = false; -*/ - - /* If true, disable hoisting of dirty(this), fetch(this) to the start - of a method */ - private boolean disableThisHookHoisting; - - /* If true, disable suppression of constructor annotation */ - private boolean disableInitializerAnnotationSuppression; - - /* If true, disable in-loop array caching */ -//@olsen: disabled feature -/* - private boolean disableArrayHookCaching; -*/ - - /* If true, disable element type-specific array fetching */ - /* This knob is temporary */ -//@olsen: disabled feature -/* - private boolean disableArrayElementFetch = false; -*/ - - /* If true, forces overwriting all output files. */ - private boolean forceOverwriteOption = false; - - /* If true, perform class file updates in-place rather than to the - destination directory. */ - private boolean updateInPlaceOption = false; - - /* The number of errors encountered thus far */ - private int errorsEncountered = 0; - - /* The out directory specified */ - private File destinationDirectory = null; - - /* Hash VM class name to ClassControl */ - private Hashtable classMap = new Hashtable(11); - - /* Set of classes that were looked up but not found. */ - //@olsen: subst: Hashtable -> HashMap - private HashMap missingClasses = new HashMap(11); - - /* Hash VM class name to ClassControl - * Entries in this table have been renamed and the class control - * reflects the updated name */ -//@olsen: inlined method -/* - private Hashtable renamedMap = new Hashtable(203); -*/ - - /* explicit package name translations - * Maps string to string */ -//@olsen: disabled feature -/* - private Hashtable translations = new Hashtable(11); -*/ - - /* Search path to be used for locating classes */ - //@olsen: added default initialization - private ClassPath classPathOption = new ClassPath("");//NOI18N - - /* Search path to be used for locating annotated classes in output dir */ - private ClassPath destClassPath; - - /* A set of fully qualified field names (maps name to itself) */ - private Hashtable fieldSuppressions = new Hashtable(); - - /* A set of fully qualified class names (maps name to itself) */ - private Hashtable classSuppressions = new Hashtable(); - - /* The instance providing the JDO meta data. */ - //@olsen: added field - private JDOMetaData jdoMetaData; - - /* Last error message */ - private String lastErrorMessage = null; - - // public accessors - - public void setDoTimingStatistics(boolean dontOpt) { - timingOption = dontOpt; - } - - public boolean doTimingStatistics() { - return timingOption; - } - - //@olsen: subst: param err -> error - public void error(String error) { - errorsEncountered++; - //@olsen: support for I18N - //@olsen: redirected output - //System.out.print("Error: "); - //System.out.println(err); - err.println(lastErrorMessage = getI18N("enhancer.enumerated_error", - errorsEncountered, - error)); - } - - public void warning(String warn) { - if (!quietOption) { - //@olsen: support for I18N - //@olsen: redirected output - //System.out.print("Warning: "); - //System.out.println(warn); - out.println(getI18N("enhancer.warning", warn));//NOI18N - } - } - - public void warning(String warn, String classname) { - if (!quietOption && - !classWarningsSuppressed(classname)) { - //@olsen: support for I18N - //@olsen: redirected output - //System.out.print("Warning: "); - //System.out.println(warn); - out.println(getI18N("enhancer.warning", warn));//NOI18N - } - } - - public void warning(String warn, String classname, String fieldname) { - if (!quietOption && - !classWarningsSuppressed(classname) && - !fieldWarningsSuppressed(classname, fieldname)) { - //@olsen: support for I18N - //@olsen: redirected output - //System.out.print("Warning: "); - //System.out.println(warn); - out.print(getI18N("enhancer.warning", warn));//NOI18N - } - } - - public void message(String mess) { - if (verboseOption) { - //@olsen: redirected output - //System.out.println(mess); - out.println("JDO ENHANCER: " + mess);//NOI18N - } - } - - public void messageNL(String mess) { - if (verboseOption) { - //@olsen: redirected output - //System.out.println(mess); - out.println(); - out.println("JDO ENHANCER: " + mess);//NOI18N - } - } - - public int errorCount() { - return errorsEncountered; - } - - public final String getLastErrorMessage () { - return this.lastErrorMessage; - } - -//@olsen: disabled feature -/* - public boolean verbose() { - return verboseOption; - } - - public boolean quiet() { - return quietOption; - } -*/ - - public boolean forceOverwrite() { - return forceOverwriteOption; - } - - public boolean updateInPlace() { - return updateInPlaceOption; - } - - //@olsen: added method - public File destinationDirectory() { - return destinationDirectory; - } - -//@olsen: disabled feature -/* - //@olsen: added method - public Hashtable translations() { - return translations; - } -*/ - - //@olsen: added method -//@olsen: disabled feature -/* - public ClassPath classPathOption() { - return classPathOption; - } -*/ - - /** - * Expected dump levels are 0, 1, 2, 3 - * dump level 0 is always on. - */ -//@olsen: disabled feature -/* - public boolean dump(int level) { - return dumpLevel >= level; - } -*/ - - public boolean writeClasses() { - return (noWriteOption == false && errorsEncountered == 0); - } - -//@olsen: disabled feature -/* - public boolean doArrayOptimization() { - return disableArrayHookCaching == false; - } -*/ - - public boolean doThisOptimization() { - return disableThisHookHoisting == false; - } - -//@olsen: disabled feature -/* - public boolean doArrayElementFetch() { - return disableArrayElementFetch == false; - } -*/ - - public boolean doInitializerOptimization() { - return disableInitializerAnnotationSuppression == false; - } - -//@olsen: disabled feature -/* - public boolean modifyJavaClasses() { - return modifyJavaClassesOption; - } -*/ - -//@olsen: disabled feature -/* - public boolean allowFinalModifications() { - return allowFinalFieldModifications; - } -*/ - - /** - * Is the class a well known persistent capable class? These are - * normally the java primitives. - */ - //@olsen: subst: isKnownPersistent -> JDOMetaData.isSecondClassObjectType -/* - public boolean isKnownPersistent(String className) { - if (className.equals("java/lang/String") || - className.equals("java/lang/Integer") || - className.equals("java/lang/Number") || - className.equals("java/lang/Short") || - className.equals("java/lang/Byte") || - className.equals("java/lang/Long") || - className.equals("java/lang/Float") || - className.equals("java/lang/Double") || - className.equals("java/lang/Character") || - className.equals("java/lang/Boolean")) - return true; - return false; - } -*/ - - /* The instance providing the JDO meta data. */ - //@olsen: added method - public JDOMetaData getJDOMetaData() - { - return jdoMetaData; - } - - /* Set the instance providing the JDO meta data. */ - //@olsen: added method - public void setJDOMetaData(JDOMetaData jdoMetaData) - { - this.jdoMetaData = jdoMetaData; - } - - /** - * Add a newly created transient class to the list of classes. - * Its source should be "near" friend. That is, if the friend - * is in a zip file, place this in the same zip file. Else if it - * is in an individual class file, place this in a class file in - * the same directory. - */ -//@olsen: disabled feature -/* - public ClassControl addClass(ClassFile newClass, ClassFileSource friend) { - String className = newClass.className().asString(); - ClassFileSource source = friend.friendSource(className); - ClassControl cc = new ClassControl(source, newClass, this); - cc.noteUpdate(); - cc.setPersistType(ClassControl.PersistUnknown); - classMap.put(className, cc); - return cc; - } -*/ - - /** - * Add a newly created transient class to the list of classes. - * Its source is undefined. - */ -//@olsen: disabled feature -/* - public ClassControl addClass(ClassFile newClass) { - String className = newClass.className().asString(); - ClassFileSource source = new ClassFileSource(className, (File)null); - ClassControl cc = new ClassControl(source, newClass, this); - cc.noteUpdate(); - cc.setPersistType(ClassControl.PersistUnknown); - classMap.put(className, cc); - return cc; - } -*/ - - /** - * Add the class to the class mapping table. Check that it does - * not conflict with earlier settings. - */ - //@olsen: moved: OSCFP.addClass(ClassControl) -> impl.Environment - public void addClass(ClassControl cc) { - String className = cc.className(); - ClassControl existCC = getClass(className); - - if (existCC != null) { - - if (!existCC.source().sameAs(cc.source())) { - //@olsen: support for I18N - error(getI18N("enhancer.class_already_entered",//NOI18N - cc.userClassName(), - cc.sourceName(), - existCC.sourceName())); - return; - } - - // the two files are from the same source - select the higher - // level of persistence capability and discard the other - if (cc.persistType() == ClassControl.PersistUnknown || - existCC.persistType() == ClassControl.PersistCapable || - (existCC.persistType() == ClassControl.PersistAware && - cc.persistType() != ClassControl.PersistCapable)) - return; - - } - - if (existCC == null && cc.sourceName() != null) - message("adding class " + cc.userClassName() +//NOI18N - " from " + cc.sourceName());//NOI18N - - classMap.put(className, cc); - } - - /** - * Add the modified name to the class map if the class name has changed. - */ - //@olsen: added method -//@olsen: disabled feature -/* - public void renameClass(String oldClassName) { - ClassControl cc = (ClassControl)classMap.remove(oldClassName); - String newClassName = cc.className(); - renamedMap.put(oldClassName, cc); - classMap.put(newClassName, cc); - } -*/ - - /** - * Look for the specified class in the class map. If not there, - * use the class path to find the class. If still not found, - * return false. - */ - public boolean canFindClass(String className) { - return findClass(className) != null; - } - - /** - * Look for the specified class in the class map. No other class - * lookup is performed. Use this only if you are certain that the - * class will have been found. - */ - public ClassControl getClass(String className) { - return (ClassControl)classMap.get(className); - } - - //@olsen: added method - public Iterator getClasses() { - return classMap.values().iterator(); - } - - /** - * Look for the specified class in the class map. If not there, - * use the class path to find the class. If still not found, - * return false. - */ - public ClassControl findClass(String className) { - ClassControl cc = (ClassControl) classMap.get(className); - - if ((cc == null) && (missingClasses.get(className) == null)) { - - // Not already known - try looking up in class path - cc = lookupClass(className); - if (cc != null) { - message("Reading class " + cc.userClassName() +//NOI18N - " from " + cc.sourceName());//NOI18N - classMap.put(className, cc); - } else { - missingClasses.put(className, className); - } - } - - return cc; - } - - /** - * Look up the specified class in the class search path. Callers - * should normally consult the classmap prior to calling this function. - * The class is not entered into the classmap - */ - public ClassControl lookupClass(String className) { - ClassFileSource source = classPathOption.findClass(className); - - while (true) { - if (source == null) - return null; - - //@olsen: cosmetics - try { - ClassControl cc = new ClassControl(source, this); - if (cc.className() != null && - cc.className().equals(className)) - return cc; - } catch (ClassFormatError e) { - } - - // Try to find an alternate source for the class - source = source.nextSource(className); - } - } - - - /** - * Look for the specified class in the renamed class map. - * No classpath searching is done. - */ -//@olsen: disabled feature -/* - public ClassControl getRenamedClass(String className) { - return (ClassControl) renamedMap.get(className); - } -*/ - - /** - * Return a ArrayList of ClassControl objects which have the specified - * persistence type - */ - public ArrayList collectClasses(int persistType) { - ArrayList v = new ArrayList(); - for (Iterator e = classMap.values().iterator(); e.hasNext();) { - ClassControl cc = (ClassControl)e.next(); - if (cc.persistType() == persistType) - v.add(cc); - } - return v; - } - - /** - * Return an ArrayList of the ClassControls in classMap. - * This is useful in that it provides a stable base for enumeration. - */ - public ArrayList collectClasses() { - ArrayList v = new ArrayList(); - for (Iterator e = classMap.values().iterator(); e.hasNext(); ) - v.add(e.next()); - return v; - } - - - /** - * Look for a class source using the destination directory as a - * root directory for the lookup which represents the annotated output - * for the class specified. Return null if not found. - */ - public ClassFileSource lookupDestClass(String className) { - if (destClassPath == null && destinationDirectory != null) - destClassPath = new ClassPath(destinationDirectory.getPath()); - return (destClassPath == null - ? null : destClassPath.findClass(className)); - } - - // package local methods - - - /** - * The constructor - */ - public Environment() { - } - -//@olsen: disabled feature -/* - public void setClassPath(String path) { - message("setting class path to " + path); - classPathOption = new ClassPath(path); - } -*/ - - public void setDestinationDirectory(String dir) { - final File dest = new File(dir); - if (destinationDirectory != null) { - //@olsen: support for I18N - error(getI18N("destination_directory_already_set",//NOI18N - dir, - destinationDirectory.getPath())); - return; - } - if (!dest.isDirectory()) { - error(getI18N("enhancer.destination_directory_not_exist",//NOI18N - dir)); - return; - } - destinationDirectory = dest; - } - - /** - * Update the class path to remove the destination directory if it - * is found in the class path. - */ - public void excludeDestinationDirectory() { - if (destinationDirectory != null) - classPathOption.remove(destinationDirectory); - } - - /** - * Update the class path to move the destination directory to the - * end of the class path if it is found in the class path. - */ - public void moveDestinationDirectoryToEnd() { - if (destinationDirectory != null && - classPathOption.remove(destinationDirectory)) - classPathOption.append(destinationDirectory); - } - - //@olsen: added method - public void setOutputWriter(PrintWriter out) { - this.out = out; - } - - //@olsen: added method - public PrintWriter getOutputWriter() { - return out; - } - - //@olsen: added method - public void setErrorWriter(PrintWriter err) { - this.err = err; - } - - //@olsen: added method - public PrintWriter getErrorWriter() { - return err; - } - - public void setVerbose(boolean beVerbose) { - verboseOption = beVerbose; - } - - public boolean isVerbose() { - return this.verboseOption; - } - - public void setQuiet(boolean beQuiet) { - quietOption = beQuiet; - } - -//@olsen: disabled feature -/* - public void setModifyJavaClasses(boolean allowMods) { - modifyJavaClassesOption = allowMods; - } -*/ - -//@olsen: disabled feature -/* - public void setAllowFinalModifications(boolean allowMods) { - allowFinalFieldModifications = allowMods; - } -*/ - - public void setNoWrite(boolean dontWrite) { - noWriteOption = dontWrite; - } - - // optimization control - -//@olsen: disabled feature -/* - public void setNoArrayOptimization(boolean dontOpt) { - disableArrayHookCaching = dontOpt; - disableArrayElementFetch = dontOpt; - } -*/ - - public void setNoThisOptimization(boolean dontOpt) { - disableThisHookHoisting = dontOpt; - } - - public void setNoInitializerOptimization(boolean dontOpt) { - disableInitializerAnnotationSuppression = dontOpt; - } - - public void setNoOptimization(boolean dontOpt) { -//@olsen: disabled feature -/* - disableArrayHookCaching = dontOpt; -*/ - disableThisHookHoisting = dontOpt; - disableInitializerAnnotationSuppression = dontOpt; -//@olsen: disabled feature -/* - disableArrayElementFetch = dontOpt; -*/ - } - - public void setForceOverwrite(boolean forceOverwrite) { - forceOverwriteOption = forceOverwrite; - } - -//@olsen: disabled feature -/* - public void setUpdateInPlace(boolean inPlace) { - updateInPlaceOption = inPlace; - } -*/ - -//@olsen: disabled feature -/* - public void setPackageTranslation(String origPackage, String newPackage) { - // make special allowances for unpackaged classes - if (origPackage.equals(".")) - origPackage = ""; - if (newPackage.equals(".")) - newPackage = ""; - - String validOrigPackage = validVMPackage(origPackage); - String validNewPackage = validVMPackage(newPackage); - - if (validOrigPackage == null) - error("The name \"" + origPackage + "\" is not a valid package name."); - else if (validNewPackage == null) - error("The name \"" + newPackage + "\" is not a valid package name."); - - translations.put(validOrigPackage, validNewPackage); - } -*/ - - /** - * Add a suppression entry for a class - */ - public void suppressClassWarnings(String className) { - classSuppressions.put(className, className); - } - - /** - * Add a suppression entry for a field of a class - */ - public void suppressFieldWarnings(String fullFieldName) { - fieldSuppressions.put(fullFieldName, fullFieldName); - } - - /** - * Convert a user package name to a VM package name. - * If the package name isn't valid, return null instead. - */ - static String validVMPackage(String pkg) { - StringBuilder buf = new StringBuilder(); - - int i=0; - while (i package impl -//@olsen: subst: [iI]Persistent -> [pP]ersistenceCapable -//@olsen: subst: jdo/ -> com/sun/forte4j/persistence/internal/ -//@olsen: subst: /* ... */ -> // ... -//@olsen: subst: isKnownPersistent -> JDOMetaData.isSecondClassObjectType -//@olsen: subst: FilterEnv -> Environment -//@olsen: dropped parameter 'Environment env', use association instead -//@olsen: subst: Hashtable -> Map, HashMap -//@olsen: subst: absolut jdo types and names -> constants from JDOMetaData -//@olsen: subst: theClass, classAction -> ca -//@olsen: added: support for I18N -//@olsen: subst: FilterError -> UserException, affirm() -//@olsen: removed: proprietary support for FieldNote -//@olsen: removed: proprietary support for IndexableField -//@olsen: removed: support for IgnoreTransientField, AddedTransientField -//@olsen: removed: old, disabled ODI code - -//^olsen: clean-up fieldTypeInfo -//^olsen: remove proprietary support for ClassInfo - -/** - * FieldAction contains the annotation related information specific - * to a single field of a class. - */ -final class FieldAction - extends Support - implements VMConstants { - - /* The field which we contain information about */ - //@olsen: made final - private ClassField theField; - - /* The parent ClassAction of this FieldAction */ - //@olsen: made final - private ClassAction ca; - - /* Central repository for the options and classes */ - //@olsen: added association - //@olsen: made final - private final Environment env; - - /* true if this persistent field is primary key. */ - //@olsen: added field - private boolean fieldIsPrimaryKey; - - /* true if this persistent field's value is a second class object. */ - //@olsen: added field - private boolean fieldIsMutableSCO; - - /* true if this is a non-static, non-final, non-transient field - * and the declared type appears to be perisistence-capable. - * This is not valid until the check method runs */ - private boolean fieldIsPersistent; - - /* zero for a non-array - otherwise, the number of array dimensions in - * the type of the field. */ - private int nFieldArrayDims; - - /* Name of class or interface type, or base type of array */ - private String fieldClassName; - - /* Information about the type of the field. Used to determine how - * to initialize, flush, clear, etc. */ - private FieldTypeInfo fieldTypeInfo; - - /* The persistent field index for this method */ -//@olsen: disabled feature -/* - private int fieldIndex = -1; -*/ - - /** - * Constructor. - */ - //@olsen: added parameter 'env' for association - FieldAction(ClassAction ca, - ClassField field, - Environment env) { - this.ca = ca; - this.theField = field; - this.env = env; - } - - // package accessors - - /** - * Get the VM type descriptor field string for the field type - */ - String typeDescriptor() { - return theField.signature().asString(); - } - - /** - * Get the VM type name field string for the field type - * This is the same as the type descriptor except when it is - * a non-array class - in this case, the leading 'L' and trailing - * ';' need to be removed. - */ - String typeName() { - String typeDesc = typeDescriptor(); - if (typeDesc.charAt(0) == 'L') - return typeDesc.substring(1, typeDesc.length() - 1); - return typeDesc; - } - - /** - * Get the field index for this field. - * The index must have previously been set. - */ -//@olsen: disabled feature -/* - int index() { - if (fieldIndex < 0) - throw new InternalError("The field index has not yet been set"); - return fieldIndex; - } -*/ - - /** - * Set the field index for this field. - */ -//@olsen: disabled feature -/* - void setIndex(int idx) { - fieldIndex = idx; - } -*/ - - /** - * Is this persistent field primary key? - */ - //@olsen: added method - boolean isPrimaryKey() { - return fieldIsPrimaryKey; - } - - /** - * Is this persistent field's value is a second class object? - */ - //@olsen: added method - boolean isMutableSCO() { - return fieldIsMutableSCO; - } - - /** - * Is this field one which is stored persistently? This can only - * be true for non-static, non-final fields. - */ - boolean isPersistent() { - return fieldIsPersistent; - } - - /** - * Return the name of the field - */ - String fieldName() { - return theField.name().asString(); - } - - /** - * Is the field a synthetic field? - * This is a java 1.1'ism for nested classes - */ - boolean isSynthetic() { - return theField.attributes().findAttribute("Synthetic") != null;//NOI18N - } - - /** - * Return the name of the static method on class Field which - * will create a Field of the appropriate type. - */ - String createMethod() { - return fieldTypeInfo.fieldCreateMethod; - } - - /** - * Return the type signature of the static method on class Field which - * will create a Field of the appropriate type. - */ - String createMethodSig() { - return fieldTypeInfo.fieldCreateMethodSig; - } - - /** - * Return the name of the static method on class GenericObject which - * will set the field value. - */ - String setMethod() { - return fieldTypeInfo.fieldSetMethod; - } - - /** - * Return the type signature of the static method on class GenericObject - * which will set the field value. - */ - String setMethodSig() { - return fieldTypeInfo.fieldSetMethodSig; - } - - /** - * Return the type of arg expected by the set method. - */ - int setMethodArg() { - return fieldTypeInfo.fieldSetArgType; - } - - /** - * Return the name of the static method on class GenericObject which - * will get the field value. - */ - String getMethod() { - return fieldTypeInfo.fieldGetMethod; - } - - /** - * Return the type signature of the static method on class GenericObject - * which will get the field value. - */ - String getMethodSig() { - return fieldTypeInfo.fieldGetMethodSig; - } - - /** - * Return the return type of the get method. - */ - int getMethodReturn() { - return fieldTypeInfo.fieldGetReturnType; - } - - /** - * For references fields, return the base type class name if a class - * or interface, else null. - */ - String fieldClassName() { - return fieldClassName; - } - - /** - * For array fields, return the number of dimensions in the array type - * else 0. - */ - int nDims () { - return nFieldArrayDims; - } - - /** - * Examine the field to decide what actions are required - */ - void check() { - //@olsen: improved control flow - //@olsen: dropped code computing persistence information; - // used JDO meta data instead - - String sig = theField.signature().asString(); - fieldTypeInfo = FieldTypeInfo.determineFieldType(sig, env); - - final String className = ca.className(); - final String userClass = ca.userClassName(); - final String fieldName = theField.name().asString(); - final String fullFieldName = userFieldName(); - - //@olsen: added shortcut - final JDOMetaData jdoMetaData = env.getJDOMetaData(); - - //@olsen: use JDO meta data to decide whether a field is persistent - //@olsen: subst: fieldShouldBeTransient -> !fieldShouldBePersistent - final boolean fieldShouldBePersistent - = jdoMetaData.isPersistentField(className, fieldName); - //@olsen: added println() for debugging - if (false) { - System.out.println("FieldAction.check(): field "//NOI18N - + className + "/" + fieldName//NOI18N - + " should be persistent = "//NOI18N - + fieldShouldBePersistent); - } - - //@olsen: initialized property from JDO meta data - fieldIsPrimaryKey - = jdoMetaData.isPrimaryKeyField(className, fieldName); - //@olsen: added println() for debugging - if (false) { - System.out.println("FieldAction.check(): field "//NOI18N - + className + "/" + fieldName//NOI18N - + " is primary key = "//NOI18N - + fieldIsPrimaryKey); - } - - //@olsen: initialized property from JDO meta data - fieldIsMutableSCO - = jdoMetaData.isMutableSecondClassObjectType(typeName()); - //@olsen: added println() for debugging - if (false) { - System.out.println("FieldAction.check(): field "//NOI18N - + className + "/" + fieldName//NOI18N - + " is mutable SCO = "//NOI18N - + fieldIsMutableSCO); - } - - nFieldArrayDims = 0; - while (sig.charAt(nFieldArrayDims) == '[') - nFieldArrayDims++; - - // If the base type is a class type, compute the class name - if (sig.charAt(nFieldArrayDims) == 'L') - fieldClassName = sig.substring(nFieldArrayDims+1, sig.length()-1); - - // check for transient field - if (!fieldShouldBePersistent) { - // done with transient field - return; - } - - //@olsen: dropped code ... - - // check for static field - affirm(!theField.isStatic(), - ("The field " + fullFieldName//NOI18N - + " is a static field which cannot be made persistent."));//NOI18N - - // check for final field - affirm(!theField.isFinal(), - ("The field " + fullFieldName +//NOI18N - " is a final field which cannot be made persistent."));//NOI18N - - // check for target type - affirm((fieldClassName == null - || jdoMetaData.isSecondClassObjectType(fieldClassName) - || jdoMetaData.isPersistenceCapableClass(fieldClassName)), - ("The field " + fullFieldName//NOI18N - + " cannot be made persistent because of a non-primitive, "//NOI18N - + " non-sco, or non-pc target type " + fieldClassName));//NOI18N - - fieldIsPersistent = true; - } - - /** - * Retarget class references according to the class name mapping - * table. - */ -//@olsen: disabled feature -/* - void retarget(Map classTranslations) { - if (fieldClassName != null) { - String mapTo = (String)classTranslations.get(fieldClassName); - if (mapTo != null) - fieldClassName = mapTo; - } - } -*/ - - /** - * Return a user consumable field name - */ - String userFieldName() { - return ca.userClassName() + "." + theField.name().asString();//NOI18N - } - - /** - * Return a user consumable signature - */ - private String userSig(String vmSig) { - // Stub: just return vm sig for now - return Descriptor.userFieldSig(vmSig); - } -} - - -class FieldTypeInfo - extends Support - implements VMConstants { - - /* Name and type signature of the Field.create method */ - String fieldCreateMethod; - String fieldCreateMethodSig; - - /* Name and type signature of the GenericObject.get method */ - String fieldGetMethod; - String fieldGetMethodSig; - int fieldGetReturnType; - - /* Name and type signature of the GenericObject.set method */ - String fieldSetMethod; - String fieldSetMethodSig; - int fieldSetArgType; - - // constructor - - private FieldTypeInfo(String createName, String createSig, - String setName, String setSig, int argType, - String getName, String getSig, int returnType) { - fieldCreateMethod = createName; - fieldCreateMethodSig = createSig; - fieldGetMethod = getName; - fieldGetMethodSig = getSig; - fieldGetReturnType = returnType; - fieldSetMethod = setName; - fieldSetMethodSig = setSig; - fieldSetArgType = argType; - } - - static private FieldTypeInfo byteInfo = - new FieldTypeInfo("createByte", "(Ljava/lang/String;)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setByteField", "(IBLcom/sun/forte4j/persistence/internal/ClassInfo;)V", T_BYTE,//NOI18N - "getByteField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)B", T_BYTE);//NOI18N - - static private FieldTypeInfo charInfo = - new FieldTypeInfo("createChar", "(Ljava/lang/String;)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setCharField", "(ICLcom/sun/forte4j/persistence/internal/ClassInfo;)V", T_CHAR,//NOI18N - "getCharField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)C", T_CHAR);//NOI18N - - static private FieldTypeInfo shortInfo = - new FieldTypeInfo("createShort", "(Ljava/lang/String;)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setShortField", "(ISLcom/sun/forte4j/persistence/internal/ClassInfo;)V", T_SHORT,//NOI18N - "getShortField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)S", T_SHORT);//NOI18N - - static private FieldTypeInfo intInfo = - new FieldTypeInfo("createInt", "(Ljava/lang/String;)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setIntField", "(IILcom/sun/forte4j/persistence/internal/ClassInfo;)V", T_INT,//NOI18N - "getIntField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)I", T_INT);//NOI18N - - static private FieldTypeInfo longInfo = - new FieldTypeInfo("createLong", "(Ljava/lang/String;)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setLongField", "(IJLcom/sun/forte4j/persistence/internal/ClassInfo;)V", T_LONG,//NOI18N - "getLongField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)J", T_LONG);//NOI18N - - static private FieldTypeInfo floatInfo = - new FieldTypeInfo("createFloat", "(Ljava/lang/String;)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setFloatField", "(IFLcom/sun/forte4j/persistence/internal/ClassInfo;)V", T_FLOAT,//NOI18N - "getFloatField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)F", T_FLOAT);//NOI18N - - static private FieldTypeInfo doubleInfo = - new FieldTypeInfo("createDouble", "(Ljava/lang/String;)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setDoubleField", "(IDLcom/sun/forte4j/persistence/internal/ClassInfo;)V", T_DOUBLE,//NOI18N - "getDoubleField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)D", T_DOUBLE);//NOI18N - - static private FieldTypeInfo booleanInfo = - new FieldTypeInfo("createBoolean", "(Ljava/lang/String;)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setBooleanField", "(IZLcom/sun/forte4j/persistence/internal/ClassInfo;)V", T_BOOLEAN,//NOI18N - "getBooleanField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Z", T_BOOLEAN); - - static private FieldTypeInfo classInfo = - new FieldTypeInfo("createClass", "(Ljava/lang/String;Ljava/lang/String;)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setClassField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getClassField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - -//@olsen: disabled feature -/* - //@olsen: don't distinguish between class and interface types - static private FieldTypeInfo interfaceInfo = - new FieldTypeInfo("createInterface", "(Ljava/lang/String;Ljava/lang/String;)Lcom/sun/forte4j/persistence/internal/Field;", - "setInterfaceField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT, - "getInterfaceField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT); -*/ - - static private FieldTypeInfo stringInfo = - new FieldTypeInfo("createString", "(Ljava/lang/String;)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setStringField", "(ILjava/lang/String;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_STRING,//NOI18N - "getStringField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/String;", TC_STRING);//NOI18N - - static private FieldTypeInfo byteArrayInfo = - new FieldTypeInfo("createByteArray", "(Ljava/lang/String;I)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setArrayField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getArrayField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - - static private FieldTypeInfo charArrayInfo = - new FieldTypeInfo("createCharArray", "(Ljava/lang/String;I)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setArrayField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getArrayField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - - static private FieldTypeInfo shortArrayInfo = - new FieldTypeInfo("createShortArray", "(Ljava/lang/String;I)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setArrayField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getArrayField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - - static private FieldTypeInfo intArrayInfo = - new FieldTypeInfo("createIntArray", "(Ljava/lang/String;I)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setArrayField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getArrayField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - - static private FieldTypeInfo longArrayInfo = - new FieldTypeInfo("createLongArray", "(Ljava/lang/String;I)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setArrayField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getArrayField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - - static private FieldTypeInfo floatArrayInfo = - new FieldTypeInfo("createFloatArray", "(Ljava/lang/String;I)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setArrayField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getArrayField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - - static private FieldTypeInfo doubleArrayInfo = - new FieldTypeInfo("createDoubleArray", "(Ljava/lang/String;I)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setArrayField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getArrayField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - - static private FieldTypeInfo booleanArrayInfo = - new FieldTypeInfo("createBooleanArray", "(Ljava/lang/String;I)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setArrayField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getArrayField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - - static private FieldTypeInfo classArrayInfo = - new FieldTypeInfo("createClassArray", "(Ljava/lang/String;Ljava/lang/String;I)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setArrayField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getArrayField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - - static private FieldTypeInfo interfaceArrayInfo = - new FieldTypeInfo("createInterfaceArray", "(Ljava/lang/String;Ljava/lang/String;I)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setArrayField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getArrayField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - - static private FieldTypeInfo stringArrayInfo = - new FieldTypeInfo("createStringArray", "(Ljava/lang/String;I)Lcom/sun/forte4j/persistence/internal/Field;",//NOI18N - "setArrayField", "(ILjava/lang/Object;Lcom/sun/forte4j/persistence/internal/ClassInfo;)V", TC_OBJECT,//NOI18N - "getArrayField", "(ILcom/sun/forte4j/persistence/internal/ClassInfo;)Ljava/lang/Object;", TC_OBJECT);//NOI18N - - - static FieldTypeInfo determineFieldType(String sig, - Environment env) { - switch (sig.charAt(0)) { - case 'B': // byte - return byteInfo; - case 'C': // char - return charInfo; - case 'D': // double - return doubleInfo; - case 'F': // float - return floatInfo; - case 'I': // int - return intInfo; - case 'J': // long - return longInfo; - case 'S': // short - return shortInfo; - case 'Z': // boolean - return booleanInfo; - case 'L': // class or interface - if (sig.equals("Ljava/lang/String;"))//NOI18N - return stringInfo; - { -//@olsen: disabled feature -//@olsen: don't distinguish between class and interface types -//@olsen: don't read-in classes here! -/* - ClassControl cc - = env.findClass(sig.substring(1, sig.length()-1)); - // Don't sweat it if we don't find the class - it's the - // responsibility of the caller to check that - if (cc != null && cc.classFile().isInterface()) - return interfaceInfo; -*/ - return classInfo; - } - case '[': // array - int baseTypeIndex = findArrayBaseType(sig); - switch (sig.charAt(baseTypeIndex)) { - case 'B': // byte - return byteArrayInfo; - case 'C': // char - return charArrayInfo; - case 'D': // double - return doubleArrayInfo; - case 'F': // float - return floatArrayInfo; - case 'I': // int - return intArrayInfo; - case 'J': // long - return longArrayInfo; - case 'S': // short - return shortArrayInfo; - case 'Z': // boolean - return booleanArrayInfo; - case 'L': // class or interface - if (sig.substring(baseTypeIndex).equals("Ljava/lang/String;"))//NOI18N - return stringArrayInfo; - { -//@olsen: disabled feature -//@olsen: don't distinguish between class and interface types -//@olsen: don't read-in classes here! -/* - ClassControl cc - = env.findClass(sig.substring(baseTypeIndex+1, - sig.length()-1)); - // Don't sweat it if we don't find the class - it's the - // responsibility of the caller to check that - if (cc != null && cc.classFile().isInterface()) - return interfaceArrayInfo; -*/ - return classArrayInfo; - } - default: - throw new InternalError("Missing case");//NOI18N - } - - default: - throw new InternalError("Missing case");//NOI18N - } - } - - private static int findArrayBaseType(String sig) { - int idx = 0; - while (sig.charAt(idx) == '[') - idx++; - return idx; - } -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodAction.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodAction.java deleted file mode 100644 index cbe38cdce21..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodAction.java +++ /dev/null @@ -1,199 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.impl; - -import java.util.Map; -//@olsen: disabled feature -/* -import java.util.Set; -import java.util.HashSet; -import java.util.Enumeration; -*/ - -import com.sun.jdo.api.persistence.enhancer.classfile.*; - -import com.sun.jdo.api.persistence.enhancer.util.Support; - -//@olsen: cosmetics -//@olsen: moved: this class -> package impl -//@olsen: subst: /* ... */ -> // ... -//@olsen: subst: FilterEnv -> Environment -//@olsen: dropped parameter 'Environment env', use association instead -//@olsen: subst: Hashtable -> Map, Set, HashSet -//@olsen: subst: theClass, classAction -> ca -//@olsen: added: support for I18N -//@olsen: subst: FilterError -> UserException, assert() -//@olsen: removed: old, disabled ODI code - - -/** - * MethodAction controls the annotation actions applied to a single - * method of a class. - */ -class MethodAction - //@olsen: not needed - //implements AnnotationConstants - extends Support { - - /* hash table for lookup of known ok Generic attributes */ -//@olsen: disabled feature -/* - private static Set safeGenericAttributes; - - private static void addSafeAttribute(String attrName) { - safeGenericAttributes.add(attrName); - } - - static { - safeGenericAttributes = new HashSet(); - - // Microsoft COM attributes - addSafeAttribute("COM_Class_type"); - addSafeAttribute("COM_DispMethod"); - addSafeAttribute("COM_ExposedAs"); - addSafeAttribute("COM_ExposedAs_Group"); - addSafeAttribute("COM_FuncDesc"); - addSafeAttribute("COM_Guid"); - addSafeAttribute("COM_GuidPool"); - addSafeAttribute("COM_MapsTo"); - addSafeAttribute("COM_MethodPool"); - addSafeAttribute("COM_ProxiesTo"); - addSafeAttribute("COM_Safety"); - addSafeAttribute("COM_TypeDesc"); - addSafeAttribute("COM_VarTypeDesc"); - addSafeAttribute("COM_VtblMethod"); - } -*/ - - /* The parent ClassAction of this MethodAction */ - //@olsen: made final - private final ClassAction ca; - - /* The method to which the actions apply */ - //@olsen: made final - private final ClassMethod theMethod; - - /* The code annotater for the method */ - //@olsen: made final - private final MethodAnnotater annotater; - - /* Central repository for the options and classes */ - //@olsen: added association - //@olsen: made final - private final Environment env; - - /** - * Returns true if any code annotations need to be performed on - * this method. - */ - boolean needsAnnotation() { - return annotater.needsAnnotation(); - } - - /** - * Returns the method for which this MethodAction applies - */ - ClassMethod method() { - return theMethod; - } - - /** - * Constructor - */ - //@olsen: added parameter 'env' for association - MethodAction(ClassAction ca, - ClassMethod method, - Environment env) { - this.ca = ca; - theMethod = method; - this.env = env; - annotater = new MethodAnnotater(ca, method, env); - } - - /** - * Examine the method to determine what actions are required - */ - void check() { - annotater.checkMethod(); -//@olsen: disabled feature -/* - if (env.verbose()) { - CodeAttribute codeAttr = theMethod.codeAttribute(); - if (codeAttr != null) { - Enumeration e = codeAttr.attributes().elements(); - while (e.hasMoreElements()) { - ClassAttribute attr = (ClassAttribute) e.nextElement(); - if ((attr instanceof GenericAttribute) && - safeGenericAttributes.contains(attr.attrName().asString())) { - String userClass = ca.classControl().userClassName(); - String msg = "method " + userClass + - "." + theMethod.name().asString() + - Descriptor.userMethodArgs(theMethod.signature().asString()) + - " contains an unrecognized attribute of type " + - attr.attrName().asString() + ". " + - "Please check with Object Design support to see " + - "whether this is a problem."; - env.warning(msg, userClass); - } - } - } - } -*/ - } - - /** - * Retarget class references according to the class name mapping - * table. - */ -//@olsen: disabled feature -/* - void retarget(Map classTranslations) { - // No action needed currently - } -*/ - - /** - * Perform annotations - */ - void annotate() { - annotater.annotateMethod(); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodAnnotater.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodAnnotater.java deleted file mode 100644 index fe796016e42..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodAnnotater.java +++ /dev/null @@ -1,2848 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.impl; - -import java.util.Map; -import java.util.HashMap; -import java.util.Vector; -import java.util.Stack; -import java.util.Enumeration; - -import com.sun.jdo.api.persistence.enhancer.classfile.*; - -import com.sun.jdo.api.persistence.enhancer.util.Support; -import com.sun.jdo.api.persistence.enhancer.util.InternalError; -import com.sun.jdo.api.persistence.enhancer.util.ClassFileSource; - -//@olsen: added import -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaData; - - -//@olsen: cosmetics -//@olsen: moved: this class -> package impl -//@olsen: subst: (object)state -> flags -//@olsen: subst: JDOFlags -> jdoFlags -//@olsen: subst: JDO[gs]etFlags -> jdo[GS]etFlags -//@olsen: subst: (object)reference -> stateManager -//@olsen: subst: [Nn]eedsJDORefMethods -> [Nn]eedsJDOStateManagerMethods -//@olsen: subst: JDORef -> jdoStateManager -//@olsen: subst: JDO[gs]etRef -> jdo[GS]etStateManager -//@olsen: subst: [iI]Persistent -> [pP]ersistenceCapable -//@olsen: subst: PersistentAux -> StateManager -//@olsen: subst: jdo/ -> com/sun/forte4j/persistence/internal/ -//@olsen: subst: /* ... */ -> // ... -//@olsen: subst: FilterEnv -> Environment -//@olsen: dropped parameter 'Environment env', use association instead -//@olsen: subst: Hashtable -> Map, HashMap -//@olsen: subst: absolut jdo types and names -> constants from JDOMetaData -//@olsen: subst: .classControl(). -> . -//@olsen: subst: noteList -> note -//@olsen: added: support for I18N -//@olsen: subst: FilterError -> UserException, affirm() -//@olsen: removed: proprietary support for HashCode -//@olsen: removed: support for [No]AnnotateField -//@olsen: removed: old, disabled ODI code - - -/* - * The current code annotation strategy - * 1) getfield instructions operating on persistent types cause a fetch - * 2) putfield instructions operating on persistent types cause a dirty - * 3) fetches which can be identified to be a fetch of "this" are moved - * to the start of the method. - * 3) dirties which can be identified to be a dirty of "this" are moved - * to the start of the method only if the code path to the dirty is - * unconditional. - * 4) Array loads cause array fetches - * 5) Array stores cause array dirtys - * 6) Each array fetch/dirty call which occurs in a loop construct - * is allocated a dedicated local variable which is used to cache - * the last array dirtied or fetched by the instruction in order to - * minimize the overhead in array manipulation within a loop. - * 7) In calls to methods in non-persistence-aware classes which are - * declared to take array parameters, the array parameter is fetched. - * If the called code stores to the array, the user must manually - * annotate. - * 8) Certain method invocations trigger fetches or dirties of arguments. - * These special cases are listed in InvokeAnnotation.java. - * - * Possible Alternative Code Annotation strategy - * 1) non-static non-private methods always fetch/dirty "this" - * 2) non-static private methods never fetch but may dirty "this" - * 3) invocations of private methods from static methods fetch the target - * 4) invocations of private methods from non-static methods fetch the - * target if it can't be identified as "this" - * 5) putfields always cause dirtying of the target but if the - * target is known to be this, promote to a dirty of this. - * 6) getfields only cause fetching of the target if the - * target is not known to be this - * 7) Array loads cause array fetches - * 8) Array stores cause array dirtys - */ - - -/** - * MethodAnnotater controls the code annotation for a single method - * within a class. - */ -//^olsen: move code -> MethodAction -class MethodAnnotater - extends Support - implements AnnotationConstants { - - //@olsen: made final - private final ClassAction ca; - - //@olsen: made final - private final ClassMethod method; - - //@olsen: made final - private final ConstantPool pool; - - /* Central repository for the options and classes */ - //@olsen: added association - //@olsen: made final - private final Environment env; - - /* What types of annotation will be done on the method? */ - private int annotate; - - /* List of single element register values (Integer) for temporaries */ - private Vector tmpRegisters; - - /* List of double element register values (Integer) for temporaries */ - private Vector tmpDoubleRegisters; - - /* List of single word register values which cache fetches/stores - * Each of these registers must be initialized to null at the start of - * the method */ -//@olsen: disabled feature -/* - private Vector caches; -*/ - - /* The maximum amount of stack needed by any specific annotation sequence, - * less the amount of stack which the annotated instruction is known to - * need, if any */ - private short annotationStack = 0; - - /* If true, the method will contain an unconditional fetch(this) */ -//@olsen: disabled feature -/* - private boolean fetchThis = false; -*/ - - /* If true, the method will contain an unconditional dirty(this) */ -//@olsen: disabled feature -/* - private boolean dirtyThis = false; -*/ - - /* Table mapping Insn to InsnNote - allows annotation computations to - * be attached to instructions non-intrusively */ - private Map insnNotes = new HashMap(11); - - /* The largest loop contained within the method, or null. */ -//@olsen: disabled feature -/* - private Loop largestLoop; -*/ - - // package accessors - - /** - * Is any annotation needed for this method? The result of this - * method isn't valid until after checkMethod has been run. - */ - boolean needsAnnotation() { - return annotate != 0; - } - - /** - * Constructor - */ - //@olsen: added parameter 'env' for association - MethodAnnotater(ClassAction ca, - ClassMethod method, - Environment env) { - this.ca = ca; - this.method = method; - this.env = env; - this.pool = ca.classFile().pool(); - } - -// --------------------------------------------------------------------------- - - /** - * Examine the method to determine what sort of annotations are needed - */ - void checkMethod() { - //@olsen: added printing output - env.message( - "checking method " + ca.userClassName()//NOI18N - + "." + method.name().asString()//NOI18N - + Descriptor.userMethodArgs(method.signature().asString())); - - //@olsen: cosmetics - annotate = 0; - final CodeAttribute codeAttr = method.codeAttribute(); - if (codeAttr == null) { - return; - } - -//^olsen: make robust -/* - if (isAnnotated(codeAttr)) { - env.message("Method " + ca.userClassName() + - "." + method.name().asString() + - Descriptor.userMethodArgs(method.signature().asString()) + - " is already annotated."); - return; - } -*/ - - // look for certain special cases to avoid - //@olsen: cosmetics - if (avoidAnnotation()) { - return; - } - checkCode(codeAttr); - -//@olsen: disabled feature -/* - if (!avoidAnnotation()) { - largestLoop = Loop.checkLoops(codeAttr.theCode()); - checkCode(codeAttr); - } else if (methodIsPersistentFinalize()) { - annotate = MakeThisTransient; - } -*/ - } - - /** - * Check to see if the code attribute contains any calls to - * Implementaiton.fetch, or Implementation.dirty - */ -//^olsen: make robust -/* - private boolean isAnnotated(CodeAttribute codeAttr) { - for (Insn insn = codeAttr.theCode(); - insn != null; - insn = insn.next()) { - - // All non-interface method invocations are InsnConstOp - - if (insn instanceof InsnConstOp) { - InsnConstOp coInsn = (InsnConstOp) insn; - ConstBasic operand = coInsn.value(); - if (operand instanceof ConstMethodRef) { - - // A method invocation of some sort - - ConstMethodRef methRef = (ConstMethodRef) operand; - if (methRef.className().asString().equals("com/sun/forte4j/persistence/internal/Implementation")) { - - // A method invocation against class Persistent - - ConstNameAndType nt = methRef.nameAndType(); - String ntName = nt.name().asString(); - if (ntName.equals("fetch") || ntName.equals("dirty")) - // A fetch or a dirty call - return true; - } - } - } - } - return false; - } -*/ - - /** - * Check to see if this method is an initializer. - */ -//@olsen: disabled feature -/* - private boolean methodIsInitializer() { - String methName = method.name().asString(); - //^olsen: check for serialization - return (methName.equals("") || - (methName.equals("readObject") && - method.signature().asString().equals( - "(Ljava/io/ObjectInputStream;)V"))); - } -*/ - - - /** - * Check to see if this method is a finalize method. - */ -//@olsen: disabled feature -/* - private boolean methodIsFinalize() { - return (method.name().asString().equals("finalize") && - method.signature().asString().equals("()V") && - !method.isStatic()); - } -*/ - - /** - * Check to see if this method is an persistent finalize. - */ -//@olsen: disabled feature -/* - private boolean methodIsPersistentFinalize() { - return (methodIsFinalize() && - ca.persistCapable()); - } -*/ - - /** - * Check to see if this is a special case that should not be - * annotated. - */ - private boolean avoidAnnotation() { - //@olsen: cosmetics - -//@olsen: allow for annotating initializers+finalizers -/* - final String methodName = method.name().asString(); - final String methodSig = method.signature().asString(); - - if (methodName.equals("") || methodIsFinalize()) - // Never annotate class initializers or finalizers - return true; -*/ - -//^olsen: enable feature, rather use HashMap for lookup -//@olsen: disabled feature -/* - if (ca.persistCapable()) { - if ((methodName.equals("initializeContents") && - methodSig.equals("(Lcom/sun/forte4j/persistence/internal/ObjectContents;)V")) || - (methodName.equals("flushContents") && - methodSig.equals("(Lcom/sun/forte4j/persistence/internal/ObjectContents;)V")) || - (methodName.equals("clearContents") && - methodSig.equals("()V")) || - (methodName.equals("postInitializeContents") && - methodSig.equals("()V")) || - (methodName.equals("preFlushContents") && - methodSig.equals("()V")) || - (methodName.equals("preClearContents") && - methodSig.equals("()V")) || - (methodName.equals("jdoGetStateManager") && - methodSig.equals("()Lcom/sun/forte4j/persistence/internal/StateManager;")) || - (methodName.equals("jdoSetStateManager") && - methodSig.equals("(Lcom/sun/forte4j/persistence/internal/StateManager;)V")) || - (methodName.equals("jdoGetFlags") && - methodSig.equals("()B")) || - (methodName.equals("jdoSetFlags") && - methodSig.equals("(B)V"))) - // This is one of the special persistence actions. - // Don't annotate it - return true; - } -*/ - - return false; - } - -// --------------------------------------------------------------------------- - - /** - * Check the code attribute for possible annotations - */ - //^olsen: move code to inner class ?! - void checkCode(CodeAttribute codeAttr) { - //@olsen: cosmetics - Insn firstInsn = codeAttr.theCode(); - - // mark branch targets so we can distinguish them from - // targets which exist for the benefit of line numbers, - // local variables, etc. - for (Insn markInsn = firstInsn; - markInsn != null; - markInsn = markInsn.next()) { - markInsn.markTargets(); - } - - int allFlags = 0; -//@olsen: disabled feature -/* - boolean branchesSeen = false; -*/ - - for (Insn insn = firstInsn; insn != null; insn = insn.next() ) { - InsnNote note = null; - - switch(insn.opcode()) { -//@olsen: disabled feature -/* - case opc_invokestatic: - case opc_invokespecial: - case opc_invokevirtual: - case opc_invokeinterface: - note = noteInvokeAnnotation(insn); - break; -*/ - case opc_getfield: - note = noteGetFieldAnnotation(insn); - break; - case opc_putfield: - note = notePutFieldAnnotation(insn); - break; -//@olsen: disabled feature -/* - case opc_aaload: - case opc_baload: - case opc_caload: - case opc_saload: - case opc_iaload: - case opc_laload: - case opc_faload: - case opc_daload: - note = noteArrayLoadAnnotation(insn); - break; - case opc_aastore: - case opc_bastore: - case opc_castore: - case opc_sastore: - case opc_iastore: - case opc_lastore: - case opc_fastore: - case opc_dastore: - note = noteArrayStoreAnnotation(insn); - break; -*/ - default: - break; - } - - if (note != null) { - addNoteList(note); - - //@olsen: ensured to use single note only (as instantiated) - affirm((note.next() == null), - "Number of annotation notes for instruction > 1.");//NOI18N - allFlags |= note.insnFlags; - -//@olsen: ensured to use single note only (as instantiated) -/* - for (InsnNote aNote = note; - aNote != null; - aNote = aNote.next()) { -//@olsen: disabled feature -/// - if (branchesSeen == false) - aNote.insnFlags |= Unconditional; -/// - -//@olsen: disabled feature -/// - if (largestLoop != null && largestLoop.contains(insn)) - aNote.insnFlags |= InLoop; -/// - -//@olsen: disabled feature -/// - // annotating based on thisOptimization will be done later - if (aNote.dirtyThis() && aNote.unconditional()) - dirtyThis = true; - else if (aNote.dirtyThis() || aNote.fetchThis()) - fetchThis = true; -/// - - allFlags |= aNote.insnFlags; - } -*/ - } - -//@olsen: disabled feature -/* - if (insn.branches()) - branchesSeen = true; -*/ - } - -//@olsen: disabled feature -/* - if (methodIsInitializer()) { - // An inititalizer - either force the fetchThis, dirtyThis flags - // on or off. - if (env.doInitializerOptimization()) { - // turn on the fetchThis, dirtyThis flags to inhibit fetches - // and stores of this if enabled. We won't really insert the - // fetch/dirty, since it isn't needed. - fetchThis = true; - dirtyThis = true; - } else { - // Make sure that the fetchThis, dirtyThis flags are turned off - fetchThis = false; - dirtyThis = false; - } - } -*/ - - //^olsen: prepare for inheritance on PC classes - //@olsen: check for annotating of clone() - final String methodName = method.name().asString(); - final String methodSig = method.signature().asString(); - //^olsen: annotate persistence-capable root classes only - // until the JDO spec precisely defines how to treat - // user-defined clone methods in transient classes - final boolean implementsPersistence = ca.getImplementsPersistence(); - if (false) { - System.out.println(" check for annotating clone()");//NOI18N - System.out.println(" methodName = " + methodName);//NOI18N - System.out.println(" methodSig = " + methodSig);//NOI18N - System.out.println(" implementsPersistence = "//NOI18N - + implementsPersistence); - } - if (methodName.equals("clone")//NOI18N - && methodSig.equals("()Ljava/lang/Object;")//NOI18N - && implementsPersistence) { - //^olsen: rather scan for 'invokespecial clone()Ljava/lang/Object;' - // in instruction loop above - allFlags |= SuperClone; - } - -//@olsen: disabled feature -/* - if (methodName.equals("clone") && - methodSig.equals("()Ljava/lang/Object;") && - ca.persistCapable()) { - allFlags |= FetchThis; - fetchThis = true; - } -*/ - annotate = allFlags; - } - - - /** - * Make note of annotations if needed for a method invocation instruction. - */ -//@olsen: disabled feature -/* - private InsnNote noteInvokeAnnotation(Insn insn) { - int flags = 0; - - ConstBasicMemberRef methRef = (ConstBasicMemberRef) - ((InsnConstOp)insn).value(); - - InsnArgNote note = null; - - for (InvokeAnnotation invAnn - = InvokeAnnotation.checkInvoke(methRef, env); - invAnn != null; - invAnn = invAnn.next()) { - int thisFlags = 0; - Insn dep = findArgDepositer(insn, invAnn.whichArg()); - if (dep != null && dep.opcode() == opc_aload_0 && !method.isStatic()) { - if ((invAnn.annotateHow() & DirtyAny) != 0) - thisFlags = DirtyThis; - else - thisFlags = FetchThis; - } else - thisFlags = invAnn.annotateHow(); - - InsnArgNote newNote = - new InsnArgNote(insn, thisFlags, invAnn.whichArg(), - Descriptor.extractArgSig( - methRef.nameAndType().signature().asString())); - - // sort in order of decreasing stack depth - if (note == null || note.arg() < newNote.arg()) { - newNote.nextNote = note; - note = newNote; - } else { - InsnArgNote aNote = note; - while (aNote.nextNote != null && aNote.nextNote.arg() > newNote.arg()) - aNote = aNote.nextNote; - newNote.nextNote = aNote.nextNote; - aNote.nextNote = newNote; - } - } - - return note; - } -*/ - - /** - * make note of annotations if needed for the getField instruction. - */ - //^olsen: merge code with notePutFieldAnnotation() ?! - private InsnNote noteGetFieldAnnotation(Insn insn) { - //@olsen: cosmetics - final InsnConstOp getFieldInsn = (InsnConstOp)insn; - final ConstFieldRef fieldRef = (ConstFieldRef)getFieldInsn.value(); - final String fieldOf = fieldRef.className().asString(); - - //@olsen: changed to use JDOMetaData - final String fieldName - = fieldRef.nameAndType().name().asString(); - final JDOMetaData meta = env.getJDOMetaData(); - if (!meta.isPersistentField(fieldOf, fieldName)) - return null; - -//@olsen: disabled feature -/* - final ClassControl cc = env.findClass(fieldOf); - - if (cc == null || !cc.persistCapable()) - return null; -*/ - - //@olsen: added checks - final boolean dfgField - = meta.isDefaultFetchGroupField(fieldOf, fieldName); - final boolean pkField - = meta.isPrimaryKeyField(fieldOf, fieldName); - final int fieldIndex - = meta.getFieldNo(fieldOf, fieldName); - final String targetPCRootClass - = meta.getPersistenceCapableRootClass(fieldOf); - - int flags = 0; - //@olsen: added variables - final String fieldSig = fieldRef.nameAndType().signature().asString(); - // there's no field value on the stack yet - final int stackArgSize = 0; - - //@olsen: added println() for debugging - if (false) { - System.out.println(" get field "//NOI18N - + fieldOf + "." + fieldName//NOI18N - + "[" + fieldIndex + "]"//NOI18N - + "<" + fieldSig + ">"//NOI18N - + " : p"//NOI18N - + (dfgField ? ",dfg" : ",!dfg")//NOI18N - + (pkField ? ",pk" : ",!pk")//NOI18N - + ";");//NOI18N - } - - Insn dep = findArgDepositer(insn, stackArgSize); - if (dep != null - && dep.opcode() == opc_aload_0 - && !method.isStatic()) - // This represents a fetch of "this" - flags |= FetchThis; - else - flags |= FetchPersistent; - - //@olsen: added test - if (dfgField) - flags |= DFGField; - - //@olsen: added test - if (pkField) - flags |= PKField; - - //@olsen: changed to use JDOMetaData - return new InsnNote(insn, flags, - stackArgSize, - fieldSig, fieldOf, fieldName, fieldIndex, - targetPCRootClass); -//@olsen: disabled feature -/* - return new InsnNote(insn, flags, 0, "", cc.action()); -*/ - } - - /** - * Generate annotations if needed for the putField instruction. - */ - //^olsen: merge code with noteGetFieldAnnotation() ?! - private InsnNote notePutFieldAnnotation(Insn insn) { - //@olsen: cosmetics - final InsnConstOp putFieldInsn = (InsnConstOp)insn; - final ConstFieldRef fieldRef = (ConstFieldRef)putFieldInsn.value(); - final String fieldOf = fieldRef.className().asString(); - - //@olsen: changed to use JDOMetaData - final String fieldName - = fieldRef.nameAndType().name().asString(); - final JDOMetaData meta = env.getJDOMetaData(); - if (!meta.isPersistentField(fieldOf, fieldName)) - return null; - -//@olsen: disabled feature -/* - final ClassControl cc = env.findClass(fieldOf); - - if (cc == null || !cc.persistCapable()) - return null; -*/ - - //@olsen: added checks - final boolean dfgField - = meta.isDefaultFetchGroupField(fieldOf, fieldName); - final boolean pkField - = meta.isPrimaryKeyField(fieldOf, fieldName); - final int fieldIndex - = meta.getFieldNo(fieldOf, fieldName); - final String targetPCRootClass - = meta.getPersistenceCapableRootClass(fieldOf); - - int flags = 0; - //@olsen: added variables - final String fieldSig = fieldRef.nameAndType().signature().asString(); - // size of field value on the stack - final int stackArgSize - = (fieldSig.equals("J") || fieldSig.equals("D")) ? 2 : 1;//NOI18N - - //@olsen: added println() for debugging - if (false) { - System.out.println(" put field "//NOI18N - + fieldOf + "." + fieldName//NOI18N - + "[" + fieldIndex + "]"//NOI18N - + "<" + fieldSig + ">"//NOI18N - + " : p"//NOI18N - + (dfgField ? ",dfg" : ",!dfg")//NOI18N - + (pkField ? ",pk" : ",!pk")//NOI18N - + ";");//NOI18N - } - - Insn dep = findArgDepositer(insn, stackArgSize); - if (dep != null - && dep.opcode() == opc_aload_0 - && !method.isStatic()) - // This represents a dirtyfication of "this" - flags |= DirtyThis; - else - flags |= DirtyPersistent; - - //@olsen: added test - if (dfgField) - flags |= DFGField; - - //@olsen: added test - if (pkField) - flags |= PKField; - - //@olsen: changed to use JDOMetaData - return new InsnNote(insn, flags, - stackArgSize, - fieldSig, fieldOf, fieldName, fieldIndex, - targetPCRootClass); -//@olsen: disabled feature -/* - return new InsnNote(insn, flags, stackArgSize, fieldSig, cc.action()); -*/ - } - - /** - * Generate annotations if needed for the arrayLoad instruction. - */ -//@olsen: disabled feature -/* - private InsnNote noteArrayLoadAnnotation(Insn insn) { - int arrayFetchType = 0; - switch(insn.opcode()) { - case opc_aaload: - arrayFetchType = ArrayTypeObject; - break; - case opc_caload: - arrayFetchType = ArrayTypeChar; - break; - case opc_saload: - arrayFetchType = ArrayTypeShort; - break; - case opc_iaload: - arrayFetchType = ArrayTypeInt; - break; - case opc_laload: - arrayFetchType = ArrayTypeLong; - break; - case opc_faload: - arrayFetchType = ArrayTypeFloat; - break; - case opc_daload: - arrayFetchType = ArrayTypeDouble; - break; - case opc_baload: - // Unfortunately, both byte arrays and boolean arrays are accessed - // using the same instruction so don't attempt to infer the array - // element type for these. - break; - } - return new InsnNote(insn, FetchArray | arrayFetchType, 1, "I", null); - } -*/ - -//@olsen: disabled feature -/* - private InsnNote noteArrayStoreAnnotation(Insn insn) { - int valueType = Insn.loadStoreDataType(insn.opcode()); - int valueSize = Descriptor.elementSize(valueType); - String stackSig = "I" + Descriptor.elementSig(valueType); - - // Compute the array store type for completeness. The generated - // annotation currently doesn't use this information because there - // are no array element type-specific overloads of dirty() but - // perhaps we'll add them at some point. - int arrayStoreType = 0; - switch(insn.opcode()) { - case opc_aastore: - arrayStoreType = ArrayTypeObject; - break; - case opc_castore: - arrayStoreType = ArrayTypeChar; - break; - case opc_sastore: - arrayStoreType = ArrayTypeShort; - break; - case opc_iastore: - arrayStoreType = ArrayTypeInt; - break; - case opc_lastore: - arrayStoreType = ArrayTypeLong; - break; - case opc_fastore: - arrayStoreType = ArrayTypeFloat; - break; - case opc_dastore: - arrayStoreType = ArrayTypeDouble; - break; - case opc_bastore: - // Unfortunately, both byte arrays and boolean arrays are accessed - // using the same instruction so don't attempt to infer the array - // element type for these. - break; - } - - return new InsnNote(insn, DirtyArray | arrayStoreType, - valueSize+1, stackSig, null); - } -*/ - -// --------------------------------------------------------------------------- - - /** - * Annotate the class method. For now, brute force rules. - */ - void annotateMethod() { - //@olsen: cosmetics - final CodeAttribute codeAttr = method.codeAttribute(); - if (codeAttr == null || !needsAnnotation()) - return; - -//@olsen: disabled feature -/* - if ((annotate & MakeThisTransient) != 0) { - makeThisTransient(codeAttr); - if (annotate == MakeThisTransient) - return; - } -*/ - - //@olsen: added printing output - env.message( - "annotating method " + ca.userClassName()//NOI18N - + "." + method.name().asString()//NOI18N - + Descriptor.userMethodArgs(method.signature().asString())); - -//@olsen: disabled feature -/* - clearThisAnnotation(); - removeRedundantThisAnnotation(); -*/ - - Insn firstInsn = codeAttr.theCode(); - - // First instruction is a target - Insn insn = firstInsn.next(); - - while (insn != null) { - switch(insn.opcode()) { -//@olsen: disabled feature -/* - case opc_invokestatic: - case opc_invokespecial: - case opc_invokevirtual: - case opc_invokeinterface: -*/ - case opc_getfield: - case opc_putfield: -//@olsen: disabled feature -/* - case opc_aaload: - case opc_baload: - case opc_caload: - case opc_saload: - case opc_iaload: - case opc_laload: - case opc_faload: - case opc_daload: - case opc_aastore: - case opc_bastore: - case opc_castore: - case opc_sastore: - case opc_iastore: - case opc_lastore: - case opc_fastore: - case opc_dastore: -*/ - insn = insnAnnotation(insn); - break; - default: - break; - } - - insn = insn.next(); - } - - //@olsen: do special annotation if detected super.clone() - if ((annotate & SuperClone) != 0) { - final String superName = ca.classFile().superName().asString(); - annotateClone(codeAttr, superName); - } - -//@olsen: disabled feature -/* - if (methodIsInitializer()) { - } else { - // Pre- fetch/dirty this if needed - if (fetchThis || dirtyThis) { - // Optimize a fetch(this) or dirty(this) to the start of - // the method. - // For fetch calls this is: - // if (jdoFlags < 0) - // Implementation.fetch(this); - // - // For dirty calls this is: - // if ((jdoFlags&PersistenceCapable.writeBarrierSet) != 0) - // Implementation.dirty(this); - - Insn newInsn = Insn.create(opc_aload_0); - Insn annotationStart = newInsn; - InsnTarget afterCondition = null; - -//@olsen: disabled feature -/// - if (ca.getFlagsMemberValid() && - ca.getFlagsMember() != null) { -/// - - //@olsen: changed to use JDOMetaData - final String className = ca.className(); - final String pcRootClass - = env.getJDOMetaData().getPersistenceCapableRootClass(className); - newInsn = newInsn.append( - Insn.create(opc_getfield, - pool.addFieldRef( - pcRootClass, - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig))); -//@olsen: disabled feature -/// - ClassControl flagsCC - = ca.getFlagsMemberClassControl(); - newInsn = newInsn.append( - Insn.create(opc_getfield, - pool.addFieldRef( - flagsCC.className(), - ca.getFlagsMember(), - "B"))); -/// - - afterCondition = new InsnTarget(); - if (dirtyThis) { - newInsn = newInsn.append(Insn.create(opc_iconst_2)); - newInsn = newInsn.append(Insn.create(opc_iand)); - newInsn = newInsn.append(Insn.create(opc_ifeq, afterCondition)); - newInsn = newInsn.append(Insn.create(opc_aload_0)); - } else { - newInsn = newInsn.append(Insn.create(opc_ifge, afterCondition)); - newInsn = newInsn.append(Insn.create(opc_aload_0)); - } -//@olsen: disabled feature -/// - } -/// - - newInsn = newInsn.append( - Insn.create( - opc_invokestatic, - pool.addMethodRef("com/sun/forte4j/persistence/internal/Implementation", - (dirtyThis ? "dirty" : "fetch"), - "(" + JDOMetaData.JDOPersistenceCapableSig + ")V"))); - - if (afterCondition != null) - newInsn = newInsn.append(afterCondition); - firstInsn.insert(annotationStart); - noteStack(2); - } - -//@olsen: disabled feature -/// - if (methodName.equals("clone") && - methodSig.equals("()Ljava/lang/Object;") && - !ca.getNeedsClone()) { - annotateClone(codeAttr, superName); - } -/// -//@olsen: disabled feature - } -*/ - -//@olsen: disabled feature -/* - //^olsen: caches -> int[] ? - if (caches != null && caches.size() > 0) { - // Generate fetch/dirty cache initializers - Insn initInsn = null; - //^olsen: optimize traversal ? - for (int i = 0; i < caches.size(); i++) { - int slot = ((Integer) caches.elementAt(i)).intValue(); - Insn nullInsn = Insn.create(opc_aconst_null); - if (initInsn == null) - initInsn = nullInsn; - else - initInsn.append(nullInsn); - initInsn.append(InsnUtils.aStore(slot, pool)); - } - - // These initializations must not occur in an - // exception handler or the code may fail to verify. If an - // exception handler starts at offset 0, our initializations - // will fall into the exception handler block. For - // simplicity, just add a new target as the initial - // instruction - it doesn't cost anything in the - // generated code. - InsnTarget newFirstInsn = new InsnTarget(); - initInsn.append(firstInsn); - newFirstInsn.append(initInsn); - firstInsn = newFirstInsn; - codeAttr.setTheCode(firstInsn); - } -*/ - - if (annotationStack > 0) - codeAttr.setStackUsed(codeAttr.stackUsed() + annotationStack); - } - -// --------------------------------------------------------------------------- - - /** - * If dirtyThis or fetchThis is set, remove flags indicating the need to - * fetch or dirth "this" on individual instructions. - */ -//@olsen: disabled feature -/* - private void clearThisAnnotation() { - // If the user has disabled "this" optimization, simply turn the - // dirtyThis and fetchThis flags off unless this is an initializer - // method, in which case we defer reseting the flags until the end - // of this method. - if (!env.doThisOptimization() && !methodIsInitializer()) { - dirtyThis = false; - fetchThis = false; - } - - if (!dirtyThis && !fetchThis) - return; - - final CodeAttribute codeAttr = method.codeAttribute(); - if (codeAttr != null) { - for (Insn insn = codeAttr.theCode(); - insn != null; - insn = insn.next()) { - for (InsnNote note = getNoteList(insn); - note != null; - note = note.next()) { - - if (dirtyThis && note.dirtyThis()) - note.dontDirtyThis(); - if ((dirtyThis || fetchThis) && note.fetchThis()) - note.dontFetchThis(); - } - } - } - - if (methodIsInitializer()) { - dirtyThis = false; - fetchThis = false; - } - } -*/ - - /** - * Optimize out obviously redundant fetch(this) and dirty(this) - * annotations. These are repeated fetches and dirties which occur - * in straight-line code with no intervening branch targets or - * method calls. - */ -//@olsen: disabled feature -/* - private void removeRedundantThisAnnotation() { - // This optimization doesn't apply to static methods or initializers. - // Static methods are ignored because they don't have a "this" and - // initializers may be excluded if we expect that there are no - // fetch/dirty of "this". - if (method.isStatic() || - (methodIsInitializer() && env.doInitializerOptimization())) - return; - - CodeAttribute codeAttr = method.codeAttribute(); - if (codeAttr != null && needsAnnotation()) { - Insn firstInsn = codeAttr.theCode(); - - // First instruction is a target - Insn insn = firstInsn.next(); - - boolean thisFetched = false; - boolean thisDirtied = false; - - while (insn != null) { - - for (InsnNote note = getNoteList(insn); - note != null; - note = note.next()) { - - if (note.fetchThis()) { - if (thisFetched) - note.dontFetchThis(); - else - thisFetched = true; - } - if (note.dirtyThis()) { - if (thisDirtied) - note.dontDirtyThis(); - else { - thisDirtied = true; - thisFetched = true; - } - } - } - - boolean invalidate = false; - switch(insn.opcode()) { - case opc_jsr: - case opc_invokestatic: - case opc_invokespecial: - case opc_invokevirtual: - case opc_invokeinterface: - invalidate = true; - break; - - case opc_monitorenter: - // If the code is explicitly synchronizing then the user - // might have some reason to expect instructions to - // interleave against another thread execution in a - // particular order, so invalidate any assumption about - // the fetch/dirty flags - invalidate = true; - break; - - case Insn.opc_target: - // targets which result from line-number info, etc. do not - // invalidate the optimization - if (((InsnTarget)insn).isBranchTarget()) - invalidate = true; - break; - - default: - break; - } - - if (invalidate) { - thisFetched = false; - thisDirtied = false; - } - - insn = insn.next(); - } - } - } -*/ - -// --------------------------------------------------------------------------- - - //^olsen: extend for full support of inheritance on PC classes - //@olsen: reimplemented this method - private void annotateClone(CodeAttribute codeAttr, - String superName) { - if (false) { - final String methodName = method.name().asString(); - final String methodSig = method.signature().asString(); - System.out.println("annotateClone()");//NOI18N - System.out.println(" methodName = " + methodName);//NOI18N - System.out.println(" methodSig = " + methodSig);//NOI18N - System.out.println(" superName = " + superName);//NOI18N - } - - Insn insn; - for (insn = codeAttr.theCode(); - insn != null; - insn = insn.next()) { - - // Found the clone method. See if it is the flavor of clone() - // which does a super.clone() call, and if it is, add - // field initializations for the jdoStateManager and jdoFlags - // fields. - if (insn.opcode() != opc_invokespecial) - continue; - - final InsnConstOp invoke = (InsnConstOp)insn; - final ConstMethodRef methodRef = (ConstMethodRef)invoke.value(); - final ConstNameAndType methodNT = methodRef.nameAndType(); - final String methodName = methodNT.name().asString(); - final String methodSig = methodNT.signature().asString(); - - if (!(methodName.equals("clone")//NOI18N - && methodSig.equals("()Ljava/lang/Object;")))//NOI18N - continue; - - if (false) { - final ConstClass methodClass = methodRef.className(); - final String methodClassName = methodClass.asString(); - System.out.println(" found invocation of: "//NOI18N - + methodClassName - + "." + methodName + methodSig);//NOI18N - } - - // check whether next instruction already is a downcast to a - // class implementing PersistenceCapable - final String thisClass = ca.className(); - final Insn checkCastInsn = insn.next(); - final boolean needCheckcast; - if (checkCastInsn.opcode() != opc_checkcast) { - needCheckcast = true; - } else { - ConstClass target = - (ConstClass) ((InsnConstOp) checkCastInsn).value(); - if (target.asString().equals(thisClass)) { - insn = checkCastInsn; - needCheckcast = false; - } else { - needCheckcast = true; - } - } - - // clear jdo fields of clone - { - // duplicate downcastet reference - final Insn newInsn = Insn.create(opc_dup); - if (needCheckcast) { - newInsn.append(Insn.create(opc_checkcast, - pool.addClass(thisClass))); - } - newInsn.append(Insn.create(opc_dup)); - - // clear jdo fields - newInsn.append(Insn.create(opc_aconst_null)); - newInsn.append(Insn.create( - opc_putfield, - pool.addFieldRef(thisClass, - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - newInsn.append(Insn.create(opc_iconst_0)); - newInsn.append(Insn.create( - opc_putfield, - pool.addFieldRef(thisClass, - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig))); - - // insert code - insn.insert(newInsn); - noteStack(3); - } - } - } - -//@olsen: disabled feature -/* - private void annotateClone(CodeAttribute codeAttr, - String superName) { - Insn insn; - for (insn = codeAttr.theCode(); - insn != null; - insn = insn.next()) { - - // Found the clone method. See if it is the flavor of clone() - // which does a super.clone() call, and if it is, add - // field initializations for the jdoStateManager and jdoFlags - // fields. - if (insn.opcode() == opc_invokespecial) { - InsnConstOp invoke = (InsnConstOp) insn; - ConstMethodRef methRef = (ConstMethodRef) invoke.value(); - String methName = methRef.nameAndType().name().asString(); - if (methName.equals("clone")) { - String thisClass = ca.className(); - -//@olsen: disabled feature -/// - // The following change to the method ref is a - // workaround for the Sun JIT. If there is a - // derived class whose clone() method calls - // super.clone() where the super class's clone() - // was constructed by osjcfp, - // the compiler will generate code which - // calls java.lang.Object.clone() instead of the - // base class's clone (since that's all it can - // see at compile time). It also sets - // (correctly) the ACC_SUPER bit. Unfortunately, - // the JDK JIT will not call the inserted clone - // method, but instead calls the - // java.lang.Object.clone() method. The hackery - // below modifies the invokespecial super.clone() - // call to instead use the osjcfp supplied clone(). - // It should be removed if/when the JIT - // is fixed. -cwl 6/27/97 - - ClassControl cc = - env.findClass(superName).findMethodClass( - "clone", "()Ljava/lang/Object;"); - if (cc != null && - !cc.className().equals(methRef.className().asString())) { - env.message("Changing " + thisClass + ".clone() to call " + - cc.className() + ".clone() instead of " + - methRef.className().asString() + ".clone()"); - ConstMethodRef newMethRef = - pool.addMethodRef(cc.className(), - "clone", - "()Ljava/lang/Object;"); - invoke.setValue(newMethRef); - } -/// - -//@olsen: disabled feature -/// - boolean needCheckcast = false; - Insn checkCastInsn = insn.next(); - if (checkCastInsn.opcode() != opc_checkcast) - needCheckcast = true; - else { - ConstClass target = - (ConstClass) ((InsnConstOp) checkCastInsn).value(); - ClassControl targetCC = env.findClass(target.asString()); - if (targetCC != null && !targetCC.inherits(thisClass)) - needCheckcast = true; - else - insn = checkCastInsn; - } - - boolean checkStack = false; - if (ca.getNeedsJDOStateManagerMethods()) { - Insn newInsn = Insn.create(opc_dup); - if (needCheckcast) - newInsn.append(Insn.create(opc_checkcast, - pool.addClass(thisClass))); - newInsn.append(Insn.create(opc_aconst_null)); - newInsn.append(Insn.create( - opc_putfield, - pool.addFieldRef(thisClass, - ca.getRefMember(), - JDOStateManagerSig))); - insn.insert(newInsn); - checkStack = true; - } - - if (ca.getNeedsJDOFlagsMethods()) { - Insn newInsn = Insn.create(opc_dup); - if (needCheckcast) - newInsn.append(Insn.create(opc_checkcast, - pool.addClass(thisClass))); - newInsn.append(Insn.create(opc_iconst_0)); - newInsn.append(Insn.create(opc_putfield, - pool.addFieldRef(thisClass, - ca.getFlagsMember(), - "B"))); - - insn.insert(newInsn); - checkStack = true; - } - - if (checkStack) - noteStack(2); -/// - } - } - } - } -*/ - -// --------------------------------------------------------------------------- - - /** - * For a non-static method of a class which implements PersistenceCapable, - * convert the object to a transient object by setting the stateManager - * to null and the object flags to 0. It is assumed that - * the ObjectTable will have already been cleaned up by the - * garbage collector. - */ -//@olsen: disabled feature -/* - private void makeThisTransient(CodeAttribute codeAttr) { - - Insn insn = codeAttr.theCode(); - while (insn.opcode() == Insn.opc_target) - insn = insn.next(); - - // Set the statemanager to null - Insn annotation = Insn.create(opc_aload_0); - annotation.append(Insn.create(opc_aconst_null)); - ConstInterfaceMethodRef methRef = - pool.addInterfaceMethodRef(JDOPersistenceCapablePath, - "jdoSetStateManager", - "(Lcom/sun/forte4j/persistence/internal/StateManager;)V"); - annotation.append(new InsnInterfaceInvoke(methRef, 2)); - - // Set the object flags to null - annotation.append(Insn.create(opc_aload_0)); - annotation.append(Insn.create(opc_iconst_0)); - methRef = pool.addInterfaceMethodRef( - JDOPersistenceCapablePath, - "jdoSetFlags", - "(B)V"); - annotation.append(new InsnInterfaceInvoke(methRef, 2)); - - insn.prev().insert(annotation); - - if (codeAttr.stackUsed() < 2) - codeAttr.setStackUsed(2); - } -*/ - -// --------------------------------------------------------------------------- - - /** - * Generate annotations if needed for the instruction. - */ - private Insn insnAnnotation(final Insn insn) { - // The note list should be sorted in order of decreasing arg depth - - int initialSingleRegs = 0; - -//@olsen: ensured to use single note only (as instantiated) -/* - for (InsnNote note = getNoteList(insn); - note != null; - note = note.next()) { ... } -*/ - InsnNote note = getNoteList(insn); - if (note == null) - return insn; - - //@olsen: ensured to use single note only (as instantiated) - affirm(insn == note.insn); - affirm((note.next() == null), - "Number of annotation notes for instruction > 1.");//NOI18N - - //@olsen: not needed to ensure: note.dirtyThis() && !method.isStatic() - final boolean fetch = (note.fetchPersistent() || note.fetchThis()); - final boolean dirty = (note.dirtyPersistent() || note.dirtyThis()); - //@olsen: added consistency check - affirm((fetch ^ dirty), - "Inconsistent fetch/dirty flags.");//NOI18N - - //@olsen: added checks - final boolean dfgField = note.dfgFieldAccess(); - final boolean pkField = note.pkFieldAccess(); - - //@olsen: added println() for debugging - if (false) { - final String targetClassName = note.targetClassName; - final String targetFieldName = note.targetFieldName; - //final String targetPCRootClass = note.targetPCRootClass; - - System.out.println(" build annotation: "//NOI18N - + targetClassName - + "." + targetFieldName + " : "//NOI18N - + (pkField ? "pk," : "!pk,")//NOI18N - + (dfgField ? "dfg," : "!dfg,")//NOI18N - + (fetch ? "fetch " : "dirty ")//NOI18N - + (note.fetchPersistent() - ? "persistent" : "this")//NOI18N - + ";");//NOI18N - } - - //@olsen: improved control flow - //@olsen: 4385427: do not enhance PK read access at all - if (pkField && fetch) { - return insn; - } - - //@olsen: enhance for mediated access - //@olsen: enhance PK write as mediated access - //@olsen: added: mediated getfield/putfield insn annotation - if (pkField || !dfgField) { - //insn.prev().insert(Insn.create(opc_nop)); - //@olsen: 4429769: drop putfield instruction on mediated write - // access; isolate the get/putfield instruction to allow - // to now be inserted by buildAccessAnnotation() itself - final Insn prev = insn.prev(); - insn.remove(); - - //@olsen: changed not to return null - final AnnotationFragment frag1 = buildAccessAnnotation(note); - affirm(frag1, "Illegal annotation of PK or non-dfg field.");//NOI18N - - //@olsen: 4429769, replace current instruction with fragment - //insn.prev().insert(frag1.annotation); - //noteStack(frag1.stackRequired - note.arg()); - //return insn; - final Insn last = prev.insert(frag1.annotation); - noteStack(frag1.stackRequired - note.arg()); - return last; - } - - // do basic annotation - //@olsen: enhance for non-mediated access - final AnnotationFragment frag0 = buildBasicAnnotation(note); - //@olsen: changed not to return null - affirm(frag0, "Illegal annotation of dfg field.");//NOI18N - //if (frag0 != null) { - { - // Attempt to find an instruction where the argument is known - // to be on the top of stack - StackState state - = new StackState(note.arg(), note.sig(), insn.prev()); - minimizeStack(state); - - if (false) { - System.out.println(" state.argDepth = "//NOI18N - + state.argDepth); - System.out.print(" state.insn = ");//NOI18N - state.insn.printInsn(System.out); - System.out.print(" insn = ");//NOI18N - insn.printInsn(System.out); - } - - // generate the necessary instructions - Insn annotation = null; - if (state.argDepth == 0) { - // The value is on top of the stack - the dup in the basic - // annotation fragment will suffice - annotation = frag0.annotation; - noteStack(frag0.stackRequired); - } else if (state.argDepth == 1) { - // The value on top of the stack is one deep. Because the - // operand of interest is also a single word value we can - // simply execute a swap operation to get access to the - // operand on top of the stack - annotation = Insn.create(opc_swap); - annotation.append(frag0.annotation); - annotation.append(Insn.create(opc_swap)); - - // reduce the code fragment's stack requirements by - // the amount that minimizeStack reduced the stack depth, - // since that is the context in which the code fragment - // will run. - noteStack(frag0.stackRequired - (note.arg()-1)); - } else { - // The value is hidden by 2 or more stack operands. Move - // the obscuring values into temporaries to get access to - // the value - put them back when done - Stack stackTypes = state.stackTypes; - int depth = state.argDepth; - int elem = stackTypes.size()-1; - - int singleRegs = initialSingleRegs; - int doubleRegs = 0; - int regnums[] = new int[depth]; - int regtotal = 0; - - // Now, move values into temp registers - while (depth > 0) { - int elemType = - ((Integer)stackTypes.elementAt(elem--)).intValue(); - int elemSize = Descriptor.elementSize(elemType); - depth -= elemSize; - int reg = ((elemSize == 1) - ? tmpReg(singleRegs++) - : tmpReg2(doubleRegs++)); - regnums[regtotal++] = reg; - - Insn store = InsnUtils.store(elemType, reg, pool); - if (annotation == null) - annotation = store; - else - annotation.append(store); - } - affirm((depth >= 0), - "Stack underflow while computing save registers");//NOI18N - - annotation.append(frag0.annotation); - - while (regtotal > 0) - annotation.append(InsnUtils.load( - ((Integer)stackTypes.elementAt(++elem)).intValue(), - regnums[--regtotal], pool)); - - noteStack(frag0.stackRequired - note.arg()); - } - - state.insn.insert(annotation); - } - - return insn; - } - - //@olsen: added method for direct annotation of put/getfield - //@olsen: must not return null - private AnnotationFragment buildAccessAnnotation(final InsnNote note) { - final int requiredStack; - final Insn annotation; - - final String targetClassName = note.targetClassName; - final String targetFieldName = note.targetFieldName; - final String targetPCRootClass = note.targetPCRootClass; - - //@olsen: not needed to ensure: note.dirtyThis() && !method.isStatic() - final boolean fetch = (note.fetchPersistent() || note.fetchThis()); - final boolean dirty = (note.dirtyPersistent() || note.dirtyThis()); - //@olsen: added consistency check - affirm((fetch ^ dirty), - "Inconsistent fetch/dirty flags.");//NOI18N - - //@olsen: added println() for debugging - if (false) { - final boolean dfgField = note.dfgFieldAccess(); - final boolean pkField = note.pkFieldAccess(); - - System.out.println(" build access annotation: "//NOI18N - + targetClassName - + "." + targetFieldName + " : "//NOI18N - + (pkField ? "pk," : "!pk,")//NOI18N - + (dfgField ? "dfg," : "!dfg,")//NOI18N - + (fetch ? "fetch " : "dirty ")//NOI18N - + (note.fetchPersistent() - ? "persistent" : "this")//NOI18N - + ";");//NOI18N - } - - final int argSize = note.arg(); - final String fieldSig = note.sig(); - final int fieldType = Descriptor.elementType(fieldSig); - final int fieldIndex = note.targetFieldIndex; - if (false) { - System.out.println(" argSize = " + argSize);//NOI18N - System.out.println(" fieldSig = " + fieldSig);//NOI18N - System.out.println(" fieldType = " + fieldType);//NOI18N - System.out.println(" fieldIndex = " + fieldIndex);//NOI18N - } - - if (fetch) { - // get jdoStateManager - Insn insn = annotation = Insn.create(opc_dup); - insn = insn.append( - Insn.create(opc_getfield, - pool.addFieldRef( - targetPCRootClass, - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - - // test jdoStateManager - // load/dirty field if nonnull - InsnTarget fetchDirty = new InsnTarget(); - InsnTarget afterFetchDirty = new InsnTarget(); - insn = insn.append(Insn.create(opc_dup)); - insn = insn.append( - Insn.create(opc_ifnonnull, fetchDirty)); - - // pop jdoStateManager and skip loading/dirtying - insn = insn.append(Insn.create(opc_pop)); - insn = insn.append( - Insn.create(opc_goto, afterFetchDirty)); - - // invoke StateManager's fetch method - insn = insn.append(fetchDirty); - - // push field's unique index onto stack (1st arg) - insn = insn.append(InsnUtils.integerConstant(fieldIndex, pool)); - - // call stateManager's void prepareGetField(int fieldID) method - requiredStack = 2; - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "prepareGetField",//NOI18N - "(I)V"),//NOI18N - requiredStack)); - - insn = insn.append(afterFetchDirty); - insn = insn.append(note.insn); - } else { - //affirm(dirty); - int singleRegs = 0; - int doubleRegs = 0; - - // move current value into temp registers - affirm(argSize > 0); - final int reg = ((argSize == 1) - ? tmpReg(singleRegs++) - : tmpReg2(doubleRegs++)); - Insn insn = annotation = InsnUtils.store(fieldType, reg, pool); - - // get jdoStateManager - insn = insn.append(Insn.create(opc_dup)); - insn = insn.append( - Insn.create(opc_getfield, - pool.addFieldRef( - targetPCRootClass, - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - - // test jdoStateManager - // load/dirty field if nonnull - InsnTarget fetchDirty = new InsnTarget(); - InsnTarget afterFetchDirty = new InsnTarget(); - insn = insn.append(Insn.create(opc_dup)); - insn = insn.append( - Insn.create(opc_ifnonnull, fetchDirty)); - - // pop jdoStateManager and skip loading/dirtying - insn = insn.append(Insn.create(opc_pop)); - // restore value from registers - affirm(argSize > 0); - insn = insn.append(InsnUtils.load(fieldType, reg, pool)); - //@olsen: 4429769, insert the original putfield instruction here - insn = insn.append(note.insn); - insn = insn.append( - Insn.create(opc_goto, afterFetchDirty)); - - // invoke StateManager's load method - insn = insn.append(fetchDirty); - - // push field's unique index onto stack (1st arg) - insn = insn.append(InsnUtils.integerConstant(fieldIndex, pool)); - - // restore value from registers (2nd arg) - affirm(argSize > 0); - insn = insn.append(InsnUtils.load(fieldType, reg, pool)); - - // call stateManager's setField(index, value) method - switch(fieldType) { - case T_BOOLEAN: - //boolean setBooleanField(int fieldNumber, boolean value); - requiredStack = 3; - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "setBooleanField",//NOI18N - "(IB)B"),//NOI18N - requiredStack)); - //@olsen: 4429769, disregard object and setField's return value - insn = insn.append(Insn.create(opc_pop2)); - break; - case T_CHAR: - //char setCharField(int fieldNumber, char 3); - requiredStack = 3; - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "setCharField",//NOI18N - "(IC)C"),//NOI18N - requiredStack)); - //@olsen: 4429769, disregard object and setField's return value - insn = insn.append(Insn.create(opc_pop2)); - break; - case T_BYTE: - //byte setByteField(int fieldNumber, byte value); - requiredStack = 3; - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "setByteField",//NOI18N - "(IZ)Z"),//NOI18N - requiredStack)); - //@olsen: 4429769, disregard object and setField's return value - insn = insn.append(Insn.create(opc_pop2)); - break; - case T_SHORT: - //short setShortField(int fieldNumber, short value); - requiredStack = 3; - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "setShortField",//NOI18N - "(IS)S"),//NOI18N - requiredStack)); - //@olsen: 4429769, disregard object and setField's return value - insn = insn.append(Insn.create(opc_pop2)); - break; - case T_INT: - //int setIntField(int fieldNumber, int value); - requiredStack = 3; - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "setIntField",//NOI18N - "(II)I"),//NOI18N - requiredStack)); - //@olsen: 4429769, disregard object and setField's return value - insn = insn.append(Insn.create(opc_pop2)); - break; - case T_LONG: - //long setLongField(int fieldNumber, long value); - requiredStack = 4; - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "setLongField",//NOI18N - "(IJ)J"),//NOI18N - requiredStack)); - //@olsen: 4429769, disregard object and setField's return value - insn = insn.append(Insn.create(opc_pop2)); - insn = insn.append(Insn.create(opc_pop)); - break; - case T_FLOAT: - //float setFloatField(int fieldNumber, float value); - requiredStack = 3; - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "setFloatField",//NOI18N - "(IF)F"),//NOI18N - requiredStack)); - //@olsen: 4429769, disregard object and setField's return value - insn = insn.append(Insn.create(opc_pop2)); - break; - case T_DOUBLE: - //double setDoubleField(int fieldNumber, double value); - requiredStack = 4; - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "setDoubleField",//NOI18N - "(ID)D"),//NOI18N - requiredStack)); - //@olsen: 4429769, disregard object and setField's return value - insn = insn.append(Insn.create(opc_pop2)); - insn = insn.append(Insn.create(opc_pop)); - break; - case TC_OBJECT: - case TC_INTERFACE: - //Object setObjectField(int fieldNumber, Object value); - requiredStack = 3; - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "setObjectField",//NOI18N - "(ILjava/lang/Object;)Ljava/lang/Object;"),//NOI18N - requiredStack)); - - //@olsen: 4429769, no need to downcast anymore -/* - // add a down-cast to the field's type - affirm((fieldSig.charAt(0) == 'L' - && fieldSig.charAt(fieldSig.length() - 1) == ';'), - "Inconsistent field signature");//NOI18N - final String fieldTypeClassName - = fieldSig.substring(1, fieldSig.length() - 1); - final ConstClass fieldTypeConstClass - = pool.addClass(fieldTypeClassName); - insn = insn.append( - Insn.create(opc_checkcast, fieldTypeConstClass)); -*/ - //@olsen: 4429769, disregard object and setField's return value - insn = insn.append(Insn.create(opc_pop2)); - break; - default: - throw new InternalError("Unexpected field type");//NOI18N - } - - insn = insn.append(afterFetchDirty); - } - - //@olsen: added println() for debugging - if (false) { - System.out.println(" built annotation, "//NOI18N - + "required stack = "//NOI18N - + requiredStack); - } - - return new AnnotationFragment(annotation, requiredStack); - } - - /** - * Assuming that an object reference is on the top of stack, - * generate an instruction sequence to perform the annotation - * indicated by the note. - */ - //@olsen: must not return null - private AnnotationFragment buildBasicAnnotation(InsnNote note) { - int requiredStack = 2; - Insn basicAnnotation = null; - - //@olsen: changed to use JDOMetaData - final String targetClassName = note.targetClassName; - final String targetFieldName = note.targetFieldName; - final String targetPCRootClass = note.targetPCRootClass; - - //@olsen: not needed to ensure: note.dirtyThis() && !method.isStatic() - final boolean fetch = (note.fetchPersistent() || note.fetchThis()); - final boolean dirty = (note.dirtyPersistent() || note.dirtyThis()); - //@olsen: added consistency check - affirm((fetch ^ dirty), - "Inconsistent fetch/dirty flags.");//NOI18N - - //@olsen: added println() for debugging - if (false) { - final boolean dfgField = note.dfgFieldAccess(); - final boolean pkField = note.pkFieldAccess(); - - System.out.println(" build basic annotation: "//NOI18N - + targetClassName - + "." + targetFieldName + " : "//NOI18N - + (pkField ? "pk," : "!pk,")//NOI18N - + (dfgField ? "dfg," : "!dfg,")//NOI18N - + (fetch ? "fetch " : "dirty ")//NOI18N - + (note.fetchPersistent() - ? "persistent" : "this")//NOI18N - + ";");//NOI18N - } - - //@olsen: changed code for annotation - { - Insn insn = null; - - //requiredStack = 2; - - // get jdoFlags - basicAnnotation = insn = Insn.create(opc_dup); - insn = insn.append( - Insn.create(opc_getfield, - pool.addFieldRef( - targetPCRootClass, - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig))); - - // test jdoFlags - // skip loading for read if <= 0 / for update if == 0 - InsnTarget afterFetchDirty = new InsnTarget(); - insn = insn.append( - Insn.create((fetch ? opc_ifle : opc_ifeq), - afterFetchDirty)); - - // get jdoStateManager - insn = insn.append(Insn.create(opc_dup)); - insn = insn.append( - Insn.create(opc_getfield, - pool.addFieldRef( - targetPCRootClass, - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - - // invoke StateManager's load method - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - (fetch ? "loadForRead" : "loadForUpdate"),//NOI18N - "()V"),//NOI18N - 1)); - - insn = insn.append(afterFetchDirty); - } - - //@olsen: added println() for debugging - if (false) { - System.out.println(" built annotation, "//NOI18N - + "required stack = "//NOI18N - + requiredStack); - } - - return new AnnotationFragment(basicAnnotation, requiredStack); - } - - /** - * Assuming that an object reference is on the top of stack, - * generate an instruction sequence to perform the annotation - * indicated by the note. - */ -//@olsen: disabled feature -/* - private AnnotationFragment buildBasicAnnotation(InsnNote note) { - Insn annotation = null; // used? - - int requiredStack = 2; - Insn basicAnnotation = null; -//@olsen: disabled feature -/// - ConstMethodRef methRef = null; - InsnTarget afterFetchDirty = null; - Insn flagsCheckAnnotation = null; -/// - -//@olsen: disabled feature -/// - ClassAction targetCA = note.targetClassAction(); -/// - -//@olsen: disabled feature -/// - // we may need to save the argument in a register for later use - Insn regStore = null; - if (note.getArgReg() >= 0) { - regStore = Insn.create(opc_dup); - regStore.append(InsnUtils.aStore(note.getArgReg(), pool)); - } -/// - -/// - if (methRef != null) { - if (flagsCheckAnnotation == null) { - basicAnnotation = Insn.create(opc_dup); - basicAnnotation.append(Insn.create(opc_invokestatic, methRef)); - } else { - basicAnnotation = flagsCheckAnnotation; - basicAnnotation.append(Insn.create(opc_dup)); - basicAnnotation.append(Insn.create(opc_invokestatic, methRef)); - basicAnnotation.append(afterFetchDirty); - } - } -/// - -//@olsen: disabled feature -/// - if (note.fetchPersistent() || - (note.fetchThis() && thisIsPersistent())) { - methRef - = pool.addMethodRef("com/sun/forte4j/persistence/internal/Implementation", "fetch", - "(" + JDOMetaData.JDOPersistenceCapableSig + ")V"); - if (targetCA != null) { - targetCA.ensureFlagsMemberValid(); - - if (targetCA.getFlagsMember() != null) { - ClassControl flagsCC = targetCA.getFlagsMemberClassControl(); - - flagsCheckAnnotation = Insn.create(opc_dup); - //@olsen: changed to use JDOMetaData - flagsCheckAnnotation.append( - Insn.create(opc_getfield, - pool.addFieldRef( - targetPCRootClass, - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig))); - flagsCheckAnnotation.append( - Insn.create(opc_getfield, - pool.addFieldRef(flagsCC.className(), - targetCA.getFlagsMember(), - "B"))); - afterFetchDirty = new InsnTarget(); - //@olsen: skip loading for read if <= 0 - flagsCheckAnnotation.append( - Insn.create(opc_ifle, - afterFetchDirty)); - } - } - } else if (note.dirtyPersistent() || - (note.dirtyThis() && thisIsPersistent())) { - methRef - = pool.addMethodRef("com/sun/forte4j/persistence/internal/Implementation", "dirty", - "(" + JDOMetaData.JDOPersistenceCapableSig + ")V"); - if (targetCA != null) { - targetCA.ensureFlagsMemberValid(); - - if (targetCA.getFlagsMember() != null) { - ClassControl flagsCC = targetCA.getFlagsMemberClassControl(); - flagsCheckAnnotation = Insn.create(opc_dup); - //@olsen: changed to use JDOMetaData - flagsCheckAnnotation.append( - Insn.create(opc_getfield, - pool.addFieldRef( - targetPCRootClass, - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig))); - flagsCheckAnnotation.append( - Insn.create(opc_getfield, - pool.addFieldRef(flagsCC.className(), - targetCA.getFlagsMember(), - "B"))); - afterFetchDirty = new InsnTarget(); - flagsCheckAnnotation.append(Insn.create(opc_iconst_2)); - flagsCheckAnnotation.append(Insn.create(opc_iand)); - flagsCheckAnnotation.append( - Insn.create(opc_ifeq, - afterFetchDirty)); - // One more word is needed here for the constant - requiredStack = 2; - } - } - } else if (note.fetchArray()) { - String fetchSig = - arrayFetchSignature(env.doArrayElementFetch() - ? note.arrayElementType() : 0); - methRef = pool.addMethodRef("com/sun/forte4j/persistence/internal/Implementation", "fetch", fetchSig); - } else if (note.fetchObject()) { - methRef = pool.addMethodRef("com/sun/forte4j/persistence/internal/Implementation", "fetch", - "(Ljava/lang/Object;)V"); - } else if (note.dirtyArray()) { - methRef = pool.addMethodRef("com/sun/forte4j/persistence/internal/Implementation", "dirty", - "(Ljava/lang/Object;)V"); - } else if (note.dirtyObject()) { - methRef = pool.addMethodRef("com/sun/forte4j/persistence/internal/Implementation", "dirty", - "(Ljava/lang/Object;)V"); - } - - if (methRef != null) { - if (flagsCheckAnnotation == null) { - basicAnnotation = Insn.create(opc_dup); - basicAnnotation.append(Insn.create(opc_invokestatic, methRef)); - } else { - basicAnnotation = flagsCheckAnnotation; - basicAnnotation.append(Insn.create(opc_dup)); - basicAnnotation.append(Insn.create(opc_invokestatic, methRef)); - basicAnnotation.append(afterFetchDirty); - } - - boolean cacheResult = false; - - if (env.doArrayOptimization() && - (note.fetchArray() || note.dirtyArray()) && - note.inLoop()) - cacheResult = true; - - if (cacheResult || note.checkNull()) { - // Since this method appears to create a loop of some sort, - // add a cache to remember what array has been fetched - int cacheSlot = 0; - InsnTarget skipTo = new InsnTarget(); - - // This generally requires at least two words of stack - if (cacheResult) - cacheSlot = newCacheSlot(); - - Insn skipAnnotation = Insn.create(opc_dup); - if (note.checkNull()) { - // skip cache-check/fetch if null - skipAnnotation.append(Insn.create(opc_ifnull, skipTo)); - - if (cacheResult) - // we used the dup'd result so dup again - skipAnnotation.append(Insn.create(opc_dup)); - } - - if (cacheResult) { - skipAnnotation.append(InsnUtils.aLoad(cacheSlot, pool)); - skipAnnotation.append(Insn.create(opc_if_acmpeq, skipTo)); - } - - skipAnnotation.append(basicAnnotation); - - if (cacheResult) { - skipAnnotation.append(Insn.create(opc_dup)); - skipAnnotation.append(InsnUtils.aStore(cacheSlot, pool)); - } - - if (requiredStack < 2) - requiredStack = 2; - - skipAnnotation.append(skipTo); - basicAnnotation = skipAnnotation; - } - } -/// - -//@olsen: disabled feature -/// - // Put the unconditional store-arg-to-register annotation at the - // front if non-null - if (regStore != null) { - regStore.append(basicAnnotation); - basicAnnotation = regStore; - } -/// - - if (basicAnnotation != null) - return new AnnotationFragment(basicAnnotation, requiredStack); - - return null; - } -*/ - - /** - * Compute the method signature for a array fetch() method call based - * on the type of array element (as defined in AnnotationConstants - */ -//@olsen: disabled feature -/* - String arrayFetchSignature(int arrayElementType) { - switch (arrayElementType) { - case ArrayTypeBoolean: - return "([Z)V"; - case ArrayTypeByte: - return "([B)V"; - case ArrayTypeChar: - return "([C)V"; - case ArrayTypeShort: - return "([S)V"; - case ArrayTypeInt: - return "([I)V"; - case ArrayTypeLong: - return "([J)V"; - case ArrayTypeFloat: - return "([F)V"; - case ArrayTypeDouble: - return "([D)V"; - case ArrayTypeObject: - return "([Ljava/lang/Object;)V"; - } - // No special matching type - just use the default signature. - return "(Ljava/lang/Object;)V"; - } -*/ - - /** - * Allocate a two word temporary register - * @param idx the index of the temporary register to return. If the - * specified temporary hasn't been allocated, allocated it now. - */ - private int tmpReg2(int idx) { - if (tmpDoubleRegisters == null) - tmpDoubleRegisters = new Vector(3); - - // allocated as many 2 register pairs as necessary in order to - // make idx be a valid index - while (tmpDoubleRegisters.size() <= idx) { - final CodeAttribute codeAttr = method.codeAttribute(); - final int reg = codeAttr.localsUsed(); - tmpDoubleRegisters.addElement(Integer.valueOf(reg)); - codeAttr.setLocalsUsed(reg+2); - } - - return ((Integer)tmpDoubleRegisters.elementAt(idx)).intValue(); - } - - /** - * Allocate a one word temporary register - * @param idx the index of the temporary register to return. If the - * specified temporary hasn't been allocated, allocated it now. - */ - private int tmpReg(int idx) { - if (tmpRegisters == null) - tmpRegisters = new Vector(3); - - // allocate as many registers as necessary in order to - // make idx be a valid index - while (tmpRegisters.size() <= idx) { - final CodeAttribute codeAttr = method.codeAttribute(); - final int reg = codeAttr.localsUsed(); - tmpRegisters.addElement(Integer.valueOf(reg)); - codeAttr.setLocalsUsed(reg+1); - } - return ((Integer)tmpRegisters.elementAt(idx)).intValue(); - } - - /** - * Allocate an object fetch/store cache slot - */ -//@olsen: disabled feature -/* - private int newCacheSlot() { - CodeAttribute codeAttr = method.codeAttribute(); - int slot = codeAttr.localsUsed(); - codeAttr.setLocalsUsed(slot+1); - if (caches == null) - caches = new Vector(3); - caches.addElement(new Integer(slot)); - return slot; - } -*/ - - /** - * Note the following amount of stack used by a single annotation. - */ - private void noteStack(int stk) { - if (stk > annotationStack) - annotationStack = (short)stk; - } - - /** - * Is this a non-static method of a persistence-capable class? - */ -//@olsen: disabled feature -/* - private boolean thisIsPersistent() { - return (ca.persistCapable() && - !method.isStatic()); - } -*/ - -// --------------------------------------------------------------------------- - - /** - * Attempt to locate the instruction which deposits to the top of stack - * the 1 word stack argument to currInsn which is argDepth deep on the - * stack (top of stack == 0). - * If unable to determine this with confidence, return null. - * - * Note that this method will not look back past a target. - * Also, the operations performed by the dup2, dup_x1, dup_x2, dup2_x1, - * dup2_x2 instructions are currently not understood by this method so - * we don't attempt to chain back through these instructions. - */ - private Insn findArgDepositer(Insn currInsn, int argDepth) { - Insn depositer = null; - for (Insn i = currInsn.prev(); argDepth >= 0; i = i.prev()) { - // At control flow branch/merge points, abort the search for the - // target operand. - if (i.branches() || - ((i instanceof InsnTarget) && ((InsnTarget)i).isBranchTarget())) - break; - - int nArgs = i.nStackArgs(); - int nResults = i.nStackResults(); - - if (argDepth - nResults < 0) { - // This instruction does deposit the value - // For now, don't return depositers other than opc_dup which - // deposit more than one value. These are the - // long/doubleinstructions (which can't be depositing a one - // word value) and the dupX variants - if (nResults > 1 && i.opcode() != opc_dup) - break; - depositer = i; - - // consider special cases which may cause us to look further - switch (i.opcode()) { - case opc_dup: - if (argDepth == 0) - // keep going to find the real depositer at a greater depth - argDepth++; - break; - case opc_checkcast: - // keep going to find the real depositer - break; - default: - return i; - } - } - - argDepth += (nArgs - nResults); - } - - return depositer; - } - - /** - * Assume that after the execution of state.insn there is a word on - * the stack which is state.argDepth words deep. - * Scan backwards through the instruction sequence, attempting to - * locate an instruction after which the argument is at a minimal - * depth w.r.t. the top of stack. Update the state to indicate - * progress. - * Note that this method will not look back past a target. - */ - private void minimizeStack(StackState state) { - Insn i = state.insn; - int argDepth = state.argDepth; - - Stack argTypesStack = new Stack(); - Stack resultTypesStack = new Stack(); - Stack stackTypes = new Stack(); - copyStack(state.stackTypes, stackTypes); - - for (; argDepth > 0; i = i.prev()) { - // At control flow branch/merge points, abort the search for the - // target operand. The caller will have to make do with the best - // stack state computed thus far. - if (i.branches() || - ((i instanceof InsnTarget) - && ((InsnTarget)i).isBranchTarget())) - break; - - int nArgs = i.nStackArgs(); - int nResults = i.nStackResults(); - String argTypes = i.argTypes(); - String resultTypes = i.resultTypes(); - - argDepth -= nResults; - // If the target argument was placed there by an instruction which - // deposited multiple results (one of the dup type instructions) - // then we don't have the smarts to figure out where it came from - // so just quit looking - if (argDepth < 0) - break; - argDepth += nArgs; - - if (i.opcode() == opc_swap) { - Object x = stackTypes.pop(); - Object y = stackTypes.pop(); - stackTypes.push(x); - stackTypes.push(y); - } else { - // Make sure the arg types and result types stacks are empty - while (!argTypesStack.empty()) argTypesStack.pop(); - while (!resultTypesStack.empty()) resultTypesStack.pop(); - - Descriptor.computeStackTypes(argTypes, argTypesStack); - Descriptor.computeStackTypes(resultTypes, resultTypesStack); - - int expectWords = 0; - while (!resultTypesStack.empty()) - expectWords += Descriptor.elementSize( - ((Integer) resultTypesStack.pop()).intValue()); - - while (expectWords > 0) - expectWords -= Descriptor.elementSize( - ((Integer) stackTypes.pop()).intValue()); - - if (expectWords < 0) { - // perhaps we ought to signal an exception, but returning - // will keep things going just fine. - return; - } - - transferStackArgs(argTypesStack, stackTypes); - } - - if (argDepth >= 0 && argDepth < state.argDepth && - knownTypes(stackTypes, argDepth)) { - state.argDepth = argDepth; - state.insn = i.prev(); - copyStack(stackTypes, state.stackTypes); - } - } - } - - /* Take all stack elements in fromStack and push them onto toStack - * such that they are in the same relative stack positions */ - private final void transferStackArgs(Stack fromStack, Stack toStack) { - if (!fromStack.empty()) { - Object o = fromStack.pop(); - transferStackArgs(fromStack, toStack); - toStack.push(o); - } - } - - /* Make toStack look just like fromStack */ - private final void copyStack(Stack fromStack, Stack toStack) { - while (!toStack.empty()) - toStack.pop(); - - // take advantage of Stack's inheritance from Vector - for (int i=0; i= 0 && nWords > 0; i--) { - int words = 0; - switch (((Integer)stack.elementAt(i)).intValue()) { - case T_UNKNOWN: - case T_WORD: - case T_TWOWORD: - return false; - - case T_BOOLEAN: - case T_CHAR: - case T_FLOAT: - case T_BYTE: - case T_SHORT: - case T_INT: - case TC_OBJECT: - case TC_INTERFACE: - case TC_STRING: - words = 1; - break; - - case T_DOUBLE: - case T_LONG: - words = 2; - break; - - default: - break; - } - nWords -= words; - } - return true; - } - -// --------------------------------------------------------------------------- - - /** - * Add a list of notes to the note list. - */ - //@olsen: made final - private final void addNoteList(InsnNote note) { - insnNotes.put(note.insn, note); - } - - /** - * Find the note list for the specified instruction. - */ - //@olsen: made final - private final InsnNote getNoteList(Insn insn) { - return (InsnNote)insnNotes.get(insn); - } -} - -// --------------------------------------------------------------------------- - -/** - * Class loop is a simple class to represent a possible looping construct - * within a method. - */ -//@olsen: disabled feature -/* -class Loop { - int loopStart; // instruction offset - inclusive - int loopEnd; // instruction offset - inclusive - - Loop(int lStart, int lEnd) { - loopStart = lStart; - loopEnd = lEnd; - } -*/ - - /** - * Scan the instructions looking for backward branches which suggests a - * loop structure. If any are found, return a Loop object which - * represents the largest possible loop. - */ -//@olsen: disabled feature -/* - static Loop checkLoops(Insn code) { - // Use 999999 to represent an impossibly large instruction offset - // The current VM design limits methods to 64k of instructions - int loopStart = 999999; - int loopEnd = 0; - - for (Insn i = code; i != null; i = i.next()) { - if (i instanceof InsnTargetOp) { - InsnTarget targ = ((InsnTargetOp) i).target(); - if (targ.offset() < i.offset()) { - // a backward branch - if (targ.offset() < loopStart) - loopStart = targ.offset(); - if (i.offset() > loopEnd) - loopEnd = i.offset(); - } - } - } - - if (loopStart < loopEnd) - return new Loop(loopStart, loopEnd); - return null; - } -*/ - - /** - * Is the instruction contained within the loop? - * Note that the instruction must have a valid offset for this - * to answer correctly. - */ -//@olsen: disabled feature -/* - boolean contains(Insn i) { - return i.offset() >= loopStart && i.offset() <= loopEnd; - } -} -*/ - -// --------------------------------------------------------------------------- - -/** - * A structure to record what annotation requirements are implied - * by a particular VM instruction. - */ -class InsnNote - extends Support - implements AnnotationConstants { - //@olsen: made final - final Insn insn; - int insnFlags; - final int argWord; -//@olsen: disabled feature -/* - int argReg = -1; -*/ - final String stackSig; - - //@olsen: added fields - final String targetClassName; - final String targetFieldName; - final int targetFieldIndex; - final String targetPCRootClass; -//@olsen: disabled feature -/* - final ClassAction targetClassAction; -*/ - - /** - * Return the next instruction note in this instruction sequence. - * Most instructions need only a single note, but subtypes may need - * to be chained, and should re-implement next(). - */ - InsnNote next() { - return null; - } - - /** - * Return a descriptor for the current stack state. This descriptor - * is a sequence of VM element type descriptors in decreasing stack - * depth order. That is, the element on the top of stack is the last - * element in the descriptor signature. This descriptor is only - * guaranteed to represent the objects between the instruction stack - * operand (which is offset arg()) deep on the stack and the top of - * stack at the time insn is to be executed. It may however contain - * additional descriptor elements. - */ - final String sig() { - return stackSig; - } - -//@olsen: disabled feature -/* - final ClassAction targetClassAction() { - return targetClassAction; - } -*/ - - /** - * Return the offset from the top of the stack of the argument - */ - final int arg() { - return argWord; - } - - final boolean fetchThis() { - return (insnFlags & FetchThis) != 0; - } - -//@olsen: disabled feature -/* - final void dontFetchThis() { - insnFlags &= ~FetchThis; - } -*/ - - final boolean dirtyThis() { - return (insnFlags & DirtyThis) != 0; - } - -//@olsen: disabled feature -/* - final void dontDirtyThis() { - insnFlags &= ~DirtyThis; - } -*/ - -//@olsen: disabled feature -/* - final boolean unconditional() { - return (insnFlags & Unconditional) != 0; - } -*/ - -//@olsen: disabled feature / not used anymore -/* - final boolean fetchObject() { - return (insnFlags & FetchObject) != 0; - } - - final boolean dirtyObject() { - return (insnFlags & DirtyObject) != 0; - } -*/ - - final boolean fetchPersistent() { - return (insnFlags & FetchPersistent) != 0; - } - - final boolean dirtyPersistent() { - return (insnFlags & DirtyPersistent) != 0; - } - - //@olsen: added method - final boolean dfgFieldAccess() { - return (insnFlags & DFGField) != 0; - } - - //@olsen: added method - final boolean pkFieldAccess() { - return (insnFlags & PKField) != 0; - } - -//@olsen: disabled feature -/* - final boolean fetchArray() { - return (insnFlags & FetchArray) != 0; - } - - final boolean dirtyArray() { - return (insnFlags & DirtyArray) != 0; - } - - final int arrayElementType() { - return insnFlags & ArrayTypeMask; - } - - final boolean inLoop() { - return (insnFlags & InLoop) != 0; - } - - final boolean checkNull() { - return (insnFlags & CheckNull) != 0; - } -*/ - - /* If getArgReg returns < 0, the argReg is not set */ -//@olsen: disabled feature -/* - final int getArgReg() { - return argReg; - } - - final void setArgReg(int reg) { - argReg = reg; - } -*/ - - /** - * Construct an instruction note. - * @param argWord must be the depth of the word on the stack in - * word units - * @param stackSig a stack descriptor for the stack - see - * the doc for sig(). - */ - InsnNote(Insn i, int flags, int argWord, - String stackSig, - String targetClassName, - String targetFieldName, - int targetFieldIndex, - String targetPCRootClass) { -//@olsen: disabled feature -/* - InsnNote(Insn i, int flags, int argWord, - String stackSig, ClassAction targetClassAction) { -*/ - insn = i; - insnFlags = flags; - this.stackSig = stackSig; - this.argWord = argWord; -//@olsen: disabled feature -/* - this.targetClassAction = targetClassAction; -*/ - this.targetClassName = targetClassName; - this.targetFieldName = targetFieldName; - this.targetFieldIndex = targetFieldIndex; - this.targetPCRootClass = targetPCRootClass; - - //@olsen: added consistency check - affirm(!(insn == null - || argWord < 0 - || targetClassName == null - || targetFieldName == null - || targetFieldIndex < 0 - || targetPCRootClass == null), - "Inconsistent instruction annotation note.");//NOI18N - } -} - -/** - * A specialized form of instruction note for method invocation arguments. - * The only thing that this adds is a link element to allow multiple notes - * to apply to an instruction. - */ -//@olsen: disabled feature -/* -class InsnArgNote extends InsnNote { - InsnArgNote nextNote; - - InsnNote next() { - return nextNote; - } - - InsnArgNote(Insn i, int flags, int argWord, String stackSig) { - super(i, flags, argWord, stackSig, null, null); - } -} -*/ - -// --------------------------------------------------------------------------- - -/** - * StackState is really just a simple association of instruction - * and the depth of some stack operand on the operand stack. - */ -class StackState implements VMConstants { - /* number of words deep that the target word is */ - int argDepth; - - /* Stack of types */ - Stack stackTypes; - - /* the instruction after which, the word is argDepth deep */ - Insn insn; - - StackState(int depth, String stackSig, Insn i) { - stackTypes = new Stack(); - Descriptor.computeStackTypes(stackSig, stackTypes); - argDepth = depth; - insn = i; - } -} - -/** - * AnnotationFragment is really just a simple association of instruction - * and the number of words of stack used during the execution of the - * fragment. - */ -class AnnotationFragment { - Insn annotation; - int stackRequired; - - AnnotationFragment(Insn i, int stack) { - annotation = i; - stackRequired = stack; - } -} - -// --------------------------------------------------------------------------- - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodBuilder.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodBuilder.java deleted file mode 100644 index f357d964d28..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/impl/MethodBuilder.java +++ /dev/null @@ -1,2450 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.impl; - -import java.util.HashMap; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Enumeration; - -import com.sun.jdo.api.persistence.enhancer.classfile.*; - -import com.sun.jdo.api.persistence.enhancer.util.Support; -import com.sun.jdo.api.persistence.enhancer.util.InternalError; -import com.sun.jdo.api.persistence.enhancer.util.ClassFileSource; - -//@olsen: added import -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaData; - - -//@olsen: cosmetics -//@olsen: moved: this class -> package impl -//@olsen: subst: (object)state -> flags -//@olsen: subst: JDOflags -> jdoFlags -//@olsen: subst: makeJDO[gs]etFlags -> makeJDO[GS]etFlags -//@olsen: subst: JDO[gs]etFlags -> jdo[GS]etFlags -//@olsen: subst: [Nn]eedsJDORefMethods -> [Nn]eedsJDOStateManagerMethods -//@olsen: subst: JDOref -> jdoStateManager -//@olsen: subst: makeJDO[gs]etRef -> makeJDO[GS]etStateManager -//@olsen: subst: JDO[gs]etRef -> jdo[GS]etStateManager -//@olsen: subst: [iI]Persistent -> [pP]ersistenceCapable -//@olsen: subst: PersistentAux -> StateManager -//@olsen: subst: jdo/ -> com/sun/forte4j/persistence/internal/ -//@olsen: subst: jdo. -> com.sun.forte4j.persistence.internal. -//@olsen: subst: /* ... */ -> // ... -//@olsen: added: final modifiers on local variables -//@olsen: subst: FilterEnv -> Environment -//@olsen: made MethodBuilder's methods non-static -//@olsen: dropped parameter 'Environment env', use association instead -//@olsen: subst: Enumeration,... -> Iterator, hasNext(), next() -//@olsen: subst: myMethodName -> methodName -//@olsen: added: support for I18N -//@olsen: subst: FilterError -> UserException, affirm() -//@olsen: removed: proprietary support for ClassInfo -//@olsen: removed: proprietary support for FieldNote -//@olsen: removed: old, disabled ODI code - - -/** - * MethodBuilder is a collection of methods which - * create the persistence methods of a persistent class - */ -class MethodBuilder - extends Support - implements VMConstants { - - //@olsen: fix for bug 4467428: - // Debugging under jdk 1.3.1 shows the problem that any breakpoints - // in PC classes are ignored if the added jdo methods do NOT have a - // non-empty line number table attribute, no matter whether the - // 'Synthetic' attribute is given or not. However, this doesn't - // seem to comply with the JVM Spec (2nd edition), which states - // that the synthetic attribute _must_ be specified if no source - // code information is available for the member: - // - // 4.7.6 The Synthetic Attribute - // ... A class member that does not appear in the source code must - // be marked using a Synthetic attribute. ... - // - // 4.7.8 The LineNumberTable Attribute - // The LineNumberTable attribute is an optional variable-length - // attribute in the attributes table of a Code (see 4.7.3) - // attribute. It may be used by debuggers to determine which - // part of the Java virtual machine code array corresponds to a - // given line number in the original source file. ... Furthermore, - // multiple LineNumberTable attributes may together represent a - // given line of a source file; that is, LineNumberTable attributes - // need not be one-to-one with source lines. - // - // Unfortunately, if we do both, adding the synthetic attribute and - // a (dummy) line number table on generated methods, jdk's 1.3.1 javap - // fails to disassemble the classfile with an exception: - // - // sun.tools.java.CompilerError: checkOverride() synthetic - // - // So, to workaround these problems and to allow for both, debugging - // and disassembling with the jdk (1.3.1) tools, we pretend that the - // generated jdo methods have source code equivalents by - // - not adding the synthetic code attribute - // - providing a dummy line number table code attribute - static private final boolean addSyntheticAttr = false; - static private final boolean addLineNumberTableAttr = true; - - /* Central repository for the options and classes */ - //@olsen: added association - //@olsen: made final - private final Environment env; - - /** - * Constructor. - */ - //@olsen: added constructor - //@olsen: added parameter 'env' for association - public MethodBuilder(Environment env) { - this.env = env; - } - - /** - * Build a null method named methodName for the class. - * - * public void methodName() { - * } - */ - //@olsen: moved to beginning of this class - ClassMethod makeNullMethod(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "()V";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass thisClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - final ClassMethod nullMethod - = new ClassMethod(ACCPublic, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // end of method body - insn = insn.append(Insn.create(opc_return)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 0, // maxStack - 1, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return nullMethod; - } - - /** - * Build the initializeContents method for the class - */ -//@olsen: dropped method -/* - ClassMethod makeInitializeContents(ClassAction ca) { - final ConstantPool pool = ca.classFile().pool(); - final ConstClass thisClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - ClassMethod initializeContentsMethod = - new ClassMethod(ACCPublic, - pool.addUtf8("initializeContents"), - pool.addUtf8("(Lcom/sun/forte4j/persistence/internal/ObjectContents;)V"), - methodAttrs); - - // begin of method body - Insn begin = new InsnTarget(); - Insn insn = begin; - - // Allocated reg 2 as cached ClassInfo* - insn = insn.append( - Insn.create(opc_getstatic, - pool.addFieldRef(thisClass.asString(), - ca.getClassInfoMember(), - "Lcom/sun/forte4j/persistence/internal/ClassInfo;"))); - insn = insn.append(Insn.create(opc_astore_2)); - - for (Iterator e = ca.fieldActions(); e.hasNext();) { - FieldAction act = (FieldAction)e.next(); - if (act.isPersistent()) { - int idx = act.index(); - // get this - insn = insn.append(Insn.create(opc_aload_0)); - // get GenericObject - insn = insn.append(Insn.create(opc_aload_1)); - // get field index - insn = insn.append(InsnUtils.integerConstant(idx, pool)); - // get ClassInfo - insn = insn.append(Insn.create(opc_aload_2)); - // call the get method - insn = insn.append(Insn.create(opc_invokevirtual, - pool.addMethodRef("com/sun/forte4j/persistence/internal/ObjectContents", - act.getMethod(), act.getMethodSig()))); - - switch(act.getMethodReturn()) { - case T_DOUBLE: - case T_LONG: - case T_BOOLEAN: - case T_CHAR: - case T_FLOAT: - case T_BYTE: - case T_SHORT: - case T_INT: - case TC_STRING: - // The above types are assumed to be accurate, with no - // conversions required - break; - - case TC_OBJECT: - case TC_INTERFACE: - if (!act.typeDescriptor().equals("Ljava/lang/Object;")) { - ConstClass fieldType = pool.addClass(act.typeName()); - // Add a cast to the appropriate type - insn = insn.append(Insn.create(opc_checkcast, fieldType)); - } - break; - default: - throw new InternalError("Unexpected return type"); - } - - // finally, store the result - insn = insn.append(Insn.create(opc_putfield, - pool.addFieldRef(thisClass.asString(), act.fieldName(), - act.typeDescriptor()))); - } - } - - ConstClass superClass = ca.classFile().superName(); - if (!ca.getImplementsPersistence()) { - // Need to invoke initializeContents on super - // get this - insn = insn.append(Insn.create(opc_aload_0)); - // get generic object - insn = insn.append(Insn.create(opc_aload_1)); - // do the invoke - insn = insn.append(Insn.create(opc_invokespecial, - pool.addMethodRef(superClass.asString(), - "initializeContents", "(Lcom/sun/forte4j/persistence/internal/ObjectContents;)V"))); - } - - // end of method body - insn = insn.append(Insn.create(opc_return)); - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 4, // maxStack - 3, // maxLocals - begin, - new ExceptionTable(), - new AttributeVector())); - return initializeContentsMethod; - } -*/ - - /** - * Build the flushContents method for the class - */ -//@olsen: dropped method -/* - ClassMethod makeFlushContents(ClassAction ca) { - final ConstantPool pool = ca.classFile().pool(); - final ConstClass thisClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - ClassMethod flushContentsMethod = - new ClassMethod(ACCPublic, - pool.addUtf8("flushContents"), - pool.addUtf8("(Lcom/sun/forte4j/persistence/internal/ObjectContents;)V"), - methodAttrs); - - // begin of method body - Insn begin = new InsnTarget(); - Insn insn = begin; - - // Allocated reg 2 as cached ClassInfo* - insn = insn.append( - Insn.create(opc_getstatic, - pool.addFieldRef(thisClass.asString(), - ca.getClassInfoMember(), - "Lcom/sun/forte4j/persistence/internal/ClassInfo;"))); - insn = insn.append(Insn.create(opc_astore_2)); - - for (Iterator e = ca.fieldActions(); e.hasNext();) { - FieldAction act = (FieldAction)e.next(); - if (act.isPersistent()) { - int idx = act.index(); - // get GenericObject - insn = insn.append(Insn.create(opc_aload_1)); - // get field index - insn = insn.append(InsnUtils.integerConstant(idx, pool)); - // get this - insn = insn.append(Insn.create(opc_aload_0)); - // get the field value - insn = insn = insn.append(Insn.create(opc_getfield, - pool.addFieldRef(thisClass.asString(), act.fieldName(), - act.typeDescriptor()))); - // get ClassInfo - insn = insn.append(Insn.create(opc_aload_2)); - - // call the set method - insn = insn.append(Insn.create(opc_invokevirtual, - pool.addMethodRef("com/sun/forte4j/persistence/internal/ObjectContents", - act.setMethod(), act.setMethodSig()))); - } - } - - ConstClass superClass = ca.classFile().superName(); - if (!ca.getImplementsPersistence()) { - // Need to invoke flushContents on super - // get this - insn = insn.append(Insn.create(opc_aload_0)); - // get generic object - insn = insn.append(Insn.create(opc_aload_1)); - // do the invoke - insn = insn.append(Insn.create(opc_invokespecial, - pool.addMethodRef(superClass.asString(), - "flushContents", "(Lcom/sun/forte4j/persistence/internal/ObjectContents;)V"))); - } - - // end of method body - insn = insn.append(Insn.create(opc_return)); - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 6, // maxStack (might actually be 5, but ok) - 3, // maxLocals - begin, - new ExceptionTable(), - new AttributeVector())); - return flushContentsMethod; - } -*/ - - /** - * Build the clearContents method for the class - */ -//@olsen: dropped method -/* - ClassMethod makeClearContents(ClassAction ca) { - final ConstantPool pool = ca.classFile().pool(); - final ConstClass thisClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - ClassMethod clearContentsMethod = - new ClassMethod(ACCPublic, - pool.addUtf8("clearContents"), - pool.addUtf8("()V"), - methodAttrs); - - // begin of method body - Insn begin = new InsnTarget(); - Insn insn = begin; - - for (Iterator e = ca.fieldActions(); e.hasNext();) { - FieldAction act = (FieldAction)e.next(); - if (act.isPersistent()) { - int idx = act.index(); - // get this - insn = insn.append(Insn.create(opc_aload_0)); - - // Use the getMethodReturn type to decide how to initialize - switch(act.getMethodReturn()) { - case T_DOUBLE: - insn = insn.append(Insn.create(opc_dconst_0)); - break; - case T_LONG: - insn = insn.append(Insn.create(opc_lconst_0)); - break; - case T_FLOAT: - insn = insn.append(Insn.create(opc_fconst_0)); - break; - case T_BOOLEAN: - case T_CHAR: - case T_BYTE: - case T_SHORT: - case T_INT: - insn = insn.append(Insn.create(opc_iconst_0)); - break; - case TC_STRING: - case TC_OBJECT: - case TC_INTERFACE: - insn = insn.append(Insn.create(opc_aconst_null)); - break; - default: - throw new InternalError("Unexpected return type"); - } - - // finally, store the result - insn = insn.append(Insn.create(opc_putfield, - pool.addFieldRef(thisClass.asString(), act.fieldName(), - act.typeDescriptor()))); - } - } - - ConstClass superClass = ca.classFile().superName(); - if (!ca.getImplementsPersistence()) { - // Need to invoke clearContents on super - // get this - insn = insn.append(Insn.create(opc_aload_0)); - // do the invoke - insn = insn.append(Insn.create(opc_invokespecial, - pool.addMethodRef(superClass.asString(), - "clearContents", "()V"))); - } - - // end of method body - insn = insn.append(Insn.create(opc_return)); - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 3, // maxStack (maybe only 2 - ok) - 1, // maxLocals - begin, - new ExceptionTable(), - new AttributeVector())); - return clearContentsMethod; - } -*/ - - /** - * Build an empty class initializer method for this class - */ -//@olsen: dropped method -/* - ClassMethod makeClassInit(ClassAction ca) { - final ConstantPool pool = ca.classFile().pool(); - final ConstClass thisClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - ClassMethod classInitMethod = - new ClassMethod(ACCStatic, - pool.addUtf8(""), - pool.addUtf8("()V"), - methodAttrs); - - // begin of method body - Insn begin = new InsnTarget(); - Insn insn = begin; - - // return from the initializer - // end of method body - insn = insn.append(Insn.create(opc_return)); - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 0, - 0, // maxLocals - begin, - new ExceptionTable(), - new AttributeVector())); - return classInitMethod; - } -*/ - - /** - * Build the jdoGetStateManager method for the class. - * - * public StateManager jdoGetStateManager() { - * return this.jdoStateManager; - * } - */ - //@olsen: cosmetics - ClassMethod makeJDOGetStateManager(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "()" + JDOMetaData.JDOStateManagerSig;//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - - //@olsen: made method final - final ClassMethod jdoGetStateManagerMethod - = new ClassMethod(ACCPublic | ACCFinal, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // get jdoStateManager field - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create(opc_getfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - - // end of method body - insn = insn.append(Insn.create(opc_areturn)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 1, // maxStack - 1, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoGetStateManagerMethod; - } - - /** - * Build the jdoSetStateManager method for the class. - * - * public void jdoSetStateManager(StateManager sm) { - * this.jdoStateManager = sm; - * } - */ - //@olsen: cosmetics - ClassMethod makeJDOSetStateManager(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "(" + JDOMetaData.JDOStateManagerSig + ")V";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - - //@olsen: made method final - final ClassMethod jdoSetStateManagerMethod - = new ClassMethod(ACCPublic | ACCFinal, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // put argument value to jdoStateManager field - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append( - Insn.create(opc_putfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - - // end of method body - insn = insn.append(Insn.create(opc_return)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 2, // maxStack - 2, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoSetStateManagerMethod; - } - - /** - * Build the jdoGetFlags method for the class. - * - * public byte jdoGetFlags() { - * return this.jdoFlags; - * } - */ - //@olsen: cosmetics - ClassMethod makeJDOGetFlags(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "()B";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - - //@olsen: made method final - final ClassMethod jdoGetFlagsMethod - = new ClassMethod(ACCPublic | ACCFinal, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // get jdoFlags field - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create(opc_getfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig))); - - // end of method body - insn = insn.append(Insn.create(opc_ireturn)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 1, // maxStack - 1, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoGetFlagsMethod; - } - - /** - * Build the jdoSetFlags method for the class. - * - * public void jdoSetFlags(byte flags) { - * this.jdoFlags = flags; - * } - */ - //@olsen: cosmetics - ClassMethod makeJDOSetFlags(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "(B)V";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - - //@olsen: made method final - final ClassMethod jdoSetFlagsMethod - = new ClassMethod(ACCPublic | ACCFinal, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // put argument value to jdoFlags field - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append(Insn.create(opc_iload_1)); - insn = insn.append( - Insn.create(opc_putfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig))); - - // end of method body - insn = insn.append(Insn.create(opc_return)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 2, // maxStack - 2, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoSetFlagsMethod; - } - - /** - * Build the jdoMakeDirty method for the class. - * - * public void makeDirty() { - * final StateManager sm = this.jdoStateManager; - * if (sm != null) - * sm.makeDirty(fieldName); - * } - */ - //@olsen: added method for generating the jdoMakeDirty method - ClassMethod makeJDOMakeDirtyMethod(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "(Ljava/lang/String;)V";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - - //@olsen: made method final - final ClassMethod jdoMakeDirtyMethod - = new ClassMethod(ACCPublic | ACCFinal, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // fetch the jdoStateManager field into local var - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create( - opc_getfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - insn = insn.append(Insn.create(opc_astore_2)); - - // test the jdoStateManager field and goto end if null - InsnTarget end = new InsnTarget(); - insn = insn.append(Insn.create(opc_aload_2)); - insn = insn.append(Insn.create(opc_ifnull, end)); - - // call the jdoStateManager's makeDirty method with argument - insn = insn.append(Insn.create(opc_aload_2)); - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "makeDirty",//NOI18N - "(Ljava/lang/String;)V"),//NOI18N - 2)); - - // end of method body - insn = insn.append(end); - insn = insn.append(Insn.create(opc_return)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 2, // maxStack - 3, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoMakeDirtyMethod; - } - - /** - * Build an interrogative method named methodName for the class. - * - * public boolean isXXX() { - * final StateManager sm = this.jdoStateManager; - * if (sm == null) - * return false; - * return sm.isXXXX(); - * } - */ - //@olsen: added method for generating an interrogative JDO method - ClassMethod makeJDOInterrogativeMethod(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "()Z";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - - //@olsen: made method final - final ClassMethod interrogativeMethod - = new ClassMethod(ACCPublic | ACCFinal, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // fetch the jdoStateManager field into local var - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create( - opc_getfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - insn = insn.append(Insn.create(opc_astore_1)); - - // test the jdoStateManager field and return false if null - InsnTarget call = new InsnTarget(); - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append(Insn.create(opc_ifnonnull, call)); - insn = insn.append(Insn.create(opc_iconst_0)); - insn = insn.append(Insn.create(opc_ireturn)); - - // call the jdoStateManager's interrogative method (jdoIs... -> is...) - final String callName = "i" + methodName.substring(4);//NOI18N - insn = insn.append(call); - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - callName, - "()Z"),//NOI18N - 1)); - - // end of method body - insn = insn.append(Insn.create(opc_ireturn)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 1, // maxStack - 2, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return interrogativeMethod; - } - - /** - * Build the jdoGetPersistenceManager method for the class. - * - * public PersistenceManager jdoGetPersistenceManager() { - * final StateManager sm = this.jdoStateManager; - * if (sm == null) - * return null; - * return sm.getPersistenceManager(); - * } - */ - //@olsen: added method for generating the jdoGetPersistenceManager method - ClassMethod makeJDOGetPersistenceManagerMethod(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "()" + JDOMetaData.JDOPersistenceManagerSig;//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - - //@olsen: made method final - final ClassMethod jdoGetPersistenceManagerMethod - = new ClassMethod(ACCPublic | ACCFinal, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // fetch the jdoStateManager field into local var - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create( - opc_getfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - insn = insn.append(Insn.create(opc_astore_1)); - - // test the jdoStateManager field and return null if null - InsnTarget call = new InsnTarget(); - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append(Insn.create(opc_ifnonnull, call)); - insn = insn.append(Insn.create(opc_aconst_null)); - insn = insn.append(Insn.create(opc_areturn)); - - // call the jdoStateManager's getPersistenceManager method - insn = insn.append(call); - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "getPersistenceManager",//NOI18N - "()" + JDOMetaData.JDOPersistenceManagerSig),//NOI18N - 1)); - - // end of method body - insn = insn.append(Insn.create(opc_areturn)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 1, // maxStack - 2, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoGetPersistenceManagerMethod; - } - - /** - * Build the jdoGetObjectId method for the class. - * - * public Object jdoGetObjectId() { - * final StateManager sm = this.jdoStateManager; - * if (sm == null) - * return null; - * return sm.getObjectId(); - * } - */ - //@olsen: added method for generating the jdoGetObjectId method - ClassMethod makeJDOGetObjectIdMethod(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "()Ljava/lang/Object;";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - - //@olsen: made method final - final ClassMethod jdoGetObjectIdMethod - = new ClassMethod(ACCPublic | ACCFinal, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // fetch the jdoStateManager field into local var - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create( - opc_getfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - insn = insn.append(Insn.create(opc_astore_1)); - - // test the jdoStateManager field and return null if null - InsnTarget call = new InsnTarget(); - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append(Insn.create(opc_ifnonnull, call)); - insn = insn.append(Insn.create(opc_aconst_null)); - insn = insn.append(Insn.create(opc_areturn)); - - // call the jdoStateManager's getObjectId method - insn = insn.append(call); - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOStateManagerPath, - "getObjectId",//NOI18N - "()Ljava/lang/Object;"),//NOI18N - 1)); - - // end of method body - insn = insn.append(Insn.create(opc_areturn)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 1, // maxStack - 2, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoGetObjectIdMethod; - } - - /** - * Build the jdoGetJDOConstructor method for the class. - * - * public (StateManager sm) { - * this.jdoFlags = 1; - * this.jdoStateManager = sm; - * } - */ - //@olsen: added method for generating the JDO constructor - ClassMethod makeJDOConstructor(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "(" + JDOMetaData.JDOStateManagerSig + ")V";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - final ClassMethod jdoGetJDOConstructor - = new ClassMethod(ACCPublic, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // call the super-class' constructor - final ConstClass superClass = ca.classFile().superName(); - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create(opc_invokespecial, - pool.addMethodRef(superClass.asString(), - "",//NOI18N - "()V")));//NOI18N - - // put argument value to jdoFlags field - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append(Insn.create(opc_iconst_1)); - insn = insn.append( - Insn.create(opc_putfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig))); - - // put argument value to jdoStateManager field - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append( - Insn.create( - opc_putfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - - // end of method body - insn = insn.append(Insn.create(opc_return)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 2, // maxStack - 2, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoGetJDOConstructor; - } - - /** - * Build the jdoNewInstance method for the class. - * - * public Object jdoNewInstance(StateManager sm) { - * return new (sm); - * } - */ - //@olsen: added method for generating the getObjectId method - ClassMethod makeJDONewInstanceMethod(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig - = "(" + JDOMetaData.JDOStateManagerSig + ")Ljava/lang/Object;";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - final ClassMethod jdoNewInstanceMethod - = new ClassMethod(ACCPublic, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // create an instance of the class by JDO constructor - insn = insn.append(Insn.create(opc_new, theClass)); - insn = insn.append(Insn.create(opc_dup)); - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append( - Insn.create( - opc_invokespecial, - pool.addMethodRef( - theClass.asString(), - "",//NOI18N - "(" + JDOMetaData.JDOStateManagerSig + ")V")));//NOI18N - - // end of method body - insn = insn.append(Insn.create(opc_areturn)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 3, // maxStack - 2, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoNewInstanceMethod; - } - - /** - * Build the jdoClear method for the class. - * - * public void jdoClear() { - * ... - * } - */ - //@olsen: added method for generating the jdoClear method - ClassMethod makeJDOClearMethod(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "()V";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - final ClassMethod jdoClearMethod - = new ClassMethod(ACCPublic, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - //@olsen: disabled code - if (false) { - // reset jdoFlags = LOAD_REQUIRED - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append(Insn.create(opc_iconst_1)); - insn = insn.append( - Insn.create(opc_putfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig))); - } - - // iterate over all declared fields of the class - for (Iterator e = ca.fieldActions(); e.hasNext();) { - final FieldAction act = (FieldAction)e.next(); - //printFieldAction(act); - //System.out.println(); - - // ignore non-persistent fields - if (!act.isPersistent()) - continue; - - // ignore primary key fields - if (act.isPrimaryKey()) - continue; - - //@olsen: disconnect mutable SCOs before clear - if (act.isMutableSCO()) { - // fetch field - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create(opc_getfield, - pool.addFieldRef( - theClass.asString(), - act.fieldName(), - act.typeDescriptor()))); - - // test whether instanceof SCO base type - // skip disconnecting if == 0 - final ConstClass cc - = pool.addClass(JDOMetaData.JDOSecondClassObjectBasePath); - InsnTarget disconnect = new InsnTarget(); - InsnTarget afterDisconnect = new InsnTarget(); - insn = insn.append( - Insn.create(opc_dup)); - insn = insn.append( - Insn.create(opc_instanceof, - cc)); - insn = insn.append( - Insn.create(opc_ifne, - disconnect)); - - // pop field and skip disconnecting - insn = insn.append( - Insn.create(opc_pop)); - insn = insn.append( - Insn.create(opc_goto, afterDisconnect)); - - // disconnect SCO field's object - insn = insn.append(disconnect); - - // cast to SCO base type - insn = insn.append( - Insn.create(opc_checkcast, - cc)); - - // call method: void unsetOwner(); - final int requiredStack = 1; - insn = insn.append( - new InsnInterfaceInvoke( - pool.addInterfaceMethodRef( - JDOMetaData.JDOSecondClassObjectBasePath, - "unsetOwner",//NOI18N - "()V"),//NOI18N - requiredStack)); - - insn = insn.append(afterDisconnect); - } - - // get this - insn = insn.append(Insn.create(opc_aload_0)); - - // use the getMethodReturn type to decide how to clear field - switch(act.getMethodReturn()) { - case T_DOUBLE: - insn = insn.append(Insn.create(opc_dconst_0)); - break; - case T_LONG: - insn = insn.append(Insn.create(opc_lconst_0)); - break; - case T_FLOAT: - insn = insn.append(Insn.create(opc_fconst_0)); - break; - case T_BOOLEAN: - case T_CHAR: - case T_BYTE: - case T_SHORT: - case T_INT: - insn = insn.append(Insn.create(opc_iconst_0)); - break; - case TC_STRING: - case TC_OBJECT: - case TC_INTERFACE: - insn = insn.append(Insn.create(opc_aconst_null)); - break; - default: - throw new InternalError("Unexpected return type");//NOI18N - } - - // put default value to field - insn = insn.append( - Insn.create(opc_putfield, - pool.addFieldRef(theClass.asString(), - act.fieldName(), - act.typeDescriptor()))); - } - - // end of method body - insn = insn.append(Insn.create(opc_return)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 3, // maxStack - 1, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoClearMethod; - } - - /** - * Build the jdoCopy method for the class. - * - * public void jdoCopy(Object o, boolean cloneSCOs) { - * ... - * } - */ -//@lars, @olsen: disabled jdoCopy becuase of two problems with the -// current code (this method hasn't been used by the runtime anyway): -// 4388418: Generated jdoCopy() must ignore static fields -// 4388367: Generated jdoCopy() can throw NPE if argument = 'true' -/* - //@olsen: added method for generating the jdoCopy method - ClassMethod makeJDOCopyMethod(final ClassAction ca, - final String methodName) { - - //@olsen: added variable - final String methodSig = "(Ljava/lang/Object;Z)V";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - final ClassMethod jdoCopyMethod - = new ClassMethod(ACCPublic, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // get class object of this and of argument object - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append( - Insn.create(opc_invokevirtual, - pool.addMethodRef( - "java/lang/Object",//NOI18N - "getClass",//NOI18N - "()Ljava/lang/Class;")));//NOI18N - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append( - Insn.create(opc_invokevirtual, - pool.addMethodRef( - "java/lang/Object",//NOI18N - "getClass",//NOI18N - "()Ljava/lang/Class;")));//NOI18N - - // test class objects for equality and throw exception if false - insn = insn.append( - Insn.create(opc_invokevirtual, - pool.addMethodRef( - "java/lang/Object",//NOI18N - "equals",//NOI18N - "(Ljava/lang/Object;)Z")));//NOI18N - InsnTarget cast = new InsnTarget(); - insn = insn.append(Insn.create(opc_ifne, cast)); - final String exceptionClassName - = "com/sun/forte4j/persistence/JDOFatalException";//NOI18N - insn = insn.append( - Insn.create(opc_new, - pool.addClass(exceptionClassName))); - insn = insn.append(Insn.create(opc_dup)); - insn = insn.append( - Insn.create(opc_invokespecial, - pool.addMethodRef( - exceptionClassName, - "",//NOI18N - "()V")));//NOI18N - insn = insn.append(Insn.create(opc_athrow)); - - // cast argument object to this class' type and store into local var - insn = insn.append(cast); - insn = insn.append(Insn.create(opc_aload_1)); - insn = insn.append(Insn.create(opc_checkcast, theClass)); - insn = insn.append(Insn.create(opc_astore_3)); - - // iterate over all declared fields of the class - final ArrayList mscoFields = new ArrayList(); - final JDOMetaData jdoMetaData = env.getJDOMetaData(); - for (Iterator e = ca.fieldActions(); e.hasNext();) { - final FieldAction act = (FieldAction)e.next(); - //printFieldAction(act); - //System.out.println(); - - // remember fields of MSCO type for later processing - if (act.isMutableSCO()) { - mscoFields.add(act); - continue; - } - - // get this object - insn = insn.append(Insn.create(opc_aload_0)); - - // fetch arguments object's field - insn = insn.append(Insn.create(opc_aload_3)); - insn = insn.append( - Insn.create(opc_getfield, - pool.addFieldRef( - theClass.asString(), - act.fieldName(), - act.typeDescriptor()))); - - // store into this object's field - insn = insn.append( - Insn.create(opc_putfield, - pool.addFieldRef( - theClass.asString(), - act.fieldName(), - act.typeDescriptor()))); - } - - if (mscoFields.size() > 0) { - // test boolean argument value and clone msco fields if true - insn = insn.append(Insn.create(opc_iload_2)); - InsnTarget shallow = new InsnTarget(); - insn = insn.append(Insn.create(opc_ifeq, shallow)); - - // clone fields - for (Iterator i = mscoFields.iterator(); i.hasNext();) { - final FieldAction act = (FieldAction)i.next(); - - // get this object - insn = insn.append(Insn.create(opc_aload_0)); - - // fetch arguments object's field - insn = insn.append(Insn.create(opc_aload_3)); - insn = insn.append( - Insn.create(opc_getfield, - pool.addFieldRef( - theClass.asString(), - act.fieldName(), - act.typeDescriptor()))); - - // clone field value and cast to field's type - insn = insn.append( - Insn.create(opc_invokevirtual, - pool.addMethodRef( - act.typeName(), - "clone",//NOI18N - "()Ljava/lang/Object;")));//NOI18N - insn = insn.append( - Insn.create(opc_checkcast, - pool.addClass(act.typeName()))); - - // store into this object's field - insn = insn.append( - Insn.create(opc_putfield, - pool.addFieldRef( - theClass.asString(), - act.fieldName(), - act.typeDescriptor()))); - } - InsnTarget done = new InsnTarget(); - insn = insn.append(Insn.create(opc_goto, done)); - - // copy field values - insn = insn.append(shallow); - for (Iterator i = mscoFields.iterator(); i.hasNext();) { - final FieldAction act = (FieldAction)i.next(); - - // get this object - insn = insn.append(Insn.create(opc_aload_0)); - - // fetch arguments object's field - insn = insn.append(Insn.create(opc_aload_3)); - insn = insn.append( - Insn.create(opc_getfield, - pool.addFieldRef( - theClass.asString(), - act.fieldName(), - act.typeDescriptor()))); - - // store into this object's field - insn = insn.append( - Insn.create(opc_putfield, - pool.addFieldRef( - theClass.asString(), - act.fieldName(), - act.typeDescriptor()))); - } - - insn = insn.append(done); - } - - // end of method body - insn = insn.append(Insn.create(opc_return)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 4, // maxStack - 4, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoCopyMethod; - } -*/ - - /** - * Build the jdoGetField method for the class. - * - * public Object jdoGetField(int fieldNumber) { - * return ... - * } - */ - //@olsen: added method for generating the jdoGetField method - ClassMethod makeJDOGetFieldMethod(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "(I)Ljava/lang/Object;";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - final ClassMethod jdoGetFieldMethod - = new ClassMethod(ACCPublic, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // get the declared, persistent fields from the JDOMetaData - final String className = ca.className(); - //@lars: changed getPersistentFields() into getManagedFields() - final String[] fieldNames - = env.getJDOMetaData().getManagedFields(className); - final int nofFields = fieldNames.length; - //@olsen: added println() for debugging - if (false) { - System.out.print("MethodBuilder.makeJDOGetFieldMethod(): "//NOI18N - + " declared, persistent fields of class '"//NOI18N - + className + "' = {");//NOI18N - for (int i = 0; i < nofFields; i++) - System.out.print(" " + fieldNames[i]);//NOI18N - System.out.println(" }");//NOI18N - } - - // generate the switch-statement only if more than zero fields - final InsnTarget defaultOp = new InsnTarget(); - if (nofFields > 0) { - // get the declared, persistent fields from the class - final HashMap fieldsByName = new HashMap(); - for (Iterator e = ca.fieldActions(); e.hasNext();) { - final FieldAction act = (FieldAction)e.next(); - fieldsByName.put(act.fieldName(), act); - } - - // do the tableswitch on argument - insn = insn.append(Insn.create(opc_iload_1)); - final int lowOp = 0; - final InsnTarget[] targetsOp = new InsnTarget[nofFields]; - for (int i = 0; i < nofFields; i++) - targetsOp[i] = new InsnTarget(); - insn = insn.append( - new InsnTableSwitch(lowOp, defaultOp, targetsOp)); - - // do the case-targets for field accesses - for (int i = 0; i < nofFields; i++) { - // target for accessing field [i] - insn = insn.append(targetsOp[i]); - - final FieldAction act - = (FieldAction)fieldsByName.get(fieldNames[i]); - affirm(act, - ("Field '" + fieldNames[i]//NOI18N - + "' returned by JDOMetaData is not known by class '"//NOI18N - + className + "'."));//NOI18N - - // use the getMethodReturn type to create the wrapper object - final String wrapperClassName; - final String wrapperSignature; - switch(act.getMethodReturn()) { - case T_DOUBLE: - wrapperClassName = "java/lang/Double";//NOI18N - wrapperSignature = "(D)V";//NOI18N - insn = insn.append( - Insn.create(opc_new, pool.addClass(wrapperClassName))); - insn = insn.append(Insn.create(opc_dup)); - break; - case T_LONG: - wrapperClassName = "java/lang/Long";//NOI18N - wrapperSignature = "(J)V";//NOI18N - insn = insn.append( - Insn.create(opc_new, pool.addClass(wrapperClassName))); - insn = insn.append(Insn.create(opc_dup)); - break; - case T_FLOAT: - wrapperClassName = "java/lang/Float";//NOI18N - wrapperSignature = "(F)V";//NOI18N - insn = insn.append( - Insn.create(opc_new, pool.addClass(wrapperClassName))); - insn = insn.append(Insn.create(opc_dup)); - break; - case T_BOOLEAN: - wrapperClassName = "java/lang/Boolean";//NOI18N - wrapperSignature = "(Z)V";//NOI18N - insn = insn.append( - Insn.create(opc_new, pool.addClass(wrapperClassName))); - insn = insn.append(Insn.create(opc_dup)); - break; - case T_CHAR: - wrapperClassName = "java/lang/Character";//NOI18N - wrapperSignature = "(C)V";//NOI18N - insn = insn.append( - Insn.create(opc_new, pool.addClass(wrapperClassName))); - insn = insn.append(Insn.create(opc_dup)); - break; - case T_BYTE: - wrapperClassName = "java/lang/Byte";//NOI18N - wrapperSignature = "(B)V";//NOI18N - insn = insn.append( - Insn.create(opc_new, pool.addClass(wrapperClassName))); - insn = insn.append(Insn.create(opc_dup)); - break; - case T_SHORT: - wrapperClassName = "java/lang/Short";//NOI18N - wrapperSignature = "(S)V";//NOI18N - insn = insn.append( - Insn.create(opc_new, pool.addClass(wrapperClassName))); - insn = insn.append(Insn.create(opc_dup)); - break; - case T_INT: - wrapperClassName = "java/lang/Integer";//NOI18N - wrapperSignature = "(I)V";//NOI18N - insn = insn.append( - Insn.create(opc_new, pool.addClass(wrapperClassName))); - insn = insn.append(Insn.create(opc_dup)); - break; - case TC_STRING: - case TC_OBJECT: - case TC_INTERFACE: - wrapperClassName = null; - wrapperSignature = null; - break; - default: - throw new InternalError("Unexpected return type");//NOI18N - } - - // fetch this object's field - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create( - opc_getfield, - pool.addFieldRef( - theClass.asString(), - act.fieldName(), - act.typeDescriptor()))); - - // wrap the field value if primitive - switch(act.getMethodReturn()) { - case T_DOUBLE: - case T_LONG: - case T_FLOAT: - case T_BOOLEAN: - case T_CHAR: - case T_BYTE: - case T_SHORT: - case T_INT: - insn = insn.append( - Insn.create( - opc_invokespecial, - pool.addMethodRef( - wrapperClassName, - "",//NOI18N - wrapperSignature))); - break; - case TC_STRING: - case TC_OBJECT: - case TC_INTERFACE: - break; - default: - throw new InternalError("Unexpected return type");//NOI18N - } - - // return the object (break) - insn = insn.append(Insn.create(opc_areturn)); - } - } - - // do the default branch target creating a fatal exception - insn = insn.append(defaultOp); - final String exceptionClassName - = "com/sun/jdo/api/persistence/support/JDOFatalException";//NOI18N - insn = insn.append( - Insn.create( - opc_new, - pool.addClass(exceptionClassName))); - insn = insn.append(Insn.create(opc_dup)); - insn = insn.append( - Insn.create( - opc_invokespecial, - pool.addMethodRef( - exceptionClassName, - "",//NOI18N - "()V")));//NOI18N - - // end of method body - insn = insn.append(Insn.create(opc_athrow)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 4, // maxStack - 2, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoGetFieldMethod; - } - - /** - * Build the jdoSetField method for the class. - * - * public jdoSetField(int fieldNumber, Object value) { - * ... - * } - */ - //@olsen: added method for generating the jdoSetField method - ClassMethod makeJDOSetFieldMethod(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "(ILjava/lang/Object;)V";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ConstantPool pool = ca.classFile().pool(); - final ConstClass theClass = ca.classFile().className(); - - final AttributeVector methodAttrs = new AttributeVector(); - final ClassMethod jdoSetFieldMethod - = new ClassMethod(ACCPublic, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - - // get the declared, persistent fields from the JDOMetaData - final String className = ca.className(); - //@lars: changed getPersistentFields() into getManagedFields() - final String[] fieldNames - = env.getJDOMetaData().getManagedFields(className); - final int nofFields = fieldNames.length; - //@olsen: added println() for debugging - if (false) { - System.out.print("MethodBuilder.makeJDOSetFieldMethod(): "//NOI18N - + " declared, persistent fields of class '"//NOI18N - + className + "' = {");//NOI18N - for (int i = 0; i < nofFields; i++) - System.out.print(" " + fieldNames[i]);//NOI18N - System.out.println(" }");//NOI18N - } - - // generate the switch-statement only if more than zero fields - final InsnTarget defaultOp = new InsnTarget(); - if (nofFields > 0) { - // get the declared, persistent fields from the class - final HashMap fieldsByName = new HashMap(); - for (Iterator e = ca.fieldActions(); e.hasNext();) { - final FieldAction act = (FieldAction)e.next(); - fieldsByName.put(act.fieldName(), act); - } - - // do the tableswitch on argument - insn = insn.append(Insn.create(opc_iload_1)); - final int lowOp = 0; - final InsnTarget[] targetsOp = new InsnTarget[nofFields]; - for (int i = 0; i < nofFields; i++) - targetsOp[i] = new InsnTarget(); - insn = insn.append( - new InsnTableSwitch(lowOp, defaultOp, targetsOp)); - - // do the case-targets for field accesses - for (int i = 0; i < nofFields; i++) { - // target for accessing field [i] - insn = insn.append(targetsOp[i]); - - final FieldAction act - = (FieldAction)fieldsByName.get(fieldNames[i]); - affirm(act, - ("Field '"//NOI18N - + fieldNames[i] - + "' returned by JDOMetaData is not known by class '"//NOI18N - + className + "'."));//NOI18N - - // get object and value argument - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append(Insn.create(opc_aload_2)); - - // use the getMethodReturn type to downcast the Object argument - final String wrapperClassName; - final String unwrapperSignature; - final String unwrapperName; - switch(act.getMethodReturn()) { - case T_DOUBLE: - wrapperClassName = "java/lang/Double";//NOI18N - unwrapperSignature = "()D";//NOI18N - unwrapperName = "doubleValue";//NOI18N - insn = insn.append( - Insn.create(opc_checkcast, - pool.addClass(wrapperClassName))); - break; - case T_LONG: - wrapperClassName = "java/lang/Long";//NOI18N - unwrapperSignature = "()J";//NOI18N - unwrapperName = "longValue";//NOI18N - insn = insn.append( - Insn.create(opc_checkcast, - pool.addClass(wrapperClassName))); - break; - case T_FLOAT: - wrapperClassName = "java/lang/Float";//NOI18N - unwrapperSignature = "()F";//NOI18N - unwrapperName = "floatValue";//NOI18N - insn = insn.append( - Insn.create(opc_checkcast, - pool.addClass(wrapperClassName))); - break; - case T_BOOLEAN: - wrapperClassName = "java/lang/Boolean";//NOI18N - unwrapperSignature = "()Z";//NOI18N - unwrapperName = "booleanValue";//NOI18N - insn = insn.append( - Insn.create(opc_checkcast, - pool.addClass(wrapperClassName))); - break; - case T_CHAR: - wrapperClassName = "java/lang/Character";//NOI18N - unwrapperSignature = "()C";//NOI18N - unwrapperName = "charValue";//NOI18N - insn = insn.append( - Insn.create(opc_checkcast, - pool.addClass(wrapperClassName))); - break; - case T_BYTE: - wrapperClassName = "java/lang/Byte";//NOI18N - unwrapperSignature = "()B";//NOI18N - unwrapperName = "byteValue";//NOI18N - insn = insn.append( - Insn.create(opc_checkcast, - pool.addClass(wrapperClassName))); - break; - case T_SHORT: - wrapperClassName = "java/lang/Short";//NOI18N - unwrapperSignature = "()S";//NOI18N - unwrapperName = "shortValue";//NOI18N - insn = insn.append( - Insn.create(opc_checkcast, - pool.addClass(wrapperClassName))); - break; - case T_INT: - wrapperClassName = "java/lang/Integer";//NOI18N - unwrapperSignature = "()I";//NOI18N - unwrapperName = "intValue";//NOI18N - insn = insn.append( - Insn.create(opc_checkcast, - pool.addClass(wrapperClassName))); - break; - case TC_STRING: - case TC_OBJECT: - case TC_INTERFACE: - wrapperClassName = null; - unwrapperSignature = null; - unwrapperName = null; - insn = insn.append( - Insn.create(opc_checkcast, - pool.addClass(act.typeName()))); - break; - default: - throw new InternalError("Unexpected return type");//NOI18N - } - - // unwrap the object if primitive wrapper - switch(act.getMethodReturn()) { - case T_DOUBLE: - case T_LONG: - case T_FLOAT: - case T_BOOLEAN: - case T_CHAR: - case T_BYTE: - case T_SHORT: - case T_INT: - insn = insn.append( - Insn.create( - opc_invokevirtual, - pool.addMethodRef( - wrapperClassName, - unwrapperName, - unwrapperSignature))); - break; - case TC_STRING: - case TC_OBJECT: - case TC_INTERFACE: - break; - default: - throw new InternalError("Unexpected return type");//NOI18N - } - - // store argument value in field - insn = insn.append( - Insn.create( - opc_putfield, - pool.addFieldRef( - theClass.asString(), - act.fieldName(), - act.typeDescriptor()))); - - // return (break) - insn = insn.append(Insn.create(opc_return)); - } - } - - // do the default branch target creating a fatal exception - insn = insn.append(defaultOp); - final String exceptionClassName - = "com/sun/jdo/api/persistence/support/JDOFatalException";//NOI18N - insn = insn.append( - Insn.create( - opc_new, - pool.addClass(exceptionClassName))); - insn = insn.append(Insn.create(opc_dup)); - insn = insn.append( - Insn.create( - opc_invokespecial, - pool.addMethodRef( - exceptionClassName, - "",//NOI18N - "()V")));//NOI18N - - // end of method body - insn = insn.append(Insn.create(opc_athrow)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - 3, // maxStack - 3, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - return jdoSetFieldMethod; - } - - /** - * Build the clone method for the class. - */ - //@olsen: subst: makeClone -> makeJDOClone - ClassMethod makeJDOClone(final ClassAction ca, - final String methodName) { - //@olsen: added variable - final String methodSig = "()Ljava/lang/Object;";//NOI18N - env.message("adding "//NOI18N - + ca.classControl().userClassName() + - "." + methodName//NOI18N - + Descriptor.userMethodArgs(methodSig)); - - final ClassFile cFile = ca.classFile(); - final ConstantPool pool = cFile.pool(); - final ConstClass theClass = cFile.className(); - final ConstClass superClass = cFile.superName(); - - final AttributeVector methodAttrs = new AttributeVector(); - //@olsen: fixed bug: changed ACCProtected to ACCPublic to allow for - // an inherited method clone() to be public! - //@olsen: removed ACCSynchronized flag - final ClassMethod cloneMethod - = new ClassMethod(ACCPublic, //|ACCSynchronized, - pool.addUtf8(methodName), - pool.addUtf8(methodSig), - methodAttrs); - - // begin of method body - //@olsen: fix 4467428, made 'begin' final InsnTarget - final InsnTarget begin = new InsnTarget(); - Insn insn = begin; - -//@olsen: disabled feature -/* - // if (jdoFlags < 0) - // Implementation.fetch(this); - - InsnTarget cloneStart = new InsnTarget(); - - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create(opc_getfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig))); - insn = insn.append(Insn.create(opc_ifge, cloneStart)); - - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create(opc_invokestatic, - pool.addMethodRef("com/sun/forte4j/persistence/internal/Implementation", "fetch", - "(" + JDOMetaData.JDOPersistenceCapableSig + ")V"))); - - insn = insn.append(cloneStart); -*/ - - // THISCLASS newObject = (THISCLASS) super.clone(); - { - insn = insn.append(Insn.create(opc_aload_0)); - insn = insn.append( - Insn.create(opc_invokespecial, - pool.addMethodRef(superClass.asString(), -// pool.addMethodRef("java/lang/Object", - methodName, - methodSig))); - - // add cast to the appropriate type - insn = insn.append(Insn.create(opc_checkcast, theClass)); - } - -//@olsen: disabled feature -/* - if (ca.getNeedsJDOStateManagerMethods()) { -*/ - // newObject.jdoStateManager = null; - if (false) - { - insn = insn.append(Insn.create(opc_dup)); - insn = insn.append(Insn.create(opc_aconst_null)); - insn = insn.append( - Insn.create( - opc_putfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOStateManagerFieldName, - JDOMetaData.JDOStateManagerFieldSig))); - } - -//@olsen: disabled feature -/* - if (ca.getNeedsJDOFlagsMethods()) { -*/ - // newObject.jdoFlags = 0; - if (false) - { - insn = insn.append(Insn.create(opc_dup)); - insn = insn.append(Insn.create(opc_iconst_0)); - insn = insn.append( - Insn.create(opc_putfield, - pool.addFieldRef(theClass.asString(), - JDOMetaData.JDOFlagsFieldName, - JDOMetaData.JDOFlagsFieldSig))); - } - - // return newObject; - - // end of method body - insn = insn.append(Insn.create(opc_areturn)); - - final AttributeVector codeSpecificAttrs = new AttributeVector(); - - //@olsen: fix 4467428, added dummy, non-empty line number table - if (addLineNumberTableAttr) { - codeSpecificAttrs.addElement( - new LineNumberTableAttribute( - pool.addUtf8(LineNumberTableAttribute.expectedAttrName), - new short[]{ 0 }, new InsnTarget[]{ begin })); - } - - methodAttrs.addElement( - new CodeAttribute(pool.addUtf8(CodeAttribute.expectedAttrName), - //@olsen: updated maxLocals - 1, //3, //3, // maxStack - 1, //2, // maxLocals - begin, - new ExceptionTable(), - codeSpecificAttrs)); - - //@olsen: fix 4467428, added synthetic attribute for generated method - if (addSyntheticAttr) { - methodAttrs.addElement( - new SyntheticAttribute( - pool.addUtf8(SyntheticAttribute.expectedAttrName))); - } - - methodAttrs.addElement( - new ExceptionsAttribute( - pool.addUtf8(ExceptionsAttribute.expectedAttrName), - pool.addClass("java/lang/CloneNotSupportedException")));//NOI18N - - return cloneMethod; - } - - // for debugging - static private void printFieldAction(FieldAction act) { - System.out.println("fieldName() = " + act.fieldName());//NOI18N - System.out.println("userFieldName() = " + act.userFieldName());//NOI18N - System.out.println("typeDescriptor() = " + act.typeDescriptor());//NOI18N - System.out.println("typeName() = " + act.typeName());//NOI18N - System.out.println("fieldClassName() = " + act.fieldClassName());//NOI18N - System.out.println("isPersistent() = " + act.isPersistent());//NOI18N - System.out.println("isPrimaryKey() = " + act.isPrimaryKey());//NOI18N - System.out.println("isMutableSCO() = " + act.isMutableSCO());//NOI18N - System.out.println("isSynthetic() = " + act.isSynthetic());//NOI18N - //System.out.println("index() = " + act.index()); - System.out.println("nDims() = " + act.nDims());//NOI18N - System.out.println("createMethod() = " + act.createMethod());//NOI18N - System.out.println("createMethodSig() = " + act.createMethodSig());//NOI18N - System.out.println("setMethod() = " + act.setMethod());//NOI18N - System.out.println("setMethodSig() = " + act.setMethodSig());//NOI18N - System.out.println("setMethodArg() = "//NOI18N - + typeToString(act.setMethodArg())); - System.out.println("getMethod() = " + act.getMethod());//NOI18N - System.out.println("getMethodSig() = " + act.getMethodSig());//NOI18N - System.out.println("getMethodReturn() = "//NOI18N - + typeToString(act.getMethodReturn())); - } - - // for debugging - static private String typeToString(int val) { - switch(val) { - case T_DOUBLE: - return "T_DOUBLE";//NOI18N - case T_LONG: - return "T_LONG";//NOI18N - case T_BOOLEAN: - return "T_BOOLEAN";//NOI18N - case T_CHAR: - return "T_CHAR";//NOI18N - case T_FLOAT: - return "T_FLOAT";//NOI18N - case T_BYTE: - return "T_BYTE";//NOI18N - case T_SHORT: - return "T_SHORT";//NOI18N - case T_INT: - return "T_INT";//NOI18N - case TC_STRING: - return "TC_STRING";//NOI18N - case TC_OBJECT: - return "TC_OBJECT";//NOI18N - case TC_INTERFACE: - return "TC_INTERFACE";//NOI18N - default: - throw new InternalError("Unexpected return type");//NOI18N - } - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/ExtendedJDOMetaData.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/ExtendedJDOMetaData.java deleted file mode 100644 index 64707078d95..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/ExtendedJDOMetaData.java +++ /dev/null @@ -1,361 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -//ExtendedJDOMetaData - Java Source - - -//***************** package *********************************************** - -package com.sun.jdo.api.persistence.enhancer.meta; - - -//***************** import ************************************************ - - -//######################################################################### -/** - * Provides extended JDO meta information for byte-code enhancement. - */ -//######################################################################### - -public interface ExtendedJDOMetaData - extends JDOMetaData -{ - /** - * The JDO field flags. - */ - int CHECK_READ = 0x01; - int MEDIATE_READ = 0x02; - int CHECK_WRITE = 0x04; - int MEDIATE_WRITE = 0x08; - int SERIALIZABLE = 0x10; - - /********************************************************************** - * Gets all known classnames. - * - * @return All known classnames. - *********************************************************************/ - - public String [] getKnownClasses () - throws JDOMetaDataUserException, - JDOMetaDataFatalError; - - - /********************************************************************** - * Gets all known fieldnames of a class. - * - * @param classname The classname. - * - * @return All known fieldnames. - *********************************************************************/ - - public String [] getKnownFields (String classname) - throws JDOMetaDataUserException, - JDOMetaDataFatalError; - - - /********************************************************************** - * Gets the type of a field. - * - * @param classname The classname. - * @param fieldname The fieldname. - * - * @return The type of the field. - *********************************************************************/ - - public String getFieldType (String classname, - String fieldname) - throws JDOMetaDataUserException, - JDOMetaDataFatalError; - - - /********************************************************************** - * Gets the modifiers of a class. The return value is a constant of the - * java.lang.reflect.Modifier class. - * - * @param classname The classname. - * - * @return The modifiers. - * - * @see java.lang.reflect.Modifier - *********************************************************************/ - - public int getClassModifiers (String classname) - throws JDOMetaDataUserException, - JDOMetaDataFatalError; - - - /********************************************************************** - * Gets the modifiers of a field. The return value is a constant of the - * java.lang.reflect.Modifier class. - * - * @param classname The classname. - * @param fieldname The fieldname. - * - * @return The modifiers. - * - * @see java.lang.reflect.Modifier - *********************************************************************/ - - public int getFieldModifiers (String classname, - String fieldname) - throws JDOMetaDataUserException, - JDOMetaDataFatalError; - - - /********************************************************************** - * Returns the name of the key class of a class. - *

    - * The following holds: - * (String s = getKeyClass(classPath)) != null - * ==> !isPersistenceCapableClass(s) - * && isPersistenceCapableClass(classPath) - * @param classPath the non-null JVM-qualified name of the class - * @return the name of the key class or null if there is none - * @see #isPersistenceCapableClass(String) - *********************************************************************/ - - public String getKeyClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - - /********************************************************************** - * Returns whether a field of a class is known to be non-managed. - *

    - * This method differs from isManagedField() in that a field may or - * may not be managed if its not known as non-managed. - * The following holds (not vice versa!): - * isKnownNonManagedField(classPath, fieldName) - * ==> !isManagedField(classPath, fieldName) - *

    - * This method doesn't require the field having been declared by - * declareField(). - * @param classPath the non-null JVM-qualified name of the class - * @param fieldName the non-null name of the field - * @param fieldSig the non-null type signature of the field - * @return true if this field is known to be non-managed; otherwise false - * @see #isManagedField(String, String) - * - *********************************************************************/ - - public boolean isKnownNonManagedField(String classPath, - String fieldName, - String fieldSig) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - - /********************************************************************** - * Returns whether a field of a class is transient transactional - * or persistent. - *

    - * A managed field must not be known as non-managed and must be either - * transient transactional or persistent. The following holds: - * isManagedField(classPath, fieldName) - * ==> !isKnownNonManagedField(classPath, fieldName) - * && (isPersistentField(classPath, fieldName) - * ^ isTransactionalField(classPath, fieldName)) - *

    - * This method requires the field having been declared by declareField(). - * @param classPath the non-null JVM-qualified name of the class - * @param fieldName the non-null name of the field - * @return true if this field is managed; otherwise false - * @see #isKnownNonManagedField(String, String, String) - * @see #isPersistentField(String, String) - * @see #isPersistenceCapableClass(String) - *********************************************************************/ - - public boolean isManagedField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - - /********************************************************************** - * Returns whether a field of a class is key. - *

    - * A key field must be persistent. - * The following holds: - * isKeyField(classPath, fieldName) - * ==> isPersistentField(classPath, fieldName) - * && !isDefaultFetchGroupField(classPath, fieldName) - *

    - * This method requires the field having been declared by declareField(). - * @param classPath the non-null JVM-qualified name of the class - * @param fieldName the non-null name of the field - * @return true if this field is key; otherwise false - * @see #isPersistentField(String, String) - * - *********************************************************************/ - - public boolean isKeyField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - - /********************************************************************** - * Returns the field flags for a declared field of a class. - *

    - * The following holds for the field flags: - * int f = getFieldFlags(classPath, fieldName); - * - * !isManagedField(classPath, fieldName) - * ==> (f & CHECK_READ == 0) && (f & MEDIATE_READ == 0) && - * (f & CHECK_WRITE == 0) && (f & MEDIATE_WRITE == 0) - * - * isTransientField(classPath, fieldName) - * ==> (f & CHECK_READ == 0) && (f & MEDIATE_READ == 0) && - * (f & CHECK_WRITE != 0) && (f & MEDIATE_WRITE == 0) - * - * isKeyField(classPath, fieldName) - * ==> (f & CHECK_READ == 0) && (f & MEDIATE_READ == 0) && - * (f & CHECK_WRITE == 0) && (f & MEDIATE_WRITE != 0) - * - * isDefaultFetchGroupField(classPath, fieldName) - * ==> (f & CHECK_READ != 0) && (f & MEDIATE_READ != 0) && - * (f & CHECK_WRITE == 0) && (f & MEDIATE_WRITE == 0) - * - * isPersistentField(classPath, fieldName) - * && isKeyField(classPath, fieldName) - * && isDefaultFetchGroupField(classPath, fieldName) - * ==> (f & CHECK_READ == 0) && (f & MEDIATE_READ == 0) && - * (f & CHECK_WRITE != 0) && (f & MEDIATE_WRITE != 0) - *

    - * This method requires the field having been declared by declareField(). - * @param classPath the non-null JVM-qualified name of the class - * @param fieldName the non-null name of the field - * @return the field flags for this field - * - *********************************************************************/ - - public int getFieldFlags(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - - /********************************************************************** - * Returns the field flags for some declared, managed fields of a class. - *

    - * This method requires all fields having been declared by declareField(). - * @param classPath the non-null JVM-qualified name of the class - * @param fieldNames the non-null array of names of the declared fields - * @return the field flags for the fields - * - *********************************************************************/ - - public int[] getFieldFlags(String classPath, String[] fieldNames) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - - /********************************************************************** - * Gets the type of some fields. - * - * @param classname The classname. - * @param fieldnames The fieldnames. - * @return The type of the fields. - *********************************************************************/ - - public String[] getFieldType(String classname, - String[] fieldnames) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - - /********************************************************************** - * Returns the unique field index of some declared, managed fields of a - * class. - *

    - * This method requires all fields having been declared by declareField(). - * @param classPath the non-null JVM-qualified name of the class - * @param fieldNames the non-null array of names of the declared fields - * @return the non-negative, unique field indices - * - *********************************************************************/ - - public int[] getFieldNo(String classPath, String[] fieldNames) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - - /********************************************************************** - * Returns an array of field names of all key fields of a class. - *

    - * This method requires all fields having been declared by declareField(). - * @param classPath the non-null JVM-qualified name of the class - * @return an array of all declared key fields of a class - * - *********************************************************************/ - - public String[] getKeyFields(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - - /********************************************************************** - * Returns the name of the persistence-capable superclass of a class. - *

    - * The following holds: - * (String s = getPersistenceCapableSuperClass(classPath)) != null - * ==> isPersistenceCapableClass(classPath) - * && !isPersistenceCapableRootClass(classPath) - * @param classPath the non-null JVM-qualified name of the class - * @return the name of the PC superclass or null if there is none - * @see #isPersistenceCapableClass(String) - * @see #getPersistenceCapableRootClass(String) - *********************************************************************/ - - public String getPersistenceCapableSuperClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - - /********************************************************************** - * Returns the name of the key class of the next persistence-capable - * superclass that defines one. - *

    - * The following holds: - * (String s = getSuperKeyClass(classPath)) != null - * ==> !isPersistenceCapableClass(s) - * && isPersistenceCapableClass(classPath) - * && !isPersistenceCapableRootClass(classPath) - * @param classPath the non-null JVM-qualified name of the class - * @return the name of the key class or null if there is none - * @see #getKeyClass(String) - * @see #getPersistenceCapableSuperClass(String) - *********************************************************************/ - - public String getSuperKeyClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - -} //ExtendedJDOMetaData - - -//ExtendedJDOMetaData - Java Source End diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaData.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaData.java deleted file mode 100644 index 7a6a70bb71d..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaData.java +++ /dev/null @@ -1,273 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.meta; - - -/** - * Provides the JDO meta information neccessary for byte-code enhancement. - *

    - * Please note: This interface deals with fully qualified names in the - * JVM notation, that is, with '/' as package separator character  (instead - * of '.'). - *

    - * The following convention is used to specify the format of a given name: - * Something called ... - *

      - *
    • - * name represents a non-qualified name (e.g. JDOPersistenceCapableName - * = "PersistenceCapable")
    • - *
    • - * type represents a Java-qualified class name (e.g. JDOPersistenceCapablePath - * = 'com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable")
    • - *
    • - * path represents a JVM-qualified name (e.g. JDOPersistenceCapablePath - * = 'com/sun/jdo/spi/persistence/support/sqlstore/PersistenceCapable")
    • - *
    • - * sig (for signature) represents a JVM-qualified type-signature - * name (e.g. JDOPersistenceCapableSig - * = "Lcom/sun/jdo/spi/persistence/support/sqlstore/PersistenceCapable;")
    • - *
    - */ -//@olsen: new interface -public interface JDOMetaData -{ - String JDOExternalPath = "com/sun/jdo/api/persistence/support/";//NOI18N - String JDOPath = "com/sun/jdo/spi/persistence/support/sqlstore/";//NOI18N - - String JDOPersistenceCapableName = "PersistenceCapable";//NOI18N - String JDOPersistenceCapablePath - = JDOPath + JDOPersistenceCapableName;//NOI18N - String JDOPersistenceCapableSig - = "L" + JDOPersistenceCapablePath + ";";//NOI18N - String JDOPersistenceCapableType - = JDOPersistenceCapablePath.replace('/', '.'); - - static String javaLangCloneablePath = "java/lang/Cloneable"; - - String JDOInstanceCallbacksName = "InstanceCallbacks";//NOI18N - String JDOInstanceCallbacksPath - = JDOPath + JDOInstanceCallbacksName;//NOI18N - String JDOInstanceCallbacksSig - = "L" + JDOInstanceCallbacksPath + ";";//NOI18N - String JDOInstanceCallbacksType - = JDOInstanceCallbacksPath.replace('/', '.'); - - String JDOSecondClassObjectBaseName = "SCO";//NOI18N - String JDOSecondClassObjectBasePath - = JDOPath + JDOSecondClassObjectBaseName;//NOI18N - String JDOSecondClassObjectBaseSig - = "L" + JDOSecondClassObjectBasePath + ";";//NOI18N - String JDOSecondClassObjectBaseType - = JDOSecondClassObjectBasePath.replace('/', '.'); - - String JDOPersistenceManagerName = "PersistenceManager";//NOI18N - // we use the external, "public" PersistenceManager interface only - String JDOPersistenceManagerPath - = JDOExternalPath + JDOPersistenceManagerName;//NOI18N - String JDOPersistenceManagerSig - = "L" + JDOPersistenceManagerPath + ";";//NOI18N - String JDOPersistenceManagerType - = JDOPersistenceManagerPath.replace('/', '.'); - - String JDOStateManagerName = "StateManager";//NOI18N - String JDOStateManagerPath - = JDOPath + JDOStateManagerName;//NOI18N - String JDOStateManagerSig - = "L" + JDOStateManagerPath + ";";//NOI18N - String JDOStateManagerType - = JDOStateManagerPath.replace('/', '.'); - - String JDOStateManagerFieldName = "jdoStateManager";//NOI18N - String JDOStateManagerFieldType = JDOStateManagerType; - String JDOStateManagerFieldSig = JDOStateManagerSig; - - String JDOFlagsFieldName = "jdoFlags";//NOI18N - String JDOFlagsFieldType = "byte";//NOI18N - String JDOFlagsFieldSig = "B";//NOI18N - - /** - * Tests whether a class is known to be transient. - *

    - * The following invariant holds: - * isTransientClass(classPath) - * => !isPersistenceCapableClass(classPath) - * @param classPath the JVM-qualified name of the class - * @return true if this class is known to be transient; otherwise false - */ - boolean isTransientClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Tests whether a class is known to be persistence-capable. - *

    - * The following invariant holds: - * isPersistenceCapableClass(classPath) - * => !isTransientClass(classPath) - * && !isSecondClassObjectType(classPath) - * @param classPath the JVM-qualified name of the class - * @return true if this class is persistence-capable; otherwise false - */ - boolean isPersistenceCapableClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Tests whether a class is known as a persistence-capable root class. - *

    - * @param classPath the JVM-qualified name of the class - * @return true if this class is persistence-capable and does not - * derive from another persistence-capable class; otherwise false - */ - boolean isPersistenceCapableRootClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Returns the name of the persistence-capable root class of a class. - *

    - * @param classPath the JVM-qualified name of the class - * @return the name of the least-derived persistence-capable class that - * is equal to or a super class of the argument class; if the - * argument class is not persistence-capable, null is returned. - */ - String getPersistenceCapableRootClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Returns the name of the superclass of a class. - *

    - * @param classPath the JVM-qualified name of the class - * @return the name of the superclass. - */ - String getSuperClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Tests whether a class is known as type for Second Class Objects. - *

    - * The following invariant holds: - * isSecondClassObjectType(classPath) - * => !isPersistenceCapableClass(classPath) - * @param classPath the JVM-qualified name of the type - * @return true if this type is known for second class objects; - * otherwise false - */ - boolean isSecondClassObjectType(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Tests whether a class is known as type for Mutable Second Class Objects. - *

    - * @param classPath the JVM-qualified name of the type - * @return true if this type is known for mutable second class objects; - * otherwise false - */ - boolean isMutableSecondClassObjectType(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Tests whether a field of a class is known to be persistent. - *

    - * @param classPath the JVM-qualified name of the class - * @param fieldName the name of the field - * @return true if this field is known to be persistent; otherwise false - */ - boolean isPersistentField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Tests whether a field of a class is known to be transactional. - *

    - * @param classPath the JVM-qualified name of the class - * @param fieldName the name of the field - * @return true if this field is known to be transactional; otherwise false - */ - boolean isTransactionalField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Tests whether a field of a class is known to be Primary Key. - *

    - * @param classPath the JVM-qualified name of the class - * @param fieldName the name of the field - * @return true if this field is known to be primary key; otherwise false - */ - boolean isPrimaryKeyField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Tests whether a field of a class is known to be part of the - * Default Fetch Group. - *

    - * @param classPath the JVM-qualified name of the class - * @param fieldName the name of the field - * @return true if this field is known to be part of the - * default fetch group; otherwise false - */ - boolean isDefaultFetchGroupField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Returns the unique field index of a declared, persistent field of a - * class. - *

    - * @param classPath the JVM-qualified name of the class - * @param fieldName the name of the field - * @return the non-negative, unique field index - */ - int getFieldNo(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError; - - /** - * Returns an array of field names of all declared persistent and - * transactional fields of a class. - *

    - * The position of the field names in the result array corresponds - * to their unique field index as returned by getFieldNo such that - * these equations holds: - *

    getFieldNo(getManagedFields(classPath)[i]) == i - *

    getManagedFields(classPath)[getFieldNo(fieldName)] == fieldName - *

    - * @param classPath the JVM-qualified name of the class - * @return an array of all declared persistent and transactional - * fields of a class - */ - String[] getManagedFields(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError; -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataFatalError.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataFatalError.java deleted file mode 100644 index d413f85f3c7..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataFatalError.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.meta; - - -/** - * Thrown to indicate that an access to JDO meta-data failed due to a - * serious error, which might have left the meta-data component in an - * inconsistent state. - */ -public class JDOMetaDataFatalError - //^olsen: provisional, convert to a checked exception - extends RuntimeException -{ - /** - * An optional nested exception. - */ - public final Throwable nested; - - /** - * Constructs an JDOMetaDataFatalError with no detail message. - */ - public JDOMetaDataFatalError() - { - this.nested = null; - } - - /** - * Constructs an JDOMetaDataFatalError with the specified - * detail message. - */ - public JDOMetaDataFatalError(String msg) - { - super(msg); - this.nested = null; - } - - /** - * Constructs an JDOMetaDataFatalError with an optional - * nested exception. - */ - public JDOMetaDataFatalError(Throwable nested) - { - super(nested.toString()); - this.nested = nested; - } - - /** - * Constructs an JDOMetaDataFatalError with the specified - * detail message and an optional nested exception. - */ - public JDOMetaDataFatalError(String msg, Throwable nested) - { - super(msg); - this.nested = nested; - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataModelImpl.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataModelImpl.java deleted file mode 100644 index 46a84188f2b..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataModelImpl.java +++ /dev/null @@ -1,310 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.meta; - -import java.io.PrintWriter; - -import com.sun.jdo.api.persistence.enhancer.util.Support; -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceClassElement; -import com.sun.jdo.api.persistence.model.jdo.RelationshipElement; - - -/** - * Provides the JDO meta information based on a JDO meta model. - */ -//@olsen: new class -public class JDOMetaDataModelImpl extends Support - implements JDOMetaData -{ - // misc - protected final PrintWriter out; - - // model - protected Model model; - - /** - * Creates an instance. - */ - public JDOMetaDataModelImpl(Model model) { - this(model, null); - } - - public JDOMetaDataModelImpl(Model model, - PrintWriter out) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - // check arguments - if (model == null) { - final String msg - = "Initializing meta data: model == null";//NOI18N - throw new JDOMetaDataFatalError(msg); - } - this.model = model; - this.out = out; - } - - /** - * Tests whether a class is known to be transient. - */ - public boolean isTransientClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - //^olsen: delegate to Model once supported - if (classPath.startsWith("java/"))//NOI18N - return true; - if (classPath.startsWith("javax/"))//NOI18N - return true; - if (classPath.startsWith("com/sun/jdo/"))//NOI18N - return true; - return false; - } - - /** - * Tests whether a class is known to be persistence-capable. - */ - public boolean isPersistenceCapableClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - //^olsen: delegate to Model once supported - if (isTransientClass(classPath)) - return false; - final String className = pathToName(classPath); - return model.isPersistent(className); - } - - /** - * Tests whether a class is known as a persistence-capable root class. - */ - public boolean isPersistenceCapableRootClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - //@olsen: 4631388 - do not attempt to support inheritance right now - final String className = pathToName(classPath); - return model.isPersistent(className); - //return (model.isPersistent(className) - // && !model.hasPersistentSuperclass(className)); - } - - /** - * Returns the name of the persistence-capable root class of a class. - */ - public String getPersistenceCapableRootClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - //^olsen: exchange dummy implementation once supported by Model - return (isPersistenceCapableClass(classPath) ? classPath : null); - } - - /** - * Returns the name of the superclass of a class. - *

    - * @param classPath the JVM-qualified name of the class - * @return the name of the superclass. - */ - public String getSuperClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - //throw new UnsupportedOperationException ("not implemented yet"); - return null; - } - - /** - * Tests whether a type is known for Second Class Objects. - */ - public boolean isSecondClassObjectType(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final String className = pathToName(classPath); - return model.isSecondClassObject(className); - } - - /** - * Tests whether a type is known for Mutable Second Class Objects. - */ - public boolean isMutableSecondClassObjectType(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final String className = pathToName(classPath); - return model.isMutableSecondClassObject(className); - } - - /** - * Tests whether a field of a class is known to be persistent. - */ - public boolean isPersistentField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final String className = pathToName(classPath); - return model.isPersistent(className, fieldName); - } - - /** - * Tests whether a field of a class is known to be transactional. - */ - public boolean isTransactionalField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - //throw new UnsupportedOperationException ("not implemented yet"); - return false; - } - - /** - * Tests whether a field of a class is known to be Primary Key. - */ - public boolean isPrimaryKeyField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final String className = pathToName(classPath); - return model.isKey(className, fieldName); - } - - /** - * Tests whether a field of a class is known to be part of the - * Default Fetch Group. Please note that for a relationship field, this - * method always returns false. - */ - public boolean isDefaultFetchGroupField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final String className = pathToName(classPath); - boolean isdfgField = model.isDefaultFetchGroup(className, fieldName); - if(isdfgField) { - final PersistenceFieldElement pfe - = model.getPersistenceField(className, fieldName); - if (pfe instanceof RelationshipElement) { - // This is a relationship field. Flag it as not belonging - // to dfg. - // Relationship fields are always flaged as not belonging to dfg - // This assures that access to a relationship fields is always - // mediated. - // Please see call to this method from following for more details. - // 1. EJBMetaDataModelImpl#getFieldFlags() - // 2. MethodAnnotater#notePutFieldAnnotation() - // 3. MethodAnnotater#noteGetFieldAnnotation() - isdfgField = false; - } - } - return isdfgField; - } - - /** - * Returns the unique field index of a declared, persistent field of a - * class. - */ - public int getFieldNo(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final String className = pathToName(classPath); - final PersistenceFieldElement pfe - = model.getPersistenceField(className, fieldName); - if (pfe == null - || pfe.getPersistenceType() != PersistenceFieldElement.PERSISTENT) - return -1; - - return pfe.getFieldNumber(); - } - - /** - * Returns an array of field names of all declared, persistent fields - * of a class. - */ - private final String[] getPersistentFields(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final String className = pathToName(classPath); - final PersistenceClassElement pce - = model.getPersistenceClass(className); - if (pce == null) - return new String[]{}; - - // exctract field names into result array - final PersistenceFieldElement[] pfes = pce.getFields(); - final int nofFields = (pfes != null ? pfes.length : 0); - final String[] names = new String[nofFields]; - for (int i = 0; i < nofFields; i++) { - final PersistenceFieldElement pfe = pfes[i]; - names[i] = pfe.getName(); - - //@olsen: debugging check - if (false) { - if (pfe.getPersistenceType() - != PersistenceFieldElement.PERSISTENT) { - final String msg - = ("Getting persistent field names: " //NOI18N - + "Encountered non-persistent field '"//NOI18N - + names[i] + "' for class " + classPath);//NOI18N - throw new JDOMetaDataFatalError(msg); - //out.println(msg); - //names[i] = null; - } - } - } - return names; - } - - /** - * Returns an array of field names of all declared persistent and - * transactional fields of a class. - */ - public String[] getManagedFields(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - return getPersistentFields(classPath); - } - - static protected String pathToName(String classPath) { - if (classPath != null) { - return classPath.replace('/', '.'); - } else { - return null; - } - } - - static protected String nameToPath(String className) { - if (className != null) { - return className.replace('.', '/'); - } else { - return null; - } - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataProperties.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataProperties.java deleted file mode 100644 index fdcaab1e46b..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataProperties.java +++ /dev/null @@ -1,1689 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -//JDOMetaDataProperties - Java Source - - -//***************** package *********************************************** - -package com.sun.jdo.api.persistence.enhancer.meta; - - -//***************** import ************************************************ - -import java.lang.reflect.Modifier; - -import java.util.Comparator; -import java.util.Iterator; -import java.util.Enumeration; -import java.util.Map; -import java.util.List; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.HashMap; -import java.util.ArrayList; -import java.util.Properties; -import java.util.StringTokenizer; - -import java.text.MessageFormat; - - -//######################################################################### -/** - * This class parses properties containing meta data information - * about classes. The syntax of the properties is the following: - *

    • - * the keys in the properties file are fully qualified classnames or - * fully qualified fieldnames - *
    • - * a fields is separated by a classname with a hash mark ('#') - * (e.g. "test.Test#test1") - *
    • - * all classnames are given in a natural form (e.g. "java.lang.Integer", - * "java.lang.Integer[][]", "int", "test.Test$Test1") - *
    • - * property keys are classnames and fieldnames - * (e.g. "test.Test=...", "test.Test#field1=...")
      - *
    • - * Classnames can have the following attributes: - *
      • - * jdo:{persistent|transactional} - *
      • - * super: <classname> - *
      • - * access: {public|protected|package|private} - *
    • - * Fieldnames can have the following attributes: - *
      • - * type:<type> - *
      • - * access: {public|protected|package|private} - *
      • - * jdo:{persistent|transactional|transient} - *
      • - * annotation:{pk|dfg|mediated} - *
      - *
    • - * the names of the attributes can be ommitted: you can say
      - * test.Test1#field1=jdo:persistent,type:java.lang.String,pk,...
      - * or
      - * test.Test1#field1=persistent,java.lang.String,pk,...
      - * or
      - * test.Test1#field1=jdo:persistent,java.lang.String,pk,...
      - *
    • - * in order to find fields of a class, a line for the class has to be - * specified in the properties: To find the field - * test.Test1#field, the keys test.Test1 and - * test.Test1#Field have to be present. - *
    - * This class is not thread safe. - */ -//######################################################################### - -public final class JDOMetaDataProperties -{ - - - /** - * The delimiter of a property key between the class- and fieldname. - */ - private static final char FIELD_DELIMITER = '#'; - - /** - * A string of delimiter characters between attributes. - */ - private static final String PROPERTY_DELIMITERS = " \t,;"; - - /** - * A delimiter character between attribute name and attribute value - */ - private static final char PROPERTY_ASSIGNER = ':'; - - - //attribute names for classes and fields - private static final String PROPERTY_ACCESS_MODIFIER = "access"; - private static final String PROPERTY_JDO_MODIFIER = "jdo"; - private static final String PROPERTY_SUPER_CLASSNAME = "super"; - private static final String PROPERTY_OID_CLASSNAME = "oid"; - private static final String PROPERTY_TYPE = "type"; - private static final String PROPERTY_ANNOTATION_TYPE = "annotation"; - - //values of the access attribute of classes and fields. - private static final String ACCESS_PRIVATE = "private"; - private static final String ACCESS_PACKAGE_LOCAL = "package"; - private static final String ACCESS_PROTECTED = "protected"; - private static final String ACCESS_PUBLIC = "public"; - - //values of the jdo attribute of classes and fields. - private static final String JDO_TRANSIENT = "transient"; - private static final String JDO_PERSISTENT = "persistent"; - private static final String JDO_TRANSACTIONAL = "transactional"; - - //values of the annotation type attribute of fields. - private static final String ANNOTATION_TYPE_PK = "pk"; - private static final String ANNOTATION_TYPE_DFG = "dfg"; - private static final String ANNOTATION_TYPE_MEDIATED = "mediated"; - - - /** - * The properties to parse. - */ - private Properties properties; - - - /** - * A map of already read class properties. The keys are the - * classnames, the values are the appropriate - * JDOClass-object. - */ - private final Map cachedJDOClasses = new HashMap (); - - - /** - * A constant for the cache indicating that a given classname - * if not specified in the properties. - */ - private static final JDOClass NULL = new JDOClass (null); - - - /** - * A temporary vector (this is the reason why the implementation is not - * thread safe). - */ - private final List tmpTokens = new ArrayList (); - - - /********************************************************************** - * Creates a new object with the given properties. - * - * @param props The properties. - * - * @see #properties - *********************************************************************/ - - public JDOMetaDataProperties (Properties props) - { - - this.properties = props; - - } //JDOMetaDataProperties. - - - /********************************************************************** - * Get the information about the class with the given name. - * - * @param classname The classname. - * - * @return The information about the class or null if no - * information is given. - * - * @throws JDOMetaDataUserException If something went wrong parsing - * the properties. - *********************************************************************/ - - public final JDOClass getJDOClass (String classname) - throws JDOMetaDataUserException - { - - classname = toCanonicalClassName (classname); - JDOClass clazz = (JDOClass) this.cachedJDOClasses.get (classname); - if (clazz == NULL) //already searched but not found - { - return null; - } - if (clazz != null) - { - return clazz; - } - - //load it from the properties file - String s = this.properties.getProperty (classname); - if (s == null) //class not defined - { - this.cachedJDOClasses.put (classname, NULL); - return null; - } - - //the class could be found in the properties - clazz = parseJDOClass (classname, s); //parse the class attributes - parseJDOFields (clazz); //parse all fields - validateDependencies (clazz); //check dependencies - this.cachedJDOClasses.put (clazz.getName (), clazz); - - return clazz; - - } //JDOMetaDataProperties.getJDOClass() - - - /********************************************************************** - * Gets the information about the specified field. - * - * @param classname The name of the class. - * @param fieldname The name of the field of the class. - * - * @return The information about the field or null if - * no information could be found. - * - * @throws JDOMetaDataUserException If something went wrong parsing - * the properties. - *********************************************************************/ - - public final JDOField getJDOField (String fieldname, - String classname) - throws JDOMetaDataUserException - { - - JDOClass clazz = getJDOClass (classname); - return (clazz != null ? clazz.getField (fieldname) : null); - - } //JDOMetaDataProperties.getJDOField() - - - /********************************************************************** - * Gets all classnames in the properties. - * - * @return All classnames in the properties. - *********************************************************************/ - - public final String [] getKnownClassNames () - { - - Collection classnames = new HashSet (); - for (Enumeration names = this.properties.propertyNames (); names.hasMoreElements ();) - { - String name = (String) names.nextElement (); - if (name.indexOf (FIELD_DELIMITER) < 0) - { - classnames.add (fromCanonicalClassName (name)); - } - } - - return (String []) classnames.toArray (new String [classnames.size ()]); - - } //JDOMetaDataProperties.getKnownClassNames() - - - /********************************************************************** - * Converts a classname given in a given VM-similar notation (with slashes) - * into a canonical notation (with dots). - * - * @param The VM-similar notation of the classname. - * - * @return The canonical classname. - * - * @see #fromCanonicalClassName - *********************************************************************/ - - private static final String toCanonicalClassName (String classname) - { - - return classname.replace ('/', '.'); - - } //JDOMetaDataProperties.toCanonicalClassName() - - - /********************************************************************** - * Converts a classname given in a canonical form (with dots) into - * a VM-similar notation (with slashes) - * - * @param classname The canonical classname. - * - * @return The VM-similar classname notation. - * - * @see #toCanonicalClassName - *********************************************************************/ - - private static final String fromCanonicalClassName (String classname) - { - - return classname.replace ('.', '/'); - - } //JDOMetaDataProperties.fromCanonicalClassName() - - - /********************************************************************** - * Parses the attributes-string of a class and puts them into a - * JDOClass-object. - * - * @param classname The name of the class. - * @param atributes The attribute-string as specified in the properties. - * - * @return @return The create JDOClass-object. - * - * @throws JDOMetaDataUserException If something went wrong parsing - * the attributes. - *********************************************************************/ - - private final JDOClass parseJDOClass (String classname, - String attributes) - throws JDOMetaDataUserException - { - - List props = parseProperties (attributes); - - //check each property - for (int i = 0; i < props.size (); i++) - { - Property prop = (Property) props.get (i); - validateClassProperty (prop, classname); - } - - //check dependencies of all properties - checkForDuplicateProperties (props, classname); - - //properties are OK - assign them to the JDOClass object - JDOClass clazz = new JDOClass (classname); - for (int i = 0; i < props.size (); i++) - { - Property prop = (Property) props.get (i); - if (prop.name.equals (PROPERTY_ACCESS_MODIFIER)) - { - clazz.modifiers = getModifiers (prop.value); - } - else if (prop.name.equals (PROPERTY_JDO_MODIFIER)) - { - clazz.isPersistent = prop.value.equals (JDO_PERSISTENT); - } - else if (prop.name.equals (PROPERTY_SUPER_CLASSNAME)) - { - clazz.setSuperClassName (prop.value); - } - else if (prop.name.equals(PROPERTY_OID_CLASSNAME)) { - clazz.setOidClassName(prop.value); - } - - } - - return clazz; - - } //JDOMetaDataProperties.parseJDOClass() - - - /********************************************************************** - * Checks if the given attribute-property of a class is valid. - * - * @param prop The attribute-property. - * @param classname The classname. - * - * @throws JDOMetaDataUserException If the validation failed. - *********************************************************************/ - - private static final void validateClassProperty (Property prop, - String classname) - throws JDOMetaDataUserException - { - - String value = prop.value; - if (prop.name == null) //try to guess the property name - { - //check access modifier - if (value.equals (ACCESS_PUBLIC) || - value.equals (ACCESS_PROTECTED) || - value.equals (ACCESS_PACKAGE_LOCAL) || - value.equals (ACCESS_PRIVATE)) - { - prop.name = PROPERTY_ACCESS_MODIFIER; - } - - //check persistence - else if (value.equals (JDO_PERSISTENT) || - value.equals (JDO_TRANSIENT)) - { - prop.name = PROPERTY_JDO_MODIFIER; - } - - //assume the the given value is the superclassname - else - { - prop.name = PROPERTY_SUPER_CLASSNAME; - } - } - else - { - //do we have a valid property name? - String name = prop.name; - checkPropertyName (prop.name, new String [] - { - PROPERTY_OID_CLASSNAME, - PROPERTY_ACCESS_MODIFIER, - PROPERTY_JDO_MODIFIER, - PROPERTY_SUPER_CLASSNAME - }, classname); - - //do we have a valid property value? - checkPropertyValue (prop, - new String [] - { - ACCESS_PUBLIC, - ACCESS_PROTECTED, - ACCESS_PACKAGE_LOCAL, - ACCESS_PRIVATE - }, - PROPERTY_ACCESS_MODIFIER, - classname); - checkPropertyValue (prop, - new String [] { JDO_TRANSIENT, JDO_PERSISTENT }, - PROPERTY_JDO_MODIFIER, - classname); - } - - } //JDOMetaDataProperties.validateClassProperty() - - - /********************************************************************** - * Parses all fields of a given class. - * - * @param clazz The representation of the class. - * - * @throws JDOMetaDataUserException If something went wrong parsing - * the properties. - *********************************************************************/ - - private final void parseJDOFields (JDOClass clazz) - throws JDOMetaDataUserException - { - - //search for fields of the class - for (Enumeration names = this.properties.propertyNames (); names.hasMoreElements ();) - { - String name = (String) names.nextElement (); - if (name.startsWith (clazz.getName () + FIELD_DELIMITER)) //field found - { - String fieldname = name.substring (name.indexOf (FIELD_DELIMITER) + 1, name.length ()); - validateFieldName (fieldname, clazz.getName ()); - clazz.addField (parseJDOField (this.properties.getProperty (name), fieldname, clazz)); - } - } - clazz.sortFields (); - - } //JDOMetaDataProperties.parseJDOField() - - - /********************************************************************** - * Parses the attribute-string of a field. - * - * @param attributes The attribute-string. - * @param fieldname The fieldname. - * @param clazz The class to field belongs to. - * - * @throws JDOMetaDataUserException If something went wrong parsing - * the attributes. - *********************************************************************/ - - private final JDOField parseJDOField (String attributes, - String fieldname, - JDOClass clazz) - throws JDOMetaDataUserException - { - - List props = parseProperties (attributes); - - //check each property - for (int i = 0; i < props.size (); i++) - { - Property prop = (Property) props.get (i); - validateFieldProperty (prop, fieldname, clazz.getName ()); - } - - //check dependencies of all properties - checkForDuplicateProperties (props, clazz.getName () + FIELD_DELIMITER + fieldname); - - //properties are OK - assign them to the JDOField object - JDOField field = new JDOField (fieldname); - for (int i = 0; i < props.size (); i++) - { - Property prop = (Property) props.get (i); - if (prop.name.equals (PROPERTY_ACCESS_MODIFIER)) - { - field.modifiers = getModifiers (prop.value); - } - else if (prop.name.equals (PROPERTY_JDO_MODIFIER)) - { - field.jdoModifier = prop.value; - } - else if (prop.name.equals (PROPERTY_TYPE)) - { - field.setType (prop.value); - } - else if (prop.name.equals (PROPERTY_ANNOTATION_TYPE)) - { - field.annotationType = prop.value; - } - } - - return field; - - } //JDOMetaDataProperties.parseJDOField() - - - /********************************************************************** - * Checks if the given attribute-property if valid for a field. - * - * @param prop The attribute-property. - * @param fieldname The fieldname. - * @param classname The classname. - - * @throws JDOMetaDataUserException If the check fails. - *********************************************************************/ - - private final void validateFieldProperty (Property prop, - String fieldname, - String classname) - throws JDOMetaDataUserException - { - - String value = prop.value; - if (prop.name == null) //try to guess the property name - { - //check access modifier - if (value.equals (ACCESS_PUBLIC) || - value.equals (ACCESS_PROTECTED) || - value.equals (ACCESS_PACKAGE_LOCAL) || - value.equals (ACCESS_PRIVATE)) - { - prop.name = PROPERTY_ACCESS_MODIFIER; - } - - //check persistence - else if (value.equals (JDO_PERSISTENT) || - value.equals (JDO_TRANSIENT) || - value.equals (JDO_TRANSACTIONAL)) - { - prop.name = PROPERTY_JDO_MODIFIER; - } - - //annotation type? - else if (value.equals (ANNOTATION_TYPE_PK) || - value.equals (ANNOTATION_TYPE_DFG) || - value.equals (ANNOTATION_TYPE_MEDIATED)) - { - prop.name = PROPERTY_ANNOTATION_TYPE; - } - - else - { - //assume the the given value is the type - prop.name = PROPERTY_TYPE; - } - } - else - { - String entry = classname + FIELD_DELIMITER + fieldname; - - //do we have a valid property name? - checkPropertyName (prop.name, - new String [] - { - PROPERTY_ACCESS_MODIFIER, - PROPERTY_JDO_MODIFIER, - PROPERTY_TYPE, - PROPERTY_ANNOTATION_TYPE - }, - entry); - - //do we have a valid property value - checkPropertyValue (prop, - new String [] - { - ACCESS_PUBLIC, - ACCESS_PROTECTED, - ACCESS_PACKAGE_LOCAL, - ACCESS_PRIVATE - }, - PROPERTY_ACCESS_MODIFIER, - entry); - checkPropertyValue (prop, - new String [] - { - JDO_PERSISTENT, - JDO_TRANSIENT, - JDO_TRANSACTIONAL - }, - PROPERTY_JDO_MODIFIER, - entry); - checkPropertyValue (prop, - new String [] - { - ANNOTATION_TYPE_PK, - ANNOTATION_TYPE_DFG, - ANNOTATION_TYPE_MEDIATED - }, - PROPERTY_ANNOTATION_TYPE, - entry); - } - - } //JDOMetaDataProperties.validateFieldProperty() - - - /********************************************************************** - * Validates dependencies between a class and its fields and between. - * - * @param clazz The class. - * - * @throws JDOMetaDataUserException If the validation fails. - *********************************************************************/ - - private final void validateDependencies (JDOClass clazz) - throws JDOMetaDataUserException - { - - for (int i = clazz.fields.size () - 1; i >= 0; i--) - { - JDOField field = (JDOField) clazz.fields.get (i); - - //set the jdo field modifier according to the jdo class modifier (if jdo field not set yet) - if (field.jdoModifier == null) - { - field.jdoModifier = (clazz.isPersistent () ? JDO_PERSISTENT : JDO_TRANSIENT); - } - //if we have a non-persistent class - else if (clazz.isTransient ()) - { - //non-persistent classes cannot have persistent fields - if (field.isPersistent ()) - { - throw new JDOMetaDataUserException (getErrorMsg (IErrorMessages.ERR_TRANSIENT_CLASS_WITH_PERSISTENT_FIELD, - new String [] { clazz.getName (), field.getName () })); - } - //non-persistent classes cannot have transactional fields - if (field.isTransactional ()) - { - throw new JDOMetaDataUserException (getErrorMsg (IErrorMessages.ERR_TRANSIENT_CLASS_WITH_TRANSACTIONAL_FIELD, - new String [] { clazz.getName (), field.getName () })); - } - } - - //a non-persistent class cannot have an annotated field - if (field.isAnnotated () && clazz.isTransient ()) - { - throw new JDOMetaDataUserException (getErrorMsg (IErrorMessages.ERR_TRANSIENT_CLASS_WITH_ANNOTATED_FIELD, - new String [] { clazz.getName (), field.getName () })); - } - - //a non-persistent field cannot have an annotation type - if ( ! field.isPersistent () && field.isAnnotated ()) - { - field.annotationType = ANNOTATION_TYPE_MEDIATED; - } - - //set the annotation type if not done yet - if ( ! field.isAnnotated () && clazz.isPersistent ()) - { - field.annotationType = ANNOTATION_TYPE_MEDIATED; - } - } - - } //JDOMetaDataProperties.validateDependencies() - - - /********************************************************************** - * Checks if a given fieldname is a valid Java identifier. - * - * @param fieldname The fieldname. - * @param classname The corresponding classname. - * - * @throws JDOMetaDataUserException If the check fails. - *********************************************************************/ - - private static final void validateFieldName (String fieldname, - String classname) - throws JDOMetaDataUserException - { - - if (fieldname.length () == 0) - { - throw new JDOMetaDataUserException (getErrorMsg (IErrorMessages.ERR_EMPTY_FIELDNAME, - new String [] { classname })); - } - if ( ! Character.isJavaIdentifierStart (fieldname.charAt (0))) - { - throw new JDOMetaDataUserException (getErrorMsg (IErrorMessages.ERR_INVALID_FIELDNAME, - new String [] { classname, fieldname })); - } - for (int i = fieldname.length () - 1; i >= 0; i--) - { - final char c = fieldname.charAt (i); - if ( ! Character.isJavaIdentifierPart (c)) - { - throw new JDOMetaDataUserException (getErrorMsg (IErrorMessages.ERR_INVALID_FIELDNAME, - new String [] { classname, fieldname })); - } - } - - } //JDOMetaDataProperties.checkFieldName() - - - /********************************************************************** - * Checks if an attribute-property was entered twice for a class or field. - * - * @param props The properties. - * @param entry The class- or fieldname. - * - * @throws JDOMetaDataUserException If the check fails. - *********************************************************************/ - - private static final void checkForDuplicateProperties (List props, - String entry) - throws JDOMetaDataUserException - { - - for (int i = 0; i < props.size (); i++) - { - for (int j = i + 1; j < props.size (); j++) - { - Property p1 = (Property) props.get (i); - Property p2 = (Property) props.get (j); - if (p1.name.equals (p2.name) && ! p1.value.equals (p2.value)) - { - throw new JDOMetaDataUserException (getErrorMsg (IErrorMessages.ERR_DUPLICATE_PROPERTY_NAME, - new String [] { entry, p1.name, p1.value, p2.value })); - } - } - } - - } //JDOMetaDataProperties.checkForDuplicateEntries() - - - /********************************************************************** - * Checks if an attribute name is recognized by the parser. - * - * @param name The name of the attribute. - * @param validnames A list of valid names (the attribute name has to - * be in this list). - * @param entry The class- or fieldname. - * - * @throws JDOMetaDataUserException If the check fails. - *********************************************************************/ - - private static final void checkPropertyName (String name, - String [] validnames, - String entry) - throws JDOMetaDataUserException - { - - for (int i = 0; i < validnames.length; i++) - { - if (name.equals (validnames [i])) - { - return; - } - } - - throw new JDOMetaDataUserException (getErrorMsg (IErrorMessages.ERR_INVALID_PROPERTY_NAME, - new String [] { entry, name })); - - } //JDOMetaDataProperties.checkPropertyName() - - - /********************************************************************** - * Checks if the given value of an attribute-property is recognized by - * by the parser if that value belongs to a given attribute name. - * - * @param prop The attribute-property (with name and value). - * @param validvalues A list of valid values. - * @param name The name of the attribute-property to check. - * @param entry The class- or fieldname. - * - * @throws JDOMetaDataUserException If the check fails. - *********************************************************************/ - - private static final void checkPropertyValue (Property prop, - String [] validvalues, - String name, - String entry) - throws JDOMetaDataUserException - { - - if ( ! prop.name.equals (name)) - { - return; - } - - for (int i = 0; i < validvalues.length; i++) - { - if (prop.value.equals (validvalues [i])) - { - return; - } - } - - throw new JDOMetaDataUserException (getErrorMsg (IErrorMessages.ERR_INVALID_PROPERTY_VALUE, - new String [] { entry, name, prop.value })); - - } //JDOMetaDataProperties.checkPropertyValue() - - - /********************************************************************** - * Formats an error message with the given parameters. - * - * @param msg The message with format strings. - * @param params The params to format the message with. - * - * @return The formatted error message. - *********************************************************************/ - - static final String getErrorMsg (String msg, - String [] params) - { - - return MessageFormat.format (msg, (Object []) params); - - } //JDOMetaDataProperties.getErrorMsg() - - - /********************************************************************** - * Parses the attribute-string of a class- or fieldname. - * - * @param attributes The attribute-string. - * - * @return A list of Propert<-objects for the attributes. - * - * @exception JDOMetaDataUserException If the parsing fails. - *********************************************************************/ - - final List parseProperties (String attributes) - throws JDOMetaDataUserException - { - - this.tmpTokens.clear (); - StringTokenizer t = new StringTokenizer (attributes, PROPERTY_DELIMITERS); - while (t.hasMoreTokens ()) - { - this.tmpTokens.add (parseProperty (t.nextToken ())); - } - - return this.tmpTokens; - - } //JDOMetaDataProperties.getTokens() - - - /********************************************************************** - * Parses the given attribute and splits it into name and value. - * - * @param attribute The attribute-string. - * - * @return The Propert-object. - * - * @exception JDOMetaDataUserException If the parsing fails. - *********************************************************************/ - - private final Property parseProperty (String attribute) - throws JDOMetaDataUserException - { - - Property prop = new Property (); - int idx = attribute.indexOf (PROPERTY_ASSIGNER); - if (idx < 0) - { - prop.value = attribute; - } - else - { - prop.name = attribute.substring (0, idx); - prop.value = attribute.substring (idx + 1, attribute.length ()); - if (prop.name.length () == 0 || prop.value.length () == 0) - { - throw new JDOMetaDataUserException (getErrorMsg (IErrorMessages.ERR_EMPTY_PROPERTY_NAME_OR_VALUE, - new String [] { attribute })); - } - } - - return prop; - - } //JDOMetaDataProperties.parseProperty() - - - /********************************************************************** - * - *********************************************************************/ - - private static final int getModifiers (String modifier) - { - - if (modifier.equals (ACCESS_PUBLIC)) - { - return Modifier.PUBLIC; - } - if (modifier.equals (ACCESS_PRIVATE)) - { - return Modifier.PRIVATE; - } - if (modifier.equals (ACCESS_PROTECTED)) - { - return Modifier.PROTECTED; - } - return 0; - - } //JDOMetaDataProperties.getModifiers() - - - /********************************************************************** - * A simple test to run from the command line. - * - * @param argv The command line arguments. - *********************************************************************/ - -/* - public static void main (String [] argv) - { - - if (argv.length != 1) - { - System.err.println ("Error: no property filename specified"); - return; - } - Properties p = new Properties (); - try - { - java.io.InputStream in = new java.io.FileInputStream (new java.io.File (argv [0])); - p.load (in); - in.close (); - System.out.println ("PROPERTIES: " + p); - System.out.println ("############"); - JDOMetaDataProperties props = new JDOMetaDataProperties (p); - String [] classnames = props.getKnownClassNames (); - for (int i = 0; i < classnames.length; i++) - { - String classname = classnames [i]; - System.out.println (classname + ": " + props.getJDOClass (classname)); - } - } - catch (Throwable ex) - { - ex.printStackTrace (System.err); - } - - } //JDOMetaDataProperties.main() -*/ - - - //##################################################################### - /** - * The holder-class for the name and the value of a property. - */ - //##################################################################### - - private static final class Property - { - - - /** - * The name of the property. - */ - String name = null; - - - /** - * The value of the property. - */ - String value = null; - - - /****************************************************************** - * Creates a string-representation of this object. - * - * @return The string-representation of this object. - *****************************************************************/ - - public final String toString () - { - - return '<' + name + ':' + value + '>'; - - } //Property.toString() - - - } //Property - - - //##################################################################### - /** - * Holds all unformatted error messages. - */ - //##################################################################### - - private static interface IErrorMessages - { - - - //the unformatted error messages - static final String PREFIX = "Error Parsing meta data properties: "; - static final String ERR_EMPTY_FIELDNAME = - PREFIX + "The class ''{0}'' may not have an empty fieldname."; - static final String ERR_INVALID_FIELDNAME = - PREFIX + "The field name ''{1}'' of class ''{0}'' is not valid."; - static final String ERR_EMPTY_PROPERTY_NAME_OR_VALUE = - PREFIX + "The property name and value may not be empty if a ''" + PROPERTY_ASSIGNER + "'' is specified: ''{0}''."; - static final String ERR_INVALID_PROPERTY_NAME = - PREFIX + "Invalid property name for entry ''{0}'': ''{1}''."; - static final String ERR_INVALID_PROPERTY_VALUE = - PREFIX + "Invalid value for property ''{1}'' of entry ''{0}'': ''{2}''."; - static final String ERR_DUPLICATE_PROPERTY_NAME = - PREFIX + "The property ''{1}'' for the entry ''{0}'' entered twice with values: ''{2}'' and ''{3}''."; - static final String ERR_TRANSIENT_CLASS_WITH_PERSISTENT_FIELD = - PREFIX + "A non-persistent class cannot have a persistent field (class ''{0}'' with field ''{1})''."; - static final String ERR_TRANSIENT_CLASS_WITH_TRANSACTIONAL_FIELD = - PREFIX + "A non-persistent class cannot have a transactional field (class ''{0}'' with field ''{1})''."; - static final String ERR_TRANSIENT_CLASS_WITH_ANNOTATED_FIELD = - PREFIX + "A non-persistent class cannot have an annotated field (''{1}'' of class ''{0}'') can''t have a fetch group."; - static final String ERR_NON_PERSISTENT_ANNOTATED_FIELD = - PREFIX + "A non-persistent field (''{1}'' of class ''{0}'') can''t be a annotated."; - - - } //IErrorMessages - - - //##################################################################### - /** - * A class to hold all parsed attributes of a class. - */ - //##################################################################### - - static final class JDOClass - { - - - /** - * The name of the class. - */ - private String name; - - - /** - * The name of the superclass. - */ - private String superClassName = null; - - - /** - * The name of the oid class. - */ - private String oidClassName = null; - - - /** - * The access modifier. - */ - private int modifiers = Modifier.PUBLIC; - - - /** - * Do we have a persistent class? - */ - private boolean isPersistent = true; - - - /** - * A list of all parsed fields. - */ - private final List fields = new ArrayList (); - - - /** - * - */ - private String [] managedFieldNames = null; - - - /** - * - */ - private String [] fieldNames = null; - - - /****************************************************************** - * Constructs a new object with the given name. - * - * @param name The name of the class. - * - * @see #name - *****************************************************************/ - - JDOClass (String name) - { - - this.name = name; - - } //JDOClass. - - - /****************************************************************** - * Gets the name of the class. - * - * @return The name of the class. - * - * @see #name - *****************************************************************/ - - public final String getName () - { - - return this.name; - - } //JDOClass.getName() - - - /****************************************************************** - * - *****************************************************************/ - - public final int getModifiers () - { - - return this.modifiers; - - } //JDOClass.getModifiers() - - - /****************************************************************** - * Sets the superclassname. The given classname should have a canonical - * form (with dots). It is converted to the CM-similar notation - * (with slashes). - * - * @param classname The superclassname. - * - * @see #superClassName - *****************************************************************/ - - private final void setSuperClassName (String classname) - { - - this.superClassName = fromCanonicalClassName (classname); - - } //JDOClass.setSuperClassName() - - - /****************************************************************** - * Gets the superclassname. - * - * @return The superclassname. - * - * @see #superClassName - *****************************************************************/ - - public final String getSuperClassName () - { - - return this.superClassName; - - } //JDOClass.getSuperClassName() - - - /****************************************************************** - * Sets the superclassname. The given classname should have a canonical - * form (with dots). It is converted to the CM-similar notation - * (with slashes). - * - * @param classname The superclassname. - * - * @see #superClassName - *****************************************************************/ - - public void setOidClassName(String classname) - { - this.oidClassName = fromCanonicalClassName(classname); - } - - - /****************************************************************** - * Gets the oidClassName. - * - * @return The oidClassName. - * - * @see #oidClassName - *****************************************************************/ - - public String getOidClassName() - { - return oidClassName; - } - - - /****************************************************************** - * Do we have a persistent class. - * - * @return Do we have a persistent class? - * - * @see #isPersistent - *****************************************************************/ - - public final boolean isPersistent () - { - - return this.isPersistent; - - } //JDOMetaClass.isPersistent() - - - /****************************************************************** - * Do we have a transient class. - * - * @return Do we have a transient class? - * - * @see #isPersistent - *****************************************************************/ - - public final boolean isTransient () - { - - return ! isPersistent (); - - } //JDOMetaClass.isTransient() - - - /****************************************************************** - * Adds a new field. - * - * @param field The new field. - * - * @see #fields - *****************************************************************/ - - private final void addField (JDOField field) - { - - this.fields.add (field); - - } //JDOClass.addField() - - - /****************************************************************** - * Gets the field with the given name. - * - * @param name The name of the requested field. - * - * @return The field or null if not found. - * - * @see #fields - *****************************************************************/ - - public final JDOField getField (String name) - { - - int idx = getIndexOfField (name); - return (idx > -1 ? (JDOField) this.fields.get (idx) : null); - - } //JDOField.getField() - - - /****************************************************************** - * Gets the index of the field with the given name. - * - * @param name The name of the field. - * - * @return The index or -1 if the field was not found. - * - * @see #fields - *****************************************************************/ - - public final int getIndexOfField (String name) - { - - for (int i = 0; i < this.fields.size (); i++) - { - JDOField field = (JDOField) this.fields.get (i); - if (field.getName ().equals (name)) - { - return i; - } - } - - return -1; - - } //JDOClass.getIndexOfField() - - - /****************************************************************** - * Gets all fields of this class. - * - * @return The fields. - * - * @see #fields - *****************************************************************/ - - public final String [] getFields () - { - - if (this.fieldNames == null) - { - final int n = this.fields.size (); - String [] fields = new String [n]; - for (int i = 0; i < n; i++) - { - fields [i] = ((JDOField) this.fields.get (i)).getName (); - } - this.fieldNames = fields; - } - - return this.fieldNames; - - } //JDOClass.getFields() - - - /****************************************************************** - * Sorts the fields of this class according to the names. This method - * should be called if all fields are added. It is necessary to - * establish an order on the fields. - * - * @see #fields - *****************************************************************/ - - private final void sortFields () - { - - Collections.sort (this.fields, - new Comparator () - { - public final int compare (Object f1, Object f2) - { - JDOField field1 = (JDOField) f1; - JDOField field2 = (JDOField) f2; - //if we dont have managed fields we dont care - if ( ! (field1.isManaged () && field2.isManaged ())) - { - return (field1.isManaged () ? -1 : 1); - } - return (field1).getName ().compareTo (field2.getName ()); - } - }); - - } //JDOClass.sortFields() - - - /****************************************************************** - * Gets a list of persistent field names of this class. - * - * @return The persistent fieldnames. - * - * @see #fields - *****************************************************************/ - - public final String [] getManagedFieldNames () - { - - if (this.managedFieldNames == null) - { - final int n = this.fields.size (); - List tmp = new ArrayList (n); - for (int i = 0; i < n; i++) - { - JDOField field = (JDOField) this.fields.get (i); - if (field.isManaged ()) - { - tmp.add (field.getName ()); - } - } - this.managedFieldNames = (String []) tmp.toArray (new String [tmp.size ()]); - } - - return this.managedFieldNames; - - } //JDOClass.getManagedFieldNames() - - - /****************************************************************** - * Creates a string-representation for this object. - * - * @return The string-representation of this object. - *****************************************************************/ - - public final String toString () - { - - return '<' + PROPERTY_SUPER_CLASSNAME + ':' + this.superClassName + ',' + - PROPERTY_ACCESS_MODIFIER + ':' + Modifier.toString (this.modifiers) + ',' + - PROPERTY_JDO_MODIFIER + ':' + this.isPersistent + ',' + - "fields:" + this.fields + '>'; - - } //JDOClass.toString() - - - } //JDOClass - - - //##################################################################### - /** - * A class to hold the properties of a field. - */ - //##################################################################### - - static final class JDOField - { - - - /** - * The name of the field. - */ - private String name; - - - /** - * The type of the field. - */ - private String type = null; - - - /** - * The access modifier of the field. - */ - private int modifiers = Modifier.PRIVATE; - - - /** - * The JDO modifier of the field. - */ - private String jdoModifier = null; - - - /** - * The annotation type. - */ - private String annotationType = null; - - - /****************************************************************** - * Creates a new object with the given name. - * - * @param name The name of the field. - * - * @see #name - *****************************************************************/ - - JDOField (String name) - { - - this.name = name; - - } //JDOField. - - - /****************************************************************** - * Gets the name of the field. - * - * @return The name of the field. - * - * @see #name - *****************************************************************/ - - public final String getName () - { - - return this.name; - - } //JDOField.getName() - - - /****************************************************************** - * Sets the type of the field. The given classname should have a - * natural form (with dots) and is converted to a VM-similar - * notation (with slashes). - * - * @param type The natural classname. - * - * @see #type - *****************************************************************/ - - public final void setType (String type) - { - - this.type = fromCanonicalClassName (type); - - } //JDOField.setType() - - - /****************************************************************** - * Gets the type of the field. - * - * @return The type of the field. - * - * @see #type - *****************************************************************/ - - public final String getType () - { - - return this.type; - - } //JDOField.getType() - - - /****************************************************************** - * - *****************************************************************/ - - public final int getModifiers () - { - - return this.modifiers; - - } //JDOField.getModifiers() - - - /****************************************************************** - * Do we have an annotated field? - * - * @return Do we have an annotated field? - * - * @see #annotationType - *****************************************************************/ - - public final boolean isAnnotated () - { - - return this.annotationType != null; - - } //JDOField.isAnnotated() - - - /****************************************************************** - * Do we have a primary key? - * - * @return Do we have a primary key? - * - * @see #annotationType - *****************************************************************/ - - public final boolean isPk () - { - - return (this.annotationType != null && this.annotationType.equals (ANNOTATION_TYPE_PK)); - - } //JDOField.isPk() - - - /****************************************************************** - * Is the field in the default fetch group? - * - * @return Is the field in the default fetch group? - * - * @see #annotationType - *****************************************************************/ - - public final boolean isInDefaultFetchGroup () - { - - return (this.annotationType != null && this.annotationType.equals (ANNOTATION_TYPE_DFG)); - - } //JDOField.isInDefaultFetchGroup() - - - /****************************************************************** - * Returns whether the field is declared transient. - * - * @return true if declared transient field. - * @see #jdoModifier - */ - public boolean isKnownTransient() - { - return (jdoModifier != null - && jdoModifier.equals(JDO_TRANSIENT)); - } - - - /****************************************************************** - * Do we have a persistent field. - * - * @return Do we have a persistent field. - * - * @see #jdoModifier - *****************************************************************/ - - public final boolean isPersistent () - { - - return (this.jdoModifier != null && this.jdoModifier.equals (JDO_PERSISTENT)); - - } //JDOField.isPersistent() - - - /****************************************************************** - * Do we have a transactional field. - * - * @return So we have a transactional field? - * - * @see #jdoModifier - *****************************************************************/ - - public final boolean isTransactional () - { - - return (this.jdoModifier != null && this.jdoModifier.equals (JDO_TRANSACTIONAL)); - - } //JDOField.isTransactional() - - - /****************************************************************** - * Do we have a managed field? - * - * @return Do we have a managed field? - *****************************************************************/ - - public final boolean isManaged () - { - - return (isPersistent () || isTransactional ()); - - } //JDOField.isManaged() - - - /****************************************************************** - * Creates a string-representation of the object. - * - * @return The string-representation of the object. - *****************************************************************/ - - public final String toString () - { - - return '<' + "name:" + this.name + ',' + - PROPERTY_TYPE + ':' + this.type + ',' + - PROPERTY_ACCESS_MODIFIER + ':' + Modifier.toString (this.modifiers) + ',' + - PROPERTY_JDO_MODIFIER + ':' + this.jdoModifier + ',' + - PROPERTY_ANNOTATION_TYPE + ':' + this.annotationType + - '>'; - - } //JDOField.toString() - - - } //JDOField - - -} //JDOMetaDataProperties diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataPropertyImpl.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataPropertyImpl.java deleted file mode 100644 index c25f6408b82..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataPropertyImpl.java +++ /dev/null @@ -1,693 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.meta; - -import java.util.Map; -import java.util.List; -import java.util.Collection; -import java.util.HashSet; -import java.util.HashMap; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Properties; -import java.util.StringTokenizer; - -import java.io.PrintWriter; - -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaDataProperties.JDOClass; -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaDataProperties.JDOField; - -import com.sun.jdo.api.persistence.enhancer.util.Support; - -/** - * Provides the JDO meta information based on properties. - */ -//@olsen: new class -public class JDOMetaDataPropertyImpl extends Support - implements ExtendedJDOMetaData -{ - // misc -// static final String nl = System.getProperty("line.separator", "\n"); -// protected final PrintWriter out; - - // model - private static final HashSet transientTypePrefixes = new HashSet(); - private static final HashSet secondClassObjectTypes = new HashSet(); - private static final HashSet mutableSecondClassObjectTypes = new HashSet(); - - - /** - * - */ - private final JDOMetaDataProperties properties; - - - /********************************************************************** - * - *********************************************************************/ - - static - { - transientTypePrefixes.add("java/");//NOI18N - transientTypePrefixes.add("javax/");//NOI18N - transientTypePrefixes.add("com/sun/jdo/");//NOI18N - - mutableSecondClassObjectTypes.add("java/util/Date");//NOI18N - mutableSecondClassObjectTypes.add("com/sun/jdo/spi/persistence/support/sqlstore/sco/Date");//NOI18N - mutableSecondClassObjectTypes.add("java/sql/Date");//NOI18N - mutableSecondClassObjectTypes.add("com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlTime");//NOI18N - mutableSecondClassObjectTypes.add("java/sql/Time");//NOI18N - mutableSecondClassObjectTypes.add("com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlDate");//NOI18N - mutableSecondClassObjectTypes.add("java/sql/Timestamp");//NOI18N - mutableSecondClassObjectTypes.add("com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlTimestamp");//NOI18N - mutableSecondClassObjectTypes.add("java/util/Collection");//NOI18N - mutableSecondClassObjectTypes.add("java/util/Set");//NOI18N - mutableSecondClassObjectTypes.add("java/util/List");//NOI18N - mutableSecondClassObjectTypes.add("java/util/HashSet");//NOI18N - mutableSecondClassObjectTypes.add("java/util/Vector");//NOI18N - mutableSecondClassObjectTypes.add("java/util/ArrayList");//NOI18N - - secondClassObjectTypes.add("java/lang/Boolean");//NOI18N - secondClassObjectTypes.add("java/lang/Byte");//NOI18N - secondClassObjectTypes.add("java/lang/Short");//NOI18N - secondClassObjectTypes.add("java/lang/Integer");//NOI18N - secondClassObjectTypes.add("java/lang/Long");//NOI18N - secondClassObjectTypes.add("java/lang/Float");//NOI18N - secondClassObjectTypes.add("java/lang/Double");//NOI18N - secondClassObjectTypes.add("java/lang/Number");//NOI18N - secondClassObjectTypes.add("java/lang/Character");//NOI18N - secondClassObjectTypes.add("java/lang/String");//NOI18N - secondClassObjectTypes.add("java/math/BigInteger");//NOI18N - secondClassObjectTypes.add("java/math/BigDecimal");//NOI18N - secondClassObjectTypes.addAll(mutableSecondClassObjectTypes); - - } //JDOMetaDataPropertyImpl. - - - /** - * Creates an instance. - * //@lars: out id not used anymore - */ - public JDOMetaDataPropertyImpl(Properties properties, - PrintWriter out) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - // check arguments - if (properties == null) { - final String msg - = "Initializing meta data: properties == null";//NOI18N - throw new JDOMetaDataFatalError(msg); - } - /* - if (out == null) { - final String msg - = "Initializing meta data: output stream == null";//NOI18N - throw new JDOMetaDataFatalError(msg); - } - */ - - this.properties = new JDOMetaDataProperties (properties); - readProperties (); - //this.out = out; - } - - /** - * Creates an instance. - * //@lars: out id not used anymore - */ - public JDOMetaDataPropertyImpl(Properties properties) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - this (properties, null); - } - - /** - * Tests whether a class is known to be persistence-capable. - */ - public boolean isPersistenceCapableClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - //check the transient prefixes - for (Iterator i = transientTypePrefixes.iterator(); i.hasNext();) { - final String typePrefix = (String)i.next(); - if (classPath.startsWith(typePrefix)) - return false; - } - JDOClass clazz = getJDOClass (classPath); - return (clazz != null ? clazz.isPersistent () : false); - } - - /********************************************************************** - * - *********************************************************************/ - - public boolean isTransientClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - return ! isPersistenceCapableClass (classPath); - } - - /** - * Tests whether a class is known as a persistence-capable root class. - */ - public boolean isPersistenceCapableRootClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - //@lars - if ( ! isPersistenceCapableClass (classPath)) - { - return false; - } - String superclass = getSuperClass (classPath); - return (superclass != null ? ! isPersistenceCapableClass (superclass) : true); - - //^olsen: exchange dummy implementation -// return isPersistenceCapableClass(classPath); - } - - /** - * Returns the name of the persistence-capable root class of a class. - */ - public String getPersistenceCapableRootClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - //^olsen: exchange dummy implementation - return (isPersistenceCapableClass(classPath) ? classPath : null); - } - - /** - * Returns the superclass of a class. - */ - - public final String getSuperClass (String classname) - { - - JDOClass clazz = getJDOClass (classname); - return (clazz != null ? clazz.getSuperClassName () : null); - - } //JDOMetaDataPropertyImpl.getSuperClass() - - - /** - * Tests whether a type is known for Second Class Objects. - */ - public boolean isSecondClassObjectType(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - return secondClassObjectTypes.contains(classPath); - } - - /** - * Tests whether a type is known for Mutable Second Class Objects. - */ - public boolean isMutableSecondClassObjectType(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - return mutableSecondClassObjectTypes.contains(classPath); - } - - /** - * Tests whether a field of a class is known to be persistent. - */ - public boolean isPersistentField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - JDOField field = getJDOField (classPath, fieldName); - return (field != null ? field.isPersistent () : false); - } - - /** - * Tests whether a field of a class is known to be transactional. - */ - public boolean isTransactionalField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - JDOField field = getJDOField (classPath, fieldName); - return (field != null ? field.isTransactional () : false); - } - - /** - * Tests whether a field of a class is known to be Primary Key. - */ - public boolean isPrimaryKeyField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - JDOField field = getJDOField (classPath, fieldName); - return (field != null ? field.isPk () : false); - } - - /** - * Tests whether a field of a class is known to be part of the - * Default Fetch Group. - */ - public boolean isDefaultFetchGroupField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - JDOField field = getJDOField (classPath, fieldName); - return (field != null ? field.isInDefaultFetchGroup () : false); - } - - /** - * Returns the unique field index of a declared, persistent field of a - * class. - */ - public int getFieldNo(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - JDOClass clazz = getJDOClass (classPath); - return (clazz != null ? clazz.getIndexOfField (fieldName) : -1); - } - - /** - * Returns an array of field names of all declared, persistent fields - * of a class. - */ - public String [] getManagedFields (String classname) - { - - JDOClass clazz = getJDOClass (classname); - return (clazz != null ? clazz.getManagedFieldNames () : new String [] {}); - - } //JDOMetaDataPropertyImpl.getManagedFields() - - - /********************************************************************** - * No interface method. - *********************************************************************/ - - public final String [] getKnownClasses () - { - - return this.properties.getKnownClassNames (); - - } //JDOMetaDataPropertyImpl.getKnownClasses() - - - /********************************************************************** - * Gets all known fields of a class. - *********************************************************************/ - - public final String [] getKnownFields (String classname) - { - - JDOClass clazz = getJDOClass (classname); - return (clazz != null ? clazz.getFields () : new String [] {}); - - } //JDOMetaDataPropertyImpl.getKnownFields() - - - /********************************************************************** - * Gets the access modifier of a class. - *********************************************************************/ - - public final int getClassModifiers (String classname) - { - - JDOClass clazz = getJDOClass (classname); - return (clazz != null ? clazz.getModifiers () : 0); - - } //JDOMetaDataPropertyImpl.getClassModifiers() - - - /********************************************************************** - * Gets the access modifier of a field. - *********************************************************************/ - - public final int getFieldModifiers (String classname, - String fieldname) - { - - JDOField field = getJDOField (classname, fieldname); - return (field != null ? field.getModifiers () : 0); - - } //JDOMetaDataPropertyImpl.getFieldModifiers() - - - /********************************************************************** - * - *********************************************************************/ - - public final String getFieldType (String classname, - String fieldname) - { - - JDOField field = getJDOField (classname, fieldname); - return (field != null ? field.getType () : null); - - } //JDOMetaDataPropertyImpl.getFieldType() - - - /********************************************************************** - * - *********************************************************************/ - - private final JDOClass getJDOClass (String classname) - throws JDOMetaDataUserException - { - - return this.properties.getJDOClass (classname); - - } //JDOMetaDataPropertyImpl.getJDOClass() - - - /********************************************************************** - * - *********************************************************************/ - - private final void readProperties () - { - - //read all classes - String [] classnames = this.properties.getKnownClassNames (); - for (int i = classnames.length - 1; i >= 0; i--) - { - JDOClass clazz = getJDOClass (classnames [i]); //should be always != null - - //if the class is persistence it cannot be a second class object type - if (clazz.isPersistent () && secondClassObjectTypes.contains (clazz.getName ())) - { - throw new JDOMetaDataUserException ("ERROR: Parsing meta data properties: " + - "The persistent-capable class '" + clazz.getName () + - "' is second class object type."); - } - } - - } //JDOMetaDataPropertyImpl.readProperties() - - - /********************************************************************** - * - *********************************************************************/ - - private final JDOField getJDOField (String classname, - String fieldname) - { - - JDOClass clazz = getJDOClass (classname); - return (clazz != null ? clazz.getField (fieldname) : null); - - } //JDOMetaDataPropertyImpl.getJDOField() - - - /********************************************************************** - * - *********************************************************************/ - - public String getKeyClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final JDOClass clazz = getJDOClass(classPath); - return (clazz != null ? clazz.getOidClassName() : null); - } - - - /********************************************************************** - * - *********************************************************************/ - - public boolean isKeyField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final JDOField field = getJDOField(classPath, fieldName); - return (field != null ? field.isPk() : false); - } - - - /********************************************************************** - * - *********************************************************************/ - - public boolean isKnownNonManagedField(String classPath, - String fieldName, - String fieldSig) - { - final JDOClass clazz = getJDOClass(classPath); - if (clazz == null) { - return true; - } - final JDOField field = clazz.getField(fieldName); - return (field != null ? field.isKnownTransient() : false); - } - - - /********************************************************************** - * - *********************************************************************/ - - public boolean isManagedField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - return (isPersistentField(classPath, fieldName) - || isTransactionalField(classPath, fieldName)); - } - - - /********************************************************************** - * - *********************************************************************/ - - public int getFieldFlags(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - if (!isManagedField(classPath, fieldName)) { - affirm(!isTransactionalField(classPath, fieldName)); - affirm(!isPersistentField(classPath, fieldName)); - affirm(!isKeyField(classPath, fieldName)); - affirm(!isDefaultFetchGroupField(classPath, fieldName)); - return 0; - } - //affirm(isManagedField(classPath, fieldName)); - - if (isTransactionalField(classPath, fieldName)) { - affirm(!isPersistentField(classPath, fieldName)); - affirm(!isKeyField(classPath, fieldName)); - // ignore any dfg membership of transactional fields - //affirm(!isDefaultFetchGroupField(classPath, fieldName)); - return CHECK_WRITE; - } - //affirm(!isTransactionalField(classPath, fieldName)); - affirm(isPersistentField(classPath, fieldName)); - - if (isKeyField(classPath, fieldName)) { - // ignore any dfg membership of key fields - //affirm(!isDefaultFetchGroupField(classPath, fieldName)); - return MEDIATE_WRITE; - } - //affirm(!isKeyField(classPath, fieldName)); - - if (isDefaultFetchGroupField(classPath, fieldName)) { - return CHECK_READ | CHECK_WRITE; - } - //affirm(!isDefaultFetchGroupField(classPath, fieldName)); - - return MEDIATE_READ | MEDIATE_WRITE; - } - - - /********************************************************************** - * - *********************************************************************/ - - public int[] getFieldFlags(String classPath, String[] fieldNames) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final int n = (fieldNames != null ? fieldNames.length : 0); - final int[] flags = new int[n]; - for (int i = 0; i < n; i++) { - flags[i] = getFieldFlags(classPath, fieldNames[i]); - } - return flags; - } - - - /********************************************************************** - * - *********************************************************************/ - - public final String[] getFieldType(String classname, - String[] fieldnames) - { - final int n = (fieldnames != null ? fieldnames.length : 0); - final String[] types = new String[n]; - for (int i = 0; i < n; i++) { - types[i] = getFieldType(classname, fieldnames[i]); - } - return types; - } - - - /********************************************************************** - * - *********************************************************************/ - - public int[] getFieldNo(String classPath, String[] fieldNames) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final int n = (fieldNames != null ? fieldNames.length : 0); - final int[] flags = new int[n]; - for (int i = 0; i < n; i++) { - flags[i] = getFieldNo(classPath, fieldNames[i]); - } - return flags; - } - - - /********************************************************************** - * - *********************************************************************/ - - public String[] getKeyFields(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final List keys = new ArrayList(); - final String[] fieldNames = getManagedFields(classPath); - final int n = fieldNames.length; - for (int i = 0; i < n; i++) { - if (isKeyField(classPath, fieldNames[i])) { - keys.add(fieldNames[i]); - } - } - return (String[])keys.toArray(new String[keys.size()]); - } - - - /********************************************************************** - * - *********************************************************************/ - - public String getPersistenceCapableSuperClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - for (String clazz = getSuperClass(classPath); - clazz != null; - clazz = getSuperClass(clazz)) { - if (isPersistenceCapableClass(clazz)) { - return clazz; - } - } - return null; - } - - - /********************************************************************** - * - *********************************************************************/ - - public String getSuperKeyClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - for (String superClass = getPersistenceCapableSuperClass(classPath); - superClass != null; - superClass = getPersistenceCapableSuperClass(superClass)) { - final String superKeyClass = getKeyClass(superClass); - if (superKeyClass != null) { - return superKeyClass; - } - } - return null; - } - - - /********************************************************************** - * - *********************************************************************/ -/* - public static void main (String [] argv) - { - - if (argv.length != 1) - { - System.err.println ("No property file specified."); - return; - } - Properties p = new Properties (); - try - { - java.io.InputStream in = new java.io.FileInputStream (new java.io.File (argv [0])); - p.load (in); - in.close (); - System.out.println ("PROPERTIES: " + p); - System.out.println ("############"); - JDOMetaDataProperties props = new JDOMetaDataProperties (p); - } - catch (Throwable ex) - { - ex.printStackTrace (System.err); - } - - JDOMetaDataPropertyImpl jdo = new JDOMetaDataPropertyImpl (p, new PrintWriter (System.out)); - String [] classnames = jdo.getKnownClasses (); - for (int k = 0; k < classnames.length; k++) - { - String classname = classnames [k]; - System.out.println ("CLASSNAME: " + classname); - System.out.println ("\tpersistent: " + jdo.isPersistenceCapableClass (classname)); - System.out.println ("\tpersistent root: " + jdo.isPersistenceCapableRootClass (classname)); - System.out.println ("\tpersistent root: " + jdo.getPersistenceCapableRootClass (classname)); - String [] fieldnames = jdo.getKnownFields (classname); - for (int j = 0; j < fieldnames.length; j++) - { - String fieldname = (String) fieldnames [j]; - System.out.println ("FIELDNAME: " + fieldname); - System.out.println ("\tpersistent field: " + jdo.isPersistentField (classname, fieldname)); - System.out.println ("\tpk field: " + jdo.isPrimaryKeyField (classname, fieldname)); - System.out.println ("\tdfg field: " + jdo.isDefaultFetchGroupField (classname, fieldname)); - System.out.println ("\tnumber: " + jdo.getFieldNo (classname, fieldname)); - String [] names = jdo.getManagedFields (classname); - final int n = (fieldnames != null ? names.length : 0); - System.out.println ("managed fields: number: " + n); - for (int i = 0; i < n; i++) - { - System.out.println (i + ": " + names [i] + - " number: " + jdo.getFieldNo (classname, names [i]) + - " pk: " + jdo.isPrimaryKeyField (classname, names [i]) + - " dfg: " + jdo.isDefaultFetchGroupField (classname, names [i])); - } - } - } - - } //JDOMetaDataPropertyImpl.main -*/ - -} //JDOMetaDataPropertyImpl - - -//JDOMetaDataPropertyImpl diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataTimer.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataTimer.java deleted file mode 100644 index b0a03e5aebc..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataTimer.java +++ /dev/null @@ -1,224 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.meta; - -import com.sun.jdo.api.persistence.enhancer.util.Support; - - -//@olsen: new class -public final class JDOMetaDataTimer - extends Support - implements JDOMetaData -{ - // delegate - final protected JDOMetaData delegate; - - /** - * Creates an instance. - */ - public JDOMetaDataTimer(JDOMetaData delegate) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - affirm(delegate); - this.delegate = delegate; - } - - public boolean isPersistenceCapableClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.isPersistenceCapableClass(String)",//NOI18N - "JDOMetaData.isPersistenceCapableClass(" + classPath + ")");//NOI18N - return delegate.isPersistenceCapableClass(classPath); - } finally { - timer.pop(); - } - } - - public boolean isTransientClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.isTransientClass(String)",//NOI18N - "JDOMetaData.isTransientClass(" + classPath + ")");//NOI18N - return delegate.isTransientClass(classPath); - } finally { - timer.pop(); - } - } - - public boolean isPersistenceCapableRootClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.isPersistenceCapableRootClass(String)",//NOI18N - "JDOMetaData.isPersistenceCapableRootClass(" + classPath + ")");//NOI18N - return delegate.isPersistenceCapableRootClass(classPath); - } finally { - timer.pop(); - } - } - - public String getSuperClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.getSuperClass(String)",//NOI18N - "JDOMetaData.getSuperClass(" + classPath + ")");//NOI18N - return delegate.getSuperClass(classPath); - } finally { - timer.pop(); - } - } - - public String getPersistenceCapableRootClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.getPersistenceCapableRootClass(String)",//NOI18N - "JDOMetaData.getPersistenceCapableRootClass(" + classPath + ")");//NOI18N - return delegate.getPersistenceCapableRootClass(classPath); - } finally { - timer.pop(); - } - } - - public boolean isSecondClassObjectType(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.isSecondClassObjectType(String)",//NOI18N - "JDOMetaData.isSecondClassObjectType(" + classPath + ")");//NOI18N - return delegate.isSecondClassObjectType(classPath); - } finally { - timer.pop(); - } - } - - public boolean isMutableSecondClassObjectType(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.isMutableSecondClassObjectType(String)",//NOI18N - "JDOMetaData.isMutableSecondClassObjectType(" + classPath + ")");//NOI18N - return delegate.isMutableSecondClassObjectType(classPath); - } finally { - timer.pop(); - } - } - - public boolean isPersistentField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.isPersistentField(String,String)",//NOI18N - "JDOMetaData.isPersistentField(" + classPath//NOI18N - + ", " + fieldName + ")");//NOI18N - return delegate.isPersistentField(classPath, fieldName); - } finally { - timer.pop(); - } - } - - public boolean isTransactionalField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.isTransactionalField(String,String)",//NOI18N - "JDOMetaData.isTransactionalField(" + classPath//NOI18N - + ", " + fieldName + ")");//NOI18N - return delegate.isTransactionalField(classPath, fieldName); - } finally { - timer.pop(); - } - } - - public boolean isPrimaryKeyField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.isPrimaryKeyField(String,String)",//NOI18N - "JDOMetaData.isPrimaryKeyField(" + classPath//NOI18N - + ", " + fieldName + ")");//NOI18N - return delegate.isPrimaryKeyField(classPath, fieldName); - } finally { - timer.pop(); - } - } - - public boolean isDefaultFetchGroupField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.isDefaultFetchGroupField(String,fieldName)",//NOI18N - "JDOMetaData.isDefaultFetchGroupField(" + classPath//NOI18N - + ", " + fieldName + ")");//NOI18N - return delegate.isDefaultFetchGroupField(classPath, fieldName); - } finally { - timer.pop(); - } - } - - public int getFieldNo(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.getFieldNo(String, String)",//NOI18N - "JDOMetaData.getFieldNo(" + classPath//NOI18N - + ", " + fieldName + ")");//NOI18N - return delegate.getFieldNo(classPath, fieldName); - } finally { - timer.pop(); - } - } - - public String[] getManagedFields(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - try { - timer.push("JDOMetaData.getPersistentFields(String)",//NOI18N - "JDOMetaData.getPersistentFields(" + classPath + ")");//NOI18N - return delegate.getManagedFields(classPath); - } finally { - timer.pop(); - } - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataUserException.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataUserException.java deleted file mode 100644 index f83e3f4a2cd..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/meta/JDOMetaDataUserException.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.meta; - - -/** - * Thrown to indicate that an access to JDO meta-data failed; the - * meta-data component is assured to remain in consistent state. - */ -public class JDOMetaDataUserException - //^olsen: provisional, convert to a checked exception - extends RuntimeException -{ - /** - * An optional nested exception. - */ - public final Throwable nested; - - /** - * Constructs an JDOMetaDataUserException with no detail - * message. - */ - public JDOMetaDataUserException() - { - this.nested = null; - } - - /** - * Constructs an JDOMetaDataUserException with the specified - * detail message. - */ - public JDOMetaDataUserException(String msg) - { - super(msg); - this.nested = null; - } - - /** - * Constructs an JDOMetaDataUserException with an optional - * nested exception. - */ - public JDOMetaDataUserException(Throwable nested) - { - super("nested exception: " + nested);//NOI18N - this.nested = nested; - } - - /** - * Constructs an JDOMetaDataUserException with the specified - * detail message and an optional nested exception. - */ - public JDOMetaDataUserException(String msg, Throwable nested) - { - super(msg); - this.nested = nested; - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Assertion.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Assertion.java deleted file mode 100644 index 036676d0600..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Assertion.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.util; - -/** - * Support for signalling internal implementation errors. - */ -//@olsen: added class -public class Assertion { - static protected final void affirm(boolean condition) { - if (!condition) - throw new InternalError("assertion failed.");//NOI18N - } - - static protected final void affirm(boolean condition, String msg) { - if (!condition) - throw new InternalError("assertion failed: " + msg);//NOI18N - } - - static protected final void affirm(Object object) { - if (object == null) - throw new InternalError("assertion failed.");//NOI18N - } - - static protected final void affirm(Object object, String msg) { - if (object == null) - throw new InternalError("assertion failed: " + msg);//NOI18N - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/CRC32.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/CRC32.java deleted file mode 100644 index 0ec34b47f77..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/CRC32.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.util; - -/** - * CRC32 provides CRC computation for the zip file code - */ - -class CRC32 { - - /** - * Compute the CRC for "len" bytes in "buf" - */ - - static int computeCRC(int crc, byte buf[], int len) { - if (buf == null) return 0; - - int bufIndex = 0; - crc = crc ^ 0xffffffff; - while (len >= 8) { - crc = CRCTable[(crc ^ ((int) buf[bufIndex++])) & 0xff] ^ (crc >>> 8); - crc = CRCTable[(crc ^ ((int) buf[bufIndex++])) & 0xff] ^ (crc >>> 8); - crc = CRCTable[(crc ^ ((int) buf[bufIndex++])) & 0xff] ^ (crc >>> 8); - crc = CRCTable[(crc ^ ((int) buf[bufIndex++])) & 0xff] ^ (crc >>> 8); - crc = CRCTable[(crc ^ ((int) buf[bufIndex++])) & 0xff] ^ (crc >>> 8); - crc = CRCTable[(crc ^ ((int) buf[bufIndex++])) & 0xff] ^ (crc >>> 8); - crc = CRCTable[(crc ^ ((int) buf[bufIndex++])) & 0xff] ^ (crc >>> 8); - crc = CRCTable[(crc ^ ((int) buf[bufIndex++])) & 0xff] ^ (crc >>> 8); - len -= 8; - } - - if (len != 0) - do { - crc = CRCTable[(crc ^ ((int) buf[bufIndex++])) & 0xff] ^ (crc >>> 8); - } while ((--len) > 0); - return crc ^ 0xffffffff; - } - - static int CRCTable[] = { - 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, - 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, - 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, - 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, - 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, - 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, - 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, - 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, - 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, - 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, - 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, - 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, - 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, - 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, - 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e, - 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, - 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, - 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, - 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, - 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, - 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, - 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, - 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, - 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, - 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, - 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, - 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, - 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, - 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344, - 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, - 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, - 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, - 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, - 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, - 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, - 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, - 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, - 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, - 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, - 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, - 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, - 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, - 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, - 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, - 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, - 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, - 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, - 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, - 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, - 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, - 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, - 0x2d02ef8d - }; - -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassFileSource.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassFileSource.java deleted file mode 100644 index b0ba8ab2638..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassFileSource.java +++ /dev/null @@ -1,420 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.enhancer.util; - -//@lars: removed openide-dependencies -//@olsen: not needed -//import com.sun.jdo.api.persistence.enhancer.FilterEnv; -//@olsen: added: support for I18N -//@olsen: subst: FilterError -> UserException, assert() - -import java.io.*; -import java.util.StringTokenizer; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; -//@yury: added ability to get the class bytecode from the Forte4J archive entry -//import org.openidex.jarpackager.ArchiveEntry; - -/** - * ClassFileSource provides a mechanism for associating a class - * with the source of that class. The source is currently either - * an ordinary .class file or a zip file 1 or more class files. - */ -//^olsen: cosmetics (indentation, control flow ...) -public class ClassFileSource - extends Support { - - /* The original expected name of the class */ - private String theOriginalExpectedClassName = null; - - /* The expected name of the class */ - private String theExpectedClassName = null; - - /* The file containing the class file */ - private File classFile = null; - - /* The zip file containing the class file */ - private ZipFile zipFile = null; - - /* The byte-code input stream from a class file */ - private InputStream byteCodeStream = null; - - /* The ClassPathElement through which this was located */ - private ClassPathElement sourceElement; - - /* The cached modification date */ - private long cachedModDate; -// private ArchiveEntry archiveEntry; //@yury: added ability to get the class bytecode from the Forte4J archive entry - - //@yury archive entry getter - /** - * @return The ArchiveEntry - */ - /* - public ArchiveEntry getArchiveEntry() { - return archiveEntry; - } - */ - - /* public access */ - - /** - * Does the other class file source refer to the same source location? - */ - public boolean sameAs(ClassFileSource other) { - -/* - //@yury: added ArchiveEntry processing [[[[ - if ((null == getArchiveEntry()) ^ (null == getArchiveEntry())) { - return false; - } - - if (null != getArchiveEntry() ) { - return getArchiveEntry().getName().equals(other.getArchiveEntry().getName()); - } - //@yury: added ArchiveEntry processing ]]]]] -*/ - - //^olsen: simplify control flow - if (isZipped()) - return (other.isZipped() && - other.zipFile.getName().equals(zipFile.getName())); - else if (other.isZipped()) - return false; - else if (other.classFile != null && classFile != null) - return other.classFile.getPath().equals(classFile.getPath()); - //@olsen: added test - else if (byteCodeStream != null) - return byteCodeStream.equals(other.byteCodeStream); - return false; - } - - /** - * Does this class originate in a zip file? - */ - public boolean isZipped() { - return zipFile != null; - } - - /** - * Does this class originate in a zip file? - */ - //@olsen: added method - public boolean isStreamed() { - return byteCodeStream != null; - } - - /** - * The expected name of the class contained in the class file. - * Returns null if the class name can not be intuited from the file name. - */ - public String expectedClassName() { - return theExpectedClassName; - } - - /** - * Set the name of the class contained in the class file. - */ - public void setExpectedClassName(String name) { - theExpectedClassName = name; - } - - /** - * Get the path of the File containing the class - */ - public String containingFilePath() { - if (isZipped()) - return zipFile.getName(); - else if (classFile != null) - return classFile.getPath(); - else - return null; - } - - /** - * Constructor - * @param className The expected name of the class - * @param classFile The file containing the class. This file should - * exist and be readable. - */ - public ClassFileSource(String className, File classFile) { - //@olsen: added println() for debugging - //System.out.println("ClassFileSource(): new class = " + className); - theExpectedClassName = className; - theOriginalExpectedClassName = className; - this.classFile = classFile; - } - - //@yury: added archive entry-based constructor - /** - * Constructs the ClassFileSource form the ArchiveEntry - * - * @param className The class name - * @param entry The archive entry - */ -/* - public ClassFileSource(String className, ArchiveEntry entry) { - archiveEntry = entry; - theExpectedClassName = className; - theOriginalExpectedClassName = className; - } -*/ - - /** - * Constructor - * @param className The expected name of the class - * @param zipFile The zip file containing the class. This file should - * exist and be readable. - */ - public ClassFileSource(String className, ZipFile zipFile) { - //@olsen: added println() for debugging - //System.out.println("ClassFileSource(): new class = " + className); - theExpectedClassName = className; - theOriginalExpectedClassName = className; - this.zipFile = zipFile; - } - - /** - * Constructor - * @param className The expected name of the class - * @param byteCodeStream containing the class file. - * - */ - //@olsen: added constructor - public ClassFileSource(String className, InputStream byteCodeStream) { - //@olsen: added println() for debugging - //System.out.println("ClassFileSource(): new class = " + className); - theExpectedClassName = className; - theOriginalExpectedClassName = className; - this.byteCodeStream = byteCodeStream; - } - - /** - * Attempt to find the next possible source of the class - */ - public ClassFileSource nextSource(String className) { - if (sourceElement != null && sourceElement.next() != null) - return ClassPath.findClass(className, sourceElement.next()); - return null; - } - - /** - * Build a "friend" source file specification for the class of - * the given name. That is, the new class file source should be - * in the same zip file if zipped or else the same directory. - * - * Restriction: containingFilePath() must be non-null. - */ - public ClassFileSource friendSource(String className) { -/* - //@yury: ArchiveEntry case sanity check - if ( null != archiveEntry) { - throw new IllegalArgumentException("----- Not implemented yet"); - } -*/ - - if (isZipped()) - return new ClassFileSource(className, zipFile); - else { - String fullPath = FilePath.getAbsolutePath(classFile); - File dir = new File(fullPath.substring( - 0, fullPath.lastIndexOf(File.separatorChar)+1)); - File f = new File(dir, unpackagedName(className) + ".class");//NOI18N - return new ClassFileSource(className, f); - } - } - - /** - * Get a DataInputStream containing the class file. - * - * Restriction: containingFilePath() must be non-null. - */ - public DataInputStream classFileContents() - throws IOException, FileNotFoundException { -/* - //@yury: ArchiveEntry case sanity check - if ( null != archiveEntry) { - return new DataInputStream(new BufferedInputStream(archiveEntry.createInputStream())); - } -*/ - //@olsen: cosmetics - if (isZipped()) { - ZipEntry entry = - zipFile.getEntry(ClassPath.zipFileNameOf(theExpectedClassName)); - if (entry == null) - throw new FileNotFoundException( - "The zip file member " + theExpectedClassName + " was not found."); - return new DataInputStream(zipFile.getInputStream(entry)); - } - //@olsen: added case - if (isStreamed()) { - return new DataInputStream(byteCodeStream); - } - return new DataInputStream( - new BufferedInputStream( - new FileInputStream(classFile))); - } - - /** - * Get the modification date of the class file. The date format is - * that used by java.util.Date. - * - * Restriction: containingFilePath() must be non-null. - */ - public long modificationDate() throws FileNotFoundException { - if (cachedModDate == 0) { -/* - //@yury: ArchiveEntry case sanity check - if ( null != archiveEntry) { - throw new IllegalArgumentException("----- Not implemented yet"); - } -*/ - - if (isZipped()) { - ZipEntry entry = - zipFile.getEntry(ClassPath.zipFileNameOf(theOriginalExpectedClassName)); - if (entry == null) - throw new FileNotFoundException("The zip file member was not found."); - cachedModDate = entry.getTime(); - } - else if (classFile != null) - cachedModDate = classFile.lastModified(); - } - - return cachedModDate; - } - - /** - * Set the cached modification date of the class file. - * This doesn't actually update the file. - */ - public void setModificationDate(long date) { - cachedModDate = date; - } - - /** - * Set the ClassPathElement through which this was located - */ - void setSourceElement(ClassPathElement cpathElement) { - sourceElement = cpathElement; - } - - /** - * Compute the destination directory for the class. - * rootDestDir must be non-null - use that as a destination - * location root, ensuring its existence. - */ - private File computeDestinationDir(File rootDestDir) throws IOException, FileNotFoundException { - - StringBuilder buf = new StringBuilder(rootDestDir.getPath()); - String prevToken = null; - StringTokenizer parser - = new StringTokenizer(theExpectedClassName, "/", false);//NOI18N - while (parser.hasMoreTokens()) { - if (prevToken != null) { - buf.append(File.separatorChar); - buf.append(prevToken); - - File currDir = new File(buf.toString()); - if (!currDir.isDirectory()) { - if (!currDir.mkdir()) - //@olsen: support for I18N - throw new UserException( - getI18N("enhancer.unable_to_create_dir",//NOI18N - currDir.getPath())); - } - } - prevToken = parser.nextToken(); - } - return new File(buf.toString()); - } - - /** - * Compute the destination file for the class. - * If destDir is non-null, use that as a destination location - * - * Restriction: if containingFilePath() is null, null is returned. - */ - public File computeDestination(File destDir) - throws IOException, FileNotFoundException { - if (destDir != null) { - File finalDestDir = computeDestinationDir(destDir); - String theFinalClassComponent = "";//NOI18N - StringTokenizer parser = - new StringTokenizer(theExpectedClassName, "/", false);//NOI18N - while (parser.hasMoreTokens()) - theFinalClassComponent = parser.nextToken(); - return new File(finalDestDir, theFinalClassComponent + ".class");//NOI18N - } - else - /* Note: this is wrong when repackaging occurs but we currently - require a destination directory to be specified, so it doesn't - matter. */ - return classFile; - } - - /** - * Get a DataOutputStream to which a class file should be written. - * The caller must close the output stream when complete. - */ - public DataOutputStream getOutputStream(File dest) throws IOException, FileNotFoundException { -/* - //@yury: ArchiveEntry case sanity check - if ( null != archiveEntry) { - throw new IllegalArgumentException("----- Must never call here"); - } -*/ - - /* If this were a zipped file we would need to do some fancy footwork */ - return new DataOutputStream(new BufferedOutputStream(new FileOutputStream(dest))); - } - - /** - * Return the name of the class, ignoring any leading package specification. - */ - private String unpackagedName(String className) { - int idx = className.lastIndexOf((int) '/'); - if (idx < 0) - return className; - return className.substring(idx+1); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassPath.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassPath.java deleted file mode 100644 index 3a68c80b0fd..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassPath.java +++ /dev/null @@ -1,283 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.enhancer.util; - -import java.io.File; -import java.util.Enumeration; -import java.util.NoSuchElementException; -import java.util.StringTokenizer; - - -/** - * ClassPath provides class file lookup according to a classpath - * specification. - */ - -public class ClassPath { - /* The entire class path specification */ - private String theClassPathSpec; - - /* Linked list of class path elements */ - private ClassPathElement theClassPath; - - /** - * Construct a class path from the input String argument. - * The path is expected to be in the form appropriate for the current - * execution environment. - */ - public ClassPath(String path) { - theClassPathSpec = path; - parsePath(); - } - - /** - * locate a class file given a fully qualified class name - */ - public ClassFileSource findClass(String className) { - return findClass(className, theClassPath); - } - - /** - * locate a class file given a fully qualified class name - * starting at the specified class path element - */ - static ClassFileSource findClass(String className, ClassPathElement path) { - for (ClassPathElement e = path; e != null; e = e.next()) { - ClassFileSource source = e.sourceOf(className); - if (source != null) { - source.setSourceElement(e); - return source; - } - } - - return null; - } - - /** - * Return a file name which might reasonably identify a file containing - * the specified class. The name is a "./" relative path. - */ - public static String fileNameOf(String className, char separator) { - StringBuilder path = new StringBuilder(); - StringTokenizer parser = new StringTokenizer(className, "./", false);//NOI18N - for (boolean first = true; parser.hasMoreElements(); first = false) { - if (!first) - path.append(separator); - path.append(parser.nextToken()); - } - path.append(".class");//NOI18N - return path.toString(); - } - - - /** - * Return a file name which might reasonably identify a file containing - * the specified class. The name is a "./" relative path. - */ - public static String fileNameOf(String className) { - return fileNameOf(className, File.separatorChar); - } - - - /** - * Return a file name which might reasonably identify a file containing - * the specified class in a zip file. - */ - public static String zipFileNameOf(String className) { - return fileNameOf(className, '/'); - } - - - /** - * Return the vm class name which corresponds to the input file name. - * The file name is expected to be a "./" relative path. - * Returns null if the file name doesn't end in ".class" - */ - public static String classNameOf(String fileName) { - int fnlen = fileName.length(); - if (fnlen > 6 && fileName.regionMatches(true, fnlen - 6, ".class", 0, 6)) {//NOI18N - /* the file name ends with .class */ - fileName = fileName.substring(0, fileName.length()-6); - StringBuilder className = new StringBuilder(); - StringTokenizer parser = new StringTokenizer(fileName, "\\/", false);//NOI18N - for (boolean first = true; parser.hasMoreElements(); first = false) { - if (!first) - className.append('/'); - className.append(parser.nextToken()); - } - return className.toString(); - } - return null; - } - - /** - * Remove any class path elements which match directory - */ - public boolean remove(File directory) { - boolean matched = false; - ClassPathElement firstElement = theClassPath; - ClassPathElement prevElement = null; - for (ClassPathElement cpe = firstElement; cpe != null; cpe = cpe.next()) { - if (cpe.matches(directory)) { - matched = true; - if (prevElement == null) - firstElement = cpe.next(); - else - prevElement.setNext(cpe.next()); - } else { - prevElement = cpe; - } - } - theClassPath = firstElement; - return matched; - } - - /** - * Append a directory to the classpath. - */ - public void append(File directory) { - append(ClassPathElement.create(directory.getPath())); - } - - /** - * Append a class path element to the classpath. - */ - public void append(ClassPathElement anElement) { - if (theClassPath == null) - theClassPath = anElement; - else - theClassPath.append(anElement); - } - - /** - * Return an enumeration of all of the class files in the specified - * package in this class path. - * @param packageName specifies the VM format package name - * to which class files must belong. - * @return an Enumeration of the VM format class names which - * can be found. Note that the Enumeration value is of type String - * and duplicate entries may be returned as the result of finding - * a class through more than one class path element. Note also - * that the class name returned might not correspond the the - * name of the class in the file. - */ - public Enumeration classesInPackage(String packageName) { - return new ClassPackageEnumeration(this, packageName); - } - - /* package local accessors */ - ClassPathElement getPathElements() { - return theClassPath; - } - - /* private accessors */ - - private void parsePath() { - StringTokenizer parser = - new StringTokenizer(theClassPathSpec, - java.io.File.pathSeparator, - false /* dont return delimiters */ - ); - - ClassPathElement lastElement = null; - while (parser.hasMoreElements()) { - ClassPathElement anElement = ClassPathElement.create(parser.nextToken()); - - if (lastElement == null) - theClassPath = anElement; - else - lastElement.append(anElement); - - lastElement = anElement; - } - } - -} - -/** - * An enumeration class which returns the names of the classes which - * can be found in a class path - */ - -class ClassPackageEnumeration implements Enumeration { - /* The next class path element to look for matches in once - the current enumeration is complete */ - private ClassPathElement nextClassPathElement; - - /* The package name */ - private String thePackageName; - - /* The enumeration of matching class names in the current class path - element */ - private Enumeration currentElementEnumeration; - - /** - * Construct a ClassPackageEnumeration. - * @param classPath The class path in which to search for classes. - * @param packageName The VM name of the package in which to search. - */ - ClassPackageEnumeration(ClassPath classPath, String packageName) { - nextClassPathElement = classPath.getPathElements(); - thePackageName = packageName; - } - - public boolean hasMoreElements() { - while ((currentElementEnumeration == null || - !currentElementEnumeration.hasMoreElements()) && - nextClassPathElement != null) { - currentElementEnumeration = - nextClassPathElement.classesInPackage(thePackageName); - nextClassPathElement = nextClassPathElement.next(); - } - - return (currentElementEnumeration != null && - currentElementEnumeration.hasMoreElements()); - } - - public Object nextElement() { - if (hasMoreElements()) - return currentElementEnumeration.nextElement(); - - throw new NoSuchElementException(); - } -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassPathElement.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassPathElement.java deleted file mode 100644 index e63938a9d9d..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ClassPathElement.java +++ /dev/null @@ -1,392 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.enhancer.util; - -import java.io.File; -import java.io.FilenameFilter; -import java.io.IOException; -import java.util.Enumeration; -import java.util.NoSuchElementException; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; - -/** - * Abstract base class for components of a class path. - */ - -abstract class ClassPathElement { - - /* A link to the next element in the path */ - private ClassPathElement next; - - /* package local accessors */ - - /** - * If this class path element resolves the class, return a - * ClassFileSource for the class. - */ - public abstract ClassFileSource sourceOf(String className); - - /** - * Return an enumeration of all of the class files in the specified - * package in this class path element. - * - * @param packageName specifies the VM format package name - * to which class files must belong. - * @returns an Enumeration of the VM format class names which - * can be found. The return value may be null if the class - * path element is not valid. - */ - public abstract Enumeration classesInPackage(String packageName); - - /** - * Check to see if this ClassPathElement is a directory matching - * the directory passed in. - */ - abstract boolean matches(File directory); - - /** - * Return the next class path element in the chain - */ - ClassPathElement next() { - return this.next; - } - - /** - * Set the the next class path element in the chain - */ - void setNext(ClassPathElement next) { - this.next = next; - } - - /** - * Construct a class path element - */ - ClassPathElement() { - } - - /** - * Create an appropriate type of class path element based on the - * path element name. - */ - static ClassPathElement create(String elementSpec) { - File element = new File(elementSpec); - if (!element.isDirectory() && - looksLikeZipName(elementSpec)) - return new ZipFileClassPathElement(element); - else - return new DirectoryClassPathElement(element); - } - - /** - * Append a class path element to the chain - */ - void append(ClassPathElement another) { - ClassPathElement e = this; - while (e.next() != null) - e = e.next(); - e.next = another; - } - - /** - * Check whether the String "looks" like a zip file name. - */ - static protected boolean looksLikeZipName(String fname) { - return (fname.length() > 4 && - (fname.regionMatches(true, fname.length() - 4, ".zip", 0, 4) ||//NOI18N - fname.regionMatches(true, fname.length() - 4, ".jar", 0, 4)));//NOI18N - } - -} - -/** - * DirectoryClassPathElement represents a component of a class path - * which is believe to be a directory. - */ - -class DirectoryClassPathElement extends ClassPathElement { - - private File directory; - - private boolean exists; - - /* package local accessors */ - - /** - * If this class path element resolves the class, return a - * ClassFileSource for the class. - */ - public ClassFileSource sourceOf(String className) { - File f = fileOf(className); - if (f != null && f.exists()) { - return new ClassFileSource(className, f); - } - return null; - } - - public Enumeration classesInPackage(String packageName) { - if (!exists) - return null; - - return new DirectoryClassPackageEnumerator(directory, packageName); - } - - boolean matches(File matchDirectory) { - String dir = FilePath.canonicalize(directory); - String matchDir = FilePath.canonicalize(matchDirectory); - return FilePath.canonicalNamesEqual(dir, matchDir); - } - - /** - * Construct a class path element - */ - DirectoryClassPathElement(File dirSpec) { - directory = dirSpec; - checkValid(); - } - - /* private methods */ - - /** - * fileOf Return a File object which might reasonably contain the - * specified class. The contents may or may not be valid. - */ - private File fileOf(String className) { - if (exists && directory.isDirectory()) { - StringBuilder newPath = new StringBuilder(directory.getPath()); - if (newPath.charAt(newPath.length() - 1) != File.separatorChar) - newPath.append(File.separatorChar); - newPath.append(ClassPath.fileNameOf(className)); - - File f = new File(newPath.toString()); - if (f.isFile()) - return f; - } - - return null; - } - - /** - * Is this class path element valid? That is, does the directory - * exist with the specified name? - */ - private boolean isValid() { - return exists; - } - - private void checkValid() { - exists = directory.isDirectory(); - } -} - -/** - * ZipFileClassPathElement represents a component of a class path - * which is believe to be a zip file containing classes. - */ - -class ZipFileClassPathElement extends ClassPathElement { - - private File zipFileElement; - private ZipFile zipFile; - - /* package local accessors */ - - /** - * If this class path element resolves the class, return a - * ClassFileSource for the class. - */ - public ClassFileSource sourceOf(String className) { - if (zipFile != null) { - ZipEntry entry = - zipFile.getEntry(ClassPath.zipFileNameOf(className)); - if (entry != null) { - return new ClassFileSource(className, zipFile); - } - } - return null; - } - - public Enumeration classesInPackage(String packageName) { - if (zipFile == null) - return null; - - return new ZipFileClassPackageEnumerator(zipFile, packageName); - } - - boolean matches(File directory) { - return false; - } - - /** - * Construct a zip file class path element - */ - ZipFileClassPathElement(File elementSpec) { - zipFileElement = elementSpec; - checkValid(); - } - - /* private methods */ - - private void checkValid() { - if (looksLikeZipName(zipFileElement.getPath()) && - zipFileElement.isFile()) { - try { - zipFile = ZipFileRegistry.openZipFile(zipFileElement); - } catch (IOException e) { - System.err.println("IO exception while reading " + - zipFileElement.getPath()); - zipFile = null; - } - } - } -} - - -/** - * An enumeration class which returns the names of the classes which - * can be found relative to a particular directory. - */ - -class DirectoryClassPackageEnumerator - implements Enumeration, FilenameFilter { - - private String[] matches; - private int nextMatch = -1; - String searchPackage; - - /** - * Constructor - * @param directory The directory to be used as the root of the - * package structure. - * @param packageName The name of the package to search (in VM form). - */ - DirectoryClassPackageEnumerator(File directory, String packageName) { - searchPackage = packageName; - String packageDirName = directory.getPath() + File.separator + - packageName.replace('/', File.separatorChar); - - File packageDir = new File(packageDirName); - if (packageDir.isDirectory()) { - matches = packageDir.list(this); - if (matches != null && matches.length > 0) - nextMatch = 0; - } - } - - public boolean hasMoreElements() { - return (nextMatch >= 0); - } - - public Object nextElement() { - if (!hasMoreElements()) - throw new NoSuchElementException(); - String next = matches[nextMatch++]; - if (nextMatch >= matches.length) - nextMatch = -1; - return ClassPath.classNameOf(searchPackage + "/" + next);//NOI18N - } - - /** - * Check whether the file name is valid. - * Needed for FilenameFilter implementation. - */ - - public boolean accept(File dir, String name) { - int nameLength = name.length(); - boolean isOk = (nameLength > 6 && - name.regionMatches(true, nameLength - 6, ".class", 0, 6));//NOI18N - return isOk; - } - -} - -/** - * An enumeration class which returns the names of the classes which - * can be found within a zip file. - */ - -class ZipFileClassPackageEnumerator implements Enumeration { - Enumeration zipFileEntries; - ZipEntry nextEntry; - String packageName; - - ZipFileClassPackageEnumerator(ZipFile zipFile, String packageName) { - zipFileEntries = zipFile.entries(); - this.packageName = packageName; - } - - public boolean hasMoreElements() { - while (nextEntry == null && zipFileEntries != null && - zipFileEntries.hasMoreElements()) { - ZipEntry ent = (ZipEntry) zipFileEntries.nextElement(); - String memName = ent.getName(); - int memNameLength = memName.length(); - int packageNameLength = packageName.length(); - - /* Check that the package name is a prefix of the member name. - Note that we rely here on the fact that zip file have a separator - character identical to the VM package separator */ - - if (memNameLength > packageNameLength + 1 && - memName.regionMatches(false, 0, packageName, - 0, packageNameLength) && - memName.charAt(packageNameLength) == '/') { - if (memName.indexOf('/', packageNameLength+1) == -1) { - boolean isOk = - (memNameLength > packageNameLength+7 && - memName.regionMatches(true, memNameLength - 6, ".class", 0, 6));//NOI18N - if (isOk) - nextEntry = ent; - } - } - } - return nextEntry != null; - } - - public Object nextElement() { - if (!hasMoreElements()) - throw new NoSuchElementException(); - String className = nextEntry.getName(); - nextEntry = null; - return ClassPath.classNameOf(className); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/FilePath.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/FilePath.java deleted file mode 100644 index 787f78c1ee3..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/FilePath.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.enhancer.util; - -import java.io.File; -import java.io.IOException; -import java.util.StringTokenizer; -import java.util.Vector; - - -/** - * FilePath provides general file path manipulation utilities. - */ - -public class FilePath { - private static String cwdAbsolute; - - /** - * Return the absolute path for a file. All directory separators are - * converted to be File.separatorChar - */ - public static String getAbsolutePath(File file) { - /* VJ++ blows it here and doesn't use File.separatorChar when making - a relative path absolute. It uses '/' instead. */ - - String basicAbsolute = file.getAbsolutePath(); - if (file.separatorChar == '/') - return basicAbsolute.replace('\\', '/'); - else - return basicAbsolute.replace('/', '\\'); - } - - private static String getCwdAbsolute() { - if (cwdAbsolute == null) - cwdAbsolute = getAbsolutePath(new File("."));//NOI18N - return cwdAbsolute; - } - - /** - * Attempt to produce a canonical path name for the specified file - */ - public static String canonicalize(File file) { - try { - return file.getCanonicalPath(); - } catch (IOException ioe) { - /* JDK 1.1.4 gets an IOException if you pass it a UNC path name. */ - } - - /* Do it the hard way if getCanonicalPath fails. - * This is far from perfect. - * - It doesn't know about multiple mount points - * - Doesn't deal with case differences. - */ - String absolutePath = getAbsolutePath(file); - Vector components = new Vector(); - StringTokenizer parser = - new StringTokenizer(absolutePath, File.separator, true); - while (parser.hasMoreElements()) - components.addElement(parser.nextToken()); - - boolean editted = true; - while (editted) { - editted = false; - for (int i=1; i 2) { - if (!((String)components.elementAt(i-2)).equals(File.separator) && - ((String)components.elementAt(i-3)).equals(File.separator)) { - components.removeElementAt(i-2); - components.removeElementAt(i-3); - } - } - editted = true; - } - } - } - - /* Special case for Windows */ - String cwd = getCwdAbsolute(); - if (cwd.length() > 2 && - cwd.charAt(0) != File.separatorChar && - cwd.charAt(1) == ':') { - /* probably a drive letter */ - if (((String)components.elementAt(0)).equals(File.separator) && - (components.size() == 1 || - !((String)components.elementAt(1)).equals(File.separator))) { - String drive = cwd.substring(0,2); - components.insertElementAt(drive, 0); - } - } - - /* Remove a trailing File.separatorChar */ - if (components.size() > 0 && - ((String)components.elementAt(components.size()-1)).equals( - File.separator)) - components.removeElementAt(components.size()-1); - - StringBuilder result = new StringBuilder(); - for (int j=0; j 2 && - cwd.charAt(0) != File.separatorChar && - cwd.charAt(1) == ':') { - equal = f1.equalsIgnoreCase(f2); - } - else - equal = f1.equals(f2); - return equal; - } - -} - diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/InternalError.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/InternalError.java deleted file mode 100644 index 9b7271e2366..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/InternalError.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.util; - -/** - * Support for signalling internal implementation errors. - */ -//@olsen: added class -public class InternalError - extends RuntimeException { - public InternalError() { - } - - public InternalError(String message) { - super(message); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Support.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Support.java deleted file mode 100644 index bcd9f7f87e9..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Support.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.util; - -import java.util.ResourceBundle; - -import org.glassfish.persistence.common.I18NHelper; - - -/** - * Basic support for enhancer implementation. - */ -//@olsen: added class -public class Support - extends Assertion { - - //^olsen: hack - static public final Timer timer = new Timer(); - - /** - * I18N message handler - */ - static private ResourceBundle MESSAGES; - - - /** - * - */ - static - { - try - { - MESSAGES = I18NHelper.loadBundle( - "com.sun.jdo.api.persistence.enhancer.Bundle", //NOI18N - Support.class.getClassLoader()); - } - catch (java.util.MissingResourceException ex) - { - ex.printStackTrace (); - } - } - - /** - * Returns the I18N message. - */ - static protected final String getI18N(String key) { - return I18NHelper.getMessage(MESSAGES, key); - } - - /** - * Returns the I18N message. - */ - static protected final String getI18N(String key, - String arg) { - return I18NHelper.getMessage(MESSAGES, key, arg); - } - - /** - * Returns the I18N message. - */ - static protected final String getI18N(String key, - String arg1, - String arg2) { - return I18NHelper.getMessage(MESSAGES, key, arg1, arg2); - } - - /** - * Returns the I18N message. - */ - static protected final String getI18N(String key, - String arg1, - String arg2, - String arg3) { - return I18NHelper.getMessage(MESSAGES, key, arg1, arg2, arg3); - } - - /** - * Returns the I18N message. - */ - static protected final String getI18N(String key, - int arg1, - String arg2) { - return I18NHelper.getMessage(MESSAGES, key, - new Object[]{arg1, arg2}); - } - - /** - * Returns the I18N message. - */ - static protected final String getI18N(String key, - Object[] args) { - return I18NHelper.getMessage(MESSAGES, key, args); - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Timer.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Timer.java deleted file mode 100644 index 5821fc6c5e1..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/Timer.java +++ /dev/null @@ -1,203 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.api.persistence.enhancer.util; - -import java.io.PrintWriter; -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.HashMap; - - -/** - * Utility class for simple performance analysis. - */ -//@olsen: added class -public final class Timer { - // a method's timing descriptor - static private class MethodDescriptor { - final String name; - int instantiations; - int calls; - long self; - long total; - - MethodDescriptor(String name) { - this.name = name; - } - } - - // a method call's timing descriptor - static private class MethodCall { - final MethodDescriptor method; - final String message; - long self; - long total; - - MethodCall(MethodDescriptor method, - String message, - long self, - long total) { - this.method = method; - this.message = message; - this.self = self; - this.total = total; - } - } - - // output device - PrintWriter out = new PrintWriter(System.out, true); - - // methods - HashMap methods = new HashMap(); - - // method call stack - private final ArrayList calls = new ArrayList(16); - - public Timer() - { - - } - - public Timer(PrintWriter out) - { - this.out = out; - } - - public final synchronized void push(String name) { - push(name, name); - } - - public final synchronized void push(String name, String message) { - // get time - final long now = System.currentTimeMillis(); - - // get a method descriptor - MethodDescriptor current = (MethodDescriptor)methods.get(name); - if (current == null) { - current = new MethodDescriptor(name); - methods.put(name, current); - } - - // update method descriptor - current.calls++; - current.instantiations++; - - // update method call stack - calls.add(new MethodCall(current, message, now, now)); - } - - public final synchronized void pop() - { - // get time - final long now = System.currentTimeMillis(); - - // update method call stack - final MethodCall call = (MethodCall)calls.remove(calls.size()-1); - - // get current call's time - final long currentSelf = now - call.self; - final long currentTotal = now - call.total; - - // update previous call's self time - if (calls.size() > 0) { - final MethodCall previous = (MethodCall)calls.get(calls.size()-1); - previous.self += currentTotal; - } - - // update method descriptor - final MethodDescriptor current = call.method; - current.self += currentSelf; - if (--current.instantiations == 0) { - current.total += currentTotal; - } - - if (false) { - out.println("Timer (n,g): " + call.message + " : (" - + currentSelf + ", " + currentTotal + ")"); - } - } - - static private final String pad(String s, int i) - { - StringBuilder b = new StringBuilder(); - for (i -= s.length(); i > 0; i--) - b.append((char)' '); - b.append(s); - return b.toString(); - } - - public final synchronized void print() - { - out.println("Timer : printing accumulated times ..."); - final Object[] calls = methods.values().toArray(); - - Arrays.sort(calls, - new Comparator() { - public int compare(Object o1, - Object o2) { - return (int)(((MethodDescriptor)o2).total - - ((MethodDescriptor)o1).total); - } - public boolean equals(Object obj) { - return (obj != null && compare(this, obj) == 0); - } - }); - - out.println("Timer : total s self s #calls name"); - DecimalFormat nf = new DecimalFormat(); - nf.setMaximumFractionDigits(2); - nf.setMinimumFractionDigits(2); - //nf.applyPattern("#,##0.00"); - //out.println("Timer : pattern = " + nf.toPattern()); - for (int i = 0; i < calls.length; i++) { - final MethodDescriptor current = (MethodDescriptor)calls[i]; - - out.println("Timer : " - + pad(nf.format(current.total / 1000.0), 8) + " " - + pad(nf.format(current.self / 1000.0), 8) + " " - + pad(String.valueOf(current.calls), 6) + " " - + current.name); - } - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/UserException.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/UserException.java deleted file mode 100644 index 8c83203e67a..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/UserException.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.util; - - -/** - * Thrown to indicate that the class-file enhancer failed to perform an - * operation due to a serious error. - */ -public class UserException - extends RuntimeException -{ - /** - * An optional nested exception. - */ - public final Throwable nested; - - /** - * Constructs an UserException with no detail message. - */ - public UserException() - { - this.nested = null; - } - - /** - * Constructs an UserException with the specified - * detail message. - */ - public UserException(String msg) - { - super(msg); - this.nested = null; - } - - /** - * Constructs an UserException with an optional - * nested exception. - */ - public UserException(Throwable nested) - { - super(nested.toString()); - this.nested = nested; - } - - /** - * Constructs an UserException with the specified - * detail message and an optional nested exception. - */ - public UserException(String msg, Throwable nested) - { - super(msg); - this.nested = nested; - } -} diff --git a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ZipFileRegistry.java b/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ZipFileRegistry.java deleted file mode 100644 index b7647ee3c14..00000000000 --- a/appserver/persistence/cmp/enhancer/src/main/java/com/sun/jdo/api/persistence/enhancer/util/ZipFileRegistry.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.enhancer.util; - -import java.util.Hashtable; -import java.util.Enumeration; -import java.util.zip.ZipFile; -import java.io.*; - -/** - * ZipFileRegistry provides a central point for lookup of zip files - * within the filter tool. It needs to be public because it's - * accessed from outside the filter.util package. - */ - -public -class ZipFileRegistry { - /* A mapping of file name to ZipFile */ - private static Hashtable zipFileMap = new Hashtable(11); - - /** - * Return a zip file which may already be open - */ - public static ZipFile openZipFile(File f) - throws FileNotFoundException, IOException { - ZipFile zf = (ZipFile) zipFileMap.get(f.getPath()); - if (zf == null) { - zf = new ZipFile(f); - zipFileMap.put(zf.getName(), zf); - } - return zf; - } - - /** - * Return a zip file which must already be open - */ - public static ZipFile getZipFile(String path) { - return (ZipFile) zipFileMap.get(path); - } - - /** - * Returns an enumeration of the zip files in the registry - * Each element is a ZipFile. - */ - public static Enumeration zipFiles() { - return zipFileMap.elements(); - } - -} diff --git a/appserver/persistence/cmp/generator-database/osgi.bundle b/appserver/persistence/cmp/generator-database/osgi.bundle deleted file mode 100644 index 049cca0d37e..00000000000 --- a/appserver/persistence/cmp/generator-database/osgi.bundle +++ /dev/null @@ -1,43 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - --exportcontents: \ - com.sun.jdo.spi.persistence.generator.database; version=${project.osgi.version} - diff --git a/appserver/persistence/cmp/generator-database/pom.xml b/appserver/persistence/cmp/generator-database/pom.xml deleted file mode 100644 index 53cb63058d7..00000000000 --- a/appserver/persistence/cmp/generator-database/pom.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp - 7.2026.5-SNAPSHOT - - cmp-generator-database - glassfish-jar - - Database Generator module for cmp - - - - mm110999 - Mitesh Meswani - Oracle, Inc. - - developer - lead - - - - - - - src/main/java - - **/*.properties - - - - - - - - fish.payara.server.internal.persistence.cmp - cmp-model - ${project.version} - - - org.glassfish.external - dbschema - - - fish.payara.server.internal.common - common-util - ${project.version} - - - diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/Bundle.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/Bundle.properties deleted file mode 100644 index b4595c68979..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/Bundle.properties +++ /dev/null @@ -1,88 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 70. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO70000 - JDO70999 -############################################################################### -#{0} - policy name -EXC_MappingPolicyNotFound=JDO7000: Cannot get policy for {0}. -JDO7000.diag.cause.1=Error loading the default mapping policy which is used by database schema generation. -JDO7000.diag.check.1=Check that the classpath settings are not corrupted. - -#{0} - resource Name -EXC_ResourceNotFound=JDO7001: Cannot find resource {0}. - -#{0} - Unrecognized property name -#{1} - Property's corresponding value. -MSG_UnexpectedUserProp=JDO7002: Found unrecognized database generation user policy with name={0} and value={1}; name and value are ignored. - -#{0} - Unrecognized JDBC type name -#{1} - Java type name given in .properties file or in sun-ejb-jar.xml as user override. -EXC_InvalidJDBCTypeName=JDO7003: Given JDBC type ''{0}'' cannot be used as a type for the column that is mapped to field ''{1}'' - -EXC_InvalidRelationshipMapping=JDO7704: This error (\ -In DatabaseGenerator, failed to \ -get ''{0}'' for ''{1}'') should not occur.\nPlease contact support \ -and file a bug. -JDO7704.diag.cause.1=Cannot identify related field. -JDO7704.diag.cause.2=Cannot identify related class. -JDO7704.diag.check.1=Verify that relationship definition is correct. diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DB2.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DB2.properties deleted file mode 100644 index 40bbafab40f..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DB2.properties +++ /dev/null @@ -1,98 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -#mapping between jdbc and db2 -BIGINT=BIGINT -BIT=SMALLINT -CLOB=CLOB -REAL=FLOAT - -# LOBs must be 2 GB or less. -BLOB.jdbc-maximum-length=2147483647 -CLOB.jdbc-maximum-length=2147483647 - -# Add this text to LOB fields in the DDL -# See IBM SQL Reference on BLOB and CLOB columns. -LOBLogging.sql-format=NOT LOGGED - -# DB2 supports precision of only up to 31 -java.math.BigDecimal.jdbc-precision = 31 -java.math.BigInteger.jdbc-precision = 31 - -# maximum length for table name, column name and constraint name -table-name.maximum-length=128 -column-name.maximum-length=30 -constraint-name.maximum-length=18 - -# -# Properties to indicate how to format SQL -# - -# Text used to indicate that a column is nullable -# (Yes, it is supposed to be the empty string) -columnNullability.sql-format= - -# Reserved words -reserved-words=AFTER, ALIAS, ALLOW, APPLICATION, ASSOCIATE, ASUTIME, AUDIT, \ - AUX, AUXILIARY, BEFORE, BINARY, BUFFERPOOL, CACHE, CALL, CALLED, \ - CAPTURE, CARDINALITY, CCSID, CLUSTER, COLLECTION, COLLID, COMMENT, \ - CONCAT, CONDITION, CONTAINS, COUNT_BIG, CURRENT_DATE, CURRENT_LC_CTYPE, \ - CURRENT_PATH, CURRENT_SERVER, CURRENT_TIME, CURRENT_TIMESTAMP, \ - CURRENT_TIMEZONE, CURRENT_USER, CYCLE, DATA, DATABASE, DAYS, \ - DB2GENERAL, DB2GENRL, DB2SQL, DBINFO, DEFAULTS, DEFINITION, DETERMINISTIC, \ - DISALLOW, DO, DSNHATTR, DSSIZE, DYNAMIC, EACH, EDITPROC, ELSEIF, \ - ENCODING, END-EXEC1, ERASE, EXCLUDING, EXIT, FENCED, FIELDPROC, \ - FILE, FINAL, FREE, FUNCTION, GENERAL, GENERATED, GRAPHIC, HANDLER, \ - HOLD, HOURS, IF, INCLUDING, INCREMENT, INDEX, INHERIT, INOUT, \ - INTEGRITY, ISOBID, ITERATE, JAR, JAVA, LABEL, LC_CTYPE, LEAVE, \ - LINKTYPE, LOCALE, LOCATOR, LOCATORS, LOCK, LOCKMAX, LOCKSIZE, \ - LONG, LOOP, MAXVALUE, MICROSECOND, MICROSECONDS, MINUTES, MINVALUE, \ - MODE, MODIFIES, MONTHS, NEW, NEW_TABLE, NOCACHE, NOCYCLE, NODENAME, \ - NODENUMBER, NOMAXVALUE, NOMINVALUE, NOORDER, NULLS, NUMPARTS, \ - OBID, OLD, OLD_TABLE, OPTIMIZATION, OPTIMIZE, OUT, OVERRIDING, \ - PACKAGE, PARAMETER, PART, PARTITION, PATH, PIECESIZE, PLAN, PRIQTY, \ - PROGRAM, PSID, QUERYNO, READS, RECOVERY, REFERENCING, RELEASE, \ - RENAME, REPEAT, RESET, RESIGNAL, RESTART, RESULT, RESULT_SET_LOCATOR, \ - RETURN, RETURNS, ROUTINE, ROW, RRN, RUN, SAVEPOINT, SCRATCHPAD, \ - SECONDS, SECQTY, SECURITY, SENSITIVE, SIGNAL, SIMPLE, SOURCE, \ - SPECIFIC, SQLID, STANDARD, START, STATIC, STAY, STOGROUP, STORES, \ - STYLE, SUBPAGES, SYNONYM, SYSFUN, SYSIBM, SYSPROC, SYSTEM, TABLESPACE, \ - TRIGGER, TYPE, UNDO, UNTIL, VALIDPROC, VARIABLE, VARIANT, VCAT, \ - VOLUMES, WHILE, WLM, YEARS diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DBElementFactory.java b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DBElementFactory.java deleted file mode 100644 index 182b171897b..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DBElementFactory.java +++ /dev/null @@ -1,283 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * DBElementFactory.java - * - * Created on Jan 14, 2003 - */ - - -package com.sun.jdo.spi.persistence.generator.database; - -import org.netbeans.modules.dbschema.*; -import org.netbeans.modules.dbschema.jdbcimpl.*; -import org.netbeans.modules.dbschema.util.NameUtil; - -/* - * This class assists in creating a database model (dbmodel) - * element-by-element. - */ -class DBElementFactory { - /** - * String which indicates that schema was generated. - */ - private final static String TAGLINE = - "generated schema version "; //NOI18N - - /** - * Signature which identifies version of database generator. Updated - * each time the file is checked in to CVS. - */ - private static final String SIGNATURE = - "$RCSfile: DBElementFactory.java,v $ $Revision: 1.3 $"; //NOI18N - - /** Field type used if null is given in getColumnType. */ - private static final String UNKNOWN_FIELD_TYPE = "java.lang.Long"; // NOI18N - - /** Field type used for user-defined types in getColumnType. */ - private static final String DEFAULT_FIELD_TYPE = "java.lang.Object"; // NOI18N - - /** - * Disallow outside construction. - */ - private DBElementFactory() { - } - - /** - * Creates and returns a schema from give schema name - * @param schemaName A name for schema. - * @return Newly created schema element. - * @throws DBException - */ - static SchemaElement createSchema(String schemaName) throws DBException { - SchemaElementImpl schemaImpl = new SchemaElementImpl(); - SchemaElement schema = new SchemaElement(schemaImpl); - schema.setName(DBIdentifier.create(schemaName)); - schema.setDatabaseProductVersion(TAGLINE + SIGNATURE); - return schema; - } - - /** - * Create table and add to schema. - * @param schema Schema to which the table gets attached. - * @param tableName Name of the table without the schema name. - * @return TableElement for this table name - * @throws DBException - */ - static TableElement createAndAttachTable(SchemaElement schema, - String tableName) throws DBException { - - String fullName = NameUtil.getAbsoluteTableName( - schema.getName().getName(), tableName); - - TableElementImpl tableImpl = new TableElementImpl(tableName); - TableElement table = new TableElement(tableImpl, schema); - table.setName(DBIdentifier.create(fullName)); - table.setTableOrView(true); - schema.addTable(table); - return table; - } - - /** - * Create column and add to the table. - * @param columnName Name of the column to create. - * @param declaringTbl The declaring table to which column gets added. - * @return ColumnElement that represents the newly-added column. - * @throws DBException - */ - static ColumnElement createAndAttachColumn(String columnName, - TableElement table, JDBCInfo ji) throws DBException { - - // Create column id - String fullName = NameUtil.getAbsoluteMemberName( - table.getName().getName(), columnName); - DBIdentifier columnId = DBIdentifier.create(columnName); - - ColumnElementImpl columnImpl = new ColumnElementImpl(); - ColumnElement column = new ColumnElement(columnImpl, table); - column.setName(columnId); - column.setType(ji.getJdbcType()); - column.setNullable(ji.getNullable()); - column.setPrecision(ji.getPrecision()); - column.setScale(ji.getScale()); - column.setLength(ji.getLength()); - - table.addColumn(column); - - return column; - } - - /** - * Create column pair from local column and reference column. - * @param column The local column. - * @param refColumn The reference column. - * @param declaringTbl The declaring table. - * @return ColumnPairElement that represents the column pair. - * @throws DBException - */ - static ColumnPairElement createColumnPair(ColumnElement column, - ColumnElement refColumn, TableElement declaringTbl) - throws DBException { - - ColumnPairElementImpl pairImpl = new ColumnPairElementImpl(); - ColumnPairElement pair = new ColumnPairElement( - pairImpl, column, refColumn, declaringTbl); - return pair; - } - - /** - * Create primary key and add to table. - * @param table TableElement for adding primary key. - * @return UniqueKeyElement that represents the primary key. - * @throws DBException - */ - static UniqueKeyElement createAndAttachPrimaryKey(TableElement table, - String pKeyName) throws DBException { - - String tableName = table.getName().getName(); - String fullName = NameUtil.getAbsoluteMemberName(tableName, pKeyName); - - // create index for primary key - TableElementImpl tableImpl = (TableElementImpl)table.getElementImpl(); - IndexElementImpl indexImpl = - new IndexElementImpl(tableImpl, fullName, true); - IndexElement index = new IndexElement(indexImpl, table); - index.setUnique(true); - - UniqueKeyElementImpl pKeyImpl = new UniqueKeyElementImpl(); - UniqueKeyElement pKey = new UniqueKeyElement(pKeyImpl, table, index); - pKey.setName(DBIdentifier.create(fullName)); - pKey.setPrimaryKey(true); - table.addKey(pKey); - table.addIndex(pKey.getAssociatedIndex()); - return pKey; - } - - /** - * Create foreign key between declaring table and reference table with - * relationship name. - * @param declaringTbl The declaring table. - * @param refTbl The referencing table. - * @param relationName The name for relationship. - * @param uniqueId Id that can be appened to relName to distinguish it - * from other relNames in the database. - * @return The foreign key object. - * @throws DBException - */ - static ForeignKeyElement createAndAttachForeignKey( - TableElement declaringTbl, TableElement refTbl, String keyName, - MappingPolicy mappingPolicy, String uniqueId) throws DBException { - - String fkeyName = mappingPolicy.getConstraintName(keyName, uniqueId); - - TableElementImpl tableImpl = - (TableElementImpl) declaringTbl. getElementImpl(); - ForeignKeyElementImpl fkeyImpl = - new ForeignKeyElementImpl(tableImpl, fkeyName); - ForeignKeyElement fkey = new ForeignKeyElement(fkeyImpl, declaringTbl); - - UniqueKeyElement pk = refTbl.getPrimaryKey(); - ColumnElement [] pkColumns = pk.getColumns(); - String refTblName = refTbl.getName().getName(); - - // Each PK column contributes to the FK. - if (pkColumns != null) { - for (int i = 0; i < pkColumns.length; i++) { - ColumnElement refColumn = pkColumns[i]; - - // get name from mappingPolicy - String columnName = - mappingPolicy.getConstraintColumnName( - refTblName, refColumn.getName().getName()); - - // create column to ref primary key of ref table - JDBCInfo ji = new JDBCInfo( - refColumn.getType(), - refColumn.getPrecision(), - refColumn.getScale(), - refColumn.getLength(), - true); - - // create column and add to declaring table - ColumnElement column = createAndAttachColumn( - columnName, declaringTbl, ji); - - // create column pairs and add to foreign key - ColumnPairElement pair = createColumnPair( - column, refColumn, declaringTbl); - fkey.addColumnPair(pair); - } - } - declaringTbl.addKey(fkey); - return fkey; - } - - /** - * Returns properties of a type of a field. - * @param fieldName Full name of a field, including its package and - * class. If null, UNKNOWN_FIELD_TYPE is used. - * @param fieldType Full name of a type, including its package and - * class. - * @param mappingPolicy Policy dictating properties. - * @return JDBCInfo which indicates properties of a type of field. If - * there is information specific to fieldName, that is returned, else - * information for fieldType is returned. - */ - static JDBCInfo getColumnType(String fieldName, String fieldType, - MappingPolicy mappingPolicy) { - - // fieldType will be null when we are handling an unknown PK - // situation. Use a Long in that case. - if (fieldType == null) { - fieldType = UNKNOWN_FIELD_TYPE; - } - - JDBCInfo rc = mappingPolicy.getJDBCInfo(fieldName, fieldType); - - // We won't find a JDBCInfo for user-defined types. Treat them as - // Object. - if (null == rc) { - // Treat as user-defined object type. - rc = mappingPolicy.getJDBCInfo(null, DEFAULT_FIELD_TYPE); // NOI18N - } - return rc; - } -} diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLGenerator.java b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLGenerator.java deleted file mode 100644 index bb4262c421b..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLGenerator.java +++ /dev/null @@ -1,571 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * DDLGenerator.java - * - * Created on Jan 14, 2003 - */ - -package com.sun.jdo.spi.persistence.generator.database; - -import org.netbeans.modules.dbschema.*; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.PrintStream; -import java.sql.SQLException; -import java.sql.Types; -import java.util.ArrayList; -import java.util.List; - -// XXX Instead of only static methods, generateDDL could create an -// instance of this class with the parameters that are currently passed -// around, such as mappingPolicy, being fields. Other methods then become -// instance methods, and don't take all the parameters. - -/** - * This class generates DDL for a given SchemaElement. - * - * @author Jie Leng, Dave Bristor - */ -public class DDLGenerator { - - /** For writing DDL. */ - private static final char SPACE = ' '; //NOI18N - - /** For writing DDL. */ - private static final char START = '('; //NOI18N - - /** For writing DDL. */ - private static final char END = ')'; //NOI18N - - /** For writing DDL. */ - private static final String COLUMN_SEPARATOR = ", "; //NOI18N - - /** For writing DDL. */ - private static final String NOT_NULL_STRING = "NOT NULL"; //NOI18N - - /** For writing DDL. */ - private static final String NULL_STRING = "NULL"; //NOI18N - - - // XXX The use of streams can be improved. They probably should be - // writers anyway, and the names should be consistent. - - /** - * Generate DDL from schema and database vendor name. Up to four files - * containing DDL are created: - *
      - *
    • create table DDL destined for human readers
    • - *
    • create table DDL destined for a JDBC connection
    • - *
    • drop table DDL destined for human readers
    • - *
    • drop table DDL destined for a JDBC connection
    • - *
    - * Furthermore, if the datbase output stream is not null, then create - * tables in database. - * @param schema Database schema for which DDL is generated. - * @param dbVendorName Name of database vendor, which must match one of - * the names of the .properties files in this package. - * @param createDDLSql An OutputStream to which human-readable DDL for - * creating tables gets written. - * @param dropDDLSql An OutputStream to which human-readable DDL for - * dropping tables gets written. - * @param dropDDLJdbc An OutputStream to which DDL for dropping tables - * gets written. This parameter differs from dropDDLSql because the data - * written into it is supposed to be used with a JDBC connection. - * @param createDDLJdbc An OutputStream to which DDL for creating tables - * gets written. This parameter differs from createDDLSql because the data - * written into it is supposed to be used with a JDBC connection. - * @param dbStream DatabaseOutputStream which, if not null, is used to - * create tables in a live database during this method call. - * @param dropAndCreateTbl If true, and dbStream is not null, then - * existing tables are dropped before new ones are created. - * @throws DBException - * @throws SQLException - * @throws IOException - */ - // XXX Change param dbStream to be of type DatabaseOutputStream. - // XXX Change names of all streams to indicate that they are streams. - // XXX Consider changing this API to take the location of where the files - // are to be written, and to create the streams here. - // XXX Reorder params so they are in order create, drop, create, drop or - // maybe create, create, drop, drop, but not create, drop, drop, create! - public static void generateDDL(SchemaElement schema, String dbVendorName, - OutputStream createDDLSql, OutputStream dropDDLSql, - OutputStream dropDDLJdbc, OutputStream createDDLJdbc, - OutputStream dbStream, boolean dropAndCreateTbl) - throws DBException, SQLException, IOException { - - if (schema != null) { - MappingPolicy mappingPolicy = MappingPolicy.getMappingPolicy( - dbVendorName); - DDLTemplateFormatter.reset(mappingPolicy); - String schemaName = schema.getName().getName(); - List createAllTblDDL = new ArrayList(); - // Added for Symfoware support as Symfoware does not automatically create - // indexes for primary keys. Creating indexes is mandatory. - List createIndexDDL = new ArrayList(); - List alterAddConstraintsDDL = new ArrayList(); - List alterDropConstraintsDDL = new ArrayList(); - List dropAllTblDDL = new ArrayList(); - TableElement[] tables = schema.getTables(); - - if (tables != null) { - for (int ii = 0; ii < tables.length; ii++) { - TableElement table = tables[ii]; - - createAllTblDDL.add( - createCreateTableDDL(table, mappingPolicy)); - // Added for Symfoware support as indexes on primary keys are mandatory - if (table.getPrimaryKey() != null) { - createIndexDDL.add(createIndexDDL(table)); - } - alterAddConstraintsDDL.addAll( - createAddConstraintsDDL(table)); - alterDropConstraintsDDL.addAll( - createDropConstraintsDDL(table)); - dropAllTblDDL.add( - createDropTableDDL(table)); - } - } - String stmtSeparator = mappingPolicy.getStatementSeparator(); - generateSQL(createDDLSql, dropDDLSql, dropDDLJdbc, createDDLJdbc, - (DatabaseOutputStream) dbStream, createAllTblDDL, createIndexDDL, - alterAddConstraintsDDL, alterDropConstraintsDDL, dropAllTblDDL, - stmtSeparator, dropAndCreateTbl); - } - } - - /** - * Write DDL to files or drop or create table in database - * @param createDDLSql a file for writing create DDL - * @param dropDDLSql a file for writing drop DDL - * @param dropDDLTxt a file for writing drop DDL and can be easily - * executes drop in undeployment time - * @param dbStream for creating table in database - * @param createAllTblDDL a list of create table statement - * @param createIndexDDL a list of create index statement - * @param alterAddConstraintsDDL a list of adding constraints statement - * @param alterDropConstraintDDL a list of droping constrains statement - * @param dropAllTblDDL a list of droping tables statement - * @param stmtSeparator for separating each statement - * @param dropAndCreateTbl true for dropping tables first - * @throws DBException - * @throws SQLException - */ - // XXX FIXME The above javadoc is wrong, change it if/when the - // generateDDL api changes. - // XXX Fix method body comments. - private static void generateSQL(OutputStream createSql, - OutputStream dropSql, OutputStream dropTxt, OutputStream createTxt, - DatabaseOutputStream dbStream, List createAllTblDDL, List createIndexDDL, - List alterAddConstraintsDDL, List alterDropConstraintsDDL, - List dropAllTblDDL, String stmtSeparator, boolean dropAndCreateTbl) - throws DBException, SQLException { - - PrintStream workStream = null; - PrintStream txtStream = null; - - try { - // drop constraints first - workStream = new PrintStream(dropSql); - if (dropTxt != null) { - txtStream = new PrintStream(dropTxt); - } - for (int i = 0; i < alterDropConstraintsDDL.size(); i++) { - String dropConstStmt = (String) alterDropConstraintsDDL.get(i); - writeDDL(workStream, txtStream, stmtSeparator, dropConstStmt); - if ((dbStream != null) && dropAndCreateTbl) { - dbStream.write(dropConstStmt); - } - } - - // drop tables - for (int i = 0; i < dropAllTblDDL.size(); i++) { - String dropTblStmt = (String) dropAllTblDDL.get(i); - writeDDL(workStream, txtStream, stmtSeparator, dropTblStmt); - if ((dbStream != null) && dropAndCreateTbl) { - dbStream.write(dropTblStmt); - } - } - workStream.close(); - if (txtStream != null) { - txtStream.close(); - } - - // create tables and constraints - workStream = new PrintStream(createSql); - if (createTxt != null) { - txtStream = new PrintStream(createTxt); - } - - // First create tables... - for (int i = 0; i < createAllTblDDL.size(); i++) { - StringBuilder createStmt = new StringBuilder(); - String[] createTbl = (String []) createAllTblDDL.get(i); - - for (int j = 0; j < createTbl.length; j++) { - workStream.println(createTbl[j]); - createStmt.append(createTbl[j]); - } - workStream.println(stmtSeparator); - if (txtStream != null) { - txtStream.println(createStmt); - } - if (dbStream != null) { - dbStream.write(createStmt.toString()); - } - } - - // ...then create indexes - for (int i = 0; i < createIndexDDL.size(); i++) { - String stmt = (String)createIndexDDL.get(i); - writeDDL(workStream, txtStream, stmtSeparator, stmt); - if (dbStream != null) { - dbStream.write(stmt); - } - } - - // ...then create constraints - for (int i = 0; i < alterAddConstraintsDDL.size(); i++) { - String stmt = (String)alterAddConstraintsDDL.get(i); - writeDDL(workStream, txtStream, stmtSeparator, stmt); - if (dbStream != null) { - dbStream.write(stmt); - } - } - - workStream.close(); - if (txtStream != null) { - txtStream.close(); - } - - if (dbStream != null) { - dbStream.flush(); - } - } finally { - if (workStream != null) { - workStream.close(); - } - if (txtStream != null) { - txtStream.close(); - } - } - } - - /** - * Writes string to given streams. - * @param sqlFile Stream representing human-readable DDL. - * @param txtFile Stream representing DDL to be used via JDBC - * statements. - * @param stmtSeparator Separator between DDL statements in - * human-readable DDL. - */ - private static void writeDDL(PrintStream sql, PrintStream txt, - String stmtSeparator, String stmt) { - - if (stmt == null || stmt.trim().length() == 0) { - return; - } - - sql.println(stmt); - sql.println(stmtSeparator); - - // Could be null, if null was passed to generateDDL. - if (txt != null) { - txt.println(stmt); - } - } - - // XXX Some methods below use oneParam, etc. These should be renamed - // "formatterParam" or somesuch, leaving out their number. - - /** - * Returns DDL in String[] form to create a table. The returned String[] - * elements have the format: - *
    -     * CREATE TABLE table_name (
    -     *     column_name type(precision, scale) null,
    -     *     ...
    -     *     CONSTRAINT pk_name PRIMARY KEY (id, name)
    -     * )
    -     * 
    - * @param table Table for which DDL is to be created. - * @param mappingPolicy Policy that determines database- and - * user-supplied properties on generating DDL. - * @return String[] containing DDL to create a table. - */ - private static String[] createCreateTableDDL(TableElement table, - MappingPolicy mappingPolicy) { - - List createTblList = new ArrayList(); - String[] oneParam = { table.getName().getName() }; - - createTblList.add( - DDLTemplateFormatter.formatCreateTable(oneParam)); - - // add columns for each table - ColumnElement[] columns = table.getColumns(); - String constraint = createPrimaryKeyConstraint(table); - int size = columns.length; - - for (int i = 0; i < size; i++) { - StringBuilder columnContent = new StringBuilder(); - columnContent.append(getColumnDef(columns[i], mappingPolicy)); - - // If we haven't added the last column, or we have but there's a - // constraint yet to be added, add a column separator. - if ((i < size - 1) || ((i == size - 1) && (constraint != null))) { - columnContent.append(COLUMN_SEPARATOR); - } - createTblList.add(columnContent.toString()); - } - - if (constraint != null) { - createTblList.add(constraint); - } - createTblList.add(mappingPolicy.getCreateTableEnd()); - - return (String[]) createTblList.toArray( - new String[createTblList.size()]); - } - - /** - * createIndexDDL has been added for Symfoware support. Returns DDL in String form - * to create index. The returned string has the format: - *
    -     * CREATE INDEX table_name.table_name KEY(id, name)
    -     * 
    - * @param table Table for which DDL is to be created. - * @return DDL to create index. - */ - private static String createIndexDDL(TableElement table) { - String[] twoParam = { table.getName().getName() , getColumnNames(table.getPrimaryKey().getColumns()) }; - return DDLTemplateFormatter.formatCreateIndex(twoParam); - } - - /** - * Returns DDL in String form to drop a table. The returned string has - * the format: - *
    -     * DROP TABLE table_name
    -     * 
    - * @param table Table for which dropping DDL is returned. - * @return DDL to drop a table. - */ - private static String createDropTableDDL(TableElement table) { - String[] oneParam = { table.getName().getName() }; - return DDLTemplateFormatter.formatDropTable(oneParam); - } - - /** - * Returns DDL in String form to create a primary key constraint. The - * string has the format: - *
    -     * CONSTRAINT pk_name PRIMARY KEY(id, name)
    -     * 
    - * @param table Table for which constraint DDL is returned. - * @return DDL to create a PK constraint or null if there is no PK. - */ - private static String createPrimaryKeyConstraint(TableElement table) { - String rc = null; - UniqueKeyElement pk = table.getPrimaryKey(); - - if (pk != null) { - String[] twoParams = new String[2]; - twoParams[0] = pk.getName().getName(); - twoParams[1] = getColumnNames(pk.getColumns()); - rc = DDLTemplateFormatter.formatPKConstraint(twoParams); - } - return rc; - } - - /** - * Returns a List of Strings of "add constraint" DDL commands. Strings - * in the array have the format: - *
    -     * ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY
    -     * (id, ..) REFERENCES table_name (id, ..)
    -     * 
    - * @param table Table for which constraints are returned. - * @return Array of constraints (as Strings), one for each constraint on - * the table. - */ - private static List createAddConstraintsDDL(TableElement table) { - List alterTblDDL = new ArrayList(); - String[] fourParams = new String[4]; - String[] oneParam = { table.getName().getName() }; - - // Add foreign keys - ForeignKeyElement[] fkeys = table.getForeignKeys(); - if (fkeys != null) { - String alterTblString = - DDLTemplateFormatter.formatAlterTableAddConstraint(oneParam); - - for (int jj=0; jj < fkeys.length; jj++) { - ForeignKeyElement fkey = fkeys[jj]; - fourParams[0] = fkey.getName().getName(); - fourParams[1] = getColumnNames(fkey.getLocalColumns()); - fourParams[2] = fkey.getReferencedTable().getName().getName(); - fourParams[3] = getColumnNames(fkey.getReferencedColumns()); - - StringBuilder alterTblDDLString = new StringBuilder( - alterTblString); - alterTblDDLString.append(SPACE); - alterTblDDLString.append( - DDLTemplateFormatter.formatFKConstraint(fourParams)); - alterTblDDL.add(alterTblDDLString.toString()); - } - } - return alterTblDDL; - } - - /** Returns a List of Strings of "drop constraint" DDL commands. Each - * String has the format: - *
    -     * DROP TABLE table_name
    -     * 
    - * @param table Table for which constraints are to be dropped. - * @return List of Strings, one per "drop constraint" command. - */ - private static List createDropConstraintsDDL(TableElement table) { - List alterTbls = new ArrayList(); - String[] twoParams = new String[2]; - twoParams[0] = table.getName().getName(); - ForeignKeyElement[] fkeys = table.getForeignKeys(); - - if (fkeys != null) { - for (int i = 0; i < fkeys.length; i++) { - twoParams[1] = fkeys[i].getName().getName(); - String alterTblString = - DDLTemplateFormatter.formatAlterTableDropConstraint( - twoParams); - alterTbls.add(alterTblString); - } - } - return alterTbls; - } - - /** - * Returns a String which indicates how a column should be declared in - * DDL. It has the format: - *
    -     * column_name column_type(length, precision, scale) null
    -     * 
    - * length, precision, scale, and null are optional, and depend on - * properties of the given column. - * @param column Column to be declared in DDL. - * @param mappingPolicy Policy that determines database- and - * user-supplied properties on generating DDL. - * @return String containing DDL to create column in database. - */ - private static String getColumnDef(ColumnElement column, - MappingPolicy mappingPolicy) { - - int jdbcType = column.getType(); - Integer scale = column.getScale(); - Integer precision = column.getPrecision(); - Integer length = column.getLength(); - String sqlType = mappingPolicy.getSQLTypeName(jdbcType); - StringBuilder columnContent = new StringBuilder(); - - columnContent.append(column.getName().getName()); - columnContent.append(SPACE); - columnContent.append(sqlType); - if (column.isCharacterType() && length != null) { - columnContent.append(START); - columnContent.append(length.toString()); - columnContent.append(END); - - } else if (column.isNumericType() && precision != null) { - columnContent.append(START); - columnContent.append(precision.toString()); - if (scale != null) { - columnContent.append(COLUMN_SEPARATOR); - columnContent.append(scale.toString()); - } - columnContent.append(END); - - } else if (column.isBlobType() && length != null) { - columnContent.append(START); - columnContent.append(length.toString()); - columnContent.append(END); - } - - // Add extra information required by LOB columns. - if (jdbcType == Types.BLOB || jdbcType == Types.CLOB) { - String lobText = mappingPolicy.getLobLogging(); - if (lobText != null && lobText.length() > 0) { - columnContent.append(SPACE).append(lobText); - } - } - - // Add information about nullability. - if (column.isNullable()) { - String nullText = mappingPolicy.getColumnNullability(); - if (nullText != null && nullText.length() > 0) { - columnContent.append(SPACE).append(nullText); - } - } else { - columnContent.append(SPACE).append(NOT_NULL_STRING); - } - - return columnContent.toString(); - } - - /** - * Returns a comma-separated list of column names. - * @param columns Array of ColumnElements - * @return String of form "columnA, columnB", with as many named columns - * as there are in given array. - */ - private static String getColumnNames(ColumnElement[] columns) { - StringBuilder columnNames = new StringBuilder(); - for (int i = 0; i < columns.length; i++) { - if (i > 0) { - columnNames.append(COLUMN_SEPARATOR); - } - columnNames.append(columns[i].getName().getName()); - } - return columnNames.toString(); - } -} diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLTemplateFormatter.java b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLTemplateFormatter.java deleted file mode 100644 index aaf1be89632..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DDLTemplateFormatter.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * DDLTemplateFormatter.java - * - * Created on Jan 14, 2003 - */ - -package com.sun.jdo.spi.persistence.generator.database; - -import java.text.MessageFormat; - -/* - * This class provides methods that format strings containing DDL. The - * resulting strings are dependent on a particular MappingPolicy. - * - * @author Jie Leng, Dave Bristor - */ -// XXX FIXME This will not work in the unlikely event that 2 apps are being -// deployed at once. It has reset invoked in DDLGenerator.generateDDL, but -// if another generateDDL can happen simultaneously, we're in trouble. -class DDLTemplateFormatter { - /** Formatter for the start of "create table" DDL. */ - private static MessageFormat createTableStart = null; - - /** Formatter for the start of "create index" DDL. */ - private static MessageFormat createIndex = null; - - /** Formatter for "add constraint" DDL. */ - private static MessageFormat alterTableAddConstraintStart = null; - - /** Formatter for "drop constraing" DDL. */ - private static MessageFormat alterTableDropConstraint = null; - - /** Formatter for DDL for adding a PK constraint. */ - private static MessageFormat primaryKeyConstraint = null; - - /** Formatter for DDL for adding an FK constraint. */ - private static MessageFormat foreignKeyConstraint = null; - - /** Formatter for "drop table" DDL. */ - private static MessageFormat dropTable = null; - - - /** - * Prevent instantiation. - */ - private DDLTemplateFormatter() { - } - - /** - * Resets MessageFormats for code generation as per policy. - * @param mappingPolicy Policy that determines formatters provided by - * this class. - */ - static void reset(MappingPolicy mappingPolicy) { - createTableStart = new MessageFormat( - mappingPolicy.getCreateTableStart()); - // Added for Symfoware support as indexes on primary keys are mandatory - createIndex = new MessageFormat( - mappingPolicy.getCreateIndex()); - - alterTableAddConstraintStart = new MessageFormat( - mappingPolicy.getAlterTableAddConstraintStart()); - - alterTableDropConstraint = new MessageFormat( - mappingPolicy.getAlterTableDropConstraint()); - - primaryKeyConstraint = new MessageFormat( - mappingPolicy.getPrimaryKeyConstraint()); - - foreignKeyConstraint = new MessageFormat( - mappingPolicy.getForeignKeyConstraint()); - - dropTable = new MessageFormat( - mappingPolicy.getDropTable()); - } - - - /** - * @returns A String formatted for the start of "create table" DDL. - */ - static String formatCreateTable(Object o) { - return createTableStart.format(o); - } - - /** - * @returns A String formatted for the start of "create index" DDL. - */ - static String formatCreateIndex(Object o) { - return createIndex.format(o); - } - - /** - * @returns A String formatted for "add constraint" DDL. - */ - static String formatAlterTableAddConstraint(Object o) { - return alterTableAddConstraintStart.format(o); - } - - /** - * @returns A String formatted for "drop constraint" DDL. - */ - static String formatAlterTableDropConstraint(Object o) { - return alterTableDropConstraint.format(o); - } - - /** - * @returns A String formatted for DDL for adding a PK constraint. - */ - static String formatPKConstraint(Object o) { - return primaryKeyConstraint.format(o); - } - - /** - * @returns A String formatted for DDL for adding an FK constraint. - */ - static String formatFKConstraint(Object o) { - return foreignKeyConstraint.format(o); - } - - /** - * @returns A String formatted for "drop table" DDL. - */ - static String formatDropTable(Object o) { - return dropTable.format(o); - } -} diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DERBY.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DERBY.properties deleted file mode 100644 index 159c2a46a07..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DERBY.properties +++ /dev/null @@ -1,92 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -#mapping between jdbc and Derby -BIGINT=BIGINT -BIT=SMALLINT -CLOB=CLOB -REAL=FLOAT - -# LOBs must be 2 GB or less. -BLOB.jdbc-maximum-length=2147483647 -CLOB.jdbc-maximum-length=2147483647 - -# DERBY supports precision of only up to 31 -java.math.BigDecimal.jdbc-precision = 31 -java.math.BigInteger.jdbc-precision = 31 - -# maximum length for table name, column name and constraint name -table-name.maximum-length=128 -column-name.maximum-length=30 -constraint-name.maximum-length=18 - -# -# Properties to indicate how to format SQL -# - -# Text used to indicate that a column is nullable -# (Yes, it is supposed to be the empty string) -columnNullability.sql-format= - -# Reserved words -reserved-words=ADD, ALL, ALLOCATE, ALTER, AND, ANY, ARE, AS, ASC, ASSERTION, \ -AT, AUTHORIZATION, AVG, BEGIN, BETWEEN, BIT, BIT_LENGTH, BOOLEAN, BOTH, BY, \ -CALL, CASCADE, CASCADED, CASE, CAST, CHAR, CHARACTER, CHARACTER_LENGTH, \ -CHAR_LENGTH, CHECK, CLOSE, COLLATE, COLLATION, COLUMN, COMMIT, CONNECT, \ -CONNECTION, CONSTRAINT, CONSTRAINTS, CONTINUE, CONVERT, CORRESPONDING, \ -COUNT, CREATE, CROSS, CURRENT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, \ -CURRENT_USER, CURSOR, DEALLOCATE, DEC, DECIMAL, DECLARE, DEFERRABLE, DEFERRED, \ -DELETE, DESC, DESCRIBE, DIAGNOSTICS, DISCONNECT, DISTINCT, DOUBLE, DROP, ELSE, \ -END, ENDEXEC, ESCAPE, EXCEPT, EXCEPTION, EXEC, EXECUTE, EXISTS, EXPLAIN, \ -EXTERNAL, EXTRACT, FALSE, FETCH, FIRST, FLOAT, FOR, FOREIGN, FOUND, FROM, \ -FULL, FUNCTION, GET, GET_CURRENT_CONNECTION, GLOBAL, GO, GOTO, GRANT, GROUP, \ -HAVING, HOUR, IDENTITY, IMMEDIATE, IN, INDICATOR, INITIALLY, INNER, INOUT, \ -INPUT, INSENSITIVE, INSERT, INT, INTEGER, INTERSECT, INTO, IS, ISOLATION, JOIN, \ -KEY, LAST, LEADING, LEFT, LIKE, LOCAL, LONGINT, LOWER, LTRIM, MATCH, MAX, MIN, \ -MINUTE, NATIONAL, NATURAL, NCHAR, NVARCHAR, NEXT, NO, NOT, NULL, NULLIF, \ -NUMERIC, OCTET_LENGTH, OF, ON, ONLY, OPEN, OPTION, OR, ORDER, OUT, OUTER, \ -OUTPUT, OVERLAPS, PAD, PARTIAL, PREPARE, PRESERVE, PRIMARY, PRIOR, PRIVILEGES, \ -PROCEDURE, PUBLIC, READ, REAL, REFERENCES, RELATIVE, RESTRICT, REVOKE, RIGHT, \ -ROLLBACK, ROWS, RTRIM, RUNTIMESTATISTICS, SCHEMA, SCROLL, SECOND, SELECT, \ -SESSION_USER, SET, SMALLINT, SOME, SPACE, SQL, SQLCODE, SQLERROR, SQLSTATE, \ -SUBSTR, SUBSTRING, SUM, SYSTEM_USER, TABLE, TEMPORARY, TIMEZONE_HOUR, \ -TIMEZONE_MINUTE, TINYINT, TO, TRAILING, TRANSACTION, TRANSLATE, TRANSLATION, \ -TRIM, TRUE, UNION, UNIQUE, UNKNOWN, UPDATE, UPPER, USER, USING, VALUES, \ -VARCHAR, VARYING, VIEW, WHENEVER, WHERE, WITH, WORK, WRITE, YEAR diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseGenerationConstants.java b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseGenerationConstants.java deleted file mode 100644 index b908d7d21f7..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseGenerationConstants.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.generator.database; - -/** - * This interface defines string constants used by the database generation. - * - * @author Jie Leng, Dave Bristor - */ -// XXX Rename this class to "Constants" -interface DatabaseGenerationConstants { - - /** Separator between property name bases and indicators. */ - static final char DOT = '.'; - - /** Indicator that property is for a maximum length. */ - static final String INDICATOR_MAXIMUM_LENGTH = "maximum-length"; //NOI18N - - /** - * (Partial) indicator that property is for attributes of SQL. The prefix - * is recognized by alone by itself in MappingFile, and is used by other - * DatabaseGenerationConstants. - */ - static final String INDICATOR_JDBC_PREFIX = "jdbc"; //NOI18N - - /** Indicator that property designates the length of mapped SQL type. */ - static final String INDICATOR_JDBC_LENGTH = - INDICATOR_JDBC_PREFIX + "-" + INDICATOR_MAXIMUM_LENGTH; //NOI18N - - /** Indicator that property designates the nullability of mapped SQL type. */ - static final String INDICATOR_JDBC_NULLABLE = - INDICATOR_JDBC_PREFIX + "-nullable"; //NOI18N - - /** Indicator that property designates the precision of mapped SQL type. */ - static final String INDICATOR_JDBC_PRECISION = - INDICATOR_JDBC_PREFIX + "-precision"; //NOI18N - - /** Indicator that property designates the scale of mapped SQL type. */ - static final String INDICATOR_JDBC_SCALE = - INDICATOR_JDBC_PREFIX + "-scale"; //NOI18N - - /** Indicator that property designates the type of a mapped SQL type. */ - static final String INDICATOR_JDBC_TYPE = - INDICATOR_JDBC_PREFIX + "-type"; //NOI18N -} diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseGenerator.java b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseGenerator.java deleted file mode 100644 index 58078dfaa14..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseGenerator.java +++ /dev/null @@ -1,948 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * DatabaseGenerator.java - * - * Created on Jan 14, 2003 - */ - -package com.sun.jdo.spi.persistence.generator.database; - -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.jdo.PersistenceClassElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; -import com.sun.jdo.api.persistence.model.jdo.RelationshipElement; -import com.sun.jdo.api.persistence.model.mapping.MappingClassElement; -import com.sun.jdo.api.persistence.model.mapping.MappingFieldElement; -import com.sun.jdo.api.persistence.model.mapping.MappingRelationshipElement; -import com.sun.jdo.api.persistence.model.mapping.MappingTableElement; -import com.sun.jdo.api.persistence.model.mapping.impl.MappingClassElementImpl; -import com.sun.jdo.api.persistence.model.mapping.impl.MappingFieldElementImpl; -import com.sun.jdo.api.persistence.model.mapping.impl.MappingRelationshipElementImpl; -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; -import org.netbeans.modules.dbschema.*; - -import java.io.IOException; -import java.util.*; - - -/** - * This class generates a database schema and a Map of mapping classes from a - * set of JDO classes. - */ -public class DatabaseGenerator { - /** @see DatabaseGenerationConstants#DOT */ - private static final char DOT = DatabaseGenerationConstants.DOT; - - /** Holds Java type information */ - private final Model model; - - /** Provides information on how database info should be generated */ - private final MappingPolicy mappingPolicy; - - /** List of NameTuple objects which holds persistence class name, - * desired table name and hash class name for database generation. */ - private final List pcClasses; - - /** Map from persistence-capable class names to MappingClassElement's. */ - // See also DatabaseGenerator.Results.mappingClasses. - private final Map mappingClasses = new HashMap(); - - /** Generated database schema. */ - private final SchemaElement schema; - - /** - * Used to recognize and remove classname suffixes. See {@link - * #getShortClassName}. - */ - private final String classSuffix; - - /** The logger */ - private static final Logger logger = - LogHelperDatabaseGenerator.getLogger(); - - /** I18N message handler */ - private static final ResourceBundle messages = - I18NHelper.loadBundle(DatabaseGenerator.class); - - - /** - * Contains the results of invoking DatabaseGenerator.generate() - */ - public class Results { - /** Generated database schema. */ - private final SchemaElement schema; - - /** Set of generated MappingClassElement's. */ - // Notice that this is a Set, while the outer class has a Map. This - // is intentional: DatabaseGenerator.addRelationships needs to get a - // MappingClassElement for a pc class name, but the clients of the - // DatabaseGenerator should only need the mapping classes. - private final Set mappingClasses; - - Results(SchemaElement schema, Map mappingClasses) { - this.schema = schema; - this.mappingClasses = new HashSet(mappingClasses.values()); - } - - /** @return Generated SchemaElement. */ - public SchemaElement getSchema() { - return schema; - } - - /** @return Generated mapping classes. */ - public Set getMappingClasses() { - return mappingClasses; - } - } - - - /** - * This class holds three strings which contain three type of information. - * For database generation, for each persistence class, we need to have - * persistence class name to look up persistence class, desired table name - * for table name and hash class name for unique table name. Depending on - * the caller's option, hash class name can be same as persistence class - * name or it can be different from persistence class name. - */ - public static class NameTuple { - - /** persistence class name */ - private final String persistenceClassName; - - /** desired table name */ - private final String desiredTableName; - - /** hash class name */ - private final String hashClassName; - - /** - * An object holds three string objects. - * @param persistenceClassName persistence class name for - * persistence class look up - * @param desiredTableName it can be used for table name - * @param hashClassName it can be used for unique table name - */ - public NameTuple( - String persistenceClassName, String desiredTableName, - String hashClassName) { - - this.persistenceClassName = persistenceClassName; - this.desiredTableName = desiredTableName; - this.hashClassName = (hashClassName != null) ? - hashClassName : persistenceClassName; - } - - /** - * An object holds three string objects. - * @param persistenceClassName persistence class name - * @param desiredTableName name for creating table name - */ - public NameTuple(String persistenceClassName, String desiredTableName) { - this(persistenceClassName, desiredTableName, null); - } - - /** @return persistence class name. */ - public String getPersistenceClassName() { - return persistenceClassName; - } - - /** @return hash class name. */ - public String getHashClassName() { - return hashClassName; - } - - /** @return desired table name. */ - public String getDesiredTableName() { - return desiredTableName; - } - } - - /** - * Generate database schema and mapping model from given map of - * persistence class name. - * @param model Holds java type information. - * @param pcClasses A list of NameTuple objects containing persistence - * class name and table names. - * @param mappingPolicy Determines how dbvendor and user influence - * generated schema. - * @param schemaName Identifies the generated schema. - * @param classSuffix Class name suffix that should be removed when - * creating table names from class names. - */ - private DatabaseGenerator( - Model model, List pcClasses, MappingPolicy mappingPolicy, - String schemaName, String classSuffix) - throws DBException { - - this.model = model; - this.pcClasses = pcClasses; - this.mappingPolicy = mappingPolicy; - this.schema = DBElementFactory.createSchema(schemaName); - this.classSuffix = classSuffix; - } - - /** - * Generate database schema and mapping model from given map of - * persistence class names. The schema is not put into the SchemaElement - * cache as a result of this generation. The next call to - * SchemaElement.forName will result in the schema being placed in the - * cache if it is not already there. If it is already there, it is the - * caller's responsibility to remove the old version if desired using - * SchemaElement's removeFromCache method before a SchemaElement.forName - * call. The generated schema is saved in outputDir.schemaName. - * @param model Holds java type information. - * @param pcClasses A List of NameTuple objects containing persistence - * class name and table names. - * @param mappingPolicy Determines how dbvendor and user influence - * generated schema. - * @param schemaName Identifies the generated schema. - * @param classSuffix Class name suffix that should be removed when - * creating table names from class names. - * @param generateMappingClasses if it is true, generate mapping classes - * also. Currently MappingClassElement's are always - * generated, and the parameter's value is ignored. - * @return A DatabaseGenerator.Results instance which holds the results - * of generation. - */ - public static Results generate( - Model model, List pcClasses, MappingPolicy mappingPolicy, - String schemaName, String classSuffix, - boolean generateMappingClasses) - throws DBException, IOException, ModelException { - - DatabaseGenerator generator = new DatabaseGenerator( - model, pcClasses, mappingPolicy, - schemaName, classSuffix); - - Results rc = generator.generate(); - - mappingPolicy.resetCounter(); - - return rc; - } - - /** - * Generate database schema and mapping classes. Iterate over all - * persistence-capable classes, generating a table for each. Within each - * persistence-capable class, iterate over all fields and make columns - * for each. Then handle relationships separately, see {@link - * #addRelationships}. - * @return A DatabaseGenerator.Results instance which holds the results - * of generation. - */ - private Results generate() throws DBException, ModelException { - for (Iterator i = pcClasses.iterator(); i.hasNext();) { - NameTuple nameTuple = (NameTuple) i.next(); - String pcClassName = nameTuple.getPersistenceClassName(); - String desiredTableName = nameTuple.getDesiredTableName(); - - PersistenceClassElement pcClass = - model.getPersistenceClass(pcClassName); - - String tableName = mappingPolicy.getTableName( - desiredTableName, getShortClassName(nameTuple.getHashClassName())); - TableElement table = DBElementFactory.createAndAttachTable( - schema, tableName); - UniqueKeyElement pKey = DBElementFactory.createAndAttachPrimaryKey( - table, - mappingPolicy.getPrimaryKeyConstraintName( - table.getName().getName())); - MappingClassElement mappingClass = createMappingClass( - pcClass, table); - - PersistenceFieldElement[] fields = pcClass.getFields(); - if (fields != null) { - for (int j = 0; j < fields.length; j++) { - PersistenceFieldElement field = fields[j]; - String fieldName = field.getName(); - if (!(field instanceof RelationshipElement)) { - String columnName = mappingPolicy.getColumnName( - desiredTableName, fieldName, tableName); - String fieldType = model.getFieldType( - pcClassName, fieldName); - String fullFieldName = - new StringBuilder(desiredTableName) - .append(DOT).append(fieldName).toString(); - JDBCInfo columnType = - DBElementFactory.getColumnType( - fullFieldName, - fieldType, - mappingPolicy); - if (logger.isLoggable(Logger.FINEST)) { - logger.fine( - "DBGenerator.generate: " // NOI18N - + tableName + "." + columnName + ": " // NOI18N - + columnType.toString()); - } - ColumnElement column = - DBElementFactory.createAndAttachColumn( - columnName, table, columnType); - MappingFieldElement mappingField = - createAndAttachMappingField( - fieldName, mappingClass, column); - - if (field.isKey()) { - column.setNullable(false); - pKey.addColumn(column); - pKey.getAssociatedIndex().addColumn(column); - mappingClass.getTable(tableName).addKeyColumn( - column); - } - } - } - } - mappingClasses.put(pcClassName, mappingClass); - } - addRelationships(); - - return new Results(schema, mappingClasses); - } - - /** - * Get the primary table element for the mapping class. - * @param mappingClass That which is associated with the table. - * @return Table that is associated with mapping class. - * @throws DBException - */ - private TableElement getPrimaryTable(MappingClassElement mappingClass) - throws DBException { - - List tables = mappingClass.getTables(); - - MappingTableElement tbl = (MappingTableElement) tables.get(0); - if (tbl != null) { - DBIdentifier tblName = DBIdentifier.create(tbl.getTable()); - return schema.getTable(tblName); - } else { - return null; - } - } - - /** - * Create mapping class and associated table and PC class - * @param pcClass PC class that mapping class associated - * @param table table element that mapping class associated - * @return MappingClassElement associated with table and PC class - * @throws ModelException - */ - private MappingClassElement createMappingClass( - PersistenceClassElement pcClass, TableElement table) - throws ModelException { - - MappingClassElement mappingClass = - new MappingClassElementImpl(pcClass); - - mappingClass.setDatabaseRoot(schema); - mappingClass.addTable(table); - return mappingClass; - } - - /** - * Create mapping field and add to mapping class - * @param fieldName a String for field name - * @param mappingClass mapping class object that field belong to - * @return mapping field object - * @throws ModelException - */ - private MappingFieldElement createAndAttachMappingField( - String fieldName, MappingClassElement mappingClass, - ColumnElement column) throws ModelException { - - MappingFieldElement mappingField = - new MappingFieldElementImpl(fieldName, mappingClass); - - mappingClass.addField(mappingField); - mappingField.addColumn(column); - if (column.isBlobType()) { - mappingField.setFetchGroup(MappingFieldElement.GROUP_NONE); - } else { - mappingField.setFetchGroup(MappingFieldElement.GROUP_DEFAULT); - } - return mappingField; - } - - - /** - * Create and add mapping relationship with column pairs to mapping class. - * The column pair for mappingRelationship is same order as the column - * pair from foreign key. It is used for 1-1 or 1-M relationship - * It is column pair between local table and foreign table - * @param relationName relationship name for the declaring mapping class - * @param mappingClass mapping class that holds the relationship - * @param foreign key which hold column pair for the relationship - * @throws ModelException - */ - private void addMappingRelationship(String relationName, - MappingClassElement declaringClass, ForeignKeyElement fkey) - throws ModelException { - - MappingRelationshipElement impl = new MappingRelationshipElementImpl( - relationName, declaringClass); - ColumnPairElement [] pairs = fkey.getColumnPairs(); - - for (int i = 0; i < pairs.length; i++) { - ColumnPairElement pair = pairs[i]; - impl.addColumn(pair); - } - declaringClass.addField(impl); - } - - /** - * Create and add MappingRelationship with associated column pairs - * for join table. The column pair for mappingRelationship is same - * order as the column pair from foreign key. - * It is for column pairs between the join table and the foreign table - * @param relationName a String for relation name - * @param mappingClass mapping class that holds the relationship - * @param fkeyForeign holding column pair information for the relationship - * @throws ModelException - */ - private void addAssocMappingRelationship(String relationName, - MappingClassElement declaringClass, ForeignKeyElement fkeyForeign) - throws ModelException { - - MappingRelationshipElement impl = - (MappingRelationshipElement) declaringClass.getField( - relationName); - - if (null == impl) { - impl = new MappingRelationshipElementImpl( - relationName, declaringClass); - declaringClass.addField(impl); - } - - // Add column pair for join table and foreign table - ColumnPairElement [] pairs = fkeyForeign.getColumnPairs(); - for (int i = 0; i < pairs.length; i++) { - ColumnPairElement pair = pairs[i]; - impl.addAssociatedColumn(pair); - } - } - - /** - * Create and add MappingRelationship with local inverse column pair - * (for join table) or inverse column pair - * (for non join table) for referenced table. - * It is for column pairs between local table and join table - * or for column pairs between local table and foreign table (contains - * foreign key) - * The column pair for mappingRelationship is inverse order - * as the column pair from foreign key. Foreign key is not in the passing - * mapping class but in the inverse mapping class - * @param relationName a String for relation name - * @param mappingClass mapping class that holds the relationship - * @param fkeyForeign holding column pair information for the relationship - * @throws ModelException - * @throws DBException - */ - private void addInverseMappingRelationship(String relationName, - MappingClassElement declaringClass, ForeignKeyElement fkey, - boolean isJoin) - throws ModelException, DBException { - - MappingRelationshipElement impl = - (MappingRelationshipElement) declaringClass.getField( - relationName); - - // for join table, need to add two MappingRelationshipElement - if (null == impl) { - impl = new MappingRelationshipElementImpl(relationName, - declaringClass); - declaringClass.addField(impl); - } - - TableElement declaringTbl = getPrimaryTable(declaringClass); - ColumnPairElement [] pairs = fkey.getColumnPairs(); - - // Column pair get inverted since adding to referenced table - for (int i = 0; i < pairs.length; i++) { - ColumnPairElement pair = pairs[i]; - ColumnPairElement inversePair = DBElementFactory.createColumnPair( - pair.getReferencedColumn(), pair.getLocalColumn(), - declaringTbl); - - if (isJoin) { - impl.addLocalColumn(inversePair); - } else { - impl.addColumn(inversePair); - } - } - } - - /** - * Create and add a relationship. - * @param srcTable Source table of the relationship. - * @param relTable Related table. - * @param relName Name of the relationship. - * @param inverseRelName Name of the inverse relationship. - * @param mappingClass Mapping information for the source table. - * @param relMappingClass Mapping information for the related table. - * @param uniqueId Id that can be appened to relName to distinguish it - * from other relNames in the database. - * @param srcIsJoin True if srcTable is a join table - * @return ForeignKeyElement representing the relationship. - */ - private ForeignKeyElement createRelationship(TableElement srcTable, - TableElement relTable, String relName, String inverseRelName, - MappingClassElement mappingClass, - MappingClassElement relMappingClass, - String uniqueId, boolean srcIsJoin) - throws DBException, ModelException { - - ForeignKeyElement fKey = DBElementFactory.createAndAttachForeignKey( - srcTable, relTable, relName, mappingPolicy, uniqueId); - - if (srcIsJoin) { - addInverseMappingRelationship(relName, mappingClass, - fKey, true); - addAssocMappingRelationship(inverseRelName, relMappingClass, fKey); - } else { - addMappingRelationship(relName, mappingClass, fKey); - addInverseMappingRelationship(inverseRelName, relMappingClass, - fKey, false); - } - return fKey; - } - - /** - * Generate relationships for schema and mapping model from - * mappingClasses which already have all mapping fields populated. - * @throws DBException - * @throws ModelExpception - */ - private void addRelationships() - throws DBException, ModelException { - if (logger.isLoggable(Logger.FINE)) { - logger.fine("add relationship"); // NOI18N - } - - Map relationFKey = new HashMap(); - - // This is a list of 1-1 relationships that are deferred for - // processing until all other relationships are processed. Deferral - // allows us to concentrate foreign keys on one side of the - // relationship. - List deferredRelationships = new ArrayList(); - - for (Iterator i = mappingClasses.values().iterator(); i.hasNext();) { - MappingClassElement mappingClass = (MappingClassElement) i.next(); - String pcClassName = mappingClass.getName(); - PersistenceClassElement pcClass = - model.getPersistenceClass(pcClassName); - validateModel(pcClass, "pcClass", pcClassName); // NOI18N - TableElement sourceTable = getPrimaryTable(mappingClass); - validateModel(sourceTable, "sourceTable", pcClassName); // NOI18N - - // Create a string that can keep names unique - String uniqueId = getShortClassName(pcClassName); - int want = 8; // Ideally, take this many chars from end - int end = uniqueId.length(); - int start = want > end ? 0 : end - want; - uniqueId = uniqueId.substring(start, end); - - RelationshipElement [] rels = pcClass.getRelationships(); - if (rels != null) { - for (int j = 0; j < rels.length; j++) { - - // relationship - RelationshipElement relation = rels[j]; - String relationName = relation.getName(); - int upperBound = relation.getUpperBound(); - - // inverseRelationship - String inverseRelName = - relation.getInverseRelationshipName(); - validateModel(inverseRelName, - "inverseRelName", relationName); // NOI18N - String relClassName = model.getRelatedClass(relation); - validateModel(relClassName, - "relClassName", relationName); // NOI18N - - // get related MappingClass and PersistenceClass - MappingClassElement relMappingClass = - (MappingClassElement) mappingClasses.get(relClassName); - validateModel(relMappingClass, - "relMappingClass", relClassName); // NOI18N - PersistenceClassElement relClass = - model.getPersistenceClass(relClassName); - validateModel(relClass, - "relClass", relClassName); // NOI18N - RelationshipElement inverseRelation = - relClass.getRelationship(inverseRelName); - validateModel(inverseRelation, - "inverseRelation", inverseRelName); // NOI18N - TableElement relTable = getPrimaryTable(relMappingClass); - validateModel(relTable, - "relTable", relClassName); // NOI18N - int relUpperBound = inverseRelation.getUpperBound(); - - if (logger.isLoggable(Logger.FINE)) { - logger.fine( - "Before adding relationship:" // NOI18N - + getTblInfo("sourceTable", sourceTable, relationName) // NOI18N - + getTblInfo("relTable", relTable, inverseRelName)); // NOI18N - } - - // XXX Suggest making each block below a separate method. - - if ((upperBound > 1) && (relUpperBound > 1)) { - // M-N relationship, create new table - if (logger.isLoggable(Logger.FINE)) { - logger.fine("M-N relationship"); // NOI18N - } - - ForeignKeyElement fKey = getMappedForeignKey( - relation, inverseRelation, relationFKey); - if (fKey == null) { - TableElement joinTable = - DBElementFactory.createAndAttachTable( - schema, - mappingPolicy.getJoinTableName( - sourceTable.getName().getName(), - relTable.getName().getName())); - fKey = createRelationship( - joinTable, sourceTable, relationName, - inverseRelName, mappingClass, - relMappingClass, uniqueId, true); - relationFKey.put(relation, fKey); - ForeignKeyElement fKey2 = createRelationship( - joinTable, relTable, inverseRelName, - relationName, relMappingClass, - mappingClass, uniqueId, true); - relationFKey.put(inverseRelation, fKey2); - } - - } else if ((upperBound > 1) && (relUpperBound == 1)) { - // M-1 relationship, add foreign key at upper bound - // equal 1 side. So here, we do nothing: We add - // relationships at the 1 side for 1-M relationships, - // and the current mapping class is the many side. - - if (logger.isLoggable(Logger.FINE)) { - logger.fine("M-1 relationship: skip"); // NOI18N - } - - } else if ((upperBound == 1) && (relUpperBound >1)) { - // 1-M relationship, add foreign key at upperBound = - // 1 side - - if (logger.isLoggable(Logger.FINE)) { - logger.fine("1-M relationship"); // NOI18N - } - - ForeignKeyElement fKey = getMappedForeignKey(relation, - inverseRelation, relationFKey); - if (fKey == null) { - fKey = createRelationship(sourceTable, relTable, - relationName, inverseRelName, mappingClass, - relMappingClass, uniqueId, false); - relationFKey.put(relation, fKey); - } - - } else if ((upperBound == 1) && (relUpperBound == 1)) { - // 1-1 relationship, add foreign key at either side. - // Check existence of foreign key at the other side - // before adding one to here. If there is cascade - // delete in this side, add FK. Otherwise, defer - // adding it until all other relationships are added. - - ForeignKeyElement fKey = getMappedForeignKey(relation, - inverseRelation, relationFKey); - if (fKey == null) { - if (relation.getDeleteAction() == - RelationshipElement.CASCADE_ACTION) { - if (logger.isLoggable(Logger.FINE)) { - logger.fine("1-1 relationship: cascade(this)"); // NOI18N - } - fKey = createRelationship( - sourceTable, relTable, relationName, - inverseRelName, mappingClass, - relMappingClass, uniqueId, false); - relationFKey.put(relation, fKey); - } else if (inverseRelation.getDeleteAction() == - RelationshipElement.CASCADE_ACTION) { - if (logger.isLoggable(Logger.FINE)) { - logger.fine("1-1 relationship: cascade(inverse)"); // NOI18N - } - fKey = createRelationship( - relTable, sourceTable, - inverseRelName, relationName, - relMappingClass, mappingClass, - uniqueId, false); - relationFKey.put(inverseRelation, fKey); - } else { - if (logger.isLoggable(Logger.FINE)) { - logger.fine("1-1 relationship: defer"); // NOI18N - } - deferredRelationships.add( - new DeferredRelationship( - relation, inverseRelation, - sourceTable, relTable, - relationName, inverseRelName, - mappingClass, relMappingClass, - uniqueId)); - } - } - } - if (logger.isLoggable(Logger.FINE)) { - logger.fine( - "After adding relationship:" // NOI18N - + getTblInfo("sourceTable", sourceTable, relationName) // NOI18N - + getTblInfo("relTable", relTable, inverseRelName)); // NOI18N - } - } - } - } - - if (deferredRelationships.size() > 0) { - addDeferredRelationships(deferredRelationships, relationFKey); - } - } - - /** - * Generate foreign keys for relationships that were deferred; see {@link - * addRelationships}. - * @param deferredRelationships List of 1-1 relationships which are not - * yet mapped by foreign keys - * @param relationFKey Map from RelationshipElement to ForeignKeyElement, - * indicating which relationships have already been mapped. - */ - private void addDeferredRelationships( - List deferredRelationships, Map relationFKey) - throws DBException, ModelException { - - for (Iterator i = deferredRelationships.iterator(); i.hasNext();) { - DeferredRelationship dr = (DeferredRelationship)i.next(); - - RelationshipElement relation = dr.getRelation(); - RelationshipElement inverseRelation = dr.getInverseRelation(); - - ForeignKeyElement fKey = - getMappedForeignKey(relation, inverseRelation, relationFKey); - - // Only map if not already mapped - if (fKey == null) { - - TableElement sourceTable = dr.getSourceTable(); - TableElement relTable = dr.getRelTable(); - - String relationName = dr.getRelationName(); - String inverseRelName = dr.getInverseRelName(); - - MappingClassElement mappingClass = dr.getMappingClass(); - MappingClassElement relMappingClass = dr.getRelMappingClass(); - - String uniqueId = dr.getUniqueId(); - - // If this side already has any foreign keys, map it on this - // side, else on the other side. - ForeignKeyElement keys[] = sourceTable.getForeignKeys(); - if (null != keys && keys.length > 0) { - fKey = createRelationship( - sourceTable, relTable, - relationName, inverseRelName, - mappingClass, relMappingClass, - uniqueId, false); - if (logger.isLoggable(Logger.FINE)) { - logger.fine( - "1-1 deferred relationship (this)" // NOI18N - + getTblInfo("sourceTable", sourceTable, relationName) // NOI18N - + getTblInfo("relTable", relTable, inverseRelName)); // NOI18N - } - } else { - fKey = createRelationship( - relTable, sourceTable, - inverseRelName, relationName, - relMappingClass, mappingClass, - uniqueId, false); - if (logger.isLoggable(Logger.FINE)) { - logger.fine( - "1-1 deferred relationship (inverse)" // NOI18N - + getTblInfo("sourceTable", sourceTable, relationName) // NOI18N - + getTblInfo("relTable", relTable, inverseRelName)); // NOI18N - } - } - relationFKey.put(relation, fKey); - } - } - } - - - /** - * A DeferredRelationship instance represents all the information required - * to create a foreign key from the relationship. - */ - static class DeferredRelationship { - private final RelationshipElement relation; - private final RelationshipElement inverseRelation; - private final TableElement sourceTable; - private final TableElement relTable; - private final String relationName; - private final String inverseRelName; - private final MappingClassElement mappingClass; - private final MappingClassElement relMappingClass; - private final String uniqueId; - - - DeferredRelationship(RelationshipElement relation, - RelationshipElement inverseRelation, - TableElement sourceTable, - TableElement relTable, - String relationName, - String inverseRelName, - MappingClassElement mappingClass, - MappingClassElement relMappingClass, - String uniqueId) { - - this.relation = relation; - this.inverseRelation = inverseRelation; - this.sourceTable = sourceTable; - this.relTable = relTable; - this.relationName = relationName; - this.inverseRelName = inverseRelName; - this.mappingClass = mappingClass; - this.relMappingClass = relMappingClass; - this.uniqueId = uniqueId; - } - - RelationshipElement getRelation() { return relation; } - RelationshipElement getInverseRelation() { return inverseRelation; } - - TableElement getSourceTable() { return sourceTable; } - TableElement getRelTable() { return relTable; } - - String getRelationName() { return relationName; } - String getInverseRelName() { return inverseRelName; } - - MappingClassElement getMappingClass() { return mappingClass; } - MappingClassElement getRelMappingClass() { return relMappingClass; } - - String getUniqueId() { return uniqueId; } - } - - - - /** - * Check if the relationship has been visited - * @param relation current visiting relationship - * @param inverseRelation inverse relationship - * @param relationFKey a map to hold relation and foreign key - * @return the foreign key element or null - */ - private ForeignKeyElement getMappedForeignKey( - RelationshipElement relation, RelationshipElement inverseRelation, - Map relationFKey) { - - ForeignKeyElement fkey = - (ForeignKeyElement) relationFKey.get(relation); - - if (fkey == null) { - return (ForeignKeyElement) relationFKey.get(inverseRelation); - } else { - return fkey; - } - } - - /** - * Computes the class name (without package) for the supplied - * class name and trims off the class suffix. - * @param className the fully qualified name of the class - * @return the class name (without package and class suffix) - * for the supplied class name - */ - private String getShortClassName(String className) { - String shortName = JavaTypeHelper.getShortClassName(className); - - if ((classSuffix != null) && (!shortName.equals(classSuffix))) { - int index = shortName.lastIndexOf(classSuffix); - if (index != -1) { - shortName = shortName.substring(0, index); - } - } - return shortName; - } - - /** - * Assert that the given object reference is not null. - * @param o Object reference that is checked for null. - * @param failedItem String that names the item that is being checked. - * @param accessor String which names an object that was use to try and - * get object o. - * @throws ModelException If o is null. - */ - private void validateModel(Object o, - String failedItem, - String accessor) throws ModelException { - if (null == o) { - String msg = I18NHelper.getMessage( - messages, - "EXC_InvalidRelationshipMapping", // NOI18N - failedItem, - accessor); - logger.log(Logger.SEVERE, msg); - throw new ModelException(msg); - } - } - - /** - * Debug support. Returns a string describing the table and it's keys - * (only the first key is listed). - * @param tblName name of the table described - * @param tbl table being described - * @param relName name of a relationship - */ - private static String getTblInfo(String tblName, TableElement tbl, String relName) { - int numFK = tbl.getForeignKeys().length; - ForeignKeyElement fk = null; - if (numFK > 0) { - fk = tbl.getForeignKeys()[0]; - } - return " " + tblName + "=" + tbl.toString() - + ", # keys=" + numFK // NOI18N - + ", 1st key=" + fk // NOI18N - + "; relationship Name=" + relName; // NOI18N - } -} diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseOutputStream.java b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseOutputStream.java deleted file mode 100644 index d0291cf3e3b..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/DatabaseOutputStream.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - * - * Portions Copyright [2018] [Payara Foundation and/or its affiliates] - * - */ -package com.sun.jdo.spi.persistence.generator.database; - -import java.io.*; -import java.sql.*; -import java.util.ResourceBundle; -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; - -/* - * Represents a database connection as an output stream. - * - * @author Jie Leng - */ -public class DatabaseOutputStream extends OutputStream { - /** The logger */ - private static final Logger logger = - LogHelperDatabaseGenerator.getLogger(); - - /** Connection to the database. */ - // XXX FIXME S/b final; make it so if we can get rid of setConnection. - private Connection conn_ = null; - - // XXX FIXME Assert conn != null and directly set the value of conn; - // remove setConnection (below) - public DatabaseOutputStream(Connection conn) { - super(); - setConnection(conn); - } - - // XXX FIXME I think this is not needed. - public DatabaseOutputStream() { - super(); - } - - /** - * Closes the database connection. - */ - public void close() { - try { - // XXX test is not necessary once we assert not null in constructor - if (conn_ != null) { - conn_.commit(); - // Close the connection - conn_.close(); - } - - } catch (SQLException e) { - if (logger.isLoggable(Logger.FINE)) - logger.fine("Exception in cleanup", e); // NOI18N - } - } - - /** - * Commits the database connection. - */ - public void flush() { - try { - // XXX test is not necessary once we assert not null in constructor - if (conn_ != null) { - conn_.commit(); - } - } catch (SQLException e) { - if (logger.isLoggable(Logger.FINE)) - logger.fine("Exception in cleanup", e); // NOI18N - } - } - - /** - * This method is not supported in DatabaseOutputStream because it - * doesn't make sense to write a single int to a database stream. So - * always throws UnsupportedOperationException. - * @throws UnsupportedOperationException - */ - public void write(int b) { - throw new UnsupportedOperationException(); - } - - /** - * Executes the given statement in the database. - * @param stmt SQL to be executed - * @throws SQLException Thrown if there is a problem preparing stmt as a - * statement, or in executing it. - */ - public void write(String stmt) throws SQLException { - // Check if stmt is empty (null), and abort if so. - if (stmt == null || stmt.trim().length() == 0) { - return; - } - - try (PreparedStatement pstmt = conn_.prepareStatement(stmt)) { - pstmt.execute(); - } - } - - // XXX FIXME Is this really necessary? Delete if possible. - public void setConnection(Connection conn) { - conn_ = conn; - } -} diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/INFORMIX.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/INFORMIX.properties deleted file mode 100644 index f492eedf94a..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/INFORMIX.properties +++ /dev/null @@ -1,133 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# maximum length for table name, column name and constraint name -table-name.maximum-length=18 -column-name.maximum-length=18 -constraint-name.maximum-length=18 - -# -# Mappings between jdbc and sql92. Note that BLOB and CLOB are not part of -# the SQL92 spec, but we provide support since most databases allow them. -# -BIGINT=NUMERIC(32,0) -BLOB=BYTE -BIT=BOOLEAN -CLOB=TEXT -DOUBLE=FLOAT(32) -FLOAT=FLOAT(16) -SMALLINT=INT8 -TIMESTAMP=DATE -TINYINT=INT8 - -# -# Mappings between java type to jdbc type -# -java.lang.String.jdbc-maximum-length = 255 - -# -# Properties to indicate how to format SQL -# - -# Text used to indicate that a column is nullable -# (Yes, it is supposed to be the empty string) -columnNullability.sql-format= - -# Primary and Foreign key -# {0} - constraint name -# {1} - column name (comma separated, if more than one column name) -# {2} - reference table name -# {3} - reference column name (comma separated, if more than one column name) -# Constraint syntax must be different between CREATE- and ALTER TABLE -# For ALTER TABLE: -# primaryKeyConstraint.sql-format=CONSTRAINT {0} PRIMARY KEY ({1}) -# foreignKeyConstraint.sql-format=CONSTRAINT {0} FOREIGN KEY ({1}) REFERENCES {2} ({3}) -# For CREATE TABLE: -primaryKeyConstraint.sql-format=PRIMARY KEY ({1}) -foreignKeyConstraint.sql-format=FOREIGN KEY ({1}) REFERENCES {2} ({3}) - -# Reserved words -reserved-words=ACCESS, ACCESS_METHOD, ACTIVE, AFTER, AGGREGATE, ALIGNMENT, - ALL_ROWS, ANSI, APPEND, ATTACH, AUDIT, AUTO, AUTOFREE, AVOID_EXECUTE, - AVOID_SUBQF, BEFORE, BINARY, BOOLEAN, BUFFERED, BUILTIN, BYTE, - CACHE, CALL, CANNOTHASH, CARDINALITY, CLASS, CLIENT, CLUSTER, - CLUSTERSIZE, COARSE, COBOL, CODESET, COLLECTION, COMMITTED, - COMMUTATOR, CONCURRENT, CONST, CONSTRUCTOR, COPY, COSTFUNC, CRCOLS, - CURRENT_ROLE, CYCLE, DATABASE, DATAFILES, DATASKIP, DATETIME, DBA, - DBDATE, DBPASSWORD, DBSERVERNAME, DEBUG, DECODE, DEC_T, DEFAULT_ROLE, - DEFERRED_PREPARE, DEFINE, DELAY, DELIMITER, DELUXE, DEREF, DETACH, - DIRECTIVES, DIRTY, DISABLED, DISTRIBUTEBINARY, DISTRIBUTESREFERENCES, - DISTRIBUTIONS, DOCUMENT, DONOTDISTRIBUTE, DORMANT, DTIME_T, EACH, - ELIF, ENABLED, ENCRYPTION, ENUM, ENVIRONMENT, ERROR, EXCLUSIVE, - EXECUTEANYWHERE, EXIT, EXPLAIN, EXPLICIT, EXPRESS, EXPRESSION, EXTEND, - EXTENT, FAR, FILE, FILLFACTOR, FILTERING, FIRST_ROWS, FIXCHAR, FIXED, - FLUSH, FOREACH, FORMAT, FORTRAN, FRACTION, FRAGMENT, FREE, FUNCTION, - GENERAL, GK, HANDLESNULLS, HASH, HIGH, HINT, HOLD, HYBRID, IF, - IFX_INT8_T, IFX_LO_CREATE_SPEC_T, IFX_LO_STAT_T, IMPLICIT, INACTIVE, - INCREMENT, INDEX, INDEXES, INFORMIX, INIT, INITCAP, INLINE, INOUT, - INSTEAD, INT8, INTEG, INTERNAL, INTERNALLENGTH, INTRVL_T, - ISCANONICAL, ITEM, ITERATOR, KEEP, LABELEQ, LABELGE, LABELGLB, - LABELGT, LABELLE, LABELLT, LABELLUB, LABELTOSTRING, LET, LIMIT, LIST, - LISTING, LOAD, LOCATOR, LOCK, LOCKS, LOC_T, LOG, LONG, LOW, LVARCHAR, - MATCHES, MAXERRORS, MAXLEN, MAXVALUE, MDY, MEDIAN, MEDIUM, - MEMORY_RESIDENT, MIDDLE, MINVALUE, MODE, MODERATE, MODIFY, MONEY, - MOUNTING, MULTISET, NAME, NEGATOR, NEW, NOCACHE, NOCYCLE, NOMAXVALUE, - NOMIGRATE, NOMINVALUE, NONE, NON_RESIDENT, NOORDER, NORMAL, - NOTEMPLATEARG, NVARCHAR, NVL, OCTET_LENGTH, OFF, OLD, ONLINE, OPAQUE, - OPCLASS, OPERATIONAL, OPTCOMPIND, OPTICAL, OPTIMIZATION, OUT, PAGE, - PARALLELIZABLE, PARAMETER, PARTITION, PASCAL, PASSEDBYVALUE, PASSWORD, - PDQPRIORITY, PERCALL_COST, PLI, PLOAD, PREVIOUS, PRIVATE, PUT, - RAISE, RANGE, RAW, RECORDEND, REF, REFERENCING, REGISTER, REJECTFILE, - RELEASE, REMAINDER, RENAME, REOPTIMIZATION, REPEATABLE, REPLICATION, - RESERVE, RESOLUTION, RESOURCE, RESTART, RESUME, RETAIN, RETURN, - RETURNING, RETURNS, REUSE, ROBIN, ROLE, ROLLFORWARD, ROUND, ROUTINE, - ROW, ROWID, ROWIDS, SAMEAS, SAMPLES, SAVE, SCHEDULE, SCRATCH, - SECONDARY, SELCONST, SELFUNC, SEQUENCE, SERIAL, SERIAL8, SERIALIZABLE, - SERVERUUID, SHARE, SHORT, SIGNED, SITENAME, SKALL, SKINHIBIT, SKIP, - SKSHOW, SMALLFLOAT, SPECIFIC, SQLCONTEXT, SQLWARNING, STABILITY, STACK, - STANDARD, START, STATIC, STATISTICS, STDEV, STEP, STOP, STORAGE, - STRATEGIES, STRING, STRINGTOLABEL, STRUCT, STYLE, SUBSTR, SUPPORT, - SYNC, SYNONYM, SYSTEM, TEMP, TEMPLATE, TEST, TEXT, TIMEOUT, TODAY, - TRACE, TRIGGER, TRIGGERS, TRUNCATE, TYPE, TYPEDEF, TYPEID, TYPENAME, - TYPEOF, UNCOMMITTED, UNDER, UNITS, UNLOAD, UNLOCK, UNSIGNED, - USE_SUBQF, VAR, VARIABLE, VARIANCE, VARIANT, VIOLATIONS, VOID, - VOLATILE, WAIT, WARNING, WHILE, WITHOUT, XADATASOURCE, XID, XLOAD, - XUNLOAD - diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/JDBCInfo.java b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/JDBCInfo.java deleted file mode 100644 index e4608042cef..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/JDBCInfo.java +++ /dev/null @@ -1,378 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -package com.sun.jdo.spi.persistence.generator.database; - - -import org.glassfish.common.util.StringHelper; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; - -/** - * Represents how a JDBC type (i.e., one defined by java.sql.Types) is - * created in the database. - */ -class JDBCInfo { - - // - // These constants are used to locate properties indicating values for - // the fields in instances of JDBCInfo. - // - // - - /** Indicator that property designates the type of a mapped SQL type. */ - private static final String INDICATOR_TYPE = - DatabaseGenerationConstants.INDICATOR_JDBC_TYPE; - - /** Indicator that property designates nullability of mapped SQL type. */ - private static final String INDICATOR_NULLABLE = - DatabaseGenerationConstants.INDICATOR_JDBC_NULLABLE; - - /** Indicator that property designates the precision of mapped SQL type. */ - private static final String INDICATOR_PRECISION = - DatabaseGenerationConstants.INDICATOR_JDBC_PRECISION; - - /** Indicator that property designates the scale of mapped SQL type. */ - private static final String INDICATOR_SCALE = - DatabaseGenerationConstants.INDICATOR_JDBC_SCALE; - - /** Indicator that property designates length of a mapped SQL type. */ - private static final String INDICATOR_LENGTH = - DatabaseGenerationConstants.INDICATOR_JDBC_LENGTH; - - /** Indicator that a type does not have a length associated with it. */ - private static final String NO_LENGTH_INDICATOR = "null"; - - /** Flag value which indicates that a JDBCInfo does not have a length. */ - private static final Integer NO_LENGTH = new Integer(-1); - - /** Logger for warning & error messages */ - private static final Logger logger = - LogHelperDatabaseGenerator.getLogger(); - - /** Value from java.sql.Types. */ - private int jdbcType; - - /** True iff a column of this type is nullable; default is false. */ - private boolean nullable = false; - - /** Indicates precision of a fixed-point number column; default is null. */ - private Integer precision = null; - - /** Indicates scale of a fixed-point number column; default is null. */ - private Integer scale = null; - - /** Indicates length of a char, etc. column; default is null. */ - private Integer length = null; - - - // - // Allow determining if which fields have been assigned values. - // - - /** Indicates which fields in this instance have been set. */ - private byte fieldsWithValues = 0; - - /** Mask to indicate whether or not {@link #jdbcType} has a value. */ - private static final byte MASK_JDBC_TYPE = 1 << 0; - - /** Mask to indicate whether or not {@link #nullable} has a value. */ - private static final byte MASK_NULLABLE = 1 << 1; - - /** Mask to indicate whether or not {@link #precision} has a value. */ - private static final byte MASK_PRECISION = 1 << 2; - - /** Mask to indicate whether or not {@link #scale} has a value. */ - private static final byte MASK_SCALE = 1 << 3; - - /** Mask to indicate whether or not {@link #length} has a value. */ - private static final byte MASK_LENGTH = 1 << 4; - - /** Mask to access all field flags at once. */ - private static final byte MASK_ALL = MASK_JDBC_TYPE | MASK_NULLABLE - | MASK_PRECISION | MASK_SCALE | MASK_LENGTH; - - - /** - * Constructor which initializes all fields. - * @param jdbcType See {@link jdbcType}. - * @param precision See {@link precision}. - * @param scale See {@link scale}. - * @param length See {@link length}. - * @param nullable See {@link nullable}. - */ - JDBCInfo(int jdbcType, Integer precision, Integer scale, - Integer length, boolean nullable) { - - this.jdbcType = jdbcType; - this.precision = precision; - this.scale = scale; - this.length = length; - this.nullable = nullable; - - fieldsWithValues = MASK_ALL; - } - - /** - * Use this constructor in conjunction with multiple setValue to - * initialize an instance. - */ - JDBCInfo() { } - - - /** - * Sets the value of one field of this JDBCInfo. - * @param indicator Determines which field is set. - * @param value String form of the new value of a field. Must not be - * null. Empty String means to reset the field value to its default, - * except for jdbcType: That field has no default, so given an empty - * String the value of jdbcType is unchanged. - * @throws IllegalJDBCTypeException if indicator shows that - * we are setting a JDBC Type and value is not - * recognized as being a valid member of java.sql.Types. - */ - void setValue(String value, String indicator) - throws IllegalJDBCTypeException { - - if (indicator.equals(INDICATOR_TYPE)) { - if (!StringHelper.isEmpty(value)) { - Integer type = MappingPolicy.getJdbcType(value); - if (null == type) { - throw new IllegalJDBCTypeException(); - } - this.jdbcType = type.intValue(); - this.fieldsWithValues |= MASK_JDBC_TYPE; - } - - } else if (indicator.equals(INDICATOR_NULLABLE)) { - if (StringHelper.isEmpty(value)) { - this.nullable = false; // default - } else { - this.nullable = Boolean.valueOf(value).booleanValue(); - } - this.fieldsWithValues |= MASK_NULLABLE; - - } else if (indicator.equals(INDICATOR_PRECISION)) { - this.precision = getIntegerValue(value); - this.fieldsWithValues |= MASK_PRECISION; - - } else if (indicator.equals(INDICATOR_SCALE)) { - this.scale = getIntegerValue(value); - this.fieldsWithValues |= MASK_SCALE; - - } else if (indicator.equals(INDICATOR_LENGTH)) { - if (value.trim().equals(NO_LENGTH_INDICATOR)) { - this.length = NO_LENGTH; - } else { - this.length = getIntegerValue(value); - } - this.fieldsWithValues |= MASK_LENGTH; - } - } - - /** - * @param s String whose Integer value is sought. - * @return the value of s as an Integer, or null if s is empty. - */ - private Integer getIntegerValue(String s) { - Integer rc = null; - if (!StringHelper.isEmpty(s)) { - rc = new Integer(s); - } - return rc; - } - - // - // A note about "completeness". - // JDBCInfo instances are created one of 2 ways: By loading a .properties - // file for a database, or by a user override. In the first case, the - // JDBCInfo will have values for all relevant fields, because that is the - // way we have created the .properties files. ("relevant" here means - // that, e.g., a length value will be present if required for a field - // type for which length is relevant such as VARCHAR.) - // - // In the second case, a user override might provide only one overriden - // value, let's say length. So for a particular field name, we may know - // only that it should have a length; of course we need more. So before - // allowing access to a JDBCInfo that was created for a field, complete() - // it with a JDBCInfo that was created for that field's type. - // - // See MappingPolicy.JDBCInfo(). - // - - - /** - * Fill in values for fields based on values in another JDBCInfo - * instance. Only those fields for which this instance does not already - * have a value are changed. - * @param other Another instance of JDBCInfo that has values which are - * used to set as-yet-unset values in this instance. - */ - // XXX For precision and scale, this is not entirely correct. - // We should check if this. is set. If so, it must not be greater - // than other.. In other words, the other instance's value - // overrules the value in this instance, because the other value was - // provided in the dbvendor-specific .properties file, which users must - // not override. If this instance (i.e., the user override's instance) - // specifies an invalid override, we should log a warning, warn the user, - // and use the other.. - void complete(JDBCInfo other) { - if (logger.isLoggable(Logger.FINEST)) { - logger.finest("Entering JDBCInfo.complete: " // NOI18N - + "\nthis: " + this // NOI18N - + "\nother: " + other); // NOI18N - } - if (MASK_ALL != fieldsWithValues) { - if ((fieldsWithValues & MASK_JDBC_TYPE) == 0) { - this.jdbcType = other.jdbcType; - } - - if ((fieldsWithValues & MASK_NULLABLE) == 0) { - this.nullable = other.nullable; - } - - if ((fieldsWithValues & MASK_PRECISION) == 0) { - this.precision = other.precision; - } - - if ((fieldsWithValues & MASK_SCALE) == 0) { - this.scale = other.scale; - } - - if ((fieldsWithValues & MASK_LENGTH) == 0 - || (NO_LENGTH.equals(other.length)) - || (other.length.intValue() < this.length.intValue())) { - this.length = other.length; - } - - fieldsWithValues = MASK_ALL; - } - if (logger.isLoggable(Logger.FINEST)) { - logger.finest("Leaving JDBCInfo.complete: " // NOI18N - + "\nthis: " + this); // NOI18N - } - } - - /** - * @return true if this instance has been assigned values - * for all fields. - */ - boolean isComplete() { - return fieldsWithValues == MASK_ALL; - } - - /** - * Update this JDBCInfo with information from the other JDBCInfo. - * @param other The JDBCInfo with values that will overwrite values in - * this JDBCInfo. - */ - void override(JDBCInfo other) { - if (null != other) { - this.jdbcType = other.jdbcType; - } - } - - /** - * @return true iff this instance has a value for jdbcType - */ - public boolean hasJdbcType() { - return (fieldsWithValues & MASK_JDBC_TYPE) == 1; - } - - /** - * @return The JDBC corresponding to this JDBCInfo. See - * {@link java.sql.Types}. - */ - public int getJdbcType() { - return jdbcType; - } - - /** - * @return true of columns based on this JDBCInfo should be - * nullable. - */ - public boolean getNullable() { - return nullable; - } - - /** - * @return The precision of of columns based on this JDBCInfo. - */ - public Integer getPrecision() { - return precision; - } - - /** - * @return The scale of of columns based on this JDBCInfo. - */ - public Integer getScale() { - return scale; - } - - /** - * @return The length of of columns based on this JDBCInfo, or null if - * this JDBCInfo does not need a length (e.g. CLOB on Oracle). - */ - public Integer getLength() { - return NO_LENGTH.equals(length) ? null : length; - } - - /** - * Debugging support. - * @return A String with the value of each field. - */ - public String toString() { - return "JDBCInfo:" // NOI18N - + " jdbcType=" + jdbcType // NOI18N - + " nullable=" + nullable // NOI18N - + " precision=" + precision // NOI18N - + " scale=" + scale // NOI18N - + " length=" + length // NOI18N - + " fieldsWithValues=0x" + Integer.toHexString(fieldsWithValues); // NOI18N - } - - /** - * Used to indicate that a given JDBC Type name is not recognized. - */ - static class IllegalJDBCTypeException extends Exception { - IllegalJDBCTypeException() { } - } -} diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/LogHelperDatabaseGenerator.java b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/LogHelperDatabaseGenerator.java deleted file mode 100644 index decfb4761fd..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/LogHelperDatabaseGenerator.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * LogHelperDBGenerator.java - * - * Created on Jan 14, 2003 - */ - - -package com.sun.jdo.spi.persistence.generator.database; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Jie Leng - */ -class LogHelperDatabaseGenerator { - - /** The component name for this component */ - private static final String componentName = "databaseGenerator"; // NOI18N - - /** The class loader for this component */ - private static final ClassLoader loader = - LogHelperDatabaseGenerator.class.getClassLoader(); - - /** The bundle name for this component */ - private static final String bundleName = - "com.sun.jdo.spi.persistence.generator.database.Bundle"; // NOI18N - - /** - * @return The logger for the database generator component. - */ - static Logger getLogger() { - return LogHelper.getLogger(componentName, bundleName, loader); - } -} diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MSSQL.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MSSQL.properties deleted file mode 100644 index 67d43564f31..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MSSQL.properties +++ /dev/null @@ -1,74 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -#maximum length for table name, column name and constraint name -table-name.maximum-length=128 -column-name.maximum-length=128 -constraint-name.maximum-length=128 - -#mapping between jdbc and mssql -TINYINT=TINYINT -DOUBLE=FLOAT -BIGINT=NUMERIC -BLOB=IMAGE -TIMESTAMP=DATETIME -DATE=DATETIME -TIME=DATETIME -CLOB=NTEXT - -# MSSQL's default of 18 digits is not enough to store a long. -long.jdbc-precision = 19 -java.lang.Long.jdbc-precision = 19 - -# create table and drop table definition -statementSeparator.sql-format=go - -# Reserved words -reserved-words=BACKUP, BREAK, BROWSE, BULK, CHECKPOINT, CLUSTERED, COMPUTE, \ - CONTAINS, CONTAINSTABLE, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, \ - CURRENT_USER, DATABASE, DBCC, DENY, DISK, DISTRIBUTED, DUMMY, \ - DUMP, ERRLVL, EXIT, FILE, FILLFACTOR, FREETEXT, FREETEXTTABLE, \ - FUNCTION, HOLDLOCK, IDENTITYCOL, IDENTITY_INSERT, IF, INDEX, \ - KILL, LINENO, LOAD, NOCHECK, NONCLUSTERED, OFF, OFFSETS, OPENDATASOURCE, \ - OPENQUERY, OPENROWSET, OPENXML, OVER, PERCENT, PLAN, PRINT, PROC, \ - RAISERROR, READTEXT, RECONFIGURE, REPLICATION, RESTORE, RETURN, \ - ROWCOUNT, ROWGUIDCOL, RULE, SAVE, SESSION_USER, SETUSER, SHUTDOWN, \ - STATISTICS, SYSTEM_USER, TEXTSIZE, TOP, TRAN, TRIGGER, TRUNCATE, \ - TSEQUAL, UPDATETEXT, USE, WAITFOR, WHILE, WRITETEXT diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MYSQL.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MYSQL.properties deleted file mode 100644 index e3001ff55f7..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MYSQL.properties +++ /dev/null @@ -1,84 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -#mapping between jdbc and mysql -TINYINT=TINYINT -BIGINT=BIGINT -CLOB=TEXT -REAL=FLOAT -BIT=TINYINT(1) -BOOLEAN=TINYINT(1) -TIMESTAMP=DATETIME -DATE=DATETIME -TIME=DATETIME - -createTableEnd.sql-format=) ENGINE=InnoDB -alterTableDropConstraint.sql-format=ALTER TABLE {0} DROP FOREIGN KEY {1} - -# Reserved words -reserved-words=ADD, ALL, ALTER, ANALYZE, AND, AS, ASC, ASENSITIVE, BEFORE, \ - BETWEEN, BIGINT, BINARY, BOOL, BOOLEAN, BLOB, BOTH, BY, CALL, CASCADE, \ - CASE, CHANGE, CHAR, CHARACTER, CHECK, COLLATE, COLUMN, CONDITION, \ - CONNECTION, CONSTRAINT, CONTINUE, CONVERT, CREATE, CROSS, CURRENT_DATE, \ - CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER, CURSOR, DATABASE, \ - DATABASES, DAY_HOUR, DAY_MICROSECOND, DAY_MINUTE, DAY_SECOND, DEC, \ - DECIMAL, DECLARE, DEFAULT, DELAYED, DELETE, DESC, DESCRIBE, \ - DETERMINISTIC, DISTINCT, DISTINCTROW, DIV, DOUBLE, DROP, DUAL, EACH, \ - ELSE, ELSEIF, ENCLOSED, ESCAPED, EXISTS, EXIT, EXPLAIN, FALSE, FETCH, \ - FIXED, FLOAT, FLOAT4, FLOAT8, FOR, FORCE, FOREIGN, FROM, FULLTEXT, GOTO, \ - GRANT, GROUP, HAVING, HIGH_PRIORITY, HOUR_MICROSECOND, HOUR_MINUTE, \ - HOUR_SECOND, IF, IGNORE, IN, INDEX, INFILE, INNER, INOUT, INSENSITIVE, \ - INSERT, INT, INT1, INT2, INT3, INT4, INT8, INTEGER, INTERVAL, INTO, IS, \ - ITERATE, JOIN, KEY, KEYS, KILL, LABEL, LEADING, LEAVE, LEFT, LIKE, \ - LIMIT, LINES, LOAD, LOCALTIME, LOCALTIMESTAMP, LOCK, LONG, LONGBLOB, \ - LONGTEXT, LOOP, LOW_PRIORITY, MATCH, MEDIUMBLOB, MEDIUMINT, MEDIUMTEXT, \ - MIDDLEINT, MINUTE_MICROSECOND, MINUTE_SECOND, MOD, MODIFIES, NATURAL, \ - NOT, NO_WRITE_TO_BINLOG, NULL, NUMERIC, ON, OPTIMIZE, OPTION, \ - OPTIONALLY, OR, ORDER, OUT, OUTER, OUTFILE, PRECISION, PRIMARY, \ - PROCEDURE, PURGE, READ, READS, REAL, REFERENCES, REGEXP, RELEASE, \ - RENAME, REPEAT, REPLACE, REQUIRE, RESTRICT, RETURN, REVOKE, RIGHT, \ - RLIKE, SCHEMA, SCHEMAS, SECOND_MICROSECOND, SELECT, SENSITIVE, \ - SEPARATOR, SET, SHOW, SMALLINT, SONAME, SPATIAL, SPECIFIC, SQL, \ - SQLEXCEPTION, SQLSTATE, SQLWARNING, SQL_BIG_RESULT, SQL_CALC_FOUND_ROWS, \ - SQL_SMALL_RESULT, SSL, STARTING, STRAIGHT_JOIN, TABLE, TERMINATED, THEN, \ - TINYBLOB, TINYINT, TINYTEXT, TO, TRAILING, TRIGGER, TRUE, UNDO, UNION, \ - UNIQUE, UNLOCK, UNSIGNED, UPDATE, USAGE, USE, USING, UTC_DATE, UTC_TIME, \ - UTC_TIMESTAMP, VALUES, VARBINARY, VARCHAR, VARCHARACTER, VARYING, WHEN, \ - WHERE, WHILE, WITH, WRITE, XOR, YEAR_MONTH, ZEROFILL diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MappingPolicy.java b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MappingPolicy.java deleted file mode 100644 index 105976b4416..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/MappingPolicy.java +++ /dev/null @@ -1,1578 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2016 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2024] Payara Foundation and/or affiliates - -/* - * MappingPolicy.java - * - * Created on Jan 14, 2003 - */ - -package com.sun.jdo.spi.persistence.generator.database; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import java.io.BufferedInputStream; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.sql.Types; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Map; -import java.util.Properties; -import java.util.ResourceBundle; -import java.util.Set; -import java.util.StringTokenizer; -import java.util.TreeSet; -import org.glassfish.common.util.StringHelper; -import org.glassfish.persistence.common.DatabaseConstants; -import org.glassfish.persistence.common.I18NHelper; -import org.glassfish.persistence.common.database.DBVendorTypeHelper; - -// XXX Capitalization of acronyms such as Jdbc vs. JDBC is inconsistent -// throught out this package. - -/** - * Describes how Java classes and their fields are to be mapped to database - * tables and columns - */ -public class MappingPolicy implements Cloneable { - // - // The names of many properties in our .properties files are composed of - // different pieces, here called "bases", followed by "indicators". The - // idea is that a base may have multiple indicators. In a way, they are - // kind of like instances of structs, with each base naming an instance - // and each indicator naming an accessor to a value in the struct. - // - // The concatenation of bases and indicators is just another String, - // which you can look up in a Properties object to get a value. - // - // Note that some property names have more than one base concatenated. - // See SQL92.properties for examples. - // - - /** @see DatabaseGenerationConstants#DOT */ - static final char DOT = DatabaseGenerationConstants.DOT; - - // - // Base names of properties which describe how class and field names are - // to be represented in a database. - // - - /** Base name to denote a class. */ - private static final String CLASS_BASE = "{class-name}"; //NOI18N - - /** Base name to denote a field. */ - private static final String FIELD_BASE = "{field-name}"; //NOI18N - - /** Base name to denote a relationship field. */ - private static final String RELATIONSHIP_BASE = - "{relationship-field-name}"; //NOI18N - - - /** Represents a '.' in a regular expression */ - private static String REGEXP_DOT = "\\."; // NOI18N - - /** Synonym for DatabaseGenerationConstants.INDICATOR_JDBC_PREFIX. */ - private static final String INDICATOR_JDBC_PREFIX = - DatabaseGenerationConstants.INDICATOR_JDBC_PREFIX; - - /** - * Base name to denote maximum length of a name in a database. We - * support different maximum lengths for table, column, and constraint - * names. - */ - private static final String INDICATOR_MAXIMUM_LENGTH = - DatabaseGenerationConstants.INDICATOR_MAXIMUM_LENGTH; - - // - // Indicator names for properties which describe how class and field - // names are to be represented in a database. - // - - /** Indicator that property is for a table name. */ - private static final String INDICATOR_TABLE_NAME = - "table-name"; //NOI18N - - /** Indicator that property is for a column name. */ - private static final String INDICATOR_COLUMN_NAME = - "column-name"; //NOI18N - - /** Indicator that property is for a join table name. */ - private static final String INDICATOR_JOIN_TABLE_NAME = - "join-table-name"; //NOI18N - - /** Indicator that property is for a constraint name. */ - private static final String INDICATOR_CONSTRAINT_NAME = - "constraint-name"; //NOI18N - - - // - // These are complete property names composed of bases and indicators. - // - - /** Prefix of properties that denote classes. */ - private static final String CLASS_PREFIX = - CLASS_BASE + DOT; - - /** Prefix of properties that denote classes. */ - private static final String RELATIONSHIP_PREFIX = - CLASS_PREFIX + RELATIONSHIP_BASE + DOT; - - /** Name of property that provides default field-to-column name mapping. */ - private static final String DEFAULT_COLUMN_KEY = - CLASS_PREFIX + FIELD_BASE + DOT + INDICATOR_COLUMN_NAME; - - /** Name of property that provides default jointable name mapping. */ - private static final String DEFAULT_JOIN_TABLE_KEY = - RELATIONSHIP_PREFIX + INDICATOR_JOIN_TABLE_NAME; - - /** Name of property that provides default constraint name mapping. */ - private static final String DEFAULT_CONSTRAINT_KEY = - RELATIONSHIP_PREFIX + INDICATOR_CONSTRAINT_NAME; - - /** Name of property that provides default class-to-table name mapping. */ - private static final String DEFAULT_TABLE_KEY = - CLASS_PREFIX + INDICATOR_TABLE_NAME; - - - // - // Now, here are values of properties which indicate how table and column - // names are to be generated. I.e., in our .properties files, these are - // potential values for some property names composed of the above bases - // and indicators. - // - - /** Property value indicating table name must be same as class name. */ - private static final String TABLE_NAME_AS_CLASSNAME = - "{className}"; //NOI18N - - /** Property value indicating table name must be upper case. */ - private static final String TABLE_NAME_UPPERCASE = - TABLE_NAME_AS_CLASSNAME.toUpperCase(); - - /** Property value indicating table name must be uppercase and unique. */ - private static final String TABLE_NAME_HASH_UPPERCASE = - "{HASH-CLASSNAME}"; //NOI18N - - /** Property value indicating colum name must be same as field name. */ - private static final String COLUMN_NAME_AS_FIELDNAME = - "{fieldName}"; //NOI18N - - /** Property value indicating column name must be uppercase. */ - private static final String COLUMN_NAME_UPPERCASE = - COLUMN_NAME_AS_FIELDNAME.toUpperCase(); - - /** Property value indicating join table name must be uppercase. */ - private static final String JOIN_TABLE_NAME_UPPERCASE = - "{CLASSNAMES}"; //NOI18N - - /** Property value indicating constraint name must be uppercase. */ - private static final String CONSTRAINT_NAME_UPPERCASE = - "{FIELDNAMES}"; //NOI18N - - - // - // Here are indicators for properties that direct how vendor-dependent - // SQL is generated. - // - - /** Indicator that property is for formatting SQL */ - private static final String INDICATOR_SQL_FORMAT = "sql-format"; //NOI18N - - /** The indicator for a statement separator. */ - private static final String STATEMENT_SEPARATOR_INDICATOR = - "statementSeparator"; // NOI18N - - /** The indicator for starting a "create table". */ - private static final String CREATE_TABLE_START_INDICATOR = - "createTableStart"; // NOI18N - - /** The indicator for ending a "create table". */ - private static final String CREATE_TABLE_END_INDICATOR = - "createTableEnd"; // NOI18N - - /** The indicator for "create index". Added for Symfoware support as */ - /** indexes on primary keys are mandatory */ - private static final String CREATE_INDEX_INDICATOR = - "createIndex"; // NOI18N - - /** The indicator for starting a "drop table". */ - private static final String DROP_TABLE_INDICATOR = - "dropTable"; // NOI18N - - /** The indicator for "add constraint". */ - private static final String ALTER_TABLE_ADD_CONSTRAINT_START_INDICATOR = - "alterTableAddConstraintStart"; // NOI18N - - /** The indicator for "drop constraint". */ - private static final String ALTER_TABLE_DROP_CONSTRAINT_INDICATOR = - "alterTableDropConstraint"; // NOI18N - - /** The indicator for adding a primary key constraint. */ - private static final String PRIMARY_KEY_CONSTRAINT_INDICATOR = - "primaryKeyConstraint"; // NOI18N - - /** The indicator for adding a foreign key constraint. */ - private static final String FOREIGN_KEY_CONSTRAINT_INDICATOR = - "foreignKeyConstraint"; // NOI18N - - /** The indicator for verbose nullability. */ - private static final String COLUMN_NULLABILITY_INDICATOR = - "columnNullability"; // NOI18N - - /** The indicator for information used with LOB columns. */ - private static final String LOB_LOGGING_INDICATOR = - "LOBLogging"; // NOI18N - - // - // The remaining constants are neither bases nor indicators. - // - - /** Prefix of column names which are primary key columns. */ - private static final String PK_PREFIX = "PK_"; //NOI18N - - /** Prefix of column names which are foreign key columns. */ - private static final String FK_PREFIX = "FK_"; //NOI18N - - /** Name of the "global" namespace. */ - private static final String GLOBAL_NAMING_SPACE = "GLOBAL"; //NOI18N - - /** Property name which indicates unique table names should be generated. */ - public static final String USE_UNIQUE_TABLE_NAMES = "use-unique-table-names"; // NOI18N - - /** Property name which indicates reserved words. */ - private static final String RESERVED_WORDS = "reserved-words";// NOI18N - - /** When appended to a reserved word, causes it to be not-reserved. */ - private static final String RESERVED_WORD_UNRESERVER = "9"; // NOI18N - - /** - * Maximum length of the counter used to create unique names with a - * numeric id. Note that this length includes a NAME_SEPARATOR, so that - * we allow for 3 digits total. - */ - private static final int MAX_LEN_COUNTER = 4; - - /** Number of chars to change a reserved word into * unreserved. */ - private static final int MAX_LEN_RESERVED = 1; - - /** - * Name of subdirectory in which db vendor - specific properties files - * are located. - */ - private static final String PROPERTY_FILE_DIR = - "com/sun/jdo/spi/persistence/generator/database/"; // NOI18N - - /** Extension used by properties files. */ - private static final String PROPERTY_FILE_EXT = ".properties"; // NOI18N - - // - // The above are all constants; below things get "interesting". - // - - - /** This is the set of all default properties. */ - private static final Properties defaultProps = new Properties(); - - // - // XXX Consider getting these String-Integer and Integer-String maps into - // SQLTypeUtil, which is in the dbschema module. Or not: we support only a - // subset of java.sql.types, and (presumably) the dbschema module would - // provide mappings for all types. - // - // Note also that is code in MappingGenerator of a "SQLTypeUtil" nature. - // - - /** - * Map from String names to the Integer-boxed values from - * java.sql.Types. - */ - private static final Map jdbcTypes = new HashMap(); - - /** - * Maps from Integer-boxed values from java.sql.Types to String names. - */ - private static final Map jdbcTypeNames = new HashMap(); - - - /** - * Global counter for creating unique names in each of the namespaces. - * Note that a single counter is used across all namespaces. - */ - private int counter = 0; - - /** - * Map from namespaces to Set of names defined in each namespace. Used - * to ensure uniqueness within namespaces. - */ - private Map namespaces = new HashMap(); - - /** - * Indicates whether or not generated table names should include a - * unique value as part of their names. - */ - private boolean uniqueTableName = false; - - /** - * Set of reserved words for a particular policy. - */ - private final Set reservedWords = new TreeSet(); - - /** - * Set of reserved words for the default database. - */ - private static Set defaultReservedWords; - - /** - * Map from the string names of the java types (e.g. "java.lang.String") - * to a JDBCInfo of information about the corresponding java.sql.Types - * type. Different for different dbvendor types, but the same instance, - * per dbvendor, is shared by all MappingPolicy instances. - */ - private final Map dbJdbcInfoMap = new HashMap(); - - /** - * Similar to {@link #dbJdbcInfoMap}, but is reinitialized by each - * clone(). Contains user-provided overrides of the information in - * dbjdbcInfoMap. - */ - private Map userJdbcInfoMap = new HashMap(); - - /** - * Map from a boxed value based on fields in java.sql.Types to the String - * name of a SQL type. - */ - private final Map sqlInfo = new HashMap(); - - - // - // Maximum lengths for table, column, and constraint names are - // vendor-specific. - // - - /** Maximum length of the name of a table. */ - private int tableNameMaxLength; - - /** Maximum length of the name of a column. */ - private int columnNameMaxLength; - - /** Maximum length of the name of a constraint. */ - private int constraintNameMaxLength; - - - // - // Strings to represent vendor-specific SQL that starts a table, - // separates statements, etc. - // - - /** The SQL for a statement separator. */ - private String statementSeparator; - - /** The SQL for starting a "create table". */ - private String createTableStart; - - /** The SQL for ending a "create table". */ - private String createTableEnd; - - /** The SQL for "create index". */ - private String createIndex; - - /** The SQL for "drop table". */ - private String dropTable; - - /** The SQL for "add constraint". */ - private String alterTableAddConstraintStart; - - /** The SQL for "drop constraint". */ - private String alterTableDropConstraint; - - /** The SQL for adding a primary key constraint. */ - private String primaryKeyConstraint; - - /** The SQL for adding a foreign key constraint. */ - private String foreignKeyConstraint; - - /** The SQL for indicating column nullability */ - private String columnNullability; - - /** The SQL for indicating LOB column logging */ - private String lobLogging = ""; - - /** - * Map from the encoded name of a policy to its value. For example, a - * class name's naming policy would be encoded as - * ".table-name". - */ - // XXX Consider renaming this. - private final Map namingPolicy = new HashMap(); - - /** Map from database vendor names to instances of MappingPolicy. */ - private static final Map instances = new HashMap(); - - /** Logger for warning & error messages */ - private static final Logger logger = - LogHelperDatabaseGenerator.getLogger(); - - /** I18N message handler */ - private final static ResourceBundle messages = - I18NHelper.loadBundle(MappingPolicy.class); - - // - // Initialize the JDBC String to Integer map and the default (SQL92) - // MappingPolicy. - // - - // XXX Why initialize the SQL policy, when there's a good chance it won't - // ever be used? Do we really want to support unrecognized databases? - // See comment in getMappingPolicy. The default properties, on the other - // hand, *do* need to be loaded. - - // XXX We need to decide what happens when an unrecognized dbvendorname - // is given: Error? Warning, continue running? - static { - // Initialize jdbcType map. - jdbcTypes.put("BIGINT", new Integer(Types.BIGINT)); // NOI18N - jdbcTypes.put("BIT", new Integer(Types.BIT)); // NOI18N - jdbcTypes.put("BLOB", new Integer(Types.BLOB)); // NOI18N - jdbcTypes.put("CHAR", new Integer(Types.CHAR)); // NOI18N - jdbcTypes.put("CLOB", new Integer(Types.CLOB)); // NOI18N - jdbcTypes.put("DATE", new Integer(Types.DATE)); // NOI18N - jdbcTypes.put("DECIMAL", new Integer(Types.DECIMAL)); // NOI18N - jdbcTypes.put("DOUBLE", new Integer(Types.DOUBLE)); // NOI18N - jdbcTypes.put("INTEGER", new Integer(Types.INTEGER)); // NOI18N - jdbcTypes.put("LONGVARBINARY", new Integer(Types.LONGVARBINARY)); // NOI18N - jdbcTypes.put("LONGVARCHAR", new Integer(Types.LONGVARCHAR)); // NOI18N - jdbcTypes.put("NULL", new Integer(Types.NULL)); // NOI18N - jdbcTypes.put("REAL", new Integer(Types.REAL)); // NOI18N - jdbcTypes.put("SMALLINT", new Integer(Types.SMALLINT)); // NOI18N - jdbcTypes.put("TIME", new Integer(Types.TIME)); // NOI18N - jdbcTypes.put("TIMESTAMP", new Integer(Types.TIMESTAMP)); // NOI18N - jdbcTypes.put("TINYINT", new Integer(Types.TINYINT)); // NOI18N - jdbcTypes.put("VARCHAR", new Integer(Types.VARCHAR)); // NOI18N - - jdbcTypeNames.put(new Integer(Types.BIGINT), "BIGINT"); // NOI18N - jdbcTypeNames.put(new Integer(Types.BIT), "BIT"); // NOI18N - jdbcTypeNames.put(new Integer(Types.BLOB), "BLOB"); // NOI18N - jdbcTypeNames.put(new Integer(Types.CHAR), "CHAR"); // NOI18N - jdbcTypeNames.put(new Integer(Types.CLOB), "CLOB"); // NOI18N - jdbcTypeNames.put(new Integer(Types.DATE), "DATE"); // NOI18N - jdbcTypeNames.put(new Integer(Types.DECIMAL), "DECIMAL"); // NOI18N - jdbcTypeNames.put(new Integer(Types.DOUBLE), "DOUBLE"); // NOI18N - jdbcTypeNames.put(new Integer(Types.INTEGER), "INTEGER"); // NOI18N - jdbcTypeNames.put(new Integer(Types.LONGVARBINARY), "LONGVARBINARY"); // NOI18N - jdbcTypeNames.put(new Integer(Types.LONGVARCHAR), "LONGVARCHAR"); // NOI18N - jdbcTypeNames.put(new Integer(Types.NULL), "NULL"); // NOI18N - jdbcTypeNames.put(new Integer(Types.REAL), "REAL"); // NOI18N - jdbcTypeNames.put(new Integer(Types.SMALLINT), "SMALLINT"); // NOI18N - jdbcTypeNames.put(new Integer(Types.TIME), "TIME"); // NOI18N - jdbcTypeNames.put(new Integer(Types.TIMESTAMP), "TIMESTAMP"); // NOI18N - jdbcTypeNames.put(new Integer(Types.TINYINT), "TINYINT"); // NOI18N - jdbcTypeNames.put(new Integer(Types.VARCHAR), "VARCHAR"); // NOI18N - - try { - - // Create and load the default mapping policy. - new MappingPolicy(); - - } catch (Throwable ex) { - logger.log(Logger.SEVERE, - I18NHelper.getMessage( - messages, - "EXC_MappingPolicyNotFound", //NOI18N - DBVendorTypeHelper.DEFAULT_DB)); - } - } - - /** - * Create the default MappingPolicy instance. - */ - // This should be invoked only once per JVM. See the class static - // block of code above. - private MappingPolicy() throws IOException { - load(getPropertyFileName(DBVendorTypeHelper.DEFAULT_DB), - defaultProps, false); - init(defaultProps); - - // The DEFAULT_DB has reserved words for the default database type. - // Other databases can access those same values through the - // defaultReservedWords set. - defaultReservedWords = reservedWords; - - instances.put(DBVendorTypeHelper.DEFAULT_DB, this); - - if (logger.isLoggable(Logger.FINEST)) { - logger.finest("new MappingPolicy():\n" + toString()); // NOI18N - } - } - - /** - * Create a MappingPolicy for the named database type. - * @param databaseType Name of the database for which a MappingPolicy is - * created. The name must conform to one of the .properties files in - * this package. - */ - // This should be invoked only once per databaseType per JVM. See - // {@link #getMappingPolicy}. - private MappingPolicy(String databaseType) throws IOException { - Properties mergedProp = new Properties(defaultProps); - load(getPropertyFileName(databaseType), mergedProp, false); - init(mergedProp); - instances.put(databaseType, this); - - if (logger.isLoggable(Logger.FINEST)) { - logger.finest("new MappingPolicy(" // NOI18N - + databaseType + "):\n" + toString()); // NOI18N - } - } - - /** - * Returns a vendor-specifc MappingPolicy instance. This method always - * returns a copy (clone) of the known MappingPolicy to allow for - * user-specific overrides. - * @param databaseType a database vendor name as a String. - * @return MappingPolicy instance corresponding to the provided - * database vendor name. - * @throws IOException if there are problems reading the vendor- - * specific mappinng policy file - */ - public synchronized static MappingPolicy getMappingPolicy( - String databaseType) throws IOException { - - if (logger.isLoggable(Logger.FINE)) { - logger.fine("get MappingPolicy"+databaseType); // NOI18N - } - - MappingPolicy mappingPolicy = null; - try { - if (databaseType == null) { - databaseType = DBVendorTypeHelper.DEFAULT_DB; - // XXX FIXME Need to log a warning and report to user that we - // are *not* using databaseType given, that we are using - // SQL92 instead, and provide list of recognized names. - } - mappingPolicy = (MappingPolicy) instances.get(databaseType); - if (mappingPolicy == null) { - mappingPolicy = new MappingPolicy(databaseType); - } - mappingPolicy = (MappingPolicy) mappingPolicy.clone(); - } catch (CloneNotSupportedException ec) { - // ignore it because it will not happen - } - return mappingPolicy; - } - - /** - * Clones the vendor-specific policy for generator session. Replace the - * namespaces map in the clone, so that each instance has its own. - * @return clone of this MappingPolicy - * @throws CloneNotSupportedException never thrown - */ - protected Object clone() throws CloneNotSupportedException { - MappingPolicy mappingPolicyClone = (MappingPolicy) super.clone(); - mappingPolicyClone.namespaces = new HashMap(); - mappingPolicyClone.uniqueTableName = false; - mappingPolicyClone.userJdbcInfoMap = new HashMap(); - return mappingPolicyClone; - } - - /** - * Initializes the given properties from the given resourceName. - * @param resourceName Name of the resource to open, expected to contain - * properties in text form. - * @param properties Properties that are to be loaded. - * @param override If true, treat resourceName as a filename - * from which to read; if false, treat resourceName as the - * name of a resource accessed via the class loader which loaded the - * MappingPolicy class. - */ - private synchronized void load( - final String resourceName, Properties properties, boolean override) - throws IOException { - - if (logger.isLoggable(Logger.FINE)) { - logger.fine("load resource:" + resourceName); // NOI18N - } - - try (InputStream bin = new BufferedInputStream(getInputStream(resourceName, override))) { - properties.load(bin); - if (logger.isLoggable(Logger.FINE)) { - logger.fine("load "+resourceName + " successfuly"); // NOI18N - } - } - } - - private InputStream getInputStream(String resourceName, boolean override) throws IOException { - InputStream in; - if (override) { - in = new FileInputStream(resourceName); - } else { - final ClassLoader loader = - MappingPolicy.class.getClassLoader(); - if (loader != null) { - in = loader.getResourceAsStream(resourceName); - } else { - in = ClassLoader.getSystemResourceAsStream(resourceName); - } - - - if (in == null) { - throw new IOException(I18NHelper.getMessage(messages, - "EXC_ResourceNotFound", resourceName));// NOI18N - } - } - return in; - } - - /** - * Resets the namespaces and counter. - */ - // XXX Consider renaming to "reset". - void resetCounter() { - namespaces.clear(); - userJdbcInfoMap.clear(); - counter = 0; - } - - /** - * Sets user-provided policy to that provided in the given properties. - * @param props Properties which override built in defaults. - */ - public void setUserPolicy(Properties props) { - if (null != props) { - - // Look for and set JDBCInfo entries. Use Enumeration instead of - // iterator because former gets default values while latter does - // not. - for (Enumeration e = props.propertyNames(); e.hasMoreElements();) { - String name = (String) e.nextElement(); - String value = props.getProperty(name); - - if (name.equals(USE_UNIQUE_TABLE_NAMES)) { - if (! StringHelper.isEmpty(value)) { - uniqueTableName = Boolean.parseBoolean(value); - } - continue; - } - - StringTokenizer nameParser = - new StringTokenizer(name, String.valueOf(DOT)); - - // Get the last element from key which is separated by DOT. - String indicator = null; - while (nameParser.hasMoreTokens()) { - indicator = nameParser.nextToken(); - } - - if (indicator != null && indicator.startsWith(INDICATOR_JDBC_PREFIX)) { - setJDBCInfoEntry(userJdbcInfoMap, name, value, indicator); - } else { - if (logger.isLoggable(Logger.INFO)) { - logger.info( - I18NHelper.getMessage( - messages, - "MSG_UnexpectedUserProp", // NOI18N - name, value)); // NOI18N - } - } - } - } - } - - /** - * Sets whether or not unique table names should be generated. - * @param uniqueTableName If true, tables names will be - * unique. - */ - public void setUniqueTableName(boolean uniqueTableName) { - this.uniqueTableName = uniqueTableName; - } - - /** - * Returns the String name of the SQL type for a given JDBC type. - * @param jdbcType One of the values from java.sql.Types. - * @return Name of SQL type corresponding to given jdbcType. - */ - public String getSQLTypeName(int jdbcType) { - String rc = null; - - // The name is in sqlInfo if it was loaded from one of our - // vendor-specific properties files. - Object o = sqlInfo.get(Integer.valueOf(jdbcType)); - if (null != o) { - rc = (String) o; - } else { - // Otherwise, user has overriden, e.g. java.lang.String -> CLOB. - rc = getJdbcTypeName(jdbcType); - } - - return rc; - } - - /** - * Returns JDBC type information corresponding to the given field name - * and type. If fieldName is null or there is no - * fieldName - specific information already existing, the default for the - * given fieldType is returned. Otherwise, information specific to the - * fieldName is returned. Note: It is possible to have a field - * in a class have the same name as another class; this mechanism is not - * robust in that case: - *
    -     * class Foo { }
    -     *
    -     * class MyFoo {
    -     *     Foo Foo = new Foo();
    -     * }
    -     * 
    - * We think this obfuscation unlikely to occur. - * @param fieldName Name of field for which information is needed. May - * be null, in which case only fieldType is used to determine returned - * information. - * @param fieldType Name of a Java type. - * @return JDBCInfo representing the field or type. - */ - public JDBCInfo getJDBCInfo(String fieldName, String fieldType) { - JDBCInfo rc = null; - - if (logger.isLoggable(Logger.FINEST)) { - logger.finest("Entering MappingPolicy.getJDBCInfo: " // NOI18N - + fieldName + ", " + fieldType); // NOI18N - } - - if (null != fieldName) { - - // If fieldName is given, try to find a JDBCInfo using that name. - // Looking up fieldName only makes sense in userJdbcInfoMap - // which contains the user's overrides. - rc = (JDBCInfo) userJdbcInfoMap.get(fieldName); - if (null != rc && (! rc.isComplete())) { - - // There is an override for the field named fieldName, but - // it is not complete, i.e., not all possible information - // about the field was provided in the user override. - // - // Choose a JDBCInfo to use to complete the information in rc. - // If the user override specifies a type and there is - // information about that type for the database, use that. - // Otherwise, use the given fieldType. - JDBCInfo ji = null; - if (rc.hasJdbcType()) { - ji = getdbJDBCInfo(rc.getJdbcType()); - } - if (null == ji) { - ji = getdbJDBCInfo(fieldType); - } - - // Fill in the rest of the fields in rc with values from ji. - rc.complete(ji); - } - } - - if (null == rc) { - - // Either fieldName is null, or there is no JDBCInfo specific to - // fieldName, so use fieldType. - rc = getdbJDBCInfo(fieldType); - } - - // If dbJdbcInfoMap has an entry for rc's jdbc type, replace rc's jdbc - // type with the result of the mapping. This allows, for example, a - // user to specify that a field should be represented by a CLOB, when - // the database and/or driver do not support that but do support - // LONGVARCHAR (e.g. Sybase). - JDBCInfo ji = getdbJDBCInfo(rc.getJdbcType()); - rc.override(ji); - - if (logger.isLoggable(Logger.FINEST)) { - logger.finest("Leaving MappingPolicy.getJDBCInfo: " // NOI18N - + fieldName + ", " + fieldType // NOI18N - + " => " + rc); // NOI18N - } - - return rc; - } - - /** - * Gets the JDBCInfo corresponding to the type in the given JDBCInfo. - * I.e., it maps from one JDBCInfo to another on the basis of their - * types. - * @param ji JDBCInfo - * @return a JDBCInfo - * @throws IllegalArgumentException if type is not recognized - * as being a valid member of java.sql.Types. Note that only a subset of - * the types in java.sql.Types are recognized. - */ - private JDBCInfo getdbJDBCInfo(int jdbcType) { - String typename = getJdbcTypeName(jdbcType); - return (JDBCInfo) dbJdbcInfoMap.get(typename); - } - - /** - * Gets the JDBCInfo for the given fieldType - * @param fieldType Name of the type of a field - * @return a JDBCInfo for the given fieldType - */ - private JDBCInfo getdbJDBCInfo(String fieldType) { - JDBCInfo rc = (JDBCInfo) dbJdbcInfoMap.get(fieldType); - - if (null == rc) { - - // There is also nothing provided for the field's - // type, so use a BLOB. - rc = (JDBCInfo) dbJdbcInfoMap.get("BLOB"); // NOI18N - } - return rc; - } - - /** - * Returns the boxed form of the java.sql.Types value corresponding to the - * given name. - * @param jdbcStringType Name of the value to return. - * @return Value from java.sql.Types, wrapped into an Integer, or null if - * jdbcTypeName is not that of a recognized JDBC type. - */ - static Integer getJdbcType(String jdbcTypeName) { - return (Integer) jdbcTypes.get(jdbcTypeName.toUpperCase()); - } - - /** - * Provides a String that can be recognized as a policy to override the - * default length of a field. - * @param className name of a class - * @param fieldName name of a field in that class - * @return a String that can be used as the name of a length override - * for a field in a class. - */ - public static String getOverrideForLength( - String className, String fieldName) { - - return className - + DOT + fieldName - + DOT + DatabaseGenerationConstants.INDICATOR_JDBC_LENGTH; - } - - /** - * Provides a String that can be recognized as a policy to override the - * default nullability of a field. - * @param className name of a class - * @param fieldName name of a field in that class - * @return a String that can be used as the name of a nullability override - * for a field in a class. - */ - public static String getOverrideForNullability( - String className, String fieldName) { - - return className - + DOT + fieldName - + DOT + DatabaseGenerationConstants.INDICATOR_JDBC_NULLABLE; - } - - /** - * Provides a String that can be recognized as a policy to override the - * default precision of a field. - * @param className name of a class - * @param fieldName name of a field in that class - * @return a String that can be used as the name of a precision override - * for a field in a class. - */ - public static String getOverrideForPrecision( - String className, String fieldName) { - - return className - + DOT + fieldName - + DOT + DatabaseGenerationConstants.INDICATOR_JDBC_PRECISION; - } - - /** - * Provides a String that can be recognized as a policy to override the - * default scale of a field. - * @param className name of a class - * @param fieldName name of a field in that class - * @return a String that can be used as the name of a scale override - * for a field in a class. - */ - public static String getOverrideForScale( - String className, String fieldName) { - - return className - + DOT + fieldName - + DOT + DatabaseGenerationConstants.INDICATOR_JDBC_SCALE; - } - - /** - * Provides a String that can be recognized as a policy to override the - * default type of a field. - * @param className name of a class - * @param fieldName name of a field in that class - * @return a String that can be used as the name of a type override - * for a field in a class. - */ - public static String getOverrideForType( - String className, String fieldName) { - - return className - + DOT + fieldName - + DOT + DatabaseGenerationConstants.INDICATOR_JDBC_TYPE; - } - - - /** - * Provide the String name of a JDBC type, as per java.sql.Types. - * @param type A value from java.sql.Types - * @return the String name corresponding to type - * @throws IllegalArgumentException if type is not recognized - * as being a valid member of java.sql.Types. Note that only a subset of - * the types in java.sql.Types are recognized. - */ - public static String getJdbcTypeName(int type) throws - IllegalArgumentException { - String rc = (String) jdbcTypeNames.get(Integer.valueOf(type)); - if (null == rc) { - throw new IllegalArgumentException(); - } - return rc; - } - - // - // In the getZZZName methods below, we lookup a policy and determine a - // name based on that policy. Note that the keys used for lookup are - // created from the given name(s), so that the result of looking up a - // policy might actually be the name that is returned. - // - - /** - * Returns the name of a table for a given class, as per current policy. - * @param name Basis for what the returned table should be named, for - * example the unqualified name of a class. - * @param uniqueName Used if the current policy is to return a unique - * name. Client must provide a name that is unique to them. - * @return Name to be used for table. Regardless of the current policy, - * the name is different from other names returned during the current run - * of {@link DatabaseGenerator#generate}. - */ - // XXX FIXME: If the user needs to provide a unique name, why do we - // invoke getUniqueGlobalName on it? - public String getTableName(String name, String uniqueName) { - StringBuilder key = - new StringBuilder(name).append(DOT).append(INDICATOR_TABLE_NAME); - String rc = (String)namingPolicy.get(key.toString()); - - if (rc == null) { - rc = (String)namingPolicy.get(DEFAULT_TABLE_KEY); - } - - if (uniqueTableName) { - rc = TABLE_NAME_HASH_UPPERCASE; - } - - if (rc.equals(TABLE_NAME_UPPERCASE)) { - rc = name.toUpperCase(); - } else if (rc.equals(TABLE_NAME_AS_CLASSNAME)) { - rc = name; - } else if (rc.equals(TABLE_NAME_HASH_UPPERCASE)) { - rc = uniqueName.toUpperCase(); - } - - return getUniqueGlobalName(rc, tableNameMaxLength); - } - - /** - * Returns the name of a column for a given field in a given class. The - * column name will be unique within the table. - * @param className Name of the class containing the field. - * @param fieldName Name of the field for which a column name is returned. - * @param tableName Name of the table in which the column name is created. - * @return Name of a column that is unique within the named table. - */ - public String getColumnName(String className, String fieldName, - String tableName) { - - // Get column naming policy based on className and fieldName - StringBuilder key = new StringBuilder(className) - .append(DOT).append(fieldName) - .append(DOT).append(INDICATOR_COLUMN_NAME); - String rc = (String)namingPolicy.get(key.toString()); - - if (rc == null) { - // No fieldName specific policy, so use default for className - key = new StringBuilder(className) - .append(DOT).append(FIELD_BASE) - .append(DOT).append(INDICATOR_COLUMN_NAME); - rc = (String)namingPolicy.get(key.toString()); - } - - if (rc == null) { - // No overriding policy, so use overall default. - rc = (String)namingPolicy.get(DEFAULT_COLUMN_KEY); - } - - if (rc.equals(COLUMN_NAME_UPPERCASE)) { - rc = fieldName.toUpperCase(); - } else if (rc.equals(COLUMN_NAME_AS_FIELDNAME)) { - rc = fieldName; - } - - return getUniqueLocalName(rc, tableName, columnNameMaxLength); - } - - /** - * Returns the name of the column which represents a foreign key in the - * named table. - * @param tableName Name of the table in which the FK column will be - * created. - * @param columnName Name of PK column in referenced table. - * @return Name of the FK column in the named table. - */ - // XXX Does this really need to be public? - // XXX Rename to getFKColumnName - public String getConstraintColumnName(String tableName, - String columnName) { - - return getUniqueLocalName( - new StringBuilder(tableName) - .append(DatabaseConstants.NAME_SEPARATOR) - .append(columnName).toString(), - tableName, - columnNameMaxLength); - } - - /** - * Returns the name of a constraint corresponding to the named - * relationship. - * @param relName Name of a relationship. - * @param uniqueId Id that can be appened to relName to distinguish it - * from other relNames in the database. Will be appended only if - * {@link #uniqueTableName} is true. - * @return Name of a constraint. - */ - public String getConstraintName(String relName, String uniqueId) { - String rc = (String)namingPolicy.get(DEFAULT_CONSTRAINT_KEY); - - if (rc.equals(CONSTRAINT_NAME_UPPERCASE)) { - rc = FK_PREFIX + relName.toUpperCase(); - } - - if (uniqueTableName) { - rc += uniqueId; - } - - rc = getUniqueGlobalName(rc, constraintNameMaxLength); - - if (logger.isLoggable(Logger.FINER)) { - logger.finer("MappingPolicy.getConstraintName: " // NOI8N - + relName + " -> " + rc); // NOI18N - } - - return rc; - } - - /** - * Returns the name of a PK constraint, unique-ified as required. - * @param tableName Name of a table on which a constraint is to be placed. - * @return Name of a constraint on named table. - */ - public String getPrimaryKeyConstraintName(String tableName) { - return getUniqueGlobalName(PK_PREFIX + tableName, constraintNameMaxLength); - } - - /** - * Returns the name of a join table which joins the tables that correspond - * to the two named classes. - * @param className1 Name of one class to join. - * @param className2 Name of the other class to join. - * @return Name of a join table. - */ - public String getJoinTableName(String className1, String className2) { - String rc = (String)namingPolicy.get(DEFAULT_JOIN_TABLE_KEY); - - if (rc.equals(JOIN_TABLE_NAME_UPPERCASE)) { - rc = (className1 + className2).toUpperCase(); - } - return getUniqueGlobalName(rc, tableNameMaxLength); - } - - /** - * Return a unique name for a column. The column will be unique within - * the named table. - * @param colName Name of the column - * @param tableName Name of the table. - * @return A unique name for colName within tableName. - */ - private String getUniqueLocalName( - String colName, String tableName, int maxLen) { - - return getUniqueName(colName, tableName, maxLen); - } - - /** - * Return a unique name for the given name. It will be "globally" unique - * between invocations of method {@link #resetCounter}; the first use of - * a MappingPolicy instance is "reset". - * @param name Name for which a unique name is returned. - * @return A unique name for given name. - */ - private String getUniqueGlobalName(String name, int maxLen) { - return getUniqueName(name, GLOBAL_NAMING_SPACE, maxLen); - } - - /** - * Return a unique name for name. It will be unique within the given - * namespace. - * @param name Name for which a unique name is returned. - * @param space Namespace in which the returned name is unique. - * @return A unique name for given name. - */ - private String getUniqueName(String name, String namespace, int maxLen) { - String rc = name; - - // Reserve MAX_LEN_COUNTER characters for unique-ifying digits. - maxLen -= MAX_LEN_COUNTER; - - // Name cannot be more than maxLen chars long. - if (name.length() > maxLen) { - rc = name.substring(0, maxLen); - } - - // Convert to upper case for uniqueing comparisons below. - String nameUpper = rc.toUpperCase(); - - // Ensure the name we create is not a reserved word by comparing - // nameUpper against reserved words. - if (defaultReservedWords.contains(nameUpper) - || reservedWords.contains(nameUpper)) { - - // Append a character that is not used as the last char of any - // existing reserved words. Make sure we have space for this plus - // for any uniqueing below. Length-limit both rc and nameUpper, so - // that the value in the namespace and the end result have the same - // length. - maxLen -= MAX_LEN_RESERVED; - if (rc.length() > maxLen) { - // Limit nameUpper as well as rc because we need to do uniqueing - // in a case-insensitve fashion. - nameUpper = nameUpper.substring(0, maxLen); - rc = rc.substring(0, maxLen); - } - nameUpper += RESERVED_WORD_UNRESERVER; - rc += RESERVED_WORD_UNRESERVER; - } - - Set names = (Set) namespaces.get(namespace); - - if (names == null) { - // Name is first entry in namespace, therefore already unique, no - // need to append counter. - names = new HashSet(); - names.add(nameUpper); - namespaces.put(namespace, names); - - } else if (names.contains(nameUpper)) { - // Name is already in namespace, so make a different name by - // appending a count to given name. - counter++; - rc += DatabaseConstants.NAME_SEPARATOR + counter; - - } else { - // Add new name to namespace. - names.add(nameUpper); - } - - return rc; - } - - // - // Accessors for SQL formatting Strings. - // - - /** - * @return the SQL for a statement separator. - */ - String getStatementSeparator() { - return statementSeparator; - } - - /** - * @return the SQL for starting a "create table". - */ - String getCreateTableStart() { - return createTableStart; - } - - /** - * @return the SQL for ending a "create table". - */ - String getCreateTableEnd() { - return createTableEnd; - } - - /** - * @return the SQL for "create index". - */ - String getCreateIndex() { - return createIndex; - } - - /** - * @return the SQL for a "drop table". - */ - String getDropTable() { - return dropTable; - } - - /** - * @return the SQL for "add constraint". - */ - String getAlterTableAddConstraintStart() { - return alterTableAddConstraintStart; - } - - /** - * @return the SQL for "drop constraint". - */ - String getAlterTableDropConstraint() { - return alterTableDropConstraint; - } - - /** - * @return the SQL for adding a primary key constraint. - */ - String getPrimaryKeyConstraint() { - return primaryKeyConstraint; - } - - /** - * @return the SQL for adding a foreign key constraint. - */ - String getForeignKeyConstraint() { - return foreignKeyConstraint; - } - - /** - * @return the SQL for indicating column nullability - */ - String getColumnNullability() { - return columnNullability; - } - - /** - * @return the SQL for indicating LOB column logging - */ - String getLobLogging() { - return lobLogging; - } - - // - // This method and the 4 subsequent ones initialize a MappingPolicy - // instance from a give Properties object. - // - - /** - * Initialize this MappingPolicy as per the values in the given - * properties. - * @param props Properties for initializing this MappingPolicy - */ - private void init(Properties props) { - // Use Enumeration instead of iterator because former gets default - // values while latter does not. - for (Enumeration e = props.propertyNames(); e.hasMoreElements();) { - String name = (String) e.nextElement(); - String value = props.getProperty(name); - - if (name.equals(RESERVED_WORDS)) { - initReservedWords(value); - continue; - } - - // The indicator is the last DOT-separated substring in name. - String indicator = null; - StringTokenizer nameParser = - new StringTokenizer(name, String.valueOf(DOT)); - while (nameParser.hasMoreTokens()) { - indicator = nameParser.nextToken(); - } - - if (indicator != null) { - if (indicator.equals(INDICATOR_SQL_FORMAT)) { - setSqlFormatEntry(name, value); - - } else if (indicator.startsWith(INDICATOR_JDBC_PREFIX)) { - setJDBCInfoEntry(dbJdbcInfoMap, name, value, indicator); - - } else if (indicator.equals(INDICATOR_MAXIMUM_LENGTH)) { - setLengthEntry(name, value); - - } else if (indicator.equals(INDICATOR_TABLE_NAME) || - indicator.equals(INDICATOR_COLUMN_NAME) || - indicator.equals(INDICATOR_JOIN_TABLE_NAME) || - indicator.equals(INDICATOR_CONSTRAINT_NAME)) { - setNamingEntry(name, value); - } else { - setSQLInfoEntry(name, value); - } - } else { - setSQLInfoEntry(name, value); - } - } - } - - /** - * Initializes the reservedWords field. - * @param res Comma-separated list of reserved words. - */ - private void initReservedWords(String res) { - StringTokenizer st = new StringTokenizer(res, ","); - while (st.hasMoreTokens()) { - reservedWords.add(st.nextToken().trim()); - } - } - - // - // These methods each set a value in one of our maps. - // - - /** - * Sets a SQL formatting property in this MappingPolicy. - * @param name Name of the policy property, including its indicator. - * @param value Value to be bound to that property. - */ - private void setSqlFormatEntry(String name, String value) { - if (value != null) { - if (name.startsWith(STATEMENT_SEPARATOR_INDICATOR)) { - statementSeparator = value; - - } else if (name.startsWith(CREATE_TABLE_START_INDICATOR)) { - createTableStart = value; - - } else if (name.startsWith(CREATE_TABLE_END_INDICATOR)) { - createTableEnd = value; - - } else if (name.startsWith(CREATE_INDEX_INDICATOR)) { - createIndex = value; - - } else if (name.startsWith(DROP_TABLE_INDICATOR)) { - dropTable = value; - - } else if (name.startsWith(ALTER_TABLE_ADD_CONSTRAINT_START_INDICATOR)) { - alterTableAddConstraintStart = value; - - } else if (name.startsWith(ALTER_TABLE_DROP_CONSTRAINT_INDICATOR)) { - alterTableDropConstraint = value; - - } else if (name.startsWith(PRIMARY_KEY_CONSTRAINT_INDICATOR)) { - primaryKeyConstraint = value; - - } else if (name.startsWith(FOREIGN_KEY_CONSTRAINT_INDICATOR)) { - foreignKeyConstraint = value; - - } else if (name.startsWith(COLUMN_NULLABILITY_INDICATOR)) { - columnNullability = value; - - } else if (name.startsWith(LOB_LOGGING_INDICATOR)) { - lobLogging = value; - } - } - } - - /** - * Sets a JDBC property in this MappingPolicy. - * @param Map into which property is set. - * @param name Name of the policy property, including its indicator. - * @param indicator The indicator, alone, which should start with - * "jdbc-". - * @param value Value to be bound to that property. - */ - private void setJDBCInfoEntry( - Map jdbcInfoMap, String name, String value, String indicator) { - - if (value != null) { - - // Get substring that is before the indicator, which is the name - // of a type or of a particular field. - String fieldOrType = name; - int i = name.indexOf(DOT + indicator); - if (i > 0) { - fieldOrType = name.substring(0, i); - } - - JDBCInfo ji = (JDBCInfo) jdbcInfoMap.get(fieldOrType); - - try { - if (null != ji) { - ji.setValue(value, indicator); - } else { - ji = new JDBCInfo(); - ji.setValue(value, indicator); - jdbcInfoMap.put(fieldOrType, ji); - } - } catch (JDBCInfo.IllegalJDBCTypeException ex) { - String msg = I18NHelper.getMessage( - messages, - "EXC_InvalidJDBCTypeName", // NOI18N - value, fieldOrType); - logger.log(Logger.SEVERE, msg); - throw new IllegalArgumentException(msg); - } - } - } - - /** - * Sets a name length attribute. - * @param name Name of the attribute to set. Should be - * INDICATOR_TABLE_NAME, INDICATOR_COLUMN_NAME, or - * INDICATOR_CONSTRAINT_NAME. - * @param value Value to which attribute is set. - */ - private void setLengthEntry(String name, String value) { - if (value != null) { - - int val = Integer.parseInt(value); - - if (name.startsWith(INDICATOR_TABLE_NAME)) { - tableNameMaxLength = val; - - } else if (name.startsWith(INDICATOR_COLUMN_NAME)) { - columnNameMaxLength = val; - - } else if (name.startsWith(INDICATOR_CONSTRAINT_NAME)) { - constraintNameMaxLength = val; - } - } - } - - /** - * Set a naming property in this MappingPolicy. - * @param name Name of the policy property. - * @param value Value to be bound to that property. - */ - private void setNamingEntry(String name, String value) { - namingPolicy.put(name, value); - } - - /** - * Sets a JDBC-to-SQL mapping property, that is, a mapping from a JDBC - * type to a SQL type. - * @param name Name of a JDBC type (see {@link java.sql.Types}). - * @param value SQL type to be used to represent given JDBC type in - * database. - */ - private void setSQLInfoEntry(String name, String value) { - sqlInfo.put(getJdbcType(name), value); - } - - /** - * @param databaseType Name of a type of database. - * @return Name of a file containing a description of properties for - * named database type. - */ - private static String getPropertyFileName(String databaseType) { - return PROPERTY_FILE_DIR + databaseType + PROPERTY_FILE_EXT; - } - - /** - * Debug support. - * @return A description of this MappingPolicy in string form. - * Basically, all it's "interesting" values. - */ - public String toString() { - StringBuilder rc = new StringBuilder( - "statementSeparator=" + statementSeparator // NOI18N - + "\ncreateTableStart=" + createTableStart // NOI18N - + "\ncreateTableEnd=" + createTableEnd // NOI18N - + "\ncreateIndex=" + createIndex // NOI18N - + "\ndropTable=" + dropTable // NOI18N - + "\nalterTableAddConstraintStart=" + alterTableAddConstraintStart // NOI18N - + "\nalterTableDropConstraint=" + alterTableDropConstraint // NOI18N - + "\nprimaryKeyConstraint=" + primaryKeyConstraint // NOI18N - + "\nforeignKeyConstraint=" + foreignKeyConstraint // NOI18N - + "\ncolumnNullability=" + columnNullability // NOI18N - + "\nlobLogging=" + lobLogging // NOI18N - + "\ntableNameMaxLength=" + tableNameMaxLength // NOI18N - + "\ncolumnNameMaxLength=" + columnNameMaxLength // NOI18N - + "\nconstraintNameMaxLength=" + constraintNameMaxLength // NOI18N - + "\nuniqueTableName=" + uniqueTableName // NOI18N - + "\ncounter=" + counter // NOI18N - + "\n\n"); // NOI18N - rc.append(" dbJdbcInfoMap:\n").append(stringifyMap(dbJdbcInfoMap)); // NOI18N - rc.append(" userJdbcInfoMap:\n").append(stringifyMap(userJdbcInfoMap)); // NOI18N - rc.append(" sqlInfo:\n").append(stringifyMap(sqlInfo)); // NOI18N - rc.append(" namingPolicy:\n").append(stringifyMap(namingPolicy)); // NOI18N - rc.append(" namespaces:\n").append(stringifyMap(namespaces)); // NOI18N - rc.append(" reservedWords:\n").append(stringifySet(reservedWords)); // NOI18N - return rc.toString(); - } - - /** - * Debug support. - * @param m Map whose keys & values are to be returned in a string. - * @return The string form of m's keys and values, each pair separated - * from the next by a newline, with keys separated from values by '='. - */ - private String stringifyMap(Map m) { - StringBuilder rc = new StringBuilder(); - for (Iterator i = m.entrySet().iterator(); i.hasNext();) { - Map.Entry e = (Map.Entry) i.next(); - rc.append(e.getKey()).append("=") // NOI18N - .append(e.getValue()).append("\n"); // NOI18N - } - return rc.toString(); - } - - /** - * Debug support - * @param s Set whose values are to be returned in a string - * @return values from the given set, separated by spaces, up to 6 per - * line. - */ - private String stringifySet(Set s) { - StringBuilder rc = new StringBuilder(); - int count = 0; - for (Iterator i = s.iterator(); i.hasNext();) { - rc.append(i.next()).append(" "); // NOI18N - if (count++ > 6) { - rc.append("\n"); // NOI18N - count = 0; - } - } - return rc.toString(); - } -} - diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/ORACLE.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/ORACLE.properties deleted file mode 100644 index 8f13a8f418a..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/ORACLE.properties +++ /dev/null @@ -1,69 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -#mapping between jdbc and oracle 8 -BIT=SMALLINT -DOUBLE=DOUBLE PRECISION -BIGINT=NUMBER -VARCHAR=VARCHAR2 -DECIMAL=NUMBER -TIMESTAMP=TIMESTAMP(9) -TIME=DATE -CLOB=CLOB - -# Override SQL92's default mapping for java.util.Date so that it maps -# to jdbc DATE, and from there to Oracle DATE. See SQL92.properties. -java.util.Date.jdbc-type = DATE - -# Reserved words -reserved-words=ACCESS, ARRAY, AUDIT, AUTHID, BINARY_INTEGER, BODY, BOOLEAN, \ - BULK, CHAR_BASE, CLUSTER, COLLECT, COMMENT, COMPRESS, CONSTANT, \ - CURRVAL, DO, ELSIF, EXCLUSIVE, EXIT, EXTENDS, FILE, FORALL, FUNCTION, \ - HEAP, IDENTIFIED, IF, INCREMENT, INDEX, INITIAL, INTERFACE, JAVA, \ - LIMITED, LOCK, LONG, LOOP, MAXEXTENTS, MIN, MINUS, MLSLABEL, \ - MOD, MODE, MODIFY, NATURALN, NEW, NEXTVAL, NOAUDIT, NOCOMPRESS, \ - NOCOPY, NOWAIT, NUMBER, NUMBER_BASE, OCIROWID, OFFLINE, ONLINE, \ - OPAQUE, OPERATOR, ORGANIZATION, OTHERS, OUT, PACKAGE, PARTITION, \ - PCTFREE, PLS_INTEGER, POSITIVE, POSITIVEN, PRAGMA, PRIVATE, RAISE, \ - RANGE, RAW, RECORD, REF, RELEASE, RENAME, RESOURCE, RETURN, REVERSE, \ - ROW, ROWID, ROWNUM, ROWTYPE, SAVEPOINT, SEPARATE, SHARE, SQLERRM, \ - START, STDDEV, SUBTYPE, SUCCESSFUL, SYNONYM, SYSDATE, TIMEZONE_ABBR, \ - TIMEZONE_HOUR, TIMEZONE_MINUTE, TIMEZONE_REGION, TRIGGER, TYPE, \ - UID, USE, VALIDATE, VARCHAR2, VARIANCE, WHILE diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/POINTBASE.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/POINTBASE.properties deleted file mode 100644 index 38c4d8d9560..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/POINTBASE.properties +++ /dev/null @@ -1,83 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# Maximum length for table name, column name and constraint name -# -table-name.maximum-length=128 -column-name.maximum-length=128 -constraint-name.maximum-length=128 - -# -# Mappings between JDBC and Pointbase -# -BIT=BOOLEAN -DOUBLE=DOUBLE PRECISION -REAL=FLOAT -BIGINT=BIGINT -CLOB=CLOB - -# LOBs must be 2 GB or less. -BLOB.jdbc-maximum-length=2147483647 -CLOB.jdbc-maximum-length=2147483647 - -# -# Mappings between Java type and JDBC type -# -java.lang.Object.jdbc-maximum-length = 10240 - -java.lang.Object[].jdbc-maximum-length = 10240 - -# Reserved words -reserved-words=AFTER, ASCENDING, ATOMIC, BEFORE, BINARY, BLOB, BOOLEAN, CALL, \ - CHARACTER_LENGTH, CHAR_LENGTH, CLOB, COMMITTED, CONTAINS, COUNTRY, \ - CURRENT_DATABASE, CURRENT_DATE, CURRENT_LSN, CURRENT_PATH, CURRENT_SCHEMA, \ - CURRENT_SESSION, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER, \ - DATA, DATABASE, DATALOG, DESCENDING, DETERMINISTIC, EACH, FILTER_COLUMN, \ - FILTER_ROW, FUNCTION, GETLASTLSN, IMAGE, INDEX, INDEXONLY, INOUT, \ - JAVA, LARGE, LENGTH, LOB, LONG, LONGRAW, LSN_CURRENT_ID, LSN_CURRENT_OFFSET, \ - LSN_SKIP_ID, LSN_SKIP_OFFSET, LSN_START_ID, LSN_START_OFFSET, \ - METHOD, MIN, MODIFIES, NAME, NEW, NUMBER, OBJECT, OCTET_LENGTH, \ - OFF, OLD, OUT, PAGESIZE, PARAMETER, PASSWORD, PATH, PLANONLY, \ - PUBLICATION, RAW, READS, REFERENCING, RELEASE, REPEATABLE, RETURN, \ - RETURNS, ROUTINE, ROW, SAVEPOINT, SCALAR, SERIALIZABLE, SESSION_USER, \ - SIGNAL, SNAPSHOT, SPECIFIC, STARTSTATEMENT, STYLE, SUBSCRIPTION, \ - SWITCHLOGFILE, SYSDATE, SYSTIME, SYSTIMESTAMP, TEXT, TINYINT, \ - TRIGGER, UNCOMMITTED, UNISYNC, VARBINARY, VARCHAR2 diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/POSTGRES.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/POSTGRES.properties deleted file mode 100644 index 194a2c05012..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/POSTGRES.properties +++ /dev/null @@ -1,68 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -#mapping between jdbc and postgresql -BIGINT=BIGINT -BLOB=BYTEA -BIT=BOOLEAN -CLOB=TEXT -DOUBLE=DOUBLE PRECISION - -# maximum length for table name, column name and constraint name -table-name.maximum-length=63 -column-name.maximum-length=63 -constraint-name.maximum-length=63 - -# -# Properties to indicate how to format SQL -# - -# Text used to indicate that a column is nullable -# (Yes, it is supposed to be the empty string) -columnNullability.sql-format= - -# Reserved words -reserved-words=ABORT, ACL, AGGREGATE, APPEND, ARCHIVE, ARCH_STORE, \ -BACKWARD, BINARY, BOOLEAN, CHANGE, CLUSTER, COPY, DATABASE, DELIMITER, \ -DELIMITERS, DO, EXTEND, EXPLAIN, FORWARD, HEAVY, INDEX, INHERITS, \ -ISNULL, LIGHT, LISTEN, LOAD, MERGE, NOTHING, NOTIFY, NOTNULL, OIDS, \ -PURGE, RENAME, REPLACE, RETRIEVE, RETURNS, RULE, RECIPE, SETOF, \ -STDIN, STDOUT, STORE, VACUUM, VERBOSE, VERSION - diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SQL92.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SQL92.properties deleted file mode 100644 index d0905f2ce9f..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SQL92.properties +++ /dev/null @@ -1,254 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# Default table name -{class-name}.table-name={CLASSNAME} - -# Default column name -{class-name}.{field-name}.column-name={FIELDNAME} - -# Default elements of relationship policies -{class-name}.{relationship-field-name}.join-table-name={CLASSNAMES} -{class-name}.{relationship-field-name}.constraint-name={FIELDNAMES} - -# maximum length for table name, column name and constraint name -table-name.maximum-length=30 -column-name.maximum-length=30 -constraint-name.maximum-length=30 - -# -# Mappings between jdbc and sql92. Note that BLOB and CLOB are not part of -# the SQL92 spec, but we provide support since most databases allow them. -# -BIT=BIT -TINYINT=SMALLINT -CHAR=CHAR -DOUBLE=DOUBLE -REAL=REAL -INTEGER=INTEGER -BIGINT=DECIMAL -SMALLINT=SMALLINT -BLOB=BLOB -CLOB=CLOB -VARCHAR=VARCHAR -DECIMAL=DECIMAL -TIMESTAMP=TIMESTAMP -DATE=DATE -TIME=TIME - -# Map user overrides which specify type names to appropriate JDBC types. This -# allows databases to use different type names in creating columns and -# accessing those columns via JDBC. By default, they map to themselves. -# -# While SQL92 does not, strictly speaking, support LOBs, most databases do, so -# we provide a level of support. -BLOB.jdbc-type=BLOB -CLOB.jdbc-type=CLOB - -# By default, LOBs must not provide a length. -BLOB.jdbc-maximum-length=null -CLOB.jdbc-maximum-length=null - -# By default, LOBs are nullable. -BLOB.jdbc-nullable=true -CLOB.jdbc-nullable=true - -# -# Mappings between java type to jdbc type -# -boolean.jdbc-type = BIT -boolean.jdbc-nullable=false - -byte.jdbc-type = TINYINT -byte.jdbc-nullable = false - -char.jdbc-type = CHAR -char.jdbc-nullable = false -char.jdbc-precision = 1 - -double.jdbc-type = DOUBLE -double.jdbc-nullable = false - -float.jdbc-type = REAL -float.jdbc-nullable = false - -int.jdbc-type = INTEGER -int.jdbc-nullable = false - -long.jdbc-type = BIGINT -long.jdbc-nullable = false - -short.jdbc-type = SMALLINT -short.jdbc-nullable = false - -java.lang.Double.jdbc-type = DOUBLE -java.lang.Double.jdbc-nullable = true - -java.lang.Integer.jdbc-type = INTEGER -java.lang.Integer.jdbc-nullable = true - -java.lang.Long.jdbc-type = BIGINT -java.lang.Long.jdbc-nullable = true - -java.lang.Float.jdbc-type = REAL -java.lang.Float.jdbc-nullable = true - -java.lang.Character.jdbc-type = CHAR -java.lang.Character.jdbc-nullable = true -java.lang.Character.jdbc-precision = 1 - -java.lang.Byte.jdbc-type = TINYINT -java.lang.Byte.jdbc-nullable = true - -# Ideally, java.lang.Boolean should be mapped to jdbc type BOOLEAN. -# Mapping this type to BIT is a workaround since most of the drivers -# currently do not support setNull with BOOLEAN. -# -java.lang.Boolean.jdbc-type = BIT -java.lang.Boolean.jdbc-nullable = true - -java.lang.Short.jdbc-type = SMALLINT -java.lang.Short.jdbc-nullable = true - -java.lang.Object.jdbc-type = BLOB -java.lang.Object.jdbc-nullable = true - -java.lang.Object[].jdbc-type = BLOB -java.lang.Object[].jdbc-nullable = true - -java.lang.String.jdbc-type = VARCHAR -java.lang.String.jdbc-nullable = true -java.lang.String.jdbc-maximum-length = 256 - -java.lang.StringBuffer.jdbc-type = VARCHAR -java.lang.StringBuffer.jdbc-nullable = true -java.lang.StringBuffer.jdbc-maximum-length = 4000 - -java.lang.StringBuilder.jdbc-type = VARCHAR -java.lang.StringBuilder.jdbc-nullable = true -java.lang.StringBuilder.jdbc-maximum-length = 4000 - -java.math.BigDecimal.jdbc-type = DECIMAL -java.math.BigDecimal.jdbc-nullable = true -java.math.BigDecimal.jdbc-precision = 38 - -java.math.BigInteger.jdbc-type = DECIMAL -java.math.BigInteger.jdbc-nullable = true -java.math.BigInteger.jdbc-precision = 38 - -java.util.Date.jdbc-type = TIMESTAMP -java.util.Date.jdbc-nullable = true - -java.sql.Date.jdbc-type = DATE -java.sql.Date.jdbc-nullable = true - -java.sql.Time.jdbc-type = TIME -java.sql.Time.jdbc-nullable = true - -java.sql.Timestamp.jdbc-type = TIMESTAMP -java.sql.Timestamp.jdbc-nullable = true - -# -# Properties to indicate how to format SQL -# - -statementSeparator.sql-format=; - -# Create table template -# {0} - table name -createTableStart.sql-format=CREATE TABLE {0} ( -createTableEnd.sql-format=) - -# Create index -# {0} - table name -# {1} - column name (comma separated, if more than one column name) -createIndex.sql-format= - -# Text used to indicate that a column is nullable -columnNullability.sql-format=NULL - -# Alter table for constraint -# {0} - table name -# {1} - constraint name -alterTableAddConstraintStart.sql-format=ALTER TABLE {0} ADD -alterTableDropConstraint.sql-format=ALTER TABLE {0} DROP CONSTRAINT {1} - -# Primary and Foreign key -# {0} - constraint name -# {1} - column name (comma separated, if more than one column name) -# {2} - reference table name -# {3} - reference column name (comma separated, if more than one column name) -primaryKeyConstraint.sql-format=CONSTRAINT {0} PRIMARY KEY ({1}) -foreignKeyConstraint.sql-format=CONSTRAINT {0} FOREIGN KEY ({1}) REFERENCES {2} ({3}) - -# Drop table -# {0} - table name -dropTable.sql-format=DROP TABLE {0} - -# Reserved words -reserved-words=ABSOLUTE, ACTION, ADD, ALL, ALLOCATE, ALTER, AND, ANY, ARE, AS, \ - ASC, ASSERTION, AT, AUTHORIZATION, AVG, BEGIN, BETWEEN, BIT, \ - BIT-LENGTH, BOTH, BY, CASCADE, CASCADED, CASE, CAST, CATALOG, \ - CHAR, CHAR-LENGTH, CHARACTER, CHARACTER-LENGTH, CHECK, CLOSE, \ - COALESCE, COLLATE, COLLATION, COLUMN, COMMIT, CONNECT, CONNECTION, \ - CONSTRAINT, CONSTRAINTS, CONTINUE, CONVERT, CORRESPONDING, COUNT, \ - CREATE, CROSS, CURRENT, CURRENT-DATE, CURRENT-TIME, CURRENT-TIMESTAMP, \ - CURRENT-USER, CURSOR, DATE, DAY, DEALLOCATE, DEC, DECIMAL, DECLARE, \ - DEFAULT, DEFERRABLE, DEFERRED, DELETE, DESC, DESCRIBE, DESCRIPTOR, \ - DIAGNOSTICS, DISCONNECT, DISTINCT, DOMAIN, DOUBLE, DROP, ELSE, \ - END, END-EXEC, ESCAPE, EXCEPT, EXCEPTION, EXEC, EXECUTE, EXISTS, \ - EXTERNAL, EXTRACT, FALSE, FETCH, FIRST, FLOAT, FOR, FOREIGN, \ - FOUND, FROM, FULL, GET, GLOBAL, GO, GOTO, GRANT, GROUP, HAVING, \ - HOUR, IDENTITY, IMMEDIATE, IN, INDICATOR, INITIALLY, INNER, INPUT, \ - INSENSITIVE, INSERT, INT, INTEGER, INTERSECT, INTERVAL, INTO, \ - IS, ISOLATION, JOIN, KEY, LANGUAGE, LAST, LEADING, LEFT, LEVEL, \ - LIKE, LOCAL, LOWER, MATCH, MAX, MIN, MINUTE, MODULE, MONTH, \ - NAMES, NATIONAL, NATURAL, NCHAR, NEXT, NO, NOT, NULL, NULLIF, \ - NUMERIC, OCTET-LENGTH, OF, ON, ONLY, OPEN, OPTION, OR, ORDER, \ - OUTER, OUTPUT, OVERLAPS, PAD, PARTIAL, POSITION, PRECISION, PREPARE, \ - PRESERVE, PRIMARY, PRIOR, PRIVILEGES, PROCEDURE, PUBLIC, READ, \ - REAL, REFERENCES, RELATIVE, RESTRICT, REVOKE, RIGHT, ROLLBACK, \ - ROWS, SCHEMA, SCROLL, SECOND, SECTION, SELECT, SESSION, SESSION-USER, \ - SET, SIZE, SMALLINT, SOME, SPACE, SQL, SQLCODE, SQLERROR, SQLSTATE, \ - SUBSTRING, SUM, SYSTEM-USER, TABLE, TEMPORARY, THEN, TIME, TIMESTAMP, \ - TIMEZONE-HOUR, TIMEZONE-MINUTE, TO, TRAILING, TRANSACTION, TRANSLATE, \ - TRANSLATION, TRIM, TRUE, UNION, UNIQUE, UNKNOWN, UPDATE, UPPER, \ - USAGE, USER, USING, VALUE, VALUES, VARCHAR, VARYING, VIEW, WHEN, \ - WHENEVER, WHERE, WITH, WORK, WRITE, YEAR, ZONE diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SYBASE.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SYBASE.properties deleted file mode 100644 index 13974c0dd6f..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SYBASE.properties +++ /dev/null @@ -1,97 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -#mapping between jdbc and sybase -BIT=TINYINT -TINYINT=TINYINT -DOUBLE=DOUBLE PRECISION -REAL=FLOAT -BIGINT=NUMERIC -TIMESTAMP=DATETIME -DATE=DATETIME -TIME=DATETIME -LONGVARBINARY=IMAGE -LONGVARCHAR=TEXT - -# Map user overrides which specify type names to appropriate JDBC types. -# Sybase drivers do not support BLOB nor CLOB. These mappings effectively say -# that when an override specifies the key type (e.g. CLOB), JDBC access will -# be via the value type (e.g. LONGVARCHAR). -BLOB.jdbc-type=LONGVARBINARY -CLOB.jdbc-type=LONGVARCHAR - -# Sybase's default of 18 digits is not enough to store a long. -long.jdbc-precision = 19 -java.lang.Long.jdbc-precision = 19 - -# maximum length for table name, column name and constraint name -table-name.maximum-length=28 -column-name.maximum-length=28 -constraint-name.maximum-length=28 - -# create create table and drop table definition -statementSeparator.sql-format=go - -# Reserved words -reserved-words=AFTER, ALIAS, ARITH_OVERFLOW, ASYNC, BEFORE, BIT_LENGTH, BOOLEAN, \ - BREADTH, BREAK, BROWSE, BULK, CALL, CHAR_CONVERT, CHAR_LENGTH, \ - CHARACTER_LENGTH, CHECKPOINT, CLUSTERED, COMPLETION, COMPUTE, \ - CONFIRM, CONTROLROW, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, \ - CURRENT_USER, CYCLE, DATA, DATABASE, DBCC, DEPTH, DETERMINISTIC, \ - DICTIONARY, DISK, DUMMY, DUMP, EACH, ELSEIF, ENDTRAN, EQUALS, \ - ERRLVL, ERRORDATA, ERROREXIT, EXCLUSIVE, EXIT, EXP_ROW_SIZE, \ - FILLFACTOR, FUNC, FUNCTION, GENERAL, HOLDLOCK, IDENTITY_GAP, \ - IDENTITY_INSERT, IDENTITY_START, IF, IGNORE, INDEX, INOUT, INSTALL, \ - JAR, KILL, LEAVE, LESS, LIMIT, LINENO, LOAD, LOCK, LOOP, MAX_ROWS_PER_PAGE, \ - MIN, MIRROR, MIRROREXIT, MODIFY, NEW, NOHOLDLOCK, NONCLUSTERED, \ - NONE, NUMERIC_TRUNCATION, OBJECT, OCTET_LENGTH, OFF, OFFSETS, \ - OID, OLD, ONCE, ONLINE, OPERATION, OPERATORS, OTHERS, OUT, OVER, \ - PARAMETERS, PARTITION, PENDANT, PERM, PERMANENT, PLAN, PREORDER, \ - PRINT, PRIVATE, PROC, PROCESSEXIT, PROTECTED, PROXY_TABLE, QUIESCE, \ - RAISERROR, READPAST, READTEXT, RECONFIGURE, RECURSIVE, REF, REMOVE, \ - REFERENCING, REORG, REPLACE, REPLICATION, RESERVEPAGEGAP, RESIGNAL, \ - RETURN, RETURNS, ROLE, ROUTINE, ROW, ROWCOUNT, RULE, SAVE, SAVEPOINT, \ - SEARCH, SENSITIVE, SEQUENCE, SESSION_USER, SETUSER, SHARED, SHUTDOWN, \ - SIGNAL, SIMILAR, SQLEXCEPTION, STATISTICS, STRINGSIZE, STRIPE, \ - STRUCTURE, SYB_IDENTITY, SYB_RESTREE, SYB_TERMINATE, SYSTEM_USER, \ - TEMP, TEST, TEXTSIZE, THERE, TIMEZONE_HOUR, TIMEZONE_MINUTE, \ - TRAN, TRIGGER, TRUNCATE, TSEQUAL, TYPE, UNDER, UNPARTITION, USE, \ - USER_OPTION, VARIABLE, VIRTUAL, VISIBLE, WAIT, WAITFOR, WHILE, \ - WITHOUT, WRITETEXT diff --git a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SYMFOWARE.properties b/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SYMFOWARE.properties deleted file mode 100644 index 9b91ca76324..00000000000 --- a/appserver/persistence/cmp/generator-database/src/main/java/com/sun/jdo/spi/persistence/generator/database/SYMFOWARE.properties +++ /dev/null @@ -1,117 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# maximum length for table name, column name and constraint name -table-name.maximum-length=18 -column-name.maximum-length=18 -constraint-name.maximum-length=18 - -#mapping between jdbc and Symfoware V10 -BIT=SMALLINT -DOUBLE=DOUBLE PRECISION -CLOB=VARCHAR - -# LOBs must be 2 GB or less. -BLOB.jdbc-maximum-length=1024 -CLOB.jdbc-maximum-length=32000 - -java.math.BigDecimal.jdbc-precision = 18 -java.math.BigInteger.jdbc-precision = 18 - -# Create index -# {0} - table name -# {1} - column name (comma separated, if more than one column name) -createIndex.sql-format=CREATE INDEX {0}.{0} KEY( {1} ) - -# Text used to indicate that a column is nullable -columnNullability.sql-format= - -# Alter table for constraint -# {0} - table name -# {1} - constraint name -alterTableAddConstraintStart.sql-format= -alterTableDropConstraint.sql-format= - -# Primary and Foreign key -# {0} - constraint name -# {1} - column name (comma separated, if more than one column name) -# {2} - reference table name -# {3} - reference column name (comma separated, if more than one column name) -primaryKeyConstraint.sql-format=PRIMARY KEY ({1}) -foreignKeyConstraint.sql-format= - -# Drop table -# {0} - table name -dropTable.sql-format=DROP TABLE {0} CASCADE - -# Reserved words -reserved-words=ABSOLUTE, ACTION, ADD, ADMIN, AFTER, ALL, ALLOCATE, ALTER, AND, ANY, \ - ARE, AS, ASC, ASSERTION, AT, AUTHORIZATION, AVG, BEFORE, BEGIN, BETWEEN, \ - BINARY, BIT, BIT_LENGTH, BLOB, BOTH, BY, CALL, CASCADE, CASCADED, \ - CASE, CAST, CATALOG, CHAR, CHARACTER, CHARACTER_LENGT, CHAR_LENGTH, \ - CHECK, CLOSE, COALESCE, COLLATE, COLLATION, COLUMN, COMMIT, CONDITION, \ - CONNECT, CONNECTION, CONSTRAINT, CONSTRAINTS, CONTINUE, CONVERT, \ - CORRESPONDING, COUNT, CREATE, CROSS, CURRENT, CURRENT_DATE, CURRENT_TIME, \ - CURRENT_TIMESTAMP, CURRENT_USER, CURSOR, DATE, DAY, DEALLOCATE, DEC, \ - DECIMAL, DECLARE, DEFAULT, DEFERRABLE, DEFERRED, DELETE, DESC, DESCRIBE, \ - DESCRIPTOR, DIAGNOSTICS, DISCONNECT, DISTINCT, DO, DOMAIN, DOUBLE, \ - DROP, EACH, ELSE, ELSEIF, END, END-EXEC, ESCAPE, EXCEPT, EXCEPTION, \ - EXEC, EXECUTE, EXISTS, EXIT, EXTERNAL, EXTRACT, FALSE, FETCH, FIRST, \ - FLOAT, FOR, FOREIGN, FOUND, FROM, FULL, FUNCTION, GET, GLOBAL, GO, \ - GOTO, GRANT, GROUP, HANDLER, HAVING, HOUR, IDENTITY, IF, IMMEDIATE, \ - IN, INDICATOR, INITIALLY, INNER, INOUT, INPUT, INSENSITIVE, INSERT, \ - INSTEAD, INT, INTEGER, INTERSECT, INTERVAL, INTO, IS, ISOLATION, \ - JOIN, KEY, LANGUAGE, LARGE, LAST, LEADING, LEAVE, LEFT, LEVEL, LIKE, \ - LOCAL, LOOP, LOWER, MATCH, MAX, MIN, MINUTE, MODULE, MONTH, NAMES, \ - NATIONAL, NATURAL, NCHAR, NEW, NEW_TABLE, NEXT, NO, NONE, NOT, NULL, \ - NULLIF, NUMERIC, OBJECT, OCTET_LENGTH, OF, OLD, OLD_TABLE, ON, ONLY, \ - OPEN, OPTION, OR, ORDER, OUT, OUTER, OUTPUT, OVERLAPS, PAD, PARALLEL, \ - PARAMETER, PARTIAL, POSITION, PRECISION, PREPARE, PRESERVE, PRIMARY, \ - PRIOR, PRIVILEGES, PROCEDURE, PUBLIC, READ, REAL, REDO, REFERENCES, \ - REFERENCING, RELATIVE, REPEAT, RESIGNAL, RESTRICT, RETURN, RETURNS, \ - REVOKE, RIGHT, ROLE, ROLLBACK, ROUTINE, ROW, ROWNUM, ROWS, ROW_ID, \ - SCHEMA, SCROLL, SECOND, SECTION, SELECT, SEQUENCE, SESSION, SESSION_USER, \ - SET, SIGNAL, SIZE, SMALLINT, SOME, SPACE, SPECIFIC, SQL, SQLCODE, \ - SQLERROR, SQLEXCEPTION, SQLSTATE, SQLWARNING, SUBSTRING, SUM, SYSTEM_USER, \ - TABLE, TEMPORARY, THEN, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE, \ - TO, TRAILING, TRANSACTION, TRANSLATE, TRANSLATION, TRIGGER, TRIM, \ - TRUE, UNDO, UNION, UNIQUE, UNKNOWN, UNTIL, UPDATE, UPPER, USAGE, \ - USER, USING, VALUE, VALUES, VARCHAR, VARYING, VIEW, WHEN, WHENEVER, \ - WHERE, WHILE, WITH, WORK, WRITE, YEAR, ZONE diff --git a/appserver/persistence/cmp/internal-api/osgi.bundle b/appserver/persistence/cmp/internal-api/osgi.bundle deleted file mode 100644 index c635cc3e751..00000000000 --- a/appserver/persistence/cmp/internal-api/osgi.bundle +++ /dev/null @@ -1,42 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - --exportcontents: \ - com.sun.jdo.api.persistence.support; version=${project.osgi.version} diff --git a/appserver/persistence/cmp/internal-api/pom.xml b/appserver/persistence/cmp/internal-api/pom.xml deleted file mode 100644 index 8718cdf27b7..00000000000 --- a/appserver/persistence/cmp/internal-api/pom.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp - 7.2026.5-SNAPSHOT - - cmp-internal-api - glassfish-jar - - internal-api module for cmp - - - - mm110999 - Mitesh Meswani - Oracle, Inc. - - developer - lead - - - - - - - jakarta.transaction - jakarta.transaction-api - - - fish.payara.server.internal.persistence - persistence-common - ${project.version} - - - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/ConnectionFactory.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/ConnectionFactory.java deleted file mode 100644 index ea591b4948d..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/ConnectionFactory.java +++ /dev/null @@ -1,203 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConnectionFactory.java - * - * Created on March 7, 2000, 5:09 PM - */ - -package com.sun.jdo.api.persistence.support; - -import java.lang.String; -import java.io.PrintWriter; -import java.sql.Connection; - -/** - * - * @author Craig Russell - * @version 0.1 - */ -public interface ConnectionFactory { - - /** - * Returns java.sql.Connection - * @return connection as java.sql.Connection - */ - Connection getConnection(); - - /** - * Sets JDBC driver name - * @param driverName JDBC driver name - */ - void setDriverName (String driverName); - - /** - * Returns JDBC driver name - * @return driver name - */ - String getDriverName (); - - /** - * Sets JDBC connection URL - * @param URL connection URL - */ - void setURL (String URL); - - /** - * Returns connection URL - * @return connection URL - */ - String getURL (); - - /** - * Sets database user - * @param userName database user - */ - void setUserName (String userName); - - /** - * Returns database user name - * @return current database user name - */ - String getUserName (); - - /** - * Sets database user password - * @param password database user password - */ - void setPassword (char[] password); - - /** - * Sets minimum number of connections in the connection pool - * @param minPool minimum number of connections - */ - void setMinPool (int minPool); - - /** - * Returns minimum number of connections in the connection pool - * @return connection minPool - */ - int getMinPool (); - - /** - * Sets maximum number of connections in the connection pool - * @param maxPool maximum number of connections - */ - void setMaxPool (int maxPool); - - /** - * Returns maximum number of connections in the connection pool - * @return connection maxPool - */ - int getMaxPool (); - - /** - * Sets the amount of time, in milliseconds, between the connection - * manager's attempts to get a pooled connection. - * @param msInterval the interval between attempts to get a database - * connection, in milliseconds. - * - */ - void setMsInterval (int msInterval); - - /** - * Returns the amount of time, in milliseconds, between the connection - * manager's attempts to get a pooled connection. - * @return the length of the interval between tries in milliseconds - */ - int getMsInterval (); - - /** - * Sets the number of milliseconds to wait for an available connection - * from the connection pool before throwing an exception - * @param msWait number in milliseconds - */ - void setMsWait (int msWait); - - /** - * Returns the number of milliseconds to wait for an available connection - * from the connection pool before throwing an exception - * @return number in milliseconds - */ - int getMsWait (); - - /** - * Sets the LogWriter to which messages should be sent - * @param logWriter - */ - void setLogWriter (PrintWriter logWriter); - - /** - * Returns the LogWriter to which messages should be sent - * @return logWriter - */ - PrintWriter getLogWriter (); - - /** - * Sets the number of seconds to wait for a new connection to be - * established to the data source - * @param loginTimeout wait time in seconds - */ - void setLoginTimeout (int loginTimeout); - - /** - * Returns the number of seconds to wait for a new connection to be - * established to the data source - * @return wait time in seconds - */ - int getLoginTimeout (); - - /** - * Sets transaction isolation level for all connections of this ConnectionFactory. - * All validation is done by java.sql.Connection itself, so e.g. while Oracle - * will not allow to set solation level to TRANSACTION_REPEATABLE_READ, this method - * does not have any explicit restrictions - * - * @param level - one of the java.sql.Connection.TRANSACTION_* isolation values - */ - void setTransactionIsolation (int level); - - /** - * Returns current transaction isolation level for connections of this ConnectionFactory. - * @return the current transaction isolation mode value as java.sql.Connection.TRANSACTION_* - */ - int getTransactionIsolation (); -} diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/FieldMapping.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/FieldMapping.java deleted file mode 100644 index 86227e7d221..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/FieldMapping.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.support; - -/** - * FieldMapping inteface is information of a column element for - * external user. - * @author Shing Wai Chan - */ -public interface FieldMapping { - /** - * This method will return int corresponding to java.sql.Types. - */ - public int getColumnType(); - - /** - * This method will return the name of the column. - */ - public String getColumnName(); - - /** - * This method return -1 if column length is unknown. - */ - public int getColumnLength(); -} diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/InstanceCallbacks.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/InstanceCallbacks.java deleted file mode 100644 index 301009c5e5b..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/InstanceCallbacks.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * InstanceCallbacks.java - * - * Created on February 25, 2000 - */ - -package com.sun.jdo.api.persistence.support; - -/** - * - * @author Craig Russell - * @version 0.1 - */ - -/** - * A PersistenceCapable class that provides callback methods for life - * cycle events implements this interface. - * - *

    Classes which include derived fields (transient fields whose values depend - * on the values of persistent fields) require callbacks on specific - * JDO Instance life cycle events in order to correctly populate the - * values in these fields. - * - *

    This interface defines the methods executed - * by the PersistenceManager for these life cycle events. If the class - * implements InstanceCallbacks, it must explicitly declare it in the - * class definition. The Reference Enhancer does not modify the declaration or - * any of the methods in the interface. - */ -public interface InstanceCallbacks -{ - /** - * Called after the values are loaded from the data store into - * this instance. - * - *

    Derived fields should be initialized in this method. - * - *

    This method is never modified by the Reference Enhancer. - */ - void jdoPostLoad(); - - /** - * Called before the values are stored from this instance to the - * data store. - * - *

    Database fields that might have been affected by modified derived - * fields should be updated in this method. - * - *

    This method is never modified by the Reference Enhancer. - */ - void jdoPreStore(); - - /** - * Called before the values in the instance are cleared. - * - *

    Transient fields should be cleared in this method, as they will - * not be affected by the jdoClear method. Associations between this - * instance and others in the runtime environment should be cleared. - * - *

    This method is never modified by the Reference Enhancer. - */ - void jdoPreClear(); -} diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOCanRetryException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOCanRetryException.java deleted file mode 100644 index 1db2ea3f228..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOCanRetryException.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOCanRetryException.java - * - * Created on March 8, 2000, 8:32 AM - */ - -package com.sun.jdo.api.persistence.support; - -/** - * - * @author clr - * @version 0.1 - */ -public class JDOCanRetryException extends JDOException { - - /** - * Creates a new JDOCanRetryException without detail message. - */ - public JDOCanRetryException() { - } - - - /** - * Constructs a new JDOCanRetryException with the specified detail message. - * @param msg the detail message. - */ - public JDOCanRetryException(String msg) { - super(msg); - } - - /** - * Constructs a new JDOCanRetryException with the specified detail message and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDOCanRetryException(String msg, Exception nested) { - super(msg, nested); - } - - /** Constructs a new JDOCanRetryException with the specified detail message - * and failed object array. - * @param msg the detail message. - * @param failed the failed object array. - */ - public JDOCanRetryException(String msg, Object[] failed) { - super(msg, failed); - } - - /** Constructs a new JDOCanRetryException with the specified detail message, - * nested exception, and failed object array. - * @param msg the detail message. - * @param nested the nested Exception. - * @param failed the failed object array. - */ - public JDOCanRetryException(String msg, Exception nested, Object[] failed) { - super(msg, nested, failed); - } -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDODataStoreException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDODataStoreException.java deleted file mode 100644 index e6b34f20772..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDODataStoreException.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDODataStoreException.java - * - * Created on March 8, 2000, 8:37 AM - */ - -package com.sun.jdo.api.persistence.support; - -/** - * - * @author Craig Russell - * @version 0.1 - */ -public class JDODataStoreException extends JDOCanRetryException { - - /** - * Creates a new JDODataStoreException without detail message. - */ - public JDODataStoreException() { - } - - - /** - * Constructs a new JDODataStoreException with the specified detail message. - * @param msg the detail message. - */ - public JDODataStoreException(String msg) { - super(msg); - } - - /** - * Constructs a new JDODataStoreException with the specified detail message and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDODataStoreException(String msg, Exception nested) { - super(msg, nested); - } - - /** Constructs a new JDODataStoreException with the specified detail message - * and failed object array. - * @param msg the detail message. - * @param failed the failed object array. - */ - public JDODataStoreException(String msg, Object[] failed) { - super(msg, failed); - } - - /** Constructs a new JDODataStoreException with the specified detail message, - * nested exception, and failed object array. - * @param msg the detail message. - * @param nested the nested Exception. - * @param failed the failed object array. - */ - public JDODataStoreException(String msg, Exception nested, Object[] failed) { - super(msg, nested, failed); - } -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDODuplicateObjectIdException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDODuplicateObjectIdException.java deleted file mode 100644 index f94cbcb4529..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDODuplicateObjectIdException.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDODuplicateObjectIdException.java - * - * Created on May 06, 2002 - */ - -package com.sun.jdo.api.persistence.support; - -/** JDODuplicateObjectIdException is thrown in case this PersistenceManager - * has another instance with the same Object Id in its cache. - * - * @author Marina Vatkina - * @version 0.1 - */ -public class JDODuplicateObjectIdException extends JDOUserException -{ - /** - * Creates a new JDODuplicateObjectIdException without detail message. - */ - public JDODuplicateObjectIdException() - { - } - - /** - * Constructs a new JDODuplicateObjectIdException with the specified detail message. - * @param msg the detail message. - */ - public JDODuplicateObjectIdException(String msg) - { - super(msg); - } - - /** - * Constructs a new JDODuplicateObjectIdException with the specified detail message - * and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDODuplicateObjectIdException(String msg, Exception nested) - { - super(msg, nested); - } - - /** Constructs a new JDODuplicateObjectIdException with the specified detail message - * and failed object array. - * @param msg the detail message. - * @param failed the failed object array. - */ - public JDODuplicateObjectIdException(String msg, Object[] failed) { - super(msg, failed); - } - - /** Constructs a new JDODuplicateObjectIdException with the specified detail message, - * nested exception, and failed object array. - * @param msg the detail message. - * @param nested the nested Exception. - * @param failed the failed object array. - */ - public JDODuplicateObjectIdException(String msg, Exception nested, Object[] failed) { - super(msg, nested, failed); - } -} diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOException.java deleted file mode 100644 index 1795dd2378b..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOException.java +++ /dev/null @@ -1,226 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * JDOException.java - * - * Created on March 8, 2000, 8:29 AM - */ - -package com.sun.jdo.api.persistence.support; - -/** This is the root of all JDO Exceptions. It contains an optional - * nested Exception and an optional message. - * @author Craig Russell - * @version 0.1 - */ -public class JDOException extends java.lang.RuntimeException { - - /** This exception was generated because of an exception in the runtime library. - * @serial the nested Exception - */ - Exception nested; - - /** This exception may be the result of incorrect parameters supplied - * to an API. This is the array from which the user can determine - * the cause of the problem. - * The failed Object array is transient because it might contain - * non-Serializable instances. - */ - transient Object[] failed; - - /** - * Creates a new JDOException without detail message. - */ - public JDOException() { - } - - - /** - * Constructs a new JDOException with the specified detail message. - * @param msg the detail message. - */ - public JDOException(String msg) { - super(msg); - } - - /** Constructs a new JDOException with the specified detail message - * and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDOException(String msg, Exception nested) { - super(msg, nested); - this.nested = nested; - } - - /** Constructs a new JDOException with the specified detail message - * and failed object array. - * @param msg the detail message. - * @param failed the failed object array. - */ - public JDOException(String msg, Object[] failed) { - super(msg); - this.failed = failed; - } - - /** Constructs a new JDOException with the specified detail message, - * nested exception, and failed object array. - * @param msg the detail message. - * @param nested the nested Exception. - * @param failed the failed object array. - */ - public JDOException(String msg, Exception nested, Object[] failed) { - super(msg, nested); - this.nested = nested; - this.failed = failed; - } - - /** The exception may need to add objects to an array of failed objects. - * @param o the failed object to add to an array. - */ - public void addFailedObject(Object o) { - if (failed == null) - //Create new - failed = new Object[] {o}; - else { - //Extend exisisting - int len = failed.length; - Object[] ofailed = failed; - failed = new Object[len + 1]; - for (int i = 0; i < len; i++) - failed[i] = ofailed[i]; - - failed[len] = o; - } - } - - /** The exception may include an array of failed objects. - * @return the failed object array. - */ - public Object[] getFailedObjectArray() { - return failed; - } - - /** The exception may have been caused by an Exception in the runtime. - * @return the nested Exception. - */ - public Exception getNestedException() { - return nested; - } - - /** The String representation includes the name of the class, - * the descriptive comment (if any), - * the String representation of the nested Exception (if any), - * and the String representation of the failed Object array (if any). - * @return the String. - */ - public String toString() { - int len = 0; - if (failed != null) { - len = failed.length; - } - // calculate approximate size of the String to return - StringBuilder sb = new StringBuilder (100 + 10 * len); - sb.append (super.toString()); - // include nested exception information - if (nested != null) { - sb.append ("\nNestedException: "); //NOI18N - sb.append (nested.toString()); - } - // include failed object information - if (len > 0) { - sb.append ("\nFailedObjectArray: ["); //NOI18N - Object ofail = failed[0]; - sb.append (JDOHelper.printObject(ofail)); - for (int i=1; iJDOException and its backtrace to the - * standard error output. - * Prints nested Throwables' stack trace as well. - */ - public void printStackTrace() { - printStackTrace(System.err); - } - - /** - * Prints this JDOException and its backtrace to the - * specified print stream. - * Prints nested Throwable's stack trace as well. - * @param s PrintStream to use for output - */ - public void printStackTrace(java.io.PrintStream s) { - synchronized (s) { - super.printStackTrace(s); - if (nested != null) { - s.println("\nNestedStackTrace: "); //NOI18N - nested.printStackTrace(s); - } - } - } - - /** - * Prints this JDOException and its backtrace to the specified - * print writer. - * Prints nested Throwable's stack trace as well. - * @param s PrintWriter to use for output - */ - public void printStackTrace(java.io.PrintWriter s) { - synchronized (s) { - super.printStackTrace(s); - if (nested != null) { - s.println("\nNestedStackTrace: "); //NOI18N - nested.printStackTrace(s); - } - } - } - -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalDataStoreException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalDataStoreException.java deleted file mode 100644 index 3e15c9f45b4..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalDataStoreException.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOFatalDataStoreException.java - * - * Created on March 8, 2000, 8:36 AM - */ - -package com.sun.jdo.api.persistence.support; - -/** - * - * @author clr - * @version 0.1 - */ -public class JDOFatalDataStoreException extends JDOFatalException { - - /** - * Creates a new JDOFatalDataStoreException without detail message. - */ - public JDOFatalDataStoreException() { - } - - - /** - * Constructs a new JDOFatalDataStoreException with the specified detail message. - * @param msg the detail message. - */ - public JDOFatalDataStoreException(String msg) { - super(msg); - } - - /** - * Constructs a new JDOFatalDataStoreException with the specified detail message and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDOFatalDataStoreException(String msg, Exception nested) { - super(msg, nested); - } -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalException.java deleted file mode 100644 index 2ce91b616bb..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalException.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOFatalException.java - * - * Created on March 8, 2000, 8:43 AM - */ - -package com.sun.jdo.api.persistence.support; - -/** - * - * @author Craig Russell - * @version 0.1 - */ -public class JDOFatalException extends JDOException { - - /** - * Creates a new JDOFatalException without detail message. - */ - public JDOFatalException() { - } - - - /** - * Constructs a new JDOFatalException with the specified detail message. - * @param msg the detail message. - */ - public JDOFatalException(String msg) { - super(msg); - } - - /** - * Constructs a new JDOFatalException with the specified detail message and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDOFatalException(String msg, Exception nested) { - super(msg, nested); - } -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalInternalException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalInternalException.java deleted file mode 100644 index 28e12e2430c..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalInternalException.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOFatalInternalException.java - * - * Created on March 8, 2000, 8:35 AM - */ - -package com.sun.jdo.api.persistence.support; - -/** - * - * @author Craig Russell - * @version 0.1 - */ -public class JDOFatalInternalException extends JDOFatalException { - - /** - * Creates a new JDOFatalInternalException without detail message. - */ - public JDOFatalInternalException() { - } - - - /** - * Constructs a new JDOFatalInternalException with the specified detail message. - * @param msg the detail message. - */ - public JDOFatalInternalException(String msg) { - super(msg); - } - - /** - * Constructs a new JDOFatalInternalException with the specified detail message and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDOFatalInternalException(String msg, Exception nested) { - super(msg, nested); - } -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalUserException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalUserException.java deleted file mode 100644 index 37753288a17..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOFatalUserException.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOUserException.java - * - * Created on March 8, 2000, 8:33 AM - */ - -package com.sun.jdo.api.persistence.support; - -/** - * - * @author Craig Russell - * @version 0.1 - */ -public class JDOFatalUserException extends JDOFatalException { - - /** - * Creates a new JDOFatalUserException without detail message. - */ - public JDOFatalUserException() { - } - - - /** - * Constructs a new JDOFatalUserException with the specified detail message. - * @param msg the detail message. - */ - public JDOFatalUserException(String msg) { - super(msg); - } - - /** - * Constructs a new JDOFatalUserException with the specified detail message - * and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDOFatalUserException(String msg,Exception nested) { - super(msg, nested); - } -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOHelper.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOHelper.java deleted file mode 100644 index c499de623a6..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOHelper.java +++ /dev/null @@ -1,326 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOHelper.java - * - * Created on April 18, 2000 - */ - -package com.sun.jdo.api.persistence.support; - -import java.util.ResourceBundle; -import java.util.Collection; - -import org.glassfish.persistence.common.I18NHelper; - -/** - * @author Martin Zaun - * @version 0.1 - */ - -/** - * An utility class for querying PersistenceCapable objects. - */ -public class JDOHelper -{ - /** - * Returns the associated PersistenceManager of an object if there is one. - * - * For transactional and persistent objects, their associated - * PersistenceManager is returned. - * For transient objects, null is returned. - * - * @param obj an Object - * @return the PersistenceManager associated with the object; - * null otherwise - * @see PersistenceCapable#jdoGetPersistenceManager() - */ - static public PersistenceManager getPersistenceManager(Object obj) - { - if (obj instanceof PersistenceCapable) - return ((PersistenceCapable)obj).jdoGetPersistenceManager(); - return null; - } - - /** - * Explicitly marks a field of an object as dirty if the object is - * persistent and transactional. - * - * Normally, PersistenceCapable classes are able to detect changes made - * to their fields. However, if a reference to an Array is given to a - * method outside the class, and the Array is modified, then the - * persistent object is not aware of the change. This method allows the - * application to notify the object that a change was made to a field. - * For transient objects, this method does nothing. - * - * @param obj an object - * @param fieldName the name of the object's field to be marked - * dirty - * @see PersistenceCapable#jdoMakeDirty(String fieldName) - */ - static public void makeDirty(Object obj, String fieldName) - { - if (obj instanceof PersistenceCapable) - ((PersistenceCapable)obj).jdoMakeDirty(fieldName); - } - - /** - * Returns a copy of the JDO identity associated with an object. - * - * Persistent objects of PersistenceCapable classes have a JDO identity - * managed by the PersistenceManager. This method returns a copy of the - * ObjectId that represents the JDO identity of a persistent object. - * For transient objects, null is returned. - *

    - * The ObjectId may be serialized and later restored, and used with - * a PersistenceManager from the same JDO implementation to locate a - * persistent object with the same data store identity. - * If the JDO identity is managed by the application, then the - * ObjectId may be used with a PersistenceManager from any JDO - * implementation that supports the PersistenceCapable class. - * If the JDO identity is not managed by the application or the - * data store, then the ObjectId returned is only valid within the - * current transaction. - * - * @param obj an Object - * @return a copy of the ObjectId of a persistent object; - * null if the object is transient - * @see PersistenceCapable#jdoGetObjectId() - * @see PersistenceManager#getObjectId(Object obj) - * @see PersistenceManager#getObjectById(Object oid) - */ - static public Object getObjectId(Object obj) - { - if (obj instanceof PersistenceCapable) - return ((PersistenceCapable)obj).jdoGetObjectId(); - return null; - } - - /** - * Tests whether an object is dirty. - * - * If the object have been modified, deleted, or newly - * made persistent in the current transaction, true is returned. - * For transient objects, false is returned. - * - * @param obj an Object - * @return true if the object has been modified - * in the current transaction; false - * otherwise. - * @see PersistenceCapable#jdoIsDirty() - * @see PersistenceCapable#jdoMakeDirty(String fieldName) - */ - static public boolean isDirty(Object obj) - { - if (obj instanceof PersistenceCapable) - return ((PersistenceCapable)obj).jdoIsDirty(); - return false; - } - - /** - * Tests whether an object is transactional. - * - * For objects that respect transaction boundaries, true is - * returned. - * These objects include transient objects made transactional as a - * result of being the target of a makeTransactional method call; newly - * made persistent or deleted persistent objects; persistent objects - * read in data store transactions; and persistent objects modified in - * optimistic transactions. - * For non-transactional objects, false is returned. - * - * @param obj an Object - * @return true if the object is transactional; - * false otherwise. - * @see PersistenceCapable#jdoIsTransactional() - */ - static public boolean isTransactional(Object obj) - { - if (obj instanceof PersistenceCapable) - return ((PersistenceCapable)obj).jdoIsTransactional(); - return false; - } - - /** - * Tests whether an object is persistent. - * - * For objects whose state is stored in the data store, true - * is returned. - * For transient objects, false is returned. - * - * @param obj an Object - * @return true if the object is persistent; - * false otherwise. - * @see PersistenceCapable#jdoIsPersistent() - * @see PersistenceManager#makePersistent(Object obj) - */ - static public boolean isPersistent(Object obj) - { - if (obj instanceof PersistenceCapable) - return ((PersistenceCapable)obj).jdoIsPersistent(); - return false; - } - - /** - * Tests whether the object has been newly made persistent. - * - * For objects that have been made persistent in the current transaction, - * true is returned. - * For transient or objects, false is returned. - * - * @param obj an Object - * @return true if the object was made persistent - * in the current transaction; - * false otherwise. - * @see PersistenceCapable#jdoIsNew() - * @see PersistenceManager#makePersistent(Object obj) - */ - static public boolean isNew(Object obj) - { - if (obj instanceof PersistenceCapable) - return ((PersistenceCapable)obj).jdoIsNew(); - return false; - } - - /** - * Tests whether the object has been deleted. - * - * For objects that have been deleted in the current transaction, - * true is returned. - * For transient objects, false is returned. - * - * @param obj an Object - * @return true if the object was deleted in the - * current transaction; - * false otherwise. - * @see PersistenceCapable#jdoIsDeleted() - * @see PersistenceManager#deletePersistent(Object obj) - */ - static public boolean isDeleted(Object obj) - { - if (obj instanceof PersistenceCapable) - return ((PersistenceCapable)obj).jdoIsDeleted(); - return false; - } - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.impl.Bundle", // NOI18N - JDOHelper.class.getClassLoader()); - - /** - * Help string - */ - static final String null_instance = "null"; //NOI18N - - /** - * Prints the object. - * If object is not NULL and is not deleted, calls toString() method - * on the object. - * Does not allow to access fields of the deleted object - */ - static public String printObject(Object o) { - if (o==null) - return null_instance; - else if (isDeleted(o)) - return I18NHelper.getMessage(messages, "jdohelper.deleted_instance", //NOI18N - o.getClass().getName()); - else - return o.toString(); - } - - /** Returns the class loader for the class of the object. - * If object is an instance of the java.util.Collection or - * an Array it is recursively checked for the class loader - * of its elements. - * - * @param obj the object to get the class loader for - * @return the class loader that loaded the class or interface - * represented by this object. - */ - static private ClassLoader getObjectClassLoader(Object obj) { - Class clazz = obj.getClass(); - - if (obj instanceof Collection) { - return getCollectionClassLoader((Collection)obj); - } else if (clazz.isArray()) { - return getArrayClassLoader((Object[])obj); - } else { - return clazz.getClassLoader(); - } - } - - /** Returns the class loader for the elements of the collection. - * If element is itself an instance of the java.util.Collection or - * an Array it is recursively checked for its class loader. - * - * @param col collection of objects to get the class loader for - * @return the class loader that loaded the class or interface - * represented by its elements. - */ - static private ClassLoader getCollectionClassLoader (Collection col) { - Object[] arr = col.toArray(); - return getArrayClassLoader(arr); - } - - /** Returns the first not null class loader for the elements of the - * object array. - * If element is itself an instance of the java.util.Collection or - * an Array it is recursively checked for its class loader. - * - * @param arr array of objects to get the class loader for - * @return the class loader that loaded the class or interface - * represented by its elements. - */ - static private ClassLoader getArrayClassLoader (Object[] arr) { - ClassLoader cl = null; - - for (int i = 0; i < arr.length; i++) { - cl = getObjectClassLoader(arr[i]); - if (cl != null) { - break; - } - } - return cl; - } -} diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOObjectNotFoundException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOObjectNotFoundException.java deleted file mode 100644 index 3c3a61f24f2..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOObjectNotFoundException.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOObjectNotFoundException.java - * - * Created on May 06, 2002 - */ - -package com.sun.jdo.api.persistence.support; - -/** - * JDOObjectNotFoundException is thrown instead of a more generic JDODataStoreException - * in case an internal or an external query returned 0 rows. - * - * @author Marina Vatkina - * @version 0.1 - */ -public class JDOObjectNotFoundException extends JDODataStoreException { - - /** - * Creates a new JDOObjectNotFoundException without detail message. - */ - public JDOObjectNotFoundException() { - } - - - /** - * Constructs a new JDOObjectNotFoundException with the specified - * detail message. - * @param msg the detail message. - */ - public JDOObjectNotFoundException(String msg) { - super(msg); - } - - /** - * Constructs a new JDOObjectNotFoundException with the specified - * detail message and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDOObjectNotFoundException(String msg, Exception nested) { - super(msg, nested); - } - - /** Constructs a new JDOObjectNotFoundException with the specified - * detail message and failed object array. - * @param msg the detail message. - * @param failed the failed object array. - */ - public JDOObjectNotFoundException(String msg, Object[] failed) { - super(msg, failed); - } - - /** Constructs a new JDOObjectNotFoundException with the specified - * detail message, nested exception, and failed object array. - * @param msg the detail message. - * @param nested the nested Exception. - * @param failed the failed object array. - */ - public JDOObjectNotFoundException(String msg, Exception nested, Object[] failed) { - super(msg, nested, failed); - } -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOQueryException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOQueryException.java deleted file mode 100644 index b505a53961f..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOQueryException.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOQueryException.java - * - * Created on March 28, 2000 - */ - -package com.sun.jdo.api.persistence.support; - -/** - * - * @author Michael Bouschen - * @version 0.1 - */ -public class JDOQueryException - extends JDOUserException -{ - /** - * Creates a new JDOQueryException without detail message. - */ - public JDOQueryException() - { - } - - /** - * Constructs a new JDOQueryException with the specified detail message. - * @param msg the detail message. - */ - public JDOQueryException(String msg) - { - super(msg); - } - - /** - * Constructs a new JDOQueryException with the specified detail message - * and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDOQueryException(String msg, Exception nested) - { - super(msg, nested); - } -} diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOUnsupportedOptionException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOUnsupportedOptionException.java deleted file mode 100644 index 3ec53c1d75a..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOUnsupportedOptionException.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOUnsupportedOptionException.java - * - * Created on March 8, 2000, 8:34 AM - */ - -package com.sun.jdo.api.persistence.support; - -/** - * - * @author Craig Russell - * @version 0.1 - */ -public class JDOUnsupportedOptionException extends JDOUserException { - - /** - * Creates a new JDOUnsupportedOptionException without detail message. - */ - public JDOUnsupportedOptionException() { - } - - - /** - * Constructs a new JDOUnsupportedOptionException with the specified detail message. - * @param msg the detail message. - */ - public JDOUnsupportedOptionException(String msg) { - super(msg); - } - - /** - * Constructs a new JDOUnsupportedOptionException with the specified detail message and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDOUnsupportedOptionException(String msg, Exception nested) { - super(msg, nested); - } -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOUserException.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOUserException.java deleted file mode 100644 index f0abb5c045f..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/JDOUserException.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOUserException.java - * - * Created on March 8, 2000, 8:33 AM - */ - -package com.sun.jdo.api.persistence.support; - -/** - * - * @author Craig Russell - * @version 0.1 - */ -public class JDOUserException extends JDOCanRetryException { - - /** - * Creates a new JDOUserException without detail message. - */ - public JDOUserException() { - } - - - /** - * Constructs a new JDOUserException with the specified detail message. - * @param msg the detail message. - */ - public JDOUserException(String msg) { - super(msg); - } - - /** - * Constructs a new JDOUserException with the specified detail message - * and nested Exception. - * @param msg the detail message. - * @param nested the nested Exception. - */ - public JDOUserException(String msg, Exception nested) { - super(msg, nested); - } - - /** Constructs a new JDOUserException with the specified detail message - * and failed object array. - * @param msg the detail message. - * @param failed the failed object array. - */ - public JDOUserException(String msg, Object[] failed) { - super(msg, failed); - } - - /** Constructs a new JDOUserException with the specified detail message, - * nested exception, and failed object array. - * @param msg the detail message. - * @param nested the nested Exception. - * @param failed the failed object array. - */ - public JDOUserException(String msg, Exception nested, Object[] failed) { - super(msg, nested, failed); - } -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceCapable.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceCapable.java deleted file mode 100644 index 8e369b202d8..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceCapable.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceCapable.java - * - * Created on February 25, 2000 - */ - -package com.sun.jdo.api.persistence.support; - -/** - * - * @author Craig Russell - * @version 0.1 - */ - -/** - * A class that can be managed by a JDO implementation. - * - *

    Every class whose instances can be managed by a JDO PersistenceManager must - * implement the PersistenceCapable interface. - * - *

    This interface defines methods that allow the implementation to manage - * the instances. It also defines methods that allow a JDO aware - * application to examine the runtime state of instances. For example, - * an application can discover whether the instance is persistent, transactional, - * dirty, new, or deleted; and to get its associated - * PersistenceManager if it has one. - * - *

    In the Reference Implementation, the JDO Enhancer modifies the class - * to implement PersistenceCapable prior to loading the class into the runtime - * environment. The Reference Enhancer also adds code to implement the - * methods defined by PersistenceCapable. - * - *

    The PersistenceCapable interface is designed to avoid name conflicts - * in the scope of user-defined classes. All of its declared method - * names are prefixed with 'jdo'. - */ -public interface PersistenceCapable -{ - /** Return the associated PersistenceManager if there is one. - * Transactional and persistent instances return the associated - * PersistenceManager. - * - *

    Transient non-transactional instances return null. - *

    - * @return the PersistenceManager associated with this instance. - */ - PersistenceManager jdoGetPersistenceManager(); - - /** Explicitly mark this instance and this field dirty. - * Normally, PersistenceCapable classes are able to detect changes made - * to their fields. However, if a reference to an Array is given to a - * method outside the class, and the Array is modified, then the - * persistent instance is not aware of the change. This API allows the - * application to notify the instance that a change was made to a field. - * - *

    Transient instances ignore this method. - *

    - * @param fieldName the name of the field to be marked dirty. - */ - void jdoMakeDirty(String fieldName); - - /** Return a copy of the JDO identity associated with this instance. - * - *

    Persistent instances of PersistenceCapable classes have a JDO identity - * managed by the PersistenceManager. This method returns a copy of the - * ObjectId that represents the JDO identity. - * - *

    Transient instances return null. - * - *

    The ObjectId may be serialized - * and later restored, and used with a PersistenceManager from the same JDO - * implementation to locate a persistent instance with the same data store - * identity. - * - *

    If the JDO identity is managed by the application, then the ObjectId may - * be used with a PersistenceManager from any JDO implementation that supports - * the PersistenceCapable class. - * - *

    If the JDO identity is not managed by the application or the data store, - * then the ObjectId returned is only valid within the current transaction. - *

    - * @see PersistenceManager#getObjectId(Object pc) - * @see PersistenceManager#getObjectById(Object oid) - * @return a copy of the ObjectId of this instance. - */ - Object jdoGetObjectId(); - - /** Tests whether this object is dirty. - * - * Instances that have been modified, deleted, or newly - * made persistent in the current transaction return true. - * - *

    Transient instances return false. - *

    - * @see #jdoMakeDirty(String fieldName) - * @return true if this instance has been modified in the current transaction. - */ - boolean jdoIsDirty(); - - /** Tests whether this object is transactional. - * - * Instances that respect transaction boundaries return true. These instances - * include transient instances made transactional as a result of being the - * target of a makeTransactional method call; newly made persistent or deleted - * persistent instances; persistent instances read in data store - * transactions; and persistent instances modified in optimistic transactions. - * - *

    Transient instances return false. - *

    - * @return true if this instance is transactional. - */ - boolean jdoIsTransactional(); - - /** Tests whether this object is persistent. - * - * Instances whose state is stored in the data store return true. - * - *

    Transient instances return false. - *

    - * @see PersistenceManager#makePersistent(Object pc) - * @return true if this instance is persistent. - */ - boolean jdoIsPersistent(); - - /** Tests whether this object has been newly made persistent. - * - * Instances that have been made persistent in the current transaction - * return true. - * - *

    Transient instances return false. - *

    - * @see PersistenceManager#makePersistent(Object pc) - * @return true if this instance was made persistent - * in the current transaction. - */ - boolean jdoIsNew(); - - /** Tests whether this object has been deleted. - * - * Instances that have been deleted in the current transaction return true. - * - *

    Transient instances return false. - *

    - * @see PersistenceManager#deletePersistent(Object pc) - * @return true if this instance was deleted - * in the current transaction. - */ - boolean jdoIsDeleted(); - - -} diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceManager.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceManager.java deleted file mode 100644 index c5b766d5b63..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceManager.java +++ /dev/null @@ -1,415 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceManager.java - * - * Created on February 25, 2000 - */ - -package com.sun.jdo.api.persistence.support; -import java.util.Collection; -import java.util.Properties; -import java.lang.Class; - -/** PersistenceManager is the primary interface for JDO-aware application - * components. It is the factory for Query and Transaction instances, - * and contains methods to manage the life cycle of PersistenceCapable - * instances. - * - *

    A PersistenceManager is obtained from the - * {@link PersistenceManagerFactory} - * (recommended) or by construction. - * @author Craig Russell - * @version 0.1 - */ - -public interface PersistenceManager -{ - /** A PersistenceManager instance can be used until it is closed. - * @return if this PersistenceManager has been closed - * @see #close() - */ - boolean isClosed(); - /** A PersistenceManager instance can be used until it is closed. - * - *

    This method closes the PersistenceManager, which if pooled, releases it - * to the pool of available PersistenceManagers. - */ - void close(); - - /** There is exactly one Transaction associated with a PersistenceManager. - * @return the Transaction associated with this - * PersistenceManager. - */ - Transaction currentTransaction(); - - /** Create a new Query with no elements. - * @return a new Query instance with no elements. - */ - Query newQuery(); - /** Create a new Query using elements from another Query. The other Query - * must have been created by the same JDO implementation. It might be active - * in a different PersistenceManager or might have been serialized and - * restored. - * @return the new Query - * @param compiled another Query from the same JDO implementation - */ - Query newQuery(Object compiled); - - /** Create a new Query specifying the Class of the candidate instances. - * @param cls the Class of the candidate instances - * @return the new Query - */ - Query newQuery(Class cls); - - /** Create a new Query with the Class of the candidate instances and candidate Collection. - * specified. - * @param cls the Class of the candidate instances - * @param cln the Collection of candidate instances - * @return the new Query - */ - Query newQuery(Class cls,Collection cln); - - /** Create a new Query with the Class of the candidate instances and Filter. - * specified. - * @param cls the Class of the candidate instances - * @param filter the Filter for candidate instances - * @return the new Query - */ - Query newQuery (Class cls, String filter); - - /** Create a new Query with the Class of the candidate instances, candidate Collection, - * and Filter. - * @param cls the Class of the candidate instances - * @param cln the Collection of candidate instances - * @param filter the Filter for candidate instances - * @return the new Query - */ - Query newQuery (Class cls, Collection cln, String filter); - - /** The PersistenceManager may manage a collection of instances in the data - * store based on the class of the instances. This method returns a - * Collection of instances in the data store that might be iterated or - * given to a Query as the Collection of candidate instances. - * @param persistenceCapableClass Class of instances - * @param subclasses whether to include instances of subclasses - * @return a Collection of instances - * @see Query - */ - Collection getExtent(Class persistenceCapableClass,boolean subclasses); - - /** This method locates a persistent instance in the cache of instances - * managed by this PersistenceManager. If an instance with the same ObjectId - * is found it is returned. Otherwise, a new instance is created and - * associated with the ObjectId. - * - *

    If the instance does not exist in the data store, then this method will - * not fail. However, a request to access fields of the instance will - * throw an exception. - * @param oid an ObjectId - * @return the PersistenceCapable instance with the specified - * ObjectId - */ - Object getObjectById(Object oid); - - /** The ObjectId returned by this method represents the JDO identity of - * the instance. The ObjectId is a copy (clone) of the internal state - * of the instance, and changing it does not affect the JDO identity of - * the instance. - * @param pc the PersistenceCapable instance - * @return the ObjectId of the instance - */ - Object getObjectId(Object pc); - - /** This method is used to get a PersistenceCapable instance - * representing the same data store object as the parameter, that is valid - * for this PersistenceManager. - * @param pc a PersistenceCapable instance - * @return the PersistenceCapable instance representing the - * same data store object - */ - Object getTransactionalInstance(Object pc); - - /** Make the transient instance persistent in this PersistenceManager. - * This method must be called in an active transaction. - * The PersistenceManager assigns an ObjectId to the instance and - * transitions it to persistent-new. - * The instance will be managed in the Extent associated with its Class. - * The instance will be put into the data store at commit. - * @param pc a transient instance of a Class that implements - * PersistenceCapable - */ - void makePersistent(Object pc); - - /** Make an array of instances persistent. - * @param pcs an array of transient instances - * @see #makePersistent(Object pc) - */ - void makePersistent(Object[] pcs); - - /** Make a Collection of instances persistent. - * @param pcs a Collection of transient instances - * @see #makePersistent(Object pc) - */ - void makePersistent (Collection pcs); - - /** Delete the persistent instance from the data store. - * This method must be called in an active transaction. - * The data store object will be removed at commit. - * Unlike makePersistent, which makes the closure of the instance persistent, - * the closure of the instance is not deleted from the data store. - * This method has no effect if the instance is already deleted in the - * current transaction. - * This method throws an exception if the instance is transient or is managed by another - * PersistenceManager. - * - * @param pc a persistent instance - */ - void deletePersistent(Object pc); - - /** Delete an array of instances from the data store. - * @param pcs a Collection of persistent instances - * @see #deletePersistent(Object pc) - */ - void deletePersistent (Object[] pcs); - - /** Delete a Collection of instances from the data store. - * @param pcs a Collection of persistent instances - * @see #deletePersistent(Object pc) - */ - void deletePersistent (Collection pcs); - - /** This method returns the PersistenceManagerFactory used to create - * this PersistenceManager. It returns null if this instance was - * created via a constructor. - * @return the PersistenceManagerFactory that created - * this PersistenceManager - */ - PersistenceManagerFactory getPersistenceManagerFactory(); - - /** The application can manage the PersistenceManager instances - * more easily by having an application object associated with each - * PersistenceManager instance. - * @param o the user instance to be remembered by the PersistenceManager - * @see #getUserObject - */ - void setUserObject(Object o); - - /** The application can manage the PersistenceManager instances - * more easily by having an application object associated with each - * PersistenceManager instance. - * @return the user object associated with this PersistenceManager - * @see #setUserObject - */ - Object getUserObject(); - - /** The JDO vendor might store certain non-operational properties and - * make those properties available to applications (for troubleshooting). - * - *

    Standard properties include: - *

  • VendorName
  • - *
  • VersionNumber
  • - * @return the Properties of this PersistenceManager - */ - Properties getProperties(); - - /** In order for the application to construct instance of the ObjectId class - * it needs to know the class being used by the JDO implementation. - * @param cls the PersistenceCapable Class - * @return the Class of the ObjectId of the parameter - */ - Class getObjectIdClass(Class cls); - - - /** - * Returns a new Second Class Object instance of the type specified, - * with the owner and field name to notify upon changes to the value - * of any of its fields. If a collection class is created, then the - * class does not restrict the element types, and allows nulls to be added as elements. - * - * @param type Class of the new SCO instance - * @param owner the owner to notify upon changes - * @param fieldName the field to notify upon changes - * @return the object of the class type - */ - Object newSCOInstance (Class type, Object owner, String fieldName); - - - /** - * Returns a new Collection instance of the type specified, with the - * owner and field name to notify upon changes to the value of any of its fields. - * The collection class restricts the element types allowed to the elementType or - * instances assignable to the elementType, and allows nulls to be added as - * elements based on the setting of allowNulls. The Collection has an initial size - * as specified by the initialSize parameter. - * - * @param type Class of the new SCO instance - * @param owner the owner to notify upon changes - * @param fieldName the field to notify upon changes - * @param elementType the element types allowed - * @param allowNulls true if allowed - * @param initialSize initial size of the Collection - * @return the object of the class type - */ - Object newCollectionInstance (Class type, Object owner, String fieldName, - Class elementType, boolean allowNulls, int initialSize); - - - /** This method locates a persistent instance in the cache of instances - * managed by this PersistenceManager. - * The getObjectById method attempts - * to find an instance in the cache with the specified JDO identity. - * The oid parameter object might have been returned by an earlier call - * to getObjectId or might have been constructed by the application. - *

    If the PersistenceManager is unable to resolve the oid parameter - * to an ObjectId instance, then it throws a JDOUserException. - *

    If the validate flag is false, and there is already an instance in the - * cache with the same JDO identity as the oid parameter, then this method - * returns it. There is no change made to the state of the returned - * instance. - *

    If there is not an instance already in the cache with the same JDO - * identity as the oid parameter, then this method creates an instance - * with the specified JDO identity and returns it. If there is no - * transaction in progress, the returned instance will be hollow or - * persistent-nontransactional, at the choice of the implementation. - *

    If there is a transaction in progress, the returned instance will - * be hollow, persistent-nontransactional, or persistent-clean, at the - * choice of the implementation. - *

    It is an implementation decision whether to access the data store, - * if required to determine the exact class. This will be the case of - * inheritance, where multiple PersistenceCapable classes share the - * same ObjectId class. - *

    If the validate flag is false, and the instance does not exist in - * the data store, then this method might not fail. It is an - * implementation choice whether to fail immediately with a - * JDODataStoreException. But a subsequent access of the fields of the - * instance will throw a JDODataStoreException if the instance does not - * exist at that time. Further, if a relationship is established to this - * instance, then the transaction in which the association was made will - * fail. - *

    If the validate flag is true, and there is already a transactional - * instance in the cache with the same JDO identity as the oid parameter, - * then this method returns it. There is no change made to the state of - * the returned instance. - *

    If there is an instance already in the cache with the same JDO - * identity as the oid parameter, but the instance is not transactional, - * then it must be verified in the data store. If the instance does not - * exist in the datastore, then a JDODataStoreException is thrown. - *

    If there is not an instance already in the cache with the same JDO - * identity as the oid parameter, then this method creates an instance - * with the specified JDO identity, verifies that it exists in the data - * store, and returns it. If there is no transaction in progress, the - * returned instance will be hollow or persistent-nontransactional, - * at the choice of the implementation. - *

    If there is a data store transaction in progress, the returned - * instance will be persistent-clean. - * If there is an optimistic transaction in progress, the returned - * instance will be persistent-nontransactional. - * @see #getObjectId(Object pc) - * @see #getObjectById(Object oid) - * @return the PersistenceCapable instance with the specified ObjectId - * @param oid an ObjectId - * @param validate if the existence of the instance is to be validated - */ - Object getObjectById (Object oid, boolean validate); - - /** - * Returns the boolean value of the supersedeDeletedInstance flag - * for this PersistenceManager. If set to true, deleted instances are - * allowed to be replaced with persistent-new instances with the equal - * Object Id. - * @return boolean supersedeDeletedInstance flag - */ - boolean getSupersedeDeletedInstance (); - - - /** - * Sets the supersedeDeletedInstance flag for this PersistenceManager. - * @param flag boolean supersedeDeletedInstance flag - */ - void setSupersedeDeletedInstance (boolean flag); - - /** - * Returns the boolean value of the requireCopyObjectId flag - * for this PersistenceManager. If set to false, the PersistenceManager - * does not create a copy of an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see #getObjectId(Object pc) - * @see #getObjectById(Object oid) - * @return boolean requireCopyObjectId flag - */ - boolean getRequireCopyObjectId(); - - - /** - * Sets the requireCopyObjectId flag for this PersistenceManager. - * If set to false, the PersistenceManager will not create a copy of - * an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see #getObjectId(Object pc) - * @see #getObjectById(Object oid) - * @param flag boolean requireCopyObjectId flag - */ - void setRequireCopyObjectId (boolean flag); - - /** - * Returns the boolean value of the requireTrackedSCO flag - * for this PersistenceManager. If set to false, the PersistenceManager - * will not create tracked SCO instances for new persistent instances at - * commit with retainValues set to true and while retrieving data from a datastore. - * - * @return boolean requireTrackedSCO flag - */ - boolean getRequireTrackedSCO(); - - /** - * Sets the requireTrackedSCO flag for this PersistenceManager. - * If set to false, the PersistenceManager will not create tracked - * SCO instances for new persistent instances at commit with retainValues - * set to true and while retrieving data from a datastore. - * - * @param flag boolean requireTrackedSCO flag - */ - void setRequireTrackedSCO (boolean flag); - - } diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceManagerFactory.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceManagerFactory.java deleted file mode 100644 index 4e0d893285f..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/PersistenceManagerFactory.java +++ /dev/null @@ -1,433 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceManagerFactory.java - * - * Created on February 25, 2000 - */ - -package com.sun.jdo.api.persistence.support; - -import java.io.PrintWriter; -import java.util.Properties; - -/** - * - * @author Craig Russell - * @version 0.1 - */ - -public interface PersistenceManagerFactory extends java.io.Serializable -{ - /** - * Sets JDBC driver name - * @param driverName JDBC driver name - */ - void setConnectionDriverName (String driverName); - - /** - * Returns JDBC driver name - * @return driver name - */ - String getConnectionDriverName (); - - /** - * Sets database user - * @param userName database user - */ - void setConnectionUserName (String userName); - - /** - * Returns database user name - * @return current database user name - */ - String getConnectionUserName (); - - /** - * Sets database user password - * @param password database user password - */ - void setConnectionPassword (char[] password); - - /** - * Sets maximum number of connections in the connection pool - * @param MaxPool maximum number of connections - */ - void setConnectionMaxPool (int MaxPool); - - /** - * Returns maximum number of connections in the connection pool - * @return connectionMaxPool - */ - int getConnectionMaxPool (); - - /** - * Sets minimum number of connections in the connection pool - * @param MinPool minimum number of connections - */ - void setConnectionMinPool (int MinPool); - - /** - * Returns minimum number of connections in the connection pool - * @return connectionMinPool - */ - int getConnectionMinPool (); - - - /** - * Sets maximum number of PersistenceManager instances in the pool - * @param MaxPool maximum number of instances - */ - void setMaxPool (int MaxPool); - - /** - * Returns maximum number of PersistenceManager instances in the pool - * @return maxPool - */ - int getMaxPool (); - - /** - * Sets minimum number of PersistenceManager instances in the pool - * @param MinPool minimum number of PersistenceManager instances - */ - void setMinPool (int MinPool); - - /** - * Returns minimum number of PersistenceManager instances in the pool - * @return minPool - */ - int getMinPool (); - - /** - * Sets the number of milliseconds to wait for an available connection - * from the connection pool before throwing an exception - * @param MsWait number in milliseconds - */ - void setConnectionMsWait (int MsWait); - - /** - * Returns the number of milliseconds to wait for an available connection - * from the connection pool before throwing an exception - * @return number in milliseconds - */ - int getConnectionMsWait (); - - /** - * Sets the amount of time, in milliseconds, between the connection - * manager's attempts to get a pooled connection. - * @param MsInterval the interval between attempts to get a database - * connection, in milliseconds. - * - */ - void setConnectionMsInterval (int MsInterval); - - /** - * Returns the amount of time, in milliseconds, between the connection - * manager's attempts to get a pooled connection. - * @return the length of the interval between tries in milliseconds - */ - int getConnectionMsInterval (); - - /** - * Sets the number of seconds to wait for a new connection to be - * established to the data source - * @param LoginTimeout wait time in seconds - */ - void setConnectionLoginTimeout (int LoginTimeout); - - /** - * Returns the number of seconds to wait for a new connection to be - * established to the data source - * @return wait time in seconds - */ - int getConnectionLoginTimeout (); - - /** - * Sets JDBC connection URL - * @param URL connection URL - */ - void setConnectionURL (String URL); - - /** - * Returns connection URL - * @return connection URL - */ - String getConnectionURL (); - - /** - * Sets Connection Factory as ConnectionFactory - * or javax.sql.DataSource - * @param cf as java.lang.Object - */ - void setConnectionFactory (Object cf); - - /** - * Returns Connection Factory object that can be one of - * ConnectionFactory or javax.sql.DataSource - * @return Connection Factory as java.lang.Object - */ - Object getConnectionFactory (); - - /** - * Sets the LogWriter to which messages should be sent - * @param pw LogWriter - */ - void setConnectionLogWriter(PrintWriter pw); - - /** - * Returns the LogWriter to which messages should be sent - * @return LogWriter - */ - PrintWriter getConnectionLogWriter (); - - /** - * Sets transaction isolation level for all connections of this PersistenceManagerFactory. - * All validation is done by java.sql.Connection itself, so e.g. while Oracle - * will not allow to set solation level to TRANSACTION_REPEATABLE_READ, this method - * does not have any explicit restrictions - * - * @param level - one of the java.sql.Connection.TRANSACTION_* isolation values - */ - void setConnectionTransactionIsolation (int level); - - /** - * Returns current transaction isolation level for connections of this PersistenceManagerFactory. - * @return the current transaction isolation mode value as java.sql.Connection.TRANSACTION_* - */ - int getConnectionTransactionIsolation (); - - /** - * Sets ConnectionFactory name - * @param connectionFactoryName ConnectionFactory name - */ - void setConnectionFactoryName (String connectionFactoryName); - - /** - * Returns ConnectionFactory name - * @return ConnectionFactoryName - */ - String getConnectionFactoryName (); - - /** - * Sets Identifier. An Identifier is a string that user can use to identify - * the PersistenceManagerFacory in a given environment. Identifier can be - * particularly useful in an environment where multiple - * PersistenceManagerFacories are initialized in a system. - * @param identifier - */ - void setIdentifier(String identifier); - - /** - * Gets Identifier. An Identifier is a string that user can use to identify - * the PersistenceManagerFacory in a given environment. Identifier can be - * particularly useful in an environment where multiple - * PersistenceManagerFacories are initialized in a system. - * @return identifier - */ - String getIdentifier(); - - - /** - * Creates new PersistenceManager without extra info - * @return the persistence manager - */ - PersistenceManager getPersistenceManager (); - - /** - * Creates new PersistenceManager with specific - * username and password. Used to call ConnectionFactory.getConnection(String, String) - * @param username datasource user - * @param password datasource user password - * @return the persistence manager - */ - PersistenceManager getPersistenceManager (String username, char[] password); - - /** - * Sets the optimistic flag for all PersistenceManagers - * @param flag boolean optimistic flag - */ - void setOptimistic (boolean flag); - - /** - * Returns the boolean value of the optimistic flag for all PersistenceManagers - * @return boolean optimistic flag - */ - boolean getOptimistic (); - - /** - * Sets flag that will not cause the eviction of persistent instances after transaction completion. - * @param flag boolean flag passed - */ - void setRetainValues (boolean flag); - - /** - * Returns the boolean value for the flag that will not cause the eviction of persistent - * instances after transaction completion. - * @return boolean setting for the flag - */ - boolean getRetainValues (); - - /** - * Sets the flag that allows non-transactional instances to be managed in the cache. - * @param flag boolean flag passed - */ - void setNontransactionalRead (boolean flag); - - /** - * Returns the boolean value for the flag that allows non-transactional instances - * to be managed in the cache. - * @return boolean setting for the flag - */ - boolean getNontransactionalRead (); - - /** - * Sets the flag that allows the user to request that queries be optimized to return - * approximate results by ignoring changed values in the cache. - * @param flag boolean flag passed - */ - void setIgnoreCache (boolean flag); - - /** - * Returns the boolean value for the flag that allows the user to request that queries - * be optimized to return approximate results by ignoring changed values in the cache. - * @return boolean setting for the flag - */ - boolean getIgnoreCache (); - - /** - * Sets the number of seconds to wait for a query statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @param timeout new timout value in seconds; zero means unlimited - */ - void setQueryTimeout (int timeout); - - /** - * Gets the number of seconds to wait for a query statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @return timout value in seconds; zero means unlimited - */ - int getQueryTimeout (); - - /** - * Sets the number of seconds to wait for an update statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @param timeout new timout value in seconds; zero means unlimited - */ - void setUpdateTimeout (int timeout); - - /** - * Gets the number of seconds to wait for an update statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @return timout value in seconds; zero means unlimited - */ - int getUpdateTimeout(); - - - /** - * Returns non-operational properties to be available to the application via a Properties instance. - * @return Properties object - */ - Properties getProperties (); - - /** - * Returns the boolean value of the supersedeDeletedInstance flag - * for all PersistenceManagers. If set to true, deleted instances are - * allowed to be replaced with persistent-new instances with the equal - * Object Id. - * @return boolean supersedeDeletedInstance flag - */ - boolean getSupersedeDeletedInstance (); - - - /** - * Sets the supersedeDeletedInstance flag for all PersistenceManagers. - * @param flag boolean supersedeDeletedInstance flag - */ - void setSupersedeDeletedInstance (boolean flag); - - /** - * Returns the default value of the requireCopyObjectId flag - * for this PersistenceManagerFactory. If set to false, the PersistenceManager - * will not create a copy of an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see PersistenceManager#getObjectId(Object pc) - * @see PersistenceManager#getObjectById(Object oid) - * @return boolean requireCopyObjectId flag - */ - boolean getRequireCopyObjectId(); - - - /** - * Sets the default value of the requireCopyObjectId flag. - * If set to false, by default a PersistenceManager will not create a copy of - * an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see PersistenceManager#getObjectId(Object pc) - * @see PersistenceManager#getObjectById(Object oid) - * @param flag boolean requireCopyObjectId flag - */ - void setRequireCopyObjectId (boolean flag); - - /** - * Returns the boolean value of the requireTrackedSCO flag - * for this PersistenceManagerFactory. If set to false, by default the - * PersistenceManager will not create tracked SCO instances for - * new persistent instances at commit with retainValues set to true and while - * retrieving data from a datastore. - * - * @return boolean requireTrackedSCO flag - */ - boolean getRequireTrackedSCO(); - - /** - * Sets the requireTrackedSCO flag for this PersistenceManagerFactory. - * If set to false, by default the PersistenceManager will not create tracked - * SCO instances for new persistent instances at commit with retainValues set to true - * and while retrieving data from a datastore. - * - * @param flag boolean requireTrackedSCO flag - */ - void setRequireTrackedSCO (boolean flag); - -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/Query.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/Query.java deleted file mode 100644 index 4ff544ffe08..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/Query.java +++ /dev/null @@ -1,232 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * Query.java - * - * Created on February 25, 2000 - */ - -package com.sun.jdo.api.persistence.support; -import java.io.Serializable; -import java.util.Collection; -import java.util.Map; - -/** The Query interface allows applications to obtain persistent instances - * from the data store. - * - * The @link PersistenceManager is the factory for Query instances. There - * may be many Query instances associated with a PersistenceManager. Multiple - * queries might be executed simultaneously by different threads, but the - * implementation might choose to execute them serially. In either case, the - * implementation must be thread safe. - * - *

    There are three required elements in a Query: - * the class of the candidate instances, - * the candidate collection of instances, and the filter. - * - *

    There are optional elements: parameter declarations, variable - * declarations, import statements, and an ordering specification. - * - * @author Craig Russell - * @version 0.1 - */ - -public interface Query extends java.io.Serializable -{ - /** Set the class of the candidate instances of the query. - *

    The class is a PersistenceCapable class which specifies the class - * of the candidates of the query. Elements of the candidate collection - * that are of the specified class are filtered before being - * put into the result Collection. - * @param cls the Class of the candidate instances. - */ - void setClass(Class cls); - - /** Set the candidate Collection to query. - * @param pcs the Candidate collection. - */ - void setCandidates(Collection pcs); - - /** Set the filter for the query. - * - * The filter is a Java-like boolean expression used to select elements of the - * candidate Collection. - * @param filter the query filter. - */ - void setFilter(String filter); - - /** Set the import statements to be used to identify the package name of - * variables or parameters. - * @param imports import statements separated by semicolons. - */ - void declareImports(String imports); - - /** Set the parameter list for query execution. - * - * The types and names of execution parameters are specified as a String - * separated by commas, similar to formal method declarations. - * - * @param parameters the list of parameters separated by commas. - */ - void declareParameters(String parameters); - /** Declare the unbound variables to be used in the query. - * - * @param variables the variables separated by semicolons. - */ - void declareVariables(String variables); - - /** Bind the ordering declarations to the query instance. - * The ordering consists of one or more ordering declarations separated by commas. - * Each ordering declaration is the name of the field in the name scope of the - * candidate class followed by one of the following words: ascending or descending. - * - * @param ordering the ordering declarations separated by comma. - */ - void setOrdering (String ordering); - - /** - * Set the result of the query. - *

    - * The query result is an optional keyword distinct followed by a Java - * expression, which tells what values are to be returned by the JDO query. - * If the result is not specified, then it defaults to "distinct this", - * which has the effect of returning the elements of the candidates - * that match the filter. - */ - void setResult(String result); - - /** Sets the prefetchEnabled option. - * - * The prefetchEnabled option specifies whether prefetch of relationship - * fields should be enabled for this query. The prefetch is enabled by - * default if such fields are part of DFG. A user needs to explicitely - * disable prefetch for any particular query if the related instances - * will not be used in this transaction. - * - * @param prefetchEnabled the setting of the prefetchEnabled option. - */ - void setPrefetchEnabled(boolean prefetchEnabled); - - /** Set the ignoreCache option. - * - * The ignoreCache option setting specifies whether the query should execute - * entirely in the back end, instead of in the cache. - * @param ignoreCache the setting of the ignoreCache option. - */ - void setIgnoreCache(boolean ignoreCache); - - /** Get the ignoreCache option setting. - * @return the ignoreCache option setting. - * @see #setIgnoreCache - */ - boolean getIgnoreCache(); - - /** Verify the elements of the query and provide a hint to the query to - * prepare and optimize an execution plan. - */ - void compile(); - - /** Execute the query and return the filtered Collection. - * @return the filtered Collection. - * @see #executeWithArray (Object[] parameters) - */ - Object execute(); - - /** Execute the query and return the filtered Collection. - * @return the filtered Collection. - * @see #executeWithArray (Object[] parameters) - * @param p1 the value of the first parameter declared. - */ - Object execute(Object p1); - - /** Execute the query and return the filtered Collection. - * @return the filtered Collection. - * @see #executeWithArray (Object[] parameters) - * @param p1 the value of the first parameter declared. - * @param p2 the value of the second parameter declared. - */ - Object execute(Object p1, Object p2); - - /** Execute the query and return the filtered Collection. - * @return the filtered Collection. - * @see #executeWithArray (Object[] parameters) - * @param p1 the value of the first parameter declared. - * @param p2 the value of the second parameter declared. - * @param p3 the value of the third parameter declared. - */ - Object execute(Object p1, Object p2, Object p3); - - /** Execute the query and return the filtered Collection. - * @return the filtered Collection. - * @see #executeWithArray (Object[] parameters) - * @param parameters the Map containing all of the parameters. - */ - Object executeWithMap (Map parameters); - - /** Execute the query and return the filtered Collection. - * - *

    The execution of the query obtains the values of the parameters and - * matches them against the declared parameters in order. The type of - * the declared parameters must match the type of the passed parameters, - * except that the passed parameters might need to be unwrapped to get - * their primitive values. - * - *

    The filter, import, declared parameters, declared variables, and - * ordering statements are verified for consistency. - * - *

    Each element in the candidate Collection is examined to see that it - * is assignment compatible to the Class of the query. It is then evaluated - * by the boolean expression of the filter. The element passes the filter - * if there exist unique values for all variables for which the filter - * expression evaluates to true. - * @return the filtered Collection. - * @param parameters the Object array with all of the parameters. - */ - Object executeWithArray (Object[] parameters); - - /** Get the PersistenceManager associated with this Query. - * - *

    If this Query has no PersistenceManager return null. - * @return the PersistenceManager associated with this Query. - */ - PersistenceManager getPersistenceManager(); -} - diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/SpecialDBOperation.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/SpecialDBOperation.java deleted file mode 100644 index e51e295d320..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/SpecialDBOperation.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.support; - -import java.util.List; -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.sql.DatabaseMetaData; - -/** - * SpecialDBOperation interface is defined for database specific operations. - * @author Shing Wai Chan - */ -public interface SpecialDBOperation { - - /** - * This method is called immediately after an instance implementing this - * interface is created. The implementation can initialize itself using - * supplied metaData. - * @param metaData DatbaseMetaData of the database for which an instance - * implementing this interface is ingratiated. - * @param identifier Identifier of object used to obtain databaseMetaData. - * This can be null in non managed environment. - */ - public void initialize(DatabaseMetaData metaData, - String identifier) throws SQLException; - /** - * Defines column type for result. - * @param ps java.sql.PreparedStatement - * @param columns List of ColumnElement corresponding to select clause - */ - public void defineColumnTypeForResult( - PreparedStatement ps, List columns) throws SQLException; - - /** - * Binds specified value to parameter at specified index that is bound to - * CHAR column. - * @param ps java.sql.PreparedStatement - * @param index Index of paramater marker in ps. - * @param strVal value that needs to bound. - * @param length length of the column to which strVal is bound. - */ - public void bindFixedCharColumn(PreparedStatement ps, - int index, String strVal, int length) throws SQLException; - -} diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/SynchronizationManager.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/SynchronizationManager.java deleted file mode 100644 index 94dfa4ff1b4..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/SynchronizationManager.java +++ /dev/null @@ -1,196 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019-2021] Payara Foundation and/or affiliates - -/* - * SynchronizationManager.java - * - * Created on May 30, 2002, 8:43 AM - */ - -package com.sun.jdo.api.persistence.support; - -import jakarta.transaction.Synchronization; -import java.util.ArrayList; -import java.util.List; - -/** This class allows for multiple instances to be called at transaction - * completion, which JDO does not currently provide. JDO only provides - * for a single instance to be registered. This service exploits - * the JDO capability by registering an instance of SynchronizationManager - * with JDO and then calling each instance registered with itself. - * - * @author Craig Russell - * @version 1.0 - */ -public class SynchronizationManager implements Synchronization { - - /** Creates new SynchronizationManager instance specifying the initial - * capacity of the list of Synchronization instances. - * @param initialCapacity the initial capacity of the List of Synchronization instances - */ - public SynchronizationManager(int initialCapacity) { - synchronizations = new ArrayList(initialCapacity); - } - - /** Creates new SynchronizationManager instance with a default - * capacity of the List of Synchronization instances. - */ - public SynchronizationManager() { - this(defaultCapacity); - } - - /** Register a new Synchronization with the current transaction. - * @param instance the instance to be registered - * @param pm the persistence manager which manages this transaction - */ - public static void registerSynchronization(Synchronization instance, PersistenceManager pm) { - SynchronizationManager synchronizationManager = getSynchronizationManager(pm); - synchronizationManager.registerSynchronization(instance); - } - - /** Specify the default capacity of the list of Synchronizations. - * @param capacity the default capacity of the List of Synchronizations - */ - public static void setDefaultCapacity(int capacity) { - defaultCapacity = capacity; - } - - /** The default capacity of the List of Synchronizations. - */ - protected static int defaultCapacity = 100; - - /** The list of instances to synchronize. Duplicate registrations will - * result in the instance being called multiple times. Since we cannot - * depend on the caller implementing hashCode and equals, we cannot use - * a Set implementaion. - */ - protected final List synchronizations; - - /** Creates new SynchronizationManager instance and registers it with - * the persistence manager. - * @param pm the persistence manager managing this transaction - */ - protected SynchronizationManager(PersistenceManager pm) { - this(); - Transaction tx = pm.currentTransaction(); - tx.setSynchronization((Synchronization)this); - } - - /** Get the synchronization manager already registered with this persistence manager. - * If the synchronization instance is not of the proper class, then replace it with - * a new instance of the synchronization manager, and register the previous synchronization - * with the newly created synchronization manager. - * @param pm the persistence manager - * @return the synchronization manager - */ - protected static SynchronizationManager getSynchronizationManager(PersistenceManager pm) { - Transaction tx = pm.currentTransaction(); - Synchronization oldsync = tx.getSynchronization(); - if (oldsync instanceof SynchronizationManager) { - // This is the one we want. - return (SynchronizationManager) oldsync; - } else { - // We need a new one. The constructor automatically registers it - // with the persistence manager. - SynchronizationManager newsync = new SynchronizationManager(pm); - if (oldsync != null) { - // There is an existing Synchronization to register with the new one - newsync.registerSynchronization(oldsync); - } - return newsync; - } - } - - /** This method will be called during transaction completion. Resource - * access is allowed. - * This method in turn calls each registered instance beforeCompletion - * method. - */ - public void beforeCompletion() { - int size = synchronizations.size(); - for (int i = 0; i < size; ++i) { - Synchronization instance = (Synchronization) synchronizations.get(i); - instance.beforeCompletion(); - } - } - - /** This method will be called during transaction completion. No resource - * access is allowed. - * This method in turn calls each registered instance afterCompletion - * method. After this method completes, - * instances must register again in the new transaction, but - * the synchronization manager remains bound to the persistence manager - * transaction instance. - * @param status the completion status of the transaction - */ - public void afterCompletion(int status) { - int size = synchronizations.size(); - StringBuilder sb = null; - for (int i = 0; i < size; ++i) { - Synchronization instance = (Synchronization) synchronizations.get(i); - try { - instance.afterCompletion(status); - } catch (Exception e) { - if (sb == null) { - sb = new StringBuilder(); - } - sb.append(e.getMessage()).append('\n'); // NOI18N - } - } - synchronizations.clear(); - if (sb != null) { - throw new JDOUserException(sb.toString()); - } - } - - /** Register an instance with this synchronization manager. - * Note that this is not thread-safe. If multiple threads call this method - * at the same time, the synchronizations List might become corrupt. - * The correct way to fix this is to ask the PersistenceManager for the - * Multithreaded flag and perform a synchronized add if the flag is true. - * We currently do not have the Multithreaded flag implemented. - * @param instance the instance to be registered - */ - protected void registerSynchronization(Synchronization instance) { - synchronizations.add(instance); - } - -} diff --git a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/Transaction.java b/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/Transaction.java deleted file mode 100644 index bbeac5f75e9..00000000000 --- a/appserver/persistence/cmp/internal-api/src/main/java/com/sun/jdo/api/persistence/support/Transaction.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * Transaction.java - * - * Created on February 25, 2000 - */ - -package com.sun.jdo.api.persistence.support; -import jakarta.transaction.*; - -/** The JDO Transaction interface is a sub-interface of the PersistenceManager - * that deals with options and completion of transactions under user control. - * - *

    Transaction options include whether optimistic concurrency - * control should be used for the current transaction, and whether values - * should be retained in JDO instances after transaction completion. - * - *

    Transaction completion methods have the same semantics as jakarta.transaction - * UserTransaction, and are valid only in the non-managed, non-distributed - * transaction environment. - * @author Craig Russell - * @version 0.1 - */ - -public interface Transaction -{ - /** Begin a transaction. The type of transaction is determined by the - * setting of the Optimistic flag. - * @see #setOptimistic - * @see #getOptimistic - * @throws JDOUserException if a distributed transaction XAResource - * is assigned to this Transaction - */ - void begin(); - - /** Commit the current transaction. - */ - void commit(); - - /** Roll back the current transaction. - */ - void rollback(); - - /** Returns whether there is a transaction currently active. - * @return boolean - */ - boolean isActive(); - - /** If true, at commit instances retain their values and the instances - * transition to persistent-nontransactional. - *

    Setting this flag also sets the NontransactionalRead flag. - * @param retainValues the value of the retainValues property - */ - void setRetainValues(boolean retainValues); - - /** If true, at commit time instances retain their field values. - * @return the value of the retainValues property - */ - boolean getRetainValues(); - - /** If true, at rollback instances restore their values and the instances - * transition to persistent-nontransactional. - * @param restoreValues the value of the restoreValues property - */ - void setRestoreValues(boolean restoreValues); - - /** If true, at rollback time instances restore their field values. - * @return the value of the restoreValues property - */ - boolean getRestoreValues(); - - /** Optimistic transactions do not hold data store locks until commit time. - * @param optimistic the value of the Optimistic flag. - */ - void setOptimistic(boolean optimistic); - - /** Optimistic transactions do not hold data store locks until commit time. - * @return the value of the Optimistic property. - */ - boolean getOptimistic(); - - /** If this flag is set to true, then queries and navigation are allowed - * without an active transaction - * @param flag the value of the nontransactionalRead property. - */ - void setNontransactionalRead (boolean flag); - - /** If this flag is set to true, then queries and navigation are allowed - * without an active transaction - * @return the value of the nontransactionalRead property. - */ - boolean getNontransactionalRead (); - - /** The user can specify a Synchronization instance to be notified on - * transaction completions. The beforeCompletion method is called prior - * to flushing instances to the data store. - * - *

    The afterCompletion method is called after performing the data store - * commit operation. - * @param sync the Synchronization instance to be notified; null for none - */ - void setSynchronization(Synchronization sync); - - /** The user-specified Synchronization instance for this Transaction instance. - * @return the user-specified Synchronization instance. - */ - Synchronization getSynchronization(); - - /** - * Sets the number of seconds to wait for a query statement - * to execute in the datastore associated with this Transaction instance - * @param timeout new timout value in seconds; zero means unlimited - */ - void setQueryTimeout (int timeout); - - /** - * Gets the number of seconds to wait for a query statement - * to execute in the datastore associated with this Transaction instance - * @return timout value in seconds; zero means unlimited - */ - int getQueryTimeout (); - - /** - * Sets the number of seconds to wait for an update statement - * to execute in the datastore associated with this Transaction instance - * @param timeout new timout value in seconds; zero means unlimited - */ - void setUpdateTimeout (int timeout); - - /** - * Gets the number of seconds to wait for an update statement - * to execute in the datastore associated with this Transaction instance - * @return timout value in seconds; zero means unlimited - */ - int getUpdateTimeout(); - - /** The Tranansaction instance is always associated with exactly one - * PersistenceManager. - * - * @return the PersistenceManager for this Transaction instance - */ - PersistenceManager getPersistenceManager(); -} diff --git a/appserver/persistence/cmp/model/osgi.bundle b/appserver/persistence/cmp/model/osgi.bundle deleted file mode 100644 index 5e5ac60eaaa..00000000000 --- a/appserver/persistence/cmp/model/osgi.bundle +++ /dev/null @@ -1,46 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - --exportcontents: \ - com.sun.jdo.api.persistence.model; \ - com.sun.jdo.api.persistence.model.jdo; \ - com.sun.jdo.api.persistence.model.jdo.impl; \ - com.sun.jdo.api.persistence.model.mapping; \ - com.sun.jdo.api.persistence.model.mapping.impl; version=${project.osgi.version} diff --git a/appserver/persistence/cmp/model/pom.xml b/appserver/persistence/cmp/model/pom.xml deleted file mode 100644 index a83349853cd..00000000000 --- a/appserver/persistence/cmp/model/pom.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp - 7.2026.5-SNAPSHOT - - cmp-model - glassfish-jar - - model module for cmp - - - - mm110999 - Mitesh Meswani - Oracle, Inc. - - developer - lead - - - - - - - src/main/java - - **/*.properties - - - - - - - fish.payara.server.internal.persistence.cmp - cmp-utility - ${project.version} - - - fish.payara.server.internal.persistence - persistence-common - ${project.version} - - - org.glassfish.external - dbschema - - - fish.payara.server.internal.common - common-util - ${project.version} - - - diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/Bundle.properties b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/Bundle.properties deleted file mode 100644 index 9d7a9c0781c..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/Bundle.properties +++ /dev/null @@ -1,576 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Some of the messages from this file are overridden in -# mapping/ejb/src/com/sun/jdo/api/persistence/model/Bundle_ejb.properties -# and -# support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 72. -# -# This file is divided into the following sections: -# 0. Top level model messages. -# 1. JDO model messages. -# 2. Mapping model messages. -# 3. Validation messages. -# -# IMPORTANT: When adding a new message in the validation section, -# realize that it is split into the following sub sections: -# classes -# fields -# database elements -# key class elements -# Since the messages should be grouped by sub section, the order of messageID's -# may not be sequential, so the last numbered message ID for the section -# is stored in a comment at the end of the entire validation section. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - - -############################################################################### -# -# Message ID Range: JDO72000 - JDO72099 -############################################################################### -# Model messages for loading/storing xml files -# {0}=class name -file.cannot_save=JDO72000:Cannot save file for class {0} -file.incompatible_version=JDO72001:Incompatible mapping file version; please remap \ -class {0} -file.cannot_read=JDO72002:Cannot read mapping file for class {0}; exception is {1} - -# RuntimeModel messages for class loader handling -# {0}=class name -classloader.multiple=JDO72003:class {0} loaded by multiple class loaders - -# RuntimeModel message for dbschema loading -# {0}=schema name -# {1}=class name -dbschema.not_found=JDO72004:schema {0} for class {1} not found - -############################################################################### -# -# Message ID Range: JDO72100 - JDO72199 -############################################################################### -# JDO PersistenceClassElement messages -# {0}=key class name, {1}=class name -jdo.class.key_class_invalid=JDO72100:{0} is an invalid key class for class {1}. \ -Valid key class names are {1}.Oid and {1}Key. - -# JDO RelationshipElement messages -# {0}=action value -jdo.relationship.update_action_invalid=JDO72101:{0} is an invalid update action -# {0}=action value -jdo.relationship.delete_action_invalid=JDO72102:{0} is an invalid delete action -jdo.relationship.lower_cardinality_invalid=JDO72103:Lower bound may not be negative or \ -greater than upper bound -jdo.relationship.upper_cardinality_invalid=JDO72104:Upper bound may not be zero, \ -negative, or less than lower bound - -# JDO ConcurrencyGroupElement default name -jdo.concurrency_group.default=Default - - -############################################################################### -# -# Message ID Range: JDO72200 - JDO72299 -############################################################################### -# Mapping model generic messages for managing elements -mapping.element.null_argument=JDO72200:Cannot add/remove element: null argument supplied -# {0}=element name -mapping.element.element_not_removed=JDO72201:Element {0} not removed - -# Mapping model messages for managing tables -# {0}=table name -mapping.table.foreign_key_not_found=JDO72202:Cannot add table {0}: foreign key not found -# {0}=table name -mapping.table.primary_table_defined=JDO72203:Cannot add primary table {0}: primary \ -table already defined -# {0}=parent table name -mapping.table.parent_table_not_found=JDO72204:Cannot add table {0}: parent table not \ -found in mapping -# {0}=secondary table name, {1}=parent table name -mapping.table.secondary_table_defined=JDO72205:Cannot add table {0}: secondary table \ -{0} already defined for parent table {1} -# {0}=primary table name, {1}=schema name -mapping.table.schema_mismatch=JDO72206:Cannot add primary table {0}: primary \ -table does not exist in schema {1} - -# Mapping model messages for managing columns -# {0}=column name -mapping.column.column_defined=JDO72207:Cannot add column {0}: column already defined -# {0}=column name -mapping.column.associated_columns_defined=JDO72208:Cannot add column {0}: associated \ -columns already defined -# {0}=column name -mapping.column.column_invalid=JDO72209:{0} is an invalid column - must be a column \ -pair - -# General validation messages -# Validation warning prefix (prepended to some of the messages below) -util.validation.warning=Warning: - -############################################################################### -# -# Message ID Range: JDO72300 - JDO72399 -############################################################################### -# Validation messages for classes -# Validation message for class not found -# {0}=class name -util.validation.class_not_found=JDO72300:Cannot find the class {0}.\n\ -Restore the class. -# Validation message for related class not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301:Cannot find the related class {0} \ -for the field {1}.\nRestore the class. -# Validation message for class not persistence-capable -# {0}=class name -util.validation.class_not_persistence_capable=JDO72302:The class {0} is not \ -persistence-capable.\nConvert the class to persistence-capable. -# Validation message for related class not persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303:The related class {0} \ -for the field {1} is not persistence-capable.\nConvert the class to \ -persistence-capable. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304:The class {0} is not allowed to \ -be persistence-capable.\nRevert it from persistence-capable or review the \ -rules and update the class. -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305:The related class {0} for the \ -field {1} is not allowed to be persistence-capable.\nRevert it from \ -persistence-capable or review the rules and update the class. -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306:The class {0} implements java.io.Serializable \ -so it must also define the method readObject (see java.io.Serializable) to \ -ensure proper enhancement.\nAdd the readObject method to the class. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307:The class {0} implements \ -java.io.Serializable so it must also define the method writeObject \ -(see java.io.Serializable) to ensure proper enhancement.\nAdd the \ -writeObject method to the class. -# Validation message for class which has no persistent fields -# {0}=class name -util.validation.class_no_fields=JDO72308:The class {0} must have at least one \ -persistent field.\nSet the persistent property to true for an existing field \ -or add a field and set its persistent property to true. -# Validation message for class which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309:The class {0} is not mapped.\n\ -Set the primary table for the class. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310:All primary key columns in primary \ -table {1} of class {0} must be mapped to key fields.\nMap the following \ -primary key columns to key fields: {2}. If you already have fields mapped to \ -these columns, verify that they are key fields. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311:The field {0} was specified as persistent, \ -but it is not in the .java file.\nAdd the field to the .java file and make \ -sure it is persistent. -# Validation message for field not allowed to be persistent -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312:The field {0} is not allowed to \ -be persistent.\nChange the persistent field property to false. -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313:The field {0} is inconsistent.\n\ -Toggle the persistent field property to false, then back to true. -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314:The field {0} is inconsistent.\n\ -Make sure the field is persistent. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315:The field {0} is not allowed \ -to be a relationship.\nChange the field''s type to be a wrapper or primitive \ -type.\nIf the type is correct, toggle the persistent field property to false, \ -then back to true. -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316:The field {0} must be a relationship.\n\ -Change the field''s type to be a collection or other persistence-capable class.\ -\nIf the type is correct, toggle the persistent field property to false, \ -then back to true. -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317:The field {0} has an invalid fetch \ -group. Default is not a valid fetch group for managed fields.\nSelect a \ -different fetch group. -# Validation message for field which is not mapped -# {0}=field name -util.validation.field_not_mapped=JDO72318:The field {0} is not mapped.\n\ -Set the column mapping for the field. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319:The field {0} is not allowed to be \ -a key field since its mapping contains a large object (e.g. BLOB/CLOB) \ -column.\nUpdate the column mapping or set the key field property to false. -# Validation message for field in the default fetch group which is mapped to a -# blob or clob column -# {0}=field name -util.validation.field_fetch_group_not_allowed=JDO72320:The field {0} has an invalid \ -fetch group. Default is not a valid fetch group for fields mapped to large \ -object (e.g. BLOB/CLOB) columns.\nSelect a different fetch group or update the \ -column mapping. -# Validation message for managed (multiple fields to same column) field which -# has a non exact column match -# {0}=field name -# {1}=other field name -util.validation.field_mapping_invalid=JDO72321:The field {0} has an invalid mapping. \ -Its mapping partially overlaps the mapping of field {1}. The mappings must \ -be identical or contain no overlaps. \nUpdate the column mapping for one or \ -both fields. -# Validation message for invalid combination of upper and lower bounds -# {0}=(relationship) field name -util.validation.cardinality_invalid=JDO72322:The field {0} does not have valid upper \ -and lower bounds.\nUpdate the bounds so that the upper bound is greater than \ -0 and greater than or equal to the lower bound and the lower bound is \ -non-negative. -# Validation message for a relationship field with lower bound 0 mapped to -# at least one non-nullable column -# {0}=(relationship) field name -util.validation.lower_bound_invalid=JDO72323:The field {0} does not have a valid lower \ -bound. A relationship mapped to a foreign key having one or more non-nullable \ -columns must have a lower bound of 1.\nUpdate the lower bound to 1. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324:The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324:The field {0} has an invalid \ -collection class.\nUpdate the relationship''s type to be a set or generic \ -collection, or set the persistent property to false. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325:The field {0} does not have a related \ -class set, but it is mapped to columns.\nUpdate the related class or unmap the \ -relationship. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326:The field {0} has an invalid related \ -field {1}. Related fields must be set for both relationship fields.\nUnset \ -the related field property for this field or set the related field property \ -for the related field. -# Validation message for inverse field which does not exist in the related class -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related class name -util.validation.related_class_mismatch=JDO72327:The field {0} has a related field {1} \ -which does not exist in the related class {2}.\nUpdate the related class and \ -update the related field if necessary. -# Validation message for inverse field set and no related class set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328:The field {0} does not have a related \ -class set, but it has related field {1}.\nUpdate the related class or set the \ -related field to None. -# Validation message for field & inverse field which have non-inverse mappings -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_mapping_mismatch=JDO72329:The field {0} has a mapping which is \ -not the exact inverse of its related field {1}''s mapping.\nSet the related \ -field for both relationship fields to None, unmap one of the fields, then \ -reset the related field. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=class name -util.validation.schema_not_found=JDO72331:Cannot find the schema {0} for the class {1}.\ -\nRestore the schema file. -# Validation message for related schema not found -# {0}=schema name -# {1}=related class name -# {2}=field name -util.validation.schema_not_found_related=JDO72332:Cannot find the schema {0} for the \ -related class {1} of the field {2}.\nRestore the schema file. -# Validation message for schema not set but primary table set -# {0}=class name -util.validation.schema_not_set=JDO72333:The class {0} does not have a schema set, but \ -it is mapped to tables.\nUpdate the mapped schema property for the class or \ -unmap the primary table. -# Validation message for schemas don't match -# {0}=class name -# {1}=related class name -# {2}=field name -util.validation.schema_mismatch=JDO72334:The schemas for class {0} and its related \ -class {1} of the field {2} must match.\nUpdate the mapped schema property of \ -one of the classes. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=class name -util.validation.table_no_primarykey=JDO72335:If the table {0} for class {1} is mapped \ -as the primary table, it must have a primary key.\nChoose a different primary \ -table or verify that the contents of the schema file are correct. -# Validation message for table not found -# {0}=table name -# {1}=class name -util.validation.table_not_found=JDO72336:Cannot find the table {0} for the class {1}.\n\ -Verify that the schema file exists and that its contents are correct. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337:Cannot find the table {0} for the \ -related class of the field {1}.\nVerify that the schema file exists and that \ -its contents are correct. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.table_mismatch=JDO72355:Relationship {1} is mapped to column \ -{0} which is not one of the mapped primary or secondary tables for \ -class {2}. \nUpdate the table mapping or the relationship mapping. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.table_mismatch_related=JDO72338:Relationship {1} is mapped \ -to column {0} which is not one of the mapped primary or secondary tables \ -for related class {2}. \ -\nUpdate the table mapping or the relationship mapping. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=class name -util.validation.column_not_found=JDO72339:Cannot find the columns in reference key \ -pair {0} for the secondary table setup of the class {1}.\nVerify that the \ -schema file exists and that its contents are correct. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_not_found_related=JDO72340:Cannot find the column {0} for \ -mapping the field {1} in the class {2}.\nVerify that the schema file exists \ -and that its contents are correct. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related class name -util.validation.column_invalid=JDO72341:Cannot find the columns in key pair {0} for the \ -relationship {1} in class {2}.\nVerify that the schema file exists and that \ -its contents are correct. - -# Validation messages for key class elements - -# Validation message for a wrong key class name -# {0}=key class name -# {1}=pc class name -util.validation.key_class_invalid=JDO72342:{0} is an invalid key class name. Rename \ -the class {1}.Oid for an inner class or {1}Key for a separate class. -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343:The key class property for class {0} is not \ -set.\nSet the key class property. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344:The key class {0} for class {1} does not \ -exist.\nDefine the key class. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345:The key class {0} for class {1} must be \ -public.\nUpdate the modifiers of the key class. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346:The key class {0} for class {1} must \ -implement java.io.Serializable.\nUpdate the interfaces of the key class. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347:If the key class {0} for class {1} is \ -defined as inner class, it must be static.\nUpdate the modifiers of the key \ -class. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348:The type of non-static field {0} of \ -the key class {1} must be primitive, String, a Number type, or a Date type.\n\ -Update the type of the key class field. -# Validation message for key class field must be public -# {0}=key class field name -# {1}=key class name -util.validation.key_field_public=JDO72349:The non-static field {0} of the key class {1} \ -must be public.\nUpdate the modifiers of the key class field. -# Validation message for key class field must have the same type as the pc -# class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350:The field {0} of the key class {1} \ -must have the same type as the corresponding field in the persistence-capable \ -class {2}.\nUpdate the type of the key class field. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351:All key fields of class {0} must be present \ -in the key class {1}.\nAdd the following key fields to the key class: {2}. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352:The key class {0} for class {1} must \ -define a public constructor which might be the default constructor or a no-arg \ -constructor.\nAdd a no-arg constructor to the key class. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353:The key class {0} for class {1} must override \ -the equals method from java.lang.Object.\nImplement the equals method in the \ -key class. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354:The key class {0} for class {1} must \ -override the hashCode method from java.lang.Object.\nImplement the hashCode \ -method in the key class. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356:The class {0} must have \ -exactly one version field.\nSet the version field property to an existing field. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357:The \ -relationship field {0} is not allowed to be a version field.\nChoose a \ -non-relationship field to be the version field. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358:The version field \ -{0} has an invalid fetch group. Version fields must belong to the default \ -fetch group.\nSet the fetch group to ''Default'' or select a different \ -version field. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359:The field {0} is \ -not allowed to be a key field since it is defined as a version field.\n\ -Choose a different version field or set the key field property to false. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360:The version field {0} \ -must be of type ''long''.\n\ -Change the field''s type to ''long'' or choose a different version field. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361:The version field {0} must \ -be mapped to exactly one column.\n\Update the column mapping for the field. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362:The version field {1} is \ -mapped to column {0} which is not in the primary table for class {2}.\n\ -Update the column mapping or choose a different version field. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363:The version field \ -{1} in class {2} is mapped to column {0} which may not be nullable or \ -non-numeric.\n\ -Update the schema or choose a different version field. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364:The version field {1} \ -in class {2} is mapped to column {0} which may not be part of the primary \ -key.\nUpdate the schema or choose a different version field. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364:The version field {1} \ -in class {2} is mapped to column {0} which may not be part of a foreign key.\n\ -Update the schema or choose a different version field. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365:The version field {0} \ -has an invalid column mapping. Version fields may not be managed fields.\n\ -Update the column mapping or choose a different version field. - -# IMPORTANT: The highest message ID for the validation section is -# -# JDO72365 -# -# Please update this as necessary. - -# logging messages - not brandable for ejb context at this time -model.parse_error=Errors during persistence validation diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ClassLoaderStrategy.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ClassLoaderStrategy.java deleted file mode 100644 index 9fbfc26dfcf..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ClassLoaderStrategy.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ClassLoaderStrategy.java - * - * Created on August 29, 2003, 3:19 PM - */ - -package com.sun.jdo.api.persistence.model; - -/** - * - * @author mvatkina - * @version %I% - */ -public class ClassLoaderStrategy -{ - /** System property key used to define the model behavior concerning - * multiple class loaders. - * Value should be one of - * {@link #MULTIPLE_CLASS_LOADERS_IGNORE}, - * {@link #MULTIPLE_CLASS_LOADERS_RELOAD}, or - * {@link #MULTIPLE_CLASS_LOADERS_ERROR} - */ - public static final String PROPERTY_MULTIPLE_CLASS_LOADERS = - "com.sun.jdo.api.persistence.model.multipleClassLoaders"; //NOI18N - - /** Constant representing the value "ignore" of the System property - * com.sun.jdo.api.persistence.model.multipleClassLoaders - * Setting the system property to "ignore" causes the model to ignore - * any new class loader for the same fully qualified class name. - * @see RuntimeModel#findClassLoader - */ - public static final String MULTIPLE_CLASS_LOADERS_IGNORE = "ignore"; //NOI18N - - /** Constant representing the value "reload" of the System property - * com.sun.jdo.api.persistence.model.multipleClassLoaders - * Setting the system property to "reload" causes the model to reload - * the class mapping if it is specified with a new class loader. - * @see RuntimeModel#findClassLoader - */ - public static final String MULTIPLE_CLASS_LOADERS_RELOAD = "reload"; //NOI18N - - /** Constant representing the value "error" of the System property - * com.sun.jdo.api.persistence.model.multipleClassLoaders - * Setting the system property to "reload" causes the model to throw an - * exception if the same class is used with a diferent class loader. - * @see RuntimeModel#findClassLoader - */ - public static final String MULTIPLE_CLASS_LOADERS_ERROR = "error"; //NOI18N - - /** Value of the property used to define the model behavior concerning - * multiple class loaders. - */ - private static String _strategy = System.getProperty( - PROPERTY_MULTIPLE_CLASS_LOADERS, MULTIPLE_CLASS_LOADERS_ERROR); - - /** Get the value of the property - * {@link #PROPERTY_MULTIPLE_CLASS_LOADERS} used to define the model - * behavior concerning multiple class loaders. - * @return the value of the property, one of - * {@link #MULTIPLE_CLASS_LOADERS_IGNORE}, - * {@link #MULTIPLE_CLASS_LOADERS_RELOAD}, or - * {@link #MULTIPLE_CLASS_LOADERS_ERROR} - */ - public static String getStrategy () - { - return _strategy; - } - - /** Sets the value of the property - * {@link #PROPERTY_MULTIPLE_CLASS_LOADERS} used to define the model - * behavior concerning multiple class loaders. - * @param strategy the new value of the property. Value should be one of - * {@link #MULTIPLE_CLASS_LOADERS_IGNORE}, - * {@link #MULTIPLE_CLASS_LOADERS_RELOAD}, or - * {@link #MULTIPLE_CLASS_LOADERS_ERROR} - * @see RuntimeModel#findClassLoader - */ - public static void setStrategy (String strategy) - { - _strategy = strategy; - } - -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/EnhancerModel.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/EnhancerModel.java deleted file mode 100644 index 03aac73ee5b..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/EnhancerModel.java +++ /dev/null @@ -1,379 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.api.persistence.model; - -import java.util.List; -import java.net.URL; -import java.io.IOException; -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.InputStream; -import java.lang.reflect.Modifier; - -import com.sun.jdo.api.persistence.model.jdo.PersistenceClassElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; - -/** - * - * @author nico - * @version %I% - */ -class EnhancerModel extends Model { - private static final boolean DEBUG = false; - - /** - * Creates a new EnhancerModel. This constructor should not be - * called directly; instead, the static instance accessible from the - * Model class should be used. - * - * @see Model#ENHANCER - */ - EnhancerModel () { - super(); - } - - /** - * Determines if the specified className represents an interface type. - * @param className the fully qualified name of the class to be checked - * @return true if this class name represents an interface; - * false otherwise. - */ - public boolean isInterface (String className) { - throw new UnsupportedOperationException(); - } - - /** - * Returns the input stream with the supplied resource name found with - * the supplied class name. - * - * @param className the fully qualified name of the class which will - * be used as a base to find the resource - * @param classLoader the class loader used to find the resource - * @param resourceName the name of the resource to be found - * - * @return the input stream for the specified resource, null - * if an error occurs or none exists - */ - protected BufferedInputStream getInputStreamForResource (String className, - ClassLoader classLoader, String resourceName) - { - debug("getInputStreamForResource(" + className + // NOI18N - "," + resourceName + ")"); // NOI18N - - InputStream is = (classLoader != null) - ? classLoader.getResourceAsStream(resourceName) - : ClassLoader.getSystemResourceAsStream(resourceName); - - BufferedInputStream rc = null; - if (is != null && !(is instanceof BufferedInputStream)) { - rc = new BufferedInputStream(is); - } else { - rc = (BufferedInputStream)is; - } - return rc; - } - - /** - * Returns the name of the second to top (top excluding java.lang.Object) - * superclass for the given class name. - * @param className the fully qualified name of the class to be checked - * @return the top non-Object superclass for className, - * className if an error occurs or none exists - */ - protected String findPenultimateSuperclass (String className) { - debug("findPenultimateSuperclass(" + className + ")"); // NOI18N - throw new UnsupportedOperationException(); - } - - /** - * Returns the name of the superclass for the given class name. - * @param className the fully qualified name of the class to be checked - * @return the superclass for className, null if an error - * occurs or none exists - */ - protected String getSuperclass (String className) { - debug("getSuperclass (" + className + ")"); // NOI18N - return null; // "java.lang.Object"; // NOI18N - } - - /** - * Creates a file with the given base file name and extension - * parallel to the supplied class (if it does not yet exist). - * - * @param className the fully qualified name of the class - * @param baseFileName the name of the base file - * @param extension the file extension - * - * @return the output stream for the specified resource, null - * if an error occurs or none exists - * - * @exception IOException if there is some error creating the file - */ - protected BufferedOutputStream createFile (String className, String baseFileName, - String extension) throws IOException - { - throw new UnsupportedOperationException(); - } - - /** - * Deletes the file with the given file name which is parallel - * to the supplied class. - * @param className the fully qualified name of the class - * @param fileName the name of the file - * @exception IOException if there is some error deleting the file - */ - protected void deleteFile (String className, String fileName) - throws IOException - { - throw new UnsupportedOperationException(); - } - - /** Returns the class element with the specified className. - * @param className the fully qualified name of the class to be checked - * @param classLoader the class loader used to check the class - * @return the class element for the specified className - */ - public Object getClass (String className, ClassLoader classLoader) - { - throw new UnsupportedOperationException(); - } - - /** Determines if the specified class implements the specified interface. - * Note, class element is a model specific class representation as returned - * by a getClass call executed on the same model instance. - * @param classElement the class element to be checked - * @param interfaceName the fully qualified name of the interface to - * be checked - * @return true if the class implements the interface; - * false otherwise. - * @see #getClass - */ - public boolean implementsInterface (Object classElement, - String interfaceName) - { - throw new UnsupportedOperationException(); - } - - /** Determines if the class with the specified name declares a constructor. - * @param className the name of the class to be checked - * @return true if the class declares a constructor; - * false otherwise. - * @see #getClass - */ - public boolean hasConstructor (String className) - { - throw new UnsupportedOperationException(); - } - - /** Returns the constructor element for the specified argument types - * in the class with the specified name. Types are specified as type - * names for primitive type such as int, float or as fully qualified - * class names. - * @param className the name of the class which contains the constructor - * to be checked - * @param argTypeNames the fully qualified names of the argument types - * @return the constructor element - * @see #getClass - */ - public Object getConstructor (String className, String[] argTypeNames) - { - throw new UnsupportedOperationException(); - } - - /** Returns the method element for the specified method name and argument - * types in the class with the specified name. Types are specified as - * type names for primitive type such as int, float or as fully qualified - * class names. - * @param className the name of the class which contains the method - * to be checked - * @param methodName the name of the method to be checked - * @param argTypeNames the fully qualified names of the argument types - * @return the method element - * @see #getClass - */ - public Object getMethod (String className, String methodName, - String[] argTypeNames) - { - throw new UnsupportedOperationException(); - } - - /** Returns the string representation of type of the specified element. - * If element denotes a field, it returns the type of the field. - * If element denotes a method, it returns the return type of the method. - * Note, element is either a field element as returned by getField, or a - * method element as returned by getMethod executed on the same model - * instance. - * @param element the element to be checked - * @return the string representation of the type of the element - * @see #getField - * @see #getMethod - */ - public String getType (Object element) - { - throw new UnsupportedOperationException(); - } - - /** - * Returns a list of names of all the declared field elements in the - * class with the specified name. - * @param className the fully qualified name of the class to be checked - * @return the names of the field elements for the specified class - */ - public List getFields (String className) { - throw new UnsupportedOperationException(); - } - - /** - * Returns the field element for the specified fieldName in the class - * with the specified className. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return the field element for the specified fieldName - */ - public Object getField (String className, String fieldName) { - throw new UnsupportedOperationException(); - } - - /** Determines if the specified field element has a serializable type. - * A type is serializable if it is a primitive type, a class that implements - * java.io.Serializable or an interface that inherits from - * java.io.Serializable. - * Note, the field element is a model specific field representation as - * returned by a getField call executed on the same model instance. - * @param fieldElement the field element to be checked - * @return true if the field element has a serializable type; - * false otherwise. - * @see #getField - */ - public boolean isSerializable (Object fieldElement) - { - throw new UnsupportedOperationException(); - } - - /** - * Determines if a field with the specified fieldName in the class - * with the specified className is an array. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a java array - * field; false otherwise. - * @see #getFieldType - */ - public boolean isArray (String className, String fieldName) { - throw new UnsupportedOperationException(); - } - - /** Returns the string representation of declaring class of - * the specified member element. Note, the member element is - * either a class element as returned by getClass, a field element - * as returned by getField, a constructor element as returned by - * getConstructor, or a method element as returned by getMethod - * executed on the same model instance. - * @param memberElement the member element to be checked - * @return the string representation of the declaring class of - * the specified memberElement - * @see #getClass - * @see #getField - * @see #getConstructor - * @see #getMethod - */ - public String getDeclaringClass (Object memberElement) - { - throw new UnsupportedOperationException(); - } - - /** Returns the modifier mask for the specified member element. - * Note, the member element is either a class element as returned by - * getClass, a field element as returned by getField, a constructor element - * as returned by getConstructor, or a method element as returned by - * getMethod executed on the same model instance. - * @param memberElement the member element to be checked - * @return the modifier mask for the specified memberElement - * @see java.lang.reflect.Modifier - * @see #getClass - * @see #getField - * @see #getConstructor - * @see #getMethod - */ - public int getModifiers (Object memberElement) - { - throw new UnsupportedOperationException(); - } - - /** - * Returns the PersistenceFieldElement with the supplied fieldName found - * in the supplied className. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return the PersistenceFieldElement for the specified field, - * null if an error occurs or none exists - */ - public PersistenceFieldElement getPersistenceField(String className, - String fieldName) - { - return getPersistenceFieldInternal(className, fieldName); - } - - /** - * Determines if the specified className and fieldName pair represent a - * key field. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a key field; - * false otherwise. - */ - public boolean isKey (String className, String fieldName) - { - PersistenceFieldElement field = - getPersistenceField(className, fieldName); - - return field != null ? field.isKey() : false; - } - - private void debug (Object o) { - if (DEBUG) - System.out.println("EnhancerModel::" + o); // NOI18N - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/Model.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/Model.java deleted file mode 100644 index 575759aacac..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/Model.java +++ /dev/null @@ -1,1741 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * Model.java - * - * Created on March 9, 2000, 6:19 PM - */ - -package com.sun.jdo.api.persistence.model; - -import java.io.*; -import java.util.*; -import java.lang.reflect.Modifier; - -import org.netbeans.modules.dbschema.migration.archiver.XMLInputStream; -import org.netbeans.modules.dbschema.migration.archiver.XMLOutputStream; - -import org.netbeans.modules.dbschema.SchemaElement; -import com.sun.jdo.api.persistence.model.util.LogHelperModel; -import com.sun.jdo.api.persistence.model.util.ModelValidator; -import com.sun.jdo.api.persistence.model.jdo.*; -import com.sun.jdo.api.persistence.model.jdo.impl.*; -import com.sun.jdo.api.persistence.model.mapping.MappingClassElement; -import com.sun.jdo.api.persistence.model.mapping.MappingFieldElement; -import com.sun.jdo.api.persistence.model.mapping.impl.MappingClassElementImpl; -import com.sun.jdo.spi.persistence.utility.*; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.common.util.StringHelper; -import org.glassfish.persistence.common.I18NHelper; - -/* TODO: - 1. think about moving illegal lists of static info out to a properties file - 2. think about throwing an exception or setting the declaring class/table - on add member in both models (jdo and mapping). - 3. add an extra level (bridge pattern) for java elements (generic, member, - class, field) so can use those instead of names - 4. javadoc: @exception vs. @throws - 5. review javadoc, try generating with -link to java.sun.com for Integer - calls - 6. Move various ARGS constants to a better place, like an extra class. - - */ - -/** - * - * @author raccah - * @version %I% - */ -public abstract class Model -{ - /** Default instance of the model for use at runtime. */ - public static final Model RUNTIME; - - /** Default instance of the model used by the enhancer. */ - public static final Model ENHANCER; - - /** Standard set of empty arguments (for comparison with hashCode method - * and no-arg constructor). - */ - public static final String[] NO_ARGS = new String[0]; - - /** Map of mapping class elements which have been loaded. Keys are fully - * qualified class names. - */ - private final Map _classes = new WeakValueHashMap(); - - /** Set of fully qualified names of classes known to be - * non persistence-capable. - */ - private final Set _nonPCClasses = new WeakHashSet(); - - /** List of illegal package name prefixes for superclasses of - * persistence capable classes. - */ - private static List _illegalPrefixes; - - /** List of illegal class names for superclasses of persistence capable - * classes. - */ - private static List _illegalClasses; - - /** List of class names for second class objects. */ - private static List _scoClasses; - - /** List of class names for mutable second class objects. */ - private static List _mutableScoClasses; - - /** List of class names for collections. */ - private static List _collectionClasses; - - /** I18N message base */ - public static final String messageBase = - "com.sun.jdo.api.persistence.model.Bundle"; // NOI18N - - /** I18N message handler */ - private static final ResourceBundle _messages = I18NHelper.loadBundle( - Model.class); - - static - { - String prefixes[] = - {"java.awt", "java.applet", "javax.swing", "jakarta.ejb"};// NOI18N - String classes[] = {"java.lang.Throwable"}; // NOI18N - String collectionClasses[] = { "java.util.Collection", // NOI18N - "java.util.AbstractCollection", // NOI18N - //"java.util.List", "java.util.AbstractList", // NOI18N - "java.util.Set", "java.util.AbstractSet", // NOI18N - //"java.util.ArrayList", "java.util.Vector", // NOI18N - "java.util.HashSet", // NOI18N - //"com.sun.jdo.spi.persistence.support.sqlstore.sco.ArrayList", // NOI18N - //"com.sun.jdo.spi.persistence.support.sqlstore.sco.Vector", // NOI18N - "com.sun.jdo.spi.persistence.support.sqlstore.sco.HashSet"}; // NOI18N - String mutableScoClasses[] = {"java.util.Date", // NOI18N - "com.sun.jdo.spi.persistence.support.sqlstore.sco.Date", "java.sql.Date",// NOI18N - "com.sun.jdo.spi.persistence.support.sqlstore.sco.SqlDate", // NOI18N - "java.sql.Time", "com.sun.jdo.spi.persistence.support.sqlstore.sco.SqlTime", // NOI18N - "java.sql.Timestamp", // NOI18N - "com.sun.jdo.spi.persistence.support.sqlstore.sco.SqlTimestamp"}; // NOI18N - String scoClasses[] = {"java.lang.String", // NOI18N - "java.lang.Character", "java.lang.Boolean", // NOI18N - "java.lang.Long", "java.lang.Number", "java.lang.Byte", // NOI18N - "java.lang.Short", "java.lang.Integer", "java.lang.Float", // NOI18N - "java.lang.Double", "java.math.BigDecimal", // NOI18N - "java.math.BigInteger"}; // NOI18N - - _illegalPrefixes = Arrays.asList(prefixes); - _illegalClasses = Arrays.asList(classes); - _collectionClasses = Arrays.asList(collectionClasses); - _mutableScoClasses = new ArrayList(Arrays.asList(mutableScoClasses)); - _mutableScoClasses.addAll(_collectionClasses); - _scoClasses = new ArrayList(Arrays.asList(scoClasses)); - _scoClasses.addAll(_mutableScoClasses); - - // always load the runtime model - RUNTIME = NewModel(null, "com.sun.jdo.api.persistence.model.RuntimeModel"); //NOI18N - // always load the enhancer model - ENHANCER = NewModel(null, "com.sun.jdo.api.persistence.model.EnhancerModel"); //NOI18N - } - - /** Create a new Model of the requested type. If the class definition - * exists in the class path of the environment, then this method will - * create a new instance of the Model. - * @param modelName the fully qualified name of the class to be - * instantiated. - * @param testName the fully qualified name of the class to be tested - * as a precondition to loading. - * @return a new instance of the requested class (which implements - * Model). - */ - static protected Model NewModel (String testName, String modelName) { - Class DynamicClass = null; - Model model = null; - try { - if (testName != null) - // try this class as a precondition to the real class to load - Class.forName (testName); - DynamicClass = Class.forName (modelName); - if (DynamicClass != null) - model = (Model) DynamicClass.newInstance(); - } - catch (Exception e) { - // this is expected in the environment - } - return model; - } - /** @return I18N message handler for this element - */ - protected static final ResourceBundle getMessages () - { - return _messages; - } - - /** Returns the input stream with the supplied resource name found with - * the supplied class name. - * @param className the fully qualified name of the class which will be - * used as a base to find the resource - * @param classLoader the class loader used to find mapping information - * @param resourceName the name of the resource to be found - * @return the input stream for the specified resource, null - * if an error occurs or none exists - */ - abstract protected BufferedInputStream getInputStreamForResource ( - String className, ClassLoader classLoader, String resourceName); - - /** Determines if the specified className represents an interface type. - * @param className the fully qualified name of the class to be checked - * @return true if this class name represents an interface; - * false otherwise. - */ - abstract public boolean isInterface (String className); - - /** Determines if the specified className has a persistent superclass. - * @param className the fully qualified name of the class to be checked - * @return true if this class name represents a class which - * has a persistent superclass (anywhere in the inheritance chain); - * false otherwise. - */ - public boolean hasPersistentSuperclass (String className) - { - while ((className = getSuperclass(className)) != null) - { - if (isPersistent(className)) - return true; - } - - return false; - } - - /** Returns the name of the second to top (top excluding java.lang.Object) - * superclass for the given class name. - * @param className the fully qualified name of the class to be checked - * @return the top non-Object superclass for className, - * className if an error occurs or none exists - */ - abstract protected String findPenultimateSuperclass (String className); - - /** Returns the name of the superclass for the given class name. - * @param className the fully qualified name of the class to be checked - * @return thesuperclass for className, null if an error - * occurs or none exists - */ - abstract protected String getSuperclass (String className); - - /** Returns a PersistenceClassElement created from the specified class name. - * Since our implementation of the mapping model class includes the - * persistence class, this method finds the persistence class by extracting - * it from the mapping class for the supplied name. - * @param className the fully qualified name of the persistence capable - * class to be returned - * @return the PersistenceClassElement for className, - * null if an error occurs or none exists - * @see #getMappingClass - */ - public PersistenceClassElement getPersistenceClass (String className) - { - return getPersistenceClass(className, null); - } - - /** Returns a PersistenceClassElement created from the specified class name. - * Since our implementation of the mapping model class includes the - * persistence class, this method finds the persistence class by extracting - * it from the mapping class for the supplied name. - * @param className the fully qualified name of the persistence capable - * class to be returned - * @param classLoader the class loader used to find mapping information - * @return the PersistenceClassElement for className, - * null if an error occurs or none exists - * @see #getMappingClass - */ - public PersistenceClassElement getPersistenceClass (String className, - ClassLoader classLoader) - { - return getPersistenceClass(getMappingClass(className, classLoader)); - } - - /** Returns a PersistenceClassElement created from the mapping class. - * @param mappingClass the mapping class element to which the persistence - * class is associated - * @return the PersistenceClassElement for mappingClass, - * null if an error occurs or none exists - * @see #getMappingClass - */ - protected PersistenceClassElement getPersistenceClass ( - MappingClassElement mappingClass) - { - return ((mappingClass == null) ? null : - ((MappingClassElementImpl)mappingClass).getPersistenceElement()); - } - - /** Returns the MappingClassElement created for the specified class name. - * This method looks up the class in the internal cache. If not present - * it loads the corresponding xml file containing the mapping information. - * @param className the fully qualified name of the mapping class - * @return the MappingClassElement for class, - * null if an error occurs or none exists - */ - public MappingClassElement getMappingClass (String className) - { - return getMappingClass(className, null); - } - - /** Returns the MappingClassElement created for the specified class name. - * This method looks up the class in the internal cache. If not present - * it loads the corresponding xml file containing the mapping information. - * @param className the fully qualified name of the mapping class - * @param classLoader the class loader used to find mapping information - * @return the MappingClassElement for className, - * null if an error occurs or none exists - * @see MappingClassElementImpl#forName - */ - public MappingClassElement getMappingClass (String className, - ClassLoader classLoader) - { - // This method synchronizes the access of the _classes cache, - // rather than using a synchronized map. This is for optimization only. - // Otherwise two parallel calls would read the mapping file twice, - // create two MCE instances and the second MCE instance would replace - // the first in the cache. - // Any other access of _classes potentially needs to be synchronized - // using the same variable _classes (e.g. updateKeyForClass). - synchronized (this._classes) - { - MappingClassElement mappingClass = - (MappingClassElement)_classes.get(className); - - if (mappingClass == null) - { - // check whether the class is known to be non PC - if (_nonPCClasses.contains(className)) - return null; - - try - { - InputStream stream = getInputStreamForResource(className, - classLoader, getResourceNameWithExtension(className)); - - if (stream != null) - { - // if the file is empty, the archiver prints an - // exception, so protect against that case and - // return null without updating either cache - if (stream.available() > 0) - { - XMLInputStream xmlInput = new XMLInputStream(stream, - getClass().getClassLoader()); - - mappingClass = - (MappingClassElement)xmlInput.readObject(); - xmlInput.close(); - - // postUnarchive performs version number checking - // and possible format conversions - mappingClass.postUnarchive(); - - // can't call updateKeyForClass here there are cases - // when the mapping class name doesn't match the - // classname (such as copy/paste, move etc.) - _classes.put(className, mappingClass); - - // update the modified flags for the mapping and - // persistence classes since the xml archiver uses - // all the set methods - mappingClass.setModified(false); - getPersistenceClass(mappingClass). - setModified(false); - } - } - else - { - // stream is null, mapping file does not exist => - // class is not PC, so store the class name in the - // set of classes known to be non PC - _nonPCClasses.add(className); - } - } - catch (ModelException e) - { - // MBO: print reason to logger - LogHelperModel.getLogger().log(Logger.WARNING, - e.getMessage()); - return null; - } - catch (Exception e) - { - // MBO: print reason to logger - LogHelperModel.getLogger().log(Logger.WARNING, - I18NHelper.getMessage(getMessages(), - "file.cannot_read", className, e.toString())); //NOI18N - } // will return null - } - - return mappingClass; - } - } - - /** Returns an unmodifiable copy of the MappingClassElement cache. - * @return unmodifiable MappingClassElement cache - */ - public Map getMappingCache () - { - return Collections.unmodifiableMap(_classes); - } - - /** Returns an unmodifiable copy of the ClassLoader cache. - * This implementation returns null, but subclasses (such as RuntimeModel) - * can override this method if they support a class loader cache. - * @return unmodifiable ClassLoader cache - */ - public Map getClassLoaderCache () - { - return null; - } - - /** Removes the classes cached with the specified class loader from all - * caches. - * This implementation does nothing, but subclasses (such as RuntimeModel) - * can override this method if they support a class loader cache. - * @param classLoader used to determine the classes to be removed - */ - public void removeResourcesFromCaches (ClassLoader classLoader) - { - // Do nothing in the top-level model. - } - - /** Removes the specified classes from all caches. The specified - * collection includes the fully qualified class names of the classes - * to be removed. The method removes each class from the cache of - * MappingClassElements and the set of classes known to be non - * PC. Furthermore it removes the SchemaElement associated with this - * class from the SchemaElement cache. The next call getMappingClass - * will determine the status of the classes. - * @param classNames a collection of fully qualified class names - */ - protected void removeResourcesFromCaches (Collection classNames) - { - if (classNames == null) - return; - - synchronized (this._classes) - { - for (Iterator i = classNames.iterator(); i.hasNext();) - { - String className = (String)i.next(); - MappingClassElement mapping = - (MappingClassElement)_classes.get(className); - - // If the cache has a MappingClassElement with the specified - // className, get its databaseRoot and remove the corresonding - // SchemaElement from the SchemaElement cache. - if (mapping != null) - SchemaElement.removeFromCache(mapping.getDatabaseRoot()); - - // remove the corresponding MappingClassElement from cache - _classes.remove(className); - - // remove the class from the set of classes known to be non PC - _nonPCClasses.remove(className); - } - } - } - - /** Removes the class with the supplied name from the cache of - * classes known to be non PC. - * The next call getMappingClass will determine the status of the class. - * @param className the fully qualified name of the class - */ - public void removeFromCache (String className) - { - synchronized (this._classes) - { - // remove the class from the set of classes known to be non PC - _nonPCClasses.remove(className); - } - } - - /** Stores the supplied MappingClassElement to an xml file, creating the - * file if necessary. The caller is responsible for updating the cache - * by calling updateKeyForClass, if necessary. - * @param mappingClass the mapping class to be saved - * @exception IOException if there is some error saving the class - * @see #createFile - */ - public void storeMappingClass (MappingClassElement mappingClass) - throws IOException - { - if (mappingClass != null) - { - String className = mappingClass.getName(); - OutputStream stream = ((className == null) ? null : - createFile(className, getFileName(className), - MappingClassElement.MAPPING_EXTENSION)); - - storeMappingClass(mappingClass, stream); - } - } - - /** Stores the supplied MappingClassElement to an xml file in the - * specified output stream. The caller is responsible for updating - * the cache by calling updateKeyForClass, if necessary. - * @param mappingClass the mapping class to be saved - * @param stream the output stream - * @exception IOException if there is some error saving the class - * @see #createFile - */ - public void storeMappingClass (MappingClassElement mappingClass, - OutputStream stream) throws IOException - { - if (mappingClass != null) - { - String className = mappingClass.getName(); - - if (stream != null) - { - XMLOutputStream xmlOutput = new XMLOutputStream(stream); - - try - { - mappingClass.preArchive(); // call pre archive hook - xmlOutput.writeObject(mappingClass); - - // update modified flags for the mapping and persistence - // classes after save - mappingClass.setModified(false); - getPersistenceClass(mappingClass).setModified(false); - } - catch (ModelException e) - { - // MBO: print reason to logger - LogHelperModel.getLogger().log(Logger.WARNING, - e.getMessage()); - } - finally - { - if (xmlOutput != null) - xmlOutput.close(); - - unlockFile(stream, className); - } - return; - } - - throw new IOException(I18NHelper.getMessage(getMessages(), - "file.cannot_save", className)); // NOI18N - } - } - - public void unlockFile (OutputStream stream, String className) - throws IOException - { - unlockFile(className); - - if (stream != null) - stream.close(); - } - - // overridden in DevelopmentModel - public void lockFile (String className) throws IOException {} - - // overridden in DevelopmentModel - public void unlockFile (String className) {} - - /** Stores the MappingClassElement for the specified class name to an xml - * file, creating the file if necessary. The MappingClassElement must be - * present in the HashMap of classes known by the Model in order to stored. - * @param className the fully qualified name of the mapping class - * @exception IOException if there is some error saving the class - * @see #storeMappingClass - */ - public void storeMappingClass (String className) throws IOException - { - MappingClassElement mappingClass = null; - - synchronized (this._classes) - { - mappingClass = (MappingClassElement)_classes.get(className); - } - storeMappingClass(mappingClass); - } - - /** Updates the key in the cache for the supplied MappingClassElement. - * @param mappingClass the mapping class to be put in the cache - * (the new name is extracted from this element). The corresponding - * handling of the files is automatically handled by the data object. - * (use null to remove the old key but not replace it) - * @param oldName the fully qualified name of the old key for the mapping - * class (use null to add the new key but not replace it) - */ - public void updateKeyForClass (MappingClassElement mappingClass, - String oldName) - { - // need to synchronize _classes access here - // (for details see getMappingClass) - synchronized (this._classes) - { - // remove the old key from the cache - if (oldName != null) - _classes.remove(oldName); - - // store the class under the new key in the cache - if (mappingClass != null) - { - String className = mappingClass.getName(); - - _classes.put(className, mappingClass); - - // ensure that the name of the mappingClass does not occur - // in the list of classes known to be non PC - _nonPCClasses.remove(className); - } - } - } - - /** Determines if the specified className represents a persistence capable - * class. A class is persistence capable only if it is directly marked as - * such -- not by inheritance. - * @param className the fully qualified name of the class to be checked - * @return true if this class name represents a persistence - * capable class; false otherwise. - */ - public boolean isPersistent (String className) - { - return isPersistent(className, (ClassLoader)null); - } - - - /** Determines if the specified className represents a persistence capable - * class. A class is persistence capable only if it is directly marked as - * such -- not by inheritance. - * @param className the fully qualified name of the class to be checked - * @param classLoader the class loader used to find mapping information - * @return true if this class name represents a persistence - * capable class; false otherwise. - */ - public boolean isPersistent (String className, ClassLoader classLoader) - { - return (getPersistenceClass(className, classLoader) != null); - } - - /** Determines if the specified className represents a legal candidate for - * becoming a persistence capable class. A class may not become - * persistence capable if it is declared as static or abstract, an - * interface, a subclass of another persistence capable class - * (either direct or indirect), an exception subclass, or a subclass - * of ejb, swing, awt, or applet classes. - * @param className the fully qualified name of the class to be checked - * @return true if this class name represents a legal - * candidate for becoming a persistence capable class; - * false otherwise. - * @see #getModifiersForClass - * @see #isInterface - * @see #findPenultimateSuperclass - */ - public boolean isPersistenceCapableAllowed (String className) - { - int modifier = getModifiersForClass(className); - - if (!Modifier.isStatic(modifier) && !Modifier.isAbstract(modifier) && - !isInterface(className) && !hasPersistentSuperclass(className)) - { - String highestSuperclassName = findPenultimateSuperclass(className); - Iterator iterator = _illegalPrefixes.iterator(); - - while (iterator.hasNext()) - { - String nextPrefix = iterator.next().toString(); - - if (highestSuperclassName.startsWith(nextPrefix)) - return false; - } - - iterator = _illegalClasses.iterator(); - while (iterator.hasNext()) - { - String nextClass = iterator.next().toString(); - - if (highestSuperclassName.equals(nextClass)) - return false; - } - - return true; - } - - return false; - } - - /** Computes the mapping file resource name (with extension) for the - * supplied class name by converting the package name to a resource name. - * @param className the fully qualified name of the class - * @return the mapping file resource name (with extension) for the supplied - * class name - * @see MappingClassElement#MAPPING_EXTENSION - */ - protected String getResourceNameWithExtension (String className) - { - return getResourceName(className) + "." + // NOI18N - MappingClassElement.MAPPING_EXTENSION; - } - - /** Computes the base resource name (without extension) for the supplied - * class name by converting the package name to a resource name. - * @param className the fully qualified name of the class - * @return the base resource name (without extension) for the supplied - * class name - */ - protected String getResourceName (String className) - { - return ((className != null) ? - className.replace('.', '/') : null); - } - - /** Computes the mapping file name (with extension) for the supplied - * class name by converting the package name to a path name. - * @param className the fully qualified name of the class - * @return the mapping file name (with extension) for the supplied - * class name - * @see #getFileName - * @see MappingClassElement#MAPPING_EXTENSION - */ - protected String getFileNameWithExtension (String className) - { - return getFileName(className) + "." + // NOI18N - MappingClassElement.MAPPING_EXTENSION; - } - - /** Computes the base file name (without extension) for the supplied - * class name by converting the package name to a path name. - * @param className the fully qualified name of the class - * @return the base file name (without extension) for the supplied - * class name - */ - protected String getFileName (String className) - { - return ((className != null) ? - className.replace('.', File.separatorChar) : null); - } - - /** Converts the class with the supplied name to or from persistence - * capable depending on the flag. - * @param className the fully qualified name of the class - * @param flag if true, convert this class to be - * persistence capable, if false, convert this class - * to be non-persistence capable - * @exception IOException if there is some error converting the class - */ - public void convertToPersistenceCapable (String className, - boolean flag) throws IOException - { - boolean classIsPersistent = isPersistent(className); - Exception conversionException = null; - - if (flag && !classIsPersistent && - isPersistenceCapableAllowed(className)) - { - try - { - // this calls updateKeyForClass which updates - // the mapping cache and the set of classes known to be non PC - createSkeletonMappingClass(className); - } - catch (Exception e) - { - // need to unconvert whatever partial conversion succeeded - conversionException = e; - } - } - - if ((!flag && classIsPersistent) || (conversionException != null)) - { - try - { - // delete the mapping file - deleteFile(className, getFileNameWithExtension(className)); - - synchronized (this._classes) - { - // remove the corresponding MappingClassElement from cache - _classes.remove(className); - - // put the class in the set of classes known to be non PC - _nonPCClasses.add(className); - } - } - catch (Exception e) // rethrow if not a problem during unconvert - { - if (conversionException == null) - conversionException = e; - } - } - - if (conversionException != null) // rethrow the exception - { - if (conversionException instanceof RuntimeException) - throw (RuntimeException)conversionException; - else if (conversionException instanceof IOException) - throw (IOException)conversionException; - } - } - - /** Converts the class with the supplied name to persistence-capable, - * then convert its default fields and save it to the xml file. - * @param className the fully qualified name of the class - * @exception IOException if there is some error storing the class - */ - public void convertToPersistenceCapable (String className) - throws IOException - { - convertToPersistenceCapable(className, true); - convertDefaultFields(className); - storeMappingClass(className); - } - - /** Creates a PersistenceClassElement with the specified name, then wraps - * it in a mapping class and stores it in the hash map of classes. - * This is the first phase of converting a class to be persistence-capable. - * @param className the fully qualified name of the class - * @see #convertDefaultFields - * @see #updateKeyForClass - */ - private void createSkeletonMappingClass (String className) - { - PersistenceClassElement element = new PersistenceClassElement( - new PersistenceClassElementImpl(className)); - - updateKeyForClass(new MappingClassElementImpl(element), null); - } - - /** Adds the default allowable persistent fields to the persistent class - * with the specified name. This is the second phase of converting - * a class to be persistence-capable. - * @param className the fully qualified name of the class - * @see #createSkeletonMappingClass - * @see #convertFields - */ - public void convertDefaultFields (String className) - { - convertFields(className, getFields(className)); - } - - /** Adds the allowable persistent fields from the supplied list - * to the persistent class with the specified name. - * @param className the fully qualified name of the class - * @param fields a list of (short) field names - * @see #convertDefaultFields - */ - public void convertFields (String className, List fields) - { - PersistenceClassElement element = getPersistenceClass(className); - - if (element != null) - { - Iterator iterator = fields.iterator(); - - // iterate the list of fields and create corresponding - // PersistenceFieldElements (& RelationshipElements) - while (iterator.hasNext()) - { - String fieldName = (String)iterator.next(); - - if (isPersistentAllowed(className, fieldName) && - shouldBePersistent(className, fieldName)) - { - addFieldElement(element, fieldName); - } - } - - /* comment out -- not supporting concurrency groups for beta - // add everything to one concurrency group by default - PersistenceFieldElement[] persistentFields = element.getFields(); - if ((persistentFields != null) && (persistentFields.length > 0)) - { - String defaultGroupName = I18NHelper.getMessage(getMessages(), - "jdo.concurrency_group.default"); - ConcurrencyGroupElement group = new ConcurrencyGroupElement( - new ConcurrencyGroupElementImpl(defaultGroupName), element); - - try - { - group.addFields(persistentFields); - element.addConcurrencyGroup(group); - } - catch (ModelException e) - {} // just don't add this group - }*/ - } - } - - /** Adds a PersistenceFieldElement for the specified field to the - * supplied PersistenceClassElement, creating a RelationshipElement if - * necessary. - * @param element the persistence class element to be used - * @param fieldName the name of the field to be added - */ - public boolean addFieldElement (PersistenceClassElement element, - String fieldName) - { - String fieldType = getFieldType(element.getName(), fieldName); - boolean isCollection = isCollection(fieldType); - - try - { - // check if should be relationship here - if (isPersistent(fieldType) || isCollection) - { - RelationshipElement relationship = new RelationshipElement( - new RelationshipElementImpl(fieldName), element); - - if (isCollection) - { - relationship.setCollectionClass( - getDefaultCollectionClass(fieldType)); - } - else // set upper bound = 1 (jdo model should really do this) - relationship.setUpperBound(1); - - element.addField(relationship); - } - else - { - element.addField(new PersistenceFieldElement(new - PersistenceFieldElementImpl(fieldName), element)); - } - - return true; - } - catch (ModelException e) - {} // will return false - - return false; - } - - /** Removes the specified PersistenceFieldElement from its declaring - * class. This method is added so that there is a common way to do this - * which checks if the argument is a relationship element with an inverse - * (in which case the inverse should first be cleared). This should - * really be handled by the jdo model directly, but the removeField method - * doesn't have access to the Model which is necessary for setting - * (or clearing) inverse relationships. - * @param element the persistence field element to be removed - * @exception ModelException if there is some error removing the field - */ - public void removeFieldElement (PersistenceFieldElement element) - throws ModelException - { - if (element != null) - { - if (element instanceof RelationshipElement) - { - ((RelationshipElement)element).setInverseRelationship(null, - this); - } - - element.getDeclaringClass().removeField(element); - } - } - - /** Gets the name of the related class for a relationship element. - * This method is added so that there is a common way to do this. It - * checks if the argument is a collection relationship element (in which - * case the element class should be returned) or not (in which case the - * type should be returned). This should really be handled by the jdo - * model directly, but it doesn't have access to the Model which is - * necessary for finding the field type and whether it is a collection or - * not. - * @param element the relationship element to be examined - * @return the name of the related class - */ - public String getRelatedClass (RelationshipElement element) - { - if (element != null) - { - String fieldType = getFieldType( - element.getDeclaringClass().getName(), element.getName()); - String relatedClass = (isCollection(fieldType) ? - element.getElementClass() : fieldType); - - return (StringHelper.isEmpty(relatedClass) ? null : - relatedClass.trim()); - } - - return null; - } - - /** Computes the list of names of the possible collection classes for the - * specified class. - * @param className the fully qualified name of the class to be checked - * @return an array of supported collection classes for the - * specified class name. - * @see #getFieldType - * @see #getDefaultCollectionClass - */ - public ArrayList getSupportedCollectionClasses (String className) - { - String supportedSet = "java.util.HashSet"; // NOI18N - // String supportedList = "java.util.ArrayList"; // NOI18N - // String supportedVector = "java.util.Vector"; // NOI18N - ArrayList returnList = new ArrayList(); - - // for dogwood, only support sets - returnList.add(supportedSet); - /* if (className.indexOf("Collection") != -1) // NOI18N - { - returnList.add(supportedSet); - returnList.add(supportedList); - returnList.add(supportedVector); - } - else if (className.indexOf("List") != -1) // NOI18N - returnList.add(supportedList); - else if (className.indexOf("Set") != -1) // NOI18N - returnList.add(supportedSet); - else if (supportedVector.equals(className)) - returnList.add(supportedVector); - */ - return returnList; - } - - /** Returns the default collection class for the specified class. If - * the specified class is an unspecified Collection type, the return - * will be HashSet. - * @param className the fully qualified name of the class to be checked - * @return the name of the default supported collection class for the - * specified class name. - * @see #getFieldType - * @see #getSupportedCollectionClasses - */ - public String getDefaultCollectionClass (String className) - { - String collectionClass = "java.util.HashSet"; // NOI18N - - // for dogwood, only support sets - /* if (className.indexOf("List") != -1) // NOI18N - collectionClass = "java.util.ArrayList"; // NOI18N - else if ("java.util.Vector".equals(className)) // NOI18N - collectionClass = className; - */ - return collectionClass; - } - - /** Creates a file with the given base file name and extension - * parallel to the supplied class (if it does not yet exist). - * @param className the fully qualified name of the class - * @param baseFileName the name of the base file - * @param extension the file extension - * @return the output stream for the specified resource, null - * if an error occurs or none exists - * @exception IOException if there is some error creating the file - */ - abstract protected BufferedOutputStream createFile (String className, - String baseFileName, String extension) throws IOException; - - /** Deletes the file with the given file name which is parallel - * to the supplied class. - * @param className the fully qualified name of the class - * @param fileName the name of the file - * @exception IOException if there is some error deleting the file - */ - abstract protected void deleteFile (String className, String fileName) - throws IOException; - - /** Returns a list of names of all the declared field elements in the - * class with the specified name. - * @param className the fully qualified name of the class to be checked - * @return the names of the field elements for the specified class - */ - abstract public List getFields (String className); - - /** Returns a list of names of all the field elements in the - * class with the specified name. This list includes the inherited - * fields. - * @param className the fully qualified name of the class to be checked - * @return the names of the field elements for the specified class - */ - public List getAllFields (String className) - { - List returnList = new ArrayList(); - - while (className != null) - { - returnList.addAll(getFields(className)); - className = getSuperclass(className); - } - - return returnList; - } - - /** Returns the class element with the specified className. - * @param className the fully qualified name of the class to be checked - * @return the class element for the specified className - */ - public Object getClass (String className) - { - return getClass(className, null); - } - - /** Returns the class element with the specified className. - * @param className the fully qualified name of the class to be checked - * @param classLoader the class loader used to find mapping information - * @return the class element for the specified className - */ - abstract public Object getClass (String className, ClassLoader classLoader); - - /** Determines if a class with the specified className exists. - * @param className the fully qualified name of the class to be checked - * @return true if this class name represents a valid - * class; false otherwise. - */ - public boolean hasClass (String className) - { - return hasClass(className, null); - } - - /** Determines if a class with the specified className exists. - * @param className the fully qualified name of the class to be checked - * @param classLoader the class loader used to find mapping information - * @return true if this class name represents a valid - * class; false otherwise. - */ - public boolean hasClass (String className, ClassLoader classLoader) - { - return (getClass(className, classLoader) != null); - } - - /** Determines if the specified class implements the specified interface. - * Note, class element is a model specific class representation as returned - * by a getClass call executed on the same model instance. - * @param classElement the class element to be checked - * @param interfaceName the fully qualified name of the interface to - * be checked - * @return true if the class implements the interface; - * false otherwise. - * @see #getClass - */ - abstract public boolean implementsInterface (Object classElement, - String interfaceName); - - /** Determines if the class with the specified name declares a constructor. - * @param className the name of the class to be checked - * @return true if the class declares a constructor; - * false otherwise. - * @see #getClass - */ - abstract public boolean hasConstructor (String className); - - /** Returns the constructor element for the specified argument types - * in the class with the specified name. Types are specified as type - * names for primitive type such as int, float or as fully qualified - * class names. - * @param className the name of the class which contains the constructor - * to be checked - * @param argTypeNames the fully qualified names of the argument types - * @return the constructor element - * @see #getClass - */ - abstract public Object getConstructor (String className, - String[] argTypeNames); - - /** Returns the method element for the specified method name and argument - * types in the class with the specified name. Types are specified as - * type names for primitive type such as int, float or as fully qualified - * class names. - * @param className the name of the class which contains the method - * to be checked - * @param methodName the name of the method to be checked - * @param argTypeNames the fully qualified names of the argument types - * @return the method element - * @see #getClass - */ - abstract public Object getMethod (String className, String methodName, - String[] argTypeNames); - - /** Returns the inherited method element for the specified method - * name and argument types in the class with the specified name. - * Types are specified as type names for primitive type such as - * int, float or as fully qualified class names. Note that the class - * with the specified className is not checked for this method, only - * superclasses are checked. - * @param className the name of the class which contains the method - * to be checked - * @param methodName the name of the method to be checked - * @param argTypeNames the fully qualified names of the argument types - * @return the method element - * @see #getClass - */ - public Object getInheritedMethod (String className, String methodName, - String[] argTypeNames) - { - String superClass = getSuperclass(className); - Object method = null; - - while ((superClass != null) && ((method = - getMethod(superClass, methodName, argTypeNames)) == null)) - { - superClass = getSuperclass(superClass); - } - - return method; - } - - /** Returns the string representation of type of the specified element. - * If element denotes a field, it returns the type of the field. - * If element denotes a method, it returns the return type of the method. - * Note, element is either a field element as returned by getField, or a - * method element as returned by getMethod executed on the same model - * instance. - * @param element the element to be checked - * @return the string representation of the type of the element - * @see #getField - * @see #getMethod - */ - abstract public String getType (Object element); - - /** Returns the field element for the specified fieldName in the class - * with the specified className. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return the field element for the specified fieldName - */ - abstract public Object getField (String className, String fieldName); - - /** Returns the inherited field element for the specified fieldName in - * the class with the specified className. Note that the class - * with the specified className is not checked for this field, only - * superclasses are checked. - * @param className the fully qualified name of the class which contains - * a superclass with the field to be checked - * @param fieldName the name of the field to be checked - * @return the field element for the specified fieldName - */ - public Object getInheritedField (String className, String fieldName) - { - String superClass = getSuperclass(className); - Object field = null; - - while ((superClass != null) && - ((field = getField(superClass, fieldName)) == null)) - { - superClass = getSuperclass(superClass); - } - - return field; - } - - /** Determines if a field with the specified fieldName exists in the class - * with the specified className. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a valid - * field; false otherwise. - */ - public boolean hasField (String className, String fieldName) - { - return (getField(className, fieldName) != null); - } - - /** Returns the field type for the specified fieldName in the class - * with the specified className. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return the field type for the specified fieldName - */ - public String getFieldType (String className, String fieldName) - { - return getType(getField(className, fieldName)); - } - - /** Determines if the specified field element has a serializable type. - * A type is serializable if it is a primitive type, a class that - * implements java.io.Serializable or an interface that inherits from - * java.io.Serializable. - * Note, the field element is a model specific field representation as - * returned by a getField call executed on the same model instance. - * @param fieldElement the field element to be checked - * @return true if the field element has a serializable type; - * false otherwise. - * @see #getField - */ - abstract public boolean isSerializable (Object fieldElement); - - /** Determines if a field with the specified fieldName in the class - * with the specified className has a primitive type. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a primitive - * field; false otherwise. - * @see #getFieldType - */ - public boolean isPrimitive (String className, String fieldName) - { - return isPrimitive(getFieldType(className, fieldName)); - } - - /** Determines if the specified className represents a primitive type. - * @param className the fully qualified name of the class or type to be - * checked - * @return true if this class represents a primitive; - * false otherwise. - * @see #getFieldType - */ - protected boolean isPrimitive (String className) - { - return ((className != null) && - JavaTypeHelper.getPrimitiveClass(className) != null); - } - - /** Determines if a field with the specified fieldName in the class - * with the specified className is an array. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a java array - * field; false otherwise. - * @see #getFieldType - */ - abstract public boolean isArray (String className, String fieldName); - - /** Determines if a field with the specified fieldName in the class - * with the specified className is a byte array. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a byte array - * field; false otherwise. - * @see #getFieldType - */ - public boolean isByteArray (String className, String fieldName) - { - return isByteArray(getFieldType(className, fieldName)); - } - - /** Determines if the specified className represents a byte array. - * @param className the fully qualified name of the class or type to be - * checked - * @return true if this class represents a byte array; - * false otherwise. - */ - protected boolean isByteArray (String className) - { - return ("byte[]".equals(className)); // NOI18N - } - - /** Determines if the class name represents a collection. - * @param className the fully qualified name of the class to be checked - * @return true if this class represents a collection; - * false otherwise. - * @see #getFieldType - */ - public boolean isCollection (String className) - { - return _collectionClasses.contains(className); - } - - /** Determines if the specified className represents a second class object. - * For this release, the class name is checked against a list of supported - * second class objects since user-defined second class objects are not - * supported. - * @param className the fully qualified name of the class to be checked - * @return true if this class represents a second class - * object; false otherwise. - * @see #isMutableSecondClassObject - * @see #isCollection - * @see #getFieldType - */ - public boolean isSecondClassObject (String className) - { - return _scoClasses.contains(className); - } - - /** Determines if the specified className represents a mutable second class - * object. For this release, the class name is checked against a list of - * supported mutable second class objects since user-defined second class - * objects are not supported. - * @param className the fully qualified name of the class to be checked - * @return true if this class represents a mutable second - * class object; false otherwise. - * @see #isSecondClassObject - * @see #isCollection - * @see #getFieldType - */ - public boolean isMutableSecondClassObject (String className) - { - return _mutableScoClasses.contains(className); - } - - /** Returns the string representation of declaring class of - * the specified member element. Note, the member element is - * either a class element as returned by getClass, a field element - * as returned by getField, a constructor element as returned by - * getConstructor, or a method element as returned by getMethod - * executed on the same model instance. - * @param memberElement the member element to be checked - * @return the string representation of the declaring class of - * the specified memberElement - * @see #getClass - * @see #getField - * @see #getConstructor - * @see #getMethod - */ - abstract public String getDeclaringClass (Object memberElement); - - /** Returns the modifier mask for the specified member element. - * Note, the member element is either a class element as returned by - * getClass, a field element as returned by getField, a constructor element - * as returned by getConstructor, or a method element as returned by - * getMethod executed on the same model instance. - * @param memberElement the member element to be checked - * @return the modifier mask for the specified memberElement - * @see java.lang.reflect.Modifier - * @see #getClass - * @see #getField - * @see #getConstructor - * @see #getMethod - */ - abstract public int getModifiers (Object memberElement); - - /** Returns the modifier mask for the specified className. - * @param className the fully qualified name of the class to be checked - * @return the modifier mask for the specified class - * @see java.lang.reflect.Modifier - */ - public int getModifiersForClass (String className) - { - return getModifiers(getClass(className)); - } - - /** Returns the modifier mask for the specified fieldName in the class - * with the specified className. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return the modifier mask for the specified field - * @see java.lang.reflect.Modifier - */ - protected int getModifiers (String className, String fieldName) - { - return getModifiers(getField(className, fieldName)); - } - - /** Returns true if the specified field can be made - * persistent, false otherwise. This computation is based - * on the modifier and type of the field. Fields which are non-final - * and non-static and are primitive, persistence capable, or second - * class objects and not arrays return true. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return whether the specified field can be made persistent - * @see #getModifiers(String,String) - * @see #isPrimitive - * @see #isArray - * @see #isPersistent - * @see #isSecondClassObject - * @see #shouldBePersistent - */ - public boolean isPersistentAllowed (String className, String fieldName) - { - return isPersistentAllowed(className, null, fieldName); - } - - /** Returns true if the specified field can be made - * persistent, false otherwise. This computation is based - * on the modifier and type of the field. Fields which are non-final - * and non-static and are primitive, persistence capable, byte arrays, or - * second class objects and not arrays return true. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param classLoader the class loader used to find mapping information - * @param fieldName the name of the field to be checked - * @return whether the specified field can be made persistent - * @see #getModifiers(String,String) - * @see #getFieldType - * @see #isPersistentTypeAllowed - * @see #shouldBePersistent - */ - public boolean isPersistentAllowed (String className, - ClassLoader classLoader, String fieldName) - { - int modifier = getModifiers(className, fieldName); - - if (!Modifier.isStatic(modifier) && !Modifier.isFinal(modifier)) - { - return isPersistentTypeAllowed( - getFieldType(className, fieldName), classLoader); - } - - return false; - } - - /** Returns true if the a field of the specified class or - * type can be made persistent, false otherwise. Fields - * which are primitive, persistence capable, byte arrays, or second - * class objects and not arrays return true. - * @param className the fully qualified name of the class or type to be - * checked - * @param classLoader the class loader used to find mapping information - * @return true if this class represents a type which - * can be made persistent; false otherwise. - * @see #isPrimitive - * @see #isByteArray - * @see #isPersistent - * @see #isSecondClassObject - */ - protected boolean isPersistentTypeAllowed (String className, - ClassLoader classLoader) - { - return (isPrimitive(className) || isSecondClassObject(className) || - isByteArray(className) || isPersistent(className, classLoader)); - } - - /** Returns true if the specified field should be made - * persistent (i.e. does it make sense), false otherwise. - * This computation is based solely on the modifier: those which are not - * volatile return true. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return whether the specified field should be made persistent - * see #getModifiers(String,String) - */ - public boolean shouldBePersistent (String className, String fieldName) - { - return !Modifier.isVolatile(getModifiers(className, fieldName)); - } - - /** Returns the PersistenceFieldElement with the supplied fieldName found - * in the supplied className. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return the PersistenceFieldElement for the specified field, - * null if an error occurs or none exists - */ - public PersistenceFieldElement getPersistenceField (String className, - String fieldName) - { - return (hasField(className, fieldName) ? - getPersistenceFieldInternal(className, fieldName) : null); - } - - /** Returns the PersistenceFieldElement with the supplied fieldName found - * in the supplied className. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return the PersistenceFieldElement for the specified field, - * null if an error occurs or none exists - */ - protected PersistenceFieldElement getPersistenceFieldInternal - (String className, String fieldName) - { - PersistenceClassElement classElement = getPersistenceClass(className); - - return ((classElement != null) ? - classElement.getField(fieldName) : null); - } - - /** Determines if the specified className and fieldName pair represent a - * persistent field. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a persistent - * field; false otherwise. - */ - public boolean isPersistent (String className, String fieldName) - { - PersistenceFieldElement fieldElement = - getPersistenceField(className, fieldName); - - if (fieldElement != null) - { - return (PersistenceFieldElement.PERSISTENT == - fieldElement.getPersistenceType()); - } - - return false; - } - - /** Determines if the specified className and fieldName pair represent a - * key field. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a key field; - * false otherwise. - */ - public boolean isKey (String className, String fieldName) - { - if (hasField(className, fieldName)) - { - PersistenceClassElement classElement = - getPersistenceClass(className); - - if (classElement != null) - { - String keyClass = classElement.getKeyClass(); - - if (keyClass != null) - return hasField(keyClass, fieldName); - } - } - - return false; - } - - /** Determines if the specified className and fieldName pair represent a - * field which has a type which is valid for key fields. Valid key - * field types include non-collection SCOs (wrappers, Date, Time, etc.) - * and primitives. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a field - * with a valid type for a key field; false otherwise. - */ - public boolean isValidKeyType (String className, String fieldName) - { - String fieldType = getFieldType(className, fieldName); - - if (fieldType == null) - fieldType = getType(getInheritedField(className, fieldName)); - - return (isPrimitive(fieldType) || - (isSecondClassObject(fieldType) && !isCollection(fieldType))); - } - - /** Determines if the specified className and fieldName pair represent a - * field which is part of the default fetch group. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a field in - * the default fetch group; false otherwise. - */ - public boolean isDefaultFetchGroup (String className, String fieldName) - { - MappingClassElement mappingClass = getMappingClass(className); - - try - { - return (MappingFieldElement.GROUP_DEFAULT == - mappingClass.getField(fieldName).getFetchGroup()); - } - catch (Exception e) - {} // will return false - - return false; - } - - /** Parses the combination of java (or class) information and mapping/jdo - * information by running through a subset of the full validation check - * and aborting (and returning false at the first error or - * warning. - * @param className the fully qualified name of the class to be checked - * @return true if no errors or warnings occur, - * false otherwise. - */ - public boolean parse (String className) - { - return new ModelValidator(this, className, getMessages()).parseCheck(); - } - - /** Validates the combination of java (or class) information and mapping/jdo - * information by running through the full validation check and returning - * a collection of ModelValidationExceptions containing any errors or - * warnings encountered. - * @param className the fully qualified name of the class to be checked - * @param bundle the overridden resource bundle file - specify - * null if the default one should be used - * @return a collection of ModelValidationExceptions containing any - * errors or warnings encountered. If no errors or warnings were - * encountered, the collection will be empty, not null. - */ - public Collection validate (String className, ResourceBundle bundle) - { - return validate(className, null, bundle); - } - - /** Validates the combination of java (or class) information and mapping/jdo - * information by running through the full validation check and returning - * a collection of ModelValidationExceptions containing any errors or - * warnings encountered. - * @param className the fully qualified name of the class to be checked - * @param classLoader the class loader used to find mapping information - * @param bundle the overridden resource bundle file - specify - * null if the default one should be used - * @return a collection of ModelValidationExceptions containing any - * errors or warnings encountered. If no errors or warnings were - * encountered, the collection will be empty, not null. - */ - public Collection validate (String className, ClassLoader classLoader, - ResourceBundle bundle) - { - return new ModelValidator(this, className, classLoader, - ((bundle == null) ? getMessages() : bundle)).fullValidationCheck(); - } - - /** Standard set of arguments for comparison with readObject method. - */ - public static String[] getReadObjectArgs() { - // Creating and returning a new array every time to prevent returning a mutable array - return new String[] {"java.io.ObjectInputStream"}; //NOI18N - } - - /** Standard set of arguments for comparison with equals method. - */ - public static String[] getEqualsArgs() { - // Creating and returning a new array every time to prevent returning a mutable array - return new String[] {"java.lang.Object"}; //NOI18N - } - - /** Standard set of arguments for comparison with writeObject method. - */ - public static String[] getWriteObjectArgs() { - // Creating and returning a new array every time to prevent returning a mutable array - return new String[] {"java.io.ObjectOutputStream"}; //NOI18N - } - -} - diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ModelException.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ModelException.java deleted file mode 100644 index 402e951dd99..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ModelException.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ModelException.java - * - * Created on February 29, 2000, 12:22 PM - */ - -package com.sun.jdo.api.persistence.model; - -/** - * - * @author raccah - * @version %I% - */ -public class ModelException extends Exception -{ - /** - * Creates new ModelException without detail message. - */ - public ModelException () - { - } - - - /** - * Constructs an ModelException with the specified detail message. - * @param msg the detail message. - */ - public ModelException (String msg) - { - super(msg); - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ModelVetoException.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ModelVetoException.java deleted file mode 100644 index 82c6e03360d..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/ModelVetoException.java +++ /dev/null @@ -1,181 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * ModelVetoException.java - * - * Created on August 23, 2000, 10:50 PM - */ - -package com.sun.jdo.api.persistence.model; - -import java.io.PrintStream; -import java.io.PrintWriter; - -import org.glassfish.common.util.StringHelper; - -/** - * - * @author raccah - * @version %I% - */ -public class ModelVetoException extends ModelException -{ - /** This field holds the target if the - * ModelVetoException (Throwable target) constructor was - * used to instantiate the object - */ - private Throwable _target; - - /** - * Creates new ModelVetoException without detail message and - * null as the target exception. - */ - public ModelVetoException () - { - } - - /** - * Constructs an ModelVetoException with the specified - * detail message and null as the target exception.. - * @param msg the detail message. - */ - public ModelVetoException (String msg) - { - super(msg); - } - - /** - * Constructs a ModelVetoException with a target exception. - */ - public ModelVetoException (Throwable target) - { - super(); - _target = target; - } - - /** - * Constructs a ModelVetoException with a target exception - * and a detail message. - */ - public ModelVetoException (Throwable target, String s) - { - super(s); - _target = target; - } - - /** - * Get the thrown target exception. - */ - public Throwable getTargetException() { return _target; } - - /** - * Returns the error message string of this throwable object. - * @return the error message string of this ModelVetoException - * object if it was created with an error message string, the error - * message of the target exception if it was not created a message - * but the target exception has a message, or null if - * neither has an error message. - * - */ - public String getMessage() - { - String message = super.getMessage(); - - if (StringHelper.isEmpty(message)) - { - Throwable target = getTargetException(); - - message = target.getMessage(); - } - - return message; - } - - /** - * Prints the stack trace of the thrown target exception. - * @see java.lang.System#err - */ - public void printStackTrace () - { - printStackTrace(System.err); - } - - /** - * Prints the stack trace of the thrown target exception to the specified - * print stream. - */ - public void printStackTrace (PrintStream ps) - { - synchronized (ps) - { - Throwable target = getTargetException(); - - if (target != null) - { - ps.print(getClass() + ": "); // NOI18N - target.printStackTrace(ps); - } - else - super.printStackTrace(ps); - } - } - - /** - * Prints the stack trace of the thrown target exception to the - * specified print writer. - */ - public void printStackTrace (PrintWriter pw) - { - synchronized (pw) - { - Throwable target = getTargetException(); - - if (target != null) - { - pw.print(getClass() + ": "); // NOI18N - target.printStackTrace(pw); - } - else - super.printStackTrace(pw); - } - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/RuntimeModel.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/RuntimeModel.java deleted file mode 100644 index bc32e6de78d..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/RuntimeModel.java +++ /dev/null @@ -1,867 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * RuntimeModel.java - * - * Created on March 10, 2000, 11:05 AM - */ - -package com.sun.jdo.api.persistence.model; - -import java.io.*; -import java.net.URL; -import java.util.*; -import java.lang.reflect.*; -import java.security.AccessController; -import java.security.PrivilegedAction; - -import org.netbeans.modules.dbschema.SchemaElement; -import com.sun.jdo.api.persistence.model.mapping.MappingClassElement; -import com.sun.jdo.spi.persistence.utility.*; -import org.glassfish.common.util.StringHelper; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author raccah - * @version %I% - */ -public class RuntimeModel extends Model -{ - /** Extension of the class file, used to figure out the path for handling - * the mapping file. - */ - private static final String CLASS_EXTENSION = "class"; // NOI18N - - /** Constant which represents the prefix of the java package. - */ - private static final String JAVA_PACKAGE = "java."; // NOI18N - - /** Constant which represents the serializable interface. - */ - private static final String SERIALIZABLE = "java.io.Serializable"; //NOI18N - - /** Map of class loader used to find classes and mapping information. Keys - * are fully qualified class names. - */ - private HashMap classLoaders = new HashMap(); - - /** Creates a new RuntimeModel. This constructor should not be called - * directly; instead, the static instance accesible from the Model class - * should be used. - * @see Model#RUNTIME - */ - protected RuntimeModel () - { - super(); - } - - /** Determines if the specified className represents an interface type. - * @param className the fully qualified name of the class to be checked - * @return true if this class name represents an interface; - * false otherwise. - */ - public boolean isInterface (String className) - { - Class classElement = (Class)getClass(className); - - return ((classElement != null) ? classElement.isInterface() : false); - } - - /** Returns the input stream with the supplied resource name found with - * the supplied class name. - * NOTE, this implementation assumes the specified class loader is not null - * and needs not to be validated. Any validation is done by getMappingClass - * which is the only caller of this method. - * @param className the fully qualified name of the class which will - * be used as a base to find the resource - * @param classLoader the class loader used to find mapping information - * @param resourceName the name of the resource to be found - * @return the input stream for the specified resource, null - * if an error occurs or none exists - */ - protected BufferedInputStream getInputStreamForResource (String className, - ClassLoader classLoader, String resourceName) - { - InputStream is = ((className != null) ? - classLoader.getResourceAsStream(resourceName) : null); - - BufferedInputStream rc = null; - if (is != null && !(is instanceof BufferedInputStream)) { - rc = new BufferedInputStream(is); - } else { - rc = (BufferedInputStream)is; - } - return rc; - } - - /** Computes the class name (without package) for the supplied - * class name. - * @param className the fully qualified name of the class - * @return the class name (without package) for the supplied - * class name - */ - private String getShortClassName (String className) - { - return JavaTypeHelper.getShortClassName(className); - } - - /** Returns the name of the second to top (top excluding java.lang.Object) - * superclass for the given class name. - * @param className the fully qualified name of the class to be checked - * @return the top non-Object superclass for className, - * className if an error occurs or none exists - */ - protected String findPenultimateSuperclass (String className) - { - Class classElement = (Class)getClass(className); - Class objectClass = java.lang.Object.class; - Class testClass = null; - - if (classElement == null) - return className; - - while ((testClass = classElement.getSuperclass()) != null) - { - if (testClass.equals(objectClass)) - break; - - classElement = testClass; - } - - return classElement.getName(); - } - - /** Returns the name of the superclass for the given class name. - * @param className the fully qualified name of the class to be checked - * @return the superclass for className, null if an error - * occurs or none exists - */ - protected String getSuperclass (String className) - { - Class classElement = (Class)getClass(className); - - if (classElement != null) - classElement = classElement.getSuperclass(); - - return ((classElement != null) ? classElement.getName() : null); - } - - /** Returns the MappingClassElement created for the specified class name. - * This method looks up the class in the internal cache. If not present - * it loads the corresponding xml file containing the mapping information. - * @param className the fully qualified name of the mapping class - * @param classLoader the class loader used to find mapping information - * @return the MappingClassElement for className, - * null if an error occurs or none exists - * @see com.sun.jdo.api.persistence.model.mapping.impl.MappingClassElementImpl#forName(String, Model) - */ - public MappingClassElement getMappingClass (String className, - ClassLoader classLoader) - { - MappingClassElement mappingClass = null; - - // First check class loader. This has to be done before the super call! - // Method Model.getMappingClass will check the MappingClassElement cache - // and will find an entry in the case of a multiple class loader for the - // same class name. So we have to check the multiple class loader first. - classLoader = findClassLoader(className, classLoader); - mappingClass = super.getMappingClass(className, classLoader); - if ((mappingClass != null) && (classLoader != null)) - { - // Lookup the SchemElement connected to mappingClass. This reads - // the .dbschema file using the specified classLoader and stores the - // SchemaElement in the SchemaElement cache. Any subsequent - // SchemaElement.forName or TableElement.forName lookups will use - // the cached version. - String databaseRoot = mappingClass.getDatabaseRoot(); - - // An unmapped mapping class is allowed in which case the - // databaseRoot will be null (never mapped) or empty - // (mapped once, unmapped now), but if the databaseRoot is - // not null or empty and we can't find the schema, throw a - // RuntimeException to notify the user that something is wrong. - if (!StringHelper.isEmpty(databaseRoot) && - (SchemaElement.forName(databaseRoot, classLoader) == null)) - { - throw new RuntimeException(I18NHelper.getMessage( - getMessages(), "dbschema.not_found", // NOI18N - databaseRoot, className)); - } - } - - return mappingClass; - } - - /** Returns an unmodifiable copy of the ClassLoader cache. - * @return unmodifiable ClassLoader cache - */ - public Map getClassLoaderCache () - { - return Collections.unmodifiableMap(classLoaders); - } - - /** Removes the classes cached with the specified class loader from all - * caches. The method iterates the ClassLoader cache to find classes - * cached with the specified class loader. These classes are removed - * from the ClassLoader cache, the cache of MappingClassElements and - * the set of classes known to be non PC. The associated SchemaElements - * are removed from the SchemaElement cache. - * @param classLoader used to determine the classes to be removed - */ - public void removeResourcesFromCaches (ClassLoader classLoader) - { - Collection classNames = new HashSet(); - - synchronized(classLoaders) - { - for (Iterator i = classLoaders.entrySet().iterator(); i.hasNext();) - { - Map.Entry next = (Map.Entry)i.next(); - - // check the cached class loader - if (next.getValue() == classLoader) - { - // add className to the collection of classNames to be - // removed - classNames.add(next.getKey()); - // remove this entry from the classLoaders cache - i.remove(); - } - } - } - - removeResourcesFromCaches(classNames); - } - - /** Creates a file with the given base file name and extension - * parallel to the supplied class (if it does not yet exist). - * @param className the fully qualified name of the class - * @param baseFileName the name of the base file - * @param extension the file extension - * @return the output stream for the specified resource, null - * if an error occurs or none exists - * @exception IOException if there is some error creating the file - */ - protected BufferedOutputStream createFile (String className, String baseFileName, - String extension) throws IOException - { - char extensionCharacter = '.'; - File file = getFile(className, - baseFileName + extensionCharacter + extension); - - if (file == null) - { - Class classElement = (Class)getClass(className); - - if (classElement != null) - { - // need to find the path before the package name - String path = classElement.getResource( - getShortClassName(className) + extensionCharacter + - CLASS_EXTENSION).getFile(); - int index = path.lastIndexOf(extensionCharacter) + 1; - - file = new File(path.substring(0, index) + extension); - file.createNewFile(); - } - } - return ((file != null) - ? (new BufferedOutputStream(new FileOutputStream(file))) - : null); - } - - /** Deletes the file with the given file name which is parallel - * to the supplied class. - * @param className the fully qualified name of the class - * @param fileName the name of the file - * @exception IOException if there is some error deleting the file - */ - protected void deleteFile (String className, String fileName) - throws IOException - { - File file = getFile(className, fileName); - - if ((file != null) && file.exists()) - file.delete(); - } - - /** Returns a file with the given file name which is parallel to the - * supplied class. - * @param className the fully qualified name of the class - * @param fileName the name of the file - * @return the file object for the specified resource, null - * if an error occurs - * @exception IOException if there is some error getting the file - */ - protected File getFile (String className, String fileName) - throws IOException - { - Class classElement = (Class)getClass(className); - - if (classElement != null) - { - // need to find the path before the package name - URL path = classElement.getResource(fileName.substring( - fileName.lastIndexOf(getShortClassName(className)))); - - return ((path != null) ? (new File(path.getFile())) : null); - } - - return null; - } - - /** Returns the class element with the specified className. The class is - * found using Class.forName. - * @param className the fully qualified name of the class to be checked - * @param classLoader the class loader used to find mapping information - * @return the class element for the specified className, null - * if an error occurs or none exists - */ - public Object getClass (String className, ClassLoader classLoader) - { - if (className == null) - return null; - - try - { - classLoader = findClassLoader(className, classLoader); - return Class.forName(className, true, classLoader); - } - catch (ClassNotFoundException e) - { - return null; - } - } - - /** - * This method returns the class loader used to find mapping information - * for the specified className. If the classLoader argument is not null, - * the method updates the classLoaders cache and returns the specified - * classLoader. Otherwise it checks the cache for the specified className - * and returns this class loader. If there is no cached class loader it - * returns the current class loader. - * @param className the fully qualified name of the class to be checked - * @param classLoader the class loader used to find mapping information - * @return the class loader used to find mapping information for the - * specified className - * @exception IllegalArgumentException if there is class loader problem - */ - protected ClassLoader findClassLoader (String className, - ClassLoader classLoader) throws IllegalArgumentException - { - ClassLoader cached = null; - - if (className == null) - return null; - else if (className.startsWith(JAVA_PACKAGE) || isPrimitive(className)) - // Use current class loader for java packages or primitive types - // - these classes cannot have the multiple class loader conflict - // - these classes should not show up in the classLoaders map - return getClass().getClassLoader(); - - synchronized (classLoaders) - { - cached = (ClassLoader)classLoaders.get(className); - - if (classLoader == null) - { - // Case 1: specified class loader is null => - // return cached class loader if available, if not - // take current class loader - classLoader = - (cached != null) ? cached : getClass().getClassLoader(); - } - else if (cached == null) - { - // Case 2: specified class loader is NOT null AND - // no class loader cached for the class name => - // put specified class loader in cache - classLoaders.put(className, classLoader); - } - else if (classLoader != cached) - { - // Case 3: specified class loader is NOT null AND - // cache contains class loader for this class name AND - // both class loaders are not identical => - // pontential conflict - Class clazz = null; - Class cachedClazz = null; - - try - { - String prop = ClassLoaderStrategy.getStrategy(); - - // Load the class using specified and cached class loader. - // NOTE, do not change the order of the next two lines, the - // catch block relies on it! - clazz = Class.forName(className, true, classLoader); - cachedClazz = Class.forName(className, true, cached); - - if (clazz.getClassLoader() == cachedClazz.getClassLoader()) - { - // Case 3a: both class loaders are the same => - // return it - return cached; - } - else if (ClassLoaderStrategy.MULTIPLE_CLASS_LOADERS_IGNORE.equals(prop)) - { - // Case 3b: both class loaders are different and - // the system property is defined as ignore => - // ignore the specified class loader and return - // the cached class loader - return cached; - } - else if (ClassLoaderStrategy.MULTIPLE_CLASS_LOADERS_RELOAD.equals(prop)) - { - // Case 3c: both class loaders are different and - // the system property is defined as reload => - // discard the cached class loader and replace it - // by the specified class loader - removeResourcesFromCaches(cachedClazz.getClassLoader()); - classLoaders.put(className, classLoader); - return classLoader; - } - else - { - // Case 3d: both class loaders are different and - // the system property is defined as error or - // any other value => - // throw exception - throw new IllegalArgumentException(I18NHelper.getMessage( - getMessages(), "classloader.multiple", // NOI18N - className)); - } - } - catch (ClassNotFoundException ex) - { - // At least one of the class loader could not find the class. - // Update the classLoader map, if the specified class loader - // could find it, but the cached could not. - if ((clazz != null) && (cachedClazz == null)) - classLoaders.put(className, classLoader); - } - } - } - - return classLoader; - } - - /** Determines if the specified class implements the specified interface. - * Note, class element is a model specific class representation as returned - * by a getClass call executed on the same model instance. This - * implementation expects the class element being a reflection instance. - * @param classElement the class element to be checked - * @param interfaceName the fully qualified name of the interface to - * be checked - * @return true if the class implements the interface; - * false otherwise. - * @see #getClass - */ - public boolean implementsInterface (Object classElement, - String interfaceName) - { - Class interfaceClass = (Class)getClass(interfaceName); - - if ((classElement == null) || !(classElement instanceof Class) || - (interfaceClass == null)) - return false; - - return interfaceClass.isAssignableFrom((Class)classElement); - } - - /** Determines if the class with the specified name declares a constructor. - * @param className the name of the class to be checked - * @return true if the class declares a constructor; - * false otherwise. - * @see #getClass - */ - public boolean hasConstructor (final String className) - { - final Class classElement = (Class)getClass(className); - - if (classElement != null) - { - Boolean b = (Boolean)AccessController.doPrivileged( - new PrivilegedAction() - { - public Object run () - { - return JavaTypeHelper.valueOf(((Class)classElement). - getDeclaredConstructors().length != 0); - } - }); - - return b.booleanValue(); - } - - return false; - } - - /** Returns the constructor element for the specified argument types - * in the class with the specified name. Types are specified as type - * names for primitive type such as int, float or as fully qualified - * class names. - * @param className the name of the class which contains the constructor - * to be checked - * @param argTypeNames the fully qualified names of the argument types - * @return the constructor element - * @see #getClass - */ - public Object getConstructor (final String className, String[] argTypeNames) - { - final Class classElement = (Class)getClass(className); - - if (classElement != null) - { - final Class[] argTypes = getTypesForNames(argTypeNames); - - return AccessController.doPrivileged(new PrivilegedAction() - { - public Object run () - { - try - { - return ((Class)classElement).getDeclaredConstructor( - argTypes); - } - catch (NoSuchMethodException ex) - { - // constructor not found => return null - return null; - } - } - }); - } - - return null; - } - - /** Returns the method element for the specified method name and argument - * types in the class with the specified name. Types are specified as - * type names for primitive type such as int, float or as fully qualified - * class names. Note, the method does not return inherited methods. - * @param className the name of the class which contains the method - * to be checked - * @param methodName the name of the method to be checked - * @param argTypeNames the fully qualified names of the argument types - * @return the method element - * @see #getClass - */ - public Object getMethod (final String className, final String methodName, - String[] argTypeNames) - { - final Class classElement = (Class)getClass(className); - - if (classElement != null) - { - final Class[] argTypes = getTypesForNames(argTypeNames); - - return AccessController.doPrivileged(new PrivilegedAction() - { - public Object run () - { - try - { - return classElement.getDeclaredMethod( - methodName, argTypes); - } - catch (NoSuchMethodException ex) - { - // method not found => return null - return null; - } - } - }); - } - - return null; - } - - /** Returns the string representation of type of the specified element. - * If element denotes a field, it returns the type of the field. - * If element denotes a method, it returns the return type of the method. - * Note, element is either a field element as returned by getField, or a - * method element as returned by getMethod executed on the same model - * instance. This implementation expects the element being a reflection - * instance. - * @param element the element to be checked - * @return the string representation of the type of the element - * @see #getField - * @see #getMethod - */ - public String getType (Object element) - { - return getNameForType(getTypeObject(element)); - } - - /** Returns a list of names of all the declared field elements in the - * class with the specified name. - * @param className the fully qualified name of the class to be checked - * @return the names of the field elements for the specified class - */ - public List getFields (String className) - { - List returnList = new ArrayList(); - final Class classElement = (Class)getClass(className); - - if (classElement != null) - { - Field[] fields = (Field[]) AccessController.doPrivileged( - new PrivilegedAction() - { - public Object run () - { - return classElement.getDeclaredFields(); - } - }); - int i, count = fields.length; - - for (i = 0; i < count; i++) - returnList.add(fields[i].getName()); - } - - return returnList; - } - - /** Returns the field element for the specified fieldName in the class - * with the specified className. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return the field element for the specified fieldName - */ - public Object getField (String className, final String fieldName) - { - final Class classElement = (Class)getClass(className); - - if (classElement != null) - { - return AccessController.doPrivileged(new PrivilegedAction() - { - public Object run () - { - try - { - return classElement.getDeclaredField(fieldName); - } - catch (NoSuchFieldException e) - { - // field not found => return null; - return null; - } - } - }); - } - - return null; - } - - /** Determines if the specified field element has a serializable type. - * A type is serializable if it is a primitive type, a class that implements - * java.io.Serializable or an interface that inherits from - * java.io.Serializable. - * Note, the field element is a model specific field representation as - * returned by a getField call executed on the same model instance. This - * implementation expects the field element being a reflection instance. - * @param fieldElement the field element to be checked - * @return true if the field element has a serializable type; - * false otherwise. - * @see #getField - */ - public boolean isSerializable (Object fieldElement) - { - Class type = getTypeObject(fieldElement); - - // check if the topmost element type is serializable - while ((type != null) && type.isArray()) - type = type.getComponentType(); - - return ((type != null) ? - (type.isPrimitive() || implementsInterface(type, SERIALIZABLE)) : - false); - } - - /** Determines if a field with the specified fieldName in the class - * with the specified className is an array. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a java array - * field; false otherwise. - * @see #getFieldType - */ - public boolean isArray (String className, String fieldName) - { - Object fieldElement = getField(className, fieldName); - - return ((fieldElement != null) ? - getTypeObject(fieldElement).isArray() : false); - } - - /** Returns the string representation of declaring class of - * the specified member element. Note, the member element is - * either a class element as returned by getClass, a field element - * as returned by getField, a constructor element as returned by - * getConstructor, or a method element as returned by getMethod - * executed on the same model instance. This implementation - * expects the member element to be a reflection instance. - * @param memberElement the member element to be checked - * @return the string representation of the declaring class of - * the specified memberElement - * @see #getClass - * @see #getField - * @see #getConstructor - * @see #getMethod - */ - public String getDeclaringClass (Object memberElement) - { - Class classElement = null; - - if ((memberElement != null) && (memberElement instanceof Member)) - classElement = ((Member)memberElement).getDeclaringClass(); - - return ((classElement != null) ? classElement.getName() : null); - } - - /** Returns the modifier mask for the specified member element. - * Note, the member element is either a class element as returned by - * getClass, a field element as returned by getField, a constructor element - * as returned by getConstructor, or a method element as returned by - * getMethod executed on the same model instance. This implementation - * expects the member element to be a reflection instance. - * @param memberElement the member element to be checked - * @return the modifier mask for the specified memberElement - * @see java.lang.reflect.Modifier - * @see #getClass - * @see #getField - * @see #getConstructor - * @see #getMethod - */ - public int getModifiers (Object memberElement) - { - int modifiers = 0; - - if (memberElement != null) - { - if (memberElement instanceof Class) - { - modifiers = ((Class)memberElement).getModifiers(); - } - else if (memberElement instanceof Member) - { - modifiers = ((Member)memberElement).getModifiers(); - } - } - - return modifiers; - } - - /** Returns the Class type of the specified element. - * If element denotes a field, it returns the type of the field. - * If element denotes a method, it returns the return type of the method. - * Note, element is either a field element as returned by getField, or a - * method element as returned by getMethod executed on the same model - * instance. - * @param element the element to be checked - * @return the Class type of the element - * @see #getField - * @see #getMethod - */ - protected Class getTypeObject (Object element) - { - Class type = null; - - if (element != null) - { - if (element instanceof Field) - type = ((Field)element).getType(); - else if (element instanceof Method) - type = ((Method)element).getReturnType(); - } - - return type; - } - - private String getNameForType (Class type) - { - String typeName = null; - - if (type != null) - { - if (type.isArray()) - { - typeName = getNameForType( - type.getComponentType()) + "[]"; // NOI18N - } - else - typeName = type.getName(); - } - - return typeName; - } - - /** Converts the array of type names into an array of Class objects. - */ - private Class[] getTypesForNames (String[] typeNames) - { - Class[] classes = new Class[typeNames.length]; - - for (int i = 0; i < classes.length; i++) - classes[i] = getTypeForName(typeNames[i]); - - return classes; - } - - /** Converts the specified type name into its corresponding java.lang.Class - * representation. - */ - private Class getTypeForName (String typeName) - { - Class clazz = JavaTypeHelper.getPrimitiveClass(typeName); - - if (clazz == null) - clazz = (Class)getClass(typeName); - - return clazz; - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/ConcurrencyGroupElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/ConcurrencyGroupElement.java deleted file mode 100644 index 6f537163b8a..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/ConcurrencyGroupElement.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConcurrencyGroupElement.java - * - * Created on February 29, 2000, 5:21 PM - */ - -package com.sun.jdo.api.persistence.model.jdo; - -/** - * - * @author raccah - * @version %I% - */ -public class ConcurrencyGroupElement extends FieldGroupElement -{ - /** Create new ConcurrencyGroupElement with no implementation. - * This constructor should only be used for cloning and archiving. - */ - public ConcurrencyGroupElement () - { - this(null, null); - } - - /** Create new ConcurrencyGroupElement with the provided implementation. - * The implementation is responsible for storing all properties of the - * object. - * @param impl the implementation to use - * @param declaringClass the class to attach to - */ - public ConcurrencyGroupElement (ConcurrencyGroupElement.Impl impl, - PersistenceClassElement declaringClass) - { - super(impl, declaringClass); - } - - /** @return implemetation factory for this concurrency group - */ - final Impl getConcurrencyGroupImpl () { return (Impl)getImpl(); } - - /** Pluggable implementation of concurrency group elements. - * @see ConcurrencyGroupElement - */ - public interface Impl extends FieldGroupElement.Impl { } -} - diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/FieldElementHolder.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/FieldElementHolder.java deleted file mode 100644 index 9d732e15070..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/FieldElementHolder.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * FieldElementHolder.java - * - * Created on February 28, 2000, 3:55 PM - */ - -package com.sun.jdo.api.persistence.model.jdo; - -import com.sun.jdo.api.persistence.model.ModelException; - -/** - * - * @author raccah - * @version %I% - */ -public interface FieldElementHolder -{ - /** Add the supplied field to the collection of fields maintained by this - * holder. - * @param field the field to be added - * @exception ModelException if impossible - */ - public void addField (PersistenceFieldElement field) - throws ModelException; - - /** Add the supplied fields to the collection of fields maintained by this - * holder. - * @param fields the array of fields to be added - * @exception ModelException if impossible - */ - public void addFields (PersistenceFieldElement[] fields) - throws ModelException; - - /** Remove the supplied field from the collection of fields maintained by - * this holder. - * @param field the field to be removed - * @exception ModelException if impossible - */ - public void removeField (PersistenceFieldElement field) - throws ModelException; - - /** Removed the supplied fields from the collection of fields maintained - * by this holder. - * @param fields the array of fields to be removed - * @exception ModelException if impossible - */ - public void removeFields (PersistenceFieldElement[] fields) - throws ModelException; - - /** Returns the collection of fields maintained by this holder in the form - * of an array. - * @return the fields maintained by this holder - */ - public PersistenceFieldElement[] getFields (); - - /** Sets the collection of fields maintained by this holder to the contents - * of the supplied array. - * @param fields the fields maintained by this holder - * @exception ModelException if impossible - */ - public void setFields (PersistenceFieldElement[] fields) - throws ModelException; - - /** Returns the field with the supplied name from the collection of fields - * maintained by this holder. - * @param name the name to match - * @return the field with the supplied name, null if none exists - */ - public PersistenceFieldElement getField (String name); - - /** Tests whether the supplied field is in the collection of fields - * maintained by this holder. - * @param field the field to be tested - */ - public boolean containsField (PersistenceFieldElement field); -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/FieldGroupElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/FieldGroupElement.java deleted file mode 100644 index b5674ecee87..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/FieldGroupElement.java +++ /dev/null @@ -1,193 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * FieldGroupElement.java - * - * Created on February 29, 2000, 4:57 PM - */ - -package com.sun.jdo.api.persistence.model.jdo; - -import com.sun.jdo.api.persistence.model.ModelException; - -/** - * - * @author raccah - * @version %I% - */ -public abstract class FieldGroupElement extends PersistenceMemberElement - implements FieldElementHolder -{ - /** Create new FieldGroupElement with no implementation. - * This constructor should only be used for cloning and archiving. - */ - public FieldGroupElement () - { - this(null, null); - } - - /** Create new FieldGroupElement with the provided implementation. The - * implementation is responsible for storing all properties of the object. - * @param impl the implementation to use - * @param declaringClass the class to attach to - */ - public FieldGroupElement (FieldGroupElement.Impl impl, - PersistenceClassElement declaringClass) - { - super(impl, declaringClass); - } - - /** @return implemetation factory for this field group - */ - final Impl getFieldGroupImpl () { return (Impl)getImpl(); } - - //================== Fields =============================== - // PersistenceFieldElement handling, implementation of FieldElementHolder - - /** Add the supplied field to the collection of fields maintained by this - * holder. - * @param field the field to be added - * @exception ModelException if impossible - */ - public void addField (PersistenceFieldElement field) - throws ModelException - { - addFields(new PersistenceFieldElement[]{field}); - } - - /** Add the supplied fields to the collection of fields maintained by this - * holder. - * @param fields the array of fields to be added - * @exception ModelException if impossible - */ - public void addFields(PersistenceFieldElement[] fields) - throws ModelException - { - getFieldGroupImpl().changeFields(fields, Impl.ADD); - } - - /** Remove the supplied field from the collection of fields maintained by - * this holder. - * @param field the field to be removed - * @exception ModelException if impossible - */ - public void removeField (PersistenceFieldElement field) - throws ModelException - { - removeFields(new PersistenceFieldElement[]{field}); - } - - /** Removed the supplied fields from the collection of fields maintained - * by this holder. - * @param fields the array of fields to be removed - * @exception ModelException if impossible - */ - public void removeFields (PersistenceFieldElement[] fields) - throws ModelException - { - getFieldGroupImpl().changeFields(fields, Impl.REMOVE); - } - - /** Returns the collection of fields maintained by this holder in the form - * of an array. - * @return the fields maintained by this holder - */ - public PersistenceFieldElement[] getFields () - { - return getFieldGroupImpl().getFields(); - } - - /** Sets the collection of fields maintained by this holder to the contents - * of the supplied array. - * @param fields the fields maintained by this holder - * @exception ModelException if impossible - */ - public void setFields (PersistenceFieldElement[] fields) - throws ModelException - { - getFieldGroupImpl().changeFields(fields, Impl.SET); - } - - /** Returns the field with the supplied name from the collection of fields - * maintained by this holder. - * @param name the name of the field to be found - * @return the field with the supplied name, null if none exists - */ - public PersistenceFieldElement getField (String name) - { - return getFieldGroupImpl().getField(name); - } - - /** Tests whether the supplied field is in the collection of fields - * maintained by this holder. - * @param field the field to be tested - */ - public boolean containsField (PersistenceFieldElement field) - { - return (getFieldGroupImpl().getField(field.getName()) != null); - } - - /** Pluggable implementation of the storage of field element properties. - * @see PersistenceFieldElement#PersistenceFieldElement - */ - public interface Impl extends PersistenceMemberElement.Impl - { - /** Change the set of fields. - * @param fields the new fields - * @param action {@link #ADD}, {@link #REMOVE}, or {@link #SET} - * @exception ModelException if impossible - */ - public void changeFields (PersistenceFieldElement[] fields, int action) - throws ModelException; - - /** Get all fields. - * @return the fields - */ - public PersistenceFieldElement[] getFields (); - - /** Find a field by name. - * @param name the name to match - * @return the field, or null if it does not exist - */ - public PersistenceFieldElement getField (String name); - } -} - diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceClassElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceClassElement.java deleted file mode 100644 index 7cbf1fe9da3..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceClassElement.java +++ /dev/null @@ -1,572 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * PersistenceClassElement.java - * - * Created on February 28, 2000, 4:09 PM - */ - -package com.sun.jdo.api.persistence.model.jdo; - -import java.util.ArrayList; - -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.ModelException; -import org.glassfish.common.util.StringHelper; -import org.glassfish.persistence.common.I18NHelper; - -/* TODO: - 1. throw ModelException on add duplicate field or concurrency group (will - need I18N for message) - 2. review javadoc, links for get/set methods - */ - -/** - * - * @author raccah - * @version %I% - */ -public class PersistenceClassElement extends PersistenceElement - implements FieldElementHolder -{ - /** Constant representing jdo identity managed by the application. */ - public static final int APPLICATION_IDENTITY = 0; - - /** Constant representing jdo identity managed by the database. */ - public static final int DATABASE_IDENTITY = 1; - - /** Constant representing unmanaged jdo identity. */ - public static final int UNMANAGED_IDENTITY = 2; - - /** Create new PersistenceClassElement with no implementation. - * This constructor should only be used for cloning and archiving. - */ - public PersistenceClassElement () - { - this(null); - } - - /** Create new PersistenceClassElement with the provided implementation. The - * implementation is responsible for storing all properties of the object. - * @param impl the implementation to use - */ - public PersistenceClassElement (PersistenceClassElement.Impl impl) - { - super(impl); - } - - /** Returns the persistence class element associated with the class with - * the given string name, using the given model object to look it up. - * @param name the fully qualified name of the desired class - * @param model the model object to be used to look it up - * @return persistence class element representing the desired class - */ - public static PersistenceClassElement forName (String name, Model model) - { - return model.getPersistenceClass(name); - } - - /** @return implemetation factory for this class - */ - final Impl getClassImpl () { return (Impl)getImpl(); } - - /** Get the package name of this class element. - * @return the package - * @see PersistenceElement#getName - */ - public String getPackage () - { - String className = getName(); - int index = className.lastIndexOf('.'); - - return ((index != -1) ? className.substring(0, index) : ""); // NOI18N - } - - /** Gets the modified flag for this persistence class. - * @return true if there have been (property) changes to this - * class, false otherwise. - */ - public boolean isModified () { return getClassImpl().isModified(); } - - /** Set the modified flag for this persistence class to flag. This is - * usually set to true by property changes and - * false after a save. - * @param flag if true, this class is marked as modified; - * if false, it is marked as unmodified. - */ - public void setModified (boolean flag) { getClassImpl().setModified(flag); } - - /** Get the object identity type of this class element. - * @return the object identity type, one of {@link #APPLICATION_IDENTITY}, - * {@link #DATABASE_IDENTITY}, or {@link #UNMANAGED_IDENTITY} - */ - public int getObjectIdentityType () - { - return getClassImpl().getObjectIdentityType(); - } - - /** Set the object identity type of this class element. - * @param type - an integer indicating the object identity type, one of: - * {@link #APPLICATION_IDENTITY}, {@link #DATABASE_IDENTITY}, or - * {@link #UNMANAGED_IDENTITY} - * @exception ModelException if impossible - */ - public void setObjectIdentityType (int type) throws ModelException - { - getClassImpl().setObjectIdentityType(type); - } - - /** Get the fully qualified name of the primary key class for this class - * element. This value is only used if getObjectIdentityType - * returns APPLICATION_IDENTITY - * @return the fully qualified key class name, null if the - * identity type is not managed by the application - * @see #setObjectIdentityType - * @see #APPLICATION_IDENTITY - * - */ - public String getKeyClass () { return getClassImpl().getKeyClass(); } - - /** Set the primary key class for this class element. For now the key - * class is required to be in the same package with the same name as this - * class and the suffix "Key" (any capitalization), or an inner class of - * this class with the name "OID" (any capitalization). - * @param name - the fully qualified name which represents the primary key - * class. This value is only used if getObjectIdentityType - * returns APPLICATION_IDENTITY - * @exception ModelException if impossible - * @see #setObjectIdentityType - * @see #APPLICATION_IDENTITY - */ - public void setKeyClass (String name) throws ModelException - { - boolean hasValue = (name != null); - - if (hasValue) - name = name.trim(); - - if (hasValue && (name.length() > 0)) - { - String className = getName(); - boolean hasPrefix = name.startsWith(className); - String nameSuffix = ((hasPrefix) ? - name.substring(className.length()) : name); - - if (!hasPrefix || (!nameSuffix.equalsIgnoreCase("Key") && // NOI18N - !nameSuffix.equalsIgnoreCase(".OID") // NOI18N - && !nameSuffix.equalsIgnoreCase("$OID"))) // NOI18N - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "jdo.class.key_class_invalid", // NOI18N - new Object[]{name, className})); - } - } - - getClassImpl().setKeyClass(name); - } - - /** Set the name of this persistence element. This method overrides - * the one in PersistenceElement in order to keep the - * {@link #getKeyClass key class} in sync if possible. - * @param name the name - * @exception ModelException if impossible - */ - public void setName (String name) throws ModelException - { - String oldName = getName(); - - super.setName(name); - - if (!StringHelper.isEmpty(name)) - { - String oldKeyClass = getKeyClass(); - - // a rename -- set the key class too - if ((oldKeyClass != null) && oldKeyClass.startsWith(oldName)) - setKeyClass(name + oldKeyClass.substring(oldName.length())); - } - } - - //================== Fields =============================== - // PersistenceFieldElement handling, implementation of FieldElementHolder - - /** Add the supplied field to the collection of fields maintained by this - * holder. - * @param field the field to be added - * @exception ModelException if impossible - */ - public void addField (PersistenceFieldElement field) - throws ModelException - { - addFields(new PersistenceFieldElement[]{field}); - } - - /** Add the supplied fields to the collection of fields maintained by this - * holder. - * @param fields the array of fields to be added - * @exception ModelException if impossible - */ - public void addFields(PersistenceFieldElement[] fields) - throws ModelException - { - getClassImpl().changeFields(fields, Impl.ADD); - } - - /** Remove the supplied field from the collection of fields maintained by - * this holder. - * @param field the field to be removed - * @exception ModelException if impossible - */ - public void removeField (PersistenceFieldElement field) - throws ModelException - { - removeFields(new PersistenceFieldElement[]{field}); - } - - /** Removed the supplied fields from the collection of fields maintained - * by this holder. - * @param fields the array of fields to be removed - * @exception ModelException if impossible - */ - public void removeFields (PersistenceFieldElement[] fields) - throws ModelException - { - int i, count = ((fields != null) ? fields.length : 0); - - // first remove the fields from this class - getClassImpl().changeFields(fields, Impl.REMOVE); - - // now remove the fields from any concurrency groups - for (i = 0; i < count; i++) - { - PersistenceFieldElement field = fields[i]; - ConcurrencyGroupElement[] groups = field.getConcurrencyGroups(); - int j, groupCount = ((groups != null) ? groups.length : 0); - - for (j = 0; j < groupCount; j++) - groups[j].removeField(field); - } - } - - /** Returns the collection of fields maintained by this holder in the form - * of an array. - * @return the fields maintained by this holder - */ - public PersistenceFieldElement[] getFields () - { - return getClassImpl().getFields(); - } - - /** Sets the collection of fields maintained by this holder to the contents - * of the supplied array. - * @param fields the fields maintained by this holder - * @exception ModelException if impossible - */ - public void setFields (PersistenceFieldElement[] fields) - throws ModelException - { - getClassImpl().changeFields(fields, Impl.SET); - } - - /** Returns the field with the supplied name from the collection of fields - * maintained by this holder. - * @param name the name of the field to be found - * @return the field with the supplied name, null if none - * exists - */ - public PersistenceFieldElement getField (String name) - { - return getClassImpl().getField(name); - } - - /** Tests whether the supplied field is in the collection of fields - * maintained by this holder. - * @param field the field to be tested - */ - public boolean containsField (PersistenceFieldElement field) - { - return (getClassImpl().getField(field.getName()) != null); - } - - //================== Relationships =============================== - // convenience methods to access RelationshipElements - - /** Returns the subset of the collection of fields which are relationahips. - * @return the relationship fields maintained by this holder - * @see PersistenceClassElement#getFields - */ - public RelationshipElement[] getRelationships () - { - PersistenceFieldElement[] fields = getFields(); - int i, count = ((fields != null) ? fields.length : 0); - ArrayList relationships = new ArrayList(count); - - for (i = 0; i < count; i++) - { - PersistenceFieldElement field = fields[i]; - - if (field instanceof RelationshipElement) - relationships.add(field); - } - - count = relationships.size(); - - return ((RelationshipElement[])relationships.toArray( - new RelationshipElement[count])); - } - - /** Returns the relationship with the supplied name from the collection of - * relationships maintained by this holder. - * @param name the name of the relationship to be found - * @return the relationship with the supplied name, null if - * none exists - * @see PersistenceClassElement#getRelationships - * @see PersistenceClassElement#getField - */ - public RelationshipElement getRelationship (String name) - { - RelationshipElement[] relationships = getRelationships(); - int i, count = ((relationships != null) ? relationships.length : 0); - - for (i = 0; i < count; i++) - { - RelationshipElement relationship = relationships[i]; - - if (name.equals(relationship.getName())) - return relationship; - } - - return null; - } - - //================== ConcurrencyGroups =============================== - // ConcurrencyGroupElement handling - - /** Add the supplied group to the collection of concurrency groups for this - * class. - * @param group the concurrency group to be added - * @exception ModelException if impossible - */ - public void addConcurrencyGroup (ConcurrencyGroupElement group) - throws ModelException - { - addConcurrencyGroups(new ConcurrencyGroupElement[]{group}); - } - - /** Add the supplied groups to the collection of concurrency groups for - * this class. - * @param groups the array of concurrency groups to be added - * @exception ModelException if impossible - */ - public void addConcurrencyGroups (ConcurrencyGroupElement[] groups) - throws ModelException - { - getClassImpl().changeConcurrencyGroups(groups, Impl.ADD); - } - - /** Remove the supplied group from the collection of concurrency groups for - * this class. - * @param group the concurrency group to be removed - * @exception ModelException if impossible - */ - public void removeConcurrencyGroup (ConcurrencyGroupElement group) - throws ModelException - { - removeConcurrencyGroups(new ConcurrencyGroupElement[]{group}); - } - - /** Removed the supplied groups from the collection of concurrency groups - * for this class. - * @param groups the array of concurrency groups to be removed - * @exception ModelException if impossible - */ - public void removeConcurrencyGroups (ConcurrencyGroupElement[] groups) - throws ModelException - { - getClassImpl().changeConcurrencyGroups(groups, Impl.REMOVE); - } - - /** Returns the collection of fields groups by this class in the form - * of an array. - * @return the concurrency groups maintained by this class - */ - public ConcurrencyGroupElement[] getConcurrencyGroups () - { - return getClassImpl().getConcurrencyGroups(); - } - - /** Sets the collection of concurrency groups maintained by this class to - * the contents of the supplied array. - * @param groups the concurrency groups maintained by this holder - * @exception ModelException if impossible - */ - public void setConcurrencyGroups (ConcurrencyGroupElement[] groups) - throws ModelException - { - getClassImpl().changeConcurrencyGroups(groups, Impl.SET); - } - - /** Returns the concurrency group with the supplied name from the - * collection of groups maintained by this class. - * @param name the name of the concurrency group to be found - * @return the concurrency group with the supplied name, null - * if none exists - */ - public ConcurrencyGroupElement getConcurrencyGroup (String name) - { - return getClassImpl().getConcurrencyGroup(name); - } - - /** Tests whether the supplied group is in the collection of groups - * maintained by this class. - * @param group the concurrency group to be tested - */ - public boolean containsConcurrencyGroup (ConcurrencyGroupElement group) - { - return (getClassImpl().getConcurrencyGroup(group.getName()) != null); - } - - // for later - /* get/setFieldInheritanceFlag - This would allow a user to choose whether - * db inheritance is used (field persistence and behavior inherited from - * persistent superclass or not) or the list of the superclass fields could - * be configured for persistence in the subclass. - * - applies only to fields and relationships - */ - - /** Pluggable implementation of the storage of class element properties. - * @see PersistenceClassElement#PersistenceClassElement - */ - public interface Impl extends PersistenceElement.Impl - { - /** Gets the modified flag for this persistence class. - * @return true if there have been (property) changes to - * this class, false otherwise. - */ - public boolean isModified (); - - /** Set the modified flag for this persistence class to flag. This is - * usually set to true by property changes and - * false after a save. - * @param flag if true, this class is marked as modified; - * if false, it is marked as unmodified. - */ - public void setModified (boolean flag); - - /** Get the object identity type of this class element. - * @return the object identity type, one of - * {@link #APPLICATION_IDENTITY}, {@link #DATABASE_IDENTITY}, or - * {@link #UNMANAGED_IDENTITY} - */ - public int getObjectIdentityType (); - - /** Set the object identity type of this class element. - * @param type - an integer indicating the object identity type, one of: - * {@link #APPLICATION_IDENTITY}, {@link #DATABASE_IDENTITY}, or - * {@link #UNMANAGED_IDENTITY} - * @exception ModelException if impossible - */ - public void setObjectIdentityType (int type) throws ModelException; - - /** Get the fully qualified name of the primary key class for this class - * element. This value is only used if - * getObjectIdentityType returns - * APPLICATION_IDENTITY - * @return the fully qualified key class name, null if the - * identity type is not managed by the application - * @see #setObjectIdentityType - * @see #APPLICATION_IDENTITY - * - */ - public String getKeyClass (); - - /** Set the primary key class for this class element. - * @param name - the fully qualified name which represents the primary - * key class. This value is only used if - * getObjectIdentityType returns - * APPLICATION_IDENTITY - * @exception ModelException if impossible - * @see #setObjectIdentityType - * @see #APPLICATION_IDENTITY - */ - public void setKeyClass (String name) throws ModelException; - - /** Change the set of fields. - * @param fields the new fields - * @param action {@link #ADD}, {@link #REMOVE}, or {@link #SET} - * @exception ModelException if impossible - */ - public void changeFields (PersistenceFieldElement[] fields, int action) - throws ModelException; - - /** Get all fields. - * @return the fields - */ - public PersistenceFieldElement[] getFields (); - - /** Find a field by name. - * @param name the name to match - * @return the field, or null if it does not exist - */ - public PersistenceFieldElement getField (String name); - - /** Change the set of concurrency groups. - * @param groups the new concurrency groups - * @param action {@link #ADD}, {@link #REMOVE}, or {@link #SET} - * @exception ModelException if impossible - */ - public void changeConcurrencyGroups (ConcurrencyGroupElement[] groups, - int action) throws ModelException; - - /** Get all concurrency groups. - * @return the concurrency groups - */ - public ConcurrencyGroupElement[] getConcurrencyGroups (); - - /** Find a concurrency group by name. - * @param name the name to match - * @return the concurrency group, or null if it does not - * exist - */ - public ConcurrencyGroupElement getConcurrencyGroup (String name); - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceElement.java deleted file mode 100644 index 30b5d785255..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceElement.java +++ /dev/null @@ -1,286 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceElement.java - * - * Created on February 28, 2000, 3:37 PM - */ - -package com.sun.jdo.api.persistence.model.jdo; - -import java.util.ResourceBundle; -import java.beans.PropertyChangeListener; -import java.beans.VetoableChangeListener; -import java.text.Collator; - -import com.sun.jdo.api.persistence.model.ModelException; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author raccah - * @version %I% - */ -public abstract class PersistenceElement extends Object - implements PersistenceElementProperties, Comparable -{ - /** I18N message handler */ - private static final ResourceBundle _messages = I18NHelper.loadBundle( - "com.sun.jdo.api.persistence.model.Bundle", // NOI18N - PersistenceElement.class.getClassLoader()); - - /** Implementation */ - Impl _impl; - - /** Create new PersistenceElement with no implementation. - * This constructor should only be used for cloning and archiving. - */ - public PersistenceElement () - { - this(null); - } - - /** Create new PersistenceElement with the provided implementation. The - * implementation is responsible for storing all properties of the object. - * @param impl the implementation to use - */ - protected PersistenceElement (PersistenceElement.Impl impl) - { - setImpl(impl); - } - - /** @return implemetation factory for this element - */ - public final Impl getImpl () { return _impl; } - - /** @return I18N message handler for this element - */ - protected static final ResourceBundle getMessages () { return _messages; } - - /** Add a property change listener. - * @param l the listener to add - * @see PersistenceElementProperties - */ - public final void addPropertyChangeListener (PropertyChangeListener l) - { - getImpl().addPropertyChangeListener(l); - } - - /** Remove a property change listener. - * @param l the listener to remove - * @see PersistenceElementProperties - */ - public final void removePropertyChangeListener (PropertyChangeListener l) - { - getImpl().removePropertyChangeListener(l); - } - - /** Add a vetoable change listener. - * @param l the listener to add - * @see PersistenceElementProperties - */ - public final void addVetoableChangeListener (VetoableChangeListener l) - { - getImpl().addVetoableChangeListener(l); - } - - /** Remove a vetoable change listener. - * @param l the listener to remove - * @see PersistenceElementProperties - */ - public final void removeVetoableChangeListener (VetoableChangeListener l) - { - getImpl().removeVetoableChangeListener(l); - } - - /** Get the name of this persistence element. - * @return the name - */ - public String getName() { return getImpl().getName(); } - - /** Set the name of this persistence element. - * @param name the name - * @exception ModelException if impossible - */ - public void setName (String name) throws ModelException - { - getImpl().setName(name); - } - - /** Overrides Object's toString method to return the name - * of this persistence element. - * @return a string representation of the object - */ - public String toString () { return getName(); } - - /** Overrides Object's equals method by comparing the name of this persistence element - * with the name of the argument obj. The method returns false if obj does not have - * the same dynamic type as this persistence element. - * @return true if this object is the same as the obj argument; false otherwise. - * @param obj the reference object with which to compare. - */ - public boolean equals(Object obj) - { - if (obj == null) - return false; - if (obj == this) - return true; - - // check for the right class and then do the name check by calling compareTo. - return (getClass() == obj.getClass()) && (compareTo(obj) == 0); - } - - /** Overrides Object's hashCode method to return the hashCode of this persistence element's name. - * @return a hash code value for this object. - */ - public int hashCode() - { - return (getName()==null) ? 0 : getName().hashCode(); - } - - //================= implementation of Comparable ================ - - /** Compares this object with the specified object for order. Returns a negative integer, zero, - * or a positive integer as this object is less than, equal to, or greater than the specified object. - * The specified object must be persistence element, meaning it must be an instance of class - * PersistenceElement or any subclass. If not a ClassCastException is thrown. - * The order of PersistenceElement objects is defined by the order of their names. - * Persistence elements without name are considered to be less than any named persistence element. - * @param o the Object to be compared. - * @return a negative integer, zero, or a positive integer as this object is less than, equal to, - * or greater than the specified object. - * @exception ClassCastException - if the specified object is null or is not an instance of PersistenceElement - */ - public int compareTo(Object o) - { - // null is not allowed - if (o == null) - throw new ClassCastException(); - if (o == this) - return 0; - - String thisName = getName(); - // the following statement throws a ClassCastException if o is not a PersistenceElement - String otherName = ((PersistenceElement)o).getName(); - // if this does not have a name it should compare less than any named object - if (thisName == null) - return (otherName == null) ? 0 : -1; - // if this is named and o does not have a name it should compare greater - if (otherName == null) - return 1; - // now we know that this and o are named persistence elements => - // use locale-sensitive String comparison - int ret = Collator.getInstance().compare(thisName, otherName); - // if both names are equal, both objects might have different types. - // If so order both objects by their type names (necessary to be consistent with equals) - if ((ret == 0) && (getClass() != o.getClass())) - ret = getClass().getName().compareTo(o.getClass().getName()); - return ret; - } - - //=============== extra set methods needed for xml archiver ============== - - /** Set the implementation factory of this persistence element. - * This method should only be used internally and for cloning - * and archiving. - * @param impl the implementation to use - */ - public void setImpl (PersistenceElement.Impl impl) - { - _impl = impl; - - if (_impl != null) - getImpl().attachToElement(this); - } - - /** Pluggable implementation of the storage of element properties. - * @see PersistenceElement#PersistenceElement - */ - public interface Impl - { - /** Add some items. */ - public static final int ADD = 1; - /** Remove some items. */ - public static final int REMOVE = -1; - /** Set some items, replacing the old ones. */ - public static final int SET = 0; - - /** Called to attach the implementation to a specific - * element. Will be called in the element's constructor. - * Allows implementors of this interface to store a reference to the - * holder class, useful for implementing the property change listeners. - * - * @param element the element to attach to - */ - public void attachToElement (PersistenceElement element); - - /** Add a property change listener. - * @param l the listener to add - */ - public void addPropertyChangeListener (PropertyChangeListener l); - - /** Remove a property change listener. - * @param l the listener to remove - */ - public void removePropertyChangeListener (PropertyChangeListener l); - - /** Add a vetoable change listener. - * @param l the listener to add - */ - public void addVetoableChangeListener (VetoableChangeListener l); - - /** Remove a vetoable change listener. - * @param l the listener to remove - */ - public void removeVetoableChangeListener (VetoableChangeListener l); - - /** Get the name of this persistence element. - * @return the name - */ - public String getName (); - - /** Set the name of this persistence element. - * @param name the name - * @exception ModelException if impossible - */ - public void setName (String name) throws ModelException; - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceElementProperties.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceElementProperties.java deleted file mode 100644 index 671df268fe0..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceElementProperties.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceElementProperties.java - * - * Created on March 2, 2000, 12:54 PM - */ - -package com.sun.jdo.api.persistence.model.jdo; - -/** - * - * @author raccah - * @version %I% - */ -public interface PersistenceElementProperties -{ - /** Name of {@link PersistenceElement#getName name} property. - */ - public static final String PROP_NAME = "name"; // NOI18N - - /** Name of {@link PersistenceClassElement#isModified modified} - * flag for {@link PersistenceClassElement class elements}. - */ - public static final String PROP_MODIFIED = "modified"; // NOI18N - - /** Name of {@link PersistenceClassElement#getObjectIdentityType identity} - * property for {@link PersistenceClassElement class elements}. - */ - public static final String PROP_IDENTITY = "identity"; // NOI18N - - /** Name of {@link PersistenceClassElement#getKeyClass key class} - * property for {@link PersistenceClassElement class elements}. - */ - public static final String PROP_KEY_CLASS = "keyClass"; // NOI18N - - /** Name of {@link PersistenceClassElement#getFields fields} - * property for {@link PersistenceClassElement class elements}. - */ - public static final String PROP_FIELDS = "fields"; // NOI18N - - /** Name of {@link PersistenceClassElement#getConcurrencyGroups concurrency - * groups} property for {@link PersistenceClassElement class elements}. - */ - public static final String PROP_GROUPS = "groups"; // NOI18N - - /** Name of {@link PersistenceFieldElement#getPersistenceType persistence} - * property for {@link PersistenceFieldElement field elements}. - */ - public static final String PROP_PERSISTENCE = "persistence"; // NOI18N - - /** Name of {@link PersistenceFieldElement#isReadSensitive read sensitivity} - * and {@link PersistenceFieldElement#isWriteSensitive write sensitivity} - * property for {@link PersistenceFieldElement field elements}. - */ - public static final String PROP_SENSITIVITY = "sensitivity"; // NOI18N - - /** Name of {@link PersistenceFieldElement#isKey key field} - * property for {@link PersistenceFieldElement field elements}. - */ - public static final String PROP_KEY_FIELD = "keyField"; // NOI18N - - /** Name of {@link RelationshipElement#getUpdateAction update action} - * property for {@link RelationshipElement relationship elements}. - */ - public static final String PROP_UPDATE_ACTION = "updateAction"; // NOI18N - - /** Name of {@link RelationshipElement#getDeleteAction delete action} - * property for {@link RelationshipElement relationship elements}. - */ - public static final String PROP_DELETE_ACTION = "deleteAction"; // NOI18N - - /** Name of {@link RelationshipElement#isPrefetch prefetch} - * property for {@link RelationshipElement relationship elements}. - */ - public static final String PROP_PREFETCH = "prefetch"; // NOI18N - - /** Name of {@link RelationshipElement#getLowerBound lower bound} - * and {@link RelationshipElement#getUpperBound upper bound} - * property for {@link RelationshipElement relationship elements}. - */ - public static final String PROP_CARDINALITY = "cardinality"; // NOI18N - - /** Name of {@link RelationshipElement#getCollectionClass collection class} - * property for {@link RelationshipElement relationship elements}. - */ - public static final String PROP_COLLECTION_CLASS = - "collectionClass"; // NOI18N - - /** Name of {@link RelationshipElement#getElementClass element class} - * property for {@link RelationshipElement relationship elements}. - */ - public static final String PROP_ELEMENT_CLASS = "elementClass"; // NOI18N - - /** Name of {@link RelationshipElement#getInverseRelationshipName inverse - * relationship name} property for {@link RelationshipElement relationship - * elements}. - */ - public static final String PROP_INVERSE_FIELD = "relatedField"; // NOI18N -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceFieldElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceFieldElement.java deleted file mode 100644 index 4e24857eed6..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceFieldElement.java +++ /dev/null @@ -1,332 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceFieldElement.java - * - * Created on February 29, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.jdo; - -import java.util.ArrayList; - -import com.sun.jdo.api.persistence.model.ModelException; - -/* TODO: - 1. throw (Model or IllegalArgument)Exception on set illegal constant values? - also applies to PersistenceClass, Relationship classes - 2. document default values for all constants (should that go in impl docs?) - also applies to PersistenceClass, Relationship classes - */ - -/** - * - * @author raccah - * @version %I% - */ -public class PersistenceFieldElement extends PersistenceMemberElement -{ - /** Constant representing a persistent field modifier. */ - public static final int PERSISTENT = 0; - - /** Constant representing a derived field modifier. */ - public static final int DERIVED = 1; - - /** Constant representing a transient field modifier. This constant is - * only here for comparison purposes, it will not be returned by - * getPersistenceType since there will be no instance of - * this class for transient fields. - */ - public static final int TRANSIENT = 2; - - /** Create new PersistenceFieldElement with no implementation. - * This constructor should only be used for cloning and archiving. - */ - public PersistenceFieldElement () - { - this(null, null); - } - - /** Create new PersistenceFieldElement with the provided implementation. The - * implementation is responsible for storing all properties of the object. - * @param impl the implementation to use - * @param declaringClass the class to attach to - */ - public PersistenceFieldElement (PersistenceFieldElement.Impl impl, - PersistenceClassElement declaringClass) - { - super(impl, declaringClass); - } - - /** @return implemetation factory for this field - */ - final Impl getFieldImpl () { return (Impl)getImpl(); } - - /** Get the persistence type of this field element. - * @return the persistence type, one of {@link #PERSISTENT} or - * {@link #DERIVED} - */ - public int getPersistenceType () - { - return getFieldImpl().getPersistenceType(); - } - - /** Set the persistence type of this field element. - * @param type - an integer indicating the persistence type, one of: - * {@link #PERSISTENT} or {@link #DERIVED} - * @exception ModelException if impossible - */ - public void setPersistenceType (int type) throws ModelException - { - getFieldImpl().setPersistenceType(type); - } - - /** Determines whether this field element is read sensitive or not. - * This value is only used if getPersistenceType returns - * DERIVED - * @return true if the field is read sensitive, - * false if it is not or if the persistence type is not derived - * @see #isWriteSensitive - * @see #setPersistenceType - * @see #DERIVED - */ - public boolean isReadSensitive () - { - return ((getPersistenceType() == DERIVED) && - getFieldImpl().isReadSensitive()); - } - - /** Set whether this field element is read sensitive or not. - * @param flag - if true and this is a derived field, the field - * element is marked as read sensitive; otherwise, it is not - * This value is only used if getPersistenceType returns - * DERIVED - * @exception ModelException if impossible - * @see #setWriteSensitive - * @see #setPersistenceType - * @see #DERIVED - */ - public void setReadSensitive (boolean flag) throws ModelException - { - getFieldImpl().setReadSensitive(flag); - } - - /** Determines whether this field element is write sensitive or not. - * This value is only used if getPersistenceType returns - * DERIVED - * @return true if the field is write sensitive, - * false if it is not or if the persistence type is not derived - * @see #isReadSensitive - * @see #setPersistenceType - * @see #DERIVED - */ - public boolean isWriteSensitive () - { - return ((getPersistenceType() == DERIVED) && - getFieldImpl().isWriteSensitive()); - } - - /** Set whether this field element is write sensitive or not. - * @param flag - if true and this is a derived field, the field - * element is marked as write sensitive; otherwise, it is not - * This value is only used if getPersistenceType returns - * DERIVED - * @exception ModelException if impossible - * @see #setReadSensitive - * @see #setPersistenceType - * @see #DERIVED - */ - public void setWriteSensitive (boolean flag) throws ModelException - { - getFieldImpl().setWriteSensitive(flag); - } - - /** Determines whether this field element is a key field or not. - * @return true if the field is a key field, - * false otherwise - * @see PersistenceClassElement#getKeyClass - */ - public boolean isKey () { return getFieldImpl().isKey(); } - - /** Set whether this field element is a key field or not. - * @param flag - if true, the field element is marked - * as a key field; otherwise, it is not - * @exception ModelException if impossible - * @see PersistenceClassElement#getKeyClass - */ - public void setKey (boolean flag) throws ModelException - { - getFieldImpl().setKey(flag); - } - - //================== ConcurrencyGroups =============================== - // convenience method to access ConcurrencyGroupElements - - /** Returns the array of concurrency groups to which this field belongs. - * @return the concurrency groups in which this field participates - * @see PersistenceClassElement#getConcurrencyGroups - */ - public ConcurrencyGroupElement[] getConcurrencyGroups () - { - ConcurrencyGroupElement[] groups = getDeclaringClass(). - getConcurrencyGroups(); - int i, count = ((groups != null) ? groups.length : 0); - ArrayList myGroups = new ArrayList(count); - - for (i = 0; i < count; i++) - { - ConcurrencyGroupElement group = groups[i]; - - if (group.containsField(this)) - myGroups.add(group); - } - - count = myGroups.size(); - - return ((ConcurrencyGroupElement[])myGroups.toArray( - new ConcurrencyGroupElement[count])); - } - - /** Computes the field number of this field element. - * @return the field number of this field, -1 if it cannot be found - */ - public int getFieldNumber () - { - // for later - take into account the class - // get/setFieldInheritanceFlag behavior (i.e. might need to climb - // inheritance hierarchy - PersistenceFieldElement[] fields = getDeclaringClass().getFields(); - int i, count = ((fields != null) ? fields.length : 0); - - for (i = 0; i < count; i++) - if (equals(fields[i])) - return i; - - return -1; - } - - /* won't be used now -- we will compute this number whenever it is requested - public void setFieldNumber (int fieldNumber) {} */ - - /** Pluggable implementation of the storage of field element properties. - * @see PersistenceFieldElement#PersistenceFieldElement - */ - public interface Impl extends PersistenceMemberElement.Impl - { - /** Get the persistence type of this field element. - * @return the persistence type, one of {@link #PERSISTENT} or - * {@link #DERIVED} - */ - public int getPersistenceType (); - - /** Set the persistence type of this field element. - * @param type - an integer indicating the persistence type, one of: - * {@link #PERSISTENT} or {@link #DERIVED} - * @exception ModelException if impossible - */ - public void setPersistenceType (int type) throws ModelException; - - /** Determines whether this field element is read sensitive or not. - * This value is only used if getPersistenceType returns - * DERIVED - * @return true if the field is read sensitive, - * false if it is not or if the persistence type is not - * derived - * @see #isWriteSensitive - * @see #setPersistenceType - * @see #DERIVED - * - */ - public boolean isReadSensitive (); - - /** Set whether this field element is read sensitive or not. - * @param flag - if true and this is a derived field, the - * field element is marked as read sensitive; otherwise, it is not - * This value is only used if getPersistenceType returns - * DERIVED - * @exception ModelException if impossible - * @see #setWriteSensitive - * @see #setPersistenceType - * @see #DERIVED - */ - public void setReadSensitive (boolean flag) throws ModelException; - - /** Determines whether this field element is write sensitive or not. - * This value is only used if getPersistenceType returns - * DERIVED - * @return true if the field is write sensitive, - * false if it is not or if the persistence type is not - * derived - * @see #isReadSensitive - * @see #setPersistenceType - * @see #DERIVED - * - */ - public boolean isWriteSensitive (); - - /** Set whether this field element is write sensitive or not. - * @param flag - if true and this is a derived field, the - * field element is marked as write sensitive; otherwise, it is not - * This value is only used if getPersistenceType returns - * DERIVED - * @exception ModelException if impossible - * @see #setReadSensitive - * @see #setPersistenceType - * @see #DERIVED - */ - public void setWriteSensitive (boolean flag) throws ModelException; - - /** Determines whether this field element is a key field or not. - * @return true if the field is a key field, - * false otherwise - * @see PersistenceClassElement#getKeyClass - */ - public boolean isKey (); - - /** Set whether this field element is a key field or not. - * @param flag - if true, the field element is marked - * as a key field; otherwise, it is not - * @exception ModelException if impossible - * @see PersistenceClassElement#getKeyClass - */ - public void setKey (boolean flag) throws ModelException; - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceMemberElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceMemberElement.java deleted file mode 100644 index 02d6c7a4aed..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/PersistenceMemberElement.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceMemberElement.java - * - * Created on February 29, 2000, 12:50 PM - */ - -package com.sun.jdo.api.persistence.model.jdo; - -/** - * - * @author raccah - * @version %I% - */ -public abstract class PersistenceMemberElement extends PersistenceElement -{ - /** the class to which this element belongs */ - private PersistenceClassElement _declaringClass; - - /** Create new PersistenceMemberElement with no implementation. - * This constructor should only be used for cloning and archiving. - */ - public PersistenceMemberElement () - { - this(null, null); - } - - /** Create new PersistenceMemberElement with the provided implementation. The - * implementation is responsible for storing all properties of the object. - * @param impl the implementation to use - * @param declaringClass the class to attach to - */ - protected PersistenceMemberElement (PersistenceMemberElement.Impl impl, - PersistenceClassElement declaringClass) - { - super(impl); - _declaringClass = declaringClass; - } - - /** @return the current implementation. - */ - final Impl getMemberImpl () { return (Impl)getImpl(); } - - /** Get the declaring class. - * @return the class that owns this member element, or null - * if the element is not attached to any class - */ - public PersistenceClassElement getDeclaringClass () - { - return _declaringClass; - } - - //=============== extra set methods needed for xml archiver ============== - - /** Set the declaring class of this member element. This method should - * only be used internally and for cloning and archiving. - * @param declaringClass the declaring class of this member element - */ - public void setDeclaringClass (PersistenceClassElement declaringClass) - { - _declaringClass = declaringClass; - } - - /** Overrides PersistenceElement's equals method to add - * comparison of the name of the declaring class this persistence element. - * The method returns false if obj does not have a declaring - * class with the same name as this persistence element. - * @return true if this object is the same as the obj argument; - * false otherwise. - * @param obj the reference object with which to compare. - */ - public boolean equals (Object obj) - { - if (super.equals(obj) && (obj instanceof PersistenceMemberElement)) - { - PersistenceClassElement declaringClass = getDeclaringClass(); - PersistenceClassElement objDeclaringClass = - ((PersistenceMemberElement)obj).getDeclaringClass(); - - return ((declaringClass == null) ? (objDeclaringClass == null) : - declaringClass.equals(objDeclaringClass)); - } - - return false; - } - - /** Overrides PersistenceElement's hashCode method to add - * the hashCode of this persistence element's declaring class. - * @return a hash code value for this object. - */ - public int hashCode () - { - PersistenceClassElement declaringClass = getDeclaringClass(); - - return (super.hashCode() + - ((declaringClass == null) ? 0 : declaringClass.hashCode())); - } - - /** Pluggable implementation of member elements. - * @see PersistenceMemberElement - */ - public interface Impl extends PersistenceElement.Impl { } -} - diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/RelationshipElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/RelationshipElement.java deleted file mode 100644 index 253cd2d8655..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/RelationshipElement.java +++ /dev/null @@ -1,519 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * RelationshipElement.java - * - * Created on February 29, 2000, 2:30 PM - */ - -package com.sun.jdo.api.persistence.model.jdo; - -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.ModelException; -import org.glassfish.persistence.common.I18NHelper; - -/* TODO: - 1. throw (Model or IllegalArgument)Exception on set illegal constant values? - also applies to PersistenceClass, PersistenceField classes - 2. enforce/validate collection/bound combinations, document that other piece - only used when ... - 3. document default values for all constants (should that go in impl docs?) - also applies to PersistenceClass, PersistenceField classes - 4. document support collection classes? are we supporting this at all or - does the user have to type that directly into the code? - */ - -/** - * - * @author raccah - * @version %I% - */ -public class RelationshipElement extends PersistenceFieldElement -{ - /** Constant representing no action. */ - public static final int NONE_ACTION = 0; - - /** Constant representing nullify action. */ - public static final int NULLIFY_ACTION = 1; - - /** Constant representing restrict action. */ - public static final int RESTRICT_ACTION = 2; - - /** Constant representing cascade action. */ - public static final int CASCADE_ACTION = 3; - - /** Constant representing aggregate action. */ - public static final int AGGREGATE_ACTION = 4; - - /** Create new RelationshipElement with no implementation. - * This constructor should only be used for cloning and archiving. - */ - public RelationshipElement () - { - this(null, null); - } - - /** Create new RelationshipElement with the provided implementation. The - * implementation is responsible for storing all properties of the object. - * @param impl the implementation to use - * @param declaringClass the class to attach to - */ - public RelationshipElement (RelationshipElement.Impl impl, - PersistenceClassElement declaringClass) - { - super(impl, declaringClass); - } - - /** @return implemetation factory for this relationship - */ - final Impl getRelationshipImpl () { return (Impl)getImpl(); } - - //================ Update and Delete Semantics ============================ - - /** Get the update action for this relationship element. - * @return the update action, one of {@link #NONE_ACTION}, - * {@link #NULLIFY_ACTION}, {@link #RESTRICT_ACTION}, - * {@link #CASCADE_ACTION}, or {@link #AGGREGATE_ACTION} - */ - public int getUpdateAction () - { - return getRelationshipImpl().getUpdateAction(); - } - - /** Set the update action for this relationship element. - * @param action - an integer indicating the update action, one of: - * {@link #NONE_ACTION}, {@link #NULLIFY_ACTION}, {@link #RESTRICT_ACTION}, - * {@link #CASCADE_ACTION}, or {@link #AGGREGATE_ACTION} - * @exception ModelException if impossible - */ - public void setUpdateAction (int action) throws ModelException - { - if ((action < NONE_ACTION) || (action > AGGREGATE_ACTION)) - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "jdo.relationship.update_action_invalid", action)); // NOI18N - } - - getRelationshipImpl().setUpdateAction(action); - } - - /** Get the delete action for this relationship element. - * @return the delete action, one of {@link #NONE_ACTION}, - * {@link #NULLIFY_ACTION}, {@link #RESTRICT_ACTION}, - * {@link #CASCADE_ACTION}, or {@link #AGGREGATE_ACTION} - */ - public int getDeleteAction () - { - return getRelationshipImpl().getDeleteAction(); - } - - /** Set the delete action for this relationship element. - * @param action - an integer indicating the delete action, one of: - * {@link #NONE_ACTION}, {@link #NULLIFY_ACTION}, {@link #RESTRICT_ACTION}, - * {@link #CASCADE_ACTION}, or {@link #AGGREGATE_ACTION} - * @exception ModelException if impossible - */ - public void setDeleteAction (int action) throws ModelException - { - if ((action < NONE_ACTION) || (action > AGGREGATE_ACTION)) - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "jdo.relationship.delete_action_invalid", action)); // NOI18N - } - - getRelationshipImpl().setDeleteAction(action); - } - - /** Determines whether this relationship element should prefetch or not. - * @return true if the relationship should prefetch, - * false otherwise - */ - public boolean isPrefetch () - { - return getRelationshipImpl().isPrefetch(); - } - - /** Set whether this relationship element should prefetch or not. - * @param flag - if true, the relationship is set to prefetch; - * otherwise, it is not - * @exception ModelException if impossible - */ - public void setPrefetch (boolean flag) throws ModelException - { - getRelationshipImpl().setPrefetch(flag); - } - - //================ Cardinality Bounds ============================ - - /** Get the lower cardinality bound for this relationship element. - * @return the lower cardinality bound - */ - public int getLowerBound () - { - return getRelationshipImpl().getLowerBound(); - } - - /** Set the lower cardinality bound for this relationship element. - * @param lowerBound - an integer indicating the lower cardinality bound - * @exception ModelException if impossible - */ - public void setLowerBound (int lowerBound) throws ModelException - { - if ((lowerBound > getUpperBound()) || (lowerBound < 0)) - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "jdo.relationship.lower_cardinality_invalid")); // NOI18N - } - - getRelationshipImpl().setLowerBound(lowerBound); - } - - /** Get the upper cardinality bound for this relationship element. Returns - * {@link java.lang.Integer#MAX_VALUE} for n - * @return the upper cardinality bound - */ - public int getUpperBound () - { - return getRelationshipImpl().getUpperBound(); - } - - /** Set the upper cardinality bound for this relationship element. - * @param upperBound - an integer indicating the upper cardinality bound - * (use {@link java.lang.Integer#MAX_VALUE} for n) - * @exception ModelException if impossible - */ - public void setUpperBound (int upperBound) throws ModelException - { - if ((upperBound < getLowerBound()) || (upperBound <= 0)) - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "jdo.relationship.upper_cardinality_invalid")); // NOI18N - } - - getRelationshipImpl().setUpperBound(upperBound); - } - - //================ Collection Support ============================ - - /** Get the collection class (for example Set, List, Vector, etc.) - * for this relationship element. - * @return the collection class - */ - public String getCollectionClass () - { - return getRelationshipImpl().getCollectionClass(); - } - - /** Set the collection class for this relationship element. - * @param collectionClass - a string indicating the type of - * collection (for example Set, List, Vector, etc.) - * @exception ModelException if impossible - */ - public void setCollectionClass (String collectionClass) - throws ModelException - { - getRelationshipImpl().setCollectionClass(collectionClass); - } - - /** Get the element class for this relationship element. If primitive - * types are supported, you can use - * wrapperclass.TYPE.toString() to specify them. - * @return the element class - */ - public String getElementClass () - { - return getRelationshipImpl().getElementClass(); - } - - /** Set the element class for this relationship element. - * @param elementClass - a string indicating the type of elements in - * the collection. If primitive types are supported, you can use - * wrapperclass.TYPE.toString() to specify them. - * @exception ModelException if impossible - */ - public void setElementClass (String elementClass) throws ModelException - { - getRelationshipImpl().setElementClass(elementClass); - } - - //================ Two-way Relationship Support ============================ - - // Note that the fact that inverse relationship name (an implementation - // detail) is exposed and model is required as an argument for the get/set - // methods is an artifact of our current design (i.e. archiver/vertical - // split issues, no way to look up a related class without use of the - // Model, etc.) and should be removed in the new Orion model - - /** Get the relative name of the inverse relationship field for this - * relationship element. In the case of two-way relationships, the two - * relationship elements involved are inverses of each other. If this - * relationship element does not participate in a two-way relationship, - * this returns null. Note that it is possible to have this - * method return a value, but because of the combination of related class - * and lookup, there may be no corresponding RelationshipElement which can - * be found. - * @return the relative name of the inverse relationship element - * @see #getInverseRelationship - */ - public String getInverseRelationshipName () - { - return getRelationshipImpl().getInverseRelationshipName(); - } - - /** Get the inverse relationship element for this relationship element. - * In the case of two-way relationships, the two relationship elements - * involved are inverses of each other. If this relationship element does - * not participate in a two-way relationship, this returns - * null. Note that it is also possible for this method to - * return null even if {@link #getInverseRelationshipName} - * returns a value because the corresponding RelationshipElement cannot - * be found using the combination of related class and lookup (model). - * @param model the model object to be used to look it up - * @return the inverse relationship element if it exists - * @see #getInverseRelationshipName - */ - public RelationshipElement getInverseRelationship (Model model) - { - String inverseName = getInverseRelationshipName(); - RelationshipElement inverse = null; - - if ((model != null) && (inverseName != null)) - { - String relatedClass = model.getRelatedClass(this); - - if (relatedClass != null) - { - PersistenceClassElement relatedElement = - model.getPersistenceClass(relatedClass); - - if (relatedElement != null) - inverse = relatedElement.getRelationship(inverseName); - } - } - - return inverse; - } - - /** Set the inverse relationship element for this relationship element. - * In the case of two-way relationships, the two relationship elements - * involved are inverses of each other. - * @param inverseRelationship - a relationship element to be used as the - * inverse for this relationship element or null if this - * relationship element does not participate in a two-way relationship. - * @param model the model object to be used to look up the old inverse so - * it can be unset - * @exception ModelException if impossible - */ - public void setInverseRelationship (RelationshipElement inverseRelationship, - Model model) throws ModelException - { - RelationshipElement old = getInverseRelationship(model); - - if ((old != inverseRelationship) || ((inverseRelationship == null) && - (getInverseRelationshipName() != null))) - { - // clear old inverse which still points to here - if (old != null) - { - RelationshipElement oldInverse = - old.getInverseRelationship(model); - - if (this.equals(oldInverse)) - old.changeInverseRelationship(null); - } - - // link from here to new inverse - changeInverseRelationship(inverseRelationship); - - // link from new inverse back to here - if (inverseRelationship != null) - inverseRelationship.changeInverseRelationship(this); - } - } - - /** Changes the inverse relationship element for this relationship element. - * This method is invoked for both sides from - * {@link RelationshipElement#setInverseRelationship} and should handle the - * vetoable change events, property change events, and setting the internal - * variable. - * @param inverseRelationship - a relationship element to be used as the - * inverse for this relationship element or null if this - * relationship element does not participate in a two-way relationship. - * @exception ModelException if impossible - */ - public void changeInverseRelationship ( - RelationshipElement inverseRelationship) throws ModelException - { - getRelationshipImpl().changeInverseRelationship(inverseRelationship); - } - - /** Pluggable implementation of the storage of relationship element - * properties. - * @see RelationshipElement#RelationshipElement - */ - public interface Impl extends PersistenceFieldElement.Impl - { - /** Get the update action for this relationship element. - * @return the update action, one of {@link #NONE_ACTION}, - * {@link #NULLIFY_ACTION}, {@link #RESTRICT_ACTION}, - * {@link #CASCADE_ACTION}, or {@link #AGGREGATE_ACTION} - */ - public int getUpdateAction (); - - /** Set the update action for this relationship element. - * @param action - an integer indicating the update action, one of: - * {@link #NONE_ACTION}, {@link #NULLIFY_ACTION}, - * {@link #RESTRICT_ACTION}, {@link #CASCADE_ACTION}, or - * {@link #AGGREGATE_ACTION} - * @exception ModelException if impossible - */ - public void setUpdateAction (int action) throws ModelException; - - /** Get the delete action for this relationship element. - * @return the delete action, one of {@link #NONE_ACTION}, - * {@link #NULLIFY_ACTION}, {@link #RESTRICT_ACTION}, - * {@link #CASCADE_ACTION}, or {@link #AGGREGATE_ACTION} - */ - public int getDeleteAction (); - - /** Set the delete action for this relationship element. - * @param action - an integer indicating the delete action, one of: - * {@link #NONE_ACTION}, {@link #NULLIFY_ACTION}, - * {@link #RESTRICT_ACTION}, {@link #CASCADE_ACTION}, or - * {@link #AGGREGATE_ACTION} - * @exception ModelException if impossible - */ - public void setDeleteAction (int action) throws ModelException; - - /** Determines whether this relationship element should prefetch or not. - * @return true if the relationship should prefetch, - * false otherwise - */ - public boolean isPrefetch (); - - /** Set whether this relationship element should prefetch or not. - * @param flag - if true, the relationship is set to - * prefetch; otherwise, it is not - * @exception ModelException if impossible - */ - public void setPrefetch (boolean flag) throws ModelException; - - /** Get the lower cardinality bound for this relationship element. - * @return the lower cardinality bound - */ - public int getLowerBound (); - - /** Set the lower cardinality bound for this relationship element. - * @param lowerBound - an integer indicating the lower cardinality bound - * @exception ModelException if impossible - */ - public void setLowerBound (int lowerBound) throws ModelException; - - /** Get the upper cardinality bound for this relationship element. - * Returns {@link java.lang.Integer#MAX_VALUE} for n - * @return the upper cardinality bound - */ - public int getUpperBound (); - - /** Set the upper cardinality bound for this relationship element. - * @param upperBound - an integer indicating the upper cardinality bound - * (use {@link java.lang.Integer#MAX_VALUE} for n) - * @exception ModelException if impossible - */ - public void setUpperBound (int upperBound) throws ModelException; - - /** Get the collection class (for example Set, List, Vector, etc.) - * for this relationship element. - * @return the collection class - */ - public String getCollectionClass (); - - /** Set the collection class for this relationship element. - * @param collectionClass - a string indicating the type of - * collection (for example Set, List, Vector, etc.) - * @exception ModelException if impossible - */ - public void setCollectionClass (String collectionClass) - throws ModelException; - - /** Get the element class for this relationship element. If primitive - * types are supported, you can use - * wrapperclass.TYPE.toString() to specify them. - * @return the element class - */ - public String getElementClass (); - - /** Set the element class for this relationship element. - * @param elementClass - a string indicating the type of elements - * in the collection. If primitive types are supported, you can use - * wrapperclass.TYPE.toString() to specify them. - * @exception ModelException if impossible - */ - public void setElementClass (String elementClass) throws ModelException; - - /** Get the relative name of the inverse relationship field for this - * relationship element. In the case of two-way relationships, the two - * relationship elements involved are inverses of each other. If this - * relationship element does not participate in a two-way relationship, - * this returns null. Note that it is possible to have - * this method return a value, but because of the combination of - * related class and lookup, there may be no corresponding - * RelationshipElement which can be found. - * @return the relative name of the inverse relationship element - * @see #getInverseRelationship - */ - public String getInverseRelationshipName (); - - /** Changes the inverse relationship element for this relationship - * element. This method is invoked for both sides from - * {@link RelationshipElement#setInverseRelationship} and should handle - * the vetoable change events, property change events, and setting the - * internal variable. - * @param inverseRelationship - a relationship element to be used as - * the inverse for this relationship element or null if - * this relationship element does not participate in a two-way - * relationship. - * @exception ModelException if impossible - */ - public void changeInverseRelationship ( - RelationshipElement inverseRelationship) throws ModelException; - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/ConcurrencyGroupElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/ConcurrencyGroupElementImpl.java deleted file mode 100644 index a076122a61f..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/ConcurrencyGroupElementImpl.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConcurrencyGroupElementImpl.java - * - * Created on March 2, 2000, 6:37 PM - */ - -package com.sun.jdo.api.persistence.model.jdo.impl; - -import com.sun.jdo.api.persistence.model.jdo.ConcurrencyGroupElement; - -/** - * - * @author raccah - * @version %I% - */ -public class ConcurrencyGroupElementImpl extends FieldGroupElementImpl - implements ConcurrencyGroupElement.Impl -{ - /** Create new ConcurrencyGroupElementImpl with no corresponding name. - * This constructor should only be used for cloning and archiving. - */ - public ConcurrencyGroupElementImpl () - { - this(null); - } - - /** Creates new ConcurrencyGroupElementImpl with the corresponding name - * @param name the name of the element - */ - public ConcurrencyGroupElementImpl (String name) - { - super(name); - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/FieldGroupElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/FieldGroupElementImpl.java deleted file mode 100644 index 238f0b49578..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/FieldGroupElementImpl.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * FieldGroupElementImpl.java - * - * Created on March 2, 2000, 6:28 PM - */ - -package com.sun.jdo.api.persistence.model.jdo.impl; - -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.jdo.FieldGroupElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; - -/** - * - * @author raccah - * @version %I% - */ -public class FieldGroupElementImpl extends PersistenceMemberElementImpl - implements FieldGroupElement.Impl -{ - /** Fields of the field group element. */ - private PersistenceElementCollection _fields; - - /** Create new FieldGroupElementImpl with no corresponding name. This - * constructor should only be used for cloning and archiving. - */ - public FieldGroupElementImpl () - { - this(null); - } - - /** Creates new FieldGroupElementImpl with the corresponding name - * @param name the name of the element - */ - public FieldGroupElementImpl (String name) - { - super(name); - _fields = new PersistenceElementCollection(this, PROP_FIELDS, - new PersistenceFieldElement[0]); - } - - /** Find a field by name. - * @param name the name to match - * @return the field, or null if it does not exist - */ - public PersistenceFieldElement getField (String name) - { - return (PersistenceFieldElement)_fields.getElement(name); - } - - /** Get all fields. - * @return the fields - */ - public PersistenceFieldElement[] getFields () - { - return (PersistenceFieldElement[])_fields.getElements(); - } - - - /** Change the set of fields. - * @param fields the new fields - * @param action {@link #ADD}, {@link #REMOVE}, or {@link #SET} - * @exception ModelException if impossible - */ - public void changeFields (PersistenceFieldElement[] fields, int action) - throws ModelException - { - _fields.changeElements(fields, action); - } - - //=============== extra methods needed for xml archiver ============== - - /** Returns the field collection of this field group element. This - * method should only be used internally and for cloning and archiving. - * @return the field collection of this field group element - */ - public PersistenceElementCollection getCollection () { return _fields; } - - /** Set the field collection of this field group element to the supplied - * collection. This method should only be used internally and for - * cloning and archiving. - * @param collection the field collection of this field group element - */ - public void setCollection (PersistenceElementCollection collection) - { - _fields = collection; - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceClassElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceClassElementImpl.java deleted file mode 100644 index ac85525fc10..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceClassElementImpl.java +++ /dev/null @@ -1,346 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceClassElementImpl.java - * - * Created on March 2, 2000, 5:33 PM - */ - -package com.sun.jdo.api.persistence.model.jdo.impl; - -import java.beans.PropertyVetoException; - -import com.sun.jdo.api.persistence.model.jdo.*; -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.ModelVetoException; -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; - -/** - * - * @author raccah - * @version %I% - */ -public class PersistenceClassElementImpl extends PersistenceElementImpl - implements PersistenceClassElement.Impl -{ - /** Flag used to keep track of changes to this class element. */ - private boolean _isModified; - - /** Object identity type of the class element. */ - private int _objectIdentityType; - - /** Primary key class of the class element. */ - private String _keyClass; - - /** Fields of the class element. */ - private PersistenceElementCollection _fields; - - /** Concurrency groups of the class element. */ - private PersistenceElementCollection _groups; - - /** Create new PersistenceClassElementImpl with no corresponding name. - * This constructor should only be used for cloning and archiving. - */ - public PersistenceClassElementImpl () - { - this(null); - } - - /** Creates new PersistenceClassElementImpl with the corresponding name - * @param name the name of the element - */ - public PersistenceClassElementImpl (String name) - { - super(name); - - if (name != null) - _keyClass = name + ".Oid"; // NOI18N - - _objectIdentityType = PersistenceClassElement.APPLICATION_IDENTITY; - _fields = new PersistenceElementCollection(this, PROP_FIELDS, - new PersistenceFieldElement[0]); - _groups = new PersistenceElementCollection(this, PROP_GROUPS, - new ConcurrencyGroupElement[0]); - } - - /** Fires property change event. This method overrides that of - * PersistenceElementImpl to update the persistence class element's - * modified status. - * @param name property name - * @param o old value - * @param n new value - */ - protected final void firePropertyChange (String name, Object o, Object n) - { - // even though o == null and n == null will signify a change, that - // is consistent with PropertyChangeSupport's behavior and is - // necessary for this to work - boolean noChange = ((o != null) && (n != null) && o.equals(n)); - - super.firePropertyChange(name, o, n); - - if (!(PROP_MODIFIED.equals(name)) && !noChange) - setModified(true); - } - - /** Fires vetoable change event. This method overrides that of - * PersistenceElementImpl to give listeners a chance to block - * changes on the persistence class element modified status. - * @param name property name - * @param o old value - * @param n new value - * @exception PropertyVetoException when the change is vetoed by a listener - */ - protected final void fireVetoableChange (String name, Object o, Object n) - throws PropertyVetoException - { - // even though o == null and n == null will signify a change, that - // is consistent with PropertyChangeSupport's behavior and is - // necessary for this to work - boolean noChange = ((o != null) && (n != null) && o.equals(n)); - - super.fireVetoableChange(name, o, n); - - if (!(PROP_MODIFIED.equals(name)) && !noChange) - fireVetoableChange(PROP_MODIFIED, Boolean.FALSE, Boolean.TRUE); - } - - /** Gets the modified flag for this persistence class. - * @return true if there have been (property) changes to this - * class, false otherwise. - */ - public boolean isModified () { return _isModified; } - - /** Set the modified flag for this persistence class to flag. This is - * usually set to true by property changes and - * false after a save. - * @param flag if true, this class is marked as modified; - * if false, it is marked as unmodified. - */ - public void setModified (boolean flag) - { - boolean oldFlag = isModified(); - - if (flag != oldFlag) - { - _isModified = flag; - firePropertyChange(PROP_MODIFIED, JavaTypeHelper.valueOf(oldFlag), - JavaTypeHelper.valueOf(flag)); - } - } - - /** Get the object identity type of this class element. - * @return the object identity type, one of - * {@link PersistenceClassElement#APPLICATION_IDENTITY}, - * {@link PersistenceClassElement#DATABASE_IDENTITY}, or - * {@link PersistenceClassElement#UNMANAGED_IDENTITY}. The default is - * APPLICATION_IDENTITY. - */ - public int getObjectIdentityType () - { - return _objectIdentityType; - } - - /** Set the object identity type of this class element. - * @param type - an integer indicating the object identity type, one of: - * {@link PersistenceClassElement#APPLICATION_IDENTITY}, - * {@link PersistenceClassElement#DATABASE_IDENTITY}, or - * {@link PersistenceClassElement#UNMANAGED_IDENTITY} - * @exception ModelException if impossible - */ - public void setObjectIdentityType (int type) throws ModelException - { - Integer old = new Integer(getObjectIdentityType()); - Integer newType = Integer.valueOf(type); - - try - { - fireVetoableChange(PROP_IDENTITY, old, newType); - _objectIdentityType = type; - firePropertyChange(PROP_IDENTITY, old, newType); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - - /** Get the fully qualified name of the primary key class for this class - * element. This value is only used if getObjectIdentityType - * returns APPLICATION_IDENTITY - * @return the fully qualified key class name, null if the - * identity type is not managed by the application - * @see #setObjectIdentityType - * @see PersistenceClassElement#APPLICATION_IDENTITY - * - */ - public String getKeyClass () - { - return ((PersistenceClassElement.APPLICATION_IDENTITY == - getObjectIdentityType()) ? _keyClass : null); - } - - /** Set the primary key class for this class element. - * @param name - the fully qualified name which represents the primary key - * class. This value is only used if getObjectIdentityType - * returns APPLICATION_IDENTITY - * @exception ModelException if impossible - * @see #setObjectIdentityType - * @see PersistenceClassElement#APPLICATION_IDENTITY - */ - public void setKeyClass (String name) throws ModelException - { - String old = getKeyClass(); - - try - { - fireVetoableChange(PROP_KEY_CLASS, old, name); - _keyClass = name; - firePropertyChange(PROP_KEY_CLASS, old, name); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - //================== Fields =============================== - - /** Change the set of fields. - * @param fields the new fields - * @param action {@link #ADD}, {@link #REMOVE}, or {@link #SET} - * @exception ModelException if impossible - */ - public void changeFields (PersistenceFieldElement[] fields, int action) - throws ModelException - { - _fields.changeElements(fields, action); - } - - /** Get all fields. - * @return the fields - */ - public PersistenceFieldElement[] getFields () - { - return (PersistenceFieldElement[])_fields.getElements(); - } - - /** Find a field by name. - * @param name the name to match - * @return the field, or null if it does not exist - */ - public PersistenceFieldElement getField (String name) - { - return (PersistenceFieldElement)_fields.getElement(name); - } - - //================== ConcurrencyGroups =============================== - - /** Change the set of concurrency groups. - * @param groups the new concurrency groups - * @param action {@link #ADD}, {@link #REMOVE}, or {@link #SET} - * @exception ModelException if impossible - */ - public void changeConcurrencyGroups (ConcurrencyGroupElement[] groups, - int action) throws ModelException - { - _groups.changeElements(groups, action); - } - - /** Get all concurrency groups. - * @return the concurrency groups - */ - public ConcurrencyGroupElement[] getConcurrencyGroups () - { - return (ConcurrencyGroupElement[])_groups.getElements(); - } - - /** Find a concurrency group by name. - * @param name the name to match - * @return the concurrency group, or null if it does not exist - */ - public ConcurrencyGroupElement getConcurrencyGroup (String name) - { - return (ConcurrencyGroupElement)_groups.getElement(name); - } - - //=============== extra methods needed for xml archiver ============== - - /** Returns the field collection of this class element. This method - * should only be used internally and for cloning and archiving. - * @return the field collection of this class element - */ - public PersistenceElementCollection getFieldCollection () - { - return _fields; - } - - /** Set the field collection of this class element to the supplied - * collection. This method should only be used internally and for - * cloning and archiving. - * @param collection the field collection of this class element - */ - public void setFieldCollection (PersistenceElementCollection collection) - { - _fields = collection; - } - - /** Returns the concurrency group collection of this class element. - * This method should only be used internally and for cloning and - * archiving. - * @return the concurrency group collection of this class element - */ - public PersistenceElementCollection getGroupCollection () - { - return _groups; - } - - /** Set the concurrency group collection of this class element to the - * supplied collection. This method should only be used internally - * and for cloning and archiving. - * @param collection the concurrency group collection of this class element - */ - public void setGroupCollection (PersistenceElementCollection collection) - { - _groups = collection; - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceElementCollection.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceElementCollection.java deleted file mode 100644 index ba742e6caad..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceElementCollection.java +++ /dev/null @@ -1,255 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceElementCollection.java - * - * Created on March 6, 2000, 2:20 PM - */ - -package com.sun.jdo.api.persistence.model.jdo.impl; - -import java.util.*; -import java.beans.PropertyVetoException; - -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.ModelVetoException; -import com.sun.jdo.api.persistence.model.jdo.*; - -/** - * - * @author raccah - * @version %I% - */ -public class PersistenceElementCollection -{ - /** Owner of the collection. */ - private PersistenceElementImpl _owner; - - /** Elements of the collection. */ - private PersistenceElement[] _elements; - - /** Array template for typed returns */ - private Object[] _template; - - /** Property name. */ - private String _propertyName; - - /** Create new PersistenceElementCollection with no owner, property, or - * template. This constructor should only be used for cloning and - * archiving. - */ - public PersistenceElementCollection () - { - this(null, null, null); - } - - /** Creates new PersistenceElementCollection */ - public PersistenceElementCollection (PersistenceElementImpl owner, - String propertyName, Object[] template) - { - _owner = owner; - _propertyName = propertyName; - _template = template; - } - - /** Change the set of elements. - * @param elements the new elements - * @param action {@link com.sun.jdo.api.persistence.model.jdo.PersistenceElement.Impl#ADD}, - * {@link com.sun.jdo.api.persistence.model.jdo.PersistenceElement.Impl#REMOVE}, or - * {@link com.sun.jdo.api.persistence.model.jdo.PersistenceElement.Impl#SET} - * @exception ModelException if impossible - */ - public void changeElements (PersistenceElement[] elements, int action) - throws ModelException - { - changeElements(Arrays.asList(elements), action); - } - - /** Change the set of elements. - * @param elements the new elements - * @param action {@link com.sun.jdo.api.persistence.model.jdo.PersistenceElement.Impl#ADD}, - * {@link com.sun.jdo.api.persistence.model.jdo.PersistenceElement.Impl#REMOVE}, or - * {@link com.sun.jdo.api.persistence.model.jdo.PersistenceElement.Impl#SET} - * @exception ModelException if impossible - */ - public void changeElements (List elements, int action) - throws ModelException - { - boolean changed = false; - - try - { - PersistenceElement[] oldElements = getElements(); - int oldLength = (oldElements == null) ? 0 : oldElements.length; - int newLength = (elements == null) ? 0 : elements.size(); - List list = null; - - switch (action) - { - case PersistenceElement.Impl.SET: - list = elements; - changed = true; - break; - case PersistenceElement.Impl.ADD: - if (newLength > 0) - { - list = ((oldLength == 0) ? new ArrayList() : - new ArrayList(Arrays.asList(oldElements))); - list.addAll(elements); - changed = true; - } - break; - case PersistenceElement.Impl.REMOVE: - if ((newLength > 0) && (oldLength > 0)) - { - list = new ArrayList(Arrays.asList(oldElements)); - list.removeAll(elements); - changed = true; - } - break; - } - if (changed) - { - try - { - _owner.fireVetoableChange(_propertyName, null, null); - _elements = (PersistenceElement[])list.toArray(_template); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - } - finally - { - if (changed) - _owner.firePropertyChange(_propertyName, null, null); - } - } - - /** Returns the collection of elements maintained by this holder in the form - * of an array. - * @return the elements maintained by this collection - */ - public PersistenceElement[] getElements () { return _elements; } - - /** Returns the element with the supplied name from the collection of - * elements maintained by this collection. - * @param name the name to match - * @return the element with the supplied name, null if none - * exists - */ - public PersistenceElement getElement (String name) - { - PersistenceElement[] elements = getElements(); - int i, count = ((elements != null) ? elements.length : 0); - - for (i = 0; i < count; i++) - { - PersistenceElement element = elements[i]; - - if (name.equals(element.getName())) - return element; - } - - return null; - } - - //=============== extra methods needed for xml archiver ============== - - /** Returns the owner of this collection. This method should only - * be used internally and for cloning and archiving. - * @return the owner of this collection - */ - public PersistenceElementImpl getOwner () { return _owner; } - - /** Set the owner of this collection to the supplied implementation. - * This method should only be used internally and for cloning and - * archiving. - * @param owner the owner of this collection - */ - public void setOwner (PersistenceElementImpl owner) - { - _owner = owner; - } - - /** Returns the template for the array of this collection. This method - * should only be used internally and for cloning and archiving. - * @return the typed template of this collection - */ - public Object[] getTemplate () { return _template; } - - /** Set the template for the array of this collection to the supplied - * array. This template is used so the array returned by getElements is - * properly typed. This method should only be used internally and - * for cloning and archiving. - * @param template the typed template of this collection - */ - public void setTemplate (Object[] template) { _template = template; } - - /** Returns the property name of this collection. This method - * should only be used internally and for cloning and archiving. - * @return the property name for this collection - */ - public String getPropertyName () { return _propertyName; } - - /** Set the property name of this collection to the supplied name. - * This name is used to generate the correct property change event on - * changes to the collection. This method should only be used - * internally and for cloning and archiving. - * @param propertyName the property name for this collection - */ - public void setPropertyName (String propertyName) - { - _propertyName = propertyName; - } - - /** Set the collection of elements maintained by this holder to the - * supplied array. This method should only be used internally and for - * cloning and archiving. - * @param elements the collection of elements maintained by this holder - */ - public void setElements (PersistenceElement[] elements) - { - _elements = elements; - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceElementImpl.java deleted file mode 100644 index 3f17092a364..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceElementImpl.java +++ /dev/null @@ -1,203 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceElementImpl.java - * - * Created on March 1, 2000, 5:01 PM - */ - -package com.sun.jdo.api.persistence.model.jdo.impl; - -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.ModelVetoException; -import com.sun.jdo.api.persistence.model.jdo.PersistenceElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceElementProperties; - -import java.beans.*; - -/* TODO: - 1. way to get to declaring class from here? - */ - -/** - * - * @author raccah - * @version %I% - */ -public abstract class PersistenceElementImpl extends Object - implements PersistenceElement.Impl, PersistenceElementProperties -{ - /** Element */ - PersistenceElement _element; - - /** Property change support */ - private PropertyChangeSupport _support; - - /** Vetoable change support */ - private transient VetoableChangeSupport _vetoableSupport; - - /** Name of the element. */ - private String _name; - - /** Create new PersistenceElementImpl with no corresponding name. This - * constructor should only be used for cloning and archiving. - */ - public PersistenceElementImpl () - { - this(null); - } - - /** Creates new PersistenceElementImpl with the corresponding name - * @param name the name of the element - */ - public PersistenceElementImpl (String name) - { - super(); - _name = name; - } - - /** Called to attach the implementation to a specific - * element. Will be called in the element's constructor. - * Allows implementors of this interface to store a reference to the - * holder class, useful for implementing the property change listeners. - * - * @param element the element to attach to - */ - public void attachToElement (PersistenceElement element) - { - _element = element; - } - - /** Fires property change event. - * @param name property name - * @param o old value - * @param n new value - */ - protected void firePropertyChange (String name, Object o, Object n) - { - if (_support != null) - _support.firePropertyChange(name, o, n); - } - - /** Add a property change listener. - * @param l the listener to add - */ - public synchronized void addPropertyChangeListener - (PropertyChangeListener l) - { - // new test under synchronized block - if (_support == null) - _support = new PropertyChangeSupport(_element); - - - _support.addPropertyChangeListener(l); - } - - /** Remove a property change listener. - * @param l the listener to remove - */ - public synchronized void removePropertyChangeListener ( - PropertyChangeListener l) - { - if (_support != null) - _support.removePropertyChangeListener(l); - } - - /** Fires vetoable change event. - * @param name property name - * @param o old value - * @param n new value - * @exception PropertyVetoException when the change is vetoed by a listener - */ - protected void fireVetoableChange (String name, Object o, Object n) - throws PropertyVetoException - { - if (_vetoableSupport != null) - _vetoableSupport.fireVetoableChange(name, o, n); - } - - /** Add a vetoable change listener. - * @param l the listener to add - */ - public synchronized void addVetoableChangeListener - (VetoableChangeListener l) - { - if (_vetoableSupport == null) - _vetoableSupport = new VetoableChangeSupport(_element); - - _vetoableSupport.addVetoableChangeListener(l); - } - - /** Remove a vetoable change listener. - * @param l the listener to remove - */ - public synchronized void removeVetoableChangeListener ( - VetoableChangeListener l) - { - if (_vetoableSupport != null) - _vetoableSupport.removeVetoableChangeListener(l); - } - - /** Get the name of this persistence element. - * @return the name - */ - public String getName () { return _name; } - - /** Set the name of this persistence element. - * @param name the name - * @exception ModelException if impossible - */ - public void setName (String name) throws ModelException - { - String old = getName(); - - try - { - fireVetoableChange(PROP_NAME, old, name); - _name = name; - firePropertyChange(PROP_NAME, old, name); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceFieldElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceFieldElementImpl.java deleted file mode 100644 index fcd899d5781..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceFieldElementImpl.java +++ /dev/null @@ -1,253 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceFieldElementImpl.java - * - * Created on March 2, 2000, 6:16 PM - */ - -package com.sun.jdo.api.persistence.model.jdo.impl; - -import java.beans.PropertyVetoException; - -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.ModelVetoException; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; - -/** - * - * @author raccah - * @version %I% - */ -public class PersistenceFieldElementImpl extends PersistenceMemberElementImpl - implements PersistenceFieldElement.Impl -{ - /** Constant representing read sensitive. */ - private static final int READ_SENSITIVE = 1; - - /** Constant representing write sensitive. */ - private static final int WRITE_SENSITIVE = 2; - - /** Persistence type of the field element. */ - private int _persistenceType; - - /** Derived modifier of the field element. */ - private int _derivedModifier; - - /** Key field flag of the field element. */ - private boolean _isKey; - - /** Create new PersistenceFieldElementImpl with no corresponding name. - * This constructor should only be used for cloning and archiving. - */ - public PersistenceFieldElementImpl () - { - this(null); - } - - /** Creates new PersistenceFieldElementImpl with the corresponding name - * @param name the name of the element - */ - public PersistenceFieldElementImpl (String name) - { - super(name); - _persistenceType = PersistenceFieldElement.PERSISTENT; - } - - /** Get the persistence type of this field element. - * @return the persistence type, one of - * {@link PersistenceFieldElement#PERSISTENT} or - * {@link PersistenceFieldElement#DERIVED}. The default is PERSISTENT. - */ - public int getPersistenceType() { return _persistenceType; } - - /** Set the persistence type of this field element. - * @param type - an integer indicating the persistence type, one of: - * {@link PersistenceFieldElement#PERSISTENT} or - * {@link PersistenceFieldElement#DERIVED} - * @exception ModelException if impossible - */ - public void setPersistenceType (int type) throws ModelException - { - Integer old = new Integer(getPersistenceType()); - Integer newType = Integer.valueOf(type); - - try - { - fireVetoableChange(PROP_PERSISTENCE, old, newType); - _persistenceType = type; - firePropertyChange(PROP_PERSISTENCE, old, newType); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Determines whether this field element is read sensitive or not. - * This value is only used if getPersistenceType returns - * DERIVED - * @return true if the field is read sensitive, - * false if it is not or if the persistence type is not - * derived - * @see #isWriteSensitive - * @see #setPersistenceType - * @see PersistenceFieldElement#DERIVED - * - */ - public boolean isReadSensitive () - { - return ((PersistenceFieldElement.DERIVED == getPersistenceType()) ? - ((_derivedModifier & READ_SENSITIVE) != 0) : false); - } - - /** Set whether this field element is read sensitive or not. - * @param flag - if true and this is a derived field, the - * field element is marked as read sensitive; otherwise, it is not - * This value is only used if getPersistenceType returns - * DERIVED - * @exception ModelException if impossible - * @see #setWriteSensitive - * @see #setPersistenceType - * @see PersistenceFieldElement#DERIVED - */ - public void setReadSensitive (boolean flag) throws ModelException - { - Boolean old = JavaTypeHelper.valueOf(isReadSensitive()); - Boolean newFlag = JavaTypeHelper.valueOf(flag); - - try - { - fireVetoableChange(PROP_SENSITIVITY, old, newFlag); - - if (flag) - _derivedModifier |= READ_SENSITIVE; - else - _derivedModifier &= READ_SENSITIVE; - - firePropertyChange(PROP_SENSITIVITY, old, newFlag); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Determines whether this field element is write sensitive or not. - * This value is only used if getPersistenceType returns - * DERIVED - * @return true if the field is write sensitive, - * false if it is not or if the persistence type is not - * derived - * @see #isReadSensitive - * @see #setPersistenceType - * @see PersistenceFieldElement#DERIVED - * - */ - public boolean isWriteSensitive () - { - return ((PersistenceFieldElement.DERIVED == getPersistenceType()) ? - ((_derivedModifier & WRITE_SENSITIVE) != 0) : false); - } - - /** Set whether this field element is write sensitive or not. - * @param flag - if true and this is a derived field, the - * field element is marked as write sensitive; otherwise, it is not - * This value is only used if getPersistenceType returns - * DERIVED - * @exception ModelException if impossible - * @see #setReadSensitive - * @see #setPersistenceType - * @see PersistenceFieldElement#DERIVED - */ - public void setWriteSensitive (boolean flag) throws ModelException - { - Boolean old = JavaTypeHelper.valueOf(isWriteSensitive()); - Boolean newFlag = JavaTypeHelper.valueOf(flag); - - try - { - fireVetoableChange(PROP_SENSITIVITY, old, newFlag); - - if (flag) - _derivedModifier |= WRITE_SENSITIVE; - else - _derivedModifier &= WRITE_SENSITIVE; - - firePropertyChange(PROP_SENSITIVITY, old, newFlag); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Determines whether this field element is a key field or not. - * @return true if the field is a key field, - * false otherwise - * @see com.sun.jdo.api.persistence.model.jdo.impl.PersistenceClassElementImpl#getKeyClass - */ - public boolean isKey () { return _isKey; } - - /** Set whether this field element is a key field or not. - * @param flag - if true, the field element is marked - * as a key field; otherwise, it is not - * @exception ModelException if impossible - * @see com.sun.jdo.api.persistence.model.jdo.impl.PersistenceClassElementImpl#getKeyClass - */ - public void setKey (boolean flag) throws ModelException - { - Boolean old = JavaTypeHelper.valueOf(isKey()); - Boolean newFlag = JavaTypeHelper.valueOf(flag); - - try - { - fireVetoableChange(PROP_KEY_FIELD, old, newFlag); - _isKey = flag; - firePropertyChange(PROP_KEY_FIELD, old, newFlag); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceMemberElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceMemberElementImpl.java deleted file mode 100644 index bb4be33ba1f..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/PersistenceMemberElementImpl.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceMemberElementImpl.java - * - * Created on March 2, 2000, 5:17 PM - */ - -package com.sun.jdo.api.persistence.model.jdo.impl; - -import java.beans.PropertyVetoException; - -import com.sun.jdo.api.persistence.model.jdo.PersistenceMemberElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceClassElement; - -/** - * - * @author raccah - * @version %I% - */ -public abstract class PersistenceMemberElementImpl - extends PersistenceElementImpl implements PersistenceMemberElement.Impl -{ - /** Create new PersistenceMemberElementImpl with no corresponding name. - * This constructor should only be used for cloning and archiving. - */ - public PersistenceMemberElementImpl () - { - this(null); - } - - /** Creates new PersistenceMemberElementImpl with the corresponding name - * @param name the name of the element - */ - public PersistenceMemberElementImpl (String name) - { - super(name); - } - - /** Fires property change event. This method overrides that of - * PersistenceElementImpl to update the PersistenceClassElementImpl's - * modified status. - * @param name property name - * @param o old value - * @param n new value - */ - protected final void firePropertyChange (String name, Object o, Object n) - { - // even though o == null and n == null will signify a change, that - // is consistent with PropertyChangeSupport's behavior and is - // necessary for this to work - boolean noChange = ((o != null) && (n != null) && o.equals(n)); - PersistenceClassElement classElement = - ((PersistenceMemberElement)_element).getDeclaringClass(); - - super.firePropertyChange(name, o, n); - - if ((classElement != null) && !noChange) - classElement.setModified(true); - } - - /** Fires vetoable change event. This method overrides that of - * PersistenceElementImpl to give listeners a chance to block - * changes on the persistence class element modified status. - * @param name property name - * @param o old value - * @param n new value - * @exception PropertyVetoException when the change is vetoed by a listener - */ - protected final void fireVetoableChange (String name, Object o, Object n) - throws PropertyVetoException - { - // even though o == null and n == null will signify a change, that - // is consistent with PropertyChangeSupport's behavior and is - // necessary for this to work - boolean noChange = ((o != null) && (n != null) && o.equals(n)); - PersistenceClassElement classElement = - ((PersistenceMemberElement)_element).getDeclaringClass(); - - super.fireVetoableChange(name, o, n); - - if ((classElement != null) && !noChange) - { - ((PersistenceElementImpl)classElement.getImpl()). - fireVetoableChange(PROP_MODIFIED, Boolean.FALSE, Boolean.TRUE); - } - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/RelationshipElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/RelationshipElementImpl.java deleted file mode 100644 index a55be62440e..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/jdo/impl/RelationshipElementImpl.java +++ /dev/null @@ -1,382 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * RelationshipElementImpl.java - * - * Created on March 2, 2000, 6:21 PM - */ - -package com.sun.jdo.api.persistence.model.jdo.impl; - -import java.beans.PropertyVetoException; - -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.ModelVetoException; -import com.sun.jdo.api.persistence.model.jdo.RelationshipElement; -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; - -/* TODO: - 1. upper and lower bound defaults/ get method constraints based on field - type (whether it's a collection or nullable etc.); pseudo-code: - defaults: - boolean isCollection = - boolean isNullable = - - _lowerBound = (isNullable) ? 0 : 1; - _upperBound = (isCollection) ? Integer.MAX_VALUE : 1); - getElement/CollectionClass: - return (isCollection) ? element/collectionClass : null; - 2. What is the default for Collection Class? - */ - -/** - * - * @author raccah - * @version %I% - */ -public class RelationshipElementImpl extends PersistenceFieldElementImpl - implements RelationshipElement.Impl -{ - /** Update action of the relationship element. */ - private int _updateAction; - - /** Delete action of the relationship element. */ - private int _deleteAction; - - /** Flag indicating whether this relationship element should prefetch. */ - private boolean _isPrefetch; - - /** Lower cardinality bound of the relationship element. */ - private int _lowerBound; - - /** Upper cardinality bound of the relationship element. */ - private int _upperBound; - - /** Collection lass of the relationship element. */ - private String _collectionClass; - - /** Element class of the relationship element. */ - private String _elementClass; - - /** Relative name of the inverse relationship. */ - private String _inverseRelationshipName; - - /** Create new RelationshipElementImpl with no corresponding name. This - * constructor should only be used for cloning and archiving. - */ - public RelationshipElementImpl () - { - this(null); - } - - /** Creates new RelationshipElementImpl with the corresponding name - * @param name the name of the element - */ - public RelationshipElementImpl (String name) - { - super(name); - _updateAction = RelationshipElement.NONE_ACTION; - _deleteAction = RelationshipElement.NONE_ACTION; - _isPrefetch = false; - _lowerBound = 0; - _upperBound = Integer.MAX_VALUE; - } - - /** Get the update action for this relationship element. - * @return the update action, one of - * {@link RelationshipElement#NONE_ACTION}, - * {@link RelationshipElement#NULLIFY_ACTION}, - * {@link RelationshipElement#RESTRICT_ACTION}, - * {@link RelationshipElement#CASCADE_ACTION}, or - * {@link RelationshipElement#AGGREGATE_ACTION}. The default is - * NONE_ACTION. - */ - public int getUpdateAction () { return _updateAction; } - - /** Set the update action for this relationship element. - * @param action - an integer indicating the update action, one of: - * {@link RelationshipElement#NONE_ACTION}, - * {@link RelationshipElement#NULLIFY_ACTION}, - * {@link RelationshipElement#RESTRICT_ACTION}, - * {@link RelationshipElement#CASCADE_ACTION}, or - * {@link RelationshipElement#AGGREGATE_ACTION} - * @exception ModelException if impossible - */ - public void setUpdateAction (int action) throws ModelException - { - Integer old = new Integer(getUpdateAction()); - Integer newAction = Integer.valueOf(action); - - try - { - fireVetoableChange(PROP_UPDATE_ACTION, old, newAction); - _updateAction = action; - firePropertyChange(PROP_UPDATE_ACTION, old, newAction); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Get the delete action for this relationship element. - * @return the delete action, one of - * {@link RelationshipElement#NONE_ACTION}, - * {@link RelationshipElement#NULLIFY_ACTION}, - * {@link RelationshipElement#RESTRICT_ACTION}, - * {@link RelationshipElement#CASCADE_ACTION}, or - * {@link RelationshipElement#AGGREGATE_ACTION}. The default is - * NONE_ACTION. - */ - public int getDeleteAction () { return _deleteAction; } - - /** Set the delete action for this relationship element. - * @param action - an integer indicating the delete action, one of: - * {@link RelationshipElement#NONE_ACTION}, - * {@link RelationshipElement#NULLIFY_ACTION}, - * {@link RelationshipElement#RESTRICT_ACTION}, - * {@link RelationshipElement#CASCADE_ACTION}, or - * {@link RelationshipElement#AGGREGATE_ACTION} - * @exception ModelException if impossible - */ - public void setDeleteAction (int action) throws ModelException - { - Integer old = new Integer(getDeleteAction()); - Integer newAction = Integer.valueOf(action); - - try - { - fireVetoableChange(PROP_DELETE_ACTION, old, newAction); - _deleteAction = action; - firePropertyChange(PROP_DELETE_ACTION, old, newAction); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Determines whether this relationship element should prefetch or not. - * @return true if the relationship should prefetch, - * false otherwise. The default is false. - */ - public boolean isPrefetch () { return _isPrefetch; } - - /** Set whether this relationship element should prefetch or not. - * @param flag - if true, the relationship is set to - * prefetch; otherwise, it is not - * @exception ModelException if impossible - */ - public void setPrefetch (boolean flag) throws ModelException - { - Boolean old = JavaTypeHelper.valueOf(isPrefetch()); - Boolean newFlag = JavaTypeHelper.valueOf(flag); - - try - { - fireVetoableChange(PROP_PREFETCH, old, newFlag); - _isPrefetch = flag; - firePropertyChange(PROP_PREFETCH, old, newFlag); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Get the lower cardinality bound for this relationship element. The - * default is 0. - * @return the lower cardinality bound - */ - public int getLowerBound () { return _lowerBound; } - - /** Set the lower cardinality bound for this relationship element. - * @param lowerBound - an integer indicating the lower cardinality bound - * @exception ModelException if impossible - */ - public void setLowerBound (int lowerBound) throws ModelException - { - Integer old = new Integer(getLowerBound()); - Integer newBound = Integer.valueOf(lowerBound); - - try - { - fireVetoableChange(PROP_CARDINALITY, old, newBound); - _lowerBound = lowerBound; - firePropertyChange(PROP_CARDINALITY, old, newBound); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Get the upper cardinality bound for this relationship element. The - * default is Integer.MAX_VALUE. - * Returns {@link java.lang.Integer#MAX_VALUE} for n - * @return the upper cardinality bound - */ - public int getUpperBound () { return _upperBound; } - - /** Set the upper cardinality bound for this relationship element. - * @param upperBound - an integer indicating the upper cardinality bound - * (use {@link java.lang.Integer#MAX_VALUE} for n) - * @exception ModelException if impossible - */ - public void setUpperBound (int upperBound) throws ModelException - { - Integer old = new Integer(getUpperBound()); - Integer newBound = Integer.valueOf(upperBound); - - try - { - fireVetoableChange(PROP_CARDINALITY, old, newBound); - _upperBound = upperBound; - firePropertyChange(PROP_CARDINALITY, old, newBound); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Get the collection class (for example Set, List, Vector, etc.) - * for this relationship element. - * @return the collection class - */ - public String getCollectionClass () { return _collectionClass; } - - /** Set the collection class for this relationship element. - * @param collectionClass - a string indicating the type of - * collection (for example Set, List, Vector, etc.) - * @exception ModelException if impossible - */ - public void setCollectionClass (String collectionClass) - throws ModelException - { - String old = getCollectionClass(); - - try - { - fireVetoableChange(PROP_COLLECTION_CLASS, old, collectionClass); - _collectionClass = collectionClass; - firePropertyChange(PROP_COLLECTION_CLASS, old, collectionClass); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Get the element class for this relationship element. If primitive - * types are supported, you can use - * wrapperclass.TYPE.toString() to specify them. - * @return the element class - */ - public String getElementClass () { return _elementClass; } - - /** Set the element class for this relationship element. - * @param elementClass - a string indicating the type of elements - * in the collection. If primitive types are supported, you can use - * wrapperclass.TYPE.toString() to specify them. - * @exception ModelException if impossible - */ - public void setElementClass (String elementClass) throws ModelException - { - String old = getElementClass(); - - try - { - fireVetoableChange(PROP_ELEMENT_CLASS, old, elementClass); - _elementClass = elementClass; - firePropertyChange(PROP_ELEMENT_CLASS, old, elementClass); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Get the relative name of the inverse relationship field for this - * relationship element. In the case of two-way relationships, the two - * relationship elements involved are inverses of each other. If this - * relationship element does not participate in a two-way relationship, - * this returns null. Note that it is possible to have this - * method return a value, but because of the combination of related class - * and lookup, there may be no corresponding RelationshipElement which can - * be found. - * @return the relative name of the inverse relationship element - * @see #getInverseRelationship - */ - public String getInverseRelationshipName () - { - return _inverseRelationshipName; - } - - /** Changes the inverse relationship element for this relationship element. - * This method is invoked for both sides from - * {@link RelationshipElement#setInverseRelationship} and should handle the - * vetoable change events, property change events, and setting the internal - * variable. - * @param inverseRelationship - a relationship element to be used as the - * inverse for this relationship element or null if this - * relationship element does not participate in a two-way relationship. - * @exception ModelException if impossible - */ - public void changeInverseRelationship ( - RelationshipElement inverseRelationship) throws ModelException - { - String newName = ((inverseRelationship != null) ? - inverseRelationship.getName() : null); - String oldName = getInverseRelationshipName(); - - try - { - fireVetoableChange(PROP_INVERSE_FIELD, oldName, newName); - _inverseRelationshipName = newName; - firePropertyChange(PROP_INVERSE_FIELD, oldName, newName); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingClassElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingClassElement.java deleted file mode 100644 index ce1ebcaacfb..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingClassElement.java +++ /dev/null @@ -1,301 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingClassElement.java - * - * Created on March 3, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.mapping; - -import java.util.List; -import java.util.ArrayList; - -import org.netbeans.modules.dbschema.TableElement; -import org.netbeans.modules.dbschema.SchemaElement; - -import com.sun.jdo.api.persistence.model.ModelException; - -/** - * - * @author raccah - * @version %I% - */ -public interface MappingClassElement extends MappingElement -{ - /** Constant representing mapping file extension. */ - public static final String MAPPING_EXTENSION = "mapping"; // NOI18N - - /** Constant representing Consistency level. - * NONE_CONSISTENCY implies that no consistency semantics are enforced. - */ - public static final int NONE_CONSISTENCY = 0x0; - - /** Constant representing Consistency level. - * CHECK_MODIFIED_AT_COMMIT_CONSISTENCY implies that at commit, - * consistency check is enforced for all fetched fields of modified - * objects. - */ - public static final int CHECK_MODIFIED_AT_COMMIT_CONSISTENCY = 0x1; - - /** Constant representing Consistency level. - * CHECK_ALL_AT_COMMIT_CONSISTENCY implies that at commit, consistency - * check is enforced for all the fields of objects at this consistency - * level. - * Please note that this level is not supported in the current release. - */ - public static final int CHECK_ALL_AT_COMMIT_CONSISTENCY = 0x2; - - /** Constant representing Consistency level. - * LOCK_WHEN_MODIFIED_CONSISTENCY implies exclusive lock is obtained for - * data corresponding to this object when an attempt to modify the object - * is made. - * Please note that this level is not supported in the current release. - */ - public static final int LOCK_WHEN_MODIFIED_CONSISTENCY = 0x4; - - /** Constant representing Consistency level. - * LOCK_WHEN_MODIFIED_CHECK_ALL_AT_COMMIT_CONSISTENCY implies exclusive - * lock is obtained for data corresponding to this object when an attempt - * to modify the object is made. Also at commit, consistency check is - * enforced for all the fields of objects at this consistency level. - * Please note that this level is not supported in the current release. - */ - public static final int LOCK_WHEN_MODIFIED_CHECK_ALL_AT_COMMIT_CONSISTENCY = - CHECK_ALL_AT_COMMIT_CONSISTENCY | LOCK_WHEN_MODIFIED_CONSISTENCY; - - /** Constant representing Consistency level. - * LOCK_WHEN_LOADED_CONSISTENCY implies that exclusive lock is - * obtained for data corresponding to this object before accessing it. - */ - public static final int LOCK_WHEN_LOADED_CONSISTENCY = 0x8; - - /** Constant representing Consistency level. - * VERSION_CONSISTENCY implies that no lock is obtained for data - * corresponding to this object until it will be updated. - */ - public static final int VERSION_CONSISTENCY = 0x10; - - // TBD -// clears out fields -- equiv to new, can take it out -// public void clear (); -// public boolean mapFieldToTable (MappingFieldElement field, -// TableElement table); - - /** Returns the version number of this MappingClassElement object. - * Please note, the returned version number reflects the version number at - * the last save, NOT the version number of the memory representation. - * @return version number - */ - public int getVersionNumber (); - - /** Returns true if the version number of this MappingClassElement object - * is older than the current version number of the archiving scheme. - * @see #getVersionNumber - * @return true if it is in need of updating, false otherwise - */ - public boolean hasOldVersionNumber (); - - /** This method is called after a MappingClassElement is unarchived - * from a .mapping file. This method provides a hook to do any checking - * (version number checking) and conversion after unarchiving. - * @exception ModelException if impossible - */ - public void postUnarchive () throws ModelException; - - /** This method is called prior to storing a MappingClassElement in a - * .mapping file. This method provides a hook to do any conversion - * before archiving. - * @exception ModelException if impossible - */ - public void preArchive () throws ModelException; - - /** Gets the modified flag for this mapping class. - * @return true if there have been (property) changes to this - * class, false otherwise. - */ - public boolean isModified (); - - /** Set the modified flag for this mapping class to flag. This is usually - * set to true by property changes and false - * after a save. - * @param flag if true, this class is marked as modified; - * if false, it is marked as unmodified. - */ - public void setModified (boolean flag); - - /** Gets the consistency level of this mapping class. - * @return the consistency level, one of {@link #NONE_CONSISTENCY}, - * {@link #CHECK_MODIFIED_AT_COMMIT_CONSISTENCY}, - * {@link #CHECK_ALL_AT_COMMIT_CONSISTENCY}, - * {@link #LOCK_WHEN_MODIFIED_CONSISTENCY}, - * {@link #LOCK_WHEN_MODIFIED_CHECK_ALL_AT_COMMIT_CONSISTENCY}, - * {@link #LOCK_WHEN_LOADED_CONSISTENCY}, or - * {@link #VERSION_CONSISTENCY}. - */ - public int getConsistencyLevel (); - - /** Set the consistency level of this mapping class. - * @param level an integer indicating the consistency level, one of: - * {@link #NONE_CONSISTENCY},{@link #CHECK_MODIFIED_AT_COMMIT_CONSISTENCY}, - * {@link #CHECK_ALL_AT_COMMIT_CONSISTENCY}, - * {@link #LOCK_WHEN_MODIFIED_CONSISTENCY}, - * {@link #LOCK_WHEN_MODIFIED_CHECK_ALL_AT_COMMIT_CONSISTENCY}, - * {@link #LOCK_WHEN_LOADED_CONSISTENCY}, or - * {@link #VERSION_CONSISTENCY}. - * @exception ModelException if impossible. - */ - public void setConsistencyLevel (int level) throws ModelException; - - //======================= schema handling =========================== - - /** Returns the name of the SchemaElement which represents the - * database used by the tables mapped to this mapping class element. - * @return the name of the database root for this mapping class - */ - public String getDatabaseRoot (); - - /** Set the database root for this MappingClassElement. - * The root represents the database used by the tables mapped to - * this mapping class. - * @param root the new database root - * @exception ModelException if impossible - */ - public void setDatabaseRoot (SchemaElement root) throws ModelException; - - //======================= table handling =========================== - - /** Returns the list of tables (MappingTableElements) used by this mapping - * class. - * @return the meta data tables for this mapping class - */ - public ArrayList getTables (); - - /** Scans through this mapping class looking for a table whose - * name matches the name passed in. - * @param name name of the table to find. - * @return the meta data table whose name matches the name parameter - */ - public MappingTableElement getTable (String name); - - /** Convenience method which accepts a table element and attempts to add - * it as either a primary or secondary table depending on the existing list - * of tables and the foreign keys for the table. - * @param table table element to be added as either a primary or secondary - * table. - * @exception ModelException if impossible - */ - public void addTable (TableElement table) throws ModelException; - - /** Set the primary table for this mapping class to the supplied table. - * @param table table element to be used as the primary table. - * @exception ModelException if impossible - */ - public void setPrimaryTable (TableElement table) throws ModelException; - - /** Adds a reference to the supplied table as a secondary table for this - * mapping class. It creates a MappingReferenceKeyElement for the supplied - * primary/secondary table pair. - * @param parentTable mapping table element which should also be the primary - * table. - * @param table table element to be used as a secondary table. - * @exception ModelException if impossible - */ - public MappingReferenceKeyElement addSecondaryTable (MappingTableElement - parentTable, TableElement table) throws ModelException; - - /** Removes the reference to the supplied table as a mapped table for this - * mapping class. This works whether the table is the primary table or a - * secondary table. - * @param table mapping table element to be removed from this mapping class. - * @exception ModelException if impossible - */ - public void removeTable (MappingTableElement table) throws ModelException; - - //======================= field handling =========================== - - /** Returns the list of fields (MappingFieldElements) in this mapping - * class. This list includes both local and relationship fields. - * @return the mapping fields in this mapping class - */ - public ArrayList getFields (); - - /** Scans through this mapping class looking for a field whose - * name matches the name passed in. - * @param name name of the field to find. - * @return the mapping field whose name matches the name parameter - */ - public MappingFieldElement getField (String name); - - /** Adds a field to the list of fields in this mapping class. - * @param field field element to be added - * @exception ModelException if impossible - */ - public void addField (MappingFieldElement field) throws ModelException; - - /** Removes a field from the list of fields in this mapping class. - * @param field field element to be removed - * @exception ModelException if impossible - */ - public void removeField (MappingFieldElement field) throws ModelException; - - /** Returns the list of version fields (MappingFieldElements) in this - * mapping class. This list only includes fields if the consistency - * level is {@link #VERSION_CONSISTENCY}. - * @return the version fields in this mapping class - */ - public List getVersionFields (); - - /** Gets the navigable flag for this mapping class. - * @return true if lazy initialization will be used, - * false if access to a non-fetched field will result in an - * exception. The default is true. - */ - public boolean isNavigable (); - - /** Set the navigable flag for this mapping class to flag. - * @param flag if true, lazy initialization will be used; - * if false, access to a non-fetched field will result in an - * exception. - * @exception ModelException if impossible - */ - public void setNavigable (boolean flag) throws ModelException; -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingElement.java deleted file mode 100644 index 6ed1e32aa18..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingElement.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingElement.java - * - * Created on March 3, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.mapping; - -import java.beans.PropertyChangeListener; -import java.beans.VetoableChangeListener; - -import com.sun.jdo.api.persistence.model.ModelException; - -/** - * - * @author raccah - * @version %I% - */ -public interface MappingElement extends MappingElementProperties, Comparable -{ - /** Add a property change listener. - * @param l the listener to add - */ - public void addPropertyChangeListener (PropertyChangeListener l); - - /** Remove a property change listener. - * @param l the listener to remove - */ - public void removePropertyChangeListener (PropertyChangeListener l); - - /** Add a vetoable change listener. - * @param l the listener to add - */ - public void addVetoableChangeListener (VetoableChangeListener l); - - /** Remove a vetoable change listener. - * @param l the listener to remove - */ - public void removeVetoableChangeListener (VetoableChangeListener l); - - /** Get the name of this mapping element. - * @return the name - */ - public String getName (); - - /** Set the name of this mapping element. - * @param name the name - * @exception ModelException if impossible - */ - public void setName (String name) throws ModelException; -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingElementProperties.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingElementProperties.java deleted file mode 100644 index af4948087af..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingElementProperties.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingElementProperties.java - * - * Created on April 28, 2000, 6:24 PM - */ - -package com.sun.jdo.api.persistence.model.mapping; - -/** - * - * @author raccah - * @version %I% - */ -public interface MappingElementProperties -{ - /** Name of {@link MappingElement#getName name} property. - */ - public static final String PROP_NAME = "name"; // NOI18N - - /** Name of {@link MappingClassElement#isModified modified} - * flag for {@link MappingClassElement class elements}. - */ - public static final String PROP_MODIFIED = "modified"; // NOI18N - - /** Name of {@link MappingClassElement#getConsistencyLevel consistencyLevel} - * property for {@link MappingClassElement class elements}. - */ - public static final String PROP_CONSISTENCY = "consistencyLevel"; // NOI18N - - /** Name of {@link MappingClassElement#setDatabaseRoot root} - * property for {@link MappingClassElement class elements}. - */ - public static final String PROP_DATABASE_ROOT = "schema"; // NOI18N - - /** Name of {@link MappingClassElement#getTables tables} - * property for {@link MappingClassElement class elements}. - */ - public static final String PROP_TABLES = "tables"; // NOI18N - - /** Name of {@link MappingClassElement#getFields fields} - * property for {@link MappingClassElement class elements}. - */ - public static final String PROP_FIELDS = "fields"; // NOI18N - - /** Name of {@link MappingClassElement#isNavigable navigable} - * property for {@link MappingClassElement class elements}. - */ - public static final String PROP_NAVIGABLE = "navigable"; // NOI18N - - /** Name of {@link MappingFieldElement#isReadOnly read only} - * property for {@link MappingFieldElement field elements}. - */ - public static final String PROP_READ_ONLY = "readOnly"; // NOI18N - - /** Name of {@link MappingFieldElement#isInConcurrencyCheck in concurrency - * check} property for {@link MappingFieldElement field elements}. - */ - public static final String PROP_IN_CONCURRENCY_CHECK = - "inConcurrencyCheck"; // NOI18N - - /** Name of {@link MappingFieldElement#isVersion version field} - * property for {@link MappingFieldElement field elements}. - */ - public static final String PROP_VERSION_FIELD = "versionField"; // NOI18N - - /** Name of {@link MappingFieldElement#getFetchGroup fetch group} - * property for {@link MappingFieldElement field elements}. - */ - public static final String PROP_FETCH_GROUP = "fetchGroup"; // NOI18N - - /** Name of {@link MappingFieldElement#getColumns columns} - * property for {@link MappingFieldElement field elements}. - */ - public static final String PROP_COLUMNS = "columns"; // NOI18N - - /** Name of {@link MappingReferenceKeyElement#getTable table} and - * {@link MappingTableElement#getTable table} property for - * {@link MappingReferenceKeyElement reference key elements} and - * {@link MappingTableElement mapping table elements}. - */ - public static final String PROP_TABLE = "table"; // NOI18N - - /** Name of {@link MappingTableElement#getReferencingKeys key columns} - * and {@link MappingTableElement#getKey key columns} property for - * {@link MappingReferenceKeyElement reference key elements} and - * {@link MappingTableElement mapping table elements}. - */ - public static final String PROP_KEY_COLUMNS = "keyColumns"; // NOI18N - - /** Name of {@link MappingRelationshipElement#getAssociatedColumns - * associated columns} property for {@link MappingRelationshipElement - * relationship elements}. - */ - public static final String PROP_ASSOCIATED_COLUMNS = - "associatedColumns"; // NOI18N - - /** Name of {@link MappingTableElement#getReferencingKeys referencing - * keys} property for {@link MappingTableElement mapping table elements}. - */ - public static final String PROP_REFERENCING_KEYS = - "referencingKeys"; // NOI18N -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingFieldElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingFieldElement.java deleted file mode 100644 index 667b8b4da61..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingFieldElement.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingFieldElement.java - * - * Created on March 3, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.mapping; - -import java.util.ArrayList; - -import org.netbeans.modules.dbschema.DBMemberElement; - -import com.sun.jdo.api.persistence.model.ModelException; - -/** - * - * @author raccah - * @version %I% - */ -public interface MappingFieldElement extends MappingMemberElement -{ - /** Constant representing the jdo default fetch group. - * This is what used to be mandatory for SynerJ. - */ - public static final int GROUP_DEFAULT = 1; - - /** Constant representing no fetch group. */ - public static final int GROUP_NONE = 0; - - /** Constant representing an independent fetch group. All independent - * fetch groups must have a value less than or equal to this constant. - */ - public static final int GROUP_INDEPENDENT = -1; - - // TBD:unmap all components, if remove from class remove here too - //public void clear (); - - /** Determines whether this field element is read only or not. - * @return true if the field is read only, - * false otherwise - */ - public boolean isReadOnly (); - - /** Set whether this field element is read only or not. - * @param flag - if true, the field element is marked as - * read only; otherwise, it is not - * @exception ModelException if impossible - */ - public void setReadOnly (boolean flag) throws ModelException; - - /** Determines whether this field element is in a concurrency check or not. - * @return true if the field is in a concurrency check, - * false otherwise - */ - public boolean isInConcurrencyCheck (); - - /** Set whether this field element is in a concurrency check or not. - * @param flag - if true, the field element is marked as - * being in a concurrency check; otherwise, it is not - * @exception ModelException if impossible - */ - public void setInConcurrencyCheck (boolean flag) throws ModelException; - - /** Determines whether this field element is a version field or not. - * @return true if the field is a version field, - * false otherwise - */ - public boolean isVersion (); - - /** Set whether this field element is a version field or not. - * @param flag - if true, the field element is marked - * as a version field; otherwise, it is not - * @exception ModelException if impossible - */ - public void setVersion (boolean flag) throws ModelException; - - //====================== fetch group handling ========================== - - /** Get the fetch group of this field element. - * @return the fetch group, one of {@link #GROUP_DEFAULT}, - * {@link #GROUP_NONE}, or anything less than or equal to - * {@link #GROUP_INDEPENDENT} - */ - public int getFetchGroup (); - - /** Set the fetch group of this field element. - * @param group - an integer indicating the fetch group, one of: - * {@link #GROUP_DEFAULT}, {@link #GROUP_NONE}, or anything less than or - * equal to {@link #GROUP_INDEPENDENT} - * @exception ModelException if impossible - */ - public void setFetchGroup (int group) throws ModelException; - - //======================= column handling =========================== - - /** Returns the list of column names to which this mapping field is - * mapped. - * @return the names of the columns mapped by this mapping field - */ - public ArrayList getColumns (); - - /** Adds a column to the list of columns mapped by this mapping field. - * @param column column element to be added to the mapping - * @exception ModelException if impossible - */ - public void addColumn (DBMemberElement column) throws ModelException; - - /** Removes a column from the list of columns mapped by this mapping field. - * @param columnName the relative name of the column to be removed from - * the mapping - * @exception ModelException if impossible - */ - public void removeColumn (String columnName) throws ModelException; -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingMemberElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingMemberElement.java deleted file mode 100644 index 16edff2527b..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingMemberElement.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingMemberElement.java - * - * Created on May 23, 2000, 12:00 AM - */ - -package com.sun.jdo.api.persistence.model.mapping; - -/** - * - * @author raccah - * @version %I% - */ -public interface MappingMemberElement extends MappingElement -{ - /** Get the declaring class. - * @return the class that owns this member element, or null - * if the element is not attached to any class - */ - public MappingClassElement getDeclaringClass (); -} - diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingReferenceKeyElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingReferenceKeyElement.java deleted file mode 100644 index ee5962237ab..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingReferenceKeyElement.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingReferenceKeyElement.java - * - * Created on March 3, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.mapping; - -import java.util.ArrayList; - -import org.netbeans.modules.dbschema.*; - -import com.sun.jdo.api.persistence.model.ModelException; - -/** - * This is an element which represents a relationship between two tables - * (primary and secondary). It should not be used for relationship fields - * (MappingRelationshipElement has its own set of pairs). It can be thought - * of as a "fake foreign key" meaning it designates the column pairs used to - * join the primary table with a secondary table. It is analagous to a - * foreign key and may in fact contain identical pairs as the foreign key, - * but this is not a requirement. The foreign key may define a different - * set of pairs or may not exist at all. Although any set of pairs is legal, - * the user should be careful to define pairs which represent a logical - * relationship between the two tables. The relationship should be set up as - * follows: - * First, set a primary table for the mapping class. Doing this sets up a - * "fake primary key" for the associated mapping table element. Next, add - * a secondary table and set up the pairs which establish the connection - * on the returned reference key object. This sets up whatever "fake primary - * key" information is necessary on the secondary table's mapping table, - * establishes the primary to secondary relationship via the reference keys, - * and puts the pair information into the "fake foreign key". - * - * @author Mark Munro - * @author Rochelle Raccah - * @version %I% - */ -public interface MappingReferenceKeyElement - extends MappingMemberElement, ReferenceKey -{ - //======================= table handling =========================== - - /** Returns the mapping table element for this referencing key. - * @return the meta data table for this referencing key - */ - public MappingTableElement getTable (); - - /** Set the mapping table for this referencing key to the supplied table. - * @param table mapping table element to be used with this key. - * @exception ModelException if impossible - */ - public void setTable (MappingTableElement table) throws ModelException; - - //======================= column handling =========================== - - /** Returns the list of relative column pair names in this referencing key. - * @return the names of the column pairs in this referencing key - */ - public ArrayList getColumnPairNames (); - - /** Remove a column pair from the holder. This method can be used to - * remove a pair by name when it cannot be resolved to an actual pair. - * @param pairName the relative name of the column pair to remove - * @throws ModelException if impossible - */ - public void removeColumnPair (String pairName) throws ModelException; - - /** Remove some column pairs from the holder. This method can be used to - * remove pairs by name when they cannot be resolved to actual pairs. - * @param pairNames the relative names of the column pairs to remove - * @throws ModelException if impossible - */ - public void removeColumnPairs (ArrayList pairNames) throws ModelException; - - //==== redefined from ReferenceKey to narrow Exception->ModelException === - - /** Add a new column pair to the holder. - * @param pair the pair to add - * @throws ModelException if impossible - */ - public void addColumnPair (ColumnPairElement pair) throws ModelException; - - /** Add some new column pairs to the holder. - * @param pairs the column pairs to add - * @throws ModelException if impossible - */ - public void addColumnPairs (ColumnPairElement[] pairs) - throws ModelException; - - /** Remove a column pair from the holder. - * @param pair the column pair to remove - * @throws ModelException if impossible - */ - public void removeColumnPair (ColumnPairElement pair) - throws ModelException; - - /** Remove some column pairs from the holder. - * @param pairs the column pairs to remove - * @throws ModelException if impossible - */ - public void removeColumnPairs (ColumnPairElement[] pairs) - throws ModelException; - - /** Set the column pairs for this holder. - * Previous column pairs are removed. - * @param pairs the new column pairs - * @throws ModelException if impossible - */ - public void setColumnPairs (ColumnPairElement[] pairs) - throws ModelException; -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingRelationshipElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingRelationshipElement.java deleted file mode 100644 index 003b24a6c24..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingRelationshipElement.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingRelationshipElement.java - * - * Created on March 3, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.mapping; - -import java.util.ArrayList; - -import org.netbeans.modules.dbschema.ColumnPairElement; - -import com.sun.jdo.api.persistence.model.ModelException; - -/** - * This is a specialized field element which represents a relationship - * between two classes. The mapping portion should be set up as follows: - * When mapping a non-join table relationship, call the {@link #addColumn} - * method once with each pair of columns between the local table and the - * foreign table. When mapping a join table relationship, call the - * {@link #addLocalColumn} once for each pair of columns between the - * local table and the join table and {@link #addAssociatedColumn} once for - * each pair of columns between the join table and the foreign table. - * Note that the number of pairs (local and associated) may differ and that - * the order of adding them (local first or associated first) is not - * important. - * - * @author Mark Munro - * @author Rochelle Raccah - * @version %I% - */ -public interface MappingRelationshipElement extends MappingFieldElement -{ - //=================== column handling for join tables ==================== - - /** Returns the list of associated column names to which this - * mapping field is mapped. This is used for join tables. - * @return the names of the columns mapped by this mapping field - * @see MappingFieldElement#getColumns - */ - public ArrayList getAssociatedColumns (); - - /** Adds a column to the list of columns mapped by this mapping field. - * Call this method instead of addColumn when mapping join - * tables. This method is used to map between the local column and the - * join table, while addAssociatedColumn is used to - * map between the join table and the foreign table. - * @param column foreign column element to be added to the mapping - * @exception ModelException if impossible - * @see MappingFieldElement#addColumn - * @see #addAssociatedColumn - */ - public void addLocalColumn (ColumnPairElement column) throws ModelException; - - /** Adds a column to the list of associated columns mapped by this mapping - * field. Call this method instead of addColumn when mapping - * join tables. This method is used to map between the join table column - * and the foreign table column, while addLocalColumn is used - * to map between the local table and the join table. - * @param column foreign column element to be added to the mapping - * @exception ModelException if impossible - * @see MappingFieldElement#addColumn - * @see #addLocalColumn - */ - public void addAssociatedColumn (ColumnPairElement column) - throws ModelException; -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingTableElement.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingTableElement.java deleted file mode 100644 index dfc2f5f2c8a..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/MappingTableElement.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingTableElement.java - * - * Created on March 3, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.mapping; - -import java.util.ArrayList; - -import org.netbeans.modules.dbschema.TableElement; -import org.netbeans.modules.dbschema.ColumnElement; - -import com.sun.jdo.api.persistence.model.ModelException; - -/** - * This is an element which represents a database table. It exists (separately - * from TableElement in the database model) to allow the runtime to use a - * description of the underlying table that differs from the actual database. - * For example, mapping table contains a key which can be thought of as a - * "fake primary key" and designates the columns which the runtime will use - * to identify rows. It is analagous to the primary key of the underlying - * database table and is typically the same, however the important point - * is that it is not a requirement. The table in the database may have a - * different primary key or may have no primary key at all. Similarly, the - * mapping table contains a list of reference keys which can be thought of as - * "fake foreign key" objects and designate the column pairs used to join - * the primary table with a secondary table. These are analagous to - * foreign keys and may in fact contain identical pairs as the foreign key, - * but again, this is not a requirement. The foreign key may define a - * different set of pairs or may not exist at all. Although any set of pairs - * is legal, the user should be careful to define pairs which represent a - * logical relationship between the two tables. - * Any mapping table elements which are designated as primary tables have - * their key set up automatically. Any mapping table elements which are - * designated as secondary tables should not have their keys set up directly; - * the setup is automatically part of the pair definition which makes up the - * reference key. - * - * @author Mark Munro - * @author Rochelle Raccah - * @version %I% - */ -public interface MappingTableElement extends MappingMemberElement -{ - //======================= table handling =========================== - - /** Returns the name of the table element used by this mapping table. - * @return the table name for this mapping table - */ - public String getTable (); - - /** Set the table element for this mapping table to the supplied table. - * @param table table element to be used by the mapping table. - * @exception ModelException if impossible - */ - public void setTable (TableElement table) throws ModelException; - - /** Returns true if the table element used by this mapping table is equal - * to the supplied table. - * @return true if table elements are equal, - * false otherwise. - */ - public boolean isEqual (TableElement table); - - //===================== primary key handling =========================== - - /** Returns the list of column names in the primary key for this - * mapping table. - * @return the names of the columns in the primary key for this - * mapping table - */ - public ArrayList getKey (); - - /** Adds a column to the primary key of columns in this mapping table. - * This method should only be used to manipulate the key columns of the - * primary table. The secondary table key columns should be manipulated - * using MappingReferenceKeyElement methods for pairs. - * @param column column element to be added - * @exception ModelException if impossible - */ - public void addKeyColumn (ColumnElement column) throws ModelException; - - /** Removes a column from the primary key of columns in this mapping table. - * This method should only be used to manipulate the key columns of the - * primary table. The secondary table key columns should be manipulated - * using MappingReferenceKeyElement methods for pairs. - * @param columnName the relative name of the column to be removed - * @exception ModelException if impossible - */ - public void removeKeyColumn (String columnName) throws ModelException; - - //===================== reference key handling =========================== - - /** Returns the list of keys (MappingReferenceKeyElements) for this - * mapping table. There will be keys for foreign keys and "fake" foreign - * keys. - * @return the reference key elements for this mapping table - */ - public ArrayList getReferencingKeys (); - - /** Adds a referencing key to the list of keys in this mapping table. - * @param referencingKey referencing key element to be added - * @exception ModelException if impossible - */ - public void addReferencingKey (MappingReferenceKeyElement referencingKey) - throws ModelException; - - /** Removes the referencing key for the supplied table element from list - * of keys in this mapping table. - * @param table mapping table element for which to remove referencing keys - * @exception ModelException if impossible - */ - public void removeReference (MappingTableElement table) - throws ModelException; -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingClassElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingClassElementImpl.java deleted file mode 100644 index dc7eab6893a..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingClassElementImpl.java +++ /dev/null @@ -1,1139 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingClassElementImpl.java - * - * Created on March 3, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.mapping.impl; - -import java.util.*; -import java.beans.PropertyVetoException; - -import org.netbeans.modules.dbschema.*; -import org.netbeans.modules.dbschema.util.NameUtil; - -import com.sun.jdo.api.persistence.model.*; -import com.sun.jdo.api.persistence.model.mapping.*; -import com.sun.jdo.api.persistence.model.jdo.PersistenceClassElement; -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author Mark Munro - * @author Rochelle Raccah - * @version %I% - */ -public class MappingClassElementImpl extends MappingElementImpl - implements MappingClassElement -{ - // used in properties bitmask, jeff will check if used - public static final int CLONE_FIELDS = 1; - public static final int CLONE_DEEP = 2; - public static final int CLONE_MASK = 3; - public static final int NAVIGABLE = 4; - - PersistenceClassElement _persistenceElement; - - private boolean _isModified; - private int _properties; - private ArrayList _tables; // array of MappingTableElement - private ArrayList _fields; // array of MappingFieldElement - - /** The current version number. - * Note: Please increment this if there are any changes in the - * mapping model that might cause incompatibilities to older versions. - */ - private static final int CURRENT_VERSION_NO = 5; - - /** Version number of this MappingClassElementImpl object. - * This number is set by the initilaizer of the declaration or - * set by the archiver when reading a mapping file. - */ - private int versionNo = CURRENT_VERSION_NO; - - /** The database root for this MappingClassElement. - * The database root is the schema name of of all the db elements - * attached to this MappingClassElement. - */ - private String _databaseRoot; - - /** Consistency Level of this MappingClassElement. - */ - private int _consistencyLevel; - - - /* - // possibly for EJB use later - // private String EJBName; - // which of these (one from desc, one from config)? - // public Class finderClass; - // private String finderClass; - // private Class finderClassType; - // public static final String DEFAULT_JAVA_FINDERCLASS ="not yet implemented"; - // end possibly for EJB use later - */ - - // possibly for sequence/identity fields later - // public ColumnElement uniqueIDCol; - - /** Create new MappingClassElementImpl with no corresponding persistence - * element or name. This constructor should only be used for cloning and - * archiving. - */ - public MappingClassElementImpl () - { - this((String)null); - } - - /** Creates new MappingClassElementImpl with the corresponding name - * @param name the name of the element - */ - public MappingClassElementImpl (String name) - { - super(name); - _consistencyLevel = NONE_CONSISTENCY; - _properties = _properties | NAVIGABLE; - } - - /** Creates new MappingClassElementImpl with a corresponding - * PersistenceClassElement - * @param element the persistence element with which to be associated - */ - public MappingClassElementImpl (PersistenceClassElement element) - { - this((element != null) ? element.getName() : null); - setPersistenceElement(element); - } - - /** Returns the version number of this MappingClassElement object. - * Please note, the returned version number reflects the version number at - * the last save, NOT the version number of the memory representation. - * @return version number - */ - public int getVersionNumber () { return versionNo; } - - /** Set the version number of this MappingClassElement. - * @param version the new version number - */ - private void setVersionNumber (int version) { versionNo = version; } - - /** Returns true if the version number of this MappingClassElement object - * is older than the current version number of the archiving scheme. - * @see #getVersionNumber - * @return true if it is in need of updating, false otherwise - */ - public boolean hasOldVersionNumber () - { - return (getVersionNumber() < CURRENT_VERSION_NO); - } - - /** Returns the mapping class element associated with the class with the - * given string name, using the given model object to look it up. - * @param name the fully qualified name of the desired class - * @param model the model object to be used to look it up - * @return mapping class element representing the desired class - */ - public static MappingClassElement forName (String name, Model model) - { - return model.getMappingClass(name); - } - - /** Fires property change event. This method overrides that of - * MappingElementImpl to update the mapping class element's modified - * status. - * @param name property name - * @param o old value - * @param n new value - */ - protected final void firePropertyChange (String name, Object o, Object n) - { - // even though o == null and n == null will signify a change, that - // is consistent with PropertyChangeSupport's behavior and is - // necessary for this to work - boolean noChange = ((o != null) && (n != null) && o.equals(n)); - - super.firePropertyChange(name, o, n); - - if (!(PROP_MODIFIED.equals(name)) && !noChange) - setModified(true); - } - - /** Fires vetoable change event. This method overrides that of - * MappingElementImpl to give listeners a chance to block - * changes on the mapping class element modified status. - * @param name property name - * @param o old value - * @param n new value - * @exception PropertyVetoException when the change is vetoed by a listener - */ - protected final void fireVetoableChange (String name, Object o, Object n) - throws PropertyVetoException - { - // even though o == null and n == null will signify a change, that - // is consistent with PropertyChangeSupport's behavior and is - // necessary for this to work - boolean noChange = ((o != null) && (n != null) && o.equals(n)); - - super.fireVetoableChange(name, o, n); - - if (!(PROP_MODIFIED.equals(name)) && !noChange) - fireVetoableChange(PROP_MODIFIED, Boolean.FALSE, Boolean.TRUE); - } - - /** @return persistence class element for this mapping class element - */ - public final PersistenceClassElement getPersistenceElement () - { - return _persistenceElement; - } - - /** Set the persistence class element for this mapping class element. - * @param element the persistence class element - */ - public void setPersistenceElement (PersistenceClassElement element) - { - _persistenceElement = element; - } - - // TBD if needed - /*public void clear() - { - Iterator fieldIterator = getFields().iterator(); - - while (fieldIterator.hasNext()) - ((MappingFieldElement)fieldIterator.next()).clear(); - - _tables = new ArrayList(); - } -*/ - //================= implementation of MappingClassElement ================ - - /** Gets the modified flag for this mapping class. - * @return true if there have been (property) changes to this - * class, false otherwise. - */ - public boolean isModified () { return _isModified; } - - /** Set the modified flag for this mapping class to flag. This is usually - * set to true by property changes and false - * after a save. - * @param flag if true, this class is marked as modified; - * if false, it is marked as unmodified. - */ - public void setModified (boolean flag) - { - boolean oldFlag = isModified(); - - if (flag != oldFlag) - { - _isModified = flag; - firePropertyChange(PROP_MODIFIED, JavaTypeHelper.valueOf(oldFlag), - JavaTypeHelper.valueOf(flag)); - } - } - - /** Gets the consistency level of this mapping class. - * @return the consistency level, one of {@link #NONE_CONSISTENCY}, - * {@link #CHECK_MODIFIED_AT_COMMIT_CONSISTENCY}, - * {@link #CHECK_ALL_AT_COMMIT_CONSISTENCY}, - * {@link #LOCK_WHEN_MODIFIED_CONSISTENCY}, - * {@link #LOCK_WHEN_MODIFIED_CHECK_ALL_AT_COMMIT_CONSISTENCY}, - * {@link #LOCK_WHEN_LOADED_CONSISTENCY}, or - * {@link #VERSION_CONSISTENCY}. - * The default is {@link #NONE_CONSISTENCY}. - */ - public int getConsistencyLevel () { return _consistencyLevel; } - - /** Set the consistency level of this mapping class. - * @param level an integer indicating the consistency level, one of: - * {@link #NONE_CONSISTENCY},{@link #CHECK_MODIFIED_AT_COMMIT_CONSISTENCY}, - * {@link #CHECK_ALL_AT_COMMIT_CONSISTENCY}, - * {@link #LOCK_WHEN_MODIFIED_CONSISTENCY}, - * {@link #LOCK_WHEN_MODIFIED_CHECK_ALL_AT_COMMIT_CONSISTENCY}, - * {@link #LOCK_WHEN_LOADED_CONSISTENCY}, or - * {@link #VERSION_CONSISTENCY}. - * @exception ModelException if impossible. - */ - public void setConsistencyLevel (int level) throws ModelException - { - Integer old = new Integer(getConsistencyLevel()); - Integer newLevel = Integer.valueOf(level); - - try - { - fireVetoableChange(PROP_CONSISTENCY, old, newLevel); - _consistencyLevel = level; - firePropertyChange(PROP_CONSISTENCY, old, newLevel); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Returns the name of the SchemaElement which represents the - * database used by the tables mapped to this mapping class. - * @return the name of the database root for this mapping class - */ - public String getDatabaseRoot () { return _databaseRoot; } - - /** Set the database root for this MappingClassElement. - * The root represents the database used by the tables mapped to - * this mapping class. - * @param root the new database root - * @exception ModelException if impossible - */ - public void setDatabaseRoot (SchemaElement root) throws ModelException - { - String old = getDatabaseRoot(); - String newRoot = ((root != null) ? root.getName().getFullName() : null); - - try - { - fireVetoableChange(PROP_DATABASE_ROOT, old, newRoot); - _databaseRoot = newRoot; - firePropertyChange(PROP_DATABASE_ROOT, old, newRoot); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Returns the list of tables (MappingTableElements) used by this mapping - * class. - * @return the meta data tables for this mapping class - */ - public ArrayList getTables () - { - if (_tables == null) - _tables = new ArrayList(); - - return _tables; - } - - /** Scans through this mapping class looking for a table whose - * name matches the name passed in. - * @param name name of the table to find. - * @return the meta data table whose name matches the name parameter - */ - public MappingTableElement getTable (String name) - { - Iterator tableIterator = getTables().iterator(); - - while (tableIterator.hasNext()) - { - MappingTableElement table = - (MappingTableElement)tableIterator.next(); - - if (table.getName().equals(name)) - return table; - } - - return null; - } - - /** Convenience method which accepts a table element and attempts to add - * it as either a primary or secondary table depending on the existing list - * of tables and the foreign keys for the table. - * @param table table element to be added as either a primary or secondary - * table. - * @exception ModelException if impossible - */ - public void addTable (TableElement table) throws ModelException - { - if (table != null) - { - ArrayList tables = getTables(); - - // If the table list is empty, this should be the primary table - if (tables.isEmpty()) - setPrimaryTable(table); - else - { - HashMap newSecondaryTables = new HashMap(); - Iterator iterator = tables.iterator(); - boolean found = false; - - // If this table has already been added just skip it and return - while (iterator.hasNext()) - if (((MappingTableElement)iterator.next()).isEqual(table)) - return; - - // Add the table as a secondary table as long as there are - // relevant fks setup. Otherwise, throw an exception - iterator = tables.iterator(); - while (iterator.hasNext()) - { - MappingTableElement mappingTable = - (MappingTableElement)iterator.next(); - String absoluteTableName = NameUtil.getAbsoluteTableName( - _databaseRoot, mappingTable.getTable()); - ForeignKeyElement[] foreignKeys = TableElement.forName( - absoluteTableName).getForeignKeys(); - int i, count = - ((foreignKeys != null) ? foreignKeys.length : 0); - - for (i = 0; i < count; i++) - { - ForeignKeyElement fk = foreignKeys[i]; - - if (table == fk.getReferencedTable()) - { - // store it so it can be added after we finish - // iterating the array (can't now because of - // concurrent modification restrictions) - newSecondaryTables.put(mappingTable, fk); - found = true; - } - } - } - - if (found) // add the secondary tables now - { - iterator = newSecondaryTables.keySet().iterator(); - - while (iterator.hasNext()) - { - MappingTableElement mappingTable = - (MappingTableElement)iterator.next(); - MappingReferenceKeyElement refKey = - addSecondaryTable(mappingTable, table); - - refKey.addColumnPairs(((ForeignKeyElement) - newSecondaryTables.get(mappingTable)). - getColumnPairs()); - } - - } - else - { - throw new ModelException(I18NHelper.getMessage( - getMessages(), - "mapping.table.foreign_key_not_found", table)); // NOI18N - } - } - } - else - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.table.null_argument")); // NOI18N - } - } - - /** Set the primary table for this mapping class to the supplied table. - * @param table table element to be used as the primary table. - * @exception ModelException if impossible - */ - public void setPrimaryTable (TableElement table) throws ModelException - { - ArrayList tables = getTables(); - - if (!tables.isEmpty()) - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.table.primary_table_defined", table)); // NOI18N - } - else - { - UniqueKeyElement key = table.getPrimaryKey(); - MappingTableElement mappingTable = - new MappingTableElementImpl(table, this); - SchemaElement schema = table.getDeclaringSchema(); - String currentRoot = getDatabaseRoot(); - - if (currentRoot == null) // set database root - setDatabaseRoot(schema); - else if (!currentRoot.equals(schema.getName().getFullName())) - { - // if database root was set before, it must match - throw new ModelException(I18NHelper.getMessage( - getMessages(), "mapping.table.schema_mismatch", // NOI18N - table.toString(), currentRoot)); - } - - try - { - fireVetoableChange(PROP_TABLES, null, null); - tables.add(mappingTable); - firePropertyChange(PROP_TABLES, null, null); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - - // If can't find a primary key, settle for first unique key. - if (key == null) - { - UniqueKeyElement[] uniqueKeys = table.getUniqueKeys(); - - if ((uniqueKeys != null) && (uniqueKeys.length > 0)) - key = uniqueKeys[0]; - } - - if (key == null) - { - // This is a warning -- we can still use the table but we - // cannot perform update operations on it. Also the user - // may define the key later. - } - else - { - ColumnElement[] columns = key.getColumns(); - int i, count = ((columns != null) ? columns.length : 0); - - for (i = 0; i < count; i++) - mappingTable.addKeyColumn(columns[i]); - } - } - } - - /** Adds a reference to the supplied table as a secondary table for this - * mapping class. It creates a MappingReferenceKeyElement for the supplied - * primary/secondary table pair. - * @param parentTable mapping table element which should also be the primary - * table. - * @param table table element to be used as a secondary table. - * @exception ModelException if impossible - */ - public MappingReferenceKeyElement addSecondaryTable (MappingTableElement - parentTable, TableElement table) throws ModelException - { - ArrayList tables = getTables(); - - if ((parentTable == null) || (table == null)) - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.element.null_argument")); // NOI18N - } - else if (!tables.contains(parentTable)) - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.table.parent_table_not_found", // NOI18N - parentTable.getTable())); - } - else - { - // Check the parent table's reference keys to make sure that this - // secondary table has not already been added to this parent table. - // If it has, throw an exception - Iterator iterator = parentTable.getReferencingKeys().iterator(); - MappingTableElement mappingTable = - new MappingTableElementImpl(table, this); - MappingReferenceKeyElement key = - new MappingReferenceKeyElementImpl(mappingTable); - - while (iterator.hasNext()) - { - MappingTableElement compareTable = - ((MappingReferenceKeyElement)iterator.next()).getTable(); - - if (compareTable.isEqual(table)) - { - throw new ModelException(I18NHelper.getMessage( - getMessages(), - "mapping.table.secondary_table_defined", // NOI18N - new Object[]{table, parentTable.getTable()})); - } - } - - try - { - fireVetoableChange(PROP_TABLES, null, null); - parentTable.addReferencingKey(key); - tables.add(mappingTable); - firePropertyChange(PROP_TABLES, null, null); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - - return key; - } - } - - /** Removes the reference to the supplied table as a mapped table for this - * mapping class. This works whether the table is the primary table or a - * secondary table. - * @param table mapping table element to be removed from this mapping class. - * @exception ModelException if impossible - */ - public void removeTable (MappingTableElement table) throws ModelException - { - if (table != null) - { - Collection tables = getTables(); - Iterator iterator = null; - boolean found = false; - - try - { - fireVetoableChange(PROP_TABLES, null, null); - found = tables.remove(table); - firePropertyChange(PROP_TABLES, null, null); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - - // remove all references to this table - iterator = tables.iterator(); - while (iterator.hasNext()) - { - MappingTableElement nextTable = - (MappingTableElement)iterator.next(); - - nextTable.removeReference(table); - } - - if (found) // remove any fields mapped to that table - { - ArrayList fieldsToRemove = new ArrayList(); - - iterator = getFields().iterator(); - while (iterator.hasNext()) - { - MappingFieldElementImpl mappingField = - (MappingFieldElementImpl)iterator.next(); - - if (mappingField.isMappedToTable(table)) - fieldsToRemove.add(mappingField); - } - - iterator = fieldsToRemove.iterator(); - while (iterator.hasNext()) - { - MappingFieldElement mappingField = - (MappingFieldElement)iterator.next(); - boolean versionField = mappingField.isVersion(); - - removeField(mappingField); - - // if it is a version field, add back an unmapped - // field which retains the version flag setting - if (versionField) - { - mappingField = new MappingFieldElementImpl( - mappingField.getName(), this); - mappingField.setVersion(true); - addField(mappingField); - } - } - } - else - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.element.element_not_removed", table)); // NOI18N - } - } - else - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.element.null_argument")); // NOI18N - } - } - - /** Returns the list of fields (MappingFieldElements) in this mapping - * class. This list includes both local and relationship fields. - * @return the mapping fields in this mapping class - */ - public ArrayList getFields () - { - if (_fields == null) - _fields = new ArrayList(); - - return _fields; - } - - /** Scans through this mapping class looking for a field whose - * name matches the name passed in. - * @param name name of the field to find. - * @return the mapping field whose name matches the name parameter - */ - public MappingFieldElement getField (String name) - { - Iterator fieldIterator = getFields().iterator(); - - while (fieldIterator.hasNext()) - { - MappingFieldElement field = - (MappingFieldElement)fieldIterator.next(); - - if (name.equals(field.getName())) - return field; - } - - return null; - } - - /** Adds a field to the list of fields in this mapping class. - * @param field field element to be added - * @exception ModelException if impossible - */ - public void addField (MappingFieldElement field) throws ModelException - { - ArrayList fields = getFields(); - - if (!fields.contains(field)) - { - try - { - fireVetoableChange(PROP_FIELDS, null, null); - fields.add(field); - firePropertyChange(PROP_FIELDS, null, null); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - } - - /** Removes a field from the list of fields in this mapping class. - * @param field field element to be removed - * @exception ModelException if impossible - */ - public void removeField (MappingFieldElement field) throws ModelException - { - try - { - fireVetoableChange(PROP_FIELDS, null, null); - - if (!getFields().remove(field)) - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.element.element_not_removed", field)); // NOI18N - } - - firePropertyChange(PROP_FIELDS, null, null); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Returns the list of version fields (MappingFieldElements) in this - * mapping class. This list only includes fields if the consistency - * level is {@link #VERSION_CONSISTENCY}. - * @return the version fields in this mapping class - */ - public List getVersionFields () - { - List versionFields = new ArrayList(); - - if (VERSION_CONSISTENCY == getConsistencyLevel()) - { - Iterator iterator = getFields().iterator(); - - while (iterator.hasNext()) - { - MappingFieldElement fieldCandidate = - (MappingFieldElement)iterator.next(); - - if (fieldCandidate.isVersion()) - versionFields.add(fieldCandidate); - } - } - - return versionFields; - } - - /** Gets the navigable flag for this mapping class. - * @return true if lazy initialization will be used, - * false if access to a non-fetched field will result in an - * exception. The default is true. - */ - public boolean isNavigable () { return ((_properties & NAVIGABLE) > 0); } - - /** Set the navigable flag for this mapping class to flag. - * @param flag if true, lazy initialization will be used; - * if false, access to a non-fetched field will result in an - * exception. - * @exception ModelException if impossible - */ - public void setNavigable (boolean flag) throws ModelException - { - Boolean old = JavaTypeHelper.valueOf(isNavigable()); - Boolean newFlag = JavaTypeHelper.valueOf(flag); - - try - { - fireVetoableChange(PROP_NAVIGABLE, old, newFlag); - _properties = (flag) ? - (_properties | NAVIGABLE) : (_properties & ~NAVIGABLE); - firePropertyChange(PROP_NAVIGABLE, old, newFlag); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - //============= extra object support for runtime ======================== - - /** Accept an arraylist of column names and return an array list containing - * the corresponding column or column pair objects. - * @param schemaName the database root used to find the column objects - * @param columnNames array of column names. - * @return an array of corresponding column objects - * @see org.netbeans.modules.dbschema.TableElement#forName - * @see org.netbeans.modules.dbschema.TableElement#getMember - */ - protected static ArrayList toColumnObjects (String schemaName, - ArrayList columnNames) - { - Iterator iterator = columnNames.iterator(); - ArrayList objects = new ArrayList(); - - while (iterator.hasNext()) - { - String columnName = (String)iterator.next(); - String absoluteColumnName = - NameUtil.getAbsoluteMemberName(schemaName, columnName); - final TableElement table = - TableElement.forName(NameUtil.getTableName(absoluteColumnName)); - - objects.add(table.getMember( - DBIdentifier.create(absoluteColumnName))); - } - - return objects; - } - - //============= delegation to PersistenceClassElement =========== - - /** Get the fully qualified name of the primary key class for this class - * element. This value is only used if getObjectIdentityType - * returns APPLICATION_IDENTITY - * @return the fully qualified key class name, null if the - * identity type is not managed by the application - * @see PersistenceClassElement#setObjectIdentityType - * @see PersistenceClassElement#APPLICATION_IDENTITY - * - */ - public String getKeyClass () - { - return getPersistenceElement().getKeyClass(); - } - - //=============== extra set methods needed for xml archiver ============== - - /** Set the list of tables (MappingTableElements) used by this mapping - * class. This method should only be used internally and for cloning - * and archiving. - * @param tables the list of meta data tables for this mapping class - */ - //@olsen: disabled method because not used by archiver -/* - public void setTables (ArrayList tables) { _tables = tables; } -*/ - - /** Set the list of fields (MappingFieldElements) in this mapping - * class. This method should only be used internally and for cloning - * and archiving. - * @param fields the list of mapping fields in this mapping class - */ - public void setFields (ArrayList fields) { _fields = fields; } - - public int getProperties () { return _properties; } - - //======== to be used for reference in best guess implementation ========== - // configure methods - - /** - * The following method attempts to map a field to a particular table. - * Only local fields are supported at present - * @return boolean to indicate whether the mapping worked - * @param fieldToMap The field to be mapped - * @param table The table the fields to to be mapped to - */ -/* public boolean mapFieldToTable (MappingFieldElement fieldToMap, - TableElement table) throws ModelException - { - boolean lReturn = false; - - if ((fieldToMap != null) && (fieldToMap instanceof MappingFieldElement)) - { - String lLocalFieldName = fieldToMap.getName(); - ColumnElement[] tableColumns = table.getColumns(); - int i, count = ((tableColumns != null) ? tableColumns.length : 0); - - for (i = 0; i < count; i++) - { - ColumnElement lColumn = tableColumns[i]; - - if (lLocalFieldName.equalsIgnoreCase( - lColumn.getName().getFullName())) - { - PersistenceClassElement classElement = - fieldToMap.getDeclaringClass().getClassElement(); - MappingFieldElement lLocalField = - new MappingFieldElementImpl( - classElement.getField(lLocalFieldName), fieldToMap); - ArrayList columns = lLocalField.getColumns(); - - // If this field has already been mapped we do not want to - // overwrite the existing mapping as this mechanism - // is an automagic mapping approach - if ((columns != null) || (columns.size() != 0)) - lLocalField.addColumn(lColumn); - - lReturn = true; - break; - } - } - } - - return lReturn; - } -*/ - - //================== possibly for EJB use later =========================== - /** - * This method returns a finder class as a class type. - * @return The finder class used by this configuration - */ - //public Class getFinderClass() { return finderClass; } - - /** - * This method sets the finder class for this configuration. - * @param finderClass The finder class used by this configuration - */ - /*public void setfinderClass(Class finderClass) - { - this.finderClass = finderClass; - }*/ - - /** - * This method gets the finder classes name. - * @return The finder classes name or if finder class not - * defined returns an empty string. - */ - /* public String getFinderClassName() - { - String lFinderClassName = new String(); - if ( this.finderClass != null ) - { - lFinderClassName = this.finderClass.getName(); - } - - return lFinderClassName; - }*/ - - /** - * This method sets the finder class for this configuration based on the - * name passed in. - * @param finderclassName The finder classes name that this configuration - * should use. - */ - /* public void setFinderClassName(String finderClassName) - throws ClassNotFoundException - { - this.finderClass = this.getClass().getClassLoader(). - loadClass(finderClassName); - }*/ - /* - public String getFinderClass() { return finderClass; } - - public Class getFinderClassType() { return finderClassType; } - public void setFinderClassType(Class c) { finderClassType = c; } - */ - /** - * The following method validates the finder class - * @param finderClassName The finder class name to be validated - */ - /* public boolean vaidateFinderClass(String finderClassName) - { - boolean lValid = false; - - if ( finderClassName == null || finderClassName.equals("")) - lValid = false; - else if ( finderClassName.equals(this.DEFAULT_JAVA_FINDERCLASS) ) - lValid = true; - else - { - // NEED to do some kind of class lookup here although not sure how - // to do this in netbeans not sure if this is the right approach - // but as long as class path is correct it should work - ClassLoader lClassLoader = this.getClassLoader(); - - try - { - lClassLoader.loadClass(finderClassName); - } - catch (ClassNotFoundException lError) - { - lValid = false; - } - } - return lValid; - } - - public Class getBeanFactoryType() { return beanFactoryType; } - public void setBeanFactoryType(Class c) { beanFactoryType = c; } - */ - /** - * The following method will return a list of all of the - * foreign EJB's referenced in this persistent descriptor - * @return The list of EJB's referenced by this configuration - */ - /*public String[] getForeignEJBNames() - { - // Allocate a to the size of the number of elements - // elements in the array list of fields as we can't - // return a bigger array that that - String[] lEJBNames = new String[field.size()]; - int i = 0, count = this.fields.size(); - - for (; i > count; i++) - { - MappingFieldElement lField = this.fields.get(i); - - if ( lField instanceof MappingRelationshipElement ) - { - // Ok this is a foreign field so get it's EJB name - String lEJBName = (lField) - (MappingRelationshipElement).getEJBType(); - - if ((lEJBName != null) && (!lEJBName.equals(""))) - lEJBNames[i] = new String(lEJBName); - } - - // allocate a new array and copy the old array into it before - // returns the new array - String[] lReturnArray = new String[i + 1]; - System.arraycopy(lEJBNames, 0, lReturnArray, 0, i + 1); - - return lReturnArray; - } - }*/ - - /** This method is called after a MappingClassElement is unarchived - * from a .mapping file. This method provides a hook to do any checking - * (version number checking) and conversion after unarchiving. - * @exception ModelException if impossible - */ - public void postUnarchive () throws ModelException - { - // check version number - switch (versionNo) - { - case 0: // outdated version number - case 1: // outdated version number - throw new ModelException (I18NHelper.getMessage(getMessages(), - "file.incompatible_version", getName())); //NOI18N - case 2: - // Boston format => convert to Pilsen format - stripSchemaName(); - break; - case 3: // same as 4 except package names are different - case 4: // same as 5 except version field not a choice for MFE - case MappingClassElementImpl.CURRENT_VERSION_NO: - // OK - break; - default: // version number is unknown - throw new ModelException (I18NHelper.getMessage(getMessages(), - "file.incompatible_version", getName())); //NOI18N - } - } - - /** This method is called prior to storing a MappingClassElement in a - * .mapping file. This method provides a hook to do any conversion - * before archiving. - * Note, the signature of preArchive in the interface MappingClassElement - * includes a throws clause (ModelException), but the actual implementation - * does not throw an exception. - */ - public void preArchive () - { - // update version number - setVersionNumber(CURRENT_VERSION_NO); - } - - //=============== extra method for Boston -> Pilsen conversion ============ - - /** Boston to Pilsen conversion. - * This method converts the absolute db element names to relative names and - * stores the database root (meaning the schema name) in the - * MappingClassElement. The method is recursively called for all - * MappingTableElements and MappingFieldElements attached to this - * MappingClassElement. - */ - protected void stripSchemaName () - { - String schemaName = null; - - // calculate schemaName from first MappingTableElement - if (_tables != null && !_tables.isEmpty()) - { - schemaName = NameUtil.getSchemaName( - ((MappingTableElement)_tables.get(0)).getTable()); - } - - // set the schemaName as database root - _databaseRoot = schemaName; - - // do not change the _isModified flag - - // handle _tables - if (_tables != null) - { - Iterator i = _tables.iterator(); - while (i.hasNext()) - ((MappingTableElementImpl)i.next()).stripSchemaName(); - } - - // handle _fields - if (_fields != null) - { - Iterator i = _fields.iterator(); - while (i.hasNext()) - ((MappingFieldElementImpl)i.next()).stripSchemaName(); - } - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingElementImpl.java deleted file mode 100644 index 51ce92f4a53..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingElementImpl.java +++ /dev/null @@ -1,267 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingElementImpl.java - * - * Created on March 24, 2000, 10:06 AM - */ - -package com.sun.jdo.api.persistence.model.mapping.impl; - -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.ModelVetoException; -import com.sun.jdo.api.persistence.model.mapping.MappingElement; -import org.glassfish.persistence.common.I18NHelper; - -import java.beans.*; -import java.text.Collator; -import java.util.ResourceBundle; - -/** - * - * @author raccah - * @version %I% - */ -public abstract class MappingElementImpl implements MappingElement -{ - /** I18N message handler */ - private static final ResourceBundle _messages = I18NHelper.loadBundle( - "com.sun.jdo.api.persistence.model.Bundle", // NOI18N - MappingElementImpl.class.getClassLoader()); - - /** Property change support */ - private PropertyChangeSupport _support; - - /** Vetoable change support */ - private transient VetoableChangeSupport _vetoableSupport; - - String _name; - - /** Create new MappingElementImpl with no corresponding name. This - * constructor should only be used for cloning and archiving. - */ - public MappingElementImpl () - { - this(null); - } - - /** Creates new MappingElementImpl with the corresponding name - * @param name the name of the element - */ - public MappingElementImpl (String name) - { - super(); - _name = name; - } - - /** @return I18N message handler for this element - */ - protected static final ResourceBundle getMessages () { return _messages; } - - /** Overrides Object's toString method to return the name - * of this mapping element. - * @return a string representation of the object - */ - public String toString () { return getName(); } - - /** Overrides Object's equals method by comparing the name of this mapping element - * with the name of the argument obj. The method returns false if obj does not have - * the same dynamic type as this mapping element. - * @return true if this object is the same as the obj argument; false otherwise. - * @param obj the reference object with which to compare. - */ - public boolean equals(Object obj) - { - if (obj == null) - return false; - if (obj == this) - return true; - - // check for the right class and then do the name check by calling compareTo. - return (getClass() == obj.getClass()) && (compareTo(obj) == 0); - } - - /** Overrides Object's hashCode method to return the hashCode of this mapping element's name. - * @return a hash code value for this object. - */ - public int hashCode() - { - return (getName()==null) ? 0 : getName().hashCode(); - } - - /** Fires property change event. - * @param name property name - * @param o old value - * @param n new value - */ - protected void firePropertyChange (String name, Object o, Object n) - { - if (_support != null) - _support.firePropertyChange(name, o, n); - } - - /** Fires vetoable change event. - * @param name property name - * @param o old value - * @param n new value - * @exception PropertyVetoException when the change is vetoed by a listener - */ - protected void fireVetoableChange (String name, Object o, Object n) - throws PropertyVetoException - { - if (_vetoableSupport != null) - _vetoableSupport.fireVetoableChange(name, o, n); - } - - //================= implementation of MappingElement ================ - - /** Add a property change listener. - * @param l the listener to add - */ - public synchronized void addPropertyChangeListener - (PropertyChangeListener l) - { - // new test under synchronized block - if (_support == null) - _support = new PropertyChangeSupport(this); - - - _support.addPropertyChangeListener(l); - } - - /** Remove a property change listener. - * @param l the listener to remove - */ - public void removePropertyChangeListener (PropertyChangeListener l) - { - if (_support != null) - _support.removePropertyChangeListener(l); - } - - /** Add a vetoable change listener. - * @param l the listener to add - */ - public synchronized void addVetoableChangeListener - (VetoableChangeListener l) - { - if (_vetoableSupport == null) - _vetoableSupport = new VetoableChangeSupport(this); - - _vetoableSupport.addVetoableChangeListener(l); - } - - /** Remove a vetoable change listener. - * @param l the listener to remove - */ - public synchronized void removeVetoableChangeListener ( - VetoableChangeListener l) - { - if (_vetoableSupport != null) - _vetoableSupport.removeVetoableChangeListener(l); - } - - /** Get the name of this mapping element. - * @return the name - */ - public String getName () { return _name; } - - /** Set the name of this mapping element. - * @param name the name - * @exception ModelException if impossible - */ - public void setName (String name) throws ModelException - { - String old = getName(); - - try - { - fireVetoableChange(PROP_NAME, old, name); - _name = name; - firePropertyChange(PROP_NAME, old, name); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - //================= implementation of Comparable ================ - - /** Compares this object with the specified object for order. Returns a negative integer, zero, - * or a positive integer as this object is less than, equal to, or greater than the specified object. - * The specified object must be mapping element, meaning it must be an instance of class - * MappingElementImpl or any subclass. If not a ClassCastException is thrown. - * The order of MappingElementImpl objects is defined by the order of their names. - * Mapping elements without name are considered to be less than any named mapping element. - * @param o the Object to be compared. - * @return a negative integer, zero, or a positive integer as this object is less than, equal to, - * or greater than the specified object. - * @exception ClassCastException - if the specified object is null or is not an instance of MappingElementImpl - */ - public int compareTo(Object o) - { - // null is not allowed - if (o == null) - throw new ClassCastException(); - if (o == this) - return 0; - - String thisName = getName(); - // the following statement throws a ClassCastException if o is not a MappingElementImpl - String otherName = ((MappingElementImpl)o).getName(); - // if this does not have a name it should compare less than any named object - if (thisName == null) - return (otherName == null) ? 0 : -1; - // if this is named and o does not have a name it should compare greater - if (otherName == null) - return 1; - // now we know that this and o are named mapping elements => - // use locale-sensitive String comparison - int ret = Collator.getInstance().compare(thisName, otherName); - // if both names are equal, both objects might have different types. - // If so order both objects by their type names (necessary to be consistent with equals) - if ((ret == 0) && (getClass() != o.getClass())) - ret = getClass().getName().compareTo(o.getClass().getName()); - return ret; - } - -} - diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingFieldElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingFieldElementImpl.java deleted file mode 100644 index 14cb9df2cc5..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingFieldElementImpl.java +++ /dev/null @@ -1,523 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingFieldElementImpl.java - * - * Created on March 3, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.mapping.impl; - -import java.util.*; -import java.beans.PropertyVetoException; - -import org.netbeans.modules.dbschema.DBMemberElement; -import org.netbeans.modules.dbschema.TableElement; -import org.netbeans.modules.dbschema.util.NameUtil; - -import com.sun.jdo.api.persistence.model.*; -import com.sun.jdo.api.persistence.model.mapping.*; -import com.sun.jdo.api.persistence.model.jdo.*; -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author Mark Munro - * @author Rochelle Raccah - * @version %I% - */ -public class MappingFieldElementImpl extends MappingMemberElementImpl - implements MappingFieldElement -{ - private ArrayList _columns; // array of member names (columns or pairs) - - //@olsen: made transient to prevent from serializing into mapping files - private transient ArrayList _columnObjects; // array of DBMemberElement (for runtime) - - private int _fetchGroup; - private int _properties; - - /** Version field flag of the field element. */ - private boolean _isVersion; - - // leave for runtime - public static final int CLONE_FIELD = 1; - public static final int CLONE_DEEP = 2; - public static final int CLONE_MASK = 3; - public static final int LOG_ON_ACCESS = 4; - public static final int LOG_ON_MASK = 48; - public static final int LOG_ON_UPDATE = 16; - public static final int MOD_BI_ON_UPDATE = 32; - public static final int OBSERVE_ON_ACCESS = 8; - public static final int RECORD_ON_UPDATE = 64; - public static final int SEND_BEFORE_IMAGE = 128; - public static final int READ_ONLY = 256; - public static final int REF_INTEGRITY_UPDATES = 512; - public static final int IN_CONCURRENCY_CHECK = 1024; - public static final int XLATE_FIELD = 2048; - - /** Create new MappingFieldElementImpl with no corresponding name or - * declaring class. This constructor should only be used for cloning and - * archiving. - */ - public MappingFieldElementImpl () - { - this(null, null); - } - - /** Create new MappingFieldElementImpl with the corresponding name and - * declaring class. - * @param name the name of the element - * @param declaringClass the class to attach to - */ - public MappingFieldElementImpl (String name, - MappingClassElement declaringClass) - { - super(name, declaringClass); - setFetchGroupInternal(GROUP_DEFAULT); - } - -// TBD? -/* public boolean mapped () - { - ArrayList columns = getColumns(); - - return ((columns != null) && (columns.size() > 0)); - } - - public void clear () { _columns = null; }*/ -// end TBD - - //=================== properties exposed in interface ================== - - /** Determines whether this field element is read only or not. - * @return true if the field is read only, - * false otherwise - */ - public boolean isReadOnly () { return getProperty(READ_ONLY); } - - /** Set whether this field element is read only or not. - * @param flag - if true, the field element is marked as - * read only; otherwise, it is not - * @exception ModelException if impossible - */ - public void setReadOnly (boolean flag) throws ModelException - { - Boolean old = JavaTypeHelper.valueOf(isReadOnly()); - Boolean newFlag = JavaTypeHelper.valueOf(flag); - - try - { - fireVetoableChange(PROP_READ_ONLY, old, newFlag); - setProperty(flag, READ_ONLY); - firePropertyChange(PROP_READ_ONLY, old, newFlag); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Determines whether this field element is in a concurrency check or not. - * @return true if the field is in a concurrency check, - * false otherwise - */ - public boolean isInConcurrencyCheck () - { - return getProperty(IN_CONCURRENCY_CHECK); - } - - /** Set whether this field element is in a concurrency check or not. - * @param flag - if true, the field element is marked as - * being in a concurrency check; otherwise, it is not - * @exception ModelException if impossible - */ - public void setInConcurrencyCheck (boolean flag) throws ModelException - { - Boolean old = JavaTypeHelper.valueOf(isInConcurrencyCheck()); - Boolean newFlag = JavaTypeHelper.valueOf(flag); - - try - { - fireVetoableChange(PROP_IN_CONCURRENCY_CHECK, old, newFlag); - setProperty(flag, IN_CONCURRENCY_CHECK); - firePropertyChange(PROP_IN_CONCURRENCY_CHECK, old, newFlag); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Determines whether this field element is a version field or not. - * @return true if the field is a version field, - * false otherwise - */ - public boolean isVersion () { return _isVersion; } - - /** Set whether this field element is a version field or not. - * @param flag - if true, the field element is marked - * as a version field; otherwise, it is not - * @exception ModelException if impossible - */ - public void setVersion (boolean flag) throws ModelException - { - Boolean old = JavaTypeHelper.valueOf(isVersion()); - Boolean newFlag = JavaTypeHelper.valueOf(flag); - - try - { - fireVetoableChange(PROP_VERSION_FIELD, old, newFlag); - _isVersion = flag; - firePropertyChange(PROP_VERSION_FIELD, old, newFlag); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - //======================= fetch group handling ====================== - - /** Get the fetch group of this field element. - * @return the fetch group, one of {@link #GROUP_DEFAULT}, - * {@link #GROUP_NONE}, or anything less than or equal to - * {@link #GROUP_INDEPENDENT} - */ - public int getFetchGroup () { return _fetchGroup; } - - /** Set the fetch group of this field element. - * @param group - an integer indicating the fetch group, one of: - * {@link #GROUP_DEFAULT}, {@link #GROUP_NONE}, or anything less than or - * equal to {@link #GROUP_INDEPENDENT} - * @exception ModelException if impossible - */ - public void setFetchGroup (int group) throws ModelException - { - Integer old = new Integer(getFetchGroup()); - Integer newGroup = Integer.valueOf(group); - - try - { - fireVetoableChange(PROP_FETCH_GROUP, old, newGroup); - setFetchGroupInternal(group); - firePropertyChange(PROP_FETCH_GROUP, old, newGroup); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Set the fetch group of this field element. Meant to be used in the - * constructor and by subclasses when there should be no exceptions and - * no property change events fired. - * @param group - an integer indicating the fetch group, one of: - * {@link #GROUP_DEFAULT}, {@link #GROUP_NONE}, or anything less than or - * equal to {@link #GROUP_INDEPENDENT} - */ - protected void setFetchGroupInternal (int group) - { - _fetchGroup = group; - } - - //========================== column handling ========================== - - /** Returns the list of column names to which this mapping field is - * mapped. - * @return the names of the columns mapped by this mapping field - */ - public ArrayList getColumns () - { - if (_columns == null) - _columns = new ArrayList(); - - return _columns; - } - - /** Adds a column to the list of columns mapped by this mapping field. - * @param column column element to be added to the mapping - * @exception ModelException if impossible - */ - public void addColumn (DBMemberElement column) throws ModelException - { - if (column != null) - { - ArrayList columns = getColumns(); - String columnName = NameUtil.getRelativeMemberName( - column.getName().getFullName()); - - if (!columns.contains(columnName)) - { - try - { - fireVetoableChange(PROP_COLUMNS, null, null); - columns.add(columnName); - firePropertyChange(PROP_COLUMNS, null, null); - - // sync up runtime's object list too - _columnObjects = null; - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - else - { - // this part was blank -- do we want an error or skip here? - } - } - else - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.element.null_argument")); // NOI18N - } - } - - /** Removes a column from the list of columns mapped by this mapping field. - * This method overrides the one in MappingFieldElement to - * remove the argument from the associated columns if necessary. - * @param columnName the relative name of the column to be removed from - * the mapping - * @exception ModelException if impossible - */ - public void removeColumn (String columnName) throws ModelException - { - if (columnName != null) - { - try - { - fireVetoableChange(PROP_COLUMNS, null, null); - - if (!getColumns().remove(columnName)) - { - throw new ModelException( - I18NHelper.getMessage(getMessages(), - "mapping.element.element_not_removed", // NOI18N - columnName)); - } - - firePropertyChange(PROP_COLUMNS, null, null); - - // sync up runtime's object list too - _columnObjects = null; - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - } - - protected boolean isMappedToTable (MappingTableElement table) - { - String tableName = table.getName(); - Iterator iterator = getColumns().iterator(); - - while (iterator.hasNext()) - { - String columnName = iterator.next().toString(); - - if (NameUtil.getTableName(columnName).equals(tableName)) - return true; - } - - return false; - } - - //============= extra object support for runtime ======================== - - /** Returns the list of columns (ColumnElements) to which this mapping - * field is mapped. This method should only be used by the runtime. - * @return the columns mapped by this mapping field - */ - public ArrayList getColumnObjects () - { - //@olsen: compute objects on access - if (_columnObjects == null) - { - //@olsen: calculate the column objects based on - // the column names as stored in _columns - //_columnObjects = new ArrayList(); - _columnObjects = MappingClassElementImpl.toColumnObjects( - getDeclaringClass().getDatabaseRoot(), getColumns()); - } - - return _columnObjects; - } - - //============= delegation to PersistenceFieldElement =========== - - final PersistenceFieldElement getPersistenceFieldElement () - { - return ((MappingClassElementImpl)getDeclaringClass()). - getPersistenceElement().getField(getName()); - } - - /** Computes the field number of this field element. - * @return the field number of this field - */ - public int getFieldNumber () - { - return getPersistenceFieldElement().getFieldNumber(); - } - - /** Returns the array of concurrency groups to which this field belongs. - * @return the concurrency groups in which this field participates - * @see PersistenceClassElement#getConcurrencyGroups - */ - public ConcurrencyGroupElement[] getConcurrencyGroups () - { - return getPersistenceFieldElement().getConcurrencyGroups(); - } - - //================ convenience methods for properties bits =============== - - private boolean getProperty (int propertyBit) - { - return ((getProperties() & propertyBit) > 0); - } - - public void setProperty (boolean flag, int propertyBit) - { - _properties = - (flag) ? (_properties | propertyBit) : (_properties & ~propertyBit); - } - - //================= properties not available in interface ================ - - public int getProperties () { return _properties;} - - public boolean getLogOnAccess () { return getProperty(LOG_ON_ACCESS); } - - public void setLogOnAccess (boolean flag) - { - setProperty(flag, LOG_ON_ACCESS); - } - - public boolean getLogOnUpdate () { return getProperty(LOG_ON_UPDATE); } - - public void setLogOnUpdate (boolean flag) - { - setProperty(flag, LOG_ON_UPDATE); - } - - public boolean getObserveOnAccess () - { - return getProperty(OBSERVE_ON_ACCESS); - } - - public void setObserveOnAccess (boolean flag) - { - setProperty(flag, OBSERVE_ON_ACCESS); - } - - public boolean getRecordOnUpdate () - { - return getProperty(RECORD_ON_UPDATE); - } - - public void setRecordOnUpdate (boolean flag) - { - setProperty(flag, RECORD_ON_UPDATE); - } - - public boolean getModifyBeforeImageOnUpdate () - { - return getProperty(MOD_BI_ON_UPDATE); - } - - public void setModifyBeforeImageOnUpdate (boolean flag) - { - setProperty(flag, MOD_BI_ON_UPDATE); - } - - public boolean getReferentialIntegrityUpdates () - { - return getProperty(REF_INTEGRITY_UPDATES); - } - - public void setReferentialIntegrityUpdates (boolean flag) - { - setProperty(flag, REF_INTEGRITY_UPDATES); - } - - public boolean getSendBeforeImage () - { - return getProperty(SEND_BEFORE_IMAGE); - } - public void setSendBeforeImage (boolean flag) - { - setProperty(flag, SEND_BEFORE_IMAGE); - } - - public int getCloneDepth () { return (_properties & CLONE_MASK); } - - public void setCloneDepth (int cloneDepth) - { - if (cloneDepth < CLONE_FIELD || cloneDepth > CLONE_DEEP) - { - } - - _properties = _properties & ~CLONE_MASK | cloneDepth; - } - - //============== extra methods for Boston -> Pilsen conversion ============ - - /** Boston to Pilsen conversion. - * This method converts the absolute column names to relative names. - */ - protected void stripSchemaName () - { - if (_columns != null) // handle _columns - { - // Use ListIterator here, because I want to replace the value - // stored in the ArrayList. The ListIterator returned by - // ArrayList.listIterator() supports the set method. - ListIterator i = _columns.listIterator(); - - while (i.hasNext()) - i.set(NameUtil.getRelativeMemberName((String)i.next())); - } - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingMemberElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingMemberElementImpl.java deleted file mode 100644 index 3fa056eeaf4..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingMemberElementImpl.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingMemberElementImpl.java - * - * Created on May 23, 2000, 12:41 AM - */ - -package com.sun.jdo.api.persistence.model.mapping.impl; - -import java.beans.PropertyVetoException; - -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.ModelVetoException; -import com.sun.jdo.api.persistence.model.mapping.*; - -/** - * - * @author Mark Munro - * @author Rochelle Raccah - * @version %I% - */ -public abstract class MappingMemberElementImpl extends MappingElementImpl - implements MappingMemberElement -{ - /** the class to which this element belongs */ - MappingClassElement _declaringClass; - - /** Create new MappingMemberElementImpl with no corresponding name or - * declaring class. This constructor should only be used for cloning and - * archiving. - */ - public MappingMemberElementImpl () - { - this(null, null); - } - - /** Create new MappingMemberElementImpl with the corresponding name and - * declaring class. - * @param name the name of the element - * @param declaringClass the class to attach to - */ - public MappingMemberElementImpl (String name, - MappingClassElement declaringClass) - { - super(name); - _declaringClass = declaringClass; - } - - /** Get the declaring class. - * @return the class that owns this member element, or null - * if the element is not attached to any class - */ - public MappingClassElement getDeclaringClass () { return _declaringClass; } - - /** Overrides MappingElementImpl's equals method to add - * comparison of the name of the declaring class this mapping element. - * The method returns false if obj does not have a declaring - * class with the same name as this mapping element. - * @return true if this object is the same as the obj argument; - * false otherwise. - * @param obj the reference object with which to compare. - */ - public boolean equals (Object obj) - { - if (super.equals(obj) && (obj instanceof MappingMemberElement)) - { - MappingClassElement declaringClass = getDeclaringClass(); - MappingClassElement objDeclaringClass = - ((MappingMemberElement)obj).getDeclaringClass(); - - return ((declaringClass == null) ? (objDeclaringClass == null) : - declaringClass.equals(objDeclaringClass)); - } - - return false; - } - - /** Overrides MappingElementImpl's hashCode method to add - * the hashCode of this mapping element's declaring class. - * @return a hash code value for this object. - */ - public int hashCode () - { - MappingClassElement declaringClass = getDeclaringClass(); - - return (super.hashCode() + - ((declaringClass == null) ? 0 : declaringClass.hashCode())); - } - - /** Fires property change event. This method overrides that of - * MappingElementImpl to update the MappingClassElementImpl's modified - * status. - * @param name property name - * @param o old value - * @param n new value - */ - protected final void firePropertyChange (String name, Object o, Object n) - { - // even though o == null and n == null will signify a change, that - // is consistent with PropertyChangeSupport's behavior and is - // necessary for this to work - boolean noChange = ((o != null) && (n != null) && o.equals(n)); - MappingClassElement classElement = getDeclaringClass(); - - super.firePropertyChange(name, o, n); - - if ((classElement != null) && !noChange) - classElement.setModified(true); - } - - /** Fires vetoable change event. This method overrides that of - * MappingElementImpl to give listeners a chance to block - * changes on the mapping class element modified status. - * @param name property name - * @param o old value - * @param n new value - * @exception PropertyVetoException when the change is vetoed by a listener - */ - protected final void fireVetoableChange (String name, Object o, Object n) - throws PropertyVetoException - { - // even though o == null and n == null will signify a change, that - // is consistent with PropertyChangeSupport's behavior and is - // necessary for this to work - boolean noChange = ((o != null) && (n != null) && o.equals(n)); - MappingClassElement classElement = getDeclaringClass(); - - super.fireVetoableChange(name, o, n); - - if ((classElement != null) && !noChange) - { - ((MappingClassElementImpl)classElement).fireVetoableChange( - PROP_MODIFIED, Boolean.FALSE, Boolean.TRUE); - } - } - - //=============== extra set methods needed for xml archiver ============== - - /** Set the declaring class of this mapping member. This method should - * only be used internally and for cloning and archiving. - * @param declaringClass the declaring class of this mapping member - */ - public void setDeclaringClass (MappingClassElement declaringClass) - { - _declaringClass = declaringClass; - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingReferenceKeyElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingReferenceKeyElementImpl.java deleted file mode 100644 index b9ffb268e33..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingReferenceKeyElementImpl.java +++ /dev/null @@ -1,568 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingReferenceKeyElementImpl.java - * - * Created on March 3, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.mapping.impl; - -import java.util.ArrayList; -import java.util.ListIterator; -import java.beans.PropertyVetoException; - -import org.netbeans.modules.dbschema.*; -import org.netbeans.modules.dbschema.util.NameUtil; - -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.ModelVetoException; -import com.sun.jdo.api.persistence.model.mapping.MappingTableElement; -import com.sun.jdo.api.persistence.model.mapping.MappingReferenceKeyElement; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author Mark Munro - * @author Rochelle Raccah - * @version %I% - */ -public class MappingReferenceKeyElementImpl extends MappingMemberElementImpl - implements MappingReferenceKeyElement -{ - private ArrayList _referencingKey; // array of column names - private MappingTableElement _table; - - /** Create new MappingReferenceKeyElementImpl with no corresponding name. - * This constructor should only be used for cloning and archiving. - */ - public MappingReferenceKeyElementImpl () - { - this((String)null); - } - - /** Creates new MappingReferenceKeyElementImpl with the corresponding name - * @param name the name of the element - */ - public MappingReferenceKeyElementImpl (String name) - { - super(name, null); - } - - /** Creates new MappingReferenceKeyElementImpl with a corresponding - * mapping table. - * @param table mapping table element to be used with this key. - */ - public MappingReferenceKeyElementImpl (MappingTableElement table) - throws ModelException - { - super(table.getName(), table.getDeclaringClass()); - setTableInternal(table); - } - - /** Get the name of this element. - * @return the name - */ - public String getKeyName () { return getName(); } - - /** Set the name of this element. - * @param name the name - * @throws ModelException if impossible - */ - public void setKeyName (String name) throws ModelException - { - setName(name.toString()); - } - - //======================= table handling =========================== - - /** Returns the mapping table element for this referencing key. - * @return the meta data table for this referencing key - */ - public MappingTableElement getTable () { return _table; } - - /** Set the mapping table for this referencing key to the supplied table. - * @param table mapping table element to be used with this key. - * @exception ModelException if impossible - */ - public void setTable (MappingTableElement table) throws ModelException - { - MappingTableElement old = getTable(); - - try - { - fireVetoableChange(PROP_TABLE, old, table); - setTableInternal(table); - firePropertyChange(PROP_TABLE, old, table); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Set the mapping table for this referencing key to the supplied table - * without firing any property change events. - * @param table mapping table element to be used with this key. - * @exception ModelException if impossible - */ - private void setTableInternal (MappingTableElement table) - throws ModelException - { - if (table == null) - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.element.null_argument")); // NOI18N - } - - _table = table; - - if (null == getDeclaringClass()) - _declaringClass = table.getDeclaringClass(); - - if (null == getName()) - _name = table.getName(); - } - - /** Get the declaring table. This method is provided as part of - * the implementation of the ReferenceKey interface but should only - * be used when a ReferenceKey object is used or by the runtime. - * @return the table that owns this reference key element, or - * null if the element is not attached to any table - */ - public TableElement getDeclaringTable () - { - ArrayList locals = getReferencingKey(); - - if ((locals != null) && (locals.size() > 0)) - { - String absoluteName = NameUtil.getAbsoluteMemberName( - getDeclaringClass().getDatabaseRoot(), - locals.get(0).toString()); - - return TableElement.forName(NameUtil.getTableName(absoluteName)); - } - - return null; - } - - /** Set the mapping table for this referencing key to the mapping table - * based on the name of the supplied table. This method is provided as - * part of the implementation of the ReferenceKey interface but should - * only be used when a ReferenceKey object is used or by the runtime. - * @param tableElement mapping table element to be used with this key. - */ - public void setDeclaringTable (TableElement tableElement) - { - throw new UnsupportedOperationException(); - } - - /** Get the referenced table of the reference key. This method is - * provided as part of the implementation of the ReferenceKey interface - * but should only be used when a ReferenceKey object is used or by - * the runtime. - * @return the referenced table - */ - public TableElement getReferencedTable () - { - ColumnPairElement[] columnPairs = getColumnPairs(); - - if ((columnPairs != null) && (columnPairs.length > 0)) - return columnPairs[0].getReferencedColumn().getDeclaringTable(); - - return null; - } - - //======================= column handling =========================== - - /** Returns the list of key column names in this referencing key. - * This method is private since API users should call the - * getColumnPairNames method. - * @return the names of the columns in this referencing key - */ - private ArrayList getReferencingKey () - { - if (_referencingKey == null) - _referencingKey = new ArrayList(); - - return _referencingKey; - } - - /** Returns the list of relative column pair names in this referencing key. - * @return the names of the column pairs in this referencing key - */ - public ArrayList getColumnPairNames () - { - ArrayList locals = getReferencingKey(); - ArrayList foreigns = getTable().getKey(); - int i, count = ((locals != null) ? locals.size() : 0); - ArrayList pairs = new ArrayList(); - - for (i = 0; i < count; i++) - pairs.add(locals.get(i) + ";" + foreigns.get(i)); // NOI18N - - return pairs; - } - - /** Convenience method which takes a pair and returns its index. - * @param searchPairName the relative name of the column pair for - * which to look - * @return the index of the column pair or -1 if not found - */ - private int getIndexOfColumnPair (String searchPairName) - { - ArrayList myPairs = getColumnPairNames(); - int count = ((myPairs != null) ? myPairs.size() : 0); - - if (count > 0) - { - int i; - - for (i = 0; i < count; i++) - { - if (myPairs.get(i).equals(searchPairName)) - return i; - } - } - - return -1; - } - - /** Adds a column to the list of key columns in this referencing key. - * This method is only called privately from addColumnPairs and assumes - * that the column is not null. - * @param column column element to be added - * @exception ModelException if impossible - */ - private void addKeyColumn (ColumnElement column) throws ModelException - { - ArrayList referencingKey = getReferencingKey(); - String columnName = NameUtil.getRelativeMemberName( - column.getName().getFullName()); - - try - { - fireVetoableChange(PROP_KEY_COLUMNS, null, null); - referencingKey.add(columnName); - firePropertyChange(PROP_KEY_COLUMNS, null, null); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Get all local columns in this reference key. This method is - * provided as part of the implementation of the ReferenceKey interface - * but should only be used when a ReferenceKey object is used or by - * the runtime. - * @return the columns - */ - public ColumnElement[] getLocalColumns () - { - ColumnPairElement[] columnPairs = getColumnPairs(); - int i, count = ((columnPairs != null) ? columnPairs.length : 0); - ColumnElement[] columns = new ColumnElement[count]; - - for (i = 0; i < count ; i++) - columns[i] = columnPairs[i].getLocalColumn(); - - return columns; - } - - /** Get all referenced columns in this reference key. This method is - * provided as part of the implementation of the ReferenceKey interface - * but should only be used when a ReferenceKey object is used or by - * the runtime. - * @return the columns - */ - public ColumnElement[] getReferencedColumns () - { - ColumnPairElement[] columnPairs = getColumnPairs(); - int i, count = ((columnPairs != null) ? columnPairs.length : 0); - ColumnElement[] columns = new ColumnElement[count]; - - for (i = 0; i < count ; i++) - columns[i] = columnPairs[i].getReferencedColumn(); - - return columns; - } - - /** Remove a column pair from the holder. This method can be used to - * remove a pair by name when it cannot be resolved to an actual pair. - * @param pairName the relative name of the column pair to remove - * @throws ModelException if impossible - */ - public void removeColumnPair (String pairName) throws ModelException - { - ArrayList pairNames = new ArrayList(1); - - pairNames.add(pairName); - removeColumnPairs(pairNames); - } - - /** Remove some column pairs from the holder. This method can be used to - * remove pairs by name when they cannot be resolved to actual pairs. - * @param pairNames the relative names of the column pairs to remove - * @throws ModelException if impossible - */ - public void removeColumnPairs (ArrayList pairNames) throws ModelException - { - ArrayList refKey = getReferencingKey(); - ArrayList key = getTable().getKey(); - int i, count = ((pairNames != null) ? pairNames.size() : 0); - - for (i = 0; i < count ; i++) - { - String pairName = (String)pairNames.get(i); - int index = getIndexOfColumnPair(pairName); - - if (pairName != null) - { - try - { - Object remove1 = null, remove2 = null; - - fireVetoableChange(PROP_KEY_COLUMNS, null, null); - - remove1 = key.remove(index); - remove2 = refKey.remove(index); - - if ((remove1 == null) || (remove2 == null)) - { - // if only 1 failed, put the other one back - if (remove1 != null) - key.add(index, remove1); - else if (remove2 != null) - refKey.add(index, remove2); - - throw new ModelException(I18NHelper.getMessage( - getMessages(), - "mapping.element.element_not_removed", // NOI18N - pairName)); - } - - firePropertyChange(PROP_KEY_COLUMNS, null, null); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - } - } - - //============= implementation of ColumnPairElementHolder =============== - - /** Add a new column pair to the holder. - * @param pair the pair to add - * @throws ModelException if impossible - */ - public void addColumnPair (ColumnPairElement pair) throws ModelException - { - addColumnPairs(new ColumnPairElement[]{pair}); - } - - /** Add some new column pairs to the holder. - * @param pairs the column pairs to add - * @throws ModelException if impossible - */ - public void addColumnPairs (ColumnPairElement[] pairs) throws ModelException - { - MappingTableElementImpl table = (MappingTableElementImpl)getTable(); - int i, count = ((pairs != null) ? pairs.length : 0); - - for (i = 0; i < count; i++) - { - ColumnPairElement pair = (ColumnPairElement)pairs[i]; - - if (pair != null) - { - // check if entire pair matches - // OK only add it if it has not been added before. - if (getIndexOfColumnPair(NameUtil.getRelativeMemberName( - pair.getName().getFullName())) == -1) - { - table.addKeyColumnInternal(pair.getReferencedColumn()); - addKeyColumn(pair.getLocalColumn()); - } - else - { - // this part was blank -- do we want an error or skip here? - } - } - else - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.element.null_argument")); // NOI18N - } - } - } - - /** Remove a column pair from the holder. - * @param pair the column pair to remove - * @throws ModelException if impossible - */ - public void removeColumnPair (ColumnPairElement pair) throws ModelException - { - removeColumnPairs(new ColumnPairElement[]{pair}); - } - - /** Remove some column pairs from the holder. - * @param pairs the column pairs to remove - * @throws ModelException if impossible - */ - public void removeColumnPairs (ColumnPairElement[] pairs) - throws ModelException - { - ArrayList pairNames = new ArrayList(); - int i, count = ((pairs != null) ? pairs.length : 0); - - for (i = 0; i < count ; i++) - { - ColumnPairElement pair = (ColumnPairElement)pairs[i]; - - pairNames.add(NameUtil.getRelativeMemberName( - pair.getName().getFullName())); - } - - removeColumnPairs(pairNames); - } - - /** Set the column pairs for this holder. - * Previous column pairs are removed. - * @param pairs the new column pairs - * @throws ModelException if impossible - */ - public void setColumnPairs (ColumnPairElement[] pairs) throws ModelException - { - removeColumnPairs(getColumnPairNames()); // remove the old ones - addColumnPairs(pairs); // add the new ones - } - - /** Get all column pairs in this holder. - * @return the column pairs - */ - public ColumnPairElement[] getColumnPairs () - { - ArrayList pairNames = getColumnPairNames(); - TableElement table = getDeclaringTable(); - int i, count = ((pairNames != null) ? pairNames.size() : 0); - ColumnPairElement[] pairs = new ColumnPairElement[count]; - String databaseRoot = getDeclaringClass().getDatabaseRoot(); - - for (i = 0; i < count; i++) - { - String absoluteName = NameUtil.getAbsoluteMemberName( - databaseRoot, (String)pairNames.get(i)); - - pairs[i] = (ColumnPairElement)table.getMember( - DBIdentifier.create(absoluteName)); - } - - return pairs; - } - - /** Find a column pair by name. - * @param name the name of the column pair for which to look - * @return the column pair or null if not found - */ - public ColumnPairElement getColumnPair (DBIdentifier name) - { - ColumnPairElement[] myPairs = getColumnPairs(); - int count = ((myPairs != null) ? myPairs.length : 0); - String databaseRoot = getDeclaringClass().getDatabaseRoot(); - - if (count > 0) - { - String absoluteTableName = NameUtil.getAbsoluteTableName( - databaseRoot, getTable().getName()); - ColumnPairElement searchPair = (ColumnPairElement) - TableElement.forName(absoluteTableName).getMember(name); - int i; - - for (i = 0; i < count; i++) - { - if (myPairs[i].equals(searchPair)) - return searchPair; - } - } - - return null; - } - - //=============== extra set methods needed for xml archiver ============== - - /** Set the list of of key column names in this referencing key. This - * method should only be used internally and for cloning and archiving. - * @param referencingKey the list of names of the columns in this - * referencing key - */ - public void setReferencingKey (ArrayList referencingKey) - { - _referencingKey = referencingKey; - } - - //============== extra methods for Boston -> Pilsen conversion ============ - - /** Boston to Pilsen conversion. - * This method converts the name of this MappingReferenceKeyElement and - * the absolute column names stored in _referencingKey to relative names. - */ - protected void stripSchemaName () - { - // handle _name (use getRelativeTableName since the name is derived - // from the name of the participating table) - _name = NameUtil.getRelativeTableName(_name); - - // handle _referencingKey - if (_referencingKey != null) - { - // Use ListIterator here, because I want to replace the value - // stored in the ArrayList. The ListIterator returned by - // ArrayList.listIterator() supports the set method. - ListIterator i = _referencingKey.listIterator(); - - while (i.hasNext()) - i.set(NameUtil.getRelativeMemberName((String)i.next())); - } - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingRelationshipElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingRelationshipElementImpl.java deleted file mode 100644 index d10abbfd533..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingRelationshipElementImpl.java +++ /dev/null @@ -1,383 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingRelationshipElementImpl.java - * - * Created on March 3, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.mapping.impl; - -import java.util.*; -import java.beans.PropertyVetoException; - -import org.netbeans.modules.dbschema.*; -import org.netbeans.modules.dbschema.util.NameUtil; - -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.ModelVetoException; -import com.sun.jdo.api.persistence.model.mapping.*; -import com.sun.jdo.api.persistence.model.jdo.RelationshipElement; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author Mark Munro - * @author Rochelle Raccah - * @version %I% - */ -public class MappingRelationshipElementImpl extends MappingFieldElementImpl - implements MappingRelationshipElement -{ - // for join tables -- traverse through the middle table - private ArrayList _associatedColumns; // of column pair names - //@olsen: made transient to prevent from serializing into mapping files - private transient ArrayList _associatedColumnObjects;// of ColumnPairElement (for runtime) - - /* - // possibly for EJB use later - // private String EJBType; - // public String EJBReference; - // end possibly for EJB use later - */ - - /** Create new MappingRelationshipElementImpl with no corresponding name or - * declaring class. This constructor should only be used for cloning and - * archiving. - */ - public MappingRelationshipElementImpl () - { - this(null, null); - } - - /** Create new MappingRelationshipElementImpl with the corresponding name - * and declaring class. - * @param name the name of the element - * @param declaringClass the class to attach to - */ - public MappingRelationshipElementImpl (String name, - MappingClassElement declaringClass) - { - super(name, declaringClass); - setFetchGroupInternal(GROUP_NONE); - } - -// TBD? -/* public void clear () - { - super.clear(); - _associatedColumns = null; - }*/ -// end TBD - - //=================== column handling for join tables ==================== - - /** Returns the list of associated column names to which this - * mapping field is mapped. This is used for join tables. - * @return the names of the columns mapped by this mapping field - * @see MappingFieldElement#getColumns - */ - public ArrayList getAssociatedColumns () - { - if (_associatedColumns == null) - _associatedColumns = new ArrayList(); - - return _associatedColumns; - } - - /** Adds a column to the list of columns mapped by this mapping field. - * Call this method instead of addColumn when mapping join - * tables. This method is used to map between the local column and the - * join table, while addAssociatedColumn is used to - * map between the join table and the foreign table. - * @param column column pair element to be added to the mapping - * @exception ModelException if impossible - * @see MappingFieldElement#addColumn - * @see #addAssociatedColumn - */ - public void addLocalColumn (ColumnPairElement column) - throws ModelException - { - // can't call addColumn in this class because there will be an - // exception since the associated columns will be (legally) populated - super.addColumn(column); - } - - /** Adds a column to the list of associated columns mapped by this mapping - * field. Call this method instead of addColumn when mapping - * join tables. This method is used to map between the join table column - * and the foreign table column, while addLocalColumn is used - * to map between the local table and the join table. - * @param column column pair element to be added to the mapping - * @exception ModelException if impossible - * @see MappingFieldElement#addColumn - * @see #addLocalColumn - */ - public void addAssociatedColumn (ColumnPairElement column) - throws ModelException - { - if (column != null) - { - ArrayList columns = getAssociatedColumns(); - String columnName = NameUtil.getRelativeMemberName( - column.getName().getFullName()); - - // double check that this pair is not already in the column list - if (!columns.contains(columnName)) - { - try - { - fireVetoableChange(PROP_ASSOCIATED_COLUMNS, null, null); - columns.add(columnName); - firePropertyChange(PROP_ASSOCIATED_COLUMNS, null, null); - - // sync up runtime's object list too - _associatedColumnObjects = null; - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - else - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.column.column_defined", columnName)); // NOI18N - } - } - else - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.element.null_argument")); // NOI18N - } - } - - //================= overridden column handling methods =================== - - /** Adds a column to the list of columns mapped by this mapping - * relationship. This method overrides the one in MappingFieldElement to - * check that the argument is a ColumnPairElement. - * @param column column element to be added to the mapping - * @exception ModelException if impossible - */ - public void addColumn (DBMemberElement column) throws ModelException - { - if (column instanceof ColumnPairElement) - { - if (!getAssociatedColumns().isEmpty()) - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.column.associated_columns_defined", // NOI18N - NameUtil.getRelativeMemberName( - column.getName().getFullName()))); - } - - super.addColumn(column); - } - else - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.column.column_invalid", // NOI18N - NameUtil.getRelativeMemberName( - column.getName().getFullName()))); - } - } - - /** Removes a column from the list of columns mapped by this mapping field. - * This method overrides the one in MappingFieldElement to - * remove the argument from the associated columns if necessary. - * @param columnName the relative name of the column to be removed from - * the mapping - * @exception ModelException if impossible - */ - public void removeColumn (String columnName) throws ModelException - { - try - { - super.removeColumn(columnName); - } - catch (ModelException e) // not found in regular columns - { - try - { - fireVetoableChange(PROP_ASSOCIATED_COLUMNS, null, null); - - if (!getAssociatedColumns().remove(columnName)) - { - throw new ModelException( - I18NHelper.getMessage(getMessages(), - "mapping.element.element_not_removed", // NOI18N - columnName)); - } - - firePropertyChange(PROP_ASSOCIATED_COLUMNS, null, null); - - // sync up runtime's object list too - _associatedColumnObjects = null; - } - catch (PropertyVetoException ve) - { - throw new ModelVetoException(ve); - } - } - } - - //============= extra object support for runtime ======================== - - /** Returns the list of associated columns (ColumnPairElements) to - * which this mapping field is mapped. This is used for join tables. - * This method should only be used by the runtime. - * @return the columns mapped by this mapping field - * @see MappingFieldElement#getColumns - */ - public ArrayList getAssociatedColumnObjects () - { - if (_associatedColumnObjects == null) - { - _associatedColumnObjects = MappingClassElementImpl. - toColumnObjects(getDeclaringClass().getDatabaseRoot(), - getAssociatedColumns()); - } - - return _associatedColumnObjects; - } - - //============= delegation to RelationshipElement =========== - - final RelationshipElement getRelationshipElement () - { - return ((MappingClassElementImpl)getDeclaringClass()). - getPersistenceElement().getRelationship(getName()); - } - - /** Get the element class for this relationship element. If primitive - * types are supported, you can use wrapperclass.TYPE - * to specify them. - * @return the element class - */ - public String getElementClass () - { - return getRelationshipElement().getElementClass(); - } - - /** Get the update action for this relationship element. - * @return the update action, one of - * {@link RelationshipElement#NONE_ACTION}, - * {@link RelationshipElement#NULLIFY_ACTION}, - * {@link RelationshipElement#RESTRICT_ACTION}, - * {@link RelationshipElement#CASCADE_ACTION}, or - * {@link RelationshipElement#AGGREGATE_ACTION} - */ - public int getUpdateAction () - { - return getRelationshipElement().getUpdateAction(); - } - - /** Get the delete action for this relationship element. - * @return the delete action, one of - * {@link RelationshipElement#NONE_ACTION}, - * {@link RelationshipElement#NULLIFY_ACTION}, - * {@link RelationshipElement#RESTRICT_ACTION}, - * {@link RelationshipElement#CASCADE_ACTION}, or - * {@link RelationshipElement#AGGREGATE_ACTION} - */ - public int getDeleteAction () - { - return getRelationshipElement().getDeleteAction(); - } - - /** Get the upper cardinality bound for this relationship element. Returns - * {@link java.lang.Integer#MAX_VALUE} for n - * @return the upper cardinality bound - */ - public int getUpperBound () - { - return getRelationshipElement().getUpperBound(); - } - - /** Get the lower cardinality bound for this relationship element. - * @return the lower cardinality bound - */ - public int getLowerBound () - { - return getRelationshipElement().getLowerBound(); - } - - //=============== extra set methods needed for xml archiver ============== - - /** Set the list of associated column names to which this mapping field is - * mapped. This method should only be used internally and for cloning - * and archiving. - * @param associatedColumns the list of names of the columns mapped by - * this mapping field - */ - public void setAssociatedColumns (ArrayList associatedColumns) - { - _associatedColumns = associatedColumns; - } - - //================== possibly for EJB use later =========================== - - //public String getEJBType() { return this.EJBType; } - - //============== extra method for Boston -> Pilsen conversion ============ - - /** Boston to Pilsen conversion. - * This method converts the absolute column names to relative names. - */ - protected void stripSchemaName () - { - // call super to handle the columns stored in _columns - super.stripSchemaName(); - - // handle _associatedColumns - if (_associatedColumns != null) - { - // Use ListIterator here, because I want to replace the value - // stored in the ArrayList. The ListIterator returned by - // ArrayList.listIterator() supports the set method. - ListIterator i = _associatedColumns.listIterator(); - - while (i.hasNext()) - i.set(NameUtil.getRelativeMemberName((String)i.next())); - } - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingTableElementImpl.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingTableElementImpl.java deleted file mode 100644 index 8bf6262030f..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/mapping/impl/MappingTableElementImpl.java +++ /dev/null @@ -1,463 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingTableElementImpl.java - * - * Created on March 3, 2000, 1:11 PM - */ - -package com.sun.jdo.api.persistence.model.mapping.impl; - -import java.util.*; -import java.beans.PropertyVetoException; - -import org.netbeans.modules.dbschema.TableElement; -import org.netbeans.modules.dbschema.ColumnElement; -import org.netbeans.modules.dbschema.util.NameUtil; - -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.ModelVetoException; -import com.sun.jdo.api.persistence.model.mapping.*; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author Mark Munro - * @author Rochelle Raccah - * @version %I% - */ -public class MappingTableElementImpl extends MappingMemberElementImpl - implements MappingTableElement -{ - private ArrayList _key; // array of column names - //@olsen: made transient to prevent from serializing into mapping files - private transient ArrayList _keyObjects; // array of ColumnElement (for runtime) - private ArrayList _referencingKeys; // array of MappingReferenceKeyElement - private String _table; - //@olsen: made transient to prevent from serializing into mapping files - private transient TableElement _tableObject; // for runtime - - /** Create new MappingTableElementImpl with no corresponding name or - * declaring class. This constructor should only be used for cloning and - * archiving. - */ - public MappingTableElementImpl () - { - this((String)null, null); - } - - /** Create new MappingTableElementImpl with the corresponding name and - * declaring class. - * @param name the name of the element - * @param declaringClass the class to attach to - */ - public MappingTableElementImpl (String name, - MappingClassElement declaringClass) - { - super(name, declaringClass); - } - - /** Creates new MappingTableElementImpl with a corresponding - * table and declaring class. - * @param table table element to be used by the mapping table. - * @param declaringClass the class to attach to - */ - public MappingTableElementImpl (TableElement table, - MappingClassElement declaringClass) throws ModelException - { - this(table.toString(), declaringClass); - - // don't use setTable so as not to fire property change events - _table = getName(); - } - - //======================= table handling =========================== - - /** Returns the name of the table element used by this mapping table. - * @return the table name for this mapping table - */ - public String getTable () { return _table; } - - /** Set the table element for this mapping table to the supplied table. - * @param table table element to be used by the mapping table. - * @exception ModelException if impossible - */ - public void setTable (TableElement table) throws ModelException - { - String old = getTable(); - String newName = table.toString(); - - try - { - fireVetoableChange(PROP_TABLE, old, newName); - _table = newName; - firePropertyChange(PROP_TABLE, old, newName); - setName(_table); - - // sync up runtime's object too: force next - // access to getTableObject to recompute it - _tableObject = null; - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Override method in MappingElementImpl to set the _table variable - * if necessary (used for unarchiving). - * @param name the name - * @exception ModelException if impossible - */ - public void setName (String name) throws ModelException - { - super.setName(name); - - if (getTable() == null) - _table = name; - } - - /** Returns true if the table element used by this mapping table is equal - * to the supplied table. - * @return true if table elements are equal, - * false otherwise. - */ - public boolean isEqual (TableElement table) - { - return ((table != null) ? getTable().equals(table.toString()) : false); - } - - //===================== primary key handling =========================== - - /** Returns the list of column names in the primary key for this - * mapping table. - * @return the names of the columns in the primary key for this mapping - * table - */ - public ArrayList getKey () - { - if (_key == null) - _key = new ArrayList(); - - return _key; - } - - /** Adds a column to the primary key of columns in this mapping table. - * This method should only be used to manipulate the key columns of the - * primary table. The secondary table key columns should be manipulated - * using MappingReferenceKeyElement methods for pairs. - * @param column column element to be added - * @exception ModelException if impossible - */ - public void addKeyColumn (ColumnElement column) throws ModelException - { - if (column != null) - { - String columnName = NameUtil.getRelativeMemberName( - column.getName().getFullName()); - - if (!getKey().contains(columnName)) - addKeyColumnInternal(column); - else - { - // this part was blank -- do we want an error or skip here? - } - } - else - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.element.null_argument")); // NOI18N - } - } - - /** Adds a column to the primary key of columns in this mapping table. - * This method is used internally to manipulate primary key columns - * that have passed the null and duplicate tests in addKeyColumn and - * secondary table key columns when pairs are being set up and ignoring - * duplicates is done at the pair level. - * @param column column element to be added - * @exception ModelException if impossible - */ - protected void addKeyColumnInternal (ColumnElement column) throws ModelException - { - ArrayList key = getKey(); - String columnName = NameUtil.getRelativeMemberName( - column.getName().getFullName()); - - try - { - fireVetoableChange(PROP_KEY_COLUMNS, null, null); - key.add(columnName); - firePropertyChange(PROP_KEY_COLUMNS, null, null); - - // sync up runtime's object list too - //@olsen: rather clear objects instead of maintaining them - //getKeyObjects().add(column); - _keyObjects = null; - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Removes a column from the primary key of columns in this mapping table. - * This method should only be used to manipulate the key columns of the - * primary table. The secondary table key columns should be manipulated - * using MappingReferenceKeyElement methods for pairs. - * @param columnName the relative name of the column to be removed - * @exception ModelException if impossible - */ - public void removeKeyColumn (String columnName) throws ModelException - { - if (columnName != null) - { - try - { - fireVetoableChange(PROP_KEY_COLUMNS, null, null); - - if (!getKey().remove(columnName)) - { - throw new ModelException( - I18NHelper.getMessage(getMessages(), - "mapping.element.element_not_removed", // NOI18N - columnName)); - } - - firePropertyChange(PROP_KEY_COLUMNS, null, null); - - // sync up runtime's object list too - //@olsen: rather clear objects instead of maintaining them - //getKeyObjects().remove(column); - _keyObjects = null; - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - } - - //===================== reference key handling =========================== - - /** Returns the list of keys (MappingReferenceKeyElements) for this - * mapping table. There will be keys for foreign keys and "fake" foreign - * keys. - * @return the reference key elements for this mapping table - */ - public ArrayList getReferencingKeys () - { - if (_referencingKeys == null) - _referencingKeys = new ArrayList(); - - return _referencingKeys; - } - - /** Adds a referencing key to the list of keys in this mapping table. - * @param referencingKey referencing key element to be added - * @exception ModelException if impossible - */ - public void addReferencingKey (MappingReferenceKeyElement referencingKey) - throws ModelException - { - try - { - fireVetoableChange(PROP_REFERENCING_KEYS, null, null); - getReferencingKeys().add(referencingKey); - firePropertyChange(PROP_REFERENCING_KEYS, null, null); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - - /** Removes the referencing key for the supplied table element from list - * of keys in this mapping table. - * @param table mapping table element for which to remove referencing keys - * @exception ModelException if impossible - */ - public void removeReference (MappingTableElement table) - throws ModelException - { - if (table != null) - { - Iterator keyIterator = getReferencingKeys().iterator(); - - while (keyIterator.hasNext()) - { - MappingReferenceKeyElement nextKey = - (MappingReferenceKeyElement)keyIterator.next(); - - if (nextKey.getTable().equals(table)) - { - try - { - fireVetoableChange(PROP_REFERENCING_KEYS, null, null); - keyIterator.remove(); - firePropertyChange(PROP_REFERENCING_KEYS, null, null); - } - catch (PropertyVetoException e) - { - throw new ModelVetoException(e); - } - } - } - } - else - { - throw new ModelException(I18NHelper.getMessage(getMessages(), - "mapping.element.null_argument")); // NOI18N - } - } - - //============= extra object support for runtime ======================== - - /** Returns the table element (TableElement) used by this mapping - * table. This method should only be used by the runtime. - * @return the table element for this mapping table - */ - public TableElement getTableObject () - { - if (_tableObject == null) - { - String absoluteTableName = NameUtil.getAbsoluteTableName( - getDeclaringClass().getDatabaseRoot(), _table); - - _tableObject = TableElement.forName(absoluteTableName); - } - - return _tableObject; - } - - /** Returns the list of columns (ColumnElements) in the primary key for - * this mapping table. This method should only be used by the runtime. - * @return the column elements in the primary key for this mapping table - */ - public ArrayList getKeyObjects () - { - if (_keyObjects == null) - { - //@olsen: calculate the key objects based on - // the key names as stored in _key - //_keyObjects = new ArrayList(); - _keyObjects = MappingClassElementImpl.toColumnObjects( - getDeclaringClass().getDatabaseRoot(), getKey()); - } - - return _keyObjects; - } - - //=============== extra set methods needed for xml archiver ============== - - /** Set the name of the table element used by this mapping table. This - * method should only be used internally and for cloning and archiving. - * @param table the table name for this mapping table - */ - public void setTable (String table) - { - _table = table; - } - - /** Set the list of column names in the primary key for this mapping - * table. This method should only be used internally and for cloning - * and archiving. - * @param key the list of names of the columns in the primary key for - * this mapping table - */ - public void setKey (ArrayList key) { _key = key; } - - /** Set the list of keys (MappingReferenceKeyElements) for this mapping - * table. This method should only be used internally and for cloning - * and archiving. - * @param referencingKeys the list of reference key elements for this - * mapping table - */ - public void setReferencingKeys (ArrayList referencingKeys) - { - _referencingKeys = referencingKeys; - } - - //=============== extra method for Boston -> Pilsen conversion ============ - - /** Boston to Pilsen conversion. This method converts the absolute db - * element names to relative names. This affects the name of the - * MappingTableElement itself and the column names stored in _keys. - * The method is recursively called for all MappingReferenceKeyElements - * attached to this MappingTableElement. - */ - protected void stripSchemaName () - { - // handle _name - _name = NameUtil.getRelativeTableName(_name); - - // handle _table - _table = NameUtil.getRelativeTableName(_table); - - // handle _referencingKeys - // call method stripSchemaName on the MappingReferenceKeyElementImpl - // objects - if (_referencingKeys != null) - { - Iterator i = _referencingKeys.iterator(); - - while (i.hasNext()) - { - MappingReferenceKeyElementImpl refKey = - (MappingReferenceKeyElementImpl)i.next(); - - refKey.stripSchemaName(); - } - } - - // handle _key - if (_key != null) - { - // Use ListIterator here, because I want to replace the value - // stored in the ArrayList. The ListIterator returned by - // ArrayList.listIterator() supports the set method. - ListIterator i = _key.listIterator(); - - while (i.hasNext()) - i.set(NameUtil.getRelativeMemberName((String)i.next())); - } - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/DumpMapping.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/DumpMapping.java deleted file mode 100644 index b67459ee05f..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/DumpMapping.java +++ /dev/null @@ -1,368 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/** - * DumpMapping.java - * - */ - -package com.sun.jdo.api.persistence.model.util; - -import java.util.*; -import java.io.PrintStream; - -import com.sun.jdo.api.persistence.model.*; -import com.sun.jdo.api.persistence.model.mapping.*; -import com.sun.jdo.api.persistence.model.mapping.impl.*; -import com.sun.jdo.api.persistence.model.jdo.*; - -import org.netbeans.modules.dbschema.ColumnElement; -import org.netbeans.modules.dbschema.ColumnPairElement; - -public class DumpMapping -{ - private static Model model; - - static - { - // initialize the model reference - setModel(Model.RUNTIME); - } - - /** Print out the cache of MappingClassElements to the specified PrintStream. - * @param stream PrintStream used to dump the info - */ - public static void dumpMappingCache (PrintStream stream) - { - stream.println("Mapping cache (class names -> MappingClassElements)"); // NOI18N - for (Iterator i = model.getMappingCache().entrySet().iterator(); - i.hasNext();) - { - Map.Entry entry = (Map.Entry)i.next(); - String className = (String)entry.getKey(); - MappingClassElement mce = (MappingClassElement)entry.getValue(); - String mceRepr = mce.getClass() + "@" + // NOI18N - Integer.toHexString(System.identityHashCode(mce)); - stream.println("\t" + className + " ->\t" + mceRepr); //NOI18N - } - } - - /** Print out the cache of classLoaders to the specified PrintStream. - * @param stream PrintStream used to dump the info - */ - public static void dumpClassLoaderCache (PrintStream stream) - { - stream.println("ClassLoader cache (class names -> ClassLoaders)"); //NOI18N - for (Iterator i = model.getClassLoaderCache().entrySet().iterator(); - i.hasNext();) - { - Map.Entry entry = (Map.Entry)i.next(); - String className = (String)entry.getKey(); - ClassLoader classLoader = (ClassLoader)entry.getValue(); - stream.println("\t" + className + " ->\t" + classLoader); //NOI18N - } - } - - public static void main(String[] args) - { - for (int i = 0; i < args.length; i++) - { - String className = args[i]; - println(0, "\nClass " + className + ":"); //NOI18N - - try - { - MappingClassElementImpl mce = (MappingClassElementImpl)model.getMappingClass(className); - if (mce != null) - { - printPersistenceClassElement(mce.getPersistenceElement()); - printMappingClassElement(mce); - } - else - { - println(0, "Cannot find mapping info for class " + className + " (getMappingClass returns null)"); //NOI18N - } - } - catch (Exception e) - { - println(0, "Problems during accessing mapping info for class " + className); //NOI18N - e.printStackTrace(); - } - } - } - - /** Sets the internal model reference used by the DumpMapping methods - * to the specified Model instance. - * @param newModel the Model instance to be used by DumpMapping - */ - public static void setModel(Model newModel) - { - model = newModel; - } - - // ----- JDO model ------ - - public static void printPersistenceClassElement(PersistenceClassElement pce) - { - println(0, "\n--> PersistenceClassElement "); //NOI18N - println(1, "package = " + pce.getPackage()); //NOI18N - println(1, "name = " + pce.getName()); //NOI18N - println(1, "identity = " + getObjectIdentityTypeRepr(pce.getObjectIdentityType())); //NOI18N - println(1, "keyClass = " + pce.getKeyClass()); //NOI18N - - printPersistenceFieldElements(1, pce.getFields()); - printConcurrencyGroupElements(1, pce.getConcurrencyGroups()); - - println(0, "<-- PersistenceClassElement\n "); //NOI18N - } - - - public static void printPersistenceFieldElements(int tabs, PersistenceFieldElement[] fields) - { - if ((fields != null) && (fields.length > 0)) - { - println(tabs, "--> fields "); //NOI18N - for (int i = 0; i < fields.length; i++) - { - PersistenceFieldElement pfe = fields[i]; - - println(tabs, "[" + i + "] " + pfe.getClass()); //NOI18N - println(tabs+1, "name = " + pfe.getName()); //NOI18N - println(tabs+1, "declaringClass = " + pfe.getDeclaringClass()); //NOI18N - println(tabs+1, "fieldNumber = " + pfe.getFieldNumber()); //NOI18N - println(tabs+1, "persistenceType = " + getPersistenceTypeRepr(pfe.getPersistenceType())); //NOI18N - println(tabs+1, "read / write = " + pfe.isReadSensitive() + " / " + pfe.isWriteSensitive()); //NOI18N - println(tabs+1, "isKey = " + pfe.isKey()); //NOI18N - - if (pfe instanceof RelationshipElement) - { - RelationshipElement re = (RelationshipElement) pfe; - - println(tabs+1, "bounds = " + re.getLowerBound() + " / " + re.getUpperBound()); //NOI18N - println(tabs+1, "deleteAction = " + re.getDeleteAction()); //NOI18N - println(tabs+1, "updateAction = " + re.getUpdateAction()); //NOI18N - println(tabs+1, "collectionClass = " + re.getCollectionClass()); //NOI18N - println(tabs+1, "elementClass = " + re.getElementClass()); //NOI18N - println(tabs+1, "isPrefetch = " + re.isPrefetch()); //NOI18N - } - printConcurrencyGroupElements(tabs+1, pfe.getConcurrencyGroups()); - } - println(tabs, "<-- fields "); //NOI18N - } - } - - public static void printConcurrencyGroupElements(int tabs, ConcurrencyGroupElement[] groups) - { - if ((groups != null) && (groups.length > 0)) - { - println(tabs, "--> concurrency groups"); //NOI18N - for (int i = 0; i < groups.length; i++) - { - ConcurrencyGroupElement cg = groups[i]; - println(tabs, "[" + i + "] " + cg.getClass()); //NOI18N - println(tabs+1, "name = " + cg.getName()); //NOI18N - println(tabs+1, "declaringClass = " + cg.getDeclaringClass()); //NOI18N - } - println(tabs, "<-- concurrency groups"); //NOI18N - } - } - - // ----- Mapping model ------ - - public static void printMappingClassElement(MappingClassElement mce) - { - println(0, "\n--> MappingClassElement"); //NOI18N - - println(1, "databaseRoot = " + mce.getDatabaseRoot()); //NOI18N - printMappingTableElements(1, mce.getTables()); - printMappingFieldElements(1, mce.getFields()); - - println(0, "<-- MappingClassElement"); //NOI18N - } - - public static void printMappingTableElements(int tabs, ArrayList tables) - { - final int count = ((tables != null) ? tables.size() : 0); - - if (count > 0) - { - println(tabs, "--> tables "); //NOI18N - for (int i = 0; i < count; i++) - { - MappingTableElementImpl mte = (MappingTableElementImpl) tables.get(i); - - println(tabs, "[" + i + "] " + mte.getClass()); //NOI18N - - println(tabs+1, "table = " + mte.getTable()); //NOI18N - println(tabs+1, "tableObject = " + mte.getTableObject()); //NOI18N - println(tabs+1, "key = " + mte.getKey()); //NOI18N - println(tabs+1, "keyObjects = " + mte.getKeyObjects()); //NOI18N - printMappingRefKeyElements(tabs+1, mte.getReferencingKeys()); - } - println(tabs, "<-- tables "); //NOI18N - } - } - - public static void printMappingRefKeyElements(int tabs, ArrayList refKeys) - { - final int count = ((refKeys != null) ? refKeys.size() : 0); - - if (count > 0) - { - println(tabs, "--> tables "); //NOI18N - for (int i = 0; i < count; i++) - { - MappingReferenceKeyElement mrke = (MappingReferenceKeyElement)refKeys.get(i); - - println(tabs, "[" + i + "] " + mrke.getClass()); //NOI18N - - println(tabs+1, "table = " + mrke.getDeclaringTable()); //NOI18N - println(tabs+1, "pairs = " + mrke.getColumnPairNames()); //NOI18N - } - println(tabs, "<-- tables "); //NOI18N - } - } - - public static void printMappingFieldElements(int tabs, ArrayList fields) - { - final int count = ((fields != null) ? fields.size() : 0); - - if (count > 0) - { - println(tabs, "--> fields "); //NOI18N - for (int i = 0; i < count; i++) - { - MappingFieldElementImpl mfe = (MappingFieldElementImpl) fields.get(i); - - println(tabs, "[" + i + "] " + mfe.getClass()); //NOI18N - println(tabs+1, "name = " + mfe.getName()); //NOI18N - println(tabs+1, "fetchGroup = " + mfe.getFetchGroup()); //NOI18N - println(tabs+1, "columns = " + mfe.getColumns()); //NOI18N - - if (!(mfe instanceof MappingRelationshipElement)) - { - println(tabs+1, "columnObjects = " + mfe.getColumnObjects()); //NOI18N - } - else - { - MappingRelationshipElementImpl mre = (MappingRelationshipElementImpl) mfe; - - ArrayList columnObjects = mre.getColumnObjects(); - int colCount = - ((columnObjects != null) ? columnObjects.size() : 0); - if (colCount > 0) - { - println(tabs+1, "--> columnsObjects "); //NOI18N - for (int j = 0; j < colCount; j++) - { - ColumnPairElement fce = (ColumnPairElement) columnObjects.get(j); - ColumnElement rce = (fce!=null)?fce.getReferencedColumn():null; - println(tabs+1, "[" + j + "] " + fce + " -> " + rce); //NOI18N - } - println(tabs+1, "<-- columnsObjects "); //NOI18N - } - - println(tabs+1, "associatedColumns = " + mre.getAssociatedColumns()); //NOI18N - - ArrayList associatedColumnObjects = mre.getAssociatedColumnObjects(); - colCount = ((associatedColumnObjects != null) ? - associatedColumnObjects.size() : 0); - if (colCount > 0) - { - println(tabs+1, "--> associatedColumnObjects "); //NOI18N - for (int j = 0; j < colCount; j++) - { - ColumnPairElement fce = (ColumnPairElement) associatedColumnObjects.get(j); - ColumnElement rce = (fce!=null)?fce.getReferencedColumn():null; - println(tabs+1, "[" + j + "] " + fce + " -> " + rce); //NOI18N - } - println(tabs+1, "<-- associatedColumnObjects "); //NOI18N - } - } - } - println(tabs, "<-- fields "); //NOI18N - } - - } - - // ----- helper methods ----- - - static String getObjectIdentityTypeRepr(int objectIdentityType) - { - String repr; - switch (objectIdentityType) - { - case PersistenceClassElement.APPLICATION_IDENTITY: - return "APPLICATION_IDENTITY"; //NOI18N - case PersistenceClassElement.DATABASE_IDENTITY: - return "DATABASE_IDENTITY_IDENTITY"; //NOI18N - case PersistenceClassElement.UNMANAGED_IDENTITY: - return "UNMANAGED_IDENTITY"; //NOI18N - default: - return "UNKNOWN"; //NOI18N - } - } - - static String getPersistenceTypeRepr(int persistenceType) - { - String repr; - switch (persistenceType) - { - case PersistenceFieldElement.PERSISTENT: - return "PERSISTENT"; //NOI18N - case PersistenceFieldElement.DERIVED: - return "DERIVED"; //NOI18N - case PersistenceFieldElement.TRANSIENT: - return "TRANSIENT"; //NOI18N - default: - return "UNKNOWN"; //NOI18N - } - } - - static void println(int indent, String text) - { - for (int i = 0; i < indent; i++) - { - System.out.print("\t"); //NOI18N - } - - System.out.println(text); - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/LogHelperModel.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/LogHelperModel.java deleted file mode 100644 index 12b17d02c04..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/LogHelperModel.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * LogHelperModel.java - * - * Created on May 28, 2002, 5:00 PM - */ - -package com.sun.jdo.api.persistence.model.util; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; -import com.sun.jdo.api.persistence.model.Model; - -/** - * - * @author Rochelle Raccah - * @version %I% - */ -public class LogHelperModel -{ - /** The component name for this component - */ - private static final String _componentName = "model"; // NOI18N - - /** The class loader for this component - */ - private static final ClassLoader _loader = - LogHelperModel.class.getClassLoader(); - - /** Return the logger for the model component - */ - public static Logger getLogger () - { - return LogHelper.getLogger (_componentName, Model.messageBase, _loader); - } - -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/ModelValidationException.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/ModelValidationException.java deleted file mode 100644 index 8f2808862c7..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/ModelValidationException.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * ModelValidationException.java - * - * Created on September 22, 2000, 1:05 PM - */ - -package com.sun.jdo.api.persistence.model.util; - -import java.util.ResourceBundle; - -import com.sun.jdo.api.persistence.model.ModelException; -import org.glassfish.persistence.common.I18NHelper; -import org.glassfish.common.util.StringHelper; - -/** - * - * @author raccah - * @version %I% - */ -public class ModelValidationException extends ModelException -{ - /** Constant representing an error. */ - public static final int ERROR = 0; - - /** Constant representing a warning. */ - public static final int WARNING = 1; - - /** I18N message handler */ - private static final ResourceBundle _messages = I18NHelper.loadBundle( - "com.sun.jdo.api.persistence.model.Bundle", // NOI18N - ModelValidationException.class.getClassLoader()); - - /** This field holds the type -- one of {@link #ERROR} or {@link #WARNING} - */ - private int _type; - - /** This field holds the offending object -- the one being validated - * when the problem occurred - */ - private Object _offendingObject; - - /** @return I18N message handler for this element - */ - protected static final ResourceBundle getMessages () - { - return _messages; - } - - /** - * Creates new ModelValidationException of type {@link #ERROR} - * without a detail message and with null as the - * offending object. - */ - public ModelValidationException () - { - } - - /** - * Constructs a ModelValidationException of type - * {@link #ERROR} with the specified detail message and - * null as the offending object. - * @param msg the detail message. - */ - public ModelValidationException (String msg) - { - super(msg); - } - - /** - * Constructs a ModelValidationException of type - * {@link #ERROR} with the specified offending object and no - * detail message. - * @param offendingObject the offending object. - */ - public ModelValidationException (Object offendingObject) - { - super(); - _offendingObject = offendingObject; - } - - /** - * Constructs a ModelValidationException of type - * {@link #ERROR} with the specified detail message and offending - * object. - * @param offendingObject the offending object. - * @param msg the detail message. - */ - public ModelValidationException (Object offendingObject, String msg) - { - this(ERROR, offendingObject, msg); - } - - /** - * Constructs a ModelValidationException of the specified - * type with the specified detail message and offending object. - * @param errorType the type -- one of {@link #ERROR} or {@link #WARNING}. - * @param offendingObject the offending object. - * @param msg the detail message. - */ - public ModelValidationException (int errorType, Object offendingObject, - String msg) - { - super(msg); - _type = errorType; - _offendingObject = offendingObject; - } - - /** - * Get the offending object -- the one being validated when the problem - * occurred. - */ - public Object getOffendingObject () { return _offendingObject; } - - /** - * Get the type -- one of {@link #ERROR} or {@link #WARNING}. - */ - public int getType () { return _type; } - - /** - * Returns the error message string of this throwable object. - * @return the error message string of this - * ModelValidationException, prepended with the warning string - * if the type is {@link #WARNING} - * - */ - public String getMessage () - { - String message = super.getMessage(); - - if ((WARNING == getType()) && !StringHelper.isEmpty(message)) - { - message = I18NHelper.getMessage(getMessages(), - "util.validation.warning") + message; //NOI18N - } - - return message; - } -} diff --git a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/ModelValidator.java b/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/ModelValidator.java deleted file mode 100644 index 2cc2fb48222..00000000000 --- a/appserver/persistence/cmp/model/src/main/java/com/sun/jdo/api/persistence/model/util/ModelValidator.java +++ /dev/null @@ -1,2898 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018-2019] Payara Foundation and/or affiliates - -/* - * ModelValidator.java - * - * Created on September 22, 2000, 12:49 PM - */ - -package com.sun.jdo.api.persistence.model.util; - -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.jdo.PersistenceClassElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; -import com.sun.jdo.api.persistence.model.jdo.RelationshipElement; -import com.sun.jdo.api.persistence.model.mapping.*; -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.common.util.StringHelper; -import org.glassfish.persistence.common.I18NHelper; -import org.netbeans.modules.dbschema.*; -import org.netbeans.modules.dbschema.util.NameUtil; -import org.netbeans.modules.dbschema.util.SQLTypeUtil; - -import java.lang.reflect.Modifier; -import java.util.*; - -/** - * - * @author Rochelle Raccah - * @version %I% - */ -public class ModelValidator -{ - /** This field holds the model object used for validation */ - private Model _model; - - /** This field holds the name of the class being validated */ - private String _className; - - /** This field holds the class loader used to load class - * being validated (if available). - */ - private ClassLoader _classLoader; - - /** I18N message handler */ - private ResourceBundle _messages; - - public ModelValidator (Model model, String className, ResourceBundle bundle) - { - this(model, className, null, bundle); - } - - /** Create a new model validator object. - * @param model model object used for validation - * @param className the name of the class being validated - */ - public ModelValidator (Model model, String className, - ClassLoader classLoader, ResourceBundle bundle) - { - _model = model; - _className = className; - _classLoader = classLoader; - _messages = bundle; - } - - /** - * Get the model object used for validation. - * @return the model object used for validation - */ - public Model getModel () { return _model; } - - /** - * Get the name of the class being validated. - * @return the name of the class being validated - */ - public String getClassName () { return _className; } - - /** - * Get the class loader used to load the class being validated. - * @return the class loader of the class being validated - */ - public ClassLoader getClassLoader () { return _classLoader; } - - /** @return I18N message handler for this element - */ - protected ResourceBundle getMessages () { return _messages; } - - /** Main method used for parsing the combination of java (or class) - * information and mapping/jdo information by running through a subset - * of the full validation check and aborting (and returning - * false at the first error or warning. - * @return true if no errors or warnings occur, - * false otherwise. - * @see #getBasicValidationList - */ - public boolean parseCheck () - { - Iterator iterator = getBasicValidationList().iterator(); - - try - { - while (iterator.hasNext()) - ((ValidationComponent)iterator.next()).validate(); - } - catch (ModelValidationException e) - { - LogHelperModel.getLogger().log(Logger.FINER, - "model.parse_error", e); // NOI18N - - return false; - } - - return true; - } - - /** Main method used for validating the combination of java (or class) - * information and mapping/jdo information by running through the full - * validation check and returning a collection of - * ModelValidationExceptions containing any errors or warnings encountered. - * @return a collection of ModelValidationExceptions containing any - * errors or warnings encountered. If no errors or warnings were - * encountered, the collection will be empty, not null. - * @see #getFullValidationList - */ - public Collection fullValidationCheck () - { - ArrayList list = new ArrayList(); - Iterator iterator = getFullValidationList().iterator(); - - while (iterator.hasNext()) - { - try - { - ((ValidationComponent)iterator.next()).validate(); - } - catch (ModelValidationException e) - { - list.add(e); - } - } - - return Collections.unmodifiableCollection(list); - } - - // ================ Validation list construction methods =============== - - /** Computes and returns a collection of ValidationComponents - * representing the tests to be performed during parse. - * @return a collection of ValidationComponents representing the - * tests to be performed during parse. - * @see #getDatabaseValidationList - * @see #getFieldsValidationList - * @see #getFullValidationList - */ - public Collection getBasicValidationList () - { - ArrayList list = new ArrayList(); - String className = getClassName(); - - list.add(createClassExistenceComponent(className)); - list.add(createClassPersistenceComponent(className)); - - list.addAll(getDatabaseValidationList()); - list.addAll(getFieldsValidationList()); - - return Collections.unmodifiableCollection(list); - } - - /** Computes and returns a collection of ValidationComponents - * representing the tests to be performed during validation. These - * include all those in the basic list plus those which check - * cardinality and the related classes in more detail. - * @return a collection of ValidationComponents representing the - * tests to be performed during validation. - * @see #getRelatedClassValidationList - * @see #getBasicValidationList - */ - public Collection getFullValidationList () - { - ArrayList list = new ArrayList(getBasicValidationList()); - String className = getClassName(); - PersistenceClassElement persistenceClass = - getPersistenceClass(className); - - if (persistenceClass != null) - { - PersistenceFieldElement[] fields = persistenceClass.getFields(); - int i, count = ((fields != null) ? fields.length : 0); - - list.add(createSerializableClassComponent(className)); - list.add(createKeyClassComponent(persistenceClass.getKeyClass())); - list.add(createClassMappingComponent(persistenceClass)); - list.add(createKeyColumnMappingComponent(persistenceClass)); - - for (i = 0; i < count; i++) - { - PersistenceFieldElement field = fields[i]; - - list.add(createFieldCardinalityComponent(field)); - list.add(createFieldMappingComponent(field)); - list.add(createFieldBlobMappingComponent(field)); - list.addAll(getRelatedClassValidationList(field)); - } - } - - return Collections.unmodifiableCollection(list); - } - - // ============= Validation list construction suppport methods ============ - - /** Computes and returns a collection of ValidationComponents - * representing the database tests to be performed. - * @return a collection of ValidationComponents representing the - * database tests to be performed. - */ - private Collection getDatabaseValidationList () - { - ArrayList list = new ArrayList(); - String className = getClassName(); - MappingClassElement mappingClass = getMappingClass(className); - - if (mappingClass != null) - { - ArrayList tables = mappingClass.getTables(); - int i, count = ((tables != null) ? tables.size() : 0); - MappingTableElement primaryTable = null; - Iterator iterator = null; - - list.add(createSchemaExistenceComponent(className)); - - for (i = 0; i < count; i++) - { - MappingTableElement nextTable = - (MappingTableElement)tables.get(i); - - list.add(createTableExistenceComponent(nextTable.getTable())); - - if (i == 0) - { - primaryTable = nextTable; - list.add(createPrimaryTableComponent(primaryTable)); - } - else - { - MappingReferenceKeyElement referenceKey = - findReferenceKey(primaryTable, nextTable); - - if (referenceKey != null) - { - iterator = referenceKey.getColumnPairNames().iterator(); - while (iterator.hasNext()) - { - list.add(createColumnExistenceComponent( - (String)iterator.next())); - } - } - } - } - - list.add(createVersionConsistencyComponent(mappingClass)); - - iterator = mappingClass.getFields().iterator(); - while (iterator.hasNext()) - { - MappingFieldElement nextField = - (MappingFieldElement)iterator.next(); - ArrayList allColumns = new ArrayList(); - Iterator columnIterator = null; - - if (isRelationship(nextField)) - { - allColumns.addAll(((MappingRelationshipElement)nextField). - getAssociatedColumns()); - } - - allColumns.addAll(nextField.getColumns()); - - columnIterator = allColumns.iterator(); - while (columnIterator.hasNext()) - { - list.add(createColumnExistenceComponent( - (String)columnIterator.next(), nextField)); - } - } - } - - return list; - } - - /** Computes and returns a collection of ValidationComponents - * representing the field and relationship tests to be performed. - * @return a collection of ValidationComponents representing the - * field and relationship tests to be performed. - */ - private Collection getFieldsValidationList () - { - ArrayList list = new ArrayList(); - Model model = getModel(); - String className = getClassName(); - PersistenceClassElement persistenceClass = - getPersistenceClass(className); - - if (persistenceClass != null) - { - PersistenceFieldElement[] fields = persistenceClass.getFields(); - int i, count = ((fields != null) ? fields.length : 0); - Iterator iterator = - getMappingClass(className).getFields().iterator(); - - for (i = 0; i < count; i++) - { - PersistenceFieldElement field = fields[i]; - - list.add(createFieldExistenceComponent(field)); - - // even though this is really the validation step, we - // only want to add the others if the field exists - if (model.hasField(className, field.getName())) - { - list.add(createFieldPersistenceComponent(field)); - list.add(createFieldPersistenceTypeComponent(field)); - list.add(createFieldConsistencyComponent(field)); - - if (isLegalRelationship(field)) - { - RelationshipElement rel = (RelationshipElement)field; - - /* user modifiable collection class not yet supported - list.add(createCollectionClassComponent(rel));*/ - list.add(createElementClassComponent(rel)); - list.add(createRelatedClassMatchesComponent(rel)); - } - } - } - - while (iterator.hasNext()) - { - MappingFieldElement field = - (MappingFieldElement)iterator.next(); - String fieldName = field.getName(); - - // only check this if it is not in the jdo model - if (persistenceClass.getField(fieldName) == null) - { - list.add(createFieldExistenceComponent(field)); - - // even though this is really the validation step, we - // only want to add the others if the field exists - if (model.hasField(className, fieldName)) - list.add(createFieldConsistencyComponent(field)); - } - - if (!isRelationship(field)) - list.add(createColumnOverlapComponent(field)); - - // preliminary fix for CR6239630 - if (Boolean.getBoolean("AllowManagedFieldsInDefaultFetchGroup")) // NOI18N - { - // Do nothing - AllowManagedFieldsInDefaultFetchGroup: - // disabled single model validation test; - // may use checked read/write access to managed fields - } - else - { - list.add(createFieldDefaultFetchGroupComponent(field)); - } - } - } - - return list; - } - - /** Computes and returns a collection of ValidationComponents - * representing the related class tests to be performed. Right now, - * these are only included as part of full validation, as they may - * be somewhat time intensive since they compute information about - * other classes as well as this class. - * @return a collection of ValidationComponents representing the - * related class tests to be performed. - */ - private Collection getRelatedClassValidationList ( - PersistenceFieldElement field) - { - String relatedClass = getRelatedClass(field); - ArrayList list = new ArrayList(); - - // even though this is really already included in the validation - // step, we only want to add the extra steps if the field exists - if ((relatedClass != null) && - getModel().hasField(getClassName(), field.getName())) - { - MappingClassElement relatedClassElement = - getMappingClass(relatedClass); - - list.add(createClassExistenceComponent(relatedClass, field)); - list.add(createClassPersistenceComponent(relatedClass, field)); - list.add(createSchemaExistenceComponent(relatedClass, field)); - list.add(createRelatedSchemaMatchesComponent(relatedClass, field)); - - if (relatedClassElement != null) - { - ArrayList tables = relatedClassElement.getTables(); - MappingTableElement primaryTable = null; - boolean hasTables = ((tables != null) && (tables.size() > 0)); - - if (hasTables) - { - primaryTable = (MappingTableElement)tables.get(0); - list.add(createTableExistenceComponent( - primaryTable.getTable(), field)); - } - - if (isRelationship(field)) - { - RelationshipElement relElement = (RelationshipElement)field; - Object rel = getMappingClass(getClassName()). - getField(field.getName()); - - list.add(createInverseFieldComponent(relElement)); - list.add(createInverseMappingComponent(relElement)); - - // verify that the columns from the primary table - // of the related class are actually from that table - // since it could have been changed - if ((rel != null) && isRelationship(rel)) - { - MappingRelationshipElement relationship = - (MappingRelationshipElement)rel; - ArrayList columns = - relationship.getAssociatedColumns(); - Iterator iterator = null; - - if ((columns == null) || (columns.size() == 0)) - columns = relationship.getColumns(); - - if (columns != null) - { - List tableNames = new ArrayList(); - - if (hasTables) - { - Iterator tableIterator = tables.iterator(); - - while (tableIterator.hasNext()) - { - tableNames.add(((MappingTableElement) - tableIterator.next()).getName()); - } - } - - iterator = columns.iterator(); - - while (iterator.hasNext()) - { - list.add(createRelatedTableMatchesComponent( - relatedClass, field, tableNames, - (String)iterator.next())); - } - } - } - } - } - } - - return list; - } - - // ================ Validation Component inner classes =============== - - /** Create a validation component which can check whether the class exists. - * @param className the class whose existence is being checked - * @param relatedField the relationship field whose class is being checked, - * may be null in which case we are probably checking the - * same class as the validator is checking overall - * @return the validation component - */ - protected ValidationComponent createClassExistenceComponent ( - final String className, final PersistenceFieldElement relatedField) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - if ((className == null) || - !getModel().hasClass(className, getClassLoader())) - { - throw constructClassException(className, relatedField, - "util.validation.class_not_found"); //NOI18N - } - } - }; - } - - /** Create a validation component which can check whether the class exists. - * @param className the class whose existence is being checked - * @return the validation component - */ - protected ValidationComponent createClassExistenceComponent ( - final String className) - { - return createClassExistenceComponent(className, null); - } - - /** Create a validation component which can check the class persistence. - * @param className the class whose persistence is being checked - * @param relatedField the relationship field whose class is being checked, - * may be null in which case we are probably checking the - * same class as the validator is checking overall - * @return the validation component - */ - protected ValidationComponent createClassPersistenceComponent ( - final String className, final PersistenceFieldElement relatedField) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - Model model = getModel(); - - if ((className != null) && - model.hasClass(className, getClassLoader())) - { - String key = null; - - if (!isPersistent(className)) - key = "util.validation.class_not_persistence_capable";//NOI18N - else if (!model.isPersistenceCapableAllowed(className)) - key = "util.validation.class_not_allowed";//NOI18N - - if (key != null) - { - throw constructClassException( - className, relatedField, key); - } - } - } - }; - } - - /** Create a validation component which can check the class persistence. - * @param className the class whose persistence is being checked - * @return the validation component - */ - protected ValidationComponent createClassPersistenceComponent ( - final String className) - { - return createClassPersistenceComponent(className, null); - } - - /** Create a validation component which can check whether the field exists. - * @param fieldName the field whose existence is being checked - * @return the validation component - */ - protected ValidationComponent createFieldExistenceComponent ( - final String fieldName) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - if (!getModel().hasField(getClassName(), fieldName)) - { - throw constructFieldException(fieldName, - "util.validation.field_not_found"); //NOI18N - } - } - }; - } - - /** Create a validation component which can check whether the field exists. - * @param field the field whose existence is being checked - * @return the validation component - */ - protected ValidationComponent createFieldExistenceComponent (Object field) - { - return createFieldExistenceComponent(field.toString()); - } - - /** Create a validation component which can check whether the field is - * persistent. - * @param field the field whose persistence is being checked - * @return the validation component - */ - protected ValidationComponent createFieldPersistenceComponent ( - final PersistenceFieldElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - boolean isPersistent = (PersistenceFieldElement.PERSISTENT == - field.getPersistenceType()); - String fieldName = field.getName(); - - if (isPersistent && - !isPersistentAllowed(getClassName(), fieldName)) - { - throw constructFieldException(fieldName, - "util.validation.field_persistent_not_allowed");//NOI18N - } - } - }; - } - - /** Create a validation component which can check whether the field is - * consistent (field in both models or relationship in both). - * @param field the field whose consistency is being checked - * @return the validation component - */ - protected ValidationComponent createFieldConsistencyComponent ( - final PersistenceFieldElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - String fieldName = field.getName(); - String className = getClassName(); - boolean isLegallyPersistent = - isPersistentAllowed(className, fieldName); - - if (isLegallyPersistent) - { - MappingClassElement mappingClass = - getMappingClass(className); - MappingFieldElement mappingElement = - ((mappingClass != null) ? - mappingClass.getField(fieldName) : null); - - if (mappingElement != null) - { - boolean jdoIsRelationship = isLegalRelationship(field); - - if (jdoIsRelationship != isRelationship(mappingElement)) - { - throw constructFieldException(fieldName, - "util.validation.field_type_inconsistent"); //NOI18N - } - } - } - } - }; - } - - /** Create a validation component which can check whether the field is - * consistent (if in mapping model but not jdo, it is a problem). - * @param field the field whose consistency is being checked - * @return the validation component - */ - protected ValidationComponent createFieldConsistencyComponent ( - final MappingFieldElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - if (field != null) - { - String fieldName = field.getName(); - PersistenceClassElement persistenceClass = - getPersistenceClass(getClassName()); - PersistenceFieldElement persistenceElement = - ((persistenceClass != null) ? - persistenceClass.getField(fieldName) : null); - - if (persistenceElement == null) - { - throw constructFieldException(fieldName, - "util.validation.field_model_inconsistent");//NOI18N - } - } - } - }; - } - - /** Create a validation component which can check the persistence type - * of the field (whether it is a relationship or not). - * @param field the field whose persistence type is being checked - * @return the validation component - */ - protected ValidationComponent createFieldPersistenceTypeComponent ( - final PersistenceFieldElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - String fieldName = field.getName(); - String className = getClassName(); - boolean isLegallyPersistent = - isPersistentAllowed(className, fieldName); - - if (isLegallyPersistent) - { - boolean isRelationship = isRelationship(field); - boolean mustBeRelationship = shouldBeRelationship(field); - - if (isRelationship && !mustBeRelationship) - { - throw constructFieldException(fieldName, - "util.validation.field_relationship_not_allowed");//NOI18N - } - else if (!isRelationship && mustBeRelationship) - { - throw constructFieldException(fieldName, - "util.validation.field_type_not_allowed"); //NOI18N - } - } - } - }; - } - - /** Create a validation component which can check whether the cardinality - * bounds are semantically valid given the relationship field type. - * @param field the relationship whose cardinality bounds are being checked - * @return the validation component - */ - protected ValidationComponent createFieldCardinalityComponent ( - final PersistenceFieldElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - if (isLegalRelationship(field)) - { - RelationshipElement relationship = - (RelationshipElement)field; - String fieldName = field.getName(); - boolean nonCollectionRelationship = - !isCollection(getClassName(), fieldName); - int upperBound = (nonCollectionRelationship ? - 1 : relationship.getUpperBound()); - int lowerBound = relationship.getLowerBound(); - MappingRelationshipElement mapping = null; - - if ((lowerBound < 0) || (upperBound <= 0) || - (lowerBound > upperBound)) - { - throw constructFieldException(fieldName, - "util.validation.cardinality_invalid"); //NOI18N - } - - // now check specific lower bound requirements imposed - // by the mapping - mapping = getMappingRelationship(relationship); - if (nonCollectionRelationship && (lowerBound != 1) && - (mapping != null) && !isJoin(mapping)) - { - // If the non-collection relationship field is exactly - // mapped to a FK, we need to check the nullability - // of the columns. If there are any non-nullable - // columns the lower bound must be 1. - ForeignKeyElement fk = getMatchingFK(mapping); - - if ((fk != null) && hasNonNullableColumn(fk)) - { - throw constructFieldException(fieldName, - "util.validation.lower_bound_invalid"); //NOI18N - } - } - } - } - - /** Returns true if the specified FK has at least - * one non-nullable column. Please note that the caller is - * responsible for passing a non-null fk argument. - */ - private boolean hasNonNullableColumn (ForeignKeyElement fk) - { - ColumnElement[] localColumns = fk.getLocalColumns(); - int count = ((localColumns != null) ? localColumns.length : 0); - - for (int i = 0; i < count; i++) - { - if (!localColumns[i].isNullable()) - return true; - } - - return false; - } - - /** Checks whether the specified relationship is exactly mapped - * to a FK. If yes, the method returns the matching FK. If not, - * it returns null. Please note that the caller is - * responsible for passing a non-null mapping argument. - */ - private ForeignKeyElement getMatchingFK ( - MappingRelationshipElement mapping) - { - MappingClassElement mappingClass = mapping. - getDeclaringClass(); - String databaseRoot = getSchemaForClass(getClassName()); - List pairNames = mapping.getColumns(); - List tables = mappingClass.getTables(); - - if (tables != null) - { - for (Iterator i = tables.iterator(); i.hasNext();) - { - String tableName = ((MappingTableElement)i.next()). - getName(); - TableElement table = getTable(tableName, databaseRoot); - ForeignKeyElement fk = getMatchingFK(pairNames, table); - - if (fk != null) - return fk; - } - } - - return null; - } - - /** Checks whether the specified TableElement has a FK that - * exactly matches the list of column pair names. - * @return the matching FK if it exactly matches the list - * of column pairs; null otherwise. - */ - private ForeignKeyElement getMatchingFK (List pairNames, - TableElement table) - { - ForeignKeyElement[] foreignKeys = (table != null) ? - table.getForeignKeys() : null; - int count = ((foreignKeys != null) ? foreignKeys.length : 0); - - for (int i = 0; i < count; i++) - { - if (matchesFK(pairNames, foreignKeys[i])) - return foreignKeys[i]; - } - - return null; - } - - /** Returns true if the specified list of column - * pair names matches exactly the specified FK. - */ - private boolean matchesFK (List pairNames, - ForeignKeyElement foreignKey) - { - ColumnPairElement[] fkPairs = foreignKey.getColumnPairs(); - int fkCount = ((fkPairs != null) ? fkPairs.length : 0); - int count = ((pairNames != null) ? pairNames.size() : 0); - - // First check whether the list of fk column pairs has the - // same size than the specified list of columns. - if (fkCount == count) - { - // Now check whether each fk column is included in the - // specified list of columns. - for (int i = 0; i < fkCount; i++) - { - String fkPairName = NameUtil.getRelativeMemberName( - fkPairs[i].getName().getFullName()); - - if (!pairNames.contains(fkPairName)) - return false; - } - - return true; - } - - return false; - } - }; - } - - /** Create a validation component which can check whether the field is - * unmapped. - * @param field the field whose mapping is being checked - * @return the validation component - */ - protected ValidationComponent createFieldMappingComponent ( - final PersistenceFieldElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - String fieldName = field.getName(); - MappingClassElement mappingClass = - getMappingClass(getClassName()); - - if ((mappingClass != null) && - (mappingClass.getTables().size() > 0)) - { - MappingFieldElement mappingField = - mappingClass.getField(fieldName); - - if ((mappingField == null) || - (mappingField.getColumns().size() == 0)) - { - throw constructFieldException( - ModelValidationException.WARNING, fieldName, - "util.validation.field_not_mapped"); //NOI18N - } - } - } - }; - } - - /** Create a validation component which can check whether the field is - * mapped to a blob type and if so, whether it is a key field or belongs - * to the default fetch group. Note that it's somewhat important to check - * for the key field first because if a field is key, its fetch group - * value in the model is ignored. - * @param field the field whose mapping/key field/fetch group consistency - * is being checked - * @return the validation component - */ - protected ValidationComponent createFieldBlobMappingComponent ( - final PersistenceFieldElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - String className = getClassName(); - String fieldName = field.getName(); - MappingClassElement mappingClass = getMappingClass(className); - MappingFieldElement mappingField = ((mappingClass != null) ? - mappingClass.getField(fieldName) : null); - - if (mappingField != null) - { - boolean isKey = field.isKey(); - - if (isKey || (MappingFieldElement.GROUP_DEFAULT == - mappingField.getFetchGroup())) - { - if (isMappedToBlob(mappingField, - getSchemaForClass(className))) - { - throw constructFieldException(fieldName, (isKey ? - "util.validation.field_key_field_not_allowed" : //NOI18N - "util.validation.field_fetch_group_not_allowed")); // NOI18N - } - } - } - } - private boolean isMappedToBlob (MappingFieldElement mappingField, - String schema) - { - if (mappingField instanceof MappingRelationshipElement) - { - return isMappedToBlob( - (MappingRelationshipElement)mappingField, schema); - } - else - { - Iterator iterator = mappingField.getColumns().iterator(); - - while (iterator.hasNext()) - { - String absoluteName = NameUtil.getAbsoluteMemberName( - schema, (String)iterator.next()); - TableElement table = TableElement.forName( - NameUtil.getTableName(absoluteName)); - ColumnElement columnElement = ((table != null) ? - (ColumnElement)table.getMember( - DBIdentifier.create(absoluteName)) : null); - - if (isMappedToBlob(columnElement)) - return true; - } - } - - return false; - } - private boolean isMappedToBlob (MappingRelationshipElement rel, - String schema) - { - Iterator iterator = rel.getColumns().iterator(); - - while (iterator.hasNext()) - { - ColumnPairElement pair = - getPair((String)iterator.next(), schema); - - if (isMappedToBlob(pair)) - return true; - } - - // now check join columns - iterator = rel.getAssociatedColumns().iterator(); - while (iterator.hasNext()) - { - ColumnPairElement pair = - getPair((String)iterator.next(), schema); - - if (isMappedToBlob(pair)) - return true; - } - - return false; - } - private boolean isMappedToBlob (ColumnPairElement pair) - { - return ((pair == null) ? false : - isMappedToBlob(pair.getLocalColumn()) && - isMappedToBlob(pair.getReferencedColumn())); - } - private boolean isMappedToBlob (ColumnElement column) - { - return ((column != null) && - SQLTypeUtil.isBlob(column.getType())); - } - }; - } - - /** Create a validation component which can check whether the collection - * class is valid given the relationship field type. - * @param field the relationship whose collection class is being checked - * @return the validation component - */ - protected ValidationComponent createCollectionClassComponent ( - final RelationshipElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - String className = getClassName(); - String fieldName = field.getName(); - - if (isCollection(className, fieldName)) - { - Model model = getModel(); - String collectionClass = field.getCollectionClass(); - String fieldType = model.getFieldType(className, fieldName); - boolean missingCollectionClass = - StringHelper.isEmpty(collectionClass); - - if (!missingCollectionClass && - !model.getSupportedCollectionClasses(fieldType). - contains(collectionClass)) - { - throw constructFieldException(fieldName, - "util.validation.collection_class_invalid");//NOI18N - } - } - } - }; - } - - /** Create a validation component which can check whether the - * relationship is mapped to columns even though the element class is null. - * @param field the relationship whose element class is being checked - * @return the validation component - */ - protected ValidationComponent createElementClassComponent ( - final RelationshipElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - String className = getClassName(); - String fieldName = field.getName(); - - if (isCollection(className, fieldName)) - { - String elementClass = field.getElementClass(); - - if (StringHelper.isEmpty(elementClass)) - { - MappingClassElement mappingClass = - getMappingClass(className); - MappingFieldElement mappingElement = - ((mappingClass != null) ? - mappingClass.getField(fieldName) : null); - - if ((mappingElement != null) && - (mappingElement.getColumns().size() > 0)) - { - throw constructFieldException(fieldName, - "util.validation.element_class_not_found");//NOI18N - } - } - } - } - }; - } - - /** Create a validation component which checks whether the rules for - * version consistency are followed. This includes: - *

      - *
    • There must be exactly one version field defined. - *
    • The version field must not be a relationship. - *
    • The version field must not be a key field. - *
    • The version field must be of java type (primitive) long. - *
    • The version field must be in the default fetch group. - *
    • The version field must be mapped to exactly 1 column from the - * primary table. - *
    • The column to which the version field is mapped must be of a - * numeric type and non-nullable. - *
    • The column to which the version field is mapped must not be a PK or - * FK column. - *
    - * @param mappingClass the mapping class element whose consistency is being - * checked - * @return the validation component - */ - protected ValidationComponent createVersionConsistencyComponent ( - final MappingClassElement mappingClass) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - // only bother to check for classes with version consistency - if (MappingClassElement.VERSION_CONSISTENCY == - mappingClass.getConsistencyLevel()) - { - MappingFieldElement versionField = - validateVersionFieldExistence(); - String className = mappingClass.getName(); - String fieldName = versionField.getName(); - String columnName = null; - ColumnElement column = null; - - if (versionField instanceof MappingRelationshipElement) - { - throw constructFieldException(fieldName, - "util.validation.version_field_relationship_not_allowed");//NOI18N - } - else if (MappingFieldElement.GROUP_DEFAULT != - versionField.getFetchGroup()) // must be in DFG - { - throw constructFieldException(fieldName, - "util.validation.version_field_fetch_group_invalid");//NOI18N - } - - validatePersistenceFieldAttributes(className, fieldName); - columnName = validateVersionFieldMapping(versionField); - column = validateTableMatch(className, fieldName, columnName); - validateColumnAttributes(className, fieldName, column); - } - } - /** Helper method validating the existence of the exactly one - * version field. - */ - private MappingFieldElement validateVersionFieldExistence () - throws ModelValidationException - { - List versionFields = mappingClass.getVersionFields(); - - // must have exactly 1 version field (for this release) - if (versionFields.size() != 1) - { - throw constructClassException(mappingClass.getName(), - null, "util.validation.version_field_cardinality"); //NOI18N - } - - return (MappingFieldElement)versionFields.get(0); - } - /** Helper method validating the attributes of the field in the - * jdo model which corresponds to the version field. - */ - private void validatePersistenceFieldAttributes (String className, - String fieldName) throws ModelValidationException - { - Class fieldType = JavaTypeHelper.getPrimitiveClass( - getModel().getFieldType(className, fieldName)); - String keyName = null; - - // must not be a key field - if (getPersistenceClass(className).getField(fieldName).isKey()) - keyName = "util.validation.version_field_key_field_not_allowed";//NOI18N - else if (Long.TYPE != fieldType) // must be type long - keyName = "util.validation.version_field_type_not_allowed";//NOI18N - - if (keyName != null) - throw constructFieldException(fieldName, keyName); - } - /** Helper method validating the column name of the - * version field mapping. - */ - private String validateVersionFieldMapping ( - MappingFieldElement versionField) - throws ModelValidationException - { - List columns = versionField.getColumns(); - - // must be mapped to exactly 1 column (for this release) - if (columns.size() != 1) - { - throw constructFieldException(versionField.getName(), - "util.validation.version_field_not_mapped"); //NOI18N - } - - return (String)columns.get(0); - } - /** Helper method validating the column mapping of the version - * field is from the primary table. - */ - private ColumnElement validateTableMatch (String className, - String fieldName, String columnName) - throws ModelValidationException - { - String schema = getSchemaForClass(className); - String absoluteName = - NameUtil.getAbsoluteMemberName(schema, columnName); - TableElement table = - TableElement.forName(NameUtil.getTableName(absoluteName)); - String primaryName = ((MappingTableElement)mappingClass. - getTables().get(0)).getName(); - TableElement pTable = getTable(primaryName, schema); - - // column must be from the PT - if (table != pTable) - { - throw new ModelValidationException( - getModel().getField(className, fieldName), - I18NHelper.getMessage(getMessages(), - "util.validation.version_field_table_mismatch", //NOI18N - new Object[]{columnName, fieldName, className})); - } - - return ((table != null) ? (ColumnElement)table.getMember( - DBIdentifier.create(absoluteName)) : null); - } - /** Helper method validating the attributes of the column of the - * version field mapping. - */ - private void validateColumnAttributes (String className, - String fieldName, ColumnElement column) - throws ModelValidationException - { - String keyName = null; - - // column must be numeric type and non-nullable - if (column.isNullable() || !column.isNumericType()) - keyName = "util.validation.version_field_column_type_invalid"; // NOI18N - else // column must be non-PK and non-FK column - { - TableElement table = column.getDeclaringTable(); - UniqueKeyElement[] uks = table.getUniqueKeys(); - ForeignKeyElement[] fks = table.getForeignKeys(); - int i, count = ((uks != null) ? uks.length : 0); - - for (i = 0; i < count; i++) - { - UniqueKeyElement uk = uks[i]; - - if (uk.isPrimaryKey() && Arrays.asList( - uk.getColumns()).contains(column)) - { - keyName = "util.validation.version_field_column_pk_invalid"; // NOI18N - break; - } - } - - count = ((fks != null) ? fks.length : 0); - for (i = 0; i < count; i++) - { - ForeignKeyElement fk = fks[i]; - - if (Arrays.asList(fk.getLocalColumns()). - contains(column)) - { - keyName = "util.validation.version_field_column_fk_invalid"; // NOI18N - break; - } - } - } - - if (keyName != null) - { - throw new ModelValidationException( - getModel().getField(className, fieldName), - I18NHelper.getMessage(getMessages(), keyName, - new Object[]{column.getName(), fieldName, className})); - } - } - }; - } - - /** Create a validation component which can check whether the inverse of - * the inverse of the relationship is the relationship itself. - * @param field the relationship whose inverse relationship is being checked - * @return the validation component - */ - protected ValidationComponent createInverseFieldComponent ( - final RelationshipElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - Model model = getModel(); - RelationshipElement inverse = - field.getInverseRelationship(model); - RelationshipElement inverseInverse = ((inverse != null) ? - inverse.getInverseRelationship(model) : null); - - if ((inverse != null) && - (!field.equals(inverseInverse) || (inverseInverse == null))) - { - String fieldName = field.getName(); - - throw new ModelValidationException( - model.getField(getClassName(), fieldName), - I18NHelper.getMessage(getMessages(), - "util.validation.inverse_field_invalid", //NOI18N - new Object[]{fieldName, inverse.getName()})); - } - } - }; - } - - /** Create a validation component which can check whether the inverse of - * the relationship belongs to the related class (type or element class - * depending on cardinality). - * @param field the relationship whose inverse relationship is being checked - * @return the validation component - */ - protected ValidationComponent createRelatedClassMatchesComponent ( - final RelationshipElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - String inverseName = - field.getInverseRelationshipName(); - - if (!StringHelper.isEmpty(inverseName)) - { - Model model = getModel(); - RelationshipElement inverse = - field.getInverseRelationship(model); - - if (inverse == null) // no such field in that related class - { - String relatedClass = getRelatedClass(field); - String fieldName = field.getName(); - String key = ((relatedClass != null) ? - "util.validation.related_class_mismatch" : //NOI18N - "util.validation.related_class_not_found");//NOI18N - Object[] args = ((relatedClass != null) ? - new Object[]{fieldName, inverseName, relatedClass} - : new Object[]{fieldName, inverseName}); - - throw new ModelValidationException( - model.getField(getClassName(), fieldName), - I18NHelper.getMessage(getMessages(), key, args)); - } - } - } - }; - } - - /** Create a validation component which can check whether the mapping of - * the relationship and the mapping of its inverse are inverses of each - * other. - * @param field the relationship whose inverse relationship is being checked - * @return the validation component - */ - protected ValidationComponent createInverseMappingComponent ( - final RelationshipElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - Model model = getModel(); - RelationshipElement inverse = - field.getInverseRelationship(model); - - if ((inverse != null) && !isInverseMapping(field, inverse)) - { - String fieldName = field.getName(); - - throw new ModelValidationException( - model.getField(getClassName(), fieldName), - I18NHelper.getMessage(getMessages(), - "util.validation.inverse_mapping_mismatch", //NOI18N - new Object[]{fieldName, inverse.getName()})); - } - } - private boolean hasMappingRows (MappingRelationshipElement field2) - { - if (field2 != null) - { - ArrayList columns = field2.getColumns(); - - return ((columns != null) && !columns.isEmpty()); - } - - return false; - } - private boolean isInverseMapping (RelationshipElement jdoField1, - RelationshipElement jdoField2) - { - MappingRelationshipElement field1 = - getMappingRelationship(jdoField1); - MappingRelationshipElement field2 = - getMappingRelationship(jdoField2); - boolean field1HasMapping = hasMappingRows(field1); - boolean field2HasMapping = hasMappingRows(field2); - - // if both have rows, they must be exact inverses - if (field1HasMapping && field2HasMapping) - { - boolean field1IsJoin = isJoin(field1); - - if (field1IsJoin == isJoin(field2)) - { - ArrayList pairs1 = field1.getColumns(); - ArrayList pairs2 = field2.getColumns(); - - return ((!field1IsJoin) ? isInverse(pairs1, pairs2) : - (isInverse(pairs1, - field2.getAssociatedColumns()) && - isInverse(field1.getAssociatedColumns(), pairs2))); - } - - return false; - } - - // if neither have rows that's fine - return (field1HasMapping == field2HasMapping); - } - private boolean isInverse (ArrayList pairs1, ArrayList pairs2) - { - int i, size1 = pairs1.size(), size2 = pairs2.size(); - - if (size1 == size2) - { - for (i = 0; i < size1; i++) - { - String nextPair = (String)pairs1.get(i); - String inversePair = (String)pairs2.get(i); - int semicolonIndex1 = nextPair.indexOf(';'); - int semicolonIndex2 = inversePair.indexOf(';'); - - if (((semicolonIndex1 == -1) || (semicolonIndex2 == -1)) - || (!nextPair.substring(0, semicolonIndex1).equals( - inversePair.substring(semicolonIndex2 + 1)) || - !nextPair.substring(semicolonIndex1 + 1).equals( - inversePair.substring(0, semicolonIndex2)))) - { - return false; - } - } - - return true; - } - - return false; - } - }; - } - - /** Create a validation component which can check whether the field is - * part of a managed (multiple fields to same column) group and in an - * illegal fetch group. If the field is in one of these groups, it is - * not allowed to be in the default fetch group. - * @param field the field whose fetch group is being checked - * @return the validation component - */ - protected ValidationComponent createFieldDefaultFetchGroupComponent ( - final MappingFieldElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - if (field != null) - { - String fieldName = field.getName(); - PersistenceClassElement persistenceClass = - getPersistenceClass(getClassName()); - PersistenceFieldElement pElement = - ((persistenceClass != null) ? - persistenceClass.getField(fieldName) : null); - - if ((pElement != null) && !pElement.isKey() && - (MappingFieldElement.GROUP_DEFAULT == - field.getFetchGroup())) - { - MappingClassElement mappingClass = - field.getDeclaringClass(); - boolean isVersionField = - ((MappingClassElement.VERSION_CONSISTENCY == - mappingClass.getConsistencyLevel()) && - field.isVersion()); - Iterator iterator = mappingClass.getFields().iterator(); - String exceptionKey = (!isVersionField ? - "util.validation.field_fetch_group_invalid"://NOI18N - "util.validation.version_field_column_invalid");//NOI18N - - /* rules: - * primitive, primitive -> error if exact match of - * columns - * primitive, relationship OR - * relationship, primitive -> error if non-collection - * relationship and none of the relationship's - * columns are PK columns and any are present in - * the primitive's list - * relationship, relationship -> error if exact - * match of mapping (local, join, associated), - * but order is not important - */ - while (iterator.hasNext()) - { - MappingFieldElement testField = - (MappingFieldElement)iterator.next(); - - if (isManaged(field, testField) || - isManaged(testField, field)) - { - throw constructFieldException( - fieldName, exceptionKey); - } - else if (!testField.equals(field) && isExactMatch( - field, testField)) - { - throw constructFieldException( - fieldName, exceptionKey); - } - } - } - } - } - private boolean isManaged (MappingFieldElement primField, - MappingFieldElement relField) - { - String className = getClassName(); - - if (!isRelationship(primField) && isRelationship(relField) && - !isCollection(className, relField.getName())) - { - ArrayList columns = primField.getColumns(); - Iterator iterator = relField.getColumns().iterator(); - String databaseRoot = getSchemaForClass(className); - - while (iterator.hasNext()) - { - if (!testColumn(getLocalColumn((String)iterator.next(), - databaseRoot), columns)) - { - return true; - } - } - } - - return false; - } - private boolean testColumn (ColumnElement column, - ArrayList masterList) - { - if ((column != null) && !isPrimaryKeyColumn(column)) - { - return !masterList.contains(NameUtil. - getRelativeMemberName(column.getName().getFullName())); - } - - return true; - } - private ColumnElement getLocalColumn (String pairName, - String databaseRoot) - { - ColumnPairElement pair = getPair(pairName, databaseRoot); - - return ((pair != null) ? pair.getLocalColumn() : null); - } - private boolean isPrimaryKeyColumn (ColumnElement column) - { - if (column != null) - { - KeyElement key = column.getDeclaringTable().getPrimaryKey(); - - return ((key != null) && - (key.getColumn(column.getName()) != null)); - } - - return false; - } - private boolean isExactMatch (ArrayList columns1, - ArrayList columns2) - { - int count = columns1.size(); - - if ((count > 0) && (count == columns2.size())) - return getDifference(columns1, columns2).isEmpty(); - - return false; - } - private boolean isExactMatch (MappingFieldElement field1, - MappingFieldElement field2) - { - boolean field1IsRel = isRelationship(field1); - boolean match = false; - - // both primitives, or both relationships - if (field1IsRel == isRelationship(field2)) - { - match = isExactMatch(field1.getColumns(), - field2.getColumns()); - - if (match && field1IsRel) - { - MappingRelationshipElement rel1 = - (MappingRelationshipElement)field1; - MappingRelationshipElement rel2 = - (MappingRelationshipElement)field2; - boolean field1IsJoin = isJoin(rel1); - - // both join relationships or both direct - if (field1IsJoin == isJoin(rel2)) - { - if (field1IsJoin) - { - match = isExactMatch( - rel1.getAssociatedColumns(), - rel2.getAssociatedColumns()); - } - } - else - match = false; - } - } - - return match; - } - }; - } - - /** Create a validation component which can check whether the schema of - * the related class matches that of the class we are checking. - * @param relatedClass the class whose schema is being checked - * @param relatedField the relationship field whose schema is being - * compared - * @return the validation component - */ - protected ValidationComponent createRelatedSchemaMatchesComponent ( - final String relatedClass, final PersistenceFieldElement relatedField) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - if (relatedClass != null) - { - String className = getClassName(); - String mySchema = getSchemaForClass(className); - String relatedSchema = getSchemaForClass(relatedClass); - - if ((mySchema != null) && (relatedSchema != null) && - !(relatedSchema.equals(mySchema))) - { - String fieldName = relatedField.getName(); - - throw new ModelValidationException( - getModel().getField(className, fieldName), - I18NHelper.getMessage(getMessages(), - "util.validation.schema_mismatch", //NOI18N - new Object[]{className, relatedClass, fieldName})); - } - } - } - }; - } - - /** Create a validation component which can check whether any of - * the supplied tables of the related class (which includes primary - * and secondary tables) contains the table of the column stored in - * the relationship definition. - * @param relatedClass the class whose table is being checked - * @param relatedField the relationship field whose table is being compared - * @param tableNames the list of names of the tables we expect the - * column to match - * @param pairName the name of the pair whose reference column is to - * be checked - * @return the validation component - */ - protected ValidationComponent createRelatedTableMatchesComponent ( - final String relatedClass, final PersistenceFieldElement relatedField, - final List tableNames, final String pairName) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - ColumnPairElement pair = getPair(pairName, - getSchemaForClass(relatedClass)); - - if (pair != null) - { - ColumnElement column = pair.getReferencedColumn(); - - if (!matchesTable(tableNames, column)) - { - String fieldName = relatedField.getName(); - - throw new ModelValidationException( - getModel().getField(getClassName(), fieldName), - I18NHelper.getMessage(getMessages(), - getKey( - "util.validation.table_mismatch", //NOI18N - relatedField), - new Object[]{column.getName().getFullName(), - fieldName, relatedClass})); - } - } - } - }; - } - - /** Create a validation component which can check whether the schema of - * the given class exists. - * @param className the class whose mapped schema's existence is - * being checked - * @return the validation component - */ - protected ValidationComponent createSchemaExistenceComponent ( - final String className) - { - return createSchemaExistenceComponent(className, null); - } - - /** Create a validation component which can check whether the schema of - * the given class exists. - * @param className the class whose mapped schema's existence is - * being checked - * @param relatedField the relationship field whose class' - * mapped schema is being checked, may be null in which - * case we are probably checking the same class as the validator is - * checking overall - * @return the validation component - */ - protected ValidationComponent createSchemaExistenceComponent ( - final String className, final PersistenceFieldElement relatedField) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - String schemaName = getSchemaForClass(className); - - if ((schemaName != null) && - (SchemaElement.forName(schemaName) == null)) - { - Object[] args = (relatedField == null) ? - new Object[]{schemaName, className} : - new Object[]{schemaName, className, relatedField}; - - throw new ModelValidationException( - ModelValidationException.WARNING, - getOffendingObject(relatedField), - I18NHelper.getMessage(getMessages(), getKey( - "util.validation.schema_not_found", //NOI18N - relatedField), args)); - } - } - }; - } - - /** Create a validation component which can check whether the - * class is mapped to tables even though the schema is null or the - * class is mapped to a primary table without a primary key. - * @param primaryTable the primary table for the class - * @return the validation component - */ - protected ValidationComponent createPrimaryTableComponent ( - final MappingTableElement primaryTable) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - if (primaryTable != null) - { - String className = getClassName(); - String schemaName = getSchemaForClass(className); - - if (schemaName == null) - { - throw constructClassException(className, null, - "util.validation.schema_not_set"); //NOI18N - } - else - { - String tableName = primaryTable.getName(); - TableElement table = getTable(tableName, schemaName); - - if ((table != null) && (table.getPrimaryKey() == null)) - { - throw new ModelValidationException( - getOffendingObject(null), - I18NHelper.getMessage(getMessages(), - "util.validation.table_no_primarykey", //NOI18N - new Object[]{tableName, className})); - } - } - } - } - }; - } - - /** Create a validation component which can check whether the given table - * exists. - * @param tableName the table whose existence is being checked - * @return the validation component - */ - protected ValidationComponent createTableExistenceComponent ( - final String tableName) - { - return createTableExistenceComponent(tableName, null); - } - - /** Create a validation component which can check whether the given table - * exists. - * @param tableName the table whose existence is being checked - * @param relatedField the relationship field whose class' - * table is being checked, may be null in which - * case we are probably checking the same class as the validator is - * checking overall - * @return the validation component - */ - protected ValidationComponent createTableExistenceComponent ( - final String tableName, final PersistenceFieldElement relatedField) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - if (tableName != null) - { - String className = getClassName(); - boolean noRelated = (relatedField == null); - TableElement table = getTable(tableName, - getSchemaForClass((noRelated ? className : - getRelatedClass(relatedField)))); - - if (table == null) - { - Object[] args = noRelated ? - new Object[]{tableName, className} : - new Object[]{tableName, relatedField}; - - throw new ModelValidationException( - ModelValidationException.WARNING, - getOffendingObject(relatedField), - I18NHelper.getMessage(getMessages(), getKey( - "util.validation.table_not_found", //NOI18N - relatedField), args)); - } - } - } - }; - } - - /** Create a validation component which can check whether the given column - * exists. - * @param columnName the column whose existence is being checked - * @return the validation component - */ - protected ValidationComponent createColumnExistenceComponent ( - final String columnName) - { - return createColumnExistenceComponent(columnName, null); - } - - /** Create a validation component which can check whether the given - * column or column pair exists. - * @param columnName the column or pair whose existence is being checked - * @param relatedField the field whose class' column is being checked, - * may be null in which case we are probably checking the - * same secondary table setup - * @return the validation component - */ - protected ValidationComponent createColumnExistenceComponent ( - final String columnName, final MappingFieldElement relatedField) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - if (columnName != null) - { - String className = getClassName(); - String absoluteName = NameUtil.getAbsoluteMemberName( - getSchemaForClass(className), columnName); - TableElement table = TableElement.forName( - NameUtil.getTableName(absoluteName)); - boolean foundTable = (table != null); - DBMemberElement columnElement = ((foundTable) ? - table.getMember(DBIdentifier.create(absoluteName)) : - null); - boolean noRelated = (relatedField == null); - - if (foundTable) - { - boolean isRelationship = - (!noRelated && isRelationship(relatedField)); - boolean noColumn = (columnElement == null); - - if (!isRelationship && noColumn) - { - Object[] args = (noRelated) ? - new Object[]{columnName, className} : - new Object[]{columnName, relatedField, - className}; - - throw new ModelValidationException( - ModelValidationException.WARNING, - getOffendingObject(relatedField), - I18NHelper.getMessage(getMessages(), getKey( - "util.validation.column_not_found", //NOI18N - relatedField), args)); - } - else if (isRelationship && - (noColumn || !isPairComplete(columnElement))) - { - throw new ModelValidationException( - ModelValidationException.WARNING, - getOffendingObject(relatedField), - I18NHelper.getMessage(getMessages(), - "util.validation.column_invalid", //NOI18N - new Object[]{columnName, relatedField, - className})); - } - } - } - } - private boolean isPairComplete (DBMemberElement member) - { - return ((member instanceof ColumnPairElement) && - (((ColumnPairElement)member).getLocalColumn() != null) && - (((ColumnPairElement)member).getReferencedColumn() - != null)); - } - }; - } - - /** Create a validation component which can check whether the field is - * one of a set mapped to overlapping columns - * @param field the field whose column mapping is being checked - * @return the validation component - */ - protected ValidationComponent createColumnOverlapComponent ( - final MappingFieldElement field) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - MappingClassElement mappingClass = field.getDeclaringClass(); - Iterator iterator = mappingClass.getFields().iterator(); - ArrayList myColumns = field.getColumns(); - - while (iterator.hasNext()) - { - MappingFieldElement testField = - (MappingFieldElement)iterator.next(); - - if (!testField.equals(field) && !isRelationship(testField) - && isPartialMatch(myColumns, testField.getColumns())) - { - String fieldName = field.getName(); - - throw new ModelValidationException(getModel().getField( - getClassName(), fieldName), - I18NHelper.getMessage(getMessages(), - "util.validation.field_mapping_invalid", //NOI18N - new Object[]{fieldName, testField.getName()})); - } - } - } - private boolean isPartialMatch (ArrayList columns1, - ArrayList columns2) - { - int count = columns1.size(); - - if (count > 0) - { - ArrayList difference = getDifference(columns1, columns2); - - return (!difference.isEmpty() && - (columns2.size() != difference.size())); - } - - return false; - } - }; - } - - /** Create a validation component which can check whether the key class - * of the persistence capable class is valid. This includes: - *
      - *
    • The key class must be public. - *
    • The key class must implement Serializable. - *
    • If the key class is an inner class, it must be static. - *
    • The key class must have a public constructor, which might be - * the default constructor or a no-arg constructor. - *
    • The field types of all non-static fields in the key class must be - * of valid types. - *
    • All serializable non-static fields in the key class must be public. - *
    • The names of the non-static fields in the key class must include the - * names of the primary key fields in the JDO class, and the types of the - * common fields must be identical - *
    • The key class must redefine equals and hashCode. - *
    - */ - protected ValidationComponent createKeyClassComponent ( - final String className) - { - return new ValidationComponent () - { - /** The class element of the key class */ - private Object keyClass; - - /** The fully qualified name of the key class */ - private String keyClassName; - - public void validate () throws ModelValidationException - { - // checks the key class name - keyClassName = validateKeyClassName(className); - // initilialize keyClass field - keyClass = getModel().getClass(keyClassName, getClassLoader()); - validateClass(); - validateConstructor(); - validateFields(); - validateMethods(); - } - - /** Helper method validating the key class itself: - * public, serializable, static. - */ - private void validateClass () throws ModelValidationException - { - Model model = getModel(); - int modifiers = model.getModifiersForClass(keyClassName); - boolean hasKeyClassName = !StringHelper.isEmpty(keyClassName); - boolean isInnerClass = - (hasKeyClassName && (keyClassName.indexOf('$') != -1)); - String pcClassName = getClassName(); - - // check for key class existence - if (keyClass == null) - { - throw new ModelValidationException( - ModelValidationException.WARNING, - model.getClass(pcClassName), - I18NHelper.getMessage(getMessages(), - "util.validation.key_class_missing", //NOI18N - keyClassName, pcClassName)); - } - - // check for public class modifier - if (!Modifier.isPublic(modifiers)) - { - throw new ModelValidationException(keyClass, - I18NHelper.getMessage(getMessages(), - "util.validation.key_class_public", //NOI18N - keyClassName, pcClassName)); - } - - // check for Serializable - /* This check is disabled because of Boston backward - compatibility. In Boston there was no requirement for a - key class being serializable, thus key classes from pc - classes mapped with boston are not serializable. - - if (!model.implementsInterface(keyClass, - "java.io.Serializable")) //NOI18N - { - throw new ModelValidationException(keyClass, - I18NHelper.getMessage(getMessages(), - "util.validation.key_class_serializable", //NOI18N - keyClassName, pcClassName)); - } - */ - - // if inner class it must be static - if (isInnerClass && !Modifier.isStatic(modifiers)) - { - throw new ModelValidationException(keyClass, - I18NHelper.getMessage(getMessages(), - "util.validation.key_class_static", //NOI18N - keyClassName, pcClassName)); - } - } - - /** Helper method validating the fields of the key class. - */ - private void validateFields () throws ModelValidationException - { - String pcClassName = getClassName(); - Model model = getModel(); - // check for valid typed public non-static fields - List keyClassFieldNames = model.getAllFields(keyClassName); - Map keyFields = getKeyFields(); - - for (Iterator i = keyClassFieldNames.iterator(); i.hasNext();) - { - String keyClassFieldName = (String)i.next(); - Object keyClassField = - getKeyClassField(keyClassName, keyClassFieldName); - int keyClassFieldModifiers = - model.getModifiers(keyClassField); - String keyClassFieldType = model.getType(keyClassField); - Object keyField = keyFields.get(keyClassFieldName); - - if (Modifier.isStatic(keyClassFieldModifiers)) - // we are not interested in static fields - continue; - - if (!model.isValidKeyType(keyClassName, keyClassFieldName)) - { - throw new ModelValidationException(keyClassField, - I18NHelper.getMessage(getMessages(), - "util.validation.key_field_type_invalid", //NOI18N - keyClassFieldName, keyClassName)); - } - - if (!Modifier.isPublic(keyClassFieldModifiers)) - { - throw new ModelValidationException(keyClassField, - I18NHelper.getMessage(getMessages(), - "util.validation.key_field_public", //NOI18N - keyClassFieldName, keyClassName)); - } - - if (keyField == null) - continue; - - if (!keyClassFieldType.equals(model.getType(keyField))) - { - throw new ModelValidationException(keyClassField, - I18NHelper.getMessage(getMessages(), - "util.validation.key_field_type_mismatch", //NOI18N - keyClassFieldName, keyClassName, pcClassName)); - } - - // remove handled keyField from the list of keyFields - keyFields.remove(keyClassFieldName); - } - - // check whether there are any unhandled key fields - if (!keyFields.isEmpty()) - { - Object pcClass = model.getClass(pcClassName); - String fieldNames = StringHelper.arrayToSeparatedList( - new ArrayList(keyFields.keySet())); - - throw new ModelValidationException(pcClass, - I18NHelper.getMessage(getMessages(), - "util.validation.key_field_missing", //NOI18N - pcClassName, keyClassName, fieldNames)); - } - } - - /** Helper method validating the key class constructors. - */ - private void validateConstructor () throws ModelValidationException - { - // no constructor or no arg constructor - Model model = getModel(); - boolean hasConstr = model.hasConstructor(keyClassName); - Object noArgConstr = - model.getConstructor(keyClassName, Model.NO_ARGS); - int modifiers = model.getModifiers(noArgConstr); - - if (hasConstr && - ((noArgConstr == null) || !Modifier.isPublic(modifiers))) - { - throw new ModelValidationException(keyClass, - I18NHelper.getMessage(getMessages(), - "util.validation.key_class_constructor", //NOI18N - keyClassName, getClassName())); - } - } - - /** Helper method validating the key class methods. - */ - private void validateMethods () throws ModelValidationException - { - Model model = getModel(); - Object equalsMethod = getNonObjectMethod(keyClassName, - "equals", Model.getEqualsArgs()); //NOI18N - Object hashCodeMethod = getNonObjectMethod(keyClassName, - "hashCode", Model.NO_ARGS); //NOI18N - - // check equals method - if (!matchesMethod(equalsMethod, Modifier.PUBLIC, - 0, "boolean")) //NOI18N - { - throw new ModelValidationException(keyClass, - I18NHelper.getMessage(getMessages(), - "util.validation.key_class_equals", //NOI18N - keyClassName, getClassName())); - } - - // check hashCode method - if (!matchesMethod(hashCodeMethod, Modifier.PUBLIC, - 0, "int")) //NOI18N - { - throw new ModelValidationException(keyClass, - I18NHelper.getMessage(getMessages(), - "util.validation.key_class_hashcode", //NOI18N - keyClassName, getClassName())); - } - } - - /** Helper method validating the name of the key class. - */ - private String validateKeyClassName (String keyClassName) - throws ModelValidationException - { - String pcClassName = getClassName(); - Model model = getModel(); - boolean hasKeyClassName = !StringHelper.isEmpty(keyClassName); - boolean hasPrefix; - String nameSuffix; - boolean isOIDNameSuffix; - - // check for existence of key class name - if (!hasKeyClassName) - { - throw new ModelValidationException( - ModelValidationException.WARNING, - model.getClass(pcClassName), - I18NHelper.getMessage(getMessages(), - "util.validation.key_class_unset", //NOI18N - pcClassName)); - } - - keyClassName = keyClassName.trim(); - hasPrefix = keyClassName.startsWith(pcClassName); - nameSuffix = (hasPrefix ? - keyClassName.substring(pcClassName.length()) : keyClassName); - isOIDNameSuffix = - (nameSuffix.equalsIgnoreCase(".OID") || // NOI18N - nameSuffix.equalsIgnoreCase("$OID")); // NOI18N - - if (!hasPrefix || - (!nameSuffix.equalsIgnoreCase("Key") && // NOI18N - !isOIDNameSuffix)) - { - Object pcClass = getModel().getClass(pcClassName); - throw new ModelValidationException(pcClass, - I18NHelper.getMessage(getMessages(), - "util.validation.key_class_invalid", //NOI18N - keyClassName, pcClassName)); - } - if (isOIDNameSuffix) - { - StringBuilder buf = new StringBuilder(keyClassName); - buf.setCharAt(keyClassName.length() - 4, '$'); - return buf.toString(); - } - return keyClassName; - } - - // helper method which returns a field object from the - // given class or one of its superclasses - private Object getKeyClassField (String keyClassName, - String keyClassFieldName) - { - Model model = getModel(); - Object keyClassField = - model.getField(keyClassName, keyClassFieldName); - - if (keyClassField == null) // this is an inherited field - { - keyClassField = model.getInheritedField( - keyClassName, keyClassFieldName); - } - - return keyClassField; - } - - /** Helper method returning the key fields of the pc class as a map. - */ - private Map getKeyFields () - { - Model model = getModel(); - String pcClassName = getClassName(); - PersistenceClassElement pce = - model.getPersistenceClass(pcClassName); - PersistenceFieldElement[] fields = pce.getFields(); - Map keyFields = new HashMap(); - - if (fields != null) - { - for (int i = 0; i < fields.length; i++) - { - PersistenceFieldElement pfe = fields[i]; - if (pfe.isKey()) - { - String name = pfe.getName(); - keyFields.put(name, - model.getField(pcClassName, name)); - } - } - } - - return keyFields; - } - // helper method which returns a method object from the - // given class or one of its superclasses provided it - // is not java.lang.Object - private Object getNonObjectMethod (String className, - String methodName, String[] argTypeNames) - { - Model model = getModel(); - Object method = - model.getMethod(className, methodName, argTypeNames); - - if (method == null) // look for an inherited method - { - method = model.getInheritedMethod( - className, methodName, argTypeNames); - - if ((method != null) && model.getDeclaringClass(method). - equals("java.lang.Object")) // NOI18N - { - method = null; - } - } - - return method; - } - }; - } - - /** Create a validation component which can check that the persistence - * capable class implement methods readObject and writeObject, if the class - * implements the intreface java.io.Serializable - * @param className the class whose methods are checked - * @return the validation component - */ - protected ValidationComponent createSerializableClassComponent ( - final String className) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - Model model = getModel(); - Object pcClass = null; - - if (className == null) - return; - pcClass = model.getClass(className); - if (pcClass == null) - return; - - if (model.implementsInterface(pcClass, "java.io.Serializable")) //NOI18N - { - // check readObject method - Object readMethod = model.getMethod(className, - "readObject", Model.getReadObjectArgs()); //NOI18N - - if (!matchesMethod(readMethod, Modifier.PRIVATE, - Modifier.SYNCHRONIZED, "void")) // NOI18N - { - throw new ModelValidationException(pcClass, - I18NHelper.getMessage(getMessages(), - "util.validation.class_readobject", //NOI18N - className)); - } - - // check writeObject method - Object writeMethod = model.getMethod(className, - "writeObject", Model.getWriteObjectArgs()); //NOI18N - - if (!matchesMethod(writeMethod, Modifier.PRIVATE, - Modifier.SYNCHRONIZED, "void")) // NOI18N - { - throw new ModelValidationException(pcClass, - I18NHelper.getMessage(getMessages(), - "util.validation.class_writeobject", //NOI18N - className)); - } - } - } - }; - } - - /** Create a validation component which can check whether the class is - * unmapped. - * @param persistenceClass the class whose mapping is being checked - * @return the validation component - */ - protected ValidationComponent createClassMappingComponent ( - final PersistenceClassElement persistenceClass) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - PersistenceFieldElement[] fields = persistenceClass.getFields(); - String className = getClassName(); - - if ((fields == null) || fields.length == 0) - { - throw constructClassException( - ModelValidationException.WARNING, className, null, - "util.validation.class_no_fields"); //NOI18N - } - else // has fields, check for primary table - { - MappingClassElement mappingClass = - getMappingClass(className); - - if ((mappingClass == null) || - (mappingClass.getTables().size() == 0)) - { - throw constructClassException( - ModelValidationException.WARNING, className, null, - "util.validation.class_not_mapped"); //NOI18N - } - } - } - }; - } - - /** Create a validation component which can check whether the class - * contains field mappings for all primary key columns. - * @param persistenceClass the class whose mapping is being checked - * @return the validation component - */ - protected ValidationComponent createKeyColumnMappingComponent ( - final PersistenceClassElement persistenceClass) - { - return new ValidationComponent () - { - public void validate () throws ModelValidationException - { - String className = getClassName(); - MappingClassElement mappingClass = getMappingClass(className); - - if (mappingClass != null) - { - List tables = mappingClass.getTables(); - - if (tables.size() > 0) - { - String tableName = - ((MappingTableElement)tables.get(0)).getName(); - TableElement table = getTable(tableName, - getSchemaForClass(className)); - List columns = getUnmappedColumnNames( - ((table != null) ? table.getPrimaryKey() : null), - mappingClass); - - if ((columns != null) && (columns.size() > 0)) - { - throw new ModelValidationException( - ModelValidationException.WARNING, - getOffendingObject(null), - I18NHelper.getMessage(getMessages(), - "util.validation.class_key_column_missing", //NOI18N - className, tableName, - StringHelper.arrayToSeparatedList(columns))); - } - } - } - } - private List getUnmappedColumnNames (KeyElement primaryKey, - MappingClassElement mappingClass) - { - List unmappedColumns = null; - - if (primaryKey != null) // check if primary table has a pk - { - ColumnElement[] columns = primaryKey.getColumns(); - int count = ((columns != null) ? columns.length : 0); - - // all columns in the pk should be mapped to key fields - if (count > 0) - { - List mappingFields = mappingClass.getFields(); - Iterator iterator = mappingFields.iterator(); - - unmappedColumns = getRelativeColumnNames(columns); - - while (iterator.hasNext()) - { - MappingFieldElement field = - (MappingFieldElement)iterator.next(); - - if (isKeyField(field)) - unmappedColumns.removeAll(field.getColumns()); - } - } - } - - return unmappedColumns; - } - private List getRelativeColumnNames (ColumnElement[] columns) - { - int i, count = ((columns != null) ? columns.length : 0); - List columnNames = new ArrayList(count); - - for (i = 0; i < count; i++) - { - columnNames.add(NameUtil.getRelativeMemberName( - columns[i].getName().getFullName())); - } - - return columnNames; - } - private boolean isKeyField (MappingFieldElement field) - { - PersistenceFieldElement persistenceField = - persistenceClass.getField(field.getName()); - - return ((persistenceField != null) && persistenceField.isKey()); - } - }; - } - - //========== Convenience methods for exception construction ============ - - /** Computes the offending object to be used in the construction of a - * ModelValidationException as follows: if a non-null field is supplied, - * the corresponding org.openide.src.FieldElement is returned, otherwise, - * corresponding org.openide.src.ClassElement is returned. - * @param field the field object which caused the problem - may be - * null - * @return the offending object - */ - private Object getOffendingObject (Object field) - { - return ((field == null) ? - getModel().getClass(getClassName(), getClassLoader()) : - getModel().getField(getClassName(), field.toString())); - } - - /** Computes the key for the i18n string to be used in the construction - * of a ModelValidationException as follows: if a non-null field is - * supplied, "_related" is appending to the supplied key base, otherwise, - * the key base is returned as is. - * @param keyBase the base key to be used for the i18n string - * @param field the field object which caused the problem - may be - * null - * @return the key - */ - private String getKey (String keyBase, Object field) - { - return ((field == null) ? keyBase : (keyBase + "_related")); //NOI18N - } - - /** Computes the arguments for the i18n string to be used in the - * construction of a ModelValidationException as follows: if a - * non-null field is supplied, an array containing the supplied className - * and field is returned, otherwise, an array containing only the supplied - * className is returned. - * @param className the name of the class which caused the problem - * @param field the field object which caused the problem - may be - * null - * @return the argument array - */ - private Object[] getArguments (String className, Object field) - { - return ((field == null) ? new Object[]{className} : - new Object[]{className, field}); - } - - /** Constructs a ModelValidationException for class validation tests - * using the supplied class name, related field, and key base. - * @param className the name of the class which caused the problem - * @param field the field object which caused the problem - may be - * null - * @param keyBase the base key to be used for the i18n string - * @return the ModelValidationException - * @see #getOffendingObject - * @see #getKey - * @see #getArguments - * @see #constructFieldException - */ - private ModelValidationException constructClassException (String className, - Object relatedField, String keyBase) - { - return constructClassException(ModelValidationException.ERROR, - className, relatedField, keyBase); - } - - /** Constructs a ModelValidationException for class validation tests - * using the supplied class name, related field, and key base. - * @param errorType the type of error -- one of - * {@link ModelValidationException#ERROR} or - * {@link ModelValidationException#WARNING}. - * @param className the name of the class which caused the problem - * @param field the field object which caused the problem - may be - * null - * @param keyBase the base key to be used for the i18n string - * @return the ModelValidationException - * @see #getOffendingObject - * @see #getKey - * @see #getArguments - * @see #constructFieldException - */ - private ModelValidationException constructClassException (int errorType, - String className, Object relatedField, String keyBase) - { - return new ModelValidationException(errorType, - getOffendingObject(relatedField), I18NHelper.getMessage( - getMessages(), getKey(keyBase, relatedField), - getArguments(className, relatedField))); - } - - /** Constructs a ModelValidationException for field validation tests - * using the supplied field name and key. - * @param fieldName the name of the field which caused the problem - * @param keyBase the base key to be used for the i18n string - * @return the ModelValidationException - * @see #constructClassException - */ - private ModelValidationException constructFieldException (String fieldName, - String key) - { - return constructFieldException(ModelValidationException.ERROR, - fieldName, key); - } - - /** Constructs a ModelValidationException for field validation tests - * using the supplied field name and key. - * @param errorType the type of error -- one of - * {@link ModelValidationException#ERROR} or - * {@link ModelValidationException#WARNING}. - * @param fieldName the name of the field which caused the problem - * @param keyBase the base key to be used for the i18n string - * @return the ModelValidationException - * @see #constructClassException - */ - private ModelValidationException constructFieldException (int errorType, - String fieldName, String key) - { - return new ModelValidationException(errorType, - getModel().getField(getClassName(), fieldName), - I18NHelper.getMessage(getMessages(), key, fieldName)); - } - - //=============== Misc. private convenience methods ================ - - /** Checks whether the specified method element exists and if so whether it - * has the expected modifiers and the expected return type. - * @param method the method element to be checked - * @param expectedModifiers the modifiers the method should have - * @param optionalModifiers additional modifiers the method might have - * @param expectedReturnType the return type the method should have - * @return true if the method matches, - * false otherwise. - */ - private boolean matchesMethod (final Object method, - final int expectedModifiers, final int optionalModifiers, - final String expectedReturnType) - { - boolean matches = false; - - if (method != null) - { - Model model = getModel(); - int modifiers = model.getModifiers(method); - - matches = (((modifiers == expectedModifiers) || - (modifiers == (expectedModifiers | optionalModifiers))) && - expectedReturnType.equals(model.getType(method))); - } - - return matches; - } - - /** Check if the table of the column matches one of the list of tables. - * @param tableNames A list of table names in which to check for a match - * @param column A ColumnElement object to be checked - * @return true if the column belongs to a table found - * in the supplied list of table names, false otherwise - */ - private boolean matchesTable (List tableNames, ColumnElement column) - { - return ((column == null) ? true : tableNames.contains( - column.getDeclaringTable().getName().getName())); - } - - private boolean isRelationship (Object field) - { - return ((field instanceof RelationshipElement) || - (field instanceof MappingRelationshipElement)); - } - - private boolean shouldBeRelationship (PersistenceFieldElement field) - { - Model model = getModel(); - String fieldType = model.getFieldType(getClassName(), field.getName()); - - return (isPersistent(fieldType) || model.isCollection(fieldType)); - } - - private boolean isLegalRelationship (PersistenceFieldElement field) - { - return (isRelationship(field) ? shouldBeRelationship(field) : false); - } - - private boolean isCollection (String className, String fieldName) - { - Model model = getModel(); - - return model.isCollection(model.getFieldType(className, fieldName)); - } - - private String getRelatedClass (PersistenceFieldElement field) - { - if (isLegalRelationship(field)) - return getModel().getRelatedClass((RelationshipElement)field); - - return null; - } - - private String getSchemaForClass (String className) - { - MappingClassElement mappingClass = getMappingClass(className); - String schema = ((mappingClass != null) ? - mappingClass.getDatabaseRoot() : null); - - return (StringHelper.isEmpty(schema) ? null : schema.trim()); - } - - private MappingRelationshipElement getMappingRelationship ( - RelationshipElement jdoElement) - { - MappingRelationshipElement mappingElement = null; - - if (jdoElement != null) - { - MappingClassElement mappingClass = getMappingClass( - jdoElement.getDeclaringClass().getName()); - - if (mappingClass != null) - { - MappingFieldElement fieldElement = - mappingClass.getField(jdoElement.getName()); - - if (isRelationship(fieldElement)) - mappingElement = (MappingRelationshipElement)fieldElement; - } - } - - return mappingElement; - } - - private boolean isJoin (MappingRelationshipElement field) - { - if (field != null) - { - ArrayList columns = field.getAssociatedColumns(); - - return ((columns != null) && !columns.isEmpty()); - } - - return false; - } - - private MappingReferenceKeyElement findReferenceKey ( - MappingTableElement primaryTable, MappingTableElement secondaryTable) - { - if ((primaryTable != null) && (secondaryTable != null)) - { - Iterator iterator = primaryTable.getReferencingKeys().iterator(); - - while (iterator.hasNext()) - { - MappingReferenceKeyElement testKey = - (MappingReferenceKeyElement)iterator.next(); - - if (testKey.getTable().equals(secondaryTable)) - return testKey; - } - } - - return null; - } - - private TableElement getTable (String tableName, String databaseRoot) - { - String absoluteName = NameUtil.getAbsoluteTableName(databaseRoot, - tableName); - return TableElement.forName(absoluteName); - } - - private ColumnPairElement getPair (String pairName, String databaseRoot) - { - String absoluteName = NameUtil.getAbsoluteMemberName( - databaseRoot, pairName); - TableElement tableElement = TableElement.forName( - NameUtil.getTableName(absoluteName)); - DBMemberElement pair = ((tableElement == null) ? null : - tableElement.getMember(DBIdentifier.create(absoluteName))); - - return ((pair instanceof ColumnPairElement) ? - ((ColumnPairElement)pair) : null); - } - - private ArrayList getDifference (ArrayList columns1, ArrayList columns2) - { - ArrayList differenceColumns = new ArrayList(columns2); - - differenceColumns.removeAll(columns1); - - return differenceColumns; - } - - /** - * Convenience method to call Model.getMappingClass. - */ - private MappingClassElement getMappingClass (String className) - { - return getModel().getMappingClass(className, getClassLoader()); - } - - /** - * Convenience method to call Model.getPersistenceClass. - */ - private PersistenceClassElement getPersistenceClass (String className) - { - return getModel().getPersistenceClass(className, getClassLoader()); - } - - /** - * Convenience method to call Model.isPersistent - */ - private boolean isPersistent (String className) - { - return getModel().isPersistent(className, getClassLoader()); - } - - /** - * Convenience method to call Model.isPersistentAllowed - */ - private boolean isPersistentAllowed (String className, String fieldName) - { - return getModel().isPersistentAllowed(className, getClassLoader(), - fieldName); - } - // ================== Validation component support ================= - - /** Abstraction of component tests for validation. - */ - static abstract class ValidationComponent - { - /** Constructs a new ValidationComponent - */ - public ValidationComponent () - { - } - /** Method which validates this component - * @exception ModelValidationException when the validation fails. - */ - public abstract void validate () throws ModelValidationException; - } -} diff --git a/appserver/persistence/cmp/pom.xml b/appserver/persistence/cmp/pom.xml deleted file mode 100644 index 8e179b62889..00000000000 --- a/appserver/persistence/cmp/pom.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - 4.0.0 - - fish.payara.server.internal.persistence - persistence - 7.2026.5-SNAPSHOT - - fish.payara.server.internal.persistence.cmp - cmp - pom - GlassFish cmp related modules - - utility - model - generator-database - ejb-mapping - enhancer - internal-api - support-sqlstore - support-ejb - cmp-scripts - cmp-all - - diff --git a/appserver/persistence/cmp/support-ejb/exclude.xml b/appserver/persistence/cmp/support-ejb/exclude.xml deleted file mode 100644 index 1f535f1b2c3..00000000000 --- a/appserver/persistence/cmp/support-ejb/exclude.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/persistence/cmp/support-ejb/osgi.bundle b/appserver/persistence/cmp/support-ejb/osgi.bundle deleted file mode 100644 index 3f16825f858..00000000000 --- a/appserver/persistence/cmp/support-ejb/osgi.bundle +++ /dev/null @@ -1,49 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# com.sun.jdo.spi.persistence.support.ejb.cmp and com.sun.jdo.spi.persistence.support.ejb.ejbc are exported because -# classes from these packages need to be visible to generated *ConcreteImpl classes. -# com.sun.jdo.spi.persistence.support.ejb.codegen.CMPDeployerImpl is referred from EJBDeployer. However, the package need -# not be exported because the class is looked up through habitat which uses bundle.loadClass() bypassing OSGI -# com.sun.jdo.spi.persistence.support.ejb.ejbqlc is needed by verifier. --exportcontents: \ - com.sun.jdo.spi.persistence.support.ejb.ejbc; \ - com.sun.jdo.spi.persistence.support.ejb.ejbqlc; \ - com.sun.jdo.spi.persistence.support.ejb.cmp; version=${project.osgi.version} diff --git a/appserver/persistence/cmp/support-ejb/pom.xml b/appserver/persistence/cmp/support-ejb/pom.xml deleted file mode 100644 index a79c185b840..00000000000 --- a/appserver/persistence/cmp/support-ejb/pom.xml +++ /dev/null @@ -1,141 +0,0 @@ - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp - 7.2026.5-SNAPSHOT - - cmp-support-ejb - glassfish-jar - - support ejb module for cmp - - - - mm110999 - Mitesh Meswani - Oracle, Inc. - - developer - lead - - - - - - - - src/main/java - - **/*.properties - - - - - - org.glassfish.build - glassfishbuild-maven-plugin - - EJBQL.g, JDOQLCodeGeneration.g, Semantic.g - - - - - antlr - - - - - - - - - fish.payara.server.internal.persistence.cmp - cmp-support-sqlstore - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-model - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-ejb-mapping - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-enhancer - ${project.version} - - - fish.payara.server.internal.ejb - ejb-container - ${project.version} - - - fish.payara.server.internal.deployment - deployment-common - ${project.version} - - - fish.payara.server.internal.common - common-util - ${project.version} - - - fish.payara.server.internal.packager - antlr-repackaged - ${project.version} - - - org.glassfish.external - schema2beans - - - diff --git a/appserver/persistence/cmp/support-ejb/src/main/antlr/EJBQL.g b/appserver/persistence/cmp/support-ejb/src/main/antlr/EJBQL.g deleted file mode 100644 index 7d89473c412..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/antlr/EJBQL.g +++ /dev/null @@ -1,818 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * EJBQL.g - * - * Created on November 12, 2001 - */ - -header -{ - package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - - import antlr.MismatchedTokenException; - import antlr.MismatchedCharException; - import antlr.NoViableAltException; - import antlr.NoViableAltForCharException; - import antlr.TokenStreamRecognitionException; - - import java.util.ResourceBundle; - import org.glassfish.persistence.common.I18NHelper; -} - -//===== Lexical Analyzer Class Definitions ===== - -/** - * This class defines the lexical analysis for the EJBQL compiler. - * - * @author Michael Bouschen - * @author Shing Wai Chan - */ -class EJBQLLexer extends Lexer; -options -{ - k = 2; - exportVocab = EJBQL; - charVocabulary = '\u0000'..'\uFFFE'; //NOI18N - caseSensitiveLiterals = false; -} - -tokens { - - // keywords - SELECT = "select"; //NOI18N - FROM = "from"; //NOI18N - WHERE = "where"; //NOI18N - DISTINCT = "distinct"; //NOI18N - OBJECT = "object"; //NOI18N - NULL = "null"; //NOI18N - TRUE = "true"; //NOI18N - FALSE = "false"; //NOI18N - NOT = "not"; //NOI18N - AND = "and"; //NOI18N - OR = "or"; //NOI18N - BETWEEN = "between"; //NOI18N - LIKE = "like"; //NOI18N - IN = "in"; //NOI18N - AS = "as"; //NOI18N - UNKNOWN = "unknown"; //NOI18N - EMPTY = "empty"; //NOI18N - MEMBER = "member"; //NOI18N - OF = "of"; //NOI18N - IS = "is"; //NOI18N - - // function/operator names treated as keywords - ESCAPE = "escape"; //NOI18N - CONCAT = "concat"; //NOI18N - SUBSTRING = "substring"; //NOI18N - LOCATE = "locate"; //NOI18N - LENGTH = "length"; //NOI18N - ABS = "abs"; //NOI18N - SQRT = "sqrt"; //NOI18N - MOD = "mod"; //NOI18N - - // aggregate functions - AVG = "avg"; //NOI18N - MAX = "max"; //NOI18N - MIN = "min"; //NOI18N - SUM = "sum"; //NOI18N - COUNT = "count"; //NOI18N - - // order by - ORDER = "order"; //NOI18N - BY = "by"; //NOI18N - ASC = "asc"; //NOI18N - DESC = "desc"; //NOI18N - - // relational operators - EQUAL; - NOT_EQUAL; - GE; - GT; - LE; - LT; - - // arithmetic operators - PLUS; - MINUS; - STAR; - DIV; - - // literals - STRING_LITERAL; - INT_LITERAL; - LONG_LITERAL; - FLOAT_LITERAL; - DOUBLE_LITERAL; - - // other token types - IDENT; - DOT; - INPUT_PARAMETER; - - // lexer internal token types - LPAREN; - RPAREN; - COMMA; - WS; - HEX_DIGIT; - EXPONENT; - FLOAT_SUFFIX; - UNICODE_DIGIT; - UNICODE_STR; -} - -{ - /** - * The width of a tab stop. - * This value is used to calculate the correct column in a line - * conatining a tab character. - */ - protected static final int TABSIZE = 4; - - /** */ - protected static final int EOF_CHAR = 65535; // = (char) -1 = EOF - - /** I18N support. */ - protected final static ResourceBundle msgs = - I18NHelper.loadBundle(EJBQLLexer.class); - - /** - * - */ - public void tab() - { - int column = getColumn(); - int newColumn = (((column-1)/TABSIZE)+1)*TABSIZE+1; - setColumn(newColumn); - } - - /** */ - public void reportError(int line, int column, String s) - { - ErrorMsg.error(line, column, s); - } - - /** Report lexer exception errors caught in nextToken(). */ - public void reportError(RecognitionException e) - { - handleANTLRException(e); - } - - /** Lexer error-reporting function. */ - public void reportError(String s) - { - ErrorMsg.error(0, 0, s); - } - - /** Lexer warning-reporting function. */ - public void reportWarning(String s) - { - throw new EJBQLException(s); - } - - /** - * - */ - public static void handleANTLRException(ANTLRException ex) - { - if (ex instanceof MismatchedCharException) { - MismatchedCharException mismatched = (MismatchedCharException)ex; - if (mismatched.mismatchType == MismatchedCharException.CHAR) { - if (mismatched.foundChar == EOF_CHAR) { - ErrorMsg.error(mismatched.getLine(), mismatched.getColumn(), - //TBD: bundle key - I18NHelper.getMessage(msgs, "EXC_UnexpectedEOF")); //NOI18N - } - else { - ErrorMsg.error(mismatched.getLine(), mismatched.getColumn(), - I18NHelper.getMessage(msgs, "EXC_ExpectedCharFound", //NOI18N - String.valueOf((char)mismatched.expecting), - String.valueOf((char)mismatched.foundChar))); - } - return; - } - } - else if (ex instanceof MismatchedTokenException) { - MismatchedTokenException mismatched = (MismatchedTokenException)ex; - Token token = mismatched.token; - if ((mismatched.mismatchType == MismatchedTokenException.TOKEN) && - (token != null)) { - if (token.getType() == Token.EOF_TYPE) { - ErrorMsg.error(token.getLine(), token.getColumn(), - //TBD: bundle key - I18NHelper.getMessage(msgs, "EXC_UnexpectedEOF")); //NOI18N - } - else { - ErrorMsg.error(token.getLine(), token.getColumn(), - I18NHelper.getMessage(msgs, "EXC_SyntaxErrorAt", token.getText())); //NOI18N - } - return; - } - } - else if (ex instanceof NoViableAltException) { - Token token = ((NoViableAltException)ex).token; - if (token != null) { - if (token.getType() == Token.EOF_TYPE) { - ErrorMsg.error(token.getLine(), token.getColumn(), - //TBD: bundle key - I18NHelper.getMessage(msgs, "EXC_UnexpectedEOF")); //NOI18N - } - else { - ErrorMsg.error(token.getLine(), token.getColumn(), - I18NHelper.getMessage(msgs, "EXC_UnexpectedToken", token.getText())); //NOI18N - } - return; - } - } - else if (ex instanceof NoViableAltForCharException) { - NoViableAltForCharException noViableAlt = (NoViableAltForCharException)ex; - ErrorMsg.error(noViableAlt.getLine(), noViableAlt.getColumn(), - I18NHelper.getMessage(msgs, "EXC_UnexpectedChar", new Character(noViableAlt.foundChar)));//NOI18N - } - else if (ex instanceof TokenStreamRecognitionException) { - handleANTLRException(((TokenStreamRecognitionException)ex).recog); - } - - // no special handling from aboves matches the exception if this line is reached => - // make it a syntax error - int line = 0; - int column = 0; - if (ex instanceof RecognitionException) { - line = ((RecognitionException)ex).getLine(); - column = ((RecognitionException)ex).getColumn(); - } - ErrorMsg.error(line, column, I18NHelper.getMessage(msgs, "EXC_SyntaxError")); //NOI18N - } -} - -// OPERATORS - -LPAREN : '(' ; -RPAREN : ')' ; -COMMA : ',' ; -//DOT : '.' ; -EQUAL : '=' ; -NOT_EQUAL : "<>" ; //NOI18N -GE : ">=" ; //NOI18N -GT : ">" ; //NOI18N -LE : "<=" ; //NOI18N -LT : '<' ; -PLUS : '+' ; -DIV : '/' ; -MINUS : '-' ; -STAR : '*' ; - -// Whitespace -- ignored -WS - : ( ' ' - | '\t' - | '\f' - ) - { _ttype = Token.SKIP; } - ; - -NEWLINE - : ( "\r\n" //NOI18N - | '\r' - | '\n' - ) - { - newline(); - _ttype = Token.SKIP; - } - ; - -// input parameter -INPUT_PARAMETER - : '?' ('1'..'9') ('0'..'9')* - ; - -// string literals -STRING_LITERAL - : '\'' ( "''" | ESC | ~'\'' )* '\'' //NOI18N - ; - -// escape sequence -- note that this is protected; it can only be called -// from another lexer rule -- it will not ever directly return a token to -// the parser -// There are various ambiguities hushed in this rule. The optional -// '0'...'9' digit matches should be matched here rather than letting -// them go back to STRING_LITERAL to be matched. ANTLR does the -// right thing by matching immediately; hence, it's ok to shut off -// the FOLLOW ambig warnings. -protected -ESC - : '\\' - ( options { warnWhenFollowAmbig = false; } - : 'n' - | 'r' - | 't' - | 'b' - | 'f' - | '"' //NOI18N - // Note, EJBQL uses a quote to escape a quote - // | '\'' - | '\\' - | ('u')+ HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT - | ('0'..'3') - ( - options { - warnWhenFollowAmbig = false; - } - : ('0'..'7') - ( - options { - warnWhenFollowAmbig = false; - } - : '0'..'7' - )? - )? - | ('4'..'7') - ( - options { - warnWhenFollowAmbig = false; - } - : ('0'..'7') - )? - )? - ; - -// hexadecimal digit -protected -HEX_DIGIT - : ('0'..'9'|'A'..'F'|'a'..'f') - ; - -// a numeric literal -INT_LITERAL - { - boolean isDecimal=false; - int tokenType = DOUBLE_LITERAL; - } - : '.' {_ttype = DOT;} - (('0'..'9')+ {tokenType = DOUBLE_LITERAL;} - (EXPONENT)? - (tokenType = FLOATINGPOINT_SUFFIX)? - {_ttype = tokenType;} )? - | ( '0' {isDecimal = true;} // special case for just '0' - ( ('x'|'X') - ( // hex - // the 'e'|'E' and float suffix stuff look - // like hex digits, hence the (...)+ doesn't - // know when to stop: ambig. ANTLR resolves - // it correctly by matching immediately. It - // is therefor ok to hush warning. - options { - warnWhenFollowAmbig=false; - } - : HEX_DIGIT - )+ - | ('0'..'7')+ // octal - )? - | ('1'..'9') ('0'..'9')* {isDecimal=true;} // non-zero decimal - ) - ( ('l'|'L') { _ttype = LONG_LITERAL; } - - // only check to see if it's a float if looks like decimal so far - | {isDecimal}? - {tokenType = DOUBLE_LITERAL;} - ( '.' ('0'..'9')* (EXPONENT)? - ( tokenType = FLOATINGPOINT_SUFFIX)? - | EXPONENT ( tokenType = FLOATINGPOINT_SUFFIX)? - | tokenType = FLOATINGPOINT_SUFFIX - ) - { _ttype = tokenType; } - )? - ; - -// a couple protected methods to assist in matching floating point numbers -protected -EXPONENT - : ('e'|'E') ('+'|'-')? ('0'..'9')+ - ; - -protected -FLOATINGPOINT_SUFFIX returns [int tokenType] - : 'f' { tokenType = FLOAT_LITERAL; } - | 'F' { tokenType = FLOAT_LITERAL; } - | 'd' { tokenType = DOUBLE_LITERAL; } - | 'D' { tokenType = DOUBLE_LITERAL; } - ; - -// an identifier. Note that testLiterals is set to true! This means -// that after we match the rule, we look in the literals table to see -// if it's a literal or really an identifer - -IDENT - options {paraphrase = "an identifier"; testLiterals=true;} //NOI18N - : ( 'a'..'z' - | 'A'..'Z' - | '_' - | '$' - | UNICODE_ESCAPE - | c1:'\u0080'..'\uFFFE' - { - if (!Character.isJavaIdentifierStart(c1)) { - ErrorMsg.error(getLine(), getColumn(), - I18NHelper.getMessage(msgs, "EXC_UnexpectedChar", String.valueOf(c1)));//NOI18N - } - } - ) - ( 'a'..'z' - | 'A'..'Z' - | '_' - | '$' - | '0'..'9' - | UNICODE_ESCAPE - | c2:'\u0080'..'\uFFFE' - { - if (!Character.isJavaIdentifierPart(c2)) { - ErrorMsg.error(getLine(), getColumn(), - I18NHelper.getMessage(msgs, "EXC_UnexpectedChar", String.valueOf(c2)));//NOI18N - } - } - )* - ; - -protected -UNICODE_ESCAPE - : '\\' ('u')+ HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT - { - try { - String tmp = text.toString(); - char c = (char)Integer.parseInt(tmp.substring(tmp.length() - 4, - tmp.length()), 16); - // problems using ANTLR feature $setText => use generated code - text.setLength(_begin); - text.append(new Character(c).toString()); - } - catch (NumberFormatException ex) { - ErrorMsg.fatal(I18NHelper.getMessage(msgs, - "ERR_UnexpectedExceptionUnicode"), ex); //NOI18N - } - } - ; - -//===== Parser Class Definitions ===== - -/** - * This class defines the syntax analysis (parser) of the EJBQL compiler. - * - * @author Michael Bouschen - */ -class EJBQLParser extends Parser; - -options { - k = 2; // two token lookahead - exportVocab = EJBQL; - buildAST = true; - ASTLabelType = "EJBQLAST"; // NOI18N -} - -tokens -{ - // root - QUERY; - - // special from clause tokenes - RANGE; - - // special dot expresssion - CMP_FIELD_ACCESS; - SINGLE_CMR_FIELD_ACCESS; - COLLECTION_CMR_FIELD_ACCESS; - - // identifier - IDENTIFICATION_VAR; - IDENTIFICATION_VAR_DECL; - ABSTRACT_SCHEMA_NAME; - CMP_FIELD; - SINGLE_CMR_FIELD; - COLLECTION_CMR_FIELD; - - // operators - UNARY_MINUS; - UNARY_PLUS; - NOT_BETWEEN; - NOT_LIKE; - NOT_IN; - NOT_NULL; - NOT_EMPTY; - NOT_MEMBER; -} - -{ - /** I18N support. */ - protected final static ResourceBundle msgs = - I18NHelper.loadBundle(EJBQLParser.class); - - /** ANTLR method called when an error was detected. */ - public void reportError(RecognitionException ex) - { - EJBQLLexer.handleANTLRException(ex); - } - - /** ANTLR method called when an error was detected. */ - public void reportError(String s) - { - ErrorMsg.error(0, 0, s); - } - - /** */ - public void reportError(int line, int column, String s) - { - ErrorMsg.error(line, column, s); - } - - /** ANTLR method called when a warning was detected. */ - public void reportWarning(String s) - { - throw new EJBQLException(s); - } - - /** - * This method wraps the root rule in order to handle - * ANTLRExceptions thrown during parsing. - */ - public void query () - { - try { - root(); - } - catch (ANTLRException ex) { - EJBQLLexer.handleANTLRException(ex); - } - } -} - -// ---------------------------------- -// rules -// ---------------------------------- - -root! - : s:selectClause f:fromClause w:whereClause o:orderbyClause EOF! - { - // switch the order of subnodes: the fromClause should come first, - // because it declares the identification variables used in the - // selectClause and the whereClause - #root = #(#[QUERY,"QUERY"], #f, #s, #w); //NOI18N - if (#o != null) { - #root.addChild(#o); - } - } - ; - -selectClause - : SELECT^ ( DISTINCT )? projection - ; - -projection - : p:pathExpr - { - if (#p.getType() != DOT) { - ErrorMsg.error(#p.getLine(), #p.getColumn(), - I18NHelper.getMessage(msgs, "EXC_SyntaxErrorAt", //NOI18N - #p.getText())); - } - } - | OBJECT^ LPAREN! IDENT RPAREN! - | ( AVG^ | MAX^ | MIN^ | SUM^ | COUNT^ ) LPAREN! (DISTINCT)? pathExpr RPAREN! - ; - -fromClause - : FROM^ identificationVarDecl ( COMMA! identificationVarDecl )* - ; - -identificationVarDecl - : collectionMemberDecl - | rangeVarDecl - ; - -collectionMemberDecl - : IN^ LPAREN! pathExpr RPAREN! ( AS! )? IDENT - ; - -rangeVarDecl! - : abstractSchemaName:. ( AS! )? i:IDENT - { - #abstractSchemaName.setType(ABSTRACT_SCHEMA_NAME); - #rangeVarDecl = #(#[RANGE,"RANGE"], #abstractSchemaName, #i); //NOI18N - } - ; - -whereClause - : WHERE^ conditionalExpr - | // empty rule - { - // Add where true in the case the where clause is omitted - #whereClause = #(#[WHERE,"WHERE"], #[TRUE,"TRUE"]); //NOI18N - } - ; - -pathExpr - : IDENT ( DOT^ IDENT )* - ; - -conditionalExpr - : conditionalTerm ( OR^ conditionalTerm )* - ; - -conditionalTerm - : conditionalFactor ( AND^ conditionalFactor )* - ; - -conditionalFactor - : ( NOT^ )? conditionalPrimary - ; - -conditionalPrimary - : ( betweenExpr )=> betweenExpr - | ( likeExpr )=> likeExpr - | ( inExpr )=> inExpr - | ( nullComparisonExpr )=> nullComparisonExpr - | ( emptyCollectionComparisonExpr )=> emptyCollectionComparisonExpr - | ( collectionMemberExpr )=> collectionMemberExpr - | comparisonExpr - ; - -betweenExpr - : arithmeticExpr ( n:NOT! )? BETWEEN^ arithmeticExpr AND! arithmeticExpr - { - // map NOT BETWEEN to single operator NOT_BETWEEN - if (#n != null) - #BETWEEN.setType(NOT_BETWEEN); - } - ; - -likeExpr - : pathExpr ( n:NOT! )? LIKE^ ( stringLiteral | parameter ) escape - { - // map NOT LIKE to single operator NOT_LIKE - if(#n != null) - #LIKE.setType(NOT_LIKE); - } - ; - -escape - : ESCAPE^ ( stringLiteral | parameter ) - | // empty rule - ; - -inExpr - : pathExpr ( n:NOT! )? IN^ LPAREN! inCollectionElement ( COMMA! inCollectionElement )* RPAREN! - { - // map NOT BETWEEN to single operator NOT_IN - if (#n != null) - #IN.setType(NOT_IN); - } - ; - -nullComparisonExpr - : ( pathExpr | parameter ) IS! ( n:NOT! )? NULL^ - { - // map NOT NULL to single operator NOT_NULL - if (#n != null) - #NULL.setType(NOT_NULL); - } - ; - -emptyCollectionComparisonExpr - : pathExpr IS! ( n:NOT! )? EMPTY^ - { - // map IS NOT EMPTY to single operator NOT_EMPTY - if (#n != null) - #EMPTY.setType(NOT_EMPTY); - } - ; - -collectionMemberExpr - : ( pathExpr | parameter ) - ( n:NOT! )? MEMBER^ ( OF! )? pathExpr - { - // map NOT MEMBER to single operator NOT_MEMBER - if (#n != null) - #MEMBER.setType(NOT_MEMBER); - } - ; - -comparisonExpr - : arithmeticExpr ( ( EQUAL^ | NOT_EQUAL^ | LT^ | LE^ | GT^ | GE^ ) arithmeticExpr )* - ; - -arithmeticExpr - : arithmeticTerm ( ( PLUS^ | MINUS^ ) arithmeticTerm )* - ; - -arithmeticTerm - : arithmeticFactor ( (STAR^ | DIV^ ) arithmeticFactor )* - ; - -arithmeticFactor - : MINUS^ {#MINUS.setType(UNARY_MINUS);} arithmeticFactor - | PLUS^ {#PLUS.setType(UNARY_PLUS);} arithmeticFactor - | arithmeticPrimary - ; - -arithmeticPrimary - : pathExpr - | literal - | LPAREN! conditionalExpr RPAREN! - | parameter - | function - ; - -function - : CONCAT^ LPAREN! conditionalExpr COMMA! conditionalExpr RPAREN! - | SUBSTRING^ LPAREN! conditionalExpr COMMA! conditionalExpr COMMA! conditionalExpr RPAREN! - | LENGTH^ LPAREN! conditionalExpr RPAREN! - | LOCATE^ LPAREN! conditionalExpr COMMA! conditionalExpr ( COMMA! conditionalExpr )? RPAREN! - | ABS^ LPAREN! conditionalExpr RPAREN! - | SQRT^ LPAREN! conditionalExpr RPAREN! - | MOD^ LPAREN! conditionalExpr COMMA! conditionalExpr RPAREN! - ; - -parameter - : INPUT_PARAMETER - ; - -orderbyClause - : ORDER^ BY! orderbyItem ( COMMA! orderbyItem )* - | // empty rule - ; - -orderbyItem - : pathExpr direction - ; - -direction - : ASC - | DESC - | // empty rule - { - // ASC is added as default - #direction = #[ASC, "ASC"]; //NOI18N - } - ; - -inCollectionElement - : literal - | parameter - ; - -literal - : TRUE - | FALSE - | stringLiteral - | INT_LITERAL - | LONG_LITERAL - | FLOAT_LITERAL - | DOUBLE_LITERAL - ; - -stringLiteral - : s:STRING_LITERAL - { - // strip quotes from the token text - String text = #s.getText(); - #s.setText(text.substring(1,text.length()-1)); - } - ; diff --git a/appserver/persistence/cmp/support-ejb/src/main/antlr/JDOQLCodeGeneration.g b/appserver/persistence/cmp/support-ejb/src/main/antlr/JDOQLCodeGeneration.g deleted file mode 100644 index 8b4c8c54c73..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/antlr/JDOQLCodeGeneration.g +++ /dev/null @@ -1,1017 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * JDOQLCodeGeneration.g - * - * Created on Decemember 10, 2001 - */ - -header -{ - package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - - import java.util.ResourceBundle; - import org.glassfish.persistence.common.I18NHelper; - import org.glassfish.common.util.StringHelper; -} - -/** - * This class defines the semantic analysis of the EJBQL compiler. - * Input of this pass is the AST as produced by the parser, - * that consists of EJBQLAST nodes. - * The result is a typed EJBQLAST tree. - * - * @author Michael Bouschen - * @author Shing Wai Chan - */ -class JDOQLCodeGeneration extends TreeParser; - -options -{ - importVocab = EJBQL; - defaultErrorHandler = false; - ASTLabelType = "EJBQLAST"; //NOI18N -} - -{ - /** Type helper. */ - protected TypeSupport typeSupport; - - /** Parameter helper. */ - protected ParameterSupport paramSupport; - - /** I18N support. */ - protected final static ResourceBundle msgs = - I18NHelper.loadBundle(JDOQLCodeGeneration.class); - - /** The identification variable used for the candidate class. */ - private String candidateClassIdentificationVar; - - /** The name of the candidate class. */ - private String candidateClassName; - - /** The parameter declarations. */ - private StringBuilder parameterDecls; - - /** The variable declarations. */ - private StringBuilder variableDecls; - - /** The filter expression. */ - private StringBuilder filter; - - /** The ordering expression. */ - private StringBuilder ordering; - - /** The result expression. */ - private StringBuilder result; - - /** The result type. */ - private String resultType; - - /** Flag indicating whether the result element is a pc class. */ - private boolean isPCResult; - - /** - * Flag indicating whether the result element is associated to an - * aggregate function. - */ - private boolean isAggregate = false; - - /** Counter for variables defined during codegen. */ - private int tmpVarCount = 0; - - /** - * Counter indicating how many parenthesis need to be closed - * at the end of the filter expr. - */ - private int parenCount = 0; - - /** Flag indicates whether the select clause has DISTINCT. */ - private boolean isDistinct = false; - - /** - * - */ - public void init(TypeSupport typeSupport, ParameterSupport paramSupport) - { - this.typeSupport = typeSupport; - this.paramSupport = paramSupport; - } - - /** */ - public void reportError(RecognitionException ex) { - ErrorMsg.fatal(I18NHelper.getMessage(msgs, - "ERR_JDOQLCodeGenerationError"), ex); //NOI18N - } - - /** */ - public void reportError(String s) { - ErrorMsg.fatal(I18NHelper.getMessage(msgs, - "ERR_JDOQLCodeGenerationError") + s); //NOI18N - } - - /** - * Returns the result of an EJBQL compile process. - * A JDOQLElements instances represents all the necessary information to - * create a JDOQL query instance that corresponds to the EJBQL query. - * @return JDOQLElements instance representing the JDOQL query. - */ - public JDOQLElements getJDOQLElements() - { - - return new JDOQLElements(candidateClassName, parameterDecls.toString(), - variableDecls.toString(), filter.toString(), ordering.toString(), - result.toString(), resultType, isPCResult, isAggregate, - paramSupport.getParameterEjbNames()); - } - - //========= Internal helper methods ========== - - /** - * Extracts the name of the candidate class of the JDOQL query from the - * select- and from-clause of the EJBQL query. - */ - private void handleCandidateClass(EJBQLAST query) - throws RecognitionException - { - EJBQLAST from = (EJBQLAST)query.getFirstChild(); - EJBQLAST select = (EJBQLAST)from.getNextSibling(); - EJBQLAST var = null; - var = extractIdentificationVariable(select); - var = getIdentificationVarDecl(from, var.getText()); - candidateClassIdentificationVar = var.getText(); - candidateClassName = - typeSupport.getPCForTypeInfo(var.getTypeInfo()); - } - - /** - * Calculates the parameter declarations of the JDOQL query from the - * signature of the EJB finsder or selector method. - */ - private void initParameterDeclarations() - { - parameterDecls = new StringBuilder(); - for (int i = 1; i <= paramSupport.getParameterCount(); i++) { - String name = paramSupport.getParameterName(i); - Object type = typeSupport.getTypeInfo(paramSupport.getParameterType(i)); - String ejbName = paramSupport.getParameterEjbName(i); - String pcClassName = null; - if (ejbName != null) { - pcClassName = typeSupport.getPCForTypeInfo(ejbName); - } else if (typeSupport.isLocalInterface(type) || - typeSupport.isRemoteInterface(type)) { - // This parameter corresponds to an EJB but the ejbName - // cannot be determined from query. - // Since different EJBs may have the same interfaces, - // the explicit pcClassName cannot be determined. - pcClassName = "java.lang.Object"; - } else { - pcClassName = typeSupport.getPCForTypeInfo(type); - } - - parameterDecls.append(pcClassName); - parameterDecls.append(" "); //NOI18N - parameterDecls.append(name); - parameterDecls.append(", "); //NOI18N - } - } - - /** - * EJBQL string literals escape a single quote using two single quotes. - * In JDOQL string literals single quotes need not to be escaped => - * replace '' by '. - */ - private String convertStringLiteral(String ejbqlStringLiteral) - { - // first replace '' by ' - String ret = StringHelper.replace(ejbqlStringLiteral, "''", "'"); //NOI18N - // Add a hack for a backslash at the end of the literal - // Note, we might need to escape backslashes in the entire string - // literal, if the character following the backslash is an "escaped" - // char such as \n, \n, etc. Needs some further investigation. - if (ret.endsWith("\\")) { - ret = ret + "\\"; - } - return ret; - } - - /** */ - private EJBQLAST getIdentificationVarDecl(EJBQLAST from, String varName) - throws RecognitionException - { - // iterate all identification var declarations - for (EJBQLAST varDecl = (EJBQLAST)from.getFirstChild(); - varDecl != null; - varDecl = (EJBQLAST)varDecl.getNextSibling()) { - // domain of the current variable declaration - EJBQLAST domain = (EJBQLAST)varDecl.getFirstChild(); - // identification variable node - EJBQLAST varNode = (EJBQLAST)domain.getNextSibling(); - if (varNode.getText().equalsIgnoreCase(varName)) { - // found the declaration node of the variable we are looking for - if (domain.getType() == ABSTRACT_SCHEMA_NAME) - // the domain is a abstract schema type => found the var decl - return varNode; - else - // domain is a collectionMemberDecl => use its var decl - return getIdentificationVarDecl(from, - extractIdentificationVariable(domain).getText()); - } - } - return null; - } - - /** - * Returns the name of a new variable of the JDOQL query. - */ - private String getTmpVarName() - { - // TBD: The name must not conflict with a defined identification variable - int no = tmpVarCount++; - return "_jdoVar" + no; //NOI18N - } - - /** - * Returns the typeInfo of the element type of a collection valued CMR field. - */ - private Object getElementTypeOfCollectionValuedCMR(EJBQLAST cmrFieldAccess) - { - EJBQLAST classExpr = (EJBQLAST)cmrFieldAccess.getFirstChild(); - EJBQLAST cmrField = (EJBQLAST)classExpr.getNextSibling(); - Object fieldInfo = typeSupport.getFieldInfo( - classExpr.getTypeInfo(), cmrField.getText()); - return typeSupport.getElementType(fieldInfo); - } - -} - -// rules - -query - : #( q:QUERY - { - initParameterDeclarations(); - variableDecls = new StringBuilder(); - filter = new StringBuilder(); - ordering = new StringBuilder(); - result = new StringBuilder(); - handleCandidateClass(q); - } - fromClause - selectClause - whereClause - orderbyClause - ) - ; - -extractIdentificationVariable returns [EJBQLAST var] - : #( SELECT ( DISTINCT )? var = extractIdentificationVariable ) - | #( CMP_FIELD_ACCESS var = extractIdentificationVariable . ) - | #( SINGLE_CMR_FIELD_ACCESS var = extractIdentificationVariable . ) - | #( COLLECTION_CMR_FIELD_ACCESS var = extractIdentificationVariable . ) - | #( OBJECT var = extractIdentificationVariable ) - | #( AVG ( DISTINCT )? var = extractIdentificationVariable ) - | #( MAX ( DISTINCT )? var = extractIdentificationVariable ) - | #( MIN ( DISTINCT )? var = extractIdentificationVariable ) - | #( SUM ( DISTINCT )? var = extractIdentificationVariable ) - | #( COUNT ( DISTINCT )? var = extractIdentificationVariable ) - | i:IDENTIFICATION_VAR { var = i; } - ; - -// ---------------------------------- -// rules: from clause -// ---------------------------------- - -fromClause - : #( FROM ( identificationVarDecl )+ ) - ; - -identificationVarDecl - : collectionMemberDecl - | rangeVarDecl - ; - -collectionMemberDecl - : #( IN - { - if (filter.length() > 0) { - // Please note, the FROM clause is processed prior to the - // WHERE clause, so a filter of length == 0 means we are - // processing the first IN clause of the FROM clause. - // We need to add an & operator and an open parenthesis for - // all IN clauses but the first one. The parenthesis ensure - // the resulting filter is portable, meaning the contains - // clause must be the left expression of an AND-expression - // where the variable is used in the right expression. - filter.append(" & ("); //NOI18N - parenCount++; - } - } - pathExpr[filter] - v:IDENTIFICATION_VAR_DECL - { - // generate varibale declaration - variableDecls.append(typeSupport.getPCForTypeInfo( - v.getTypeInfo())); - variableDecls.append(' '); - variableDecls.append(v.getText()); - variableDecls.append("; "); //NOI18N - // now generate the contains clause - filter.append(".contains("); //NOI18N - filter.append(v.getText()); - filter.append(')'); - } - ) - ; - -rangeVarDecl - : #( RANGE - ABSTRACT_SCHEMA_NAME - v:IDENTIFICATION_VAR_DECL - ) - { - // Do not generate variable decl for identification variable - // that represents the candidate class - if (!v.getText().equalsIgnoreCase(candidateClassIdentificationVar)) { - variableDecls.append(typeSupport.getPCForTypeInfo( - v.getTypeInfo())); - variableDecls.append(' '); - variableDecls.append(v.getText()); - variableDecls.append("; "); //NOI18N - } - } - ; - -// ---------------------------------- -// rules: select clause -// ---------------------------------- - -selectClause - : #( SELECT distinct[result] p:projection[result] ) - { - isPCResult = typeSupport.isEjbName(p.getTypeInfo()); - resultType = isPCResult ? - typeSupport.getPCForTypeInfo(p.getTypeInfo()) : - typeSupport.getTypeName(p.getTypeInfo()); - } - ; - -distinct[StringBuilder buf] - : // the code generation of this distinct is postponed until projection - // checking as there is no need to generate distinct outside - // aggregate functions - DISTINCT { isDistinct = true; } - | // empty rule - ; - -aggregateDistinct[StringBuilder buf] - : DISTINCT { buf.append("distinct "); } //NOI18N - | // empty rule - ; - -projection[StringBuilder buf] - : #( AVG - { - isAggregate = true; - buf.append("avg("); - } - aggregateDistinct[buf] pathExpr[buf] - { buf.append(")"); } - ) - | #( MAX - { - isAggregate = true; - buf.append("max("); - } - aggregateDistinct[buf] p:pathExpr[buf] - { buf.append(")"); } - ) - | #( MIN - { - isAggregate = true; - buf.append("min("); - } - aggregateDistinct[buf] pathExpr[buf] - { buf.append(")"); } - ) - | #( SUM - { - isAggregate = true; - buf.append("sum("); - } - aggregateDistinct[buf] pathExpr[buf] - { buf.append(")"); } - ) - | #( COUNT - { - isAggregate = true; - buf.append("count("); - } - aggregateDistinct[buf] pathExpr[buf] - { buf.append(")"); } - ) - | { - if (isDistinct) { - buf.append("distinct "); //NOI18N - } - } - pathExpr[buf] - | { - if (isDistinct) { - buf.append("distinct "); //NOI18N - } - } - #( o:OBJECT pathExpr[buf] ) - ; - -// ---------------------------------- -// rules: where clause -// ---------------------------------- - -whereClause - : #( WHERE - { - if (filter.length() > 0) { - filter.append(" & ("); //NOI18N - // filter.length() > 0 means there are one or more contains - // clauses generated from parsing the from clause => - // enclose the where clause expression into parenthesis. - parenCount++; - } - } - expression[filter] - { - while (parenCount > 0) { - filter.append(")"); //NOI18N - parenCount--; - } - } - ) - ; - -// ---------------------------------- -// rules: orderby clause -// ---------------------------------- - -orderbyClause - : #( ORDER - ( - { - if (ordering.length() > 0) { - ordering.append(", "); - } - } - pathExpr[ordering] - ( - ASC { ordering.append(" ascending"); } //NOI18N - | - DESC { ordering.append(" descending"); } //NOI18N - ) - )+ - ) - | - ; - -// ---------------------------------- -// rules: expression -// ---------------------------------- - -expression[StringBuilder buf] - : conditionalExpr[buf] - | relationalExpr[buf] - | binaryArithmeticExpr[buf] - | unaryExpr[buf] - | betweenExpr[buf] - | likeExpr[buf] - | inExpr[buf] - | nullComparisonExpr[buf] - | emptyCollectionComparisonExpr[buf] - | collectionMemberExpr[buf] - | function[buf] - | primary[buf] - ; - -conditionalExpr[StringBuilder buf] - : #( AND { buf.append("("); } //NOI18N - expression[buf] { buf.append(" & "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - | #( OR { buf.append("("); } //NOI18N - expression[buf] { buf.append(" | "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - ; - -relationalExpr[StringBuilder buf] - : #( EQUAL { buf.append("("); } //NOI18N - expression[buf] { buf.append(" == "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - | #( NOT_EQUAL { buf.append("("); } //NOI18N - expression[buf] { buf.append(" != "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - | #( LT { buf.append("("); } //NOI18N - expression[buf] { buf.append(" < "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - | #( LE { buf.append("("); } //NOI18N - expression[buf] { buf.append(" <= "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - | #( GT { buf.append("("); } //NOI18N - expression[buf] { buf.append(" > "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - | #( GE { buf.append("("); } //NOI18N - expression[buf] { buf.append(" >= "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - ; - -binaryArithmeticExpr[StringBuilder buf] - : #( PLUS { buf.append("("); } //NOI18N - expression[buf] { buf.append(" + "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - | #( MINUS { buf.append("("); } //NOI18N - expression[buf] { buf.append(" - "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - | #( STAR { buf.append("("); } //NOI18N - expression[buf] { buf.append(" * "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - | #( DIV { buf.append("("); } //NOI18N - expression[buf] { buf.append(" / "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - ; - -unaryExpr[StringBuilder buf] - : #( UNARY_PLUS - expression[buf] - ) - | #( UNARY_MINUS { buf.append(" -("); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - | #( NOT { buf.append(" !("); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - ; - -betweenExpr[StringBuilder buf] -{ - StringBuilder tmp = new StringBuilder(); -} - : #( BETWEEN - expression[tmp] - { - buf.append('('); - buf.append(tmp.toString()); - buf.append(" >= "); // NOI18N - } - expression[buf] - { - buf.append(" & "); // NOI18N - buf.append(tmp.toString()); - buf.append(" <= "); // NOI18N - } - expression[buf] - { buf.append(')'); } - ) - | #( NOT_BETWEEN - expression[tmp] - { - buf.append('('); - buf.append(tmp.toString()); - buf.append(" < "); // NOI18N - } - expression[buf] - { - buf.append(" | "); // NOI18N - buf.append(tmp.toString()); - buf.append(" > "); // NOI18N - } - expression[buf] - { buf.append(')'); } - ) - ; - -likeExpr[StringBuilder buf] - : #( LIKE - expression[buf] { buf.append(".like("); } //NOI18N - ( stringLiteral[buf] | parameter[buf] ) - escape[buf] { buf.append(')'); } - ) - | #( NOT_LIKE { buf.append('!'); } - expression[buf] { buf.append(".like("); } //NOI18N - ( stringLiteral[buf] | parameter[buf] ) - escape[buf] { buf.append(')'); } - ) - ; - -escape[StringBuilder buf] - : #( ESCAPE { buf.append (", "); } //NOI18N - ( singleCharStringLiteral[buf] | parameter[buf] ) ) - | // empty rule - ; - -singleCharStringLiteral[StringBuilder buf] - : s:STRING_LITERAL - { - buf.append('\''); - buf.append(convertStringLiteral(s.getText())); - buf.append('\''); - } - ; - -inExpr[StringBuilder buf] -{ - StringBuilder expr = new StringBuilder(); - StringBuilder elementExpr = new StringBuilder(); -} - : #( IN - expression[expr] - { buf.append('('); } - primary[elementExpr] - { - buf.append('('); - buf.append(expr.toString()); - buf.append(" == "); //NOI18N - buf.append(elementExpr.toString()); - buf.append(')'); - } - ( - { - // create a new StringBuilder for the new elementExpr - elementExpr = new StringBuilder(); - } - primary[elementExpr] - { - buf.append(" | "); //NOI18N - buf.append('('); - buf.append(expr.toString()); - buf.append(" == "); //NOI18N - buf.append(elementExpr.toString()); - buf.append(')'); - } - )* - { - buf.append(')'); - } - ) - | #( NOT_IN - expression[expr] - { buf.append('('); } - primary[elementExpr] - { - buf.append('('); - buf.append(expr.toString()); - buf.append(" != "); //NOI18N - buf.append(elementExpr.toString()); - buf.append(')'); - } - ( - { - // create a new StringBuilder for the new elementExpr - elementExpr = new StringBuilder(); - } - primary[elementExpr] - { - buf.append(" & "); //NOI18N - buf.append('('); - buf.append(expr.toString()); - buf.append(" != "); //NOI18N - buf.append(elementExpr.toString()); - buf.append(')'); - } - )* - { - buf.append(')'); - } - ) - ; - -nullComparisonExpr[StringBuilder buf] - : #( NULL - expression[buf] { buf.append(" == null"); } //NOI18N - ) - | #( NOT_NULL - expression[buf] { buf.append(" != null"); } //NOI18N - ) - ; - -emptyCollectionComparisonExpr[StringBuilder buf] - : #( EMPTY - expression[buf] { buf.append(".isEmpty()"); } //NOI18N - ) - | #( NOT_EMPTY { buf.append("!"); } //NOI18N - expression[buf] { buf.append(".isEmpty()"); } //NOI18N - ) - ; - -collectionMemberExpr[StringBuilder buf] -{ - StringBuilder member = new StringBuilder(); - StringBuilder col = new StringBuilder(); -} - : #( MEMBER - expression[member] - cmrAccess1:expression[col] - { - String varName = getTmpVarName(); - // Use the element type as variable type. The value might be - // an input parameter of a local/remote interface which we - // cannot uniquely map to a PC class during deployment. - Object varType = getElementTypeOfCollectionValuedCMR(cmrAccess1); - // generate varibale declaration - variableDecls.append(typeSupport.getPCForTypeInfo(varType)); - variableDecls.append(' '); - variableDecls.append(varName); - variableDecls.append("; "); //NOI18N - buf.append("("); //NOI18N - buf.append(col.toString()); - buf.append(".contains("); //NOI18N - buf.append(varName); - buf.append(") & "); //NOI18N - buf.append(varName); - buf.append(" == "); //NOI18N - buf.append(member.toString()); - buf.append(")"); //NOI18N - } - ) - | #( NOT_MEMBER - expression[member] - cmrAccess2:expression[col] - { - String varName = getTmpVarName(); - // Use the element type as variable type. The value might be - // an input parameter of a local/remote interface which we - // cannot uniquely map to a PC class during deployment. - Object varType = getElementTypeOfCollectionValuedCMR(cmrAccess2); - // generate varibale declaration - variableDecls.append(typeSupport.getPCForTypeInfo(varType)); - variableDecls.append(' '); - variableDecls.append(varName); - variableDecls.append("; "); //NOI18N - buf.append("("); //NOI18N - buf.append(col.toString()); - buf.append(".isEmpty() | (!("); //NOI18N - buf.append(col.toString()); - buf.append(".contains("); //NOI18N - buf.append(varName); - buf.append(") & "); //NOI18N - buf.append(varName); - buf.append(" == "); //NOI18N - buf.append(member.toString()); - buf.append(")))"); //NOI18N - } - ) - ; - -function[StringBuilder buf] - : concat[buf] - | substring[buf] - | length[buf] - | locate[buf] - | abs[buf] - | sqrt[buf] - | mod[buf] - ; - -concat[StringBuilder buf] - : #( CONCAT { buf.append("("); } //NOI18N - expression[buf] { buf.append(" + "); } //NOI18N - expression[buf] { buf.append(")"); } //NOI18N - ) - ; - -substring[StringBuilder buf] - : // EJBQL: SUBSTRING(string, start, length) -> - // JDOQL: string.substring(start-1, start+length-1) - #( SUBSTRING - expression[buf] - { buf.append(".substring("); } //NOI18N - start:. - length:. - ) - { - if ((start.getType() == INT_LITERAL) && - (length.getType() == INT_LITERAL)) { - // Optimization: start and length are constant values => - // calulate beginIndex and endIndex of the JDOQL substring - // call at compile time. - int startValue = Integer.parseInt(start.getText()); - int lengthValue = Integer.parseInt(length.getText()); - buf.append(startValue - 1); - buf.append(", "); //NOI18N - buf.append(startValue - 1 + lengthValue); - } - else { - StringBuilder startBuf = new StringBuilder(); - expression(start, startBuf); - buf.append(startBuf.toString()); - buf.append(" - 1, "); //NOI18N - buf.append(startBuf.toString()); - buf.append(" - 1 + "); //NOI18N - expression(length, buf); - } - buf.append(")"); //NOI18N - } - ; - -length[StringBuilder buf] - : #( LENGTH - expression[buf] { buf.append(".length()"); } //NOI18N - ) - ; - -locate[StringBuilder buf] -{ - StringBuilder pattern = new StringBuilder(); -} - : // EJBQL: LOCATE(pattern, string) -> - // JDOQL: (string.indexOf(pattern) + 1) - // EJBQL: LOCATE(pattern, string, start) -> - // JDOQL: (string.indexOf(pattern, start - 1) + 1) - #( LOCATE { buf.append("("); } //NOI18N - expression[pattern] - expression[buf] { buf.append(".indexOf("); //NOI18N - buf.append(pattern.toString()); } - locateStartPos[buf] { buf.append(") + 1)"); } //NOI18N - ) - ; - -locateStartPos[StringBuilder buf] - : start:. - { - buf.append(", "); //NOI18N - if (start.getType() == INT_LITERAL) { - // Optimization: start is a constant value => - // calulate startIndex of JDOQL indexOf call at compile time. - buf.append(Integer.parseInt(start.getText()) - 1); - } - else { - expression(start, buf); - { buf.append(" - 1"); } //NOI18N - } - } - | // empty rule - ; - -abs[StringBuilder buf] - : #( ABS - { buf.append ("java.lang.Math.abs("); } //NOI18N - expression[buf] - { buf.append (")"); } //NOI18N - ) - ; - -sqrt[StringBuilder buf] - : #( SQRT - { buf.append ("java.lang.Math.sqrt("); } //NOI18N - expression[buf] - { buf.append (")"); } //NOI18N - ) - ; - -mod[StringBuilder buf] - : #( MOD - { buf.append("("); } //NOI18N - expression[buf] - { buf.append(" % "); } //NOI18N - expression[buf] - { buf.append(")"); } //NOI18N - ) - ; - -primary[StringBuilder buf] - : literal[buf] - | pathExpr[buf] - | parameter[buf] - ; - -literal[StringBuilder buf] - : TRUE - { buf.append("true"); } // NOI18N - | FALSE - { buf.append("false"); } // NOI18N - | stringLiteral[buf] - | i:INT_LITERAL - { - buf.append(i.getText()); - } - | l:LONG_LITERAL - { - buf.append(l.getText()); - } - | f:FLOAT_LITERAL - { - buf.append(f.getText()); - } - | d:DOUBLE_LITERAL - { - buf.append(d.getText()); - } - ; - - -stringLiteral[StringBuilder buf] - : s:STRING_LITERAL - { - buf.append('"'); // NOI18N - buf.append(convertStringLiteral(s.getText())); - buf.append('"'); // NOI18N - } - ; - -pathExpr[StringBuilder buf] - : #( CMP_FIELD_ACCESS - pathExpr[buf] - { buf.append('.'); } - f1:field - { buf.append(f1.getText()); } - ) - | #( SINGLE_CMR_FIELD_ACCESS - pathExpr[buf] - { buf.append('.'); } - f2:field - { buf.append(f2.getText()); } - ) - | #( COLLECTION_CMR_FIELD_ACCESS - pathExpr[buf] - { buf.append('.'); } - f3:field - { buf.append(f3.getText()); } - ) - | v:IDENTIFICATION_VAR - { - String name = v.getText(); - if (name.equalsIgnoreCase(candidateClassIdentificationVar)) - name = "this"; //NOI18N - buf.append(name); - } - | #( dot:DOT expression[buf]expression[buf]) - { - ErrorMsg.fatal(I18NHelper.getMessage(msgs, "ERR_UnexpectedNode", //NOI18N - dot.getText(), String.valueOf(dot.getType()))); - } - | i:IDENT - { - ErrorMsg.fatal(I18NHelper.getMessage(msgs, "ERR_UnexpectedNode", //NOI18N - i.getText(), String.valueOf(i.getType()))); - } - ; - -field - : CMP_FIELD - | COLLECTION_CMR_FIELD - | SINGLE_CMR_FIELD - ; - -parameter [StringBuilder buf] - : param:INPUT_PARAMETER - { - buf.append(paramSupport.getParameterName(param.getText())); - } - ; diff --git a/appserver/persistence/cmp/support-ejb/src/main/antlr/Semantic.g b/appserver/persistence/cmp/support-ejb/src/main/antlr/Semantic.g deleted file mode 100644 index 54563c6353c..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/antlr/Semantic.g +++ /dev/null @@ -1,1774 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * Semantic.g - * - * Created on November 19, 2001 - */ - -header -{ - package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - - import java.util.ResourceBundle; - import java.lang.reflect.Method; - import org.glassfish.persistence.common.I18NHelper; - import com.sun.jdo.spi.persistence.support.ejb.ejbc.MethodHelper; -} - -/** - * This class defines the semantic analysis of the EJBQL compiler. - * Input of this pass is the AST as produced by the parser, - * that consists of EJBQLAST nodes. - * The result is a typed EJBQLAST tree. - * - * @author Michael Bouschen - * @author Shing Wai Chan - */ -class Semantic extends TreeParser; - -options -{ - importVocab = EJBQL; - buildAST = true; - defaultErrorHandler = false; - ASTLabelType = "EJBQLAST"; //NOI18N -} - -{ - /** Name of the property to disable order by validation. */ - public static final String DISABLE_ORDERBY_VALIDATION_PROPERTY = - "com.sun.jdo.spi.persistence.support.ejb.ejbqlc.DISABLE_ORDERBY_VALIDATION"; // NOI18N - - /** - * Property to disable order by validation. - * Note, the default is false, meaning the compiler checks that select - * clause and orderby clause are compatible. - */ - private static final boolean DISABLE_ORDERBY_VALIDATION = - Boolean.getBoolean(DISABLE_ORDERBY_VALIDATION_PROPERTY); - - /** Symbol table handling names of variables and parameters. */ - protected SymbolTable symtab; - - /** Type info access helper. */ - protected TypeSupport typeSupport; - - /** Parameter info helper. */ - protected ParameterSupport paramSupport; - - /** The Method instance of the finder/selector method. */ - protected Method method; - - /** result-type-mapping element from the DD. */ - protected int resultTypeMapping; - - /** Flag indicating finder or selector. */ - protected boolean finderNotSelector; - - /** Flag indicating have aggregate function or not. */ - protected boolean isAggregate = false; - - /** The ejb-name. */ - protected String ejbName; - - /** I18N support. */ - protected final static ResourceBundle msgs = I18NHelper.loadBundle( - Semantic.class); - - /** - * Initializes the semantic analysis. - * @param typeSupport type info access helper. - * @param paramSupport parameter info helper. - * @param method method instance of the finder/selector method. - * @param resultTypeMapping result-type-mapping element from the DD - * @param finderNotSelector true for finder; - * false for selector - * @param ejbName the ejb name of the finder/selector method. - */ - public void init(TypeSupport typeSupport, ParameterSupport paramSupport, - Method method, int resultTypeMapping, - boolean finderNotSelector, String ejbName) - { - this.symtab = new SymbolTable(); - this.typeSupport = typeSupport; - this.paramSupport = paramSupport; - this.method = method; - this.resultTypeMapping = resultTypeMapping; - this.finderNotSelector = finderNotSelector; - this.ejbName = ejbName; - } - - /** */ - public void reportError(RecognitionException ex) { - ErrorMsg.fatal(I18NHelper.getMessage(msgs, "ERR_SemanticError"), ex); //NOI18N - } - - /** */ - public void reportError(String s) { - ErrorMsg.fatal(I18NHelper.getMessage(msgs, "ERR_SemanticError") + s); //NOI18N - } - - //========= Internal helper methods ========== - - /** - * Checks the return type and the type of the select clause expression - * of a finder method. - *

    - * The return type of a finder must be one of the following: - *

      - *
    • java.util.Collection (multi-object finder) - *
    • java.util.Enumeration (EJB 1.1 multi-object finder) - *
    • the entity bean's remote interface (single-object finder) - *
    • the entity bean's local interface (single-object finder) - *
    - * The type of the select clause expression of a finder must be - * the entity bean's local or remote interface. - * @param returnType the return type of the finder/selector method object - * @param selectClauseTypeInfo the type info of the select clause - * expression. - */ - private void checkFinderReturnType( - Class returnType, Object selectClauseTypeInfo) - { - String selectClauseTypeName = typeSupport.getTypeName(selectClauseTypeInfo); - Object returnTypeInfo = typeSupport.getTypeInfo(returnType); - // The return type of a finder must be Collection or Enumeration or - // the entity bean's remote or local interface - if ((returnType != java.util.Collection.class) && - (returnType != java.util.Enumeration.class) && - (!typeSupport.isRemoteInterfaceOfEjb(returnTypeInfo, ejbName)) && - (!typeSupport.isLocalInterfaceOfEjb(returnTypeInfo, ejbName))) { - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidFinderReturnType", returnType.getName())); //NOI18N - - } - - // The type of the select clause expression must be the ejb name - // of this bean. - if (!selectClauseTypeName.equals(this.ejbName)) { - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidFinderSelectClauseType", selectClauseTypeName)); //NOI18N - } - } - - /** - * Implements type compatibility for selector. The method returns - * true if returnTypeInfo is compatible with - * selectClauseTypeInfo. - */ - private boolean isCompatibleSelectorSelectorReturnType( - Object returnTypeInfo, Object selectClauseTypeInfo) - { - if (isAggregate) { - return getCommonOperandType(selectClauseTypeInfo, returnTypeInfo) != TypeSupport.errorType; - } else { - return typeSupport.isCompatibleWith(selectClauseTypeInfo, returnTypeInfo); - } - } - - - /** - * Checks the return type and the type of the select clause expression - * of a selector method. - *

    - * The return type of a selector must be one of the following: - *

      - *
    • java.util.Collection (multi-object selector) - *
    • java.util.Set (multi-object selector) - *
    • assignable from the type of the select clause expression - * (single-object selector) - *
    - * @param returnType the return type of the finder/selector method object - * @param selectClauseTypeInfo the type info of the select clause - * expression. - */ - private void checkSelectorReturnType( - Class returnType, Object selectClauseTypeInfo) - { - String selectClauseTypeName = typeSupport.getTypeName(selectClauseTypeInfo); - Object returnTypeInfo = typeSupport.getTypeInfo(returnType); - // The return type of a selector must be Collection or Set or - // assingable from the type of the select clause expression - if ((returnType != java.util.Collection.class) && - (returnType != java.util.Set.class) && - !isCompatibleSelectorSelectorReturnType(returnTypeInfo, - selectClauseTypeInfo)) { - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidSelectorReturnType", //NOI18N - typeSupport.getTypeName(returnTypeInfo), selectClauseTypeName)); - } - } - - /** - * Checks the result-type-mapping element setting in the case of a finder - * method. Finder must not specify result-type-mapping. - */ - private void checkFinderResultTypeMapping() - { - if (resultTypeMapping != MethodHelper.NO_RETURN) { - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidResultTypeMappingForFinder")); //NOI18N - } - } - - /** - * Checks the setting of the result-type-mapping element for a - * selector. Only selectors returning a entity object may - * specify this. - *

    - * The method checks the following error cases: - *

      - *
    • result-type-mapping is specified as Remote, - * but bean does not have remote interface - *
    • result-type-mapping is specified as Local, - * but bean does not have local interface - *
    • single-object selector returns remote interface, - * but result-type-mapping is not specified as Remote - *
    • single-object selector returns local interface, - * but result-type-mapping is specified as Remote - *
    • result-type-mapping is specified for a selector returning - * non-entity objects. - *
    - * @param returnType the return type of the finder/selector method object - * @param selectClauseTypeInfo the type info of the select clause. - */ - private void checkSelectorResultTypeMapping( - Class returnType, Object selectClauseTypeInfo) - { - Object returnTypeInfo = typeSupport.getTypeInfo(returnType); - - // case: multi-object selector returning entity objects - if (typeSupport.isCollectionType(returnTypeInfo) && - typeSupport.isEjbName(selectClauseTypeInfo)) { - if (resultTypeMapping == MethodHelper.REMOTE_RETURN) { - // result-type-mapping is Remote => - // bean must have remote interface - if (!typeSupport.hasRemoteInterface(selectClauseTypeInfo)) { - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidRemoteResultTypeMappingForMultiSelector", //NOI18N - selectClauseTypeInfo)); - } - } - else { - // result-type-mapping is Local or not specified => - // bean must have local interface - if (!typeSupport.hasLocalInterface(selectClauseTypeInfo)) { - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidLocalResultTypeMappingForMultiSelector", //NOI18N - selectClauseTypeInfo)); - } - } - } - // case: single-object selector returning remote interface - else if (typeSupport.isRemoteInterface(returnTypeInfo)) { - // result-type-mapping must be Remote - if (resultTypeMapping != MethodHelper.REMOTE_RETURN) { - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidLocalResultTypeMappingForSingleSelector")); //NOI18N - } - } - // case: single-object selector returning local interface - else if (typeSupport.isLocalInterface(returnTypeInfo)) { - // result-type-mapping must be Local or not specified - if (resultTypeMapping == MethodHelper.REMOTE_RETURN) { - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidRemoteResultTypeMappingForSingleSelector")); //NOI18N - } - } - // cases: single-object and multi-object selector - // returning non-enity object(s) - else if (resultTypeMapping != MethodHelper.NO_RETURN) { - // result-type-mapping must not be specified - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidResultTypeMappingForSelector", //NOI18N - selectClauseTypeInfo)); - } - } - - /** - * Checks that select clause and orderby clause are compatible. - *

    - * The method checks the following error cases: - *

      - *
    • if the select clause is an identification variable or - * a single valued cmr path expression, then the orderby item - * must be a cmp field of the entity bean abstract schema - * type value returned by the SELECT clause - *
    • if the select clause is a cmp field, then - * orderby item must be empty or the same cmp field. - *
    - * @param select the select clause of the query - * @param orderby the orderby clause of the query - */ - private void checkSelectOrderbyClause(EJBQLAST select, EJBQLAST orderby) - { - // nothing to check if no orderby clause or - // if orderby validation is disabled - if ((orderby == null) || DISABLE_ORDERBY_VALIDATION) { - return; - } - - AST selectReturnAST = select.getFirstChild(); - // skip DISTINCT node, so selectReturnAST should be one of the following: - // Object(x), cmr-field, cmp-field - // it is illegal to be an aggregate function node - if (selectReturnAST.getType() == DISTINCT) { - selectReturnAST = selectReturnAST.getNextSibling(); - } - - if (selectReturnAST.getType() == CMP_FIELD_ACCESS) { - StringBuilder buf = new StringBuilder(); - genPathExpression(selectReturnAST, buf); - String selectReturnPathExpr = buf.toString(); - for (AST sibling = orderby.getFirstChild(); - sibling != null; - sibling = sibling.getNextSibling().getNextSibling()) { - - // share buf - buf.setLength(0); - genPathExpression(sibling, buf); - String siblingPathExpr = buf.toString(); - if (!selectReturnPathExpr.equals(siblingPathExpr)) { - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidOrderbyItemForCMPSelect", //NOI18N - siblingPathExpr)); - } - } - } else { - AST abstractSchemaAST = null; - if (selectReturnAST.getType() == SINGLE_CMR_FIELD_ACCESS) { - abstractSchemaAST = selectReturnAST; - } else if (selectReturnAST.getType() == OBJECT) { - abstractSchemaAST = selectReturnAST.getFirstChild(); - } else { // it must be an aggregate function node - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidAggregateOrderby" //NOI18N - )); - } - - StringBuilder buf = new StringBuilder(); - genPathExpression(abstractSchemaAST, buf); - String abstractSchemaExpr = buf.toString(); - for (AST sibling = orderby.getFirstChild(); - sibling != null; - sibling = sibling.getNextSibling().getNextSibling()) { - - // share buf - buf.setLength(0); - genPathExpression(sibling.getFirstChild(), buf); - String siblingRootExpr = buf.toString(); - if (!abstractSchemaExpr.equals(siblingRootExpr)) { - buf.setLength(0); - genPathExpression(sibling, buf); - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidOrderbyItem", //NOI18N - buf.toString())); - } - } - } - } - - /** - * Form a string representation of a dot expression and append to given - * StringBuilder. - * @param ast the AST node representing the root the of the expression - * @param buf the StringBuilder that will have result of path expression - * append - */ - //SW: We can write this method without recursion. Michael suggests to use - //recursion for readability. - private void genPathExpression(AST ast, StringBuilder buf) { - if (ast == null) { - return; - } - switch (ast.getType()) { - case CMP_FIELD_ACCESS: - case COLLECTION_CMR_FIELD_ACCESS: - case SINGLE_CMR_FIELD_ACCESS: - AST left = ast.getFirstChild(); - AST right = left.getNextSibling(); - genPathExpression(left, buf); - buf.append('.'); - genPathExpression(right, buf); - break; - default: - buf.append(ast.getText()); - break; - } - } - - /** - * Analyses a logical operation AND, OR - * @param op the logical operator - * @param leftAST left operand - * @param rightAST right operand - * @return the type info of the operator - */ - private Object analyseConditionalExpr(EJBQLAST op, EJBQLAST leftAST, EJBQLAST rightAST) - { - Object left = leftAST.getTypeInfo(); - Object right = rightAST.getTypeInfo(); - - // handle error type - if (typeSupport.isErrorType(left) || typeSupport.isErrorType(right)) - return typeSupport.errorType; - - if (typeSupport.isBooleanType(left) && typeSupport.isBooleanType(right)) { - Object common = typeSupport.booleanType; - return common; - } - - // if this code is reached a bitwise operator was used with invalid arguments - ErrorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(msgs, "EXC_InvalidArguments", op.getText())); //NOI18N - return typeSupport.errorType; - } - - /** - * Analyses a equality operation (==, <>) - * @param op the relational operator - * @param leftAST left operand - * @param rightAST right operand - * @return the type info of the operator - */ - private Object analyseEqualityExpr(EJBQLAST op, EJBQLAST leftAST, EJBQLAST rightAST) - { - Object left = leftAST.getTypeInfo(); - Object right = rightAST.getTypeInfo(); - - // handle error type - if (typeSupport.isErrorType(left) || typeSupport.isErrorType(right)) { - return typeSupport.errorType; - } - - // check left hand side for literals and input params - if (isLiteral(leftAST)) { - ErrorMsg.error(leftAST.getLine(), leftAST.getColumn(), - I18NHelper.getMessage(msgs, "EXC_InvalidLHSLiteral", //NOI18N - leftAST.getText(), op.getText())); - return typeSupport.errorType; - } - else if (isInputParameter(leftAST)) { - ErrorMsg.error(leftAST.getLine(), leftAST.getColumn(), - I18NHelper.getMessage(msgs, "EXC_InvalidLHSParameter", //NOI18N - leftAST.getText(), op.getText())); - return typeSupport.errorType; - } - - // check operand types - if (typeSupport.isNumberType(left) && typeSupport.isNumberType(right)) { - return typeSupport.booleanType; - } - else if (typeSupport.isStringType(left) && typeSupport.isStringType(right)) { - return typeSupport.booleanType; - } - else if (typeSupport.isDateTimeType(left) && typeSupport.isDateTimeType(right)) { - return typeSupport.booleanType; - } - else if (isEntityBeanValue(leftAST) && isEntityBeanValue(rightAST) && - (typeSupport.isCompatibleWith(left, right) || - typeSupport.isCompatibleWith(right, left))) { - String leftEjbName = (String)leftAST.getTypeInfo(); - // the input parameter must be on right hand side of an equality - // expression ('?1' = e.department is not supported) - return analyseParameterEjbName(rightAST, leftEjbName); - } - else if (typeSupport.isBooleanType(left) && typeSupport.isBooleanType(right)) { - return typeSupport.booleanType; - } - - // if this code is reached a conditional operator was used with invalid arguments - ErrorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(msgs, "EXC_InvalidArguments", op.getText())); //NOI18N - return typeSupport.errorType; - } - - /** - * Analyses a relational operation (<, <=, >, >=) - * @param op the relational operator - * @param leftAST left operand - * @param rightAST right operand - * @return the type info of the operator - */ - private Object analyseRelationalExpr(EJBQLAST op, EJBQLAST leftAST, EJBQLAST rightAST) - { - Object left = leftAST.getTypeInfo(); - Object right = rightAST.getTypeInfo(); - - // handle error type - if (typeSupport.isErrorType(left) || typeSupport.isErrorType(right)) { - return typeSupport.errorType; - } - - // check left hand side for literals and input params - if (isLiteral(leftAST)) { - ErrorMsg.error(leftAST.getLine(), leftAST.getColumn(), - I18NHelper.getMessage(msgs, "EXC_InvalidLHSLiteral", //NOI18N - leftAST.getText(), op.getText())); - return typeSupport.errorType; - } - else if (isInputParameter(leftAST)) { - ErrorMsg.error(leftAST.getLine(), leftAST.getColumn(), - I18NHelper.getMessage(msgs, "EXC_InvalidLHSParameter", //NOI18N - leftAST.getText(), op.getText())); - return typeSupport.errorType; - } - - // check operand types - if ((typeSupport.isNumberType(left) && typeSupport.isNumberType(right)) || - (typeSupport.isDateTimeType(left) && typeSupport.isDateTimeType(right)) || - (typeSupport.isStringType(left) && typeSupport.isStringType(right))) { - return typeSupport.booleanType; - } - - // if this code is reached a conditional operator was used with invalid arguments - ErrorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(msgs, "EXC_InvalidArguments", op.getText())); //NOI18N - return typeSupport.errorType; - } - - /** - * Analyses a binary arithmetic expression +, -, *, /. - * @param op the operator - * @param leftAST left operand - * @param rightAST right operand - * @return the type info of the operator - */ - private Object analyseBinaryArithmeticExpr(EJBQLAST op, EJBQLAST leftAST, EJBQLAST rightAST) - { - Object left = leftAST.getTypeInfo(); - Object right = rightAST.getTypeInfo(); - - // handle error type - if (typeSupport.isErrorType(left) || typeSupport.isErrorType(right)) { - return typeSupport.errorType; - } - - if (typeSupport.isNumberType(left) && typeSupport.isNumberType(right)) { - Object common = getCommonOperandType(left, right); - if (!typeSupport.isErrorType(common)) - return common; - } - - // if this code is reached a conditional operator was used with invalid arguments - ErrorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(msgs, "EXC_InvalidArguments", op.getText())); //NOI18N - return typeSupport.errorType; - } - - /** - * Returns the common type info for the specified operand types. - * This includes binary numeric promotion as specified in Java. - * @param left type info of left operand - * @param right type info of right operand - * @return the type info of the operator - */ - private Object getCommonOperandType(Object left, Object right) - { - if (typeSupport.isNumberType(left) && typeSupport.isNumberType(right)) { - boolean wrapper = false; - - // handle java.math.BigDecimal: - if (typeSupport.bigDecimalType.equals(left)) { - return left; - } - if (typeSupport.bigDecimalType.equals(right)) { - return right; - } - - // handle java.math.BigInteger - if (typeSupport.bigIntegerType.equals(left)) { - // if right is floating point return BigDecimal, - // otherwise return BigInteger - return typeSupport.isFloatingPointType(right) ? - typeSupport.bigDecimalType : left; - } - if (typeSupport.bigIntegerType.equals(right)) { - // if left is floating point return BigDecimal, - // otherwise return BigInteger - return typeSupport.isFloatingPointType(left) ? - typeSupport.bigDecimalType : right; - } - - if (typeSupport.isNumericWrapperType(left)) { - left = typeSupport.getPrimitiveType(left); - wrapper = true; - } - if (typeSupport.isNumericWrapperType(right)) { - right = typeSupport.getPrimitiveType(right); - wrapper = true; - } - - // handle numeric types with arbitrary arithmetic operator - if (typeSupport.isNumericType(left) && typeSupport.isNumericType(right)) { - Object promotedType = typeSupport.binaryNumericPromotion(left, right); - if (wrapper) - promotedType = typeSupport.getWrapperType(promotedType); - return promotedType; - } - } - else if (typeSupport.isBooleanType(left) && typeSupport.isBooleanType(right)) { - // check for boolean wrapper class: if one of the operands has the - // type Boolean return Boolean, otherwise return boolean. - if (left.equals(typeSupport.booleanClassType) || - right.equals(typeSupport.booleanClassType)) - return typeSupport.booleanClassType; - else - return typeSupport.booleanType; - } - else if (typeSupport.isCompatibleWith(left, right)) { - return right; - } - else if (typeSupport.isCompatibleWith(right, left)) { - return left; - } - - // not compatible types => return errorType - return typeSupport.errorType; - } - - /** - * Analyses a unary expression (+ and -). - * @param op the operator - * @param argASTleftAST left operand - * @param rightAST right operand - * @return the type info of the operator - */ - private Object analyseUnaryArithmeticExpr(EJBQLAST op, EJBQLAST argAST) - { - Object arg = argAST.getTypeInfo(); - - // handle error type - if (typeSupport.isErrorType(arg)) - return arg; - - if (typeSupport.isNumberType(arg)) { - boolean wrapper = false; - if (typeSupport.isNumericWrapperType(arg)) { - arg = typeSupport.getPrimitiveType(arg); - wrapper = true; - } - - Object promotedType = typeSupport.unaryNumericPromotion(arg); - if (wrapper) - promotedType = typeSupport.getWrapperType(promotedType); - return promotedType; - } - - // if this code is reached a conditional operator was used with invalid arguments - ErrorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(msgs, "EXC_InvalidArguments", op.getText())); //NOI18N - return typeSupport.errorType; - } - - /** - * Analyses a expression node that is expected to access a collection - * valued CMR field. It returns the element type of the collection valued - * CMR field. - * @param fieldAccess the field access node - * @return the type info of the operator - */ - private Object analyseCollectionValuedCMRField(EJBQLAST fieldAccess) - { - if (fieldAccess.getType() != COLLECTION_CMR_FIELD_ACCESS) { - ErrorMsg.fatal(I18NHelper.getMessage(msgs, "ERR_InvalidPathExpr")); //NOI18N - return typeSupport.errorType; - } - - EJBQLAST classExpr = (EJBQLAST)fieldAccess.getFirstChild(); - EJBQLAST field = (EJBQLAST)classExpr.getNextSibling(); - Object fieldInfo = - typeSupport.getFieldInfo(classExpr.getTypeInfo(), field.getText()); - return typeSupport.getElementType(fieldInfo); - } - - /** - * Analyses a MEMBER OF operation. - * @param op the MEMBER OF operator - * @param value node representing the value to be tested - * @param col the collection - * @return the type info of the operator - */ - private Object analyseMemberExpr(EJBQLAST op, EJBQLAST value, EJBQLAST col) - { - Object valueTypeInfo = value.getTypeInfo(); - Object elementTypeInfo = analyseCollectionValuedCMRField(col); - - // handle error type - if (typeSupport.isErrorType(valueTypeInfo) || - typeSupport.isErrorType(elementTypeInfo)) { - return typeSupport.errorType; - } - - // check compatibility - if (typeSupport.isCompatibleWith(valueTypeInfo, elementTypeInfo) || - typeSupport.isCompatibleWith(elementTypeInfo, valueTypeInfo)) { - - return analyseParameterEjbName(value, (String)elementTypeInfo); - } - - // if this code is reached there is a compatibility problem - // with the value and the collection expr - ErrorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(msgs, "EXC_CollectionElementTypeMismatch", //NOI18N - typeSupport.getTypeName(elementTypeInfo), - typeSupport.getTypeName(valueTypeInfo))); - return typeSupport.errorType; - } - - /** - * Analyses the type of the element to be compatible with the type of the - * value expression in the sense that element type can be cast into value - * type without losing precision. - * For instance, element type can be a double and value type can be an - * integer. - * @param elementAST given element - * @param valueTypeInfo the type to be check for compatibility - * @return the type info of the elementAST or typeSupport.errorType - */ - private Object analyseInCollectionElement(EJBQLAST elementAST, - Object valueTypeInfo) - { - Object elementTypeInfo = elementAST.getTypeInfo(); - - // handle error type - if (typeSupport.isErrorType(valueTypeInfo) || - typeSupport.isErrorType(elementTypeInfo)) { - return typeSupport.errorType; - } - - Object common = getCommonOperandType(elementTypeInfo, valueTypeInfo); - if (!typeSupport.isErrorType(common) && - elementTypeInfo.equals(common)) { - return common; - } - - // if this code is reached there is a compatibility problem - // with the value and the collection expr - ErrorMsg.error(elementAST.getLine(), elementAST.getColumn(), - I18NHelper.getMessage(msgs, "EXC_CollectionElementTypeMismatch", //NOI18N - typeSupport.getTypeName(valueTypeInfo), - typeSupport.getTypeName(elementTypeInfo))); - return typeSupport.errorType; - } - - /** - * Analyses whether paramAST can be associated to a ejbName. - * @param paramAST AST node corresponds to a PARAMETER - * @param ejbName name to be check with paramAST - * @return the type info of typeSupport.booleanType or typeSupport.errorType - */ - private Object analyseParameterEjbName(EJBQLAST paramAST, String ejbName) - { - if (isInputParameter(paramAST)) { - String paramName = paramAST.getText(); - String paramEjbName = paramSupport.getParameterEjbName(paramName); - if (paramEjbName != null && !paramEjbName.equals(ejbName)) { - ErrorMsg.error(paramAST.getLine(), paramAST.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_MultipleEJBNameParameter", // NOI18N - paramName, ejbName, paramEjbName)); - return typeSupport.errorType; - } else { - paramSupport.setParameterEjbName(paramName, ejbName); - } - } - return typeSupport.booleanType; - } - - /** - * Returns true if ast denotes a entity bena value. - */ - private boolean isEntityBeanValue(EJBQLAST ast) - { - switch(ast.getType()) { - case SINGLE_CMR_FIELD_ACCESS: - case IDENTIFICATION_VAR: - return true; - case INPUT_PARAMETER: - Object typeInfo = ast.getTypeInfo(); - return typeSupport.isEjbOrInterfaceName(typeInfo); - } - return false; - } - - /** - * Returns true if ast denotes a literal. - */ - private boolean isLiteral(EJBQLAST ast) - { - int tokenType = ast.getType(); - return ((tokenType == INT_LITERAL) || - (tokenType == LONG_LITERAL) || - (tokenType == STRING_LITERAL) || - (tokenType == FLOAT_LITERAL) || - (tokenType == DOUBLE_LITERAL) || - (tokenType == TRUE) || - (tokenType == FALSE)); - } - - /** - * Returns true if ast denotes a input parameter access. - */ - private boolean isInputParameter(EJBQLAST ast) - { - return ast.getType() == INPUT_PARAMETER; - } - - /** - * The method checks the specified node being an expression of type String. - * @param expr the expression to be checked - * @return true if the specified expression has the type String. - */ - private boolean isStringExpr(EJBQLAST expr) - { - Object exprType = expr.getTypeInfo(); - - // handle error type - if (typeSupport.isErrorType(exprType)) - return true; - - // expr must have the type String - if (!typeSupport.isStringType(exprType)) { - ErrorMsg.error(expr.getLine(), expr.getColumn(), - I18NHelper.getMessage(msgs, "EXC_StringExprExpected", //NOI18N - typeSupport.getTypeName(exprType))); - return false; - } - - // everything is ok => return true; - return true; - } - - /** - * The method checks the specified node being an expression of - * type int or java.lang.Integer. - * @param expr the expression to be checked - * @return true if the specified expression has the type - * int or java.lang.Integer. - */ - private boolean isIntExpr(EJBQLAST expr) - { - Object exprType = expr.getTypeInfo(); - - // handle error type - if (typeSupport.isErrorType(exprType)) - return true; - - // expr must have the type int or Integer - if (!typeSupport.isIntType(exprType)) { - ErrorMsg.error(expr.getLine(), expr.getColumn(), - I18NHelper.getMessage(msgs, "EXC_IntExprExpected", //NOI18N - typeSupport.getTypeName(exprType))); - return false; - } - - // everything is ok => return true; - return true; - } - - /** - * The method checks the specified node being an expression of - * type double or java.lang.Double. - * @param expr the expression to be checked - * @return true if the specified expression has the type - * double or java.lang.Double. - */ - private boolean isDoubleExpr(EJBQLAST expr) - { - Object exprType = expr.getTypeInfo(); - - // handle error type - if (typeSupport.isErrorType(exprType)) - return true; - - // expr must have the type double or Double - if (!typeSupport.isDoubleType(exprType)) { - ErrorMsg.error(expr.getLine(), expr.getColumn(), - I18NHelper.getMessage(msgs, "EXC_DoubleExprExpected", //NOI18N - typeSupport.getTypeName(exprType))); - return false; - } - - // everything is ok => return true; - return true; - } - - /** - * The method checks the specified node being an expression of a number type - * (a numeric type or a number wrapper class). - * @param expr the expression to be checked - * @return true if the specified expression has a number type. - */ - private boolean isNumberExpr(EJBQLAST expr) - { - Object exprType = expr.getTypeInfo(); - - // handle error type - if (typeSupport.isErrorType(exprType)) - return true; - - // expr must have a number type - if (!typeSupport.isNumberType(exprType)) { - ErrorMsg.error(expr.getLine(), expr.getColumn(), - I18NHelper.getMessage(msgs, "EXC_NumberExprExpected", //NOI18N - typeSupport.getTypeName(exprType))); - return false; - } - - // everything is ok => return true; - return true; - } - - /** - * The method checks the specified node being an expression of a number type - * (a numeric type or a number wrapper class). - * @param expr the expression to be checked - * @return true if the specified expression has a number or - * String type - */ - private boolean isNumberOrStringExpr(EJBQLAST expr) - { - Object exprType = expr.getTypeInfo(); - - // handle error type - if (typeSupport.isErrorType(exprType)) - return true; - - // expr must have a number type - if (!typeSupport.isNumberType(exprType) && - !typeSupport.isStringType(exprType)) { - ErrorMsg.error(expr.getLine(), expr.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_NumberOrStringExprExpected", //NOI18N - typeSupport.getTypeName(exprType))); - return false; - } - - // everything is ok => return true; - return true; - } - - /** - * The method checks whether the specified node denotes a valid abstract - * schema type. - * @param ident the node to be checked - * @return the type info for the abstract bean class of the specified - * abstract schema type. - */ - private Object checkAbstractSchemaType(EJBQLAST ident) - { - String name = ident.getText(); - Object typeInfo = - typeSupport.getTypeInfoForAbstractSchema(name); - if (typeInfo == null) { - ErrorMsg.error(ident.getLine(), ident.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_AbstractSchemNameExpected", name)); //NOI18N - typeInfo = typeSupport.errorType; - } - return typeInfo; - } - - /** - * Returns true if the specified text is a string literal consisting of a - * single char. Escaped chars are counted as a single char such as \ uxxxx. - */ - private boolean isSingleCharacterStringLiteral(String text) - { - int i = 0; - int length = text.length(); - if (length == 0) { - // empty string - return false; - } - if (text.charAt(i) == '\\') - { - i++; - if (i == length) { - // string literal was '\' - return true; - } - // escaped char => check the next char - if (text.charAt(i) == 'u') { - // unicode - i +=5; - } - else if (('0' <= text.charAt(i)) && (text.charAt(i) <= '3')) { - i++; - if ((i < length) && isOctalDigit(text.charAt(i))) { - i++; - if ((i < length) && isOctalDigit(text.charAt(i))) { - i++; - } - } - } - else if (isOctalDigit(text.charAt(i))) { - i++; - if ((i < length) && isOctalDigit(text.charAt(i))) { - i++; - } - } - else { - i++; - } - } - else if (text.charAt(i) == '\''){ - // check special EJBQL single quote char - i++; - if ((i < length) && (text.charAt(i) == '\'')) { - i++; - } - } - else { - i++; - } - // reached end of text? - return (i == length); - } - - /** Returns true if the specified char is an octal digit */ - private boolean isOctalDigit(char c) - { - return ('0' <= c && c <= '7'); - } - -} - -// rules - -query - : #(QUERY fromClause s:selectClause whereClause o:orderbyClause) - { - checkSelectOrderbyClause(#s, #o); - } - ; - -// ---------------------------------- -// rules: from clause -// ---------------------------------- - -fromClause - : #( FROM ( identificationVarDecl )+ ) - ; - -identificationVarDecl - : collectionMemberDecl - | rangeVarDecl - ; - -collectionMemberDecl - : #(IN p:collectionValuedPathExpression var:IDENT) - { - Object typeInfo = analyseCollectionValuedCMRField(#p); - String name = #var.getText(); - Object identVar = new IdentificationVariable(name, typeInfo); - if (symtab.declare(name, identVar) != null) { - ErrorMsg.error(#var.getLine(), #var.getColumn(), - I18NHelper.getMessage(msgs, "EXC_MultipleDeclaration", name)); //NOI18N - } - #var.setType(IDENTIFICATION_VAR_DECL); - #var.setTypeInfo(typeInfo); - } - ; - -rangeVarDecl - : #(RANGE abstractSchemaName:ABSTRACT_SCHEMA_NAME var:IDENT) - { - // check abstract schema name - Object typeInfo = - checkAbstractSchemaType(#abstractSchemaName); - #abstractSchemaName.setTypeInfo(typeInfo); - - // check identification variable - String name = #var.getText(); - Object identVar = new IdentificationVariable(name, typeInfo); - if (symtab.declare(name, identVar) != null) { - ErrorMsg.error(#var.getLine(), #var.getColumn(), - I18NHelper.getMessage(msgs, "EXC_MultipleDeclaration", name)); //NOI18N - } - #var.setType(IDENTIFICATION_VAR_DECL); - #var.setTypeInfo(typeInfo); - } - ; - -// ---------------------------------- -// rules: select clause -// ---------------------------------- - -selectClause - : #( SELECT distinct p:projection ) - { - Object selectClauseTypeInfo = #p.getTypeInfo(); - Class returnType = method.getReturnType(); - if (finderNotSelector) { - checkFinderReturnType(returnType, selectClauseTypeInfo); - checkFinderResultTypeMapping(); - } - else { - checkSelectorReturnType(returnType, selectClauseTypeInfo); - checkSelectorResultTypeMapping(returnType, - selectClauseTypeInfo); - } - } - ; - -distinct - : DISTINCT - | // empty rule - { - // Insert DISTINCT keyword, in the case of a multi-object selector - // having java.util.Set as return type - if (!finderNotSelector && - (method.getReturnType() == java.util.Set.class)) { - #distinct = #[DISTINCT,"distinct"]; - } - } - ; - -projection - : singleValuedPathExpression - | #( o:OBJECT var:IDENT ) - { - String name = #var.getText(); - Object decl = symtab.getDeclaration(name); - Object typeInfo = null; - if ((decl != null) && - (decl instanceof IdentificationVariable)) { - #var.setType(IDENTIFICATION_VAR); - typeInfo = ((IdentificationVariable)decl).getTypeInfo(); - } - else { - ErrorMsg.error(#var.getLine(), #var.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_IdentificationVariableExcepted", name)); //NOI18N - } - #var.setTypeInfo(typeInfo); - #o.setTypeInfo(typeInfo); - } - | #( sum:SUM ( DISTINCT )? sumExpr:cmpPathExpression ) - { - // check numeric type - Object typeInfo = #sumExpr.getTypeInfo(); - if (!typeSupport.isNumberType(typeInfo) || - typeSupport.isCharType(typeInfo)) { - ErrorMsg.error(#sumExpr.getLine(), #sumExpr.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_NumberExprExpected", //NO18N - typeSupport.getTypeName(typeInfo))); - } - #sum.setTypeInfo(typeSupport.getSumReturnType(typeInfo)); - isAggregate = true; - } - | #( avg:AVG ( DISTINCT )? avgExpr:cmpPathExpression ) - { - // check numeric type - Object typeInfo = #avgExpr.getTypeInfo(); - if (!typeSupport.isNumberType(typeInfo) || - typeSupport.isCharType(typeInfo)) { - ErrorMsg.error(#avgExpr.getLine(), #avgExpr.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_NumberExprExpected", //NO18N - typeSupport.getTypeName(typeInfo))); - } - #avg.setTypeInfo(typeSupport.getAvgReturnType(typeInfo)); - isAggregate = true; - } - | #( min:MIN ( DISTINCT )? minExpr:cmpPathExpression ) - { - // check orderable type - Object typeInfo = #minExpr.getTypeInfo(); - if (!typeSupport.isOrderableType(typeInfo)) { - ErrorMsg.error(#minExpr.getLine(), #minExpr.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_OrderableExpected", //NO18N - typeSupport.getTypeName(typeInfo))); - } - #min.setTypeInfo(typeSupport.getMinMaxReturnType(typeInfo)); - isAggregate = true; - } - | #( max:MAX ( DISTINCT )? maxExpr:cmpPathExpression ) - { - // check orderable type - Object typeInfo = #maxExpr.getTypeInfo(); - if (!typeSupport.isOrderableType(typeInfo)) { - ErrorMsg.error(#maxExpr.getLine(), #maxExpr.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_OrderableExpected", //NO18N - typeSupport.getTypeName(typeInfo))); - } - #max.setTypeInfo(typeSupport.getMinMaxReturnType(typeInfo)); - isAggregate = true; - } - | #( c:COUNT ( DISTINCT )? countExpr ) - { - #c.setTypeInfo(typeSupport.longClassType); - isAggregate = true; - } - ; - -countExpr - : v:IDENT - { - String name = #v.getText(); - Object decl = symtab.getDeclaration(name); - Object typeInfo = null; - if ((decl != null) && - (decl instanceof IdentificationVariable)) { - #v.setType(IDENTIFICATION_VAR); - typeInfo = ((IdentificationVariable)decl).getTypeInfo(); - } - else { - ErrorMsg.error(#v.getLine(), #v.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_IdentificationVariableExcepted", name)); //NOI18N - } - #v.setTypeInfo(typeInfo); - } - | singleValuedPathExpression - ; - -// ---------------------------------- -// rules: where clause -// ---------------------------------- - -whereClause - : #( WHERE e:expression ) - { - Object typeInfo = #e.getTypeInfo(); - if (!typeSupport.isBooleanType(typeInfo)) { - ErrorMsg.error(#e.getLine(), #e.getColumn(), - I18NHelper.getMessage(msgs, "EXC_BooleanWhereClauseExpected", //NOI18N - typeSupport.getTypeName(typeInfo))); - } - } - ; - -// ---------------------------------- -// rules: order by clause -// ---------------------------------- - -orderbyClause - : #( ORDER ( orderbyItem )+ ) - | // empty rule - ; - -orderbyItem - : expr:cmpPathExpression ( ASC | DESC ) - { - // check orderable type - Object typeInfo = #expr.getTypeInfo(); - if (!typeSupport.isOrderableType(typeInfo)) { - ErrorMsg.error(#expr.getLine(), #expr.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_OrderableOrderbyClauseExpected", //NO18N - typeSupport.getTypeName(typeInfo))); - } - } - ; - -// ---------------------------------- -// rules: expression -// ---------------------------------- - -expression - : conditionalExpr - | relationalExpr - | binaryArithmeticExpr - | unaryExpr - | betweenExpr - | likeExpr - | inExpr - | nullComparisonExpr - | emptyCollectionComparisonExpr - | collectionMemberExpr - | function - | primary - ; - -conditionalExpr - : #( op1:AND left1:expression right1:expression ) - { - #op1.setTypeInfo(analyseConditionalExpr(#op1, #left1, #right1)); - } - | #( op2:OR left2:expression right2:expression ) - { - #op2.setTypeInfo(analyseConditionalExpr(#op2, #left2, #right2)); - } - ; - -relationalExpr - : #( op1:EQUAL left1:expression right1:expression ) - { - #op1.setTypeInfo(analyseEqualityExpr(#op1, #left1, #right1)); - } - | #( op2:NOT_EQUAL left2:expression right2:expression ) - { - #op2.setTypeInfo(analyseEqualityExpr(#op2, #left2, #right2)); - } - | #( op3:LT left3:expression right3:expression ) - { - #op3.setTypeInfo(analyseRelationalExpr(#op3, #left3, #right3)); - } - | #( op4:LE left4:expression right4:expression ) - { - #op4.setTypeInfo(analyseRelationalExpr(#op4, #left4, #right4)); - } - | #( op5:GT left5:expression right5:expression ) - { - #op5.setTypeInfo(analyseRelationalExpr(#op5, #left5, #right5)); - } - | #( op6:GE left6:expression right6:expression ) - { - #op6.setTypeInfo(analyseRelationalExpr(#op6, #left6, #right6)); - } - ; - -binaryArithmeticExpr - : #( op1:PLUS left1:expression right1:expression ) - { - #op1.setTypeInfo(analyseBinaryArithmeticExpr(#op1, #left1, #right1)); - } - | #( op2:MINUS left2:expression right2:expression ) - { - #op2.setTypeInfo(analyseBinaryArithmeticExpr(#op2, #left2, #right2)); - } - | #( op3:STAR left3:expression right3:expression ) - { - #op3.setTypeInfo(analyseBinaryArithmeticExpr(#op3, #left3, #right3)); - } - | #( op4:DIV left4:expression right4:expression ) - { - #op4.setTypeInfo(analyseBinaryArithmeticExpr(#op4, #left4, #right4)); - } - ; - -unaryExpr - : #( op1:UNARY_PLUS arg1:expression ) - { - #op1.setTypeInfo(analyseUnaryArithmeticExpr(#op1, #arg1)); - } - | #( op2:UNARY_MINUS arg2:expression ) - { - #op2.setTypeInfo(analyseUnaryArithmeticExpr(#op2, #arg2)); - } - | #( op3:NOT arg3:expression ) - { - Object typeInfo = typeSupport.errorType; - Object arg = #arg3.getTypeInfo(); - if (typeSupport.isErrorType(arg)) - typeInfo = typeSupport.errorType; - else if (typeSupport.isBooleanType(arg)) - typeInfo = arg; - else { - ErrorMsg.error(#op3.getLine(), #op3.getColumn(), - I18NHelper.getMessage(msgs, "EXC_InvalidArguments", //NOI18N - #op3.getText())); - } - #op3.setTypeInfo(typeInfo); - } - ; - -betweenExpr - : #( op1:BETWEEN expr1:expression lower1:expression upper1:expression ) - { - #op1.setTypeInfo((isNumberExpr(#expr1) && isNumberExpr(#lower1) && isNumberExpr(#upper1)) ? - typeSupport.booleanType : typeSupport.errorType); - } - | #( op2:NOT_BETWEEN expr2:expression lower2:expression upper2:expression ) - { - #op2.setTypeInfo((isNumberExpr(#expr2) && isNumberExpr(#lower2) && isNumberExpr(#upper2)) ? - typeSupport.booleanType : typeSupport.errorType); - } - ; - -likeExpr - : #( op1:LIKE expr1:cmpPathExpression pattern escape ) - { - #op1.setTypeInfo(isStringExpr(#expr1) ? - typeSupport.booleanType : typeSupport.errorType); - } - | #( op2:NOT_LIKE expr2:cmpPathExpression pattern escape ) - { - #op2.setTypeInfo(isStringExpr(#expr2) ? - typeSupport.booleanType : typeSupport.errorType); - } - ; - -pattern - : STRING_LITERAL - | p:inputParameter - { - if (!typeSupport.isStringType(#p.getTypeInfo())) { - ErrorMsg.error(#p.getLine(), #p.getColumn(), - I18NHelper.getMessage(msgs, "EXC_InvalidPatternDefinition", - #p.getText())); //NOI18N - } - } - ; - -escape - : #( ESCAPE escapeCharacter ) - | // empty rule - ; - -escapeCharacter - : s:STRING_LITERAL - { - String literal = #s.getText(); - // String must be single charater string literal => - // either '' or '''' - if (!isSingleCharacterStringLiteral(#s.getText())) { - ErrorMsg.error(#s.getLine(), #s.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_InvalidEscapeDefinition", #s.getText())); //NOI18N - } - } - | p:inputParameter - { - Object paramType = #p.getTypeInfo(); - if (!typeSupport.isCharType(paramType)) { - ErrorMsg.error(#p.getLine(), #p.getColumn(), - I18NHelper.getMessage(msgs, - "EXC_InvalidEscapeParameterDefinition", #p.getText())); //NOI18N - } - } - ; - -inExpr - : #( op1:IN expr1:cmpPathExpression inCollection[#expr1.getTypeInfo()] ) - { - #op1.setTypeInfo(isNumberOrStringExpr(#expr1) ? - typeSupport.booleanType : typeSupport.errorType); - } - | #( op2:NOT_IN expr2:cmpPathExpression inCollection[#expr2.getTypeInfo()] ) - { - #op2.setTypeInfo(isNumberOrStringExpr(#expr2) ? - typeSupport.booleanType : typeSupport.errorType); - } - ; - -nullComparisonExpr - : #( op1:NULL ( singleValuedPathExpression | inputParameter ) ) - { - #op1.setTypeInfo(typeSupport.booleanType); - } - | #( op2:NOT_NULL ( singleValuedPathExpression | inputParameter ) ) - { - #op2.setTypeInfo(typeSupport.booleanType); - } - ; - -emptyCollectionComparisonExpr -{ - Object elementTypeInfo = null; -} - : #( op1:EMPTY col1:collectionValuedPathExpression ) - { - elementTypeInfo = analyseCollectionValuedCMRField(#col1); - #op1.setTypeInfo(typeSupport.isErrorType(elementTypeInfo) ? - typeSupport.errorType : typeSupport.booleanType ); - } - | #( op2:NOT_EMPTY col2:collectionValuedPathExpression ) - { - elementTypeInfo = analyseCollectionValuedCMRField(#col2); - #op2.setTypeInfo(typeSupport.isErrorType(elementTypeInfo) ? - typeSupport.errorType : typeSupport.booleanType ); - } - ; - -collectionMemberExpr - : #( op1:MEMBER value1:member col1:collectionValuedPathExpression ) - { - #op1.setTypeInfo(analyseMemberExpr(#op1, #value1, #col1)); - } - | #( op2:NOT_MEMBER value2:member col2:collectionValuedPathExpression ) - { - #op2.setTypeInfo(analyseMemberExpr(#op2, #value2, #col2)); - } - ; - -member - : identificationVariable - | inputParameter - | singleValuedCmrPathExpression - ; - -function - : concat - | substring - | length - | locate - | abs - | sqrt - | mod - ; - -concat - : #( op:CONCAT arg1:expression arg2:expression ) - { - #op.setTypeInfo((isStringExpr(#arg1) && isStringExpr(#arg2)) ? - typeSupport.stringType : typeSupport.errorType); - } - ; - -substring - : #( op:SUBSTRING arg1:expression arg2:expression arg3:expression ) - { - #op.setTypeInfo((isStringExpr(#arg1) && isIntExpr(#arg2) && isIntExpr(#arg3)) ? - typeSupport.stringType : typeSupport.errorType); - } - ; - -length - : #( op:LENGTH arg:expression ) - { - #op.setTypeInfo(isStringExpr(#arg) ? - typeSupport.intType : typeSupport.errorType); - } - ; - -locate - : #( op:LOCATE arg1:expression arg2:expression ( arg3:expression )? ) - { - #op.setTypeInfo((isStringExpr(#arg1) && isStringExpr(#arg2) && - ((#arg3 == null) || isIntExpr(#arg3))) ? - typeSupport.intType : typeSupport.errorType); - } - ; - -abs - : #( op:ABS expr:expression ) - { - #op.setTypeInfo(isNumberExpr(#expr) ? - #expr.getTypeInfo() : typeSupport.errorType); - } - ; - -sqrt - : #( op:SQRT expr:expression ) - { - #op.setTypeInfo(isDoubleExpr(#expr) ? - #expr.getTypeInfo() : typeSupport.errorType); - } - ; - -mod - : #( op:MOD arg1:expression arg2:expression ) - { - #op.setTypeInfo((isIntExpr(#arg1) && isIntExpr(#arg2)) ? - typeSupport.intType : typeSupport.errorType); - } - ; - -primary - : literal - | singleValuedPathExpression - | identificationVariable - | inputParameter - ; - -literal - : b1:TRUE { #b1.setTypeInfo(typeSupport.booleanType); } - | b2:FALSE { #b2.setTypeInfo(typeSupport.booleanType); } - | s:STRING_LITERAL { #s.setTypeInfo(typeSupport.stringType); } - | i:INT_LITERAL { #i.setTypeInfo(typeSupport.intType); } - | l:LONG_LITERAL { #l.setTypeInfo(typeSupport.longType); } - | f:FLOAT_LITERAL { #f.setTypeInfo(typeSupport.floatType); } - | d:DOUBLE_LITERAL { #d.setTypeInfo(typeSupport.doubleType); } - ; - -pathExpression - : #( dot:DOT o:objectDenoter i:IDENT ) - { - String fieldName = #i.getText(); - Object typeInfo = #o.getTypeInfo(); - Object fieldTypeInfo = - typeSupport.getFieldType(typeInfo, fieldName); - if (fieldTypeInfo == null) { - // field is not known - ErrorMsg.error(#i.getLine(), #i.getColumn(), - I18NHelper.getMessage(msgs, "EXC_UnknownField", fieldName, //NOI18N - typeSupport.getAbstractSchemaForTypeInfo(typeInfo))); - fieldTypeInfo = typeSupport.errorType; - } - else { - Object fieldInfo = typeSupport.getFieldInfo(typeInfo, fieldName); - if (fieldInfo == null) { - ErrorMsg.fatal(I18NHelper.getMessage(msgs, - "ERR_MissingFieldInfo", //NOI18N - fieldName, typeSupport.getTypeName(typeInfo))); - } - if (!typeSupport.isRelationship(fieldInfo)) { - // field is not a relationship => cmp field - #i.setType(CMP_FIELD); - #dot.setType(CMP_FIELD_ACCESS); - } - else if (typeSupport.isCollectionType(fieldTypeInfo)) { - // field is a relationship of a collection type => - // collection valued cmr field - #i.setType(COLLECTION_CMR_FIELD); - #dot.setType(COLLECTION_CMR_FIELD_ACCESS); - } - else { - // field is a relationship of a non collection type => - // single valued cmr field - #i.setType(SINGLE_CMR_FIELD); - #dot.setType(SINGLE_CMR_FIELD_ACCESS); - } - } - #dot.setTypeInfo(fieldTypeInfo); - #i.setTypeInfo(fieldTypeInfo); - } - - ; - -objectDenoter - : identificationVariable - | singleValuedCmrPathExpression - ; - -identificationVariable - : i:IDENT - { - String name = #i.getText(); - Object decl = symtab.getDeclaration(name); - // check for identification variables - if ((decl != null) && (decl instanceof IdentificationVariable)) { - #i.setType(IDENTIFICATION_VAR); - #i.setTypeInfo(((IdentificationVariable)decl).getTypeInfo()); - } - else { - #i.setTypeInfo(typeSupport.errorType); - ErrorMsg.error(#i.getLine(), #i.getColumn(), - I18NHelper.getMessage(msgs, "EXC_UndefinedIdentifier", name)); //NOI18N - - } - } - ; - -singleValuedPathExpression - : p:pathExpression - { - int fieldTokenType = #p.getType(); - if ((fieldTokenType != SINGLE_CMR_FIELD_ACCESS) && - (fieldTokenType != CMP_FIELD_ACCESS)) { - EJBQLAST classExpr = (EJBQLAST)#p.getFirstChild(); - EJBQLAST field = (EJBQLAST)classExpr.getNextSibling(); - ErrorMsg.error(field.getLine(), field.getColumn(), - I18NHelper.getMessage(msgs, "EXC_SingleValuedCMROrCMPFieldExpected", //NOI18N - field.getText(), typeSupport.getTypeName(field.getTypeInfo()))); - #p.setType(SINGLE_CMR_FIELD_ACCESS); - } - } - ; - -cmpPathExpression - : p:pathExpression - { - int fieldTokenType = #p.getType(); - if ((fieldTokenType != CMP_FIELD_ACCESS)) { - EJBQLAST classExpr = (EJBQLAST)#p.getFirstChild(); - EJBQLAST field = (EJBQLAST)classExpr.getNextSibling(); - ErrorMsg.error(field.getLine(), field.getColumn(), - I18NHelper.getMessage(msgs, "EXC_CMPFieldExpected", //NOI18N - field.getText(), typeSupport.getTypeName(field.getTypeInfo()))); - #p.setType(CMP_FIELD_ACCESS); - } - } - ; - -singleValuedCmrPathExpression - : p:pathExpression - { - int fieldTokenType = #p.getType(); - if (fieldTokenType != SINGLE_CMR_FIELD_ACCESS) { - EJBQLAST classExpr = (EJBQLAST)#p.getFirstChild(); - EJBQLAST field = (EJBQLAST)classExpr.getNextSibling(); - ErrorMsg.error(field.getLine(), field.getColumn(), - I18NHelper.getMessage(msgs, "EXC_SingleValuedCMRFieldExpected", //NOI18N - field.getText(), typeSupport.getTypeName(field.getTypeInfo()))); - #p.setType(COLLECTION_CMR_FIELD_ACCESS); - } - } - ; - -collectionValuedPathExpression - : p:pathExpression - { - int fieldTokenType = #p.getType(); - if (fieldTokenType != COLLECTION_CMR_FIELD_ACCESS) { - EJBQLAST classExpr = (EJBQLAST)#p.getFirstChild(); - EJBQLAST field = (EJBQLAST)classExpr.getNextSibling(); - ErrorMsg.error(field.getLine(), field.getColumn(), - I18NHelper.getMessage(msgs, "EXC_CollectionValuedCMRFieldExpected", //NOI18N - field.getText(), typeSupport.getTypeName(field.getTypeInfo()))); - #p.setType(COLLECTION_CMR_FIELD_ACCESS); - } - } - ; - -inCollection [Object valueExprTypeInfo] - : ( inCollectionElement[valueExprTypeInfo] )+ - ; - -inCollectionElement [Object valueExprTypeInfo] - : l:literal - { - l.setTypeInfo(analyseInCollectionElement(#l, valueExprTypeInfo)); - } - | i:inputParameter - { - i.setTypeInfo(analyseInCollectionElement(#i, valueExprTypeInfo)); - } - ; - -inputParameter - : param:INPUT_PARAMETER - { - Object typeInfo = typeSupport.getTypeInfo( - paramSupport.getParameterType(#param.getText())); - #param.setTypeInfo(typeInfo); - } - ; - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle.properties b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle.properties deleted file mode 100644 index ec776493573..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/Bundle.properties +++ /dev/null @@ -1,109 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# This Bundle.properties file contains log messages for the ejb entity runtime. -# All log messages for the entity runtime components (lifecycle, finder, and internal) -# are in this file. - -# resource bundle for the messages -# key consists of: -# - any valid prefix like MSG_, EXC_, etc. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 73. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO73000 - JDO73999 -############################################################################### -#{0}=name of EJB object class -EXC_ConvertEJBObjectToPC=JDO73000: Convert EJBObject to PC failed for: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBObject=JDO73001: Convert PC to EJBObject failed for Primary Key: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObject=JDO73002: Convert PC to EJBLocalObject failed for Primary Key: {0}. - -#{0}=Primary Key instance -EXC_ConvertPCToEJBLocalObjectCtx=JDO73003: Convert PC to EJBLocalObject with the given EJBContext failed for Primary Key: {0}. - -#{0}=Primary Key instance. -EXC_DeletedInstanceThisTx=JDO73004: Instance with Primary Key: {0} has been deleted in this transaction. - -#{0}=Primary Key instance. -EXC_DeletedInstanceOtherTx=JDO73005: Instance with Primary Key: {0} has been deleted in another transaction. - -#{0}=name of serializable class -EXC_IOWriteSerializableObject=JDO73006: IOException writing serializable object to byte array: {0}. - -EXC_CNFReadSerializableObject=JDO73007: ClassNotFoundException reading serializable object from byte array. -EXC_IOReadSerializableObject=JDO73008: IOException reading serializable object from byte array. - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongLocalInstance=JDO73009: Parameter instance of class ''{0}'' is not a valid local interface instance for bean ''{1}'': {2} - -#{0}=parameter class name. -#{1}=ejb-name -#{2}=exception message thrown by the container. -EXC_WrongRemoteInstance=JDO73010: Parameter instance of class ''{0}'' is not a valid remote interface instance for bean ''{1}'': {2} - -EXC_pknull_exception=JDO73011: Primary Key cannot be null. -EXC_oidnull_exception=JDO73012: Object Id cannot be null. - -#{0}=Primary Key field name -#{1}=ejb-name -EXC_pkfieldnull_exception=JDO73013: Primary Key field {0} for bean ''{1}'' cannot be null. diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/CMPBeanHelper.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/CMPBeanHelper.java deleted file mode 100644 index 7936e3afa7c..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/CMPBeanHelper.java +++ /dev/null @@ -1,416 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019-2021] Payara Foundation and/or affiliates - -/* - * CMPBeanHelper.java - * - * Created on May 28, 2003 - */ -package com.sun.jdo.spi.persistence.support.ejb.cmp; - -import com.sun.jdo.api.persistence.support.JDOException; -import com.sun.jdo.api.persistence.support.JDOHelper; -import com.sun.jdo.api.persistence.support.PersistenceCapable; -import com.sun.jdo.api.persistence.support.PersistenceManager; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -import jakarta.ejb.DuplicateKeyException; -import jakarta.ejb.EJBException; -import jakarta.ejb.ObjectNotFoundException; -import java.util.Collection; -import java.util.ResourceBundle; - -/** Provides static helper methods for CMP bean implementation to simplify - * the generated code. - */ -public class CMPBeanHelper { - - /** I18N message handlers */ - private final static ResourceBundle cmpMessages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.ejb.ejbc.Bundle", // NOI18N - CMPBeanHelper.class.getClassLoader()); - - /** - * The lifecycle logger used to log messages from ejbCreate(), ejbRemove() - * and other lifecycle methods. - */ - private static Logger cmpLifecycleLogger = LogHelperEntityLifecycle.getLogger(); - - /** - * The finder logger used to log messages from ejbFindXXX and/or ejbSelectXXX - * methods. - */ - private static Logger cmpFinderLogger = LogHelperEntityFinder.getLogger(); - - /** - * The internal logger used to log messages from setters and getter and other - * generated methods. - */ - private static Logger cmpInternalLogger = LogHelperEntityInternal.getLogger(); - - /** - * Called from a CMP bean to log JDOException message - * with the LifecycleLogger. - * - * @param key the key for the corresponding Bundle. - * @param beanName the name of the calling bean. - * @param ex the JDOException. - */ - public static void logJDOExceptionWithLifecycleLogger( - String key, String beanName, JDOException ex) { - - cmpLifecycleLogger.log(Logger.WARNING, - I18NHelper.getMessage(cmpMessages, key, - beanName, findCallingMethodName()), ex); - } - - /** - * Called from a CMP bean to log JDOException message - * with the LifecycleLogger. - * - * @param key the key for the corresponding Bundle. - * @param beanName the name of the calling bean. - * @param paramList the list of the concatenated parameters. - * @param ex the JDOException. - */ - public static void logJDOExceptionWithLifecycleLogger( - String key, String beanName, String paramList, - JDOException ex) { - - cmpLifecycleLogger.log(Logger.WARNING, - I18NHelper.getMessage(cmpMessages, key, - beanName, findCallingMethodName(), paramList), - ex); - } - - /** - * Called from a CMP bean to log JDOException message thrown - * from a any getter or setter method, with the InternalLogger. - * - * @param beanName the name of the calling bean. - * @param ex the JDOException. - */ - public static void logJDOExceptionWithInternalLogger( - String beanName, JDOException ex) { - - cmpInternalLogger.log(Logger.WARNING, - I18NHelper.getMessage(cmpMessages, - "GEN.generic_method_exception", // NOI18N - beanName, findCallingMethodName()), ex); - } - - /** - * Called from a CMP bean to log JDOException message thrown - * from a any finder or selector method, with the FinderLogger. - * - * @param beanName the name of the calling bean. - * @param params the Object[] of the parameter values for the - * finder or selector method. - * @param ex the JDOException. - */ - public static void logJDOExceptionWithFinderLogger( - String beanName, Object[] params, JDOException ex) { - - String msg = null; - if (params != null) { - msg = I18NHelper.getMessage(cmpMessages, - "GEN.ejbSSReturnBody_exception", beanName, // NOI18N - findCallingMethodName(), - java.util.Arrays.asList(params).toString()); - } else { - msg = I18NHelper.getMessage(cmpMessages, - "GEN.ejbSSReturnBody_exception_woparams", beanName, // NOI18N - findCallingMethodName()); - } - cmpFinderLogger.log(Logger.WARNING, msg, ex); - } - - /** - * Called from a CMP bean to log JDOException message thrown - * from a any finder or selector method, with the FinderLogger. - * - * @param level the logging level as int. - * @param beanName the name of the calling bean. - * @param ex the Exception. - */ - public static void logFinderException(int level, String beanName, - Exception ex) { - - if (cmpFinderLogger.isLoggable(level)) { - cmpFinderLogger.log(level, - I18NHelper.getMessage(cmpMessages, - "GEN.generic_method_exception", // NOI18N - beanName, findCallingMethodName()), ex); - } - } - - /** - * Called from a CMP bean to log JDOException message thrown - * from a PK setter method, with the InternalLogger. - * Returns generated message to the caller to be used for a - * IllegalStateException. - * - * @param beanName the name of the calling bean. - * @param ex the JDOException. - * @return logged message as String. - */ - public static String logJDOExceptionFromPKSetter( - String beanName, JDOException ex) { - - String msg = I18NHelper.getMessage(cmpMessages, "EXC_PKUpdate", // NOI18N - beanName, findCallingMethodName()); - if (cmpInternalLogger.isLoggable(Logger.FINE)) { - cmpInternalLogger.log(Logger.FINE, msg, ex); - } - - return msg; - } - - /** - * Called from a CMP bean to verify that the PersistenceCapable - * instance is already persistent. Throws IllegalStateException - * otherwise. - * - * @param pc the PersistenceCapable instance to be checked. - * @param beanName the name of the caller bean. - * @throws IllegalStateException if the instance is not persistent. - */ - public static void assertPersistent(PersistenceCapable pc, String beanName) { - if (!JDOHelper.isPersistent(pc)) { - String msg = I18NHelper.getMessage(cmpMessages, - "GEN.cmrgettersetter_exception", beanName, findCallingMethodName()); // NOI18N - - cmpInternalLogger.log(Logger.SEVERE, msg); - throw new IllegalStateException(msg); - } - } - - /** - * Called from a CMP bean to verify that the argument for - * a Collection set method is not null. Throws IllegalArgumentException - * if the argument is null. - * - * @param c the Collection to check. - * @param beanName the name of the caller bean. - * @throws IllegalArgumentException if the argument is null. - */ - public static void assertCollectionNotNull(Collection c, String beanName) { - if (c == null) { - String msg = I18NHelper.getMessage(cmpMessages, - "GEN.cmrsettercol_nullexception", beanName, findCallingMethodName()); // NOI18N - - cmpInternalLogger.log(Logger.SEVERE, msg); - throw new IllegalArgumentException(msg); - } - } - - /** - * Called from a CMP bean to verify that the PersistenceManager - * is not null. Throws IllegalStateException if the argument is null. - * - * @param pm the PersistenceManager to check. - * @param bean the calling bean instance. - * @throws IllegalStateException if the PersistenceManager is null. - */ - public static void assertPersistenceManagerNotNull(PersistenceManager pm, - Object bean) { - if (pm == null) { - String msg = I18NHelper.getMessage(cmpMessages, - "JDO.beannotloaded_exception", bean); // NOI18N - - cmpInternalLogger.log(Logger.SEVERE, msg); - throw new IllegalStateException(msg); - } - } - - /** - * Called from a CMP bean to verify that the PersistenceManager - * is null. Throws IllegalStateException if the argument is not null. - * - * @param pm the PersistenceManager to check. - * @param bean the calling bean instance. - * @throws IllegalStateException if the PersistenceManager is not null. - */ - public static void assertPersistenceManagerIsNull(PersistenceManager pm, - Object bean, StringBuilder buf) { - if (pm != null) { - String msg = I18NHelper.getMessage(cmpMessages, - "JDO.beaninuse_exception", bean); // NOI18N - - // Excption to use only short message - IllegalStateException e = new IllegalStateException(msg); - - if (buf != null && buf.length() > 0) { - msg = (new StringBuilder(msg)).append(" ...Last Instance Usage: "). // NOI18N - append(buf).toString(); - } - cmpInternalLogger.log(Logger.SEVERE, msg); - throw e; - } - } - - /** - * Called from a 1.1 CMP bean to verify that the bean method is not called - * in a container transaction. Throws IllegalStateException otherwise. - * - * @param bean the calling bean instance. - * @throws IllegalStateException if the bean method is called in a container transaction. - */ - public static void assertNotContainerTransaction(Object bean) { - if (EJBHelper.getTransaction() != null) { - String msg = I18NHelper.getMessage(cmpMessages, - "JDO.containertransaction_exception", bean); // NOI18N - - cmpInternalLogger.log(Logger.SEVERE, msg); - throw new IllegalStateException(msg); - } - } - - /** - * Called from a CMP bean to process JDODuplicateObjectIdException. - * Logs the message and throws DuplicateKeyException. - * - * @param beanName the name of the calling bean. - * @param paramList the list of the concatenated parameters. - * @param ex the JDOException. - * @throws DuplicateKeyException. - */ - public static void handleJDODuplicateObjectIdAsDuplicateKeyException( - String beanName, String paramList, JDOException ex) - throws DuplicateKeyException { - - String msg = I18NHelper.getMessage(cmpMessages, - "GEN.ejbcreate_exception_dup", beanName, // NOI18N - findCallingMethodName(), paramList); - - cmpLifecycleLogger.log(Logger.FINER, msg, ex); - throw new DuplicateKeyException(msg); - } - - /** - * Called from a CMP bean to process JDODuplicateObjectIdException. - * Logs the message and throws EJBException. - * - * @param beanName the name of the calling bean. - * @param paramList the list of the concatenated parameters. - * @param ex the JDOException. - * @throws EJBException. - */ - public static void handleJDODuplicateObjectIdAsEJBException( - String beanName, String paramList, JDOException ex) { - - String msg = I18NHelper.getMessage(cmpMessages, - "GEN.ejbcreate_exception_dup", beanName, // NOI18N - findCallingMethodName(), paramList); - - cmpLifecycleLogger.log(Logger.FINER, msg, ex); - throw new EJBException(msg); - } - - /** - * Called from a CMP bean to process JDOObjectNotFoundException. - * Logs the message and throws ObjectNotFoundException - * - * @param primaryKey the PrimaryKey instance. - * @param beanName the name of the calling bean. - * @param ex the JDOException. - * @throws ObjectNotFoundException. - */ - public static void handleJDOObjectNotFoundException( - Object primaryKey, String beanName, JDOException ex) - throws ObjectNotFoundException { - - String msg = I18NHelper.getMessage(cmpMessages, - "GEN.findbypk_exception_notfound", beanName, // NOI18N - primaryKey.toString()); - - cmpLifecycleLogger.log(Logger.FINER, msg, ex); - throw new ObjectNotFoundException(msg); - } - - /** - * Throws EJBException on attempted updates to the - * calling bean. - * @param beanName the name of the calling bean. - * @throws EJBException. - */ - public static void handleUpdateNotAllowedException( - String beanName) { - String msg = I18NHelper.getMessage(cmpMessages, - "GEN.update_not_allowed", beanName, // NOI18N - findCallingMethodName()); - - cmpLifecycleLogger.log(Logger.SEVERE, msg); - throw new EJBException(msg); - } - - /** - * Throws EJBException on failed clone of persistence state - * in read-only beans. - * - * @param primaryKey the PrimaryKey instance. - * @param beanName the name of the calling bean. - * @param ex the Exception. - * @throws EJBException. - */ - public static void handleCloneException( - Object primaryKey, String beanName, Exception ex) { - - String msg = I18NHelper.getMessage(cmpMessages, - "GEN.clone_exception", beanName, // NOI18N - primaryKey.toString()); - - cmpLifecycleLogger.log(Logger.SEVERE, msg, ex); - throw new EJBException(msg); - } - - /** - * Calculates the method name of the calling method. - * - * @return method name as String. - */ - private static String findCallingMethodName() { - StackTraceElement[] ste = (new Throwable()).getStackTrace(); - return ste[2].getMethodName(); - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/EJBHashSet.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/EJBHashSet.java deleted file mode 100644 index a145c8bda15..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/EJBHashSet.java +++ /dev/null @@ -1,409 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * EJBHashSet.java - * - * Created on December 10, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.cmp; - -import java.util.*; - -import jakarta.ejb.EJBLocalObject; - -import com.sun.jdo.api.persistence.support.PersistenceManager; -import com.sun.jdo.api.persistence.support.Transaction; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.JDOEJB20Helper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperSQLStore; -/* - * This is the implementation of the java.util.Set interface for the CMP - * fields of the Collection type. Represents many side of the relationships. - * - * @author Marina Vatkina - */ -public class EJBHashSet extends HashSet { - // Reference to the PersistenceManager and Transaction that were active - // at the time of this Set creation. - private PersistenceManager pm = null; - private Transaction tx = null; - - // HashSet of the persistence-capable instances associated with this Set. - private HashSet pcSet = null; - - // Helper instance for conversion of the persistence-capable instances - // to the EJBLocalObject type and back. - private JDOEJB20Helper helper = null; - - // Flag that indicates invalid state of this Set. - private boolean valid = false; - - //The logger - private static Logger logger = LogHelperSQLStore.getLogger(); - - /** - * Creates new instance of EJBHashSet for this parameters. - * @param pm the PersistenceManager associated with the calling bean. - * @param helper the JDOEJB20Helper instance. - * @param pcs a Collection of persistence-capable instances. - */ - public EJBHashSet(PersistenceManager pm, JDOEJB20Helper helper, Collection pcs) { - this.pm = pm; - tx = pm.currentTransaction(); - this.helper = helper; - - // Convert Collection. - setSCOHashSet(pcs); - - valid = true; - } - - // -------------------------Public Methods------------------ - - /** - * Adds the specified element to this set if it is not already - * present. - * - * @param o element to be added to this set. - * @return true if the set did not already contain the specified - * element. - * @see java.util.HashSet - */ - public boolean add(Object o) { - logger.finest("---EJBHashSet.add---"); // NOI18N - assertIsValid(); - assertInTransaction(); - helper.assertInstanceOfLocalInterfaceImpl(o); - Object pc = helper.convertEJBLocalObjectToPC((EJBLocalObject) o, pm, true); - return pcSet.add(pc); - } - - - /** - * Adds all of the elements in the specified collection to this collection - * - * @param c collection whose elements are to be added to this collection. - * @return true if this collection changed as a result of the - * call. - * @throws UnsupportedOperationException if the addAll method is - * not supported by this collection. - * - * @see java.util.AbstractCollection - * @see java.util.HashSet - */ - public boolean addAll(Collection c) { - logger.finest("---EJBHashSet.addAll---"); // NOI18N - assertIsValid(); - assertInTransaction(); - assertInstancesOfLocalInterfaceImpl(c); - return pcSet.addAll(helper.convertCollectionEJBLocalObjectToPC(c, pm, true)); - } - - /** - * Removes the given element from this set if it is present. - * - * @param o object to be removed from this set, if present. - * @return true if the set contained the specified element. - * @see java.util.HashSet - */ - public boolean remove(Object o) { - logger.finest("---EJBHashSet.remove---"); // NOI18N - assertIsValid(); - assertInTransaction(); - helper.assertInstanceOfLocalInterfaceImpl(o); - EJBLocalObject lo = (EJBLocalObject) o; - return pcSet.remove(helper.convertEJBLocalObjectToPC(lo, pm, true)); - } - - /** - * Removes from this collection all of its elements that are contained in - * the specified collection (optional operation).

    - * Processes each element remove internally not to have call backs - * into #remove(Object). - * - * @param c elements to be removed from this collection. - * @return true if this collection changed as a result of the - * call. - * - * @throws UnsupportedOperationException removeAll is not supported - * by this collection. - * - * @see java.util.HashSet - * @see java.util.AbstractCollection - */ - public boolean removeAll(Collection c) { - logger.finest("---EJBHashSet.removeAll---"); // NOI18N - assertIsValid(); - assertInTransaction(); - assertInstancesOfLocalInterfaceImpl(c); - return pcSet.removeAll(helper.convertCollectionEJBLocalObjectToPC(c, pm, true)); - } - - /** - * Retains only the elements in this collection that are contained in the - * specified collection (optional operation). - * - * @return true if this collection changed as a result of the - * call. - * - * @throws UnsupportedOperationException if the retainAll method - * is not supported by this collection. - * - * @see java.util.HashSet - * @see java.util.AbstractCollection - */ - public boolean retainAll(Collection c) { - logger.finest("---EJBHashSet.retainAll---"); // NOI18N - assertIsValid(); - assertInTransaction(); - assertInstancesOfLocalInterfaceImpl(c); - return pcSet.retainAll(helper.convertCollectionEJBLocalObjectToPC(c, pm, true)); - } - - - /** - * Removes all of the elements from this set. - * @see java.util.HashSet - */ - public void clear() { - logger.finest("---EJBHashSet.clear---"); // NOI18N - assertIsValid(); - assertInTransaction(); - pcSet.clear(); - } - - /** - * Returns the number of elements in this set (its cardinality). - * - * @return the number of elements in this set (its cardinality). - */ - public int size() { - logger.finest("---EJBHashSet.size---"); // NOI18N - assertIsValid(); - assertInTransaction(); - return pcSet.size(); - } - - /** - * Returns true if this set contains no elements. - * - * @return true if this set contains no elements. - */ - public boolean isEmpty() { - logger.finest("---EJBHashSet.isEmpty---"); // NOI18N - assertIsValid(); - assertInTransaction(); - return pcSet.isEmpty(); - } - - /** - * Returns true if this set contains the specified element. - * - * @param o element whose presence in this set is to be tested. - * @return true if this set contains the specified element. - */ - public boolean contains(Object o) { - logger.finest("---EJBHashSet.contains---"); // NOI18N - assertIsValid(); - assertInTransaction(); - helper.assertInstanceOfLocalInterfaceImpl(o); - EJBLocalObject lo = (EJBLocalObject) o; - return pcSet.contains(helper.convertEJBLocalObjectToPC(lo, pm, true)); - } - - /** - * Returns true if this collection contains all of the elements - * in the specified collection.

    - * - * This implementation iterates over the specified collection, checking - * each element returned by the iterator in turn to see if it's - * contained in this collection. If all elements are so contained - * true is returned, otherwise false. - * - * @param c collection to be checked for containment in this collection. - * @return true if this collection contains all of the elements - * in the specified collection. - * - * @see #contains(Object) - */ - public boolean containsAll(Collection c) { - logger.finest("---EJBHashSet.containsAll---"); // NOI18N - assertIsValid(); - assertInTransaction(); - assertInstancesOfLocalInterfaceImpl(c); - return pcSet.containsAll(helper.convertCollectionEJBLocalObjectToPC(c, pm, true)); - } - - /** - * Returns a shallow copy of this HashSet instance: the elements - * themselves are not cloned. - * - * @return a shallow copy of this set. - */ - public Object clone() { - logger.finest("---EJBHashSet.clone---"); // NOI18N - EJBHashSet newSet = (EJBHashSet)super.clone(); - newSet.pcSet = (HashSet)pcSet.clone(); - return newSet; - } - - /** - * Returns set of the persistence-capable instances associated - * with this Set. - * @return Set of the persistence-capable instances. - */ - public HashSet getSCOHashSet() { - assertIsValid(); - assertInTransaction(); - return (pcSet != null) ? (HashSet)pcSet.clone() : null; - } - - /** - * Replace the set of the persistence-capable instances associated - * with this EJBHashSet. - * There is no need to check transaction as it has already been checked - * in this case. - */ - public void setSCOHashSet(Collection coll) { - if (coll instanceof java.util.HashSet) - pcSet = (java.util.HashSet)coll; - else - pcSet = new java.util.HashSet(coll); - } - - /** - * Returns an iterator over the elements in this set. The elements - * are returned in no particular order. - * - * @return an Iterator over the elements in this set. - * @see ConcurrentModificationException - */ - public Iterator iterator() { - assertIsValid(); - assertInTransaction(); - return new EJBHashIterator(); - } - - private class EJBHashIterator implements Iterator { - Iterator _iterator = null; - Object lastReturned = null; - - EJBHashIterator() { - _iterator = pcSet.iterator(); - } - - public boolean hasNext() { - assertIsValid(); - assertInTransaction(); - return _iterator.hasNext(); - } - - public Object next() { - assertIsValid(); - assertInTransaction(); - try { - lastReturned = _iterator.next(); - } catch(ConcurrentModificationException e) { - IllegalStateException ise = new IllegalStateException( - e.toString()); - ise.initCause(e); - throw ise; - } - return helper.convertPCToEJBLocalObject(lastReturned, pm); - } - - public void remove() { - assertIsValid(); - assertInTransaction(); - try { - _iterator.remove(); - } catch(ConcurrentModificationException e) { - IllegalStateException ise = new IllegalStateException( - e.toString()); - ise.initCause(e); - throw ise; - } - } - } - - /** - * Verifies that this Set is not marked as invalid. - * @throw IllegalStateException of validation fails. - */ - private void assertIsValid() { - if (!valid) - throw new IllegalStateException(); // RESOLVE Exception text. - } - - /** - * Verifies that persistence manager is not closed and - * the current transaction is active. - * @throw IllegalStateException of validation fails. - */ - private void assertInTransaction() { - if (pm.isClosed() || !tx.isActive()) { - invalidate(); - throw new IllegalStateException(); // RESOLVE Exception text. - } - } - - /** - * Verifies that elements of this Collection are of the expected type. - * @param c the Collection to verify. - * @throw EJBException of validation fails. - */ - private void assertInstancesOfLocalInterfaceImpl(Collection c) { - for (Iterator it = c.iterator(); it.hasNext();) - helper.assertInstanceOfLocalInterfaceImpl(it.next()); - } - - /** - * Marks this Set as invalid and releases all references. - */ - public void invalidate() { - valid = false; - pm = null; - tx = null; - helper = null; - pcSet = null; - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/JDOEJB11HelperImpl.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/JDOEJB11HelperImpl.java deleted file mode 100644 index a845340ce28..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/JDOEJB11HelperImpl.java +++ /dev/null @@ -1,519 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOEJB11HelperImpl.java - * - * Created on January 17, 2002 - */ - -package com.sun.jdo.spi.persistence.support.ejb.cmp; - -import java.util.Collection; -import java.util.Set; -import java.util.ResourceBundle; -import java.io.*; - -import jakarta.ejb.EJBObject; -import jakarta.ejb.EJBException; - -import com.sun.jdo.api.persistence.support.PersistenceManager; -import com.sun.jdo.api.persistence.support.JDOHelper; -import com.sun.jdo.api.persistence.support.JDOFatalDataStoreException; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.api.persistence.support.JDOObjectNotFoundException; -import com.sun.jdo.api.persistence.support.JDOUserException; - -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.JDOEJB11Helper; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.utility.NumericConverter; -import com.sun.jdo.spi.persistence.support.sqlstore.utility.NumericConverterFactory; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -/* - * This is an abstract class which is a generic implementation of the - * JDOEJB11Helper interface for conversion of persistence-capable instances - * to and from EJB objects of type: EJBObject, PrimaryKey, and Collections of those. - * These implementations are common for CMP1.1 and CMP2.0 beans. - * - * @author Marina Vatkina - */ -abstract public class JDOEJB11HelperImpl implements JDOEJB11Helper { - - /** - * I18N message handler - */ - protected final static ResourceBundle messages = I18NHelper.loadBundle( - JDOEJB11HelperImpl.class); - - //The logger - protected static final Logger logger = LogHelperEntityInternal.getLogger(); - - /** - * Converts persistence-capable instance to EJBObject. - * @param pc the persistence-capable instance to be converted as an Object. - * @param pm the associated instance of PersistenceManager. - * @return instance of EJBObject. - */ - public EJBObject convertPCToEJBObject (Object pc, PersistenceManager pm) { - if (pc == null) return null; - Object jdoObjectId = pm.getObjectId(pc); - Object key = convertObjectIdToPrimaryKey(jdoObjectId); - try { - return CMPHelper.getEJBObject(key, getContainer()); - } catch (Exception ex) { - EJBException e = new EJBException(I18NHelper.getMessage(messages, - "EXC_ConvertPCToEJBObject", key.toString()), ex);// NOI18N - logger.throwing("JDOEJB11HelperImpl", "convertPCToEJBObject", e); // NOI18N - throw e; - } - } - - /** - * Converts EJBObject to persistence-capable instance. - * @param o the EJBObject instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @param validate true if the existence of the instance is to be validated. - * @return persistence-capable instance. - * @throws IllegalArgumentException if validate is true and instance does - * not exist in the database or is deleted. - */ - public Object convertEJBObjectToPC(EJBObject o, PersistenceManager pm, boolean validate) { - Object key = null; - try { - key = o.getPrimaryKey(); - } catch (Exception ex) { - EJBException e = new EJBException(I18NHelper.getMessage(messages, - "EXC_ConvertEJBObjectToPC", o.getClass().getName()), ex);// NOI18N - logger.throwing("JDOEJB11HelperImpl", "convertEJBObjectToPC", e); // NOI18N - throw e; - } - return convertPrimaryKeyToPC(key, pm, validate); - } - - /** - * Converts PrimaryKey object to persistence-capable instance. - * @param key the PrimaryKey object to be converted. - * @param pm the associated instance of PersistenceManager. - * @param validate true if the existence of the instance is to be validated. - * @return persistence-capable instance. - * @throws IllegalArgumentException if validate is true and instance does - * not exist in the database or is deleted. - */ - protected Object convertPrimaryKeyToPC(Object key, PersistenceManager pm, boolean validate) { - Object pc = null; - try { - Object jdoObjectId = convertPrimaryKeyToObjectId(key); - pc = pm.getObjectById(jdoObjectId, validate); - } catch (JDOObjectNotFoundException ex) { - logger.fine("---JDOEJB11HelperImpl.convertPrimaryKeyToPC: Object not found for: " + key); // NOI18N - - throw new IllegalArgumentException(I18NHelper.getMessage(messages, - "EXC_DeletedInstanceOtherTx", key.toString()));// NOI18N - } - - if (validate && JDOHelper.isDeleted(pc)) { - logger.fine("---JDOEJB11HelperImpl.convertPrimaryKeyToPC: Object is deleted for: " + key); // NOI18N - - throw new IllegalArgumentException(I18NHelper.getMessage(messages, - "EXC_DeletedInstanceThisTx", key.toString()));// NOI18N - } - - return pc; - } - - /** - * Converts Collection of persistence-capable instances to a Collection of - * EJBObjects. - * @param pcs the Collection of persistence-capable instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @return Collection of EJBObjects. - */ - public Collection convertCollectionPCToEJBObject (Collection pcs, PersistenceManager pm) { - Collection rc = new java.util.ArrayList(); - - Object o = null; - for (java.util.Iterator it = pcs.iterator(); it.hasNext();) { - o = convertPCToEJBObject((Object)it.next(), pm); - if(logger.isLoggable(Logger.FINEST) ) { - logger.finest( - "\n---JDOEJB11HelperImpl.convertCollectionPCToEJBObject() adding: " + o);// NOI18N - } - rc.add(o); - } - return rc; - } - - /** - * Converts Collection of persistence-capable instances to a Set of - * EJBObjects. - * @param pcs the Collection of persistence-capable instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @return Set of EJBObjects. - */ - public Set convertCollectionPCToEJBObjectSet (Collection pcs, PersistenceManager pm) { - java.util.Set rc = new java.util.HashSet(); - - Object o = null; - for (java.util.Iterator it = pcs.iterator(); it.hasNext();) { - o = convertPCToEJBObject((Object)it.next(), pm); - if(logger.isLoggable(Logger.FINEST) ) { - logger.finest( - "\n---JDOEJB11HelperImpl.convertCollectionPCToEJBObjectSet() adding: " + o);// NOI18N - } - rc.add(o); - } - return rc; - } - - /** - * Converts Collection of EJBObjects to a Collection of - * persistence-capable instances. - * @param coll the Collection of EJBObject instances to be converted. - * @param pm the associated instance of PersistenceManager. - * @param validate true if the existence of the instances is to be validated. - * @return Collection of persistence-capable instance. - * @throws IllegalArgumentException if validate is true and at least one instance does - * not exist in the database or is deleted. - */ - public Collection convertCollectionEJBObjectToPC (Collection coll, PersistenceManager pm, - boolean validate) { - Collection rc = new java.util.ArrayList(); - - Object o = null; - for (java.util.Iterator it = coll.iterator(); it.hasNext();) { - o = convertEJBObjectToPC((EJBObject)it.next(), pm, validate); - if(logger.isLoggable(Logger.FINEST) ) { - logger.finest( - "\n---JDOEJB11HelperImpl.convertCollectionEJBObjectToPC() adding: " + o);// NOI18N - } - rc.add(o); - } - return rc; - } - - /** - * Converts persistence-capable instance to an instance of the PrimaryKey Class. - * @param pc the persistence-capable instance to be converted as an Object. - * @param pm the associated instance of PersistenceManager. - * @return instance of the PrimaryKey Class. - */ - public Object convertPCToPrimaryKey (Object pc, PersistenceManager pm) { - if (pc == null) return null; - Object rc = convertObjectIdToPrimaryKey(pm.getObjectId(pc)); - - if(logger.isLoggable(Logger.FINEST) ) { - logger.finest("\n---JDOEJB11HelperImpl.convertPCToPrimaryKey() PK: " + rc);// NOI18N - } - return rc; - } - - - /** - * Converts Collection of persistence-capable instances to a Collection of - * the PrimaryKey Class instances. - * @param pcs Collection of the persistence-capable instances. - * @param pm the associated instance of PersistenceManager. - * @return Collection of the PrimaryKey Class instances. - */ - public Collection convertCollectionPCToPrimaryKey (Collection pcs, PersistenceManager pm) { - Collection rc = new java.util.ArrayList(); - - Object o = null; - for (java.util.Iterator it = pcs.iterator(); it.hasNext();) { - o = convertPCToPrimaryKey(it.next(), pm); - if(logger.isLoggable(Logger.FINEST) ) { - logger.finest( - "\n---JDOEJB11HelperImpl.convertCollectionPCToPrimaryKey() adding: " + o);// NOI18N - } - rc.add(o); - } - return rc; - } - - /** - * Converts Object Id of a persistence-capable instance to an instance of the - * PrimaryKey Class. - * @param objectId the Object Id to be converted. - * @return instance of the PrimaryKey Class. - */ - abstract public Object convertObjectIdToPrimaryKey (Object objectId); - - /** - * Converts instance of a PrimaryKey Class to an instance of the Object Id of a - * corresponding persistence-capable Class. - * @param key the PrimaryKey instance to be converted. - * @return instance of the Object Id. - */ - abstract public Object convertPrimaryKeyToObjectId (Object key); - - /** - * Converts Collection of Object Id's of persistence-capable instances to a - * Collection of of the PrimaryKey instances. - * @param oids Collection of the Object Id to be converted. - * @return Collection of of the PrimaryKey Class instances. - */ - public Collection convertCollectionObjectIdToPrimaryKey (Collection oids) { - Collection rc = new java.util.ArrayList(); - - Object o = null; - for (java.util.Iterator it = oids.iterator(); it.hasNext();) { - o = convertObjectIdToPrimaryKey(it.next()); - if(logger.isLoggable(Logger.FINEST) ) { - logger.finest( - "\n---JDOEJB11HelperImpl.convertCollectionObjectIdToPrimaryKey() adding: " + o);// NOI18N - } - rc.add(o); - } - return rc; - } - - /** - * Converts Collection of PrimaryKey instances to a Collection of Object Id's - * of a corresponding persistence-capable Class. - * @param keys Collection of the PrimaryKey instances to be converted. - * @return Collection of the Object Id's. - */ - public Collection convertCollectionPrimaryKeyToObjectId (Collection keys) { - Collection rc = new java.util.ArrayList(); - - Object o = null; - for (java.util.Iterator it = keys.iterator(); it.hasNext();) { - o = convertPrimaryKeyToObjectId(it.next()); - if(logger.isLoggable(Logger.FINEST) ) { - logger.finest( - "\n---JDOEJB11HelperImpl.convertCollectionPrimaryKeyToObjectId() adding: " + o);// NOI18N - } - rc.add(o); - } - return rc; - } - - /** - * Serializes serializableObject into a byte array - * @param serializableObject Instance of a Serializable Object - * @return serializableObject serialized into a byte array - */ - public byte[] writeSerializableObjectToByteArray(Serializable serializableObject) - { - byte[] byteArray = null; - if(serializableObject != null) - { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - ObjectOutputStream oos = null; - try - { - oos = new ObjectOutputStream(bos); - oos.writeObject(serializableObject); - byteArray = bos.toByteArray(); - } - catch(java.io.IOException e) - { - String clsName = serializableObject.getClass().getName(); - throw new JDOUserException(I18NHelper.getMessage(messages, - "EXC_IOWriteSerializableObject", clsName), e);// NOI18N - } - } - return byteArray; - } - - /** - * Constructs a Serializable object from byteArray. It is expected that - * byteArray was constructed using a previous call to writeSerializableObjectToByteArray - * @param byteArray Array of byte obtained from a call to writeSerializableObjectToByteArray - * @return A Serializable object contructed from byteArray - * @see #writeSerializableObjectToByteArray(Serializable) - */ - public Serializable readSerializableObjectFromByteArray(byte[] byteArray) - { - Serializable serializableObject = null; - if(byteArray != null) - { - ByteArrayInputStream bis = new ByteArrayInputStream(byteArray); - HelperObjectInputStream ois = null; - - // - // Take the current class loader to resolve the class to be deserialized. - // - ClassLoader cl = this.getClass().getClassLoader(); - try - { - ois = new HelperObjectInputStream(bis, cl); - serializableObject = (Serializable) ois.readObject(); - } - catch (ClassNotFoundException e) - { - throw new JDOFatalDataStoreException(I18NHelper.getMessage(messages, - "EXC_CNFReadSerializableObject"), e);// NOI18N - } - catch(java.io.IOException e) - { - throw new JDOFatalDataStoreException(I18NHelper.getMessage(messages, - "EXC_IOReadSerializableObject"), e);// NOI18N - } - } - return serializableObject; - } - - /** - * Return NumericConverter for conversion from Number to BigDecimal or - * BigInteger for this bean type. It is responsible for passing the - * correct policy value to the NumericConverterFactory. - * @return NumericConverter for given object policy - */ - public NumericConverter getNumericConverter() { - int policy = CMPHelper.getNumericConverterPolicy(getContainer()); - return NumericConverterFactory.getNumericConverter(policy); - } - - /** - * Returns the class object of the corresponding persistence-capable class - * of the concrete bean class. - * @return the pc class object - */ - abstract public Class getPCClass (); - - /** - * Validates that this instance is of the correct implementation class - * of a remote interface type. - * - * @param o the instance to validate. - * @throws IllegalArgumentException if validation fails. - */ - abstract public void assertInstanceOfRemoteInterfaceImpl(Object o); - - /** - * Validates that this instance is of the correct implementation class - * of bean remote interface. - * Throws IllegalArgumentException if the argument is of a wrong type. - * - * @param o the instance to validate. - * @param beanName as String. - * @throws IllegalArgumentException if validation fails. - */ - protected void assertInstanceOfRemoteInterfaceImpl(Object o, - String beanName) { - - // We can't check if null is the correct type or not. So - // we let it succeed. - if (o == null) - return; - - try { - CMPHelper.assertValidRemoteObject(o, getContainer()); - - } catch (EJBException ex) { - String msg = I18NHelper.getMessage(messages, "EXC_WrongRemoteInstance", // NOI18N - new Object[] {o.getClass().getName(), beanName, - ex.getMessage()}); - logger.log(Logger.WARNING, msg); - throw new IllegalArgumentException(msg); - } - } - - /** - * Validates that the primary key instance is not null. - * Throws IllegalArgumentException otherwise. - * @param pk the primary key instance to validate. - * @throws IllegalArgumentException if validation fails. - */ - protected void assertPrimaryKeyNotNull(Object pk) { - if (pk == null) { - throw new IllegalArgumentException(I18NHelper.getMessage( - messages, "EXC_pknull_exception")); // NOI18N - } - } - - /** - * Validates that the primary key field of an Object type is not null. - * Throws IllegalArgumentException otherwise. - * @param pkfield the primary key field instance to validate. - * @param pkfieldName the primary key field name. - * @param beanName the EJB name. - * @throws IllegalArgumentException if validation fails. - */ - public void assertPrimaryKeyFieldNotNull(Object pkfield, String pkfieldName, - String beanName) { - - if (pkfield == null) { - throw new IllegalArgumentException(I18NHelper.getMessage( - messages, "EXC_pkfieldnull_exception", // NOI18N - pkfieldName, beanName)); - } - } - - - /** - * Validates that the object id instance is not null. - * Throws JDOFatalInternalException otherwise. - * @param oid the object id instance to validate. - * @throws JDOFatalInternalException if validation fails. - */ - protected void assertObjectIdNotNull(Object oid) { - if (oid == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "EXC_oidnull_exception")); // NOI18N - } - } - - /** Helper class that allows to use specified class loader to resolve - * class name. - */ - static class HelperObjectInputStream extends ObjectInputStream { - - java.lang.ClassLoader classLoader; - - /** Creates new HelperObjectInputStream */ - public HelperObjectInputStream(InputStream is, ClassLoader cl) - throws IOException, StreamCorruptedException { - super(is); - classLoader = cl; - } - - /** Overrides the same method of the base class */ - protected Class resolveClass(ObjectStreamClass v) - throws IOException, ClassNotFoundException { - return Class.forName(v.getName(), true, classLoader); - } - - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/JDOEJB20HelperImpl.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/JDOEJB20HelperImpl.java deleted file mode 100644 index 8a96bb9997b..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/JDOEJB20HelperImpl.java +++ /dev/null @@ -1,254 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOEJB20HelperImpl.java - * - * Created on January 17, 2002 - */ - -package com.sun.jdo.spi.persistence.support.ejb.cmp; - -import java.util.Collection; -import java.util.Set; - -import jakarta.ejb.EJBLocalObject; -import jakarta.ejb.EJBException; -import jakarta.ejb.EJBContext; - -import com.sun.jdo.api.persistence.support.PersistenceManager; -import com.sun.jdo.api.persistence.support.JDOHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.JDOEJB20Helper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - - -/* - * This is an abstract class which is a generic implementation of the - * JDOEJBHelper interface for conversion of persistence-capable instances - * to and from EJB objects of type EJBLocalObject and Collections of those. - * It extends JDOEJB11HelperImpl for conversion of instances of other types. - * - * @author Marina Vatkina - */ -abstract public class JDOEJB20HelperImpl extends JDOEJB11HelperImpl - implements JDOEJB20Helper { - - /** - * Converts persistence-capable instance to EJBLocalObject. - * @param pc the persistence-capable instance to be converted as an Object. - * @param pm the associated instance of PersistenceManager. - * @return instance of EJBLocalObject. - */ - public EJBLocalObject convertPCToEJBLocalObject (Object pc, PersistenceManager pm) { - if (pc == null) return null; - Object jdoObjectId = pm.getObjectId(pc); - Object key = convertObjectIdToPrimaryKey(jdoObjectId); - try { - return CMPHelper.getEJBLocalObject(key, getContainer()); - } catch (Exception ex) { - EJBException e = new EJBException(I18NHelper.getMessage(messages, - "EXC_ConvertPCToEJBLocalObject", key.toString()), ex);// NOI18N - logger.throwing("JDOEJB20HelperImpl", "convertPCToEJBLocalObject", e); // NOI18N - throw e; - } - } - - /** - * Converts persistence-capable instance to EJBLocalObject. Returns null if - * the instance is already removed via cascade-delete operation. - * @param pc the persistence-capable instance to be converted as an Object. - * @param pm the associated instance of PersistenceManager. - * @param context the EJBContext of the calling bean. - * @return instance of EJBLocalObject. - */ - public EJBLocalObject convertPCToEJBLocalObject (Object pc, PersistenceManager pm, - EJBContext context) { - if (pc == null) return null; - Object jdoObjectId = pm.getObjectId(pc); - Object key = convertObjectIdToPrimaryKey(jdoObjectId); - try { - return CMPHelper.getEJBLocalObject(key, getContainer(), context); - } catch (Exception ex) { - EJBException e = new EJBException(I18NHelper.getMessage(messages, - "EXC_ConvertPCToEJBLocalObjectCtx", key.toString()), ex);// NOI18N - logger.throwing("JDOEJB20HelperImpl", "convertPCToEJBLocalObjectCtx", e); // NOI18N - throw e; - } - } - - /** - * Converts EJBLocalObject to persistence-capable instance. - * @param o the EJBLocalObject instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @param validate true if the existence of the instance is to be validated. - * @return persistence-capable instance. - * @throws IllegalArgumentException if validate is true and instance does - * not exist in the database or is deleted. - */ - public Object convertEJBLocalObjectToPC(EJBLocalObject o, PersistenceManager pm, boolean validate) { - Object key = null; - try { - key = o.getPrimaryKey(); - } catch (Exception ex) { - EJBException e = new EJBException(I18NHelper.getMessage(messages, - "EXC_ConvertEJBObjectToPC", o.getClass().getName()), ex);// NOI18N - logger.throwing("JDOEJB20HelperImpl", "convertEJBLocalObjectToPC", e); // NOI18N - throw e; - } - return convertPrimaryKeyToPC(key, pm, validate); - } - - /** - * Converts Collection of persistence-capable instances to a Collection of - * EJBLocalObjects. - * @param pcs the Collection of persistence-capable instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @return Collection of EJBLocalObjects. - */ - public Collection convertCollectionPCToEJBLocalObject (Collection pcs, PersistenceManager pm){ - Collection rc = new java.util.ArrayList(); - Object o = null; - boolean debug = false; - - for (java.util.Iterator it = pcs.iterator(); it.hasNext();) { - o = convertPCToEJBLocalObject((Object)it.next(), pm); - if(logger.isLoggable(Logger.FINEST) ) { - logger.finest( - "\n---JDOEJB20HelperImpl.convertCollectionPCToEJBLocalObject() adding: " + o);// NOI18N - } - rc.add(o); - } - return rc; - } - - /** - * Converts Collection of persistence-capable instances to a Set of - * EJBLocalObjects. - * @param pcs the Collection of persistence-capable instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @return Set of EJBLocalObjects. - */ - public Set convertCollectionPCToEJBLocalObjectSet (Collection pcs, PersistenceManager pm) { - java.util.Set rc = new java.util.HashSet(); - Object o = null; - - boolean debug = false; - - for (java.util.Iterator it = pcs.iterator(); it.hasNext();) { - o = convertPCToEJBLocalObject((Object)it.next(), pm); - if(logger.isLoggable(Logger.FINEST) ) { - logger.finest( - "\n---JDOEJB20HelperImpl.convertCollectionPCToEJBLocalObjectSet() adding: " + o);// NOI18N - } - rc.add(o); - } - return rc; - } - - /** - * Converts Collection of EJBLocalObjects to a Collection of - * persistence-capable instances. - * @param coll the Collection of EJBLocalObject instances to be converted. - * @param pm the associated instance of PersistenceManager. - * @param validate true if the existence of the instances is to be validated. - * @return Collection of persistence-capable instance. - * @throws IllegalArgumentException if validate is true and at least one instance does - * not exist in the database or is deleted. - */ - public Collection convertCollectionEJBLocalObjectToPC (Collection coll, PersistenceManager pm, - boolean validate) { - Collection rc = new java.util.ArrayList(); - Object o = null; - - boolean debug = false; - - for (java.util.Iterator it = coll.iterator(); it.hasNext();) { - o = convertEJBLocalObjectToPC((EJBLocalObject)it.next(), pm, validate); - if(logger.isLoggable(Logger.FINEST) ) { - logger.finest( - "\n---JDOEJB20HelperImpl.convertCollectionEJBLocalObjectToPC() adding: " + o);// NOI18N - } - rc.add(o); - } - return rc; - } - - /** - * Validates that this instance is of the correct implementation class - * of a local interface type. - * - * @param o the instance to validate. - * @throws IllegalArgumentException if validation fails. - */ - abstract public void assertInstanceOfLocalInterfaceImpl(Object o); - - /** - * Validates that this instance is of the correct implementation class - * of a local interface. - * Throws IllegalArgumentException if the passed - * argument is of a wrong type. - * - * @param o the instance to validate. - * @param beanName as String. - * @throws IllegalArgumentException if validation fails. - */ - protected void assertInstanceOfLocalInterfaceImpl(Object o, - String beanName) { - - // We can't check if null is the correct type or not. So - // we let it succeed. - if (o == null) - return; - - try { - CMPHelper.assertValidLocalObject(o, getContainer()); - - } catch (EJBException ex) { - String msg = I18NHelper.getMessage(messages, "EXC_WrongLocalInstance", // NOI18N - new Object[] {o.getClass().getName(), beanName, - ex.getMessage()}); - logger.log(Logger.WARNING, msg); - throw new IllegalArgumentException(msg); - } - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityFinder.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityFinder.java deleted file mode 100644 index 0e58269796e..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityFinder.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.ejb.cmp; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Craig Russell - * @version 1.0 - */ -public class LogHelperEntityFinder { - - /** The component name for this component - */ - protected static final String componentName = "javax.enterprise.system.container.ejb.entity.finder"; //NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = LogHelperEntityFinder.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = "com.sun.jdo.spi.persistence.support.ejb.cmp.Bundle"; //NOI18N - - /** Return the logger for the entity finder component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityInternal.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityInternal.java deleted file mode 100644 index d490208e703..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityInternal.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.ejb.cmp; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Craig Russell - * @version 1.0 - */ -public class LogHelperEntityInternal { - - /** The component name for this component - */ - protected static final String componentName = "javax.enterprise.system.container.ejb.entity.internal"; //NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = LogHelperEntityInternal.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = "com.sun.jdo.spi.persistence.support.ejb.cmp.Bundle"; //NOI18N - - /** Return the logger for the entity internal component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityLifecycle.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityLifecycle.java deleted file mode 100644 index bc0bad9c4c3..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityLifecycle.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.ejb.cmp; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Craig Russell - * @version 1.0 - */ -public class LogHelperEntityLifecycle { - - /** The component name for this component - */ - protected static final String componentName = "javax.enterprise.system.container.ejb.entity.lifecycle"; //NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = LogHelperEntityLifecycle.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = "com.sun.jdo.spi.persistence.support.ejb.cmp.Bundle"; //NOI18N - - /** Return the logger for the entity lifecycle component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle.properties b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle.properties deleted file mode 100644 index 4796cdf13bc..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/Bundle.properties +++ /dev/null @@ -1,94 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO83000 - JDO83999 -############################################################################### -# {0} Exception type -# {1} Application name -# {2} Exception message -cmpc.cmp_app_error=JDO83000: Caught {0} while processing application [{1}] or compiling generated classes for CMP beans for application [{1}]: {2}. See log for details. - -# {0} Exception type -# {1} EJB Name -# {2} Application name -# {3} Module jar name -# {4} Exception message -cmpc.cmp_bean_error=JDO83001: Caught {0} while processing CMP bean [{1}] for application [{2}]; module [{3}]: {4}. See log for details. - -# {0} Exception type -# {1} Application name -# {2} Module jar name -# {3} Exception message -cmpc.cmp_module_error=JDO83002: Caught {0} while processing CMP beans for application [{1}]; module [{2}]: {3}. See log for details. - -cmpc.compile=JDO83003: Compiling {0} .... -cmpc.cmp_complilation_failed=JDO83004: CMP Compilation failed. See log for details. -cmpc.processing_cmp=JDO83005: Start of CMP section for [{0}] -cmpc.done_processing_cmp=JDO83006: End of CMP section for [{0}] -cmpc.cmp_complilation_exception=JDO83007: Caught Exception while compiling generated classes: {0} -cmpc.cmp_complilation_problems=JDO83008: CMP Compilation failed: {0} - -cmpc.cmp_cleanup_problems=JDO83009: CMP cleanup failed. diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/CMPDeployerImpl.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/CMPDeployerImpl.java deleted file mode 100644 index 80482a8a29c..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/CMPDeployerImpl.java +++ /dev/null @@ -1,402 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019-2021] Payara Foundation and/or affiliates - -package com.sun.jdo.spi.persistence.support.ejb.codegen; - -import com.sun.enterprise.config.serverbeans.JavaConfig; -import com.sun.enterprise.deployment.Application; -import com.sun.jdo.spi.persistence.support.ejb.ejbc.CMPProcessor; -import com.sun.jdo.spi.persistence.support.ejb.ejbc.JDOCodeGenerator; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.api.admin.ServerEnvironment; -import org.glassfish.api.deployment.DeploymentContext; -import org.glassfish.deployment.common.DeploymentException; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.ejb.deployment.descriptor.EjbDescriptor; -import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor; -import org.glassfish.ejb.spi.CMPDeployer; -import org.glassfish.persistence.common.I18NHelper; -import org.jvnet.hk2.annotations.Optional; -import org.jvnet.hk2.annotations.Service; - -import jakarta.inject.Inject; -import jakarta.inject.Named; -import javax.tools.*; -import java.io.File; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.ResourceBundle; - -/** - * Generates concrete impls for CMP beans in an archive. - * - * @author Nazrul Islam - * @since JDK 1.4 - */ -@Service -public class CMPDeployerImpl implements CMPDeployer { - - @Inject @Named(ServerEnvironment.DEFAULT_INSTANCE_NAME) @Optional - private JavaConfig javaConfig; - - /** - * Generates the concrete impls for all CMPs in the application. - * - * @throws DeploymentException if this exception was thrown while generating concrete impls - */ - public void deploy(DeploymentContext ctx) throws DeploymentException { - - // deployment descriptor object representation for the archive - Application application = null; - - // deployment descriptor object representation for each module - EjbBundleDescriptorImpl bundle = null; - - // ejb name - String beanName = null; - - // GeneratorException message if any - StringBuilder generatorExceptionMsg = null; - - try { - CMPGenerator gen = new JDOCodeGenerator(); - - // stubs dir for the current deployment (generated/ejb) - File stubsDir = ctx.getScratchDir("ejb"); //NOI18N - - application = ctx.getModuleMetaData(Application.class); - - if (_logger.isLoggable(Logger.FINE)) { - _logger.fine( "cmpc.processing_cmp", //NOI18N - application.getRegistrationName()); - } - - List cmpFiles = new ArrayList(); - final ClassLoader jcl = application.getClassLoader(); - - bundle = ctx.getModuleMetaData(EjbBundleDescriptorImpl.class); - - // This gives the dir where application is exploded - String archiveUri = ctx.getSource().getURI().getSchemeSpecificPart(); - - if (_logger.isLoggable(Logger.FINE)) { - _logger.fine("[CMPC] Module Dir name is " //NOI18N - + archiveUri); - } - - // xml dir for the current deployment (generated/xml) - String generatedXmlsPath = ctx.getScratchDir("xml").getCanonicalPath(); - - if (_logger.isLoggable(Logger.FINE)) { - _logger.fine("[CMPC] Generated XML Dir name is " //NOI18N - + generatedXmlsPath); - } - - try { - long start = System.currentTimeMillis(); - gen.init(bundle, ctx, archiveUri, generatedXmlsPath); - - Iterator ejbs=bundle.getEjbs().iterator(); - while ( ejbs.hasNext() ) { - - EjbDescriptor desc = (EjbDescriptor) ejbs.next(); - beanName = desc.getName(); - - if (_logger.isLoggable(Logger.FINE)) { - _logger.fine("[CMPC] Ejb Class Name: " //NOI18N - + desc.getEjbClassName()); - } - - if ( desc instanceof IASEjbCMPEntityDescriptor) { - - // generate concrete CMP class implementation - IASEjbCMPEntityDescriptor entd = - (IASEjbCMPEntityDescriptor)desc; - - if (_logger.isLoggable(Logger.FINE)) { - _logger.fine( - "[CMPC] Home Object Impl name is " //NOI18N - + entd.getLocalHomeImplClassName()); - } - - // The classloader needs to be set else we fail down the road. - ClassLoader ocl = entd.getClassLoader(); - entd.setClassLoader(jcl); - - try { - gen.generate(entd, stubsDir, stubsDir); - } catch (GeneratorException e) { - String msg = e.getMessage(); - _logger.warning(msg); - generatorExceptionMsg = addGeneratorExceptionMessage( - msg, generatorExceptionMsg); - } finally { - entd.setClassLoader(ocl); - } - - /* WARNING: IASRI 4683195 - * JDO Code failed when there was a relationship involved - * because it depends upon the orginal ejbclasname and hence - * this code is shifted to just before the Remote Impl is - * generated.Remote/Home Impl generation depends upon this - * value - */ - - } - - } // end while ejbs.hasNext() - beanName = null; - - cmpFiles.addAll(gen.cleanup()); - - long end = System.currentTimeMillis(); - _logger.fine("CMP Generation: " + (end - start) + " msec"); - - } catch (GeneratorException e) { - String msg = e.getMessage(); - _logger.warning(msg); - generatorExceptionMsg = addGeneratorExceptionMessage(msg, - generatorExceptionMsg); - } - - bundle = null; // Used in exception processing - - // Compile the generated classes - if (generatorExceptionMsg == null) { - - long start = System.currentTimeMillis(); - compileClasses(ctx, cmpFiles, stubsDir); - long end = System.currentTimeMillis(); - - _logger.fine("Java Compilation: " + (end - start) + " msec"); - - // Do Java2DB if needed - start = System.currentTimeMillis(); - - CMPProcessor processor = new CMPProcessor(ctx); - processor.process(); - - end = System.currentTimeMillis(); - _logger.fine("Java2DB processing: " + (end - start) + " msec"); - _logger.fine( "cmpc.done_processing_cmp", - application.getRegistrationName()); - } - - } catch (GeneratorException e) { - _logger.warning(e.getMessage()); - throw new DeploymentException(e); - - } catch (Throwable e) { - String eType = e.getClass().getName(); - String appName = application.getRegistrationName(); - String exMsg = e.getMessage(); - - String msg = null; - if (bundle == null) { - // Application or compilation error - msg = I18NHelper.getMessage(messages, - "cmpc.cmp_app_error", eType, appName, exMsg); - } else { - String bundleName = bundle.getModuleDescriptor().getArchiveUri(); - if (beanName == null) { - // Module processing error - msg = I18NHelper.getMessage(messages, - "cmpc.cmp_module_error", - new Object[] {eType, appName, bundleName, exMsg}); - } else { - // CMP bean generation error - msg = I18NHelper.getMessage(messages, - "cmpc.cmp_bean_error", - new Object[] {eType, beanName, appName, bundleName, exMsg}); - } - } - - _logger.log(Logger.SEVERE, msg, e); - - throw new DeploymentException(msg); - } - - if (generatorExceptionMsg != null) { - // We already logged each separate part. - throw new DeploymentException(generatorExceptionMsg.toString()); - } - } - - /** - * Integration point for cleanup on undeploy or failed deploy. - */ - public void clean(DeploymentContext ctx) { - CMPProcessor processor = new CMPProcessor(ctx); - processor.clean(); - } - - /** - * Integration point for application unload - */ - public void unload(ClassLoader cl) { - try { - EJBHelper.notifyApplicationUnloaded(cl); - } catch (Exception e) { - _logger.log(Logger.WARNING, "cmpc.cmp_cleanup_problems", e); - } - } - - /** - * Compile .java files. - * - * @param ctx DeploymentContext associated with the call - * @param files actual source files - * @param destDir destination directory for .class files - * - * @exception GeneratorException if an error while code compilation - */ - private void compileClasses(DeploymentContext ctx, List files, - File destDir) throws GeneratorException { - - if (files.isEmpty() ) { - return; - } - - // class path for javac - String classPath = ctx.getTransientAppMetaData(CMPDeployer.MODULE_CLASSPATH, String.class); - List options = new ArrayList(); - if (javaConfig!=null) { - options.addAll(javaConfig.getJavacOptionsAsList()); - } - - StringBuilder msgBuffer = new StringBuilder(); - boolean compilationResult = false; - try { - // add the rest of the javac options - options.add("-d"); - options.add(destDir.toString()); - options.add("-classpath"); - options.add(System.getProperty("java.class.path") //TODO do we need to add java.class.path for compilation? - + File.pathSeparator + classPath); - - if (_logger.isLoggable(Logger.FINE)) { - for(File file : files) { - _logger.fine(I18NHelper.getMessage(messages, - "cmpc.compile", file.getPath())); - } - - StringBuilder sbuf = new StringBuilder(); - for ( String s : options) { - sbuf.append("\n\t").append(s); - } - _logger.fine("[CMPC] JAVAC OPTIONS: " + sbuf.toString()); - } - - // Using Java 6 compiler API to compile the generated .java files - JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); - DiagnosticCollector diagnostics = - new DiagnosticCollector(); - StandardJavaFileManager manager = - compiler.getStandardFileManager(diagnostics, null, null); - Iterable compilationUnits = manager.getJavaFileObjectsFromFiles(files); - - long start = System.currentTimeMillis(); - long end = start; - - compilationResult = compiler.getTask( - null, manager, diagnostics, options, null, compilationUnits).call(); - - end = System.currentTimeMillis(); - _logger.fine("JAVA compile time (" + files.size() - + " files) = " + (end - start)); - - // Save compilation erros in msgBuffer to be used in case of failure - for (Diagnostic diagnostic : diagnostics.getDiagnostics()) { - //Ignore NOTE about generated non safe code - if (diagnostic.getKind().equals(Diagnostic.Kind.NOTE)) { - if (_logger.isLoggable(Logger.FINE)) { - msgBuffer.append("\n").append(diagnostic.getMessage(null)); - } - continue; - } - msgBuffer.append("\n").append(diagnostic.getMessage(null)); - } - - manager.close(); - - } catch(Exception jce) { - _logger.fine("cmpc.cmp_complilation_exception", jce); - String msg = I18NHelper.getMessage(messages, - "cmpc.cmp_complilation_exception", - new Object[] {jce.getMessage()} ); - GeneratorException ge = new GeneratorException(msg); - ge.initCause(jce); - throw ge; - } - - if (!compilationResult) { - // Log but throw an exception with a shorter message - _logger.warning(I18NHelper.getMessage(messages, - "cmpc.cmp_complilation_problems", msgBuffer.toString())); - throw new GeneratorException(I18NHelper.getMessage( - messages, "cmpc.cmp_complilation_failed")); - } - - } - - /** Adds GeneratorException message to the buffer. - * - * @param msg the message text to add to the buffer. - * @param buf the buffer to use. - * @return the new or updated buffer. - */ - private StringBuilder addGeneratorExceptionMessage(String msg, StringBuilder buf) { - StringBuilder rc = buf; - if (rc == null) - rc = new StringBuilder(msg); - else - rc.append('\n').append(msg); - - return rc; - } - - // ---- VARIABLE(S) - PRIVATE -------------------------------------- - private static final Logger _logger = LogHelperCmpCompiler.getLogger(); - private static final ResourceBundle messages = I18NHelper.loadBundle(CMPDeployerImpl.class); - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/CMPGenerator.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/CMPGenerator.java deleted file mode 100755 index 944025ba630..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/CMPGenerator.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.ejb.codegen; - -import java.io.File; -import java.util.Collection; - -import org.glassfish.api.deployment.DeploymentContext; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor; - -/** - * This interface must be implemented by all CMP code generators. - */ - -public interface CMPGenerator { - - /** - * This method is called once for each ejb module in the application - * that contains CMP beans. - * Only one #init() method can be called. - * @deprecated - * This method is not used by the deployment back end, and should be removed - * as soon as the TestFramework is fixed. - * @param ejbBundleDescriptor the EjbBundleDescriptor associated with this - * ejb module. - * @param cl the ClassLoader that loaded user defined classes. - * @param bundlePathName full path to the directory where this bundle's - * files are located. - * @throws GeneratorException if there is a problem initializing bean - * processing. - */ - void init(EjbBundleDescriptorImpl ejbBundleDescriptor, ClassLoader cl, - String bundlePathName) throws GeneratorException; - - /** - * This method is called once for each ejb module in the application - * that contains CMP beans. - * Only one #init() method can be called. - * @param ejbBundleDescriptor the EjbBundleDescriptor associated with this - * ejb module. - * @param ctx the DeploymentContext associated with the deployment request. - * @param bundlePathName full path to the directory where this bundle's - * files are located. - * @param generatedXmlsPathName full path to the directory where the - * generated files are located. - * @throws GeneratorException if there is a problem initializing bean - * processing. - */ - void init(EjbBundleDescriptorImpl ejbBundleDescriptor, DeploymentContext ctx, - String bundlePathName, String generatedXmlsPathName) - throws GeneratorException; - - /** - * This method is called once for each CMP bean of the corresponding ejb module. - * @param descr the IASEjbCMPEntityDescriptor associated with this CMP bean. - * @param srcout the location of the source files to be generated. - * @param classout the location of the class files to be generated. - * @throws GeneratorException if there is a problem processing the bean. - */ - void generate(IASEjbCMPEntityDescriptor descr, File srcout, File classout) - throws GeneratorException; - - /** - * This method is called once for each ejb module in the application - * that contains CMP beans. It is called at the end of the module processing. - * @return a Collection of files to be compiled by the deployment process. - * @throws GeneratorException if there is any problem. - */ - Collection cleanup() throws GeneratorException; - - /** - * This method may be called once for each CMP bean of the corresponding - * ejb module to perform the validation. - * @param descr the IASEjbCMPEntityDescriptor associated with this CMP bean. - * @return a Collection of Exceptions if there are any problems processing the bean. - * Returns an empty Collection if validation succeeds. - */ - Collection validate(IASEjbCMPEntityDescriptor descr); - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/GeneratorException.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/GeneratorException.java deleted file mode 100644 index 918cf322aad..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/GeneratorException.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.ejb.codegen; - -/** - * The Generator exception is thrown whenever there is an error in - * generating the stubs and skeletons and other related files. - */ - -public class GeneratorException extends java.lang.Exception { - /** - * Constructs the Generator exception with the specified string. - * @param s the string description - */ - public GeneratorException(String s) { - super(s); - this.reason = s; - } - - /** - * Return the string representation of the exception. - * @return the string representation of the exception. - */ - public String toString() { - return reason; - } - - /** - * @serial XXX needs doc - */ - private String reason; -} - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/LogHelperCmpCompiler.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/LogHelperCmpCompiler.java deleted file mode 100644 index b0b0843c007..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/codegen/LogHelperCmpCompiler.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.ejb.codegen; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Piali Nag - */ -public class LogHelperCmpCompiler { - - /** The component name for this component - */ - protected static final String componentName = "codegen.ejb.cmp"; // NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = - LogHelperCmpCompiler.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = - "com.sun.jdo.spi.persistence.support.ejb.codegen.Bundle"; // NOI18N - - /** Return the logger for the codegen component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/AbstractMethodHelper.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/AbstractMethodHelper.java deleted file mode 100644 index 30a5ff26ea0..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/AbstractMethodHelper.java +++ /dev/null @@ -1,290 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * AbstractMethodHelper.java - * - * Created on December 20, 2001, 5:30 PM - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import com.sun.enterprise.deployment.MethodDescriptor; -import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor; -import org.glassfish.ejb.deployment.descriptor.QueryDescriptor; - -/** This is a helper class which extracts the information needed for method - * code generation of the concrete bean class. - * - * @author Rochelle Raccah - */ -abstract public class AbstractMethodHelper -{ - /** Constant representing a local interface return type. */ - public static final int LOCAL_RETURN = 0; - - /** Constant representing a remote interface return type. */ - public static final int REMOTE_RETURN = 1; - - /** Constant representing no return type. */ - public static final int NO_RETURN = 2; - - private EjbCMPEntityDescriptor _cmpDescriptor; - private List finders = new ArrayList(); - private List selectors = new ArrayList(); - //private ArrayList otherMethods = new ArrayList(); - private List createMethods = new ArrayList(); - private Map methodNames = new HashMap(); - - /** Creates a new instance of AbstractMethodHelper - * @param descriptor the EjbCMPEntityDescriptor which defines the - * information for this bean. - */ - public AbstractMethodHelper (EjbCMPEntityDescriptor descriptor) - { - _cmpDescriptor = descriptor; - categorizeMethods(); // Separate methods into categories. - } - - /** Gets the EjbCMPEntityDescriptor which defines the - * information for this bean. - * @return the EjbCMPEntityDescriptor for the bean specified in the - * constructor. - */ - protected EjbCMPEntityDescriptor getDescriptor() { return _cmpDescriptor; } - - /** - * Reads all known methods and sorts them by name into specific - * Collections for further processing. - */ - protected void categorizeMethods () - { - EjbCMPEntityDescriptor descriptor = getDescriptor(); - Iterator iterator = descriptor.getMethodDescriptors().iterator(); - - while (iterator.hasNext()) - { - MethodDescriptor methodDescriptor = - (MethodDescriptor)iterator.next(); - Method method = methodDescriptor.getMethod(descriptor); - String methodName = methodDescriptor.getName(); - - //if (DEBUG) - // System.out.println("Method: " + methodName); // NOI18N - - if (methodName.startsWith(CMPTemplateFormatter.find_)) - finders.add(method); - else if (methodName.startsWith(CMPTemplateFormatter.ejbSelect_)) - selectors.add(method); - else if (methodName.startsWith(CMPTemplateFormatter.create_)) - createMethods.add(method); - else if (methodName.startsWith(CMPTemplateFormatter.get_) || - methodName.startsWith(CMPTemplateFormatter.set_)) - { - ;// skip - } - //else - // otherMethods.add(method); - - // It is OK to use HashMap here as we won't use it for possible - // overloaded methods. - methodNames.put(methodName, method); - } - } - - /** Gets the list of finder methods for this bean. - * @return a list of java.lang.reflect.Method objects which represent - * the finders for this bean - */ - public List getFinders () { return finders; } - - // give subclasses a chance to replace the list - protected void setFinders (List finderList) - { - finders = finderList; - } - - /** Gets the list of selector methods for this bean. - * @return a list of java.lang.reflect.Method objects which represent - * the selectors for this bean - */ - public List getSelectors () { return selectors; } - - // give subclasses a chance to replace the list - protected void setSelectors (List selectorList) - { - selectors = selectorList; - } - - /** Gets the list of ejb create methods for this bean. - * @return a list of java.lang.reflect.Method objects which represent - * the ejb create methods for this bean - */ - public List getCreateMethods () { return createMethods; } - - // might need this later - //public List getOtherMethods () { return otherMethods; } - - /** Gets a map of the method names for this bean. The keys are the - * method names and the values are the java.lang.reflect.Method objects. - * These should represent all methods of this bean. - * @return a map of the method names to java.lang.reflect.Method objects - * for this bean - */ - public Map getMethodNames () { return methodNames; } - - /** Gets the name of the local home which corresponds to this bean. - * @return the name of the local home class - */ - public String getLocalHome () - { - return getDescriptor().getLocalHomeClassName(); - } - - /** Gets the name of the remote home which corresponds to this bean. - * @return the name of the remote home class - */ - public String getRemoteHome () - { - return getDescriptor().getHomeClassName(); - } - - /** Gets the query descriptor associated with the specified method if it - * exists. - * @param method the java.lang.reflect.Method object used to find the - * query string - * @return a query descriptor for the specified method. Returns - * null for CMP 1.1 queries. - */ - protected QueryDescriptor getQueryDescriptor (Method method) - { - PersistenceDescriptor persistenceDescriptor = - getDescriptor().getPersistenceDescriptor(); - return persistenceDescriptor.getQueryFor(method); - } - - /** Gets the query string associated with the specified method if it - * exists. - * @param method the java.lang.reflect.Method object used to find the - * query string - * @return a query string for the specified method - */ - public String getQueryString (Method method) - { - QueryDescriptor queryDescriptor = getQueryDescriptor(method); - - return ((queryDescriptor != null) ? queryDescriptor.getQuery() : null); - } - - /** Gets the return type associated with the specified method if it - * exists. If no corresponding query descriptor is found, the value - * NO_RETURN is returned. - * @param method the java.lang.reflect.Method object used to find the - * query return type - * @return the return type for the specified method, one of - * {@link #LOCAL_RETURN}, {@link #REMOTE_RETURN}, or {@link #NO_RETURN} - */ - public int getQueryReturnType (Method method) - { - QueryDescriptor queryDescriptor = getQueryDescriptor(method); - - if (queryDescriptor != null) - { - if (queryDescriptor.getHasLocalReturnTypeMapping()) - return LOCAL_RETURN; - if (queryDescriptor.getHasRemoteReturnTypeMapping()) - return REMOTE_RETURN; - } - - return NO_RETURN; - } - - /** Returns true if prefetch is enabled for the specified - * method, false otherwise. Prefetch is enabled by default. - * @param method the java.lang.reflect.Method object used to find the - * prefetch setting. - * @return a boolean representing the prefetch setting - */ - abstract public boolean isQueryPrefetchEnabled (Method method); - - /** Gets the jdo filter expression associated with the specified method - * if it exists. Note that this method should only be used for CMP 1.1 - - * use {@link #getQueryString} for CMP 2.0. - * @param method the java.lang.reflect.Method object used to find the - * query filter - * @return the jdo filter expression - */ - abstract public String getJDOFilterExpression (Method method); - - /** Gets the jdo parameter declaration associated with the specified - * method if it exists. Note that this method should only be used for - * CMP 1.1 - use {@link #getQueryString} for CMP 2.0. - * @param method the java.lang.reflect.Method object used to find the - * parameter declaration - * @return the jdo parameter declaration - */ - abstract public String getJDOParameterDeclaration (Method method); - - /** Gets the jdo variables declaration associated with the specified - * method if it exists. Note that this method should only be used for - * CMP 1.1 - use {@link #getQueryString} for CMP 2.0. - * @param method the java.lang.reflect.Method object used to find the - * parameter declaration - * @return the jdo variables declaration - */ - abstract public String getJDOVariableDeclaration (Method method); - - /** Gets the jdo ordering specification associated with the specified - * method if it exists. Note that this method should only be used for - * CMP 1.1 - use {@link #getQueryString} for CMP 2.0. - * @param method the java.lang.reflect.Method object used to find the - * parameter declaration - * @return the jdo ordering specification - */ - abstract public String getJDOOrderingSpecification (Method method); -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties deleted file mode 100644 index c35577b490d..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties +++ /dev/null @@ -1,285 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for the messages -# key consists of: -# key consists of: -# - any valid prefix like MSG, EXC, etc. -# CMG prefix is used for CMP code generation messages. -# can be '_' or '.'. -# - short description started with the upper case letter and used -# upper case to represent each next word. -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 74. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO74000 - JDO74999 -############################################################################### -#{0}=exact name of the ejbCreate... method. -#{1}=Abstract bean name. -EXC_NoCreateException=JDO74000: Method {0}() in {1} does not declare CreateException in its throws clause. - -EXC_TransactionNotActive=JDO74001: Transaction is not active. -# {0}= ejb -# {1}= method name -EXC_PKUpdate=JDO74002: Bean ''{0}'' method {1}: Cannot change Primary Key field value. - -CMG.ModelExceptionOnDeleteAction=JDO74003: Caught ModelException on setDeleteAction: -JDO74003.diag.cause.1=Internal error in CMP module. -JDO74003.diag.check.1=This is an Unexpected Internal Error. Please contact Payara Support with your application and the complete error log message. - -# {0}= ejb -# {1}= method name -GEN.generic_method_exception=JDO74004: Bean ''{0}'' method {1}: - -# {0}= ejb -# {1}= method name -GEN.cmrgettersetter_exception=JDO74005: Bean ''{0}'' is not persistent during call to {1}. -JDO74005.diag.cause.1=CMR field is accessed in ejbCreate. -JDO74005.diag.check.1=Change bean code to access CMR fields in ejbPostCreate. - -# {0}= ejb -# {1}= method name -# {2}= parameters -GEN.cmrsettercol_nullexception=JDO74006: Bean ''{0}'' method {1}: Cannot set Collection value to null. -JDO74006.diag.cause.1=Parameter passed to Collection CMR set method is null. -JDO74006.diag.check.1=Use Collection.remove() method to remove all related beans from this Collection. - -GEN.ejbcreate_exception_dup=JDO74007: Bean ''{0}'' method {1}: duplicate key; parameters: {2} -GEN.ejbcreate_exception_othr=JDO74008: Bean ''{0}'' method {1}: problems during ejbCreate; parameters: {2} -GEN.ejbSSReturnBody_exception=JDO74009: Bean ''{0}'' method {1}: problems running JDOQL query with params {2} -GEN.ejbSSReturnBody_exception_woparams=JDO74010: Bean ''{0}'' method {1}: problems running JDOQL query. - -# {0}= ejb -# {1}= key -GEN.findbypk_exception_notfound=JDO74011: Bean ''{0}'' method findByPrimaryKey: cannot find bean with key {1} - -# {0}=finder -GEN.11finder_unsupported_interface_param=JDO74012: CMP 1.1 finder ''{0}'' parameter ''{1}'' is not of a supported type. Parameter of local and remote interfaces types are not supported as query parameters. - -# {0}=finder name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_finder_exception=JDO74013: Single-object finder ''{0}'' cannot return {1} values. - -GEN.parameters=Parameters: - -# {0}=finder name -GEN.noinstances_finder_exception=JDO74015: No result for single-object finder ''{0}''. - -# {0}=selector name -# {1}=number of returned values (more than 1). -GEN.toomanyinstances_selector_exception=JDO74016: Single-object selector ''{0}'' cannot return {1} values. - -# {0}=selector name -GEN.noinstances_selector_exception=JDO74017: No result for single-object selector ''{0}''. - -# {0}=selector name -GEN.primitivetypenull_exception=JDO74018: Single-object selector ''{0}'' returning a primitive type value cannot return null. - -# {0} = bean instance. -JDO.beannotloaded_exception=JDO74019: Bean {0} is not loaded. Persistence manager in this instance is null. -JDO74019.diag.cause.1=Possible error in EJB Container and CMR runtime life cycle. -JDO74019.diag.check.1=This is an Unexpected Internal Error. Please turn on JDO and CMP logging and contact Payara Support with the complete error log message. - -# {0} = bean instance. -JDO.beaninuse_exception=JDO74020: Cannot use bean {0} in more than one transaction. Persistence manager in this instance is not null. -JDO74020.diag.cause.1=Possible error in EJB Container and CMR runtime life cycle. -JDO74020.diag.check.1=This is an Unexpected Internal Error. Please turn on JDO and CMP logging and contact Payara Support with the complete error log message. - -# {0} = bean instance. -JDO.containertransaction_exception=JDO74021: Bean {0} participates in a container transaction but persistence manager in this instance is null. -JDO74021.diag.cause.1=ejbRemove or ejbStore is called in an active transaction without bean being loaded in the same transaction. Possible error in EJB Container and CMR runtime life cycle. -JDO74021.diag.check.1=This is an Unexpected Internal Error. Please turn on JDO and CMP logging and contact Payara Support with the complete error log message. - -JDO.pmfnull_exception=JDO74022: Persistence manager factory is null. - -# {0}= key -JDO.instancedeleted_exception=JDO74023: Instance with key {0} has been deleted in this transaction. - -# Missing CMP 1.1 finder -# {0}=finder name -EXC_MissingCMP11Finder=JDO74024: Missing or invalid definition of JDOQL query elements for CMP 1.1 finder {0}. - -# Messages for cmp logging - -# {0}=bean name -# {1} application name -# {2} bundle name -# {3}=validation message -CMG.ExceptionInValidate=JDO74025: JDOCodeGenerator: Caught an Exception validating CMP bean ''{0}'' in application ''{1}'' module ''{2}'': {3} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.ExceptionInGenerate=JDO74026: JDOCodeGenerator: Caught an Exception generating CMP bean ''{0}'' in application ''{1}'' module ''{2}'': {3} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.DBException=JDO74027: JDOCodeGenerator: Caught a DBException loading or creating database model for application ''{0}'' module ''{1}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.Schema2BeansException=JDO74028: JDOCodeGenerator: Caught a Schema2BeansException loading or creating mapping for application ''{0}'' module ''{1}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.ModelException=JDO74029: JDOCodeGenerator: Caught a ModelException loading or creating model for application ''{0}'' module ''{1}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInInit=JDO74030: JDOCodeGenerator: Caught an IOException initializing CMP code generation for application ''{0}'' module ''{1}'': {2} - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.IOExceptionInCleanup=JDO74031: JDOCodeGenerator: Caught an IOException finishing CMP code generation for application ''{0}'' module ''{1}'': {2} - -# {0} bean name -# {1} application name -# {2} bundle name -# {3} exception text -CMG.IOExceptionInGenerate=JDO74032: JDOCodeGenerator: Caught an IOException generating code for CMP bean ''{0}'' in application ''{1}'' module ''{2}'': {3} - -# {0} - application name. -# {1} - bundle name. -EXC_MissingCMPResource=JDO74033: Cannot deploy application ''{0}'' module ''{1}'' with CMP beans: cmp-resource is not defined for this module. The minimum requirement for a cmp-resource is to specify the jndi-name of a jdbc-resource or a persistence-manager-factory-resource to be used with the beans. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.SQLException=JDO74034: JDOCodeGenerator: Caught a SQLException loading or creating database model for application ''{0}'' module ''{1}'': {2} - -# {0} application name -# {1} bundle name -# {2} name of dbschema file -CMG.MissingDBSchema=JDO74035: JDOCodeGenerator: Problem while creating database model for application ''{0}'' module ''{1}'': cannot access or read schema file ''{2}''. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.CannotSaveDBSchema=JDO74036: JDOCodeGenerator: Caught an IOException while saving database model for application ''{0}'' module ''{1}'': {2} - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBCLIOverrides=JDO74038: While deploying application ''{0}'': module ''{1}'' is already mapped, so none of the following deployment options will be applied to this module: --uniquetablenames, --createtables, --dropandcreatetables, --dbvendorname. - -# {0} - application name. -# {1} - bundle name. -EXC_DisallowJava2DBUniqueTableNames=JDO74039: While deploying application ''{0}'': module ''{1}'' is already mapped, so deployment option --uniquetablenames will not be applied. - -# {0} - application name. -# {1} - bundle name. -CMG.BeansFileSizeIsZero=JDO74040: While deploying ''{1}'' from ''{0}'': sun-cmp-mappings.xml exists but is empty. Either it should have valid contents and be packaged in the module, or it should be absent (in which case database schema will be automatically generated). - -# {0} - application name. -# {1} - bundle name. -# {2} exception text -CMG.InvalidSunCmpMappingsFile=JDO74041: While deploying ''{1}'' from ''{0}'': sun-cmp-mappings.xml exists but has invalid contents: {2} - -# {0} bean name -# {1} application name -# {2} bundle name -CMG.MissingBeanMapping=JDO74042: The mapping for CMP bean ''{0}'' in application ''{1}'' module ''{2}'' is missing from sun-cmp-mappings.xml. - -# {0}= ejb -# {1}= method name -GEN.update_not_allowed=JDO74043: Bean ''{0}'' method {1}: Update operations are not allowed for this bean type. -JDO74043.diag.cause.1=Create, remove, or update is called on a read-only bean. -JDO74043.diag.check.1=Do not attempt to update read-only beans. -JDO74043.diag.check.2=If update is required, the bean must be deployed as two different EJBs: as a read-only bean, and as an updateable bean. All updates must be done on the second bean. - -#{0}=ejb -#{0}=field name -CMG.CMRAccessNotAllowed=JDO74044: Bean ''{0}'' is read-only and will not allow access of the CMR field ''{1}''. - -# {0}= ejb -# {1}= key -GEN.clone_exception=JDO74045: Cannot clone bean ''{0}'' instance with key {1}. -JDO74045.diag.cause.1=State class is not generated properly for this CMP bean. -JDO74045.diag.check.1=This is an Unexpected Internal Error. Please contact Payara Support with your application and the complete error log message. - -# {0} application name -# {1} bundle name -# {2} exception text -CMG.MappingConversionException=JDO74046: JDOCodeGenerator: Caught a MappingConversionException loading or creating mapping model for application ''{0}'' module ''{1}'': {2} - -JDO.pm_closed_exception=JDO74047: Persistence manager is closed. - -# The following messages JDO76606 through JDO76615 were originally in -# cmp/support/sqlstore/src/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties -# They have been moved to this bundle as part of the INF#82833 -# Most of these messages had been moved to persistence/common module -# -# DeploymentEventListenerImpl messages - ejb -# -# {0} Application name. -# {1} File name. -ejb.BaseProcessor.cannotdroptables=JDO76607: Cannot drop tables for application {0}. The expected DDL file {1} is not available. -# {0} File name. -ejb.BaseProcessor.nodropfile=JDO76608: Cannot drop tables for deployment. The expected DDL file {0} is not available. - -ejb.PersistenceProcessor.nondefaultprovider=JDO76616: The java2db feature is not supported for the persistence provider ''{0}'' that you specified. Hence the tables associated to the entities of the PU named ''{1}'' would not be created and/or dropped from the database. - -# -# -# -ejb.CMPProcessor.createanddroptables=Processing event to create tables: {0}, drop tables: {1}. -ejb.PersistenceProcessor.createanddroptables=Processing event to create tables: {0}, drop tables: {1}. -ejb.PersistenceProcessor.createanddropfilenames=Processing event to create files - create file: {0}, and drop file: {1}. -ejb.CMPProcessor.createanddropfilenames=Names of the files to be used for create is: {0}, and for drop is: {1}. diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP11TemplateFormatter.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP11TemplateFormatter.java deleted file mode 100644 index eebe6e6972d..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP11TemplateFormatter.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * CMP11TemplateFormatter.java - * - * Created on February 25, 2004 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import java.io.*; - -import java.text.MessageFormat; -import java.util.HashMap; -import java.util.Properties; -import java.util.StringTokenizer; - -import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriterHelper; - -/* - * This is the helper class for JDO specific generation of - * a concrete bean implementation for CMP 1.1 beans. - * Because both CMP20TemplateFormatter and this class extend - * CMPTemplateFormatter, and all references are static, properties - * in this class must differ in names. This is why they have 1_1 - * or 11 in them. - * - * @author Marina Vatkina - */ -class CMP11TemplateFormatter extends CMPTemplateFormatter { - - private final static String templateFile = - "com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP11Templates.properties"; // NOI18N - - // Strings for CMP 1.1 code generation: - public final static String one_oneVariables_ = "one_oneVariables"; // NOI18N - public final static String ejbQuerySetIgnoreCache_ = "ejbQuerySetIgnoreCache"; //NOI18N - - // Inner helper Class strings. - public final static String helper11Interface_ - = "com.sun.jdo.spi.persistence.support.sqlstore.ejb.JDOEJB11Helper"; // NOI18N - public final static String helper11Impl_ - = "com.sun.jdo.spi.persistence.support.ejb.cmp.JDOEJB11HelperImpl"; // NOI18N - - // CMP1.1 properties - public final static String ejbCreate1_1_ = "ejbCreate1_1"; // NOI18N - public final static String ejbCreateUnknownPK1_1_ = "ejbCreateUnknownPK1_1"; // NOI18N - public final static String ejbPostCreate1_1_ = "ejbPostCreate1_1"; // NOI18N - public final static String ejbRemove1_1_ = "ejbRemove1_1"; // NOI18N - public final static String storeFields1_1_ = "jdoStoreFields"; // NOI18N - public final static String loadFields1_1_ = "jdoLoadFields"; // NOI18N - public final static String setEntityContext1_1_ = "setEntityContext1_1"; // NOI18N - public final static String internalMethods1_1_ = "internalMethods1_1"; // NOI18N - public final static String helperMethods1_1_ = "helperMethods1_1"; // NOI18N - public final static String load1_1_ = "load1_1"; // NOI18N - public final static String store1_1_ = "store1_1"; // NOI18N - public final static String assertPKStore1_1_ = "assertPKStore1_1"; // NOI18N - public final static String pkstore1_1_ = "pkstore1_1"; // NOI18N - public final static String pkstringstore1_1_ = "pkstringstore1_1"; // NOI18N - public final static String pkcopystore1_1_ = "pkcopystore1_1"; // NOI18N - public final static String copyload1_1_ = "copyload1_1"; // NOI18N - public final static String copystore1_1_ = "copystore1_1"; // NOI18N - public final static String arrayload1_1_ = "arrayload1_1"; // NOI18N - public final static String arraystore1_1_ = "arraystore1_1"; // NOI18N - public final static String loadSerializable1_1_ = "loadSerializable1_1"; // NOI18N - public final static String storeSerializable1_1_ = "storeSerializable1_1"; // NOI18N - - // property key for the CVS keyword substitution - public final static String signature1_1_ = "signature1_1"; //NOI18N - - // finder/selector methods - public static MessageFormat querysetignorecacheformatter = null; // statement to set the ignoreCache flag for a JDOQL query - - // CMP1.1 formatter - public static MessageFormat c11formatter = null; // ejbCreate1_1 - public static MessageFormat c11unpkformatter = null; // ejbCreateUnknownPK1_1 - public static MessageFormat postc11formatter = null; // ejbPostCreate1_1 - public static MessageFormat l11formatter = null; // CMP field load for 1.1 - public static MessageFormat s11formatter = null; // CMP field store for 1.1 - public static MessageFormat l11copyformatter = null; // Mutable CMP field load for 1.1 - public static MessageFormat s11copyformatter = null; // Mutable CMP field store for 1.1 - public static MessageFormat l11arrayformatter = null; // byte[] CMP field load for 1.1 - public static MessageFormat s11arrayformatter = null; // byte[] CMP field store for 1.1 - public static MessageFormat assertpks11formatter = null; // assert not null PK CMP field store for 1.1 - public static MessageFormat pks11formatter = null; // PK CMP field store for 1.1 - public static MessageFormat pkstring11formatter = null; // String CMP field store for 1.1 - public static MessageFormat pkcopy11formatter = null; // Mutable CMP field store for 1.1 - public static MessageFormat l11Serializableformatter = null; // serializable CMP field load for 1.1 - public static MessageFormat s11Serializableformatter = null; // serializable CMP field store for 1.1 - - // standard 1.1 templates for the corresponding keys, so that a template "xxxTemplate" - // corresponds to a "xxx" key. - public static String one_oneVariablesTemplate = null; - public static String ejbRemove1_1Template = null; - public static String signature1_1Template = null; - - private static boolean is11HelpersLoaded = false; - - /** - * Constructs a new CMP11TemplateFormatter instance. - */ - CMP11TemplateFormatter() { - } - - /** - * Initializes templates for code generation. - */ - static synchronized void initHelpers() throws IOException { - if (is11HelpersLoaded == false) { - loadProperties(helpers, templateFile); - init11Formatters(); - init11Templates(); - - is11HelpersLoaded = true; - - } - } - - /** - * Initializes MessageFormats for code generation. - */ - private static void init11Formatters() { - // 1.1 finder methods - querysetignorecacheformatter = new MessageFormat(helpers.getProperty(ejbQuerySetIgnoreCache_)); - - // CMP1.1 formatters - c11formatter = new MessageFormat(helpers.getProperty(ejbCreate1_1_)); - c11unpkformatter = new MessageFormat(helpers.getProperty(ejbCreateUnknownPK1_1_)); - postc11formatter = new MessageFormat(helpers.getProperty(ejbPostCreate1_1_)); - l11formatter = new MessageFormat(helpers.getProperty(load1_1_)); - s11formatter = new MessageFormat(helpers.getProperty(store1_1_)); - assertpks11formatter = new MessageFormat(helpers.getProperty(assertPKStore1_1_)); - pks11formatter = new MessageFormat(helpers.getProperty(pkstore1_1_)); - pkstring11formatter = new MessageFormat(helpers.getProperty(pkstringstore1_1_)); - pkcopy11formatter = new MessageFormat(helpers.getProperty(pkcopystore1_1_)); - l11copyformatter = new MessageFormat(helpers.getProperty(copyload1_1_)); - s11copyformatter = new MessageFormat(helpers.getProperty(copystore1_1_)); - l11arrayformatter = new MessageFormat(helpers.getProperty(arrayload1_1_)); - s11arrayformatter = new MessageFormat(helpers.getProperty(arraystore1_1_)); - l11Serializableformatter = new MessageFormat(helpers.getProperty(loadSerializable1_1_)); - s11Serializableformatter = new MessageFormat(helpers.getProperty(storeSerializable1_1_)); - } - - /** - * Initializes standard templates for code generation. - */ - private static void init11Templates() { - one_oneVariablesTemplate = helpers.getProperty(one_oneVariables_); - ejbRemove1_1Template = helpers.getProperty(ejbRemove1_1_); - signature1_1Template = helpers.getProperty(signature1_1_); - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP11Templates.properties b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP11Templates.properties deleted file mode 100644 index e4cd5107d9e..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP11Templates.properties +++ /dev/null @@ -1,428 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# ----------------------------------------------------------------------------- -# CMP1.1 specific properties -# ----------------------------------------------------------------------------- -# - -# -# Code Signature via CVS keyword substitution -# -signature1_1 = $RCSfile: CMP11Templates.properties,v $ $Revision: 1.2 $ - -# -# Variables: -# -# PLEASE NOTE, all internal variables should start with _jdo -# to avoid name clashes with CMR variables. -# - -one_oneVariables=\ - boolean _jdoIsContainerTransaction true\n - -############################### -# finder method bodies -############################### - -# Set the ignoreCache flag to true (EJB1.1 finders only) -# {0} - ignore cache value (true/false) -ejbQuerySetIgnoreCache=\ - \t\t\tq.setIgnoreCache({0});\n - -############################### -# other method bodies -############################### - -# ejbCreate1.1 -# {0} - PC Class. -# {1} - param list. -# {2} - PK Class. -# {3} - Concrete Impl name -# {4} - Exception type: DuplicateKeyException if it (or CreateException) is in the -# throws clause of the abstract's bean ejbCreate method, EJBException otherwise. -# {5} - Concatenated parameter list -# -# Note: super.ejbCreate must be called BEFORE acquiring a new PersistenceManager. -# CMP1.1 can execute a create() method in a non-transactional context, which -# will require beginning a JDO transaction. This transaction must be rolled -# back in case of any exception. If an exception is thrown from super.ejbCreate -# (before beginning the JDO transaction), the _jdoInstance reference should be set to -# null, but no other processing is needed. -ejbCreate1_1=\ - if(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbCreate - begin: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - assertPersistenceManagerIsNull();\n\ - boolean success = false;\n\ - try '{'\n\ - \t_jdoInstance = new {0}();\n\ - \tjdoLoadFields();\n\ - \tsuper.ejbCreate({1});\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbCreate - jdoGetPersistenceManager: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \t_jdoPersistenceManager = jdoGetPersistenceManager();\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbCreate - jdoGetPersistenceManager: " + this + ":: " + _jdoPersistenceManager);\n\ - \t_jdoIsContainerTransaction = _jdoPersistenceManager.currentTransaction().isActive();\n\ - \tif (!_jdoIsContainerTransaction) '{'\n\ - \t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.beginInternalTransaction(_jdoPersistenceManager);\n\ - \t'}' \n\ - \tjdoStoreFields();\n\ - \t_jdoPersistenceManager.makePersistent(_jdoInstance);\n\ - \tsuccess = true;\n\ - \treturn ({2}){3}_JDOHelper.getHelperInstance().convertPCToPrimaryKey(\n\ - \t\t_jdoInstance, _jdoPersistenceManager);\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDODuplicateObjectIdException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.handleJDODuplicateObjectIdAs{4}(_jdoBeanName, {5}, ex);\n\ - \treturn null; // this is for compilation only - an exception will be thrown \n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.ejbcreate_exception_othr", _jdoBeanName, {5}, ex);\n\ - \tthrow ex;\n\ - '}' finally '{'\n\ - \tif (success) '{'\n\ - \t\tif (_jdoIsContainerTransaction) '{'\n\ - \t\t\tcom.sun.jdo.api.persistence.support.SynchronizationManager.registerSynchronization(this, _jdoPersistenceManager);\n\ - \t\t\tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbCreate - register: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \t\t'}'\n\ - \t'}' else '{'\n\ - \t\tif (_jdoPersistenceManager == null) '{'\n\ - \t\t\t_jdoInstance = null;\n\ - \t\t'}' else '{'\n\ - \t\t\tif (!_jdoIsContainerTransaction && _jdoPersistenceManager.currentTransaction().isActive()) '{'\n\ - \t\t\t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.rollbackInternalTransaction(_jdoPersistenceManager);\n\ - \t\t\t'}'\n\ - \t\t\tjdoClosePersistenceManager();\n\ - \t\t'}'\n\ - \t'}'\n\ - '}' - -# ejbCreate1.1 in case of unknown PK Class -# {0} - PC Class. -# {1} - param list. -# {2} - setter for the PK field. -# {3} - Concrete Impl name -# {4} - Concatenated parameter list -# This bean version never throws DuplicateKeyException because key value is generated. -# -# Note: super.ejbCreate must be called BEFORE acquiring a new PersistenceManager. -# CMP1.1 can execute a create() method in a non-transactional context, which -# will require beginning a JDO transaction. This transaction must be rolled -# back in case of any exception. If an exception is thrown from super.ejbCreate -# (before beginning the JDO transaction), the _jdoInstance reference should be set to -# null, but no other processing is needed. -ejbCreateUnknownPK1_1=\ - assertPersistenceManagerIsNull();\n\ - boolean success = false;\n\ - try '{'\n\ - \t_jdoInstance = new {0}();\n\ - \tjdoLoadFields();\n\ - \tsuper.ejbCreate({1});\n\ - \t_jdoInstance.{2}(new Long(com.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.getNextId()));\n\ - \t_jdoPersistenceManager = jdoGetPersistenceManager();\n\ - \t_jdoIsContainerTransaction = _jdoPersistenceManager.currentTransaction().isActive();\n\ - \tif (!_jdoIsContainerTransaction) '{'\n\ - \t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.beginInternalTransaction(_jdoPersistenceManager);\n\ - \t'}' \n\ - \tjdoStoreFields();\n\ - \t_jdoPersistenceManager.makePersistent(_jdoInstance);\n\ - \tsuccess = true;\n\ - \treturn {3}_JDOHelper.getHelperInstance().convertPCToPrimaryKey(\n\ - \t\t_jdoInstance, _jdoPersistenceManager);\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.ejbcreate_exception_othr", _jdoBeanName, {4}, ex);\n\ - \tthrow ex;\n\ - '}' finally '{'\n\ - \tif (success) '{'\n\ - \t\tif (_jdoIsContainerTransaction) '{'\n\ - \t\t\tcom.sun.jdo.api.persistence.support.SynchronizationManager.registerSynchronization(this, _jdoPersistenceManager);\n\ - \t\t'}'\n\ - \t'}' else '{'\n\ - \t\tif (_jdoPersistenceManager == null) '{'\n\ - \t\t\t_jdoInstance = null;\n\ - \t\t'}' else '{'\n\ - \t\t\tif (!_jdoIsContainerTransaction && _jdoPersistenceManager.currentTransaction().isActive()) '{'\n\ - \t\t\t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.rollbackInternalTransaction(_jdoPersistenceManager);\n\ - \t\t\t'}'\n\ - \t\t\tjdoClosePersistenceManager();\n\ - \t\t'}'\n\ - \t'}'\n\ - '}' - -# {0} - param list. -# {1} - Contatenated parameter list -ejbPostCreate1_1=\ - boolean success = true;\n\ - if(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbPostCreate : " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - try '{'\n\ - \tsuper.ejbPostCreate({0});\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.generic_method_exception", _jdoBeanName, {1}, ex);\n\ - \tsuccess = false;\n\ - \tthrow ex;\n\ - '}' catch (RuntimeException ex) '{'\n\ - \tsuccess = false;\n\ - \tthrow ex;\n\ - '}' catch (Error e) '{'\n\ - \tsuccess = false;\n\ - \tthrow e;\n\ - '}' finally '{'\n\ - \tif (!_jdoIsContainerTransaction) '{'\n\ - \t\tif (success) '{'\n\ - \t\t\ttry '{' \n\ - \t\t\t\tjdoStoreFields();\n\ - \t\t\t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.commitInternalTransaction(_jdoPersistenceManager);\n\ - \t\t\t'}' catch (com.sun.jdo.api.persistence.support.JDOException x) '{'\n\ - \t\t\t\tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t\t\t"GEN.generic_method_exception", _jdoBeanName, x);\n\ - \t\t\t'}'\n\ - \t\t'}'\n\ - \t\tif (_jdoPersistenceManager.currentTransaction().isActive())\n\ - \t\t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.rollbackInternalTransaction(_jdoPersistenceManager);\n\ - \t\tjdoClosePersistenceManager();\n\ - \t'}'\n\ - '}' - -#ejbRemove for CMP1.1 -ejbRemove1_1=\ - if(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbRemove : " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - try {\n\ - \tif (_jdoPersistenceManager == null) {\n\ - \t\tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.assertNotContainerTransaction(this);\n\ - \t\t_jdoIsContainerTransaction = false;\n\ - \t\t_jdoPersistenceManager = jdoGetPersistenceManager();\n\ - \t\tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbRemove - jdoGetPersistenceManager: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.beginInternalTransaction(_jdoPersistenceManager);\n\ - \t\tjdoGetInstance();\n\ - \t} \n\ - \tsuper.ejbRemove();\n\ - \tjdoStoreFields();\n\ - \t_jdoPersistenceManager.deletePersistent(_jdoInstance);\n\ - \tif (!_jdoIsContainerTransaction) {\n\ - \t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.commitInternalTransaction(_jdoPersistenceManager);\n\ - \t} \n\ - } catch (com.sun.jdo.api.persistence.support.JDOException ex) {\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.generic_method_exception", _jdoBeanName, ex);\n\ - \tthrow ex;\n\ - } finally {\n\ - \tif (!_jdoIsContainerTransaction) {\n\ - \t\tif (_jdoPersistenceManager.currentTransaction().isActive()) {\n\ - \t\t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.rollbackInternalTransaction(_jdoPersistenceManager);\n\ - \t\t}\n\ - \t\tjdoClosePersistenceManager();\n\ - \t}\n\ - } - - -# ejbLoad for CMP1.1 -ejbLoad1_1=\ - if(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbLoad - begin: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - assertPersistenceManagerIsNull();\n\ - boolean success = false;\n\ - try {\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbLoad - jdoGetPersistenceManager: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \t_jdoPersistenceManager = jdoGetPersistenceManager();\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbLoad - jdoGetPersistenceManager: " + this + ":: " + _jdoPersistenceManager);\n\ - \tjdoGetInstance();\n\ - \tjdoLoadFields();\n\ - \tsuper.ejbLoad();\n\ - \tsuccess = true;\n\ - } catch (com.sun.jdo.api.persistence.support.JDOException ex) {\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.generic_method_exception", _jdoBeanName, ex);\n\ - \tthrow (ex instanceof com.sun.jdo.api.persistence.support.JDOObjectNotFoundException) ? \n\ - \t\t(RuntimeException) new NoSuchEntityException(ex) : ex;\n\ - } finally {\n\ - \tif (success && _jdoPersistenceManager.currentTransaction().isActive()) {\n\ - \t\tcom.sun.jdo.api.persistence.support.SynchronizationManager.registerSynchronization(this, _jdoPersistenceManager);\n\ - \t\tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbLoad - register: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \t} else jdoClosePersistenceManager();\n\ - } - -# ejbStore for CMP1.1 -ejbStore1_1=\ - if (_jdoPersistenceManager == null) {\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.assertNotContainerTransaction(this);\n\ - \treturn;\n\ - }\n\ - if (com.sun.jdo.api.persistence.support.JDOHelper.isDeleted(_jdoInstance)) {\n\ - \treturn;\n\ - }\n\ - try {\n\ - \tsuper.ejbStore();\n\ - \tjdoStoreFields();\n\ - } catch (com.sun.jdo.api.persistence.support.JDOException ex) {\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.generic_method_exception", _jdoBeanName, ex);\n\ - \tthrow ex;\n\ - } - -# Helper methods for CMP1.1 concrete impl class. - -# {0} - field name. -# {1} - getter name. -load1_1=\ - this.{0} = _jdoInstance.{1}();\n - -# {0} - getter name. -# {1} - field name. -# {2} - setter name. -store1_1=\ - if(_jdoInstance.{0}() != this.{1}) _jdoInstance.{2}(this.{1});\n - -# {0} - Concrete Impl name -# {1} - field name. -assertPKStore1_1=\ - {0}_JDOHelper.getHelperInstance().assertPrimaryKeyFieldNotNull(this.{1}, "{1}", _jdoBeanName);\n - -# {0} - getter name. -# {1} - field name. -# {2} - setter name. -pkstore1_1=\ - try '{'\n\ - \tif(_jdoInstance.{0}() != this.{1}) _jdoInstance.{2}(this.{1});\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{' \n\ - \tString msg = com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionFromPKSetter(_jdoBeanName, ex);\n\ - \tthrow new IllegalStateException(msg);\n\ - '}'\n - -# {0} - getter name. -# {1} - field name. -# {2} - setter name. -pkstringstore1_1=\ - try '{'\n\ - \tif(!this.{1}.equals(_jdoInstance.{0}())) _jdoInstance.{2}(this.{1}.trim());\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{' \n\ - \tString msg = com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionFromPKSetter(_jdoBeanName, ex);\n\ - \tthrow new IllegalStateException(msg);\n\ - '}'\n - -# {0} - getter name. -# {1} - field name. -# {2} - setter name. -# {3} - CMP field type. -pkcopystore1_1=\ - try '{'\n\ - \tif(!this.{1}.equals(_jdoInstance.{0}())) _jdoInstance.{2}(({3})this.{1}.clone());\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{' \n\ - \tString msg = com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionFromPKSetter(_jdoBeanName, ex);\n\ - \tthrow new IllegalStateException(msg);\n\ - '}'\n - -# {0} - getter name. -# {1} - field type. -# {2} - field name. -copyload1_1=\ - try '{'\n\ - \t{1} rc = _jdoInstance.{0}();\n\ - \tthis.{2} = (rc == null) ? null : ({1})rc.clone();\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}'\n - -# {0} - getter name. -# {1} - field name. -# {2} - setter name. -# {3} - CMP field type. -copystore1_1=\ - try '{'\n\ - \t{3} rc = _jdoInstance.{0}();\n\ - \tif(this.{1} == null) '{' \n\ - \t\tif (rc != null) _jdoInstance.{2}(null);\n\ - \t'}' else if(!this.{1}.equals(rc)) '{' \n\ - \t\t_jdoInstance.{2}(({3})this.{1}.clone());\n\ - \t'}'\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}'\n - -# {0} - field name. -# {1} - getter name. -arrayload1_1=\ - try '{'\n\ - \tthis.{0} = jdoArrayCopy(_jdoInstance.{1}());\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}'\n - -# {0} - getter name. -# {1} - field name. -# {2} - setter name. -arraystore1_1=\ - try '{'\n\ - \tif(!java.util.Arrays.equals(_jdoInstance.{0}(), this.{1})) \n\ - \t_jdoInstance.{2}(jdoArrayCopy(this.{1}));\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}'\n - -# {0} - field name. -# {1} - getter name. -# {2} - field Type. -# {3} - Concrete Impl name -loadSerializable1_1=\ - this.{0} = ({2})\n\ - \t{3}_JDOHelper.getHelperInstance().readSerializableObjectFromByteArray( _jdoInstance.{1}() );\n - -# {0} - getter name. -# {1} - field name. -# {2} - setter name. -# {3} - Concrete Impl name -storeSerializable1_1=\ - byte[] byteValue{1} = {3}_JDOHelper.getHelperInstance().writeSerializableObjectToByteArray(this.{1});\n\ - if( !java.util.Arrays.equals(_jdoInstance.{0}(), byteValue{1} ) )\n\ - \t_jdoInstance.{2}(byteValue{1});\n - -jdoCleanAllRefs1_1=\ - _jdoInstance = null;\n\ - _jdoPersistenceManager = null;\n\ - _jdoIsContainerTransaction = true; - -# -# ----------------------------------------------------------------------------- -# End of CMP1.1 specific properties -# ----------------------------------------------------------------------------- -# - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP20TemplateFormatter.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP20TemplateFormatter.java deleted file mode 100644 index ee66834b784..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP20TemplateFormatter.java +++ /dev/null @@ -1,278 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * CMP20TemplateFormatter.java - * - * Created on February 25, 2004 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import java.io.*; - -import java.text.MessageFormat; -import java.util.HashMap; -import java.util.Properties; -import java.util.StringTokenizer; - -import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriterHelper; - -/* - * This is the helper class for JDO specific generation of - * a concrete bean implementation for CMP 2.0 beans. - * Because both CMP11TemplateFormatter and this class extend - * CMPTemplateFormatter, and all references are static, properties - * in this class must differ in names if there is a similar property - * in the super class. Such properties have 2_0 or 20 in them. - * - * @author Marina Vatkina - */ -class CMP20TemplateFormatter extends CMPTemplateFormatter { - - private final static String templateFile = - "com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP20Templates.properties"; // NOI18N - - // Strings for CMP 2.0 code generation: - public final static String local_ = "Local"; // NOI18N - public final static String ejbLocalObject_ = "EJBLocalObject"; // NOI18N - public final static String ejbLocalHome_ = "EJBLocalHome"; // NOI18N - public final static String getter_ = "getter"; // NOI18N - public final static String setter_ = "setter"; // NOI18N - public final static String assertPKsetter_ = "assertPKsetter"; // NOI18N - public final static String pksetter_ = "pksetter"; // NOI18N - public final static String pkstringsetter_ = "pkstringsetter"; // NOI18N - public final static String pkcopysetter_ = "pkcopysetter"; // NOI18N - public final static String copygetter_ = "copygetter"; // NOI18N - public final static String copysetter_ = "copysetter"; // NOI18N - public final static String arraygetter_ = "arraygetter"; // NOI18N - public final static String arraysetter_ = "arraysetter"; // NOI18N - public final static String sfldgetter_ = "sfldGetter"; // NOI18N - public final static String sfldsetter_ = "sfldSetter"; // NOI18N - public final static String cmrGetter_ = "cmrGetter"; // NOI18N - public final static String cmrSetter_ = "cmrSetter"; // NOI18N - public final static String cmrGetterCollection_ = "cmrGetterCollection"; // NOI18N - public final static String cmrSetterCollection_ = "cmrSetterCollection"; // NOI18N - public final static String startCascadeDelete_ = "startCascadeDelete"; // NOI18N - public final static String endCascadeDelete_ = "endCascadeDelete"; // NOI18N - public final static String cmrCascadeDelete_ = "cmrCascadeDelete"; // NOI18N - public final static String cmrCascadeDeleteCollection_ = "cmrCascadeDeleteCollection"; // NOI18N - public final static String localCmrVariables_ = "localCmrVariables"; // NOI18N - public final static String cleanCollectionCmr_ = "cleanCollectionCmr"; // NOI18N - public final static String ejbFinderSelectorParamCheckLocalInterface_ - = "ejbFinderSelectorParamCheckLocalInterface"; // NOI18N - public final static String ejbFinderSelectorParamCheckRemoteInterface_ - = "ejbFinderSelectorParamCheckRemoteInterface"; // NOI18N - public final static String ejbMultiSelectorBodyConversion_ = "ejbMultiSelectorBodyConversion"; // NOI18N - public final static String ejbMultiSelectorBody_ = "ejbMultiSelectorBody"; // NOI18N - public final static String ejbMultiSelectorBodySet_ = "ejbMultiSelectorBodySet"; // NOI18N - public final static String ejbSingleSelectorReturnBodyConversion_ = "ejbSingleSelectorReturnBodyConversion"; // NOI18N - public final static String ejbSingleSelectorReturnBody_ = "ejbSingleSelectorReturnBody"; // NOI18N - public final static String ejbAggregateSelectorPrimitiveReturnBody_ = "ejbAggregateSelectorPrimitiveReturnBody"; // NOI18N - public final static String ejbAggregateSelectorReturnBody_ = "ejbAggregateSelectorReturnBody"; // NOI18N - public final static String ejbAggregateSelectorReturnBodyConversion_ = "ejbAggregateSelectorReturnBodyConversion"; // NOI18N - public final static String ejbAggregateSelectorReturnBigDecimalConversion_ = "ejbAggregateSelectorReturnBigDecimalConversion"; // NOI18N - public final static String ejbAggregateSelectorReturnBigIntegerConversion_ = "ejbAggregateSelectorReturnBigIntegerConversion"; // NOI18N - public final static String ejbSingleSelectorBody_ = "ejbSingleSelectorBody"; // NOI18N - public final static String preSelect_ = "preSelect"; // NOI18N - public final static String convertPCToEJBLocalObject_ - = "convertPCToEJBLocalObject"; // NOI18N - public final static String convertCollectionPCToEJBObject_ - = "convertCollectionPCToEJBObject"; // NOI18N - public final static String convertCollectionPCToEJBObjectSet_ - = "convertCollectionPCToEJBObjectSet"; // NOI18N - public final static String convertCollectionPCToEJBLocalObject_ - = "convertCollectionPCToEJBLocalObject"; // NOI18N - public final static String convertCollectionPCToEJBLocalObjectSet_ - = "convertCollectionPCToEJBLocalObjectSet"; // NOI18N - public final static String jdoCleanCollectionRef_ = "jdoCleanCollectionRef"; // NOI18N - - // Inner helper Class strings. - public final static String helper20Interface_ - = "com.sun.jdo.spi.persistence.support.sqlstore.ejb.JDOEJB20Helper"; // NOI18N - public final static String helper20Impl_ - = "com.sun.jdo.spi.persistence.support.ejb.cmp.JDOEJB20HelperImpl"; // NOI18N - - public final static String ejbHashSetImport_ - = "com.sun.jdo.spi.persistence.support.ejb.cmp.EJBHashSet"; // NOI18N - - public final static String assertInstanceOfLocalInterfaceImpl_ - = "assertInstanceOfLocalInterfaceImpl"; // NOI18N - // property key for the CVS keyword substitution - public final static String signature2_0_ = "signature2_0"; //NOI18N - - // getters and setters - public static MessageFormat gformatter = null; // CMP field getter - public static MessageFormat sformatter = null; // CMP field setter - public static MessageFormat copygformatter = null; // Date CMP field uses copygetter - public static MessageFormat copysformatter = null; // Date CMP field uses copysetter - public static MessageFormat arraygformatter = null; // byte[] CMP field uses arraygetter - public static MessageFormat arraysformatter = null; // byte[] CMP field uses arraysetter - public static MessageFormat assertpksformatter = null; // assert not null PK field setter - public static MessageFormat pksformatter = null; // PK field setter - public static MessageFormat pkstringsformatter = null; // String PK CMP field setter (calls trim()) - public static MessageFormat pkcopysformatter = null; // Mutable PK CMP field setter (calls clone()) - public static MessageFormat sfldgformatter = null; // Serializable CMP field getter - public static MessageFormat sfldsformatter = null; // Serializable CMP field setter - - public static MessageFormat cmrgformatter = null; // 1-side CMR getter - public static MessageFormat cmrsformatter = null; // 1-side CMR setter - public static MessageFormat cmrCgformatter = null; // many-side CMR getter - public static MessageFormat cmrCsformatter = null; // many-side CMR setter - public static MessageFormat cmrcdformatter = null; // cascade-delete for one-one CMR - public static MessageFormat cmrcdCformatter = null; // cascade-delete for one-many CMR - - // 2.0 variables - public static MessageFormat cmrvformatter = null; // local cmr variables - public static MessageFormat cleancmrformatter = null; // clean collection cmr references - - // 2.0 methods - public static MessageFormat cformatter = null; // ejbCreate - public static MessageFormat cunpkformatter = null; // ejbCreateUnknownPK - public static MessageFormat postcformatter = null; // ejbPostCreate - public static MessageFormat rmformatter = null; // ejbRemove - - // finder/selector methods - public static MessageFormat finderselectorchecklocalformatter = null; //common body for selector and finder param check for local interface impl class - public static MessageFormat finderselectorcheckremoteformatter = null; //common body for selector and finder param check for remote interface impl class - public static MessageFormat preselectformatter = null; // preSelect callback - public static MessageFormat multiselectorconvformatter = null; // selector for multi-value-objects body with resultset-conversion - public static MessageFormat multiselectorformatter = null; // selector for multi-value-objects body - public static MessageFormat multiselectorsetformatter = null; // selector for multi-value-objects body and conversion to Set - public static MessageFormat singleselectorreturnconvformatter = null; // selector for single-value-objects body with resultset-conversion - public static MessageFormat singleselectorreturnformatter = null; // selector for single-value-objects body with resultset-conversion - public static MessageFormat aggregateselectorprimitivereturnformatter = null; // selector for aggregate functions return primitive without object conversion - public static MessageFormat aggregateselectorreturnformatter = null; // selector for aggregate functions without object conversion - public static MessageFormat aggregateselectorreturnconvformatter = null; // selector for aggregate functions with object conversion - public static MessageFormat aggregateselectorreturnbigdecimalconvformatter = null; // selector for aggregate functions with BigDecimal conversion - public static MessageFormat aggregateselectorreturnbigintegerconvformatter = null; // selector for aggregate functions with BigInteger conversion - public static MessageFormat singleselectorformatter = null; // selector for single-value-objects body - - // standard templates for the corresponding keys, so that a template "xxxTemplate" - // corresponds to a "xxx" key. - public static String startCascadeDeleteTemplate = null; - public static String endCascadeDeleteTemplate = null; - public static String assertInstanceOfLocalInterfaceImplTemplate = null; - public static String signature2_0Template = null; - - private static boolean is20HelpersLoaded = false; - - /** - * Constructs a new CMP20TemplateFormatter instance. - */ - CMP20TemplateFormatter() { - } - - /** - * Initializes templates for code generation. - */ - static synchronized void initHelpers() throws IOException { - if (is20HelpersLoaded == false) { - loadProperties(helpers, templateFile); - init20Formatters(); - init20Templates(); - - is20HelpersLoaded = true; - - } - } - - /** - * Initializes MessageFormats for code generation. - */ - private static void init20Formatters() { - // getters and setters - gformatter = new MessageFormat(helpers.getProperty(getter_)); - sformatter = new MessageFormat(helpers.getProperty(setter_)); - copygformatter = new MessageFormat(helpers.getProperty(copygetter_)); - copysformatter = new MessageFormat(helpers.getProperty(copysetter_)); - arraygformatter = new MessageFormat(helpers.getProperty(arraygetter_)); - arraysformatter = new MessageFormat(helpers.getProperty(arraysetter_)); - assertpksformatter = new MessageFormat(helpers.getProperty(assertPKsetter_)); - pksformatter = new MessageFormat(helpers.getProperty(pksetter_)); - pkstringsformatter = new MessageFormat(helpers.getProperty(pkstringsetter_)); - pkcopysformatter = new MessageFormat(helpers.getProperty(pkcopysetter_)); - sfldsformatter = new MessageFormat(helpers.getProperty(sfldsetter_)); - sfldgformatter = new MessageFormat(helpers.getProperty(sfldgetter_)); - cmrgformatter = new MessageFormat(helpers.getProperty(cmrGetter_)); - cmrsformatter = new MessageFormat(helpers.getProperty(cmrSetter_)); - cmrCgformatter = new MessageFormat(helpers.getProperty(cmrGetterCollection_)); - cmrCsformatter = new MessageFormat(helpers.getProperty(cmrSetterCollection_)); - cmrcdformatter = new MessageFormat(helpers.getProperty(cmrCascadeDelete_)); - cmrcdCformatter = new MessageFormat(helpers.getProperty(cmrCascadeDeleteCollection_)); - - // 2.0 variables - cmrvformatter = new MessageFormat(helpers.getProperty(localCmrVariables_)); - cleancmrformatter = new MessageFormat(helpers.getProperty(cleanCollectionCmr_)); - - // 2.0 methods - cformatter = new MessageFormat(helpers.getProperty(ejbCreate_)); - cunpkformatter = new MessageFormat(helpers.getProperty(ejbCreateUnknownPK_)); - postcformatter = new MessageFormat(helpers.getProperty(ejbPostCreate_)); - rmformatter = new MessageFormat(helpers.getProperty(ejbRemove_)); - - // 2.0 finder/selector methods - finderselectorchecklocalformatter = new MessageFormat(helpers.getProperty(ejbFinderSelectorParamCheckLocalInterface_)); - finderselectorcheckremoteformatter = new MessageFormat(helpers.getProperty(ejbFinderSelectorParamCheckRemoteInterface_)); - preselectformatter = new MessageFormat(helpers.getProperty(preSelect_)); - multiselectorconvformatter = new MessageFormat(helpers.getProperty(ejbMultiSelectorBodyConversion_)); - multiselectorformatter = new MessageFormat(helpers.getProperty(ejbMultiSelectorBody_)); - multiselectorsetformatter = new MessageFormat(helpers.getProperty(ejbMultiSelectorBodySet_)); - singleselectorreturnconvformatter = new MessageFormat(helpers.getProperty(ejbSingleSelectorReturnBodyConversion_)); - singleselectorreturnformatter = new MessageFormat(helpers.getProperty(ejbSingleSelectorReturnBody_)); - aggregateselectorprimitivereturnformatter = new MessageFormat(helpers.getProperty(ejbAggregateSelectorPrimitiveReturnBody_)); - aggregateselectorreturnformatter = new MessageFormat(helpers.getProperty(ejbAggregateSelectorReturnBody_)); - aggregateselectorreturnconvformatter = new MessageFormat(helpers.getProperty(ejbAggregateSelectorReturnBodyConversion_)); - aggregateselectorreturnbigdecimalconvformatter = new MessageFormat(helpers.getProperty(ejbAggregateSelectorReturnBigDecimalConversion_)); - aggregateselectorreturnbigintegerconvformatter = new MessageFormat(helpers.getProperty(ejbAggregateSelectorReturnBigIntegerConversion_)); - singleselectorformatter = new MessageFormat(helpers.getProperty(ejbSingleSelectorBody_)); - } - - /** - * Initializes standard templates for code generation. - */ - private static void init20Templates() { - startCascadeDeleteTemplate = helpers.getProperty(startCascadeDelete_); - endCascadeDeleteTemplate = helpers.getProperty(endCascadeDelete_); - assertInstanceOfLocalInterfaceImplTemplate = helpers.getProperty( - assertInstanceOfLocalInterfaceImpl_); - signature2_0Template = helpers.getProperty(signature2_0_); - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP20Templates.properties b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP20Templates.properties deleted file mode 100644 index 66eb8392233..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMP20Templates.properties +++ /dev/null @@ -1,625 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# ----------------------------------------------------------------------------- -# CMP2.x specific properties -# ----------------------------------------------------------------------------- -# - -# -# Code Signature via CVS keyword substitution -# -signature2_0 = $RCSfile: CMP20Templates.properties,v $ $Revision: 1.2 $ - -# -# Variables: -# -# PLEASE NOTE, all internal variables should start with _jdo -# to avoid name clashes with CMR variables. -# - -#this is for cmr relationship -# {0} - local cmr variable type -# {1} - local cmr variable name -localCmrVariables=\ - {0} {1} null - -# {0} - Collection cmr variable name -cleanCollectionCmr=\ - if ({0} != null) '{' \n\ - \t((com.sun.jdo.spi.persistence.support.ejb.cmp.EJBHashSet){0}).invalidate();\n\ - \t{0} = null;\n\ - '}'\n - -# -# Methods: -# - -# {0} - getter name. -getter=\ - try '{'\n\ - \treturn _jdoInstance.{0}();\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# {0} - Concrete Impl name -# {1} - field name -assertPKsetter=\ - {0}_JDOHelper.getHelperInstance().assertPrimaryKeyFieldNotNull(param0, "{1}", _jdoBeanName);\n - -# {0} - setter name. -pksetter=\ - try '{'\n\ - \t_jdoInstance.{0}(param0);\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{' \n\ - \tString msg = com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionFromPKSetter(_jdoBeanName, ex);\n\ - \tthrow new IllegalStateException(msg);\n\ - '}' - -# {0} - setter name. -pkstringsetter=\ - try '{'\n\ - \t_jdoInstance.{0}(param0.trim());\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{' \n\ - \tString msg = com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionFromPKSetter(_jdoBeanName, ex);\n\ - \tthrow new IllegalStateException(msg);\n\ - '}' - -# {0} - setter name. -# {1} - CMP field type. -pkcopysetter=\ - try '{'\n\ - \t_jdoInstance.{0}(({1})param0.clone());\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{' \n\ - \tString msg = com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionFromPKSetter(_jdoBeanName, ex);\n\ - \tthrow new IllegalStateException(msg);\n\ - '}' - -# {0} - setter name. -setter=\ - try '{'\n\ - \t_jdoInstance.{0}(param0);\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# {0} - getter name. -# {1} - CMP field type. -copygetter=\ - try '{'\n\ - \t{1} rc = _jdoInstance.{0}();\n\ - \treturn (rc == null) ? null : ({1})rc.clone();\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# {0} - setter name. -# {1} - CMP field type. -copysetter=\ - try '{'\n\ - \t_jdoInstance.{0}((param0 == null) ? null : ({1})param0.clone());\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# {0} - getter name. -arraygetter=\ - try '{'\n\ - \treturn jdoArrayCopy(_jdoInstance.{0}());\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# {0} - setter name. -arraysetter=\ - try '{'\n\ - \t_jdoInstance.{0}(jdoArrayCopy(param0));\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# {0} - getter name. -# {1} - return value type -# {2} - Concrete Impl Class Name -sfldGetter=\ - try '{'\n\ - \treturn ({1})\n\ - \t\t{2}_JDOHelper.getHelperInstance().readSerializableObjectFromByteArray ( _jdoInstance.{0}() );\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# {0} - setter name. -# {1} - Concrete Impl Class Name -sfldSetter=\ - try '{'\n\ - \t_jdoInstance.{0}({1}_JDOHelper.getHelperInstance().writeSerializableObjectToByteArray(param0) );\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# {0} - Related PC Class. -# {1} - getter name. -# {2} - return type. -# {3} - Related bean Impl class. -cmrGetter=\ - com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.assertPersistent(_jdoInstance, _jdoBeanName);\n\ - try '{'\n\ - \t{0} otherPC = _jdoInstance.{1}();\n\ - \treturn ({2}){3}_JDOHelper.getHelperInstance().\n\ - \t\tconvertPCToEJBLocalObject(otherPC, _jdoPersistenceManager, _jdoEntityContext);\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# {0} - Related PC Class. -# {1} - Related bean Impl class. -# {2} - setter name. -cmrSetter=\ - com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.assertPersistent(_jdoInstance, _jdoBeanName);\n\ - assertInTransaction();\n\ - try '{'\n\ - \tif (param0 == null) '{'\n\ - \t\t_jdoInstance.{2}(null);\n\ - \t'}' else '{'\n\ - \t\t{1}_JDOHelper.getHelperInstance().assertInstanceOfLocalInterfaceImpl(param0); \n\ - \t\t{0} otherPC = ({0}){1}_JDOHelper.getHelperInstance().\n\ - \t\t\tconvertEJBLocalObjectToPC(param0, _jdoPersistenceManager, true);\n\ - \t\t_jdoInstance.{2}(otherPC);\n\ - \t'}'\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# {0} - getter name. -# {1} - field name. -# {2} - Related bean Impl class. -cmrGetterCollection=\ - com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.assertPersistent(_jdoInstance, _jdoBeanName);\n\ - if ({1} == null) '{'\n\ - \ttry '{'\n\ - \t\tCollection cmr = _jdoInstance.{0}();\n\ - \t\tif (cmr == null) '{'\n\ - \t\t\tcmr = (Collection)_jdoPersistenceManager.newCollectionInstance(\n\ - \t\t\t\tjava.util.HashSet.class, _jdoInstance, \"{1}\", \n\ - \t\t\t\t{2}_JDOHelper.getHelperInstance().getPCClass(), false, 0);\n\ - \t\t'}'\n\ - \t\t{1} = new com.sun.jdo.spi.persistence.support.ejb.cmp.EJBHashSet(_jdoPersistenceManager, \n\ - \t\t\t{2}_JDOHelper.getHelperInstance(), cmr);\n\ - \t'}' catch(com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \t\tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \t\tthrow ex;\n\ - \t'}'\n\ - '}'\n\ - return {1}; - -# {0} - Related bean Impl class. -# {1} - setter name. -# {2} - getter name. -# {3} - field name. -cmrSetterCollection=\ - com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.assertPersistent(_jdoInstance, _jdoBeanName);\n\ - com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.assertCollectionNotNull(param0, _jdoBeanName);\n\ - assertInTransaction();\n\ - Collection pcs = null;\n\ - try '{'\n\ - \tif (param0 instanceof com.sun.jdo.spi.persistence.support.ejb.cmp.EJBHashSet) '{'\n\ - \t\t_jdoInstance.{1}(((com.sun.jdo.spi.persistence.support.ejb.cmp.EJBHashSet)param0).getSCOHashSet());\n\ - \t'}' else '{'\n\ - \t\tpcs = {0}_JDOHelper.getHelperInstance().\n\ - \t\t\tconvertCollectionEJBLocalObjectToPC(param0, _jdoPersistenceManager, true);\n\ - \t\t// Convert Collection to HashSet\n\ - \t\tif (pcs instanceof java.util.HashSet) \n\ - \t\t\t_jdoInstance.{1}((java.util.HashSet)pcs);\n\ - \t\telse \n\ - \t\t\t_jdoInstance.{1}(new java.util.HashSet(pcs));\n\ - \t'}'\n\ - \tif ({3} != null) '{'\n\ - \t\t((com.sun.jdo.spi.persistence.support.ejb.cmp.EJBHashSet){3}).setSCOHashSet(_jdoInstance.{2}());\n\ - \t'}'\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithInternalLogger(_jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# start of cascade-delete block -startCascadeDelete=\ - \tjava.util.HashMap localMap = new java.util.HashMap();\n\ - \tEJBLocalObject other = null;\n\ - \tObject container = null;\n - -# Code added to ejbRemove if cascade-delete is set for the related objects -# for one-one type of the relationship. -# {0} - getter name. -# {1} - otherImpl name. -cmrCascadeDelete=\ - \tother = {0}();\n\ - \tif (other != null) '{'\n\ - \t\tlocalMap.put(other, {1}_JDOHelper.getHelperInstance().getContainer());\n\ - \t'}'\n - -# Code added to ejbRemove if cascade-delete is set for the related objects -# for one-many type of the relationship. -# {0} - getter name. -# {1} - otherImpl name. -cmrCascadeDeleteCollection=\ - \tcontainer = {1}_JDOHelper.getHelperInstance().getContainer();\n\ - \tfor (java.util.Iterator it = {0}().iterator(); it.hasNext();) '{'\n\ - \t\tlocalMap.put(it.next(), container);\n\ - \t'}'\n - -# end of cascade-delete block -endCascadeDelete=\ - \tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.setCascadeDeleteAfterSuperEJBRemove(_jdoEntityContext);\n\ - \tjava.util.Set keys = localMap.keySet();\n\ - \tfor(java.util.Iterator it = keys.iterator(); it.hasNext();) {\n\ - \t\tother = (EJBLocalObject)it.next();\n\ - \t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.removeByEJBLocalObject(other, localMap.get(other));\n\ - \t}\n - -# ejbCreate2.0 -# {0} - PC Class. -# {1} - actual name of the super.ejbCreateXXX method. -# {2} - param list. -# {3} - PK Class. -# {4} - Concrete Impl name -# {5} - Concatenated parameter list -# -# Note: super.ejbCreate call needs to be inside the try-catch block to -# correctly log any JDOException thrown by accessing setters and getters of the -# jdoInstance. super.ejbCreate must be called after acquiring the -# PersistenceManager to allow for proper cleanup in case of any failures. -ejbCreate=\ - if(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbCreate - begin: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - assertPersistenceManagerIsNull();\n\ - boolean success = false;\n\ - try '{'\n\ - \t_jdoInstance = new {0}();\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbCreate - jdoGetPersistenceManager: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \t_jdoPersistenceManager = jdoGetPersistenceManager();\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbCreate - jdoGetPersistenceManager: " + this + ":: " + _jdoPersistenceManager);\n\ - \tsuper.{1}({2});\n\ - \t_jdoPersistenceManager.makePersistent(_jdoInstance);\n\ - \tsuccess = true;\n\ - \treturn ({3}){4}_JDOHelper.getHelperInstance().convertPCToPrimaryKey(\n\ - \t\t_jdoInstance, _jdoPersistenceManager);\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDODuplicateObjectIdException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.handleJDODuplicateObjectIdAsDuplicateKeyException(\n\ - \t\t_jdoBeanName, {5}, ex);\n\ - \treturn null; // this is for compilation only - an exception will be thrown \n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.ejbcreate_exception_othr", _jdoBeanName, {5}, ex);\n\ - \tthrow ex;\n\ - '}' finally '{'\n\ - \tif (success) '{'\n\ - \t\tcom.sun.jdo.api.persistence.support.SynchronizationManager.registerSynchronization(this, _jdoPersistenceManager);\n\ - \t\tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbCreate - register: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \t'}' else jdoClosePersistenceManager();\n\ - '}' - -# ejbCreate2.0 in case of the unknown PK class. -# {0} - PC Class. -# {1} - actual name of the super.ejbCreateXXX method. -# {2} - param list. -# {3} - setter for the PK field -# {4} - Concrete Impl name -# {5} - Concatenated parameter list -# This bean version never throws DuplicateKeyException because key value is generated. -# -# Note: super.ejbCreate call needs to be inside the try-catch block to -# correctly log any JDOException thrown by accessing setters and getters of the -# jdoInstance. super.ejbCreate must be called after acquiring the -# PersistenceManager to allow for proper cleanup in case of any failures. -ejbCreateUnknownPK=\ - assertPersistenceManagerIsNull();\n\ - boolean success = false;\n\ - try '{'\n\ - \t_jdoInstance = new {0}();\n\ - \t_jdoPersistenceManager = jdoGetPersistenceManager();\n\ - \tsuper.{1}({2});\n\ - \t_jdoInstance.{3}(new Long(com.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.getNextId()));\n\ - \t_jdoPersistenceManager.makePersistent(_jdoInstance);\n\ - \tsuccess = true;\n\ - \treturn {4}_JDOHelper.getHelperInstance().convertPCToPrimaryKey(\n\ - \t\t_jdoInstance, _jdoPersistenceManager);\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.ejbcreate_exception_othr", _jdoBeanName, {5}, ex);\n\ - \tthrow ex;\n\ - '}' finally '{'\n\ - \tif (success)\n\ - \t\tcom.sun.jdo.api.persistence.support.SynchronizationManager.registerSynchronization(this, _jdoPersistenceManager);\n\ - \telse jdoClosePersistenceManager();\n\ - '}' - -# {0} - actual name of the super.ejbPostCreateXXX method. -# {1} - param list. -ejbPostCreate=\ - try '{'\n\ - \tsuper.{0}({1});\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.generic_method_exception", _jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -# {0} - Cascade delete block if exists. -# RESOLVE: do we need to get new PersistenceManager and new jdoInstance? -ejbRemove=\ - com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.assertPersistenceManagerNotNull(_jdoPersistenceManager, this);\n\ - try '{'\n\ - \tsuper.ejbRemove();\n\ - {0}\n\ - \t_jdoPersistenceManager.deletePersistent(_jdoInstance);\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.generic_method_exception", _jdoBeanName, ex);\n\ - \tthrow ex;\n\ - '}' - -ejbLoad=\ - if(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbLoad - begin: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - assertPersistenceManagerIsNull();\n\ - boolean success = false;\n\ - try {\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbLoad - jdoGetPersistenceManager: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \t_jdoPersistenceManager = jdoGetPersistenceManager();\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbLoad - jdoGetPersistenceManager: " + this + ":: " + _jdoPersistenceManager);\n\ - \tjdoGetInstance();\n\ - \tsuper.ejbLoad();\n\ - \tsuccess = true;\n\ - } catch (com.sun.jdo.api.persistence.support.JDOException ex) {\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.generic_method_exception", _jdoBeanName, ex);\n\ - \tthrow (ex instanceof com.sun.jdo.api.persistence.support.JDOObjectNotFoundException) ? \n\ - \t\t(RuntimeException) new NoSuchEntityException(ex) : ex;\n\ - } finally {\n\ - \t//Do not register if there is no active transaction (in RO beans).\n\ - \tif (success && _jdoPersistenceManager.currentTransaction().isActive()) { \n\ - \t\tcom.sun.jdo.api.persistence.support.SynchronizationManager.registerSynchronization(this, _jdoPersistenceManager);\n\ - \t\tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN ejbLoad - register: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \t} else jdoClosePersistenceManager();\n\ - } - -ejbStore=\ - com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.assertPersistenceManagerNotNull(_jdoPersistenceManager, this);\n\ - super.ejbStore();\n\ - -jdoCleanAllRefs=\ - _jdoInstance = null;\n\ - _jdoPersistenceManager = null;\n\ - jdoCleanCollectionRef(); - -# -# ----------------------------------------------------------------------------- -# _JDOHelper templates for 2.x beans -# ----------------------------------------------------------------------------- -# - -# Assertion methods -assertInstanceOfLocalInterfaceImpl=\ - assertInstanceOfLocalInterfaceImpl(param0, _jdoBeanName); - -# -# ----------------------------------------------------------------------------- -# End of _JDOHelper templates for 2.x beans -# ----------------------------------------------------------------------------- -# - -# -# ----------------------------------------------------------------------------- -# CMP 2.x finder/selector method bodies -# ----------------------------------------------------------------------------- -# - -# check param match with local interface impl class -# {0} - concrete impl name -# {1} - param name -ejbFinderSelectorParamCheckLocalInterface = \ - {0}_JDOHelper.getHelperInstance().assertInstanceOfLocalInterfaceImpl({1});\n - -# check param match with remote interface impl class -# {0} - concrete impl name -# {1} - param name -ejbFinderSelectorParamCheckRemoteInterface = \ - {0}_JDOHelper.getHelperInstance().assertInstanceOfRemoteInterfaceImpl({1});\n - -# call Container.preSelect() for ejbSelect methods to flush ejbStore changes -# {0} - Concrete Impl class name. -preSelect=\ - com.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.preSelect(\n\ - \t{0}_JDOHelper.getHelperInstance().getContainer());\n - -# Specific return statement of a multi-object selector -# w/ conversion of result set elements -# {0} - concrete CMP bean class name -# {1} - conversion method name -# {2} - catch clause -ejbMultiSelectorBodyConversion = \ - \trs = {0}_JDOHelper.getHelperInstance().{1}(result, _jdoPersistenceManager);\n\ - {2}\n\ - return rs; - -# Specific return statement of a multi-object selector -# w/o conversion of result set elements -# {0} - catch clause -ejbMultiSelectorBody = \ - \trs = result;\n\ - {0}\n\ - return rs; - -# Specific return statement of a multi-object selector -# w/o conversion of result set elements returning Set -# {0} - catch clause -ejbMultiSelectorBodySet = \ - \trs = new java.util.HashSet(result); \n\ - {0}\n\ - return rs; - -# Code to the the cardinality of a the JDO result set in a single-object selector -# {0} - Selector method name -ejbSingleSelectorBody = \ - \tif (result.size() > 1) '{' \n\ - \t\tString msg = org.glassfish.persistence.common.I18NHelper.getMessage(_jdoMessages, \n\ - \t\t\t"GEN.toomanyinstances_selector_exception", "{0}", "" + result.size());\n\ - \t\tif (params != null) '{'\n\ - \t\t\tmsg = msg + " " + org.glassfish.persistence.common.I18NHelper.getMessage(_jdoMessages, "GEN.parameters") + \n\ - \t\java.util.Arrays.asList(params);\n\ - \t\t'}'\n\ - \t\tFinderException ex = new FinderException(msg);\n\ - \t\tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logFinderException(\n\ - \t\t\tcom.sun.jdo.spi.persistence.utility.logging.Logger.FINE, _jdoBeanName, ex);\n\ - \t\tthrow ex;\n\ - \t'}' \n\ - \tif (result.size() < 1) '{' \n\ - \t\tString msg = org.glassfish.persistence.common.I18NHelper.getMessage(\n\ - \t\t\t_jdoMessages, "GEN.noinstances_selector_exception", "{0}");\n\ - \t\tif (params != null) '{'\n\ - \t\t\tmsg = msg + " " + org.glassfish.persistence.common.I18NHelper.getMessage(_jdoMessages, "GEN.parameters") + \n\ - \t\java.util.Arrays.asList(params);\n\ - \t\t'}'\n\ - \t\tFinderException ex = new ObjectNotFoundException(msg);\n\ - \t\tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logFinderException(\n\ - \t\t\tcom.sun.jdo.spi.persistence.utility.logging.Logger.FINER, _jdoBeanName, ex);\n\ - \t\tthrow ex;\n\ - \t'}'\n - -# Specific return statement of a single-object selector w/ conversion -# {0} - name of the local or remote interface returned by the selector -# {1} - name of concrete CMP bean class -# {2} - conversion method name -# {3} - catch clause -ejbSingleSelectorReturnBodyConversion = \ - \trs = ({0}){1}_JDOHelper.getHelperInstance().{2}(result.iterator().next(), _jdoPersistenceManager);\n\ - {3}\n\ - return rs; - -# Specific return statement of a single-object selector w/o conversion -# {0} - return type -# {1} - method to get the primitive type value if necessary -# {2} - catch clause -ejbSingleSelectorReturnBody = \ - \trs = (({0})result.iterator().next()){1};\n\ - {2}\n\ - return rs; - -# Specific return statement of aggregate function selector w/o object -# conversion returning a primitive value -# {0} - Selector method name -# {1} - aggregate function return type -# {2} - method to get the primitive type value if necessary -# {3} - catch clause -ejbAggregateSelectorPrimitiveReturnBody = \ - \tif (result == null) '{' \n\ - \t\tString msg = org.glassfish.persistence.common.I18NHelper.getMessage(\n\ - \t\t\t_jdoMessages, "GEN.primitivetypenull_exception", "{0}");\n\ - \t\tif (params != null) '{'\n\ - \t\t\tmsg = msg + " " + org.glassfish.persistence.common.I18NHelper.getMessage(_jdoMessages, "GEN.parameters") + \n\ - \t\java.util.Arrays.asList(params);\n\ - \t\t'}'\n\ - \t\tObjectNotFoundException ex = new ObjectNotFoundException(msg);\n\ - \t\tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logFinderException(\n\ - \t\t\tcom.sun.jdo.spi.persistence.utility.logging.Logger.FINER, _jdoBeanName, ex);\n\ - \t\tthrow ex;\n\ - \t'}' \n\ - \trs = (({1})result){2};\n\ - {3}\n\ - return rs; - -# Specific return statement of aggregate function selector w/o object conversion -# returning a non-primitive value -# {0} - aggregate function return type -# {1} - catch clause -ejbAggregateSelectorReturnBody = \ - \trs = (({0})result);\n\ - {1}\n\ - return rs; - -# Specific return statement of aggregate function selector w/ object conversion -# {0} - return type of method -# {1} - aggregate function return type -# {2} - method to get the primitive type value -# {3} - catch clause -ejbAggregateSelectorReturnBodyConversion = \ - \trs = (result == null) ? null : new {0}((({1})result){2});\n\ - {3}\n\ - return rs; - -# Specific return statement of aggregate function selector w/ BigDecimal conversion -# {0} - aggregate function return type -# {1} - catch clause -ejbAggregateSelectorReturnBigDecimalConversion = \ - \trs = _jdoNumericConverter.toBigDecimal(({0})result);\n\ - {1}\n\ - return rs; - -# Specific return statement of aggregate function selector w/ BigInteger conversion -# {0} - aggregate function return type -# {1} - catch clause -ejbAggregateSelectorReturnBigIntegerConversion = \ - \trs = _jdoNumericConverter.toBigInteger(({0})result);\n\ - {1}\n\ - return rs; - -# -# ----------------------------------------------------------------------------- -# End of CMP 2.x finder/selector method bodies -# ----------------------------------------------------------------------------- -# - -# -# ----------------------------------------------------------------------------- -# End of CMP2.x specific properties -# ----------------------------------------------------------------------------- -# - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPProcessor.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPProcessor.java deleted file mode 100644 index 4a37652eaf1..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPProcessor.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import com.sun.enterprise.deployment.ResourceReferenceDescriptor; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.DeploymentHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.api.deployment.DeploymentContext; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.persistence.common.DatabaseConstants; -import org.glassfish.persistence.common.Java2DBProcessorHelper; - -/** - * If the application contains cmp 2.x beans process them. Check if - * tables have to created or dropped depending on where we are called - * in a deploy/undeploy case. - * @author pramodg - */ -public class CMPProcessor { - - private static Logger logger = LogHelperEJBCompiler.getLogger(); - - private Java2DBProcessorHelper helper = null; - - private DeploymentContext ctx; - - /** - * Creates a new instance of CMPProcessor - * @param ctx the deployment context object. - */ - public CMPProcessor(DeploymentContext ctx) { - this.ctx = ctx; - } - - /** - * Create and execute the files. - */ - public void process() { - - EjbBundleDescriptorImpl bundle = ctx.getModuleMetaData(EjbBundleDescriptorImpl.class); - ResourceReferenceDescriptor cmpResource = bundle.getCMPResourceReference(); - - // If this bundle's beans are not created by Java2DB, there is nothing to do. - if (!DeploymentHelper.isJavaToDatabase( - cmpResource.getSchemaGeneratorProperties())) { - return; - } - - helper = new Java2DBProcessorHelper(ctx); - helper.init(); - - String resourceName = cmpResource.getJndiName(); - helper.setProcessorType("CMP", bundle.getName()); // NOI18N - helper.setJndiName(resourceName, bundle.getName()); - - // If CLI options are not set, use value from the create-tables-at-deploy - // or drop-tables-at-undeploy elements of the sun-ejb-jar.xml - boolean userCreateTables = cmpResource.isCreateTablesAtDeploy(); - boolean createTables = helper.getCreateTables(userCreateTables); - - boolean userDropTables = cmpResource.isDropTablesAtUndeploy(); - - if (logger.isLoggable(logger.FINE)) { - logger.fine("ejb.CMPProcessor.createanddroptables", //NOI18N - new Object[] {createTables, userDropTables}); - } - - if (!createTables && !userDropTables) { - // Nothing to do. - return; - } - - helper.setCreateTablesValue(userCreateTables, bundle.getName()); - helper.setDropTablesValue(userDropTables, bundle.getName()); - - constructJdbcFileNames(bundle); - if (logger.isLoggable(logger.FINE)) { - logger.fine("ejb.CMPProcessor.createanddropfilenames", - helper.getCreateJdbcFileName(bundle.getName()), - helper.getDropJdbcFileName(bundle.getName())); - } - - if (createTables) { - helper.createOrDropTablesInDB(true, "CMP"); // NOI18N - } - } - - /** - * Drop files on undeploy - */ - public void clean() { - helper = new Java2DBProcessorHelper(ctx); - helper.init(); - - helper.createOrDropTablesInDB(false, "CMP"); // NOI18N - } - - /** - * Construct the name of the create and - * drop jdbc ddl files that would be - * created. These name would be either - * obtained from the persistence.xml file - * (if the user has defined them) or we would - * create default filenames - * @param ejbBundle the ejb bundle descriptor being worked on. - */ - private void constructJdbcFileNames(EjbBundleDescriptorImpl ejbBundle) { - String filePrefix = DeploymentHelper.getDDLNamePrefix(ejbBundle); - - helper.setCreateJdbcFileName(filePrefix + DatabaseConstants.CREATE_DDL_JDBC_FILE_SUFFIX, - ejbBundle.getName()); - helper.setDropJdbcFileName(filePrefix + DatabaseConstants.DROP_DDL_JDBC_FILE_SUFFIX, - ejbBundle.getName()); - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPROTemplateFormatter.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPROTemplateFormatter.java deleted file mode 100644 index 7fd71ab10cc..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPROTemplateFormatter.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * CMPROTemplateFormatter.java - * - * Created on March 03, 2004 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import java.io.*; - -import java.text.MessageFormat; -import java.util.HashMap; -import java.util.Properties; -import java.util.StringTokenizer; - -/* - * This is the helper class for JDO specific generation of - * a read-only concrete bean implementation. - * This class does not extend CMPTemplateFormatter but only references - * its variables when necessary. This allows to reuse CMPTemplateFormatter's - * properties but the corresponding templates and formatters must be accessed - * directly. - * - * @author Marina Vatkina - */ -public class CMPROTemplateFormatter { - - private final static String templateFile = - "com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPROTemplates.properties"; // NOI18N - - // Strings for CMP code generation: - public final static String updateNotAllowed_ = "updateNotAllowed"; // NOI18N - public final static String accessNotAllowed_ = "accessNotAllowed"; // NOI18N - public final static String loadNonDFG_ = "loadNonDFG"; // NOI18N - - public final static String jdoGetPersistenceManagerByPK_ = "jdoGetPersistenceManagerByPK"; // NOI18N - - // Code generator templates. - public static Properties helpers = null; - - // variables - public static MessageFormat privatetransientvformatter = null; // privateTransientVariables - - // methods - public static MessageFormat giformatter = null; // jdoGetInstance - public static MessageFormat jdolookuppmfformatter = null; // jdoLookupPersistenceManagerFactory - public static MessageFormat ejb__refreshformatter = null; // ejb__refresh - public static MessageFormat loadNonDFGformatter = null; // loadNonDFG - - // standard templates for the corresponding keys, so that a template "xxxTemplate" - // corresponds to a "xxx" key. - public static String privateStaticFinalVariablesTemplate = null; - public static String signatureTemplate = null; - public static String updateNotAllowedTemplate = null; - public static String accessNotAllowedTemplate = null; - public static String jdoCleanAllRefsTemplate = null; - - // standard method bodies for the corresponding keys, so that a method body with - // a name "xxxBody" corresponds to a "xxx" key. - public static String[] jdoGetPersistenceManagerBody = null; - public static String[] jdoGetPersistenceManager0Body = null; - public static String[] jdoReleasePersistenceManager0Body = null; - public static String[] jdoGetPersistenceManagerByPKBody = null; - public static String[] jdoClosePersistenceManagerBody = null; - - /** - * Constructs a new CMPROTemplateFormatter instance. - */ - CMPROTemplateFormatter() { - } - - /** - * Initializes templates for code generation. - */ - static synchronized void initHelpers() throws IOException { - if (helpers == null) { - helpers = new Properties(); - CMPTemplateFormatter.loadProperties(helpers, templateFile); - - initFormatters(); - initTemplates(); - } - } - - /** - * Initializes MessageFormats for code generation. - */ - private static void initFormatters() { - // variables - privatetransientvformatter = new MessageFormat(helpers.getProperty( - CMPTemplateFormatter.privateTransientVariables_)); - - // methods - giformatter = new MessageFormat(helpers.getProperty( - CMPTemplateFormatter.getInstance_)); - jdolookuppmfformatter = new MessageFormat(helpers.getProperty( - CMPTemplateFormatter.jdoLookupPersistenceManagerFactory_)); - ejb__refreshformatter = new MessageFormat(helpers.getProperty( - CMPTemplateFormatter.ejb__refresh_)); - loadNonDFGformatter = new MessageFormat(helpers.getProperty(loadNonDFG_)); - } - - /** - * Initializes standard templates for code generation. - */ - private static void initTemplates() { - privateStaticFinalVariablesTemplate = helpers.getProperty( - CMPTemplateFormatter.privateStaticFinalVariables_); - signatureTemplate = helpers.getProperty(CMPTemplateFormatter.signature_); - updateNotAllowedTemplate = helpers.getProperty(updateNotAllowed_); - accessNotAllowedTemplate = helpers.getProperty(accessNotAllowed_); - jdoCleanAllRefsTemplate = helpers.getProperty(CMPTemplateFormatter.jdoCleanAllRefs_); - - jdoGetPersistenceManagerBody = CMPTemplateFormatter.getBodyAsStrings( - helpers.getProperty(CMPTemplateFormatter.jdoGetPersistenceManager_)); - jdoGetPersistenceManager0Body = CMPTemplateFormatter.getBodyAsStrings( - helpers.getProperty(CMPTemplateFormatter.jdoGetPersistenceManager0_)); - jdoGetPersistenceManagerByPKBody = CMPTemplateFormatter.getBodyAsStrings( - helpers.getProperty(jdoGetPersistenceManagerByPK_)); - jdoClosePersistenceManagerBody = CMPTemplateFormatter.getBodyAsStrings( - helpers.getProperty(CMPTemplateFormatter.jdoClosePersistenceManager_)); - jdoReleasePersistenceManager0Body = CMPTemplateFormatter.getBodyAsStrings( - helpers.getProperty(CMPTemplateFormatter.jdoReleasePersistenceManager0_)); - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPROTemplates.properties b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPROTemplates.properties deleted file mode 100644 index bf45b6bc3ea..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPROTemplates.properties +++ /dev/null @@ -1,198 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# ----------------------------------------------------------------------------- -# Read-only beans specific properties -# ----------------------------------------------------------------------------- -# - -# -# Code Signature via CVS keyword substitution -# -signature = $RCSfile: CMPROTemplates.properties,v $ $Revision: 1.3 $ - -# -# Variables: -# -# PLEASE NOTE, all internal variables should start with _jdo -# to avoid name clashes with CMR variables. -# - -privateStaticFinalVariables=\ - java.util.Map _jdoPersistenceManagers new java.util.Hashtable()\n\ - -# {0} - PC Class -privateTransientVariables=\ - {0} _jdoInstance0 null\n\ - -# -# Methods -# - -# {0} - getter name. -loadNonDFG=\ - _jdoInstance0.{0}();\n - -# -# ----------------------------------------------------------------------------- -# Generic Methods -# ----------------------------------------------------------------------------- -# - -# {0} - PK Class. -# {1} - PC Class. -# {2} - block to load non-DFG fields -jdoGetInstance=\ - try '{'\n\ - \tif (_jdoInstance0 == null) '{'\n\ - \t\t{0} key = ({0}) _jdoEntityContext.getPrimaryKey();\n\ - \t\tObject jdoObjectId = jdoGetObjectId(key); \n\ - \t\tcom.sun.jdo.api.persistence.support.PersistenceManager _jdoPersistenceManager0 = jdoGetPersistenceManagerByPK(key);\n\ - \t\t_jdoInstance0 = ({1}) _jdoPersistenceManager0.getObjectById(jdoObjectId, false);\n\ - \t\t{2}\n\ - \t'}'\n\ - \t_jdoInstance = ({1})(_jdoInstance0).clone();\n\ - '}' catch (CloneNotSupportedException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.handleCloneException(\n\ - \t\t_jdoEntityContext.getPrimaryKey(), _jdoBeanName, ex);\n\ - '}' - -jdoGetPersistenceManager=\ - if(_jdoPersistenceManagerFactory == null) {\n\ - \tthrow new com.sun.jdo.api.persistence.support.JDOFatalInternalException(\n\ - \t\torg.glassfish.persistence.common.I18NHelper.getMessage(\n\ - \t\t\t_jdoMessages, "JDO.pmfnull_exception"));\n\ - }\n\ - jakarta.transaction.Transaction t = \n\ - \tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.suspendCurrentTransaction();\n\ - com.sun.jdo.api.persistence.support.PersistenceManager _jdopm = _jdoPersistenceManagerFactory.getPersistenceManager();\n\ - com.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.resumeCurrentTransaction(t);\n\ - return _jdopm; - -jdoGetPersistenceManager0=\ - return jdoGetPersistenceManagerByPK(key); - -jdoReleasePersistenceManager0=\ - -jdoGetPersistenceManagerByPK=\ - if(_jdoPersistenceManagerFactory == null) {\n\ - \tthrow new com.sun.jdo.api.persistence.support.JDOFatalInternalException(\n\ - \t\torg.glassfish.persistence.common.I18NHelper.getMessage(\n\ - \t\t\t_jdoMessages, "JDO.pmfnull_exception"));\n\ - }\n\ - com.sun.jdo.api.persistence.support.PersistenceManager _jdopm = (com.sun.jdo.api.persistence.support.PersistenceManager) _jdoPersistenceManagers.get(key);\n\ - if (_jdopm == null) {\n\ - \tjakarta.transaction.Transaction t = \n\ - \t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.suspendCurrentTransaction();\n\ - \t_jdopm = _jdoPersistenceManagerFactory.getPersistenceManager();\n\ - \tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.resumeCurrentTransaction(t);\n\ - \t_jdoPersistenceManagers.put(key, _jdopm);\n\ - } else if(_jdopm.isClosed()) {\n\ - \tthrow new com.sun.jdo.api.persistence.support.JDOFatalInternalException(\n\ - \t\torg.glassfish.persistence.common.I18NHelper.getMessage(\n\ - \t\t\t_jdoMessages, "JDO.pm_closed_exception"));\n\ - }\n\ - return _jdopm; - -jdoClosePersistenceManager=\ - if (_jdoPersistenceManager != null) {\n\ - \t_jdoPersistenceManager.close();\n\ - } - -# {0} - Concrete Impl class name. -jdoLookupPersistenceManagerFactory=\ - if (_jdoPersistenceManagerFactory == null) '{'\n\ - \t_jdoPersistenceManagerFactory = \n\ - \t\tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.getPersistenceManagerFactory(\n\ - \t\t\t{0}_JDOHelper.getHelperInstance().getContainer());\n\ - \t_jdoPersistenceManagerFactory.setRequireCopyObjectId(false);\n\ - \t_jdoPersistenceManagerFactory.setRequireTrackedSCO(false);\n\ - \t_jdoPersistenceManagerFactory.setNontransactionalRead(true);\n\ - \t_jdoNumericConverter = {0}_JDOHelper.getHelperInstance().getNumericConverter();\n\ - '}' - -# This template must have a new line at the end -# to be displayed properly in the generated code. -assertPersistenceManagerIsNull=\ - -# {0} - PK Class -# {1} - PC Class -# {2} - block to load non-DFG fields -ejb__refresh=\ - try '{'\n\ - \t{0} key = ({0}) _jdoEntityContext.getPrimaryKey();\n\ - \tObject jdoObjectId = jdoGetObjectId(key); \n\ - \tcom.sun.jdo.api.persistence.support.PersistenceManager _jdoPersistenceManager0 = jdoGetPersistenceManagerByPK(key);\n\ - \t_jdoInstance0 = ({1})_jdoPersistenceManager0.getObjectById(jdoObjectId, true);\n\ - \t{2}\n\ - '}' catch (com.sun.jdo.api.persistence.support.JDOException ex) '{'\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.generic_method_exception", _jdoBeanName, ex);\n\ - \tthrow (ex instanceof com.sun.jdo.api.persistence.support.JDOObjectNotFoundException) ? \n\ - \t\t(RuntimeException) new NoSuchEntityException(ex) : ex;\n\ - '}' - -# This is the body for setters, ejbPostClreate, ejbRemove, and ejbStore. -updateNotAllowed=\ - com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.handleUpdateNotAllowedException(_jdoBeanName); - -# This is the body for ejbCreate and CMR getters as they return a value -accessNotAllowed=\ - com.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.handleUpdateNotAllowedException(_jdoBeanName);\n\ - return null; - -jdoCleanAllRefs=\ - _jdoInstance0 = null;\n\ - _jdoInstance = null;\n\ - _jdoPersistenceManager = null; - -# -# ----------------------------------------------------------------------------- -# End of Generic Methods -# ----------------------------------------------------------------------------- -# - -# -# ----------------------------------------------------------------------------- -# End of Read-only beans specific properties -# ----------------------------------------------------------------------------- -# - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPTemplateFormatter.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPTemplateFormatter.java deleted file mode 100644 index a6a9dcff435..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPTemplateFormatter.java +++ /dev/null @@ -1,446 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * CMPTemplateFormatter.java - * - * Created on December 03, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import java.io.*; - -import java.text.MessageFormat; -import java.util.HashMap; -import java.util.Properties; -import java.util.StringTokenizer; - -import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriterHelper; - -/* - * This is the helper class for JDO specific generation of - * a concrete bean implementation. - * - * @author Marina Vatkina - */ -public class CMPTemplateFormatter extends JavaClassWriterHelper{ - - private final static String templateFile = - "com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPTemplates.properties"; // NOI18N - - // Strings for CMP code generation: - public final static String ejb_ = "ejb"; // NOI18N - public final static String ejbObject_ = "EJBObject"; // NOI18N - public final static String ejbHome_ = "EJBHome"; // NOI18N - public final static String ejbContext_ = "EJBContext"; // NOI18N - public final static String context_ = "context"; // NOI18N - public final static String key_ = "key"; // NOI18N - public final static String keys_ = "keys"; // NOI18N - public final static String oid_ = "jdoObjectId"; // NOI18N - public final static String oids_ = "oids"; // NOI18N - public final static String pc_ = "pc"; // NOI18N - public final static String cmpImplComments_ = "cmpImplComments"; // NOI18N - public final static String imports_ = "imports"; // NOI18N - public final static String interfaces_ = "interfaces"; // NOI18N - public final static String helperImports_ = "helperImports"; // NOI18N - public final static String staticTransientPackageVariables_ = "staticTransientPackageVariables"; // NOI18N - public final static String privateStaticVariables_ = "privateStaticVariables"; // NOI18N - public final static String privateTransientVariables_ = "privateTransientVariables"; // NOI18N - public final static String privateStaticFinalVariables_ = "privateStaticFinalVariables"; // NOI18N - public final static String publicStaticFinalVariables_ = "publicStaticFinalVariables"; // NOI18N - public final static String finderSelectorStaticVariables_ = "finderSelectorStaticVariables"; // NOI18N - public final static String finderSelectorStaticFinalVariables_ = "finderSelectorStaticFinalVariables"; // NOI18N - public final static String otherVariables_ = "otherVariables"; // NOI18N - public final static String setNull_ = "setNull"; // NOI18N - public final static String commonPrivateMethods_ = "commonPrivateMethods"; // NOI18N - public final static String commonPublicMethods_ = "commonPublicMethods"; // NOI18N - public final static String otherPublicMethods_ = "otherPublicMethods"; // NOI18N - public final static String jdoLookupPersistenceManagerFactory_ - = "jdoLookupPersistenceManagerFactory"; // NOI18N - public final static String helperMethods_ = "helperMethods"; // NOI18N - public final static String getInstance_ = "jdoGetInstance"; // NOI18N - public final static String findByPrimaryKey_ = "findByPrimaryKey"; // NOI18N - public final static String ejbFindByPrimaryKey_ = "ejbFindByPrimaryKey"; // NOI18N - public final static String ejbFinderSelectorBody_ = "ejbFinderSelectorBody"; // NOI18N - public final static String ejbQueryExecutionParamConvBody_ = "ejbQueryExecutionParamConvBody"; // NOI18N - public final static String ejbQueryExecutionParamConvBodyArgument_ = "ejbQueryExecutionParamConvBodyArgument"; // NOI18N - public final static String ejbQueryExecutionBody_ = "ejbQueryExecutionBody"; // NOI18N - public final static String ejbAggregateQueryExecutionBody_ = "ejbAggregateQueryExecutionBody"; // NOI18N - public final static String ejbAggregateQueryExecutionParamConvBody_ = "ejbAggregateQueryExecutionParamConvBody"; // NOI18N - public final static String ejbMultiFinderBody_ = "ejbMultiFinderBody"; // NOI18N - public final static String ejbMultiFinderBodyEnumeration_ = "ejbMultiFinderBodyEnumeration"; // NOI18N - public final static String ejbSingleFinderBody_ = "ejbSingleFinderBody"; // NOI18N - public final static String jdoGetJdoInstanceClass_ = "jdoGetJdoInstanceClass"; // NOI18N - public final static String find_ = "find"; // NOI18N - public final static String catchClause_ = "catchClause"; //NOI18N - public final static String ejbSelect_ = "ejbSelect"; // NOI18N - public final static String create_ = "create"; // NOI18N - public final static String remove_ = "remove"; // NOI18N - public final static String ejbCreate_ = "ejbCreate"; // NOI18N - public final static String ejbCreateUnknownPK_ = "ejbCreateUnknownPK"; // NOI18N - public final static String ejbPostCreate_ = "ejbPostCreate"; // NOI18N - public final static String ejbRemove_ = "ejbRemove"; // NOI18N - public final static String ejbLoad_ = "ejbLoad"; // NOI18N - public final static String CreateException_ = "jakarta.ejb.CreateException"; // NOI18N - public final static String DuplicateKeyException_ = "jakarta.ejb.DuplicateKeyException"; // NOI18N - public final static String RemoveException_ = "jakarta.ejb.RemoveException"; // NOI18N - public final static String ejbException_ = "EJBException"; // NOI18N - public final static String finderException_ = "jakarta.ejb.FinderException"; // NOI18N - public final static String assertInTransaction_ = "assertInTransaction"; // NOI18N - public final static String assertPersistenceManagerIsNull_ - = "assertPersistenceManagerIsNull"; // NOI18N - public final static String assertPersistenceManagerIsNullCall_ - = "assertPersistenceManagerIsNullCall"; // NOI18N - public final static String setEntityContext_ = "setEntityContext"; // NOI18N - public final static String EntityContext_ = "jakarta.ejb.EntityContext"; // NOI18N - public final static String castKey_ = "castKey"; // NOI18N - public final static String castOid_ = "castOid"; // NOI18N - public final static String getPK_ = "getPK"; // NOI18N - public final static String getPKClone_ = "getPKClone"; // NOI18N - public final static String newPK_ = "newPK"; // NOI18N - public final static String newOid_ = "newOid"; // NOI18N - public final static String getPK1_ = "getPK1"; // NOI18N - public final static String getPK1Clone_ = "getPK1Clone"; // NOI18N - public final static String getPK1primitive_ = "getPK1primitive"; // NOI18N - public final static String getOid_ = "getOid"; // NOI18N - public final static String getOidString_ = "getOidString"; // NOI18N - public final static String getOidClone_ = "getOidClone"; // NOI18N - public final static String getOid1_ = "getOid1"; // NOI18N - public final static String getOid1primitive_ = "getOid1primitive"; // NOI18N - public final static String getOid1String_ = "getOid1String"; // NOI18N - public final static String getOid1Clone_ = "getOid1Clone"; // NOI18N - public final static String getObjectId_ = "jdoGetObjectId"; // NOI18N - public final static String convertObjectIdToPrimaryKey_ - = "convertObjectIdToPrimaryKey"; // NOI18N - public final static String convertPrimaryKeyToObjectId_ - = "convertPrimaryKeyToObjectId"; // NOI18N - - public final static String convertPCToEJBObject_ = "convertPCToEJBObject"; // NOI18N - public final static String convertEJBObjectToPC_ = "convertEJBObjectToPC"; // NOI18N - public final static String convertEJBLocalObjectToPC_ - = "convertEJBLocalObjectToPC"; // NOI18N - - public final static String jdoPersistenceManager_ = "_jdoPersistenceManager"; // NOI18N - public final static String jdoPersistenceManagerClass_ - = "com.sun.jdo.api.persistence.support.PersistenceManager"; // NOI18N - public final static String jdoGetPersistenceManager_ = "jdoGetPersistenceManager"; // NOI18N - public final static String jdoGetPersistenceManager0_ = "jdoGetPersistenceManager0"; // NOI18N - public final static String jdoClosePersistenceManager_= "jdoClosePersistenceManager"; // NOI18N - public final static String jdoReleasePersistenceManager_ - = "jdoReleasePersistenceManager"; // NOI18N - public final static String jdoReleasePersistenceManager0_ - = "jdoReleasePersistenceManager0"; // NOI18N - - public final static String jdoArrayCopy_ = "jdoArrayCopy"; // NOI18N - public final static String jdoCleanAllRefs_ = "jdoCleanAllRefs"; // NOI18N - public final static String returnKey_ = "return key;"; // NOI18N - public final static String returnOid_ = "return jdoObjectId;"; // NOI18N - - // Inner helper Class strings. - public final static String helperComments_ = "helperComments"; // NOI18N - public final static String helperVariables_ = "helperVariables"; // NOI18N - public final static String getHelperInstance_ = "getHelperInstance"; // NOI18N - - public final static String getPCClass_ = "getPCClass"; // NOI18N - public final static String getContainer_ = "getContainer"; // NOI18N - public final static String assertInstanceOfRemoteInterfaceImpl_ - = "assertInstanceOfRemoteInterfaceImpl"; // NOI18N - public final static String assertPKNotNull_ = "assertPKNotNull"; // NOI18N - public final static String assertPKFieldNotNull_ = "assertPKFieldNotNull"; // NOI18N - public final static String assertOidNotNull_ = "assertOidNotNull"; // NOI18N - public final static String afterCompletion_ = "afterCompletion"; // NOI18N - public final static String ejb__flush_ = "ejb__flush"; // NOI18N - public final static String ejb__refresh_ = "ejb__refresh"; // NOI18N - public final static String ejb__remove_ = "ejb__remove"; // NOI18N - - // property key for the CVS keyword substitution - public final static String signature_ = "signature"; //NOI18N - - public final static String signatureDelimiter_ = " ## "; //NOI18N - - // Code generator templates. - public static Properties helpers = null; - - // JDOHelper comments have the concrete impl name. - public static MessageFormat hcomformatter = null; - - // variables - public static MessageFormat privatetransientvformatter = null; // private transient varibales - public static MessageFormat privatestaticfinalvformatter = null; // final static variables - public static MessageFormat publicstaticfinalvformatter = null; // static final variables - public static MessageFormat finderselectorstaticvformatter = null; // finder / selector static variables - public static MessageFormat finderselectorstaticfinalvformatter = null; // finder / selector static final variables - public static MessageFormat hvformatter = null; // helper class variables - - // methods - public static MessageFormat giformatter = null; // jdoGetInstance - public static MessageFormat goidformatter = null; // jdoGetObjectId - public static MessageFormat intxformatter = null; // assertInTransaction - public static MessageFormat jdolookuppmfformatter = null; // jdoLookupPersistenceManagerFactory - public static MessageFormat jdoarraycopyformatter = null; // jdoCopyArray - - // finder/selector methods - public static MessageFormat finderselectorformatter = null; //common body for selector and finder - public static MessageFormat queryexecformatter = null; //body for queryexec without paramconversion - public static MessageFormat aggqueryexecformatter = null; //body for aggqueryexec without paramconversion - public static MessageFormat queryexecparamconvformatter = null; //body for queryexec with paramconversion - public static MessageFormat queryexecparamconvargumentformatter = null; //body for the argument of the queryexec with paramconversion - public static MessageFormat aggqueryexecparamconvformatter = null; //body for aggqueryexec with paramconversion - public static MessageFormat multifinderformatter = null; // finder body for multi-value-objects - public static MessageFormat multifinderenumerationformatter = null; // finder body for multi-value-objects with conversion to Enumeration (CMP11)) - public static MessageFormat singlefinderformatter = null; // finder body for single-value-objects - - // PK and Oid handling - public static MessageFormat pkcformatter = null; // cast PK statement - public static MessageFormat oidcformatter = null; // cast Oid statement - public static MessageFormat npkformatter = null; // new PK statement - public static MessageFormat noidformatter = null; // new Oid statement - public static MessageFormat pkformatter = null; - public static MessageFormat oidformatter = null; - public static MessageFormat oidstringformatter = null; // PK -> Oid for String PK field - public static MessageFormat pkcloneformatter = null; // Oid -> PK for mutable PK field - public static MessageFormat oidcloneformatter = null; // PK -> Oid for mutable PK field - public static MessageFormat pk1formatter = null; - public static MessageFormat oid1formatter = null; - public static MessageFormat pk1pformatter = null; - public static MessageFormat oid1pformatter = null; - public static MessageFormat oid1stringformatter = null; // PK -> Oid for String PK class - public static MessageFormat pk1cloneformatter = null; // Oid -> PK for mutable PK class - public static MessageFormat oid1cloneformatter = null; // PK -> Oid for mutable PK class - public static MessageFormat assertpkfieldformatter = null; // for assertPKFieldNotNull_ - - // Other JDOHelper methods. - public static MessageFormat pcclassgetterformatter = null; - - // standard templates for the corresponding keys, so that a template "xxxTemplate" - // corresponds to a "xxx" key. - public static String cmpImplCommentsTemplate = null; - public static String privateStaticVariablesTemplate = null; - public static String otherVariablesTemplate = null; - public static String jdoGetJdoInstanceClassTemplate = null; - public static String assertPersistenceManagerIsNullTemplate = null; - public static String assertInstanceOfRemoteInterfaceImplTemplate = null; - public static String getHelperInstanceTemplate = null; - public static String catchClauseTemplate = null; - public static String signatureTemplate = null; - public static String assertPKNotNullTemplate = null; - public static String assertOidNotNullTemplate = null; - - // standard templates that had been converted to String[] to be used - // in a 'for' loop. - public static String[] importsArray = null; - public static String[] interfacesArray = null; - public static String[] helperImportsArray = null; - public static String[] commonPublicMethodsArray = null; - public static String[] otherPublicMethodsArray = null; - public static String[] commonPrivateMethodsArray = null; - - - // standard method bodies for the corresponding keys, so that a method body with - // a name "xxxBody" corresponds to a "xxx" key. - public static String[] ejbFindByPrimaryKeyBody = null; - public static String[] afterCompletionBody = null; - public static String[] jdoGetPersistenceManagerBody = null; - public static String[] jdoGetPersistenceManager0Body = null; - public static String[] assertPersistenceManagerIsNullBody = null; - public static String[] jdoClosePersistenceManagerBody = null; - public static String[] jdoReleasePersistenceManagerBody = null; - public static String[] jdoReleasePersistenceManager0Body = null; - public static String[] setEntityContextBody = null; - public static String[] getContainerBody = null; - - /** - * Constructs a new CMPTemplateFormatter instance. - */ - CMPTemplateFormatter() { - } - - /** - * Initializes templates for code generation. - */ - static synchronized void initHelpers() throws IOException { - if (helpers == null) { - helpers = new Properties(); - loadProperties(helpers, templateFile); - initFormatters(); - initTemplates(); - } - } - - /** - * Loads Properties object from the specified template file. - */ - static synchronized void loadProperties(Properties helpers, - final String templateFile) throws IOException { - - BufferedInputStream bin = null; - try { - final ClassLoader loader = CMPTemplateFormatter.class.getClassLoader(); - InputStream in = (InputStream)java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public Object run() { - if (loader != null) { - return loader.getResourceAsStream(templateFile); - } else { - return ClassLoader.getSystemResourceAsStream(templateFile); - } - } - } - ); - - bin = new BufferedInputStream(in); - helpers.load(bin); - } finally { - try { - bin.close(); - } catch (Exception e) { - // no action - } - } - } - - /** - * Initializes MessageFormats for code generation. - */ - private static void initFormatters() { - // JDOHelper comments have the concrete impl name. - hcomformatter = new MessageFormat(helpers.getProperty(helperComments_)); - - // variables - privatetransientvformatter = new MessageFormat(helpers.getProperty(privateTransientVariables_)); - privatestaticfinalvformatter = new MessageFormat(helpers.getProperty(privateStaticFinalVariables_)); - publicstaticfinalvformatter = new MessageFormat(helpers.getProperty(publicStaticFinalVariables_)); - finderselectorstaticvformatter = new MessageFormat(helpers.getProperty(finderSelectorStaticVariables_)); - finderselectorstaticfinalvformatter = new MessageFormat(helpers.getProperty(finderSelectorStaticFinalVariables_)); - hvformatter = new MessageFormat(helpers.getProperty(helperVariables_)); - - // methods - giformatter = new MessageFormat(helpers.getProperty(getInstance_)); - goidformatter = new MessageFormat(helpers.getProperty(getObjectId_)); - intxformatter = new MessageFormat(helpers.getProperty(assertInTransaction_)); - jdolookuppmfformatter = new MessageFormat(helpers.getProperty(jdoLookupPersistenceManagerFactory_)); - jdoarraycopyformatter = new MessageFormat(helpers.getProperty(jdoArrayCopy_)); - - // finder/selector methods - finderselectorformatter = new MessageFormat(helpers.getProperty(ejbFinderSelectorBody_)); - queryexecparamconvformatter = new MessageFormat(helpers.getProperty(ejbQueryExecutionParamConvBody_)); - queryexecparamconvargumentformatter = new MessageFormat(helpers.getProperty(ejbQueryExecutionParamConvBodyArgument_)); - queryexecformatter = new MessageFormat(helpers.getProperty(ejbQueryExecutionBody_)); - aggqueryexecformatter = new MessageFormat(helpers.getProperty(ejbAggregateQueryExecutionBody_)); - aggqueryexecparamconvformatter = new MessageFormat(helpers.getProperty(ejbAggregateQueryExecutionParamConvBody_)); - multifinderformatter = new MessageFormat(helpers.getProperty(ejbMultiFinderBody_)); - multifinderenumerationformatter = new MessageFormat(helpers.getProperty(ejbMultiFinderBodyEnumeration_)); - singlefinderformatter = new MessageFormat(helpers.getProperty(ejbSingleFinderBody_)); - - // PK and Oid handling - pkcformatter = new MessageFormat(helpers.getProperty(castKey_)); - oidcformatter = new MessageFormat(helpers.getProperty(castOid_)); - npkformatter = new MessageFormat(helpers.getProperty(newPK_)); - noidformatter = new MessageFormat(helpers.getProperty(newOid_)); - pk1formatter = new MessageFormat(helpers.getProperty(getPK1_)); - pk1cloneformatter = new MessageFormat(helpers.getProperty(getPK1Clone_)); - oid1formatter = new MessageFormat(helpers.getProperty(getOid1_)); - pk1pformatter = new MessageFormat(helpers.getProperty(getPK1primitive_)); - oid1pformatter = new MessageFormat(helpers.getProperty(getOid1primitive_)); - oid1stringformatter = new MessageFormat(helpers.getProperty(getOid1String_)); - oid1cloneformatter = new MessageFormat(helpers.getProperty(getOid1Clone_)); - pkformatter = new MessageFormat(helpers.getProperty(getPK_)); - pkcloneformatter = new MessageFormat(helpers.getProperty(getPKClone_)); - oidformatter = new MessageFormat(helpers.getProperty(getOid_)); - oidstringformatter = new MessageFormat(helpers.getProperty(getOidString_)); - oidcloneformatter = new MessageFormat(helpers.getProperty(getOidClone_)); - - assertpkfieldformatter = new MessageFormat(helpers.getProperty(assertPKFieldNotNull_)); - - // Other JDOHelper methods. - pcclassgetterformatter = new MessageFormat(helpers.getProperty(getPCClass_)); - - } - - /** - * Initializes standard templates for code generation. - */ - private static void initTemplates() { - cmpImplCommentsTemplate = helpers.getProperty(cmpImplComments_); - privateStaticVariablesTemplate = helpers.getProperty(privateStaticVariables_); - otherVariablesTemplate = helpers.getProperty(otherVariables_); - jdoGetJdoInstanceClassTemplate = helpers.getProperty(jdoGetJdoInstanceClass_); - assertPersistenceManagerIsNullTemplate = helpers.getProperty( - assertPersistenceManagerIsNullCall_); - assertInstanceOfRemoteInterfaceImplTemplate = helpers.getProperty( - assertInstanceOfRemoteInterfaceImpl_); - getHelperInstanceTemplate = helpers.getProperty(getHelperInstance_); - catchClauseTemplate = helpers.getProperty(catchClause_); - signatureTemplate = helpers.getProperty(signature_); - assertPKNotNullTemplate = helpers.getProperty(assertPKNotNull_); - assertOidNotNullTemplate = helpers.getProperty(assertOidNotNull_); - - importsArray = tokenize(imports_); - interfacesArray = tokenize(interfaces_); - helperImportsArray = tokenize(helperImports_); - commonPublicMethodsArray = tokenize(commonPublicMethods_); - otherPublicMethodsArray = tokenize(otherPublicMethods_); - commonPrivateMethodsArray = tokenize(commonPrivateMethods_); - - ejbFindByPrimaryKeyBody = getBodyAsStrings(helpers.getProperty(ejbFindByPrimaryKey_)); - afterCompletionBody = getBodyAsStrings(helpers.getProperty(afterCompletion_)); - jdoGetPersistenceManagerBody = getBodyAsStrings(helpers.getProperty(jdoGetPersistenceManager_)); - jdoGetPersistenceManager0Body = getBodyAsStrings(helpers.getProperty(jdoGetPersistenceManager0_)); - jdoClosePersistenceManagerBody = getBodyAsStrings(helpers.getProperty(jdoClosePersistenceManager_)); - jdoReleasePersistenceManagerBody = getBodyAsStrings(helpers.getProperty(jdoReleasePersistenceManager_)); - jdoReleasePersistenceManager0Body = getBodyAsStrings(helpers.getProperty(jdoReleasePersistenceManager0_)); - setEntityContextBody = getBodyAsStrings(helpers.getProperty(setEntityContext_)); - getContainerBody = getBodyAsStrings(helpers.getProperty(getContainer_)); - assertPersistenceManagerIsNullBody = getBodyAsStrings(helpers.getProperty(assertPersistenceManagerIsNull_)); - } - - static String[] tokenize(String template) { - StringTokenizer st = new StringTokenizer(helpers.getProperty(template), delim_); - String[] rc = new String[st.countTokens()]; - - int i = 0; - while (st.hasMoreElements()) { - rc[i++] = st.nextToken(); - } - - return rc; - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPTemplates.properties b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPTemplates.properties deleted file mode 100644 index 85f4efe9be2..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/CMPTemplates.properties +++ /dev/null @@ -1,615 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# ----------------------------------------------------------------------------- -# CMP generic properties -# ----------------------------------------------------------------------------- -# - -# -# Code Signature via CVS keyword substitution -# -signature = $RCSfile: CMPTemplates.properties,v $ $Revision: 1.3 $ - -# Concrete impl Class comments. -cmpImplComments=This is the generated concrete CMP bean class to be used with Transparent Persistence runtime. - -# packages for bean import statements. -# Important: NO non-jdk, and/or non-j2ee standard classes should be imported -# to avoid name overlap with a user-defined classes. -imports=\ - java.util.Collection;\ - java.util.ResourceBundle;\ - jakarta.ejb.*; - -# interfaces to be implemented by the bean. -interfaces=\ - jakarta.transaction.Synchronization;\ - com.sun.ejb.spi.container.BeanStateSynchronization - -# -# Variables: -# -# PLEASE NOTE, all internal variables should start with _jdo -# to avoid name clashes with CMR variables. -# - -privateStaticVariables=\ - com.sun.jdo.api.persistence.support.PersistenceManagerFactory _jdoPersistenceManagerFactory null\n\ - com.sun.jdo.spi.persistence.support.sqlstore.utility.NumericConverter _jdoNumericConverter null - -# {0} - PC Class -privateTransientVariables=\ - {0} _jdoInstance null\n\ - com.sun.jdo.api.persistence.support.PersistenceManager _jdoPersistenceManager null\n\ - -# {0} - PC Class -# {1} - EJB Name -privateStaticFinalVariables=\ - boolean _logUsage Boolean.getBoolean("com.sun.jdo.persistence.support.ejb.ejbc.logLastInstanceUsage")\n\ - Class _jdoInstanceClass {0}.class\n\ - ResourceBundle _jdoMessages org.glassfish.persistence.common.I18NHelper.loadBundle(\ - com.sun.jdo.spi.persistence.support.ejb.ejbc.LogHelperEJBCompiler.class)\n\ - String _jdoBeanName \"{1}\" - -# {0} - Signatures of the generator classes -# {1} - Signatures of the inputfiles for the codegen -publicStaticFinalVariables=\ - String _jdoGeneratorClassesSignature \"{0}\"\n\ - String _jdoInputFilesSignature \"{1}\" - -# Per finder/selector: private static -# {0} - queryVariableIdentifier -finderSelectorStaticVariables=\ - com.sun.jdo.api.persistence.support.Query _jdoQuery_{0} null - -# Per finder/selector: private static final -# monitor object is final for faster access and preventing overwritten accidentally -# {0} - queryVariableIdentifier -finderSelectorStaticFinalVariables=\ - Object _jdoMonitor_{0} new Object() - -otherVariables=\ - StringBuilder __state new StringBuilder()\n\ - EntityContext _jdoEntityContext null\n - -# {0} - variable name -setNull=\ - {0} = null;\n - - -# -# ----------------------------------------------------------------------------- -# Generic Methods -# ----------------------------------------------------------------------------- -# - -# ejbFindByPrimaryKey -ejbFindByPrimaryKey=\ - assertPersistenceManagerIsNull();\n\ - com.sun.jdo.api.persistence.support.PersistenceManager _jdoPersistenceManager = null;\n\ - Object jdoObjectId = jdoGetObjectId(key); \n\ - try {\n\ - \t_jdoPersistenceManager = jdoGetPersistenceManager0(key);\n\ - \tif(_logUsage) __state.append("\\n" + Thread.currentThread() + " IN ejbFindByPrimaryKey - jdoGetPersistenceManager: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \tObject _jdoInstance = _jdoPersistenceManager.getObjectById(jdoObjectId, true);\n\ - \tif (com.sun.jdo.api.persistence.support.JDOHelper.isDeleted(_jdoInstance)) {\n\ - \t\tthrow new com.sun.jdo.api.persistence.support.JDOObjectNotFoundException(\n\ - \t\t\torg.glassfish.persistence.common.I18NHelper.getMessage(\n\ - \t\t\t_jdoMessages, "JDO.instancedeleted_exception", key.toString()));\n\ - \t}\n\ - } catch (com.sun.jdo.api.persistence.support.JDOObjectNotFoundException ex) {\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.handleJDOObjectNotFoundException(\n\ - \t\tkey, _jdoBeanName, ex);\n\ - } catch (com.sun.jdo.api.persistence.support.JDOException ex) {\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logFinderException(\n\ - \t\tcom.sun.jdo.spi.persistence.utility.logging.Logger.WARNING, _jdoBeanName, ex);\n\ - \tthrow ex;\n\ - } finally {\n\ - \tjdoReleasePersistenceManager0(_jdoPersistenceManager);\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN jdoPersistenceManager.close: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - }\n\ - return key; - -# setEntityContext -setEntityContext=\ - super.setEntityContext(param0);\n\ - try {\n\ - \t_jdoEntityContext = param0;\n\ - \tjdoLookupPersistenceManagerFactory(param0);\n\ - } catch (com.sun.jdo.api.persistence.support.JDOException ex) {\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithLifecycleLogger(\n\ - \t\t"GEN.generic_method_exception", _jdoBeanName, ex);\n\ - \tthrow ex;\n\ - } - -unsetEntityContext=\ - super.unsetEntityContext();\n\ - _jdoEntityContext = null;\n\ - -ejbPassivate=\ - super.ejbPassivate();\n\ - jdoCleanAllRefs(); - -# {0} - PK Class. -# {1} - PC Class. -jdoGetInstance=\ - if(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN jdoGetInstance: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - {0} key = ({0}) _jdoEntityContext.getPrimaryKey();\n\ - Object jdoObjectId = jdoGetObjectId(key); \n\ - _jdoInstance = ({1}) _jdoPersistenceManager.getObjectById(jdoObjectId, true);\n\ - if(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN jdoGetInstance: " + this + ":: " + _jdoInstance);\n\ - if (com.sun.jdo.api.persistence.support.JDOHelper.isDeleted(_jdoInstance)) '{'\n\ - \tthrow new com.sun.jdo.api.persistence.support.JDOObjectNotFoundException(\n\ - \t\torg.glassfish.persistence.common.I18NHelper.getMessage(_jdoMessages, \n\ - \t\t"JDO.instancedeleted_exception", key.toString()));\n\ - '}'\n\ - -# {0} - Concrete Impl class name. -jdoGetObjectId=\ - return {0}_JDOHelper.getHelperInstance().convertPrimaryKeyToObjectId(key); - -jdoGetPersistenceManager=\ - if(_jdoPersistenceManagerFactory == null) {\n\ - \tthrow new com.sun.jdo.api.persistence.support.JDOFatalInternalException(\n\ - \t\torg.glassfish.persistence.common.I18NHelper.getMessage(\n\ - \t\t\t_jdoMessages, "JDO.pmfnull_exception"));\n\ - }\n\ - return _jdoPersistenceManagerFactory.getPersistenceManager();\n\ - -jdoClosePersistenceManager=\ - if (_jdoPersistenceManager != null) {\n\ - \t_jdoPersistenceManager.close();\n\ - \tjdoCleanAllRefs(); // This nullifies all references.\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN jdoClosePersistenceManager: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - } - -jdoReleasePersistenceManager0=\ - jdoReleasePersistenceManager(param0); - -jdoReleasePersistenceManager=\ - if (param0 != null) {\n\ - \tparam0.close();\n\ - } - -jdoGetPersistenceManager0=\ - return jdoGetPersistenceManager(); - -# {0} - Concrete Impl class name. -jdoLookupPersistenceManagerFactory=\ - if (_jdoPersistenceManagerFactory == null) '{'\n\ - \t_jdoPersistenceManagerFactory = com.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.getPersistenceManagerFactory(\n\ - \t\t{0}_JDOHelper.getHelperInstance().getContainer());\n\ - \t_jdoPersistenceManagerFactory.setRequireCopyObjectId(false);\n\ - \t_jdoPersistenceManagerFactory.setRequireTrackedSCO(false);\n\ - \t_jdoNumericConverter = {0}_JDOHelper.getHelperInstance().getNumericConverter();\n\ - '}' - -# {0} - Exception message. -assertInTransaction=\ - if (_jdoPersistenceManager != null && \n\ - \t!_jdoPersistenceManager.currentTransaction().isActive()) '{'\n\ - \t\tthrow new EJBException(\"{0}\");\n\ - '}' - -# This template must have a new line at the end -# to be displayed properly in the generated code. -assertPersistenceManagerIsNull=\ - try { \n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.assertPersistenceManagerIsNull(_jdoPersistenceManager, this, __state);\n\ - } finally {\n\ - \tif(_logUsage)__state = new StringBuilder();\n\ - } - -assertPersistenceManagerIsNullCall=\ - assertPersistenceManagerIsNull(); - -# void no-args methods. -commonPublicMethods=\ - unsetEntityContext;\ - ejbPassivate;\ - ejbRemove;\ - beforeCompletion;\ - ejb__flush; - -commonPrivateMethods=\ - -# Other methods that differ for CMP2.0 and CMP1.1. -otherPublicMethods=\ - ejbLoad;\ - ejbStore;\ - jdoCleanAllRefs - -# Method returning an array. -#{0} array type. -jdoArrayCopy=\ - if (param0 == null) \n\ - \treturn null;\n\ - {0}[] tmp = new {0}[param0.length];\n\ - System.arraycopy(param0, 0, tmp, 0, param0.length);\n\ - return tmp; - -# Getter method to access the jdoInstanceClass property -jdoGetJdoInstanceClass = \ - return _jdoInstanceClass; - -# Methods for post-transaction cleanup -beforeCompletion=\ - if(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN beforeCompletion: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction()); - -afterCompletion=\ - if(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN afterCompletion start: " + this + ":: " + _jdoPersistenceManager);\n\ - jdoCleanAllRefs();\n\ - if(_logUsage) {\n\ - \tif (param0 == 4) \n\ - \t\t__state.append("\\n" + Thread.currentThread() + " IN afterCompletion rollback: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \telse \n\ - \t\t__state.append("\\n" + Thread.currentThread() + " IN afterCompletion commit: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - } - -# Bean synchronization methods -ejb__flush=\ - com.sun.jdo.api.persistence.support.PersistenceManager _jdoPersistenceManager = null;\n\ - try {\n\ - \t_jdoPersistenceManager = jdoGetPersistenceManager();\n\ - \tcom.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.flush(_jdoPersistenceManager);\n\ - } finally {\n\ - \tjdoReleasePersistenceManager(_jdoPersistenceManager);\n\ - } - -ejb__refresh=\ - -ejb__remove=\ - -# -# ----------------------------------------------------------------------------- -# _JDOHelper templates -# ----------------------------------------------------------------------------- -# - -# Helper Class comments. -# {0} concrete impl name. -helperComments=This is the generated helper class for {0} to be used with Transparent Persistence runtime. - -# packages for helper class import statements. -# Important: NO non-jdk, and/or non-j2ee standard classes should be imported -# to avoid name overlap with a user-defined classes. -helperImports=\ - jakarta.ejb.*; - -# -# Static variables. -# - -# {0} - Concrete Impl name. -# {1} - EJB Name. -# {2} - Application Name. -helperVariables=\ - {0}_JDOHelper instance new {0}_JDOHelper()\n\ - String _jdoBeanName \"{1}\"\n\ - Object container com.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper.getContainer(new Object[]'{'\"{2}\", \"{1}\"'}') - -# -# Methods. -# - -# Static method. All other methods are instance methods. -getHelperInstance=\ - return instance; - -# -# Templates for PK/Oid conversions: -# - -# {0} - PK Class. -castKey=\ - {0} key = ({0})param0;\n - -# {0} - PK Class. -newPK=\ - {0} key = new {0}();\n - -# {0} - PC Class. -castOid=\ - {0}.Oid jdoObjectId = ({0}.Oid)param0;\n - -# {0} - PC Class. -newOid=\ - {0}.Oid jdoObjectId = new {0}.Oid();\n - -# Generated convertPrimaryKeyToObjectId() for a PK class -# that is a single field of Object type -# {0} - PK field. -getOid1=\ - jdoObjectId.{0} = key;\n - -# Generated convertPrimaryKeyToObjectId() for a String PK class -# that is a single field of Object type -# {0} - PK field. -getOid1String=\ - jdoObjectId.{0} = key.trim();\n - -# Generated convertPrimaryKeyToObjectId() for a mutable PK class -# that is a single field of Object type -# {0} - PK field. -# {1} - PK type. -getOid1Clone=\ - jdoObjectId.{0} = ({1})key.clone();\n - -# Generated convertPrimaryKeyToObjectId() for a PK class that -# is a single field of primitive type -# {0} - PK field. -# {1} - PK field type. -getOid1primitive=\ - jdoObjectId.{0} = key.{1}Value();\n - -# Generated convertPrimaryKeyToObjectId() for a PK class that has several fields. -# {0} - PK field. -getOid=\ - jdoObjectId.{0} = key.{0};\n - -# Generated convertPrimaryKeyToObjectId() for a String PK field -# for PK class that has several fields. -# {0} - PK field. -getOidString=\ - jdoObjectId.{0} = key.{0}.trim();\n - -# Generated convertPrimaryKeyToObjectId() for a mutable PK field -# for PK class that has several fields. -# {0} - PK field. -# {1} - PK type. -getOidClone=\ - jdoObjectId.{0} = ({1})key.{0}.clone();\n - -# convertObjectIdToPrimaryKey() for a single PK field of Object type. -# {0} - PK field. -getPK1=\ - return jdoObjectId.{0};\n - -# convertObjectIdToPrimaryKey() for a single PK field of primitive type. -# {0} - PK field. -# {1} - Wrapper for PK field type. -getPK1primitive=\ - return new {1}(jdoObjectId.{0});\n - -# convertObjectIdToPrimaryKey() for a single PK field of mutable type. -# {0} - PK field. -getPK1Clone=\ - return jdoObjectId.{0}.clone();\n - -# convertObjectIdToPrimaryKey() for a PK class with several fields. -# {0} - PK field. -getPK=\ - key.{0} = jdoObjectId.{0};\n - -# convertObjectIdToPrimaryKey() for a mutable PK field -# for PK class that has several fields. -# {0} - PK field. -# {1} - PK type. -getPKClone=\ - key.{0} = ({1})jdoObjectId.{0}.clone();\n - -# Assert that Primary Key is not null. -assertPKNotNull=\ - assertPrimaryKeyNotNull(param0);\n\ - -# Assert that ObjectId is not null. -assertOidNotNull=\ - assertObjectIdNotNull(param0);\n\ - -# Assert that PK field is not null. -# {0} - PK field. -assertPKFieldNotNull=\ - assertPrimaryKeyFieldNotNull(key.{0}, "{0}", _jdoBeanName);\n - -# -# Other helper methods. -# - -# Assertion methods -assertInstanceOfLocalInterfaceImpl=\ - assertInstanceOfLocalInterfaceImpl(param0, _jdoBeanName); - -assertInstanceOfRemoteInterfaceImpl=\ - assertInstanceOfRemoteInterfaceImpl(param0, _jdoBeanName); - -# Method returns Class -# {0} concrete impl name. -getPCClass=\ - return {0}.jdoGetJdoInstanceClass(); - -# Method returns Object -getContainer=\ - return container; - -# -# ----------------------------------------------------------------------------- -# End of _JDOHelper templates -# ----------------------------------------------------------------------------- -# - -# -# ----------------------------------------------------------------------------- -# Generic finder method bodies -# ----------------------------------------------------------------------------- -# - -# common body of finder/selector methods -# {0} - Type of the result -# {1} - query variable identifier -# {2} - concrete CMP bean class name -# {3} - query filter -# {4} - query parameters -# {5} - query variables -# {6} - query result -# {7} - query ordering -# {8} - query prefetchEnabled (boolean) -# {9} - special JDOQL query setting for 1.1 finders -ejbFinderSelectorBody = \ - {0} rs;\n\ - com.sun.jdo.api.persistence.support.Query q = null;\n\ - Object[] params = null;\n\ - com.sun.jdo.api.persistence.support.PersistenceManager _jdoPersistenceManager = null;\n\ - try '{'\n\ - \t_jdoPersistenceManager = jdoGetPersistenceManager();\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN {1} - jdoGetPersistenceManager: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - \tsynchronized(_jdoMonitor_{1}) '{' \n\ - \t\tif (_jdoQuery_{1} != null) '{' \n\ - \t\t\tq = _jdoPersistenceManager.newQuery(_jdoQuery_{1});\n\ - \t\t'}' else '{'\n\ - \t\t\tq = _jdoPersistenceManager.newQuery();\n\ - \t\t\tq.setClass({2}.jdoGetJdoInstanceClass());\n\ - \t\t\tq.setFilter("{3}");\n\ - \t\t\tq.declareParameters("{4}");\n\ - \t\t\tq.declareVariables("{5}");\n\ - \t\t\tq.setResult("{6}");\n\ - \t\t\tq.setOrdering("{7}");\n\ - \t\t\tq.setPrefetchEnabled({8});\n\ - {9}\ - \t\t\tq.compile();\n\ - \t\t\t_jdoQuery_{1} = q; \n\ - \t\t'}' \n\ - \t'}' \n\ - -# Execution of JDO query w/o arguments. -ejbQueryExecutionBody = \ - \tjava.util.Collection result = (java.util.Collection)q.execute(); \n - -# Execution of JDO Query w/ arguments. -# It first initializes the actual parameter array and then calls Query.execute. -# {0} - the actual parameters of the JDO Query -ejbQueryExecutionParamConvBody = \ - \tparams = new Object[]'{'{0}'}';\n\ - \tjava.util.Collection result = (java.util.Collection)q.executeWithArray(params); \n - -# Execution of JDO aggregate query w/o arguments. -ejbAggregateQueryExecutionBody = \ - \tObject result = q.execute(); \n - -# Execution of JDO aggregate Query w/ arguments. -# It first initializes the actual parameter array and then calls Query.execute. -# {0} - the actual parameters of the JDO Query -ejbAggregateQueryExecutionParamConvBody = \ - \tparams = new Object[]'{'{0}'}';\n\ - \tObject result = q.executeWithArray(params); \n - -# Code to convert an actual parameter passed to Query.execute. -# This is used to convert a local or remote interface instance to a pc instance. -# {0} - concrete impl name -# {1} - number of the actual parameter to be converted -# {2} - conversion method name -ejbQueryExecutionParamConvBodyArgument = \ - ((param{1}==null) ? null : {0}_JDOHelper.getHelperInstance().{2}(param{1}, _jdoPersistenceManager, false)) - -# Specific return statement for a multi-object finder -# {0} - name of concrete CMP bean class -# {1} - catch clause -ejbMultiFinderBody = \ - \trs = {0}_JDOHelper.getHelperInstance().convertCollectionPCToPrimaryKey(result, _jdoPersistenceManager);\n\ - {1}\n\ - return rs; - -# Specific return statement for a CMP1.1 multi-object finder returning Enumeration -# {0} - concrete CMP bean class name -# {1} - catch clause -ejbMultiFinderBodyEnumeration = \ - \trs = java.util.Collections.enumeration({0}_JDOHelper.getHelperInstance().convertCollectionPCToPrimaryKey(result, _jdoPersistenceManager));\n\ - {1}\n\ - return rs; - -# Specific return statement of a single-object finder -# {0} - finder method name -# {1} - PK Class -# {2} - concrete CMP bean class name -# {3} - catch clause -ejbSingleFinderBody = \ - \tif (result.size() > 1) '{' \n\ - \t\tString msg = org.glassfish.persistence.common.I18NHelper.getMessage(_jdoMessages, \n\ - \t\t\t"GEN.toomanyinstances_finder_exception", "{0}", "" + result.size());\n\ - \t\tif (params != null) '{'\n\ - \t\t\tmsg = msg + " " + org.glassfish.persistence.common.I18NHelper.getMessage(_jdoMessages, "GEN.parameters") + \n\ - \t\java.util.Arrays.asList(params);\n\ - \t\t'}'\n\ - \t\tFinderException ex = new FinderException(msg);\n\ - \t\tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logFinderException(\n\ - \t\t\tcom.sun.jdo.spi.persistence.utility.logging.Logger.FINE, _jdoBeanName, ex);\n\ - \t\tthrow ex;\n\ - \t'}' \n\ - \tif (result.size() < 1) '{' \n\ - \t\tString msg = org.glassfish.persistence.common.I18NHelper.getMessage(\n\ - \t\t\t_jdoMessages, "GEN.noinstances_finder_exception", "{0}");\n\ - \t\tif (params != null) '{'\n\ - \t\t\tmsg = msg + " " + org.glassfish.persistence.common.I18NHelper.getMessage(_jdoMessages, "GEN.parameters") + \n\ - \t\java.util.Arrays.asList(params);\n\ - \t\t'}'\n\ - \t\tObjectNotFoundException ex = new ObjectNotFoundException(msg);\n\ - \t\tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logFinderException(\n\ - \t\t\tcom.sun.jdo.spi.persistence.utility.logging.Logger.FINER, _jdoBeanName, ex);\n\ - \t\tthrow ex;\n\ - \t'}'\n\ - \trs = ({1}){2}_JDOHelper.getHelperInstance().convertPCToPrimaryKey(result.iterator().next(), _jdoPersistenceManager);\n\ - {3}\n\ - return rs; - -# Catch clause of the try-catch block wrapping the complete generated code -catchClause = \ - }\n\ - catch (com.sun.jdo.api.persistence.support.JDOException ex) {\n\ - \tcom.sun.jdo.spi.persistence.support.ejb.cmp.CMPBeanHelper.logJDOExceptionWithFinderLogger(_jdoBeanName, params, ex);\n\ - \tthrow ex;\n\ - }\n\ - finally {\n\ - \tjdoReleasePersistenceManager(_jdoPersistenceManager);\n\ - \tif(_logUsage)__state.append("\\n" + Thread.currentThread() + " IN jdoPersistenceManager.close: " + this + ":: " + com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getTransaction());\n\ - } - -# -# ----------------------------------------------------------------------------- -# End of generic finder method bodies -# ----------------------------------------------------------------------------- -# - -# -# ----------------------------------------------------------------------------- -# End of CMP generic properties -# ----------------------------------------------------------------------------- -# - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/DeploymentEventListenerImpl.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/DeploymentEventListenerImpl.java deleted file mode 100644 index f99cbcf3009..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/DeploymentEventListenerImpl.java +++ /dev/null @@ -1,255 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * DeploymentEventListenerImpl.java - * - * Created on April 8, 2003. - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -//import java.io.BufferedReader; -//import java.io.File; -//import java.io.FileReader; -//import java.io.IOException; -// -//import java.sql.Connection; -//import java.sql.Statement; -//import java.sql.SQLException; -// -//import java.util.Iterator; -//import java.util.ResourceBundle; -//import java.util.Properties; -//import java.util.Collection; -// -//import com.sun.enterprise.util.io.FileUtils; -// -//import com.sun.enterprise.deployment.Application; -//import com.sun.enterprise.deployment.EjbBundleDescriptor; -//import com.sun.enterprise.deployment.IASEjbCMPEntityDescriptor; -//import com.sun.enterprise.deployment.PersistenceUnitsDescriptor; -//import com.sun.enterprise.deployment.PersistenceUnitDescriptor; -//import com.sun.enterprise.deployment.ResourceReferenceDescriptor; -// -//import com.sun.enterprise.deployment.backend.DeploymentEvent; -//import com.sun.enterprise.deployment.backend.DeploymentEventInfo; -//import com.sun.enterprise.deployment.backend.DeploymentEventListener; -//import com.sun.enterprise.deployment.backend.DeploymentEventManager; -//import com.sun.enterprise.deployment.backend.DeploymentRequest; -//import com.sun.enterprise.deployment.backend.DeploymentStatus; -//import com.sun.enterprise.deployment.backend.IASDeploymentException; -// -//import com.sun.enterprise.server.Constants; -// -//import com.sun.jdo.api.persistence.support.JDOFatalUserException; -// -//import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperSQLStore; -// -//import com.sun.jdo.spi.persistence.utility.logging.Logger; -//import com.sun.jdo.spi.persistence.utility.database.DatabaseConstants; -////import com.sun.jdo.spi.persistence.support.sqlstore.ejb.*; -// -///** Implementation of the DeploymentEventListener interface for -//* creating and dropping database schema definitions at the appropriate -//* deployment/undeployment events. -//* -//*/ -public class DeploymentEventListenerImpl { -// implements DeploymentEventListener, DatabaseConstants { -// -// /** I18N message handler */ -// private final static ResourceBundle messages = I18NHelper.loadBundle( -// "com.sun.jdo.spi.persistence.support.ejb.ejbc.Bundle", // NOI18N -// DeploymentEventListenerImpl.class.getClassLoader()); -// -// /** The logger */ -// private static Logger logger = LogHelperSQLStore.getLogger(); -// -// /** Garantees singleton. -// * Registers itself during initial load -// */ -// static { -// DeploymentEventManager.addListener (new DeploymentEventListenerImpl()); -// } -// -// /** Default constructor should not be public */ -// DeploymentEventListenerImpl() { } -// -// /** -// * This method is called when a DeploymentEventManager -// * needs to deliver a code>DeploymentEvent event. -// * @param event the DeploymentEvent to be delivered. -// */ -// public void notifyDeploymentEvent(DeploymentEvent event) { -// int type = event.getEventType(); -// switch (type) { -// case DeploymentEvent.POST_DEPLOY: -// processEvent(event.getEventInfo(), true); -// break; -// case DeploymentEvent.PRE_UNDEPLOY: -// case DeploymentEvent.PRE_DEPLOY: -// processEvent(event.getEventInfo(), false); -// break; -// default: -// break; -// } -// } -// -// /** Event handling. -// * @param source the event source. -// * @param create true if we need to create tables as part of this event. -// */ -// private void processEvent(DeploymentEventInfo info, boolean create) { -// // Get the CLI overrides. -// String cliCreateTables = null; -// String cliDropTables = null; -// -// DeploymentRequest request = info.getDeploymentRequest(); -// -// // Do nothing for drop tables on the deploy -// if (isDeploy(request) && !create) { -// return; -// } -// -// Properties cliOverrides = request.getOptionalArguments(); -// -// String cliDropAndCreateTables = cliOverrides.getProperty( -// Constants.CMP_DROP_AND_CREATE_TABLES, Constants.UNDEFINED); -// -// if (create) { -// cliCreateTables = cliOverrides.getProperty( -// Constants.CMP_CREATE_TABLES, Constants.UNDEFINED); -// -// if (cliCreateTables.equals(Constants.UNDEFINED)) { -// // It might have been specified as CMP_DROP_AND_CREATE_TABLES. -// cliCreateTables = cliDropAndCreateTables; -// } -// } else { -// cliDropTables = cliOverrides.getProperty( -// Constants.CMP_DROP_TABLES, Constants.UNDEFINED); -// } -// -// Application application = info.getApplicationDescriptor(); -// if ( application == null) { -// return; -// } -// -// processApplication(request, info, create, cliCreateTables, -// cliDropAndCreateTables, cliDropTables); -// } //processEvent -// -// /** -// * This is the method that does the actual processing of the deployment event. -// * For each application process the cmp 2.x beans if any followed by processing -// * the ejb 3.0 beans. -// * @param request the deployment request object -// * @param info the event source -// * @param create true if we need to create tables as part of this event. -// * @param cliCreateTables the cli option for creating tables -// * @param cliDropAndCreateTables the cli option for dropping old tables and creating new tables -// * @param cliDropTables the cli option to drop tables at undeploy time -// */ -// private void processApplication(DeploymentRequest request, -// DeploymentEventInfo info, boolean create, -// String cliCreateTables, String cliDropAndCreateTables, -// String cliDropTables) { -// -// if (logger.isLoggable(logger.FINE)) { -// logger.fine("ejb.DeploymentEventListenerImpl.processingevent", //NOI18N -// (isRedeploy(request)? "redeploy" : ((create)? "deploy" : "undeploy")), //NOI18N -// info.getApplicationDescriptor().getRegistrationName()); -// } -// -// // Get status value for our use and initialize it. -// DeploymentStatus status = request.getCurrentDeploymentStatus(); -// status.setStageStatus(DeploymentStatus.SUCCESS); -// status.setStageStatusMessage(""); -// -// BaseProcessor processor = -// new CMPProcessor(info, create, cliCreateTables, -// cliDropAndCreateTables, cliDropTables); -// processor.processApplication(); -// -// processor = -// new PersistenceProcessor(info, create, cliCreateTables, -// cliDropAndCreateTables, cliDropTables); -// processor.processApplication(); -// } -// -// /** -// * This method returns a boolean value that determines if we are -// * trying to do a redeployment of an existing application but doesn't -// * throw an exception. -// * @param request the deployment request object -// * @return true if we are trying to redeploy an existing application -// */ -// private boolean isRedeploy(DeploymentRequest request) { -// boolean redeploy = false; -// try { -// if (request != null) { -// redeploy = request.isReDeploy(); -// } -// } catch (IASDeploymentException e) { -// // Ignore? This is a strange exception. -// } -// return redeploy; -// } -// -// /** -// * This method returns a boolean value that determines if we are -// * trying to do a deployment of an existing application but doesn't -// * throw an exception. -// * @param request the deployment request object -// * @return true if we are trying to redeploy an existing application -// */ -// private boolean isDeploy(DeploymentRequest request) { -// boolean deploy = false; -// try { -// if (request != null) { -// deploy = request.isDeploy(); -// } -// } catch (IASDeploymentException e) { -// // Ignore? This is a strange exception. -// } -// return deploy; -// } -// -} //DeploymentEventListenerImpl diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/EJBBundleInfoHelper.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/EJBBundleInfoHelper.java deleted file mode 100644 index e8f7ff97385..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/EJBBundleInfoHelper.java +++ /dev/null @@ -1,267 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * EJBBundleInfoHelper.java - * - * Created on October 15, 2004, 1:51 PM - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; - -import com.sun.jdo.api.persistence.mapping.ejb.AbstractNameMapper; -import com.sun.jdo.api.persistence.mapping.ejb.ConversionHelper; -import com.sun.jdo.api.persistence.mapping.ejb.EJBInfoHelper; -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.spi.persistence.support.ejb.model.DeploymentDescriptorModel; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.DeploymentHelper; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.EjbDescriptor; -import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor; -import org.glassfish.ejb.deployment.descriptor.RelationshipDescriptor; -import org.netbeans.modules.dbschema.SchemaElement; - -/** This is a class which implements the EJBInfoHelper interface - * based on EjbBundleDescriptor and other DOL classes. - * - * @author Rochelle Raccah - */ -public class EJBBundleInfoHelper implements EJBInfoHelper { - private static final char UNDERLINE = '_'; // NOI18N - private static final char DOT = '.'; // NOI18N - - private final EjbBundleDescriptorImpl bundleDescriptor; - private Collection availableSchemaNames; - private NameMapper nameMapper; // standard one - private Model model; - - /** Creates a new instance of EJBBundleInfoHelper - * @param bundleDescriptor the EjbBundleDescriptor which defines the - * universe of names for this application. - * @param availableSchemaNames a Collection of available schemas - * in the application - used only during development - */ - public EJBBundleInfoHelper(EjbBundleDescriptorImpl bundleDescriptor, - Collection availableSchemaNames) { - this(bundleDescriptor, null, null, availableSchemaNames); - } - - /** Creates a new instance of EJBBundleInfoHelper - * @param bundleDescriptor the EjbBundleDescriptor which defines the - * universe of names for this application. - * @param nameMapper the NameMapper object to be used - allows - * a client to supply its own mapper to the helper rather than - * have the helper construct a new instance - * @param model the Model object to be used - allows - * a client to supply its own mapper to the helper rather than - * have the helper construct a new instance - * @param availableSchemaNames a Collection of available schemas - * in the application - used only during development - */ - EJBBundleInfoHelper(EjbBundleDescriptorImpl bundleDescriptor, - NameMapper nameMapper, Model model, - Collection availableSchemaNames) { - this.bundleDescriptor = bundleDescriptor; - this.nameMapper = nameMapper; - this.model = model; - this.availableSchemaNames = availableSchemaNames; - } - - /** Gets the EjbBundleDescriptor which defines the universe of - * names for this application. - * @return the EjbBundleDescriptor which defines the universe of - * names for this application. - */ - private EjbBundleDescriptorImpl getBundleDescriptor() { - return bundleDescriptor; - } - - /** - * @see EJBInfoHelper#getEjbJarDisplayName - */ - public String getEjbJarDisplayName() { - return bundleDescriptor.getName(); - } - - /** Gets a collection of names of schemas defined in this - * ejb jar. This implementation simply returns the list passed in - * the constructor or null if there was none supplied. - * @return a collection schema names - */ - public Collection getAvailableSchemaNames () { - return availableSchemaNames; - } - - /** Gets the name to use for schema generation. This implementation - * uses a combo of app name, module name, etc. - * @return the name to use for schema generation - */ - public String getSchemaNameToGenerate() { - // make sure there is no '.' in schema name - return DeploymentHelper.getDDLNamePrefix( - getBundleDescriptor()).replace(DOT, UNDERLINE); - } - - /** Gets the schema with the specified name, loading it if necessary. - * This implementation uses the class loader as the extra context - * information used to load. - * @param schemaName the name of the schema to be loaded - * @return the schema object - */ - public SchemaElement getSchema(String schemaName) { - return SchemaElement.forName(schemaName, getClassLoader()); - } - - /** - * @see EJBInfoHelper#getEjbNames - */ - public Collection getEjbNames() { - Iterator iterator = getBundleDescriptor().getEjbs().iterator(); - ArrayList returnList = new ArrayList(); - - while (iterator.hasNext()) { - EjbDescriptor ejb = (EjbDescriptor)iterator.next(); - - if (ejb instanceof EjbCMPEntityDescriptor) - returnList.add(ejb.getName()); - } - - return returnList; - } - - /** - * @see EJBInfoHelper#getFieldsForEjb - */ - public Collection getFieldsForEjb(String ejbName) { - Iterator iterator = getModel().getFields(ejbName).iterator(); - ArrayList returnList = new ArrayList(); - - while (iterator.hasNext()) - returnList.add(iterator.next()); - - return returnList; - } - - /** - * @see EJBInfoHelper#getRelationshipsForEjb - */ - public Collection getRelationshipsForEjb(String ejbName) { - Iterator iterator = getBundleDescriptor().getRelationships().iterator(); - ArrayList returnList = new ArrayList(); - - // TODO: issue of usage of this - several iterations of this if - // iterating all the bean - but, I think it can change, so can't - // cache it in a map (same comment applies to getEjbNames and - // getFieldsForEjb) - while (iterator.hasNext()) { - RelationshipDescriptor relD = - (RelationshipDescriptor)iterator.next(); - RelationRoleDescriptor testRole = relD.getSource(); - String cmrField = null; - - if (ejbName.equals(testRole.getOwner().getName())) { - cmrField = testRole.getCMRField(); - if (cmrField != null) - returnList.add(cmrField); - } - - testRole = relD.getSink(); - if (ejbName.equals(testRole.getOwner().getName())) { - cmrField = testRole.getCMRField(); - if (cmrField != null) - returnList.add(cmrField); - } - } - - return returnList; - } - - /** Gets the class loader which corresponds to this ejb bundle. - * @return the class loader which corresponds to this ejb bundle - */ - public ClassLoader getClassLoader() { - return bundleDescriptor.getClassLoader(); - } - - /** - * @see EJBInfoHelper#getNameMapper - */ - public AbstractNameMapper getNameMapper() { - return getNameMapperInternal(); - } - - /** - * @see EJBInfoHelper#createUniqueNameMapper - */ - public AbstractNameMapper createUniqueNameMapper() { - return new NameMapper(bundleDescriptor); - } - - private NameMapper getNameMapperInternal() { - if (nameMapper == null) - nameMapper = new NameMapper(bundleDescriptor, false); - - return nameMapper; - } - - /** - * @see EJBInfoHelper#createConversionHelper - */ - public ConversionHelper createConversionHelper() { - return new EjbConversionHelper(getNameMapperInternal()); - } - - /** - * @see EJBInfoHelper#getModel - */ - public Model getModel() { - if (model == null) { - model = new DeploymentDescriptorModel(getNameMapperInternal(), - getClassLoader()); - } - - return model; - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/EjbConversionHelper.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/EjbConversionHelper.java deleted file mode 100644 index f488987bb41..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/EjbConversionHelper.java +++ /dev/null @@ -1,416 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * EjbConversionHelper.java - * - * Created on March 19, 2002 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import com.sun.jdo.api.persistence.mapping.ejb.ConversionHelper; -import com.sun.jdo.spi.persistence.support.ejb.model.util.NameMapper; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor; -import org.glassfish.ejb.deployment.descriptor.PersistentFieldInfo; -import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor; -import org.glassfish.ejb.deployment.descriptor.RelationshipDescriptor; - -/* - * This class implements ConversionHelper interface by using data from - * IASEjbBundleDescriptor. - * - * @author Shing Wai Chan - */ -public class EjbConversionHelper implements ConversionHelper { - - private NameMapper nameMapper = null; - private EjbBundleDescriptorImpl bundle = null; - private HashMap ejbDescMap = new HashMap(); - private HashMap ejbFieldMap = new HashMap(); - private HashMap ejbKeyMap = new HashMap(); - private HashMap ejbPerDescMap = new HashMap(); - private HashMap ejbRelMap = new HashMap(); - boolean generateFields = true; - boolean ensureValidation = true; - - public EjbConversionHelper(NameMapper nameMapper) { - this.nameMapper = nameMapper; - this.bundle = nameMapper.getBundleDescriptor(); - - Iterator iter = bundle.getEjbs().iterator(); - while (iter.hasNext()) { - Object desc = iter.next(); - if (desc instanceof IASEjbCMPEntityDescriptor) { - IASEjbCMPEntityDescriptor ejbDesc = - (IASEjbCMPEntityDescriptor)desc; - - String ejbName = ejbDesc.getName(); - //collect all ejbdesc - ejbDescMap.put(ejbName, ejbDesc); - - //collect PersistenceDescriptor - PersistenceDescriptor pers = ejbDesc.getPersistenceDescriptor(); - ejbPerDescMap.put(ejbName, pers); - - //collect pers fields - Collection pFields = ejbDesc.getPersistentFields(); - HashMap fieldMap = new HashMap(); - Iterator fIter = pFields.iterator(); - while (fIter.hasNext()) { - String fieldName = ((PersistentFieldInfo)fIter.next()).name; - fieldMap.put(fieldName, fieldName); - } - ejbFieldMap.put(ejbName, fieldMap); - - //collect pseudo cmr fields - List pseudoFields = nameMapper.getGeneratedRelationshipsForEjbName(ejbName); - Iterator pIter = pseudoFields.iterator(); - while (pIter.hasNext()) { - addField(ejbName, (String)pIter.next()); - } - - //collect all keys - Collection pKeys = ejbDesc.getPrimaryKeyFields(); - HashMap pKeyMap = new HashMap(); - Iterator kIter = pKeys.iterator(); - while (kIter.hasNext()) { - String fieldName = ((PersistentFieldInfo)kIter.next()).name; - pKeyMap.put(fieldName, fieldName); - } - ejbKeyMap.put(ejbName, pKeyMap); - } - } - - //collect relationship - Set rels = bundle.getRelationships(); - Iterator relIter = rels.iterator(); - while (relIter.hasNext()) { - RelationshipDescriptor rel = (RelationshipDescriptor)relIter.next(); - RelationRoleDescriptor source = rel.getSource(); - RelationRoleDescriptor sink = rel.getSink(); - - //collect source RelationshipDescriptor - String sourceEjbName = source.getOwner().getName(); - ArrayList sourceRels = (ArrayList)ejbRelMap.get(sourceEjbName); - if (sourceRels == null) { - sourceRels = new ArrayList(); - ejbRelMap.put(sourceEjbName, sourceRels); - } - sourceRels.add(rel); - - //collect source cmr field - String sourceCMRField = source.getCMRField(); - if (sourceCMRField != null) { - addField(sourceEjbName, sourceCMRField); - } - - //collect sink RelationshipDescriptor - String sinkEjbName = sink.getOwner().getName(); - ArrayList sinkRels = (ArrayList)ejbRelMap.get(sinkEjbName); - if (sinkRels == null) { - sinkRels = new ArrayList(); - ejbRelMap.put(sinkEjbName, sinkRels); - } - sinkRels.add(rel); - - //collect sink cmr field - String sinkCMRField = sink.getCMRField(); - if (sinkCMRField != null) { - addField(sinkEjbName, sinkCMRField); - } - } - } - - //---- implements interface ConversionHelper ---- - - public String getMappedClassName(String ejbName) { - return nameMapper.getPersistenceClassForEjbName(ejbName); - } - - /** - * If {@link #generateFields} is true, then this method will - * check if the field is one of the cmp + cmr + pseudo cmr fields, otherwise - * the method will check if the field is one of the cmp + cmr fields. - * @param ejbName The ejb-name element for the bean - * @param fieldName The name of a container managed field in the named bean - * @return true if the bean contains the field, otherwise - * return false - */ - public boolean hasField(String ejbName, String fieldName) { - if (!generateFields && isGeneratedRelationship(ejbName, fieldName)) - return false; - else { - HashMap fieldMap = (HashMap)ejbFieldMap.get(ejbName); - return (fieldMap != null) ? - (fieldMap.get(fieldName) != null) : false; - } - } - - /** - * If {@link #generateFields} is true, then this method will - * return an array of cmp + cmr + pseudo cmr fields, otherwise - * the method will return an array of cmp + cmr fields. - * @param ejbName The ejb-name element for the bean - * @return an array of fields in the ejb bean - */ - public Object[] getFields(String ejbName) { - HashMap fieldMap = (HashMap)ejbFieldMap.get(ejbName); - if (fieldMap != null) { - List fields = new ArrayList(fieldMap.keySet()); - if (!generateFields) { - fields.removeAll(getGeneratedRelationships(ejbName)); - } - return fields.toArray(); - } - return null; - } - - /** - * The boolean argument candidate is ignored in this case. - */ - public boolean isKey(String ejbName, String fieldName, boolean candidate) { - HashMap keyMap = (HashMap)ejbKeyMap.get(ejbName); - return (keyMap != null) ? (keyMap.get(fieldName) != null) : false; - } - - /** - * This API will only be called from MappingFile when multiplicity is Many - * on the other role. - */ - public String getRelationshipFieldType(String ejbName, String fieldName) { - if (isGeneratedRelationship(ejbName, fieldName)) { - return java.util.Collection.class.getName(); - } else { - PersistenceDescriptor pers = - (PersistenceDescriptor)ejbPerDescMap.get(ejbName); - return pers.getCMRFieldReturnType(fieldName); - } - } - - /** - * getMultiplicity of the other role on the relationship - * Please note that multiplicity is JDO style - */ - public String getMultiplicity(String ejbName, String fieldName) { - RelationRoleDescriptor oppRole = getRelationRoleDescriptor(ejbName, - fieldName, false); - return (oppRole.getIsMany()) ? MANY : ONE; - } - - public String getRelationshipFieldContent(String ejbName, String fieldName) { - RelationRoleDescriptor oppRole = getRelationRoleDescriptor(ejbName, - fieldName, false); - return oppRole.getOwner().getName(); - } - - /** - * This method return the fieldName of relation role on the other end. - */ - public String getInverseFieldName(String ejbName, String fieldName) { - RelationRoleDescriptor oppRole = getRelationRoleDescriptor(ejbName, - fieldName, false); - String inverseName = oppRole.getCMRField(); - - // if we are generating relationships, check for a generated inverse - if ((generateFields) && (inverseName == null)) - inverseName = nameMapper.getGeneratedFieldForEjbField( - ejbName, fieldName)[1]; - - return inverseName; - } - - /** - * Returns flag whether the mapping conversion should apply the default - * strategy for dealing with unknown primary key classes. This method will - * only be called when {@link #generateFields} returns true. - * @param ejbName The value of the ejb-name element for a bean. - * @return true to apply the default unknown PK Class Strategy, - * false otherwise - */ - public boolean applyDefaultUnknownPKClassStrategy(String ejbName) { - IASEjbCMPEntityDescriptor ejbDesc = - (IASEjbCMPEntityDescriptor)ejbDescMap.get(ejbName); - String keyClassName = ejbDesc.getPrimaryKeyClassName(); - return keyClassName != null && - keyClassName.equals(Object.class.getName()); - } - - /** - * Returns the name used for generated primary key fields. - * @return a string for key field name - */ - public String getGeneratedPKFieldName() { - return nameMapper.GENERATED_KEY_FIELD_NAME; - } - - /** - * Returns the prefix used for generated version fields. - * @return a string for version field name prefix - */ - public String getGeneratedVersionFieldNamePrefix() { - return nameMapper.GENERATED_VERSION_FIELD_PREFIX; - } - - public boolean relatedObjectsAreDeleted(String beanName, String fieldName) { - RelationRoleDescriptor oppRole = getRelationRoleDescriptor(beanName, fieldName, false); - return oppRole.getCascadeDelete(); - } - - /** - * Returns the flag whether the mapping conversion should generate - * relationship fields and primary key fields to support run-time. - * The version field is always created even {@link #generateFields} is - * false because it holds version column information. - * @return true to generate fields in the dot-mapping file - * (if they are not present). - */ - public boolean generateFields() { - return generateFields; - } - - /** - * Sets the flag whether the mapping conversion should generate relationship - * fields, primary key fields, and version fields to support run-time. - * @param generateFields a flag which indicates whether fields should be - * generated - */ - public void setGenerateFields(boolean generateFields) { - this.generateFields = generateFields; - } - - /** Returns the flag whether the mapping conversion should validate - * all fields against schema columns. - * @return true to validate all the fields in the dot-mapping - * file. - */ - public boolean ensureValidation() { - return ensureValidation; - } - - /** - * Sets the flag whether the mapping conversion should validate all fields - * against schema columns. - * @param isValidating a boolean of indicating validating fields or not - */ - public void setEnsureValidation(boolean isValidating) { - ensureValidation = isValidating; - } - - /** - * Returns true if the field is generated. There are three - * types of generated fields: generated relationships, unknown primary key - * fields, and version consistency fields. - * @param ejbName The ejb-name element for the bean - * @param fieldName The name of a container managed field in the named bean - * @return true if the field is generated; false - * otherwise. - */ - - public boolean isGeneratedField(String ejbName, String fieldName) { - return nameMapper.isGeneratedField(ejbName, fieldName); - } - - public boolean isGeneratedRelationship(String ejbName, String fieldName) { - return nameMapper.isGeneratedEjbRelationship(ejbName, fieldName); - } - - /** - * Returns a list of generated relationship field names. - * @param ejbName The ejb-name element for the bean - * @return a list of generated relationship field names - */ - public List getGeneratedRelationships(String ejbName) { - return nameMapper.getGeneratedRelationshipsForEjbName(ejbName); - - } - - //------------------------------------- - private RelationRoleDescriptor getRelationRoleDescriptor(String ejbName, - String cmrFieldName, boolean self) { - String myEjbName = ejbName; - String myCMRFieldName = cmrFieldName; - boolean myself = self; - if (isGeneratedRelationship(ejbName, cmrFieldName)) { - String[] nfPair = nameMapper.getEjbFieldForGeneratedField( - ejbName, cmrFieldName); - myEjbName = nfPair[0]; - myCMRFieldName = nfPair[1]; - myself = !self; - } - return getRealRelationRoleDescriptor(myEjbName, myCMRFieldName, myself); - } - - private RelationRoleDescriptor getRealRelationRoleDescriptor( - String ejbName, String cmrFieldName, boolean self) { - ArrayList rels = (ArrayList)ejbRelMap.get(ejbName); - for (int i = 0; i < rels.size(); i++) { - RelationshipDescriptor rel = (RelationshipDescriptor)rels.get(i); - RelationRoleDescriptor source = rel.getSource(); - RelationRoleDescriptor sink = rel.getSink(); - if (ejbName.equals(source.getOwner().getName()) && - cmrFieldName.equals(source.getCMRField())) { - return (self) ? source : sink; - } else if (ejbName.equals(sink.getOwner().getName()) && - cmrFieldName.equals(sink.getCMRField())) { - return (self) ? sink : source; - } - } - throw new IllegalArgumentException(); - } - - private void addField(String ejbName, String fieldName) { - HashMap fieldMap = (HashMap)ejbFieldMap.get(ejbName); - if (fieldMap == null) { - fieldMap = new HashMap(); - ejbFieldMap.put(ejbName, fieldMap); - } - fieldMap.put(fieldName, fieldName); - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOCodeGenerator.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOCodeGenerator.java deleted file mode 100644 index 639f688807a..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOCodeGenerator.java +++ /dev/null @@ -1,719 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright 2019-2026 Payara Foundation and/or its affiliates - -/* - * JDOCodeGenerator.java - * - * Created on November 14, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import com.sun.enterprise.deployment.Application; -import com.sun.enterprise.deployment.io.DescriptorConstants; -import com.sun.jdo.api.persistence.enhancer.generator.Main; -import com.sun.jdo.api.persistence.mapping.ejb.ConversionException; -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.mapping.MappingClassElement; -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.spi.persistence.generator.database.DDLGenerator; -import com.sun.jdo.spi.persistence.generator.database.DatabaseOutputStream; -import com.sun.jdo.spi.persistence.support.ejb.codegen.CMPGenerator; -import com.sun.jdo.spi.persistence.support.ejb.codegen.GeneratorException; -import com.sun.jdo.spi.persistence.support.ejb.ejbqlc.EJBQLException; -import com.sun.jdo.spi.persistence.support.ejb.enhancer.meta.EJBMetaDataModelImpl; -import com.sun.jdo.spi.persistence.support.ejb.model.DeploymentDescriptorModel; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.DeploymentHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc.JDOQLParameterDeclarationParser; -import com.sun.jdo.spi.persistence.utility.MergedBundle; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.api.deployment.DeploymentContext; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.QueryParser; -import org.glassfish.persistence.common.DatabaseConstants; -import org.glassfish.persistence.common.I18NHelper; -import org.netbeans.modules.dbschema.DBException; -import org.netbeans.modules.dbschema.SchemaElement; -import org.netbeans.modules.schema2beans.Schema2BeansException; - -import java.io.*; -import java.sql.Connection; -import java.sql.SQLException; -import java.util.*; - -//import com.sun.enterprise.deployment.backend.Deployer; - -/* - * This is the JDO specific generator for the concrete CMP beans and any - * other dependent files. - * - * @author Marina Vatkina - */ -public class JDOCodeGenerator implements CMPGenerator, DatabaseConstants { - - /** - * Signature with CVS keyword substitution for identifying the generated code - */ - public static final String SIGNATURE = "$RCSfile: JDOCodeGenerator.java,v $ $Revision: 1.7 $"; //NOI18N - - private static final String MAPPING_EXTENSION = ".mapping"; // NOI18N - - /** The logger */ - private static final Logger logger = LogHelperEJBCompiler.getLogger(); - - /** The resource bundle used for validation */ - private static final ResourceBundle validationBundle = new MergedBundle( - I18NHelper.loadBundle(DeploymentDescriptorModel.class), - I18NHelper.loadBundle(Model.class)); - - private ArrayList files = new ArrayList(); - - private DeploymentContext ctx = null; - private ClassLoader loader = null; - private JDOConcreteBeanGenerator cmp11Generator; - private JDOConcreteBeanGenerator cmp20Generator; - private EjbBundleDescriptorImpl bundle = null; - private NameMapper nameMapper; - private Model model; - private EJBMetaDataModelImpl ejbModel; - private static QueryParser jdoqlParamDeclParser = new JDOQLParameterDeclarationParser(); - private String inputFilesPath; - private String generatedXmlsPath; - private String appName; - private File classout; - private MappingGenerator mappingGenerator = null; - - /** - * Flag set to true if code generation should proceed - * even if model validation fails - */ - private static final boolean ignoreValidationResults = false;//Deployer.getKeepFailedStubsValue(); - - /** String representing the signatures of generic code-gen files */ - private static String signatures = null; - - /** - * @see CMPGenerator#init(org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl, DeploymentContext, String, String) - */ - public void init(EjbBundleDescriptorImpl bundle, DeploymentContext ctx, - String bundlePathName, String generatedXmlsPathName) - throws GeneratorException { - - if (logger.isLoggable(Logger.FINE)) - logger.fine("cmp gen init"); // NOI18N - - this.ctx = ctx; - this.generatedXmlsPath = generatedXmlsPathName; - this.inputFilesPath = bundlePathName; - this.classout = ctx.getScratchDir("ejb"); // "generated/ejb" dir - this.appName = ctx.getModuleMetaData(Application.class).getRegistrationName(); - - init(bundle, ctx.getClassLoader(), bundlePathName, false); - } - - /** - * @see CMPGenerator#init(org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl, ClassLoader, String) - * - * This method should be merged with {@link #init(org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl, DeploymentContext, String)} - * when TestFramework is fixed for optional java2db support. - * - * @deprecated - */ - public void init(EjbBundleDescriptorImpl bundle, ClassLoader loader, - String bundlePathName) throws GeneratorException { - - init(bundle, loader, bundlePathName, false); - } - - /** - * Called by static verifier to bypass mapping validation or - * internally by other init() methods. - * Will force java2db generation if ignoreSunDeploymentDescriptors - * is true. - * - * @see CMPGenerator#init(org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl, ClassLoader, String) - */ - public void init(EjbBundleDescriptorImpl bundle, ClassLoader loader, - String bundlePathName, boolean ignoreSunDeploymentDescriptors) - throws GeneratorException { - if (logger.isLoggable(Logger.FINE)) - logger.fine("cmp gen init"); // NOI18N - - this.bundle = bundle; - this.loader = loader; - - inputFilesPath = bundlePathName; - - try { - nameMapper = new NameMapper(bundle); - model = new DeploymentDescriptorModel(nameMapper, loader); - mappingGenerator = new MappingGenerator(bundle, model, nameMapper, loader); - loadOrCreateMappingClasses(ignoreSunDeploymentDescriptors); - - ejbModel = new EJBMetaDataModelImpl(model); - - } catch (IOException e) { - // Problems storing properties file(s) - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.IOExceptionInInit", bundle, e); //NOI18N - } - } - - /** - * @see CMPGenerator#validate(IASEjbCMPEntityDescriptor descr) - */ - public Collection validate(IASEjbCMPEntityDescriptor descr) { - - Collection c = new ArrayList(); - - c.addAll(validateModel(descr)); - - // only do EJBQL validation if the mapping info is present - if (getMappingMissingException(c) == null) - c.addAll(validateEJB(descr)); - - if (logger.isLoggable(Logger.FINE)) { - for (Iterator i = c.iterator(); i.hasNext();) { - logger.log(Logger.FINE, "validation exception: ", //NOI18N - (Exception)i.next()); - } - } - - return c; - } - - /** - * Validate the mapping file for the given class. First check if - * the mapping for the class exists in the sun-cmp-mappings. If so, - * continue to validate using {@link Model#validate(String, ClassLoader, - * ResourceBundle)}. If the resulting collection returned is not empty, - * it means it failed the test. - * The user should edit the mapping information, either in the - * IDE or the deploytool, or directly update - * the sun-cmp-mapping file. - * - * @param descr the IASEjbCMPEntityDescriptor for this CMP bean. - * @return a Collection of one GeneratorException if the mapping is - * totally missing or Collection of ModelException instances - * for each found validation error. - */ - private Collection validateModel(IASEjbCMPEntityDescriptor descr) { - String beanName = descr.getName(); - String className = nameMapper.getPersistenceClassForEjbName(beanName); - - if (model.getPersistenceClass(className) == null) { - return Collections.singletonList( - JDOCodeGeneratorHelper.createGeneratorException( - "CMG.MissingBeanMapping", beanName, bundle)); //NOI18N - } - - return model.validate(className, loader, validationBundle); - } - - /** - * Checks a collection as returned by - * {@link #validateModel(IASEjbCMPEntityDescriptor)} to see if - * it contains (only) the {@link GeneratorException} used when the - * entire mapping definition is missing. In that case, we will - * want to skip other checks. - * - * @param c a collection of validation exceptions as returned by - * validateModel. - * @return if the collection contains exactly one GeneratorException - * return it, otherwise return null - */ - private GeneratorException getMappingMissingException(Collection c) { - if (c.size() == 1) { - Object firstElement = c.iterator().next(); - - if (firstElement instanceof GeneratorException) - return (GeneratorException)firstElement; - } - - return null; - } - - /** - * Validate the bean. For now, validate EJBQL for all finders and - * selectors of this bean. - * - * @param descr the IASEjbCMPEntityDescriptor for this CMP bean. - * @return a Collection of Exception instances for each found - * validation error. - */ - private Collection validateEJB(IASEjbCMPEntityDescriptor descr) { - Collection c = null; - try { - JDOConcreteBeanGenerator cmpGenerator = getCMPGenerator(descr); - c = cmpGenerator.validate(new MethodHelper(descr), descr.getName()); - } catch (GeneratorException e) { - c = new ArrayList(); - c.add(e); - } - - return c; - } - - /** - * Validate if this bean is of a supported type. - * - * @param descr the IASEjbCMPEntityDescriptor for this CMP bean. - * @return a Collection of Exception instances for each found - * validation error. - */ - private Collection validateSupported(IASEjbCMPEntityDescriptor descr) { - Collection rc = new ArrayList(); - /* - * XXX Add validation of read-only configuration? - */ - - return rc; - } - - /** - * @see CMPGenerator#generate(IASEjbCMPEntityDescriptor, File, File) - */ - public void generate(IASEjbCMPEntityDescriptor ejbcmp, File srcout, - File classout) - throws GeneratorException { - - String beanName = ejbcmp.getName(); - - // StringBuilder to store validation exception messages if there are any. - // If there are no validation exceptions, the reference will be null. - StringBuilder validateex = null; - - boolean debug = logger.isLoggable(Logger.FINE); - if (debug) - logger.fine("gen file in " + srcout.getAbsolutePath()); // NOI18N - - // We need to create a new ArrayList because model validation - // returns an unmodifiable list. This may be a place to look - // for a performance improvement later for the case of empty - // or singleton collection (extra copies). - Collection c = new ArrayList(validateModel(ejbcmp)); - - // if the mapping info is not present, throw the exception and - // stop the generation process - GeneratorException mappingMissingEx = getMappingMissingException(c); - if (mappingMissingEx != null) - throw mappingMissingEx; - - c.addAll(validateSupported(ejbcmp)); - - JDOConcreteBeanGenerator cmpGenerator = getCMPGenerator(ejbcmp); - MethodHelper mh = new MethodHelper(ejbcmp); - c.addAll(cmpGenerator.validate(mh, beanName)); - - if (!c.isEmpty()) { - // Validation failed the test. We will try to display all the - // exceptions in a concatenated message and a GeneratorException - // is thrown. - validateex = new StringBuilder(); - Iterator iter = c.iterator(); - - while (iter.hasNext()) { - Exception ex = (Exception)iter.next(); - if (debug) - logger.log(Logger.FINE,"validation exception: " , ex); //NOI18N - validateex.append(ex.getMessage()).append('\n'); //NOI18N - } - - if (!ignoreValidationResults) - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.ExceptionInValidate", //NOI18N - beanName, bundle, validateex.toString()); - } - - try { - Collection newfiles = null; - - if (!ejbcmp.isEJB20()) - ejbcmp.setQueryParser(jdoqlParamDeclParser); - - // IMPORTANT: - // Concrete impl class generation must happen before generation of - // PC class as cmpGenerator will override cascadeDelete (DeleteAction) - // property if it is set, and generatePC() saves .mapping file. - newfiles = cmpGenerator.generate(mh, beanName, appName, srcout, classout); - files.addAll(newfiles); - - newfiles = generatePC(ejbcmp, srcout, classout); - files.addAll(newfiles); - - if (validateex != null) - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.ExceptionInValidate", //NOI18N - beanName, bundle, validateex.toString()); - } catch (JDOUserException e) { - // User error found. Append this exception's message to validation - // messages if there are any. - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.ExceptionInGenerate", //NOI18N - beanName, bundle, e, validateex); - - } catch (EJBQLException e) { - // EJBQL parsing error found. Append this exception's message to - // validation messages if there are any. - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.ExceptionInGenerate", //NOI18N - beanName, bundle, e, validateex); - - } catch (IOException e) { - // Problems generating file(s). Append this exception's message to - // validation messages if there are any. - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.IOExceptionInGenerate", //NOI18N - beanName, bundle, e, validateex); - } - - } - - /** Generate PC class for the ConcreteImpl bean. - * @see CMPGenerator#generate(IASEjbCMPEntityDescriptor, File, File) - */ - private Collection generatePC(IASEjbCMPEntityDescriptor ejbcmp, - File srcout, File classout) - throws IOException { - - ArrayList fileList = new ArrayList(); - Main gen = new Main(ejbModel, srcout); - String className = nameMapper.getPersistenceClassForEjbName(ejbcmp.getName()); - - if (className != null) { - // generate PC class - //@olsen, 4653156: the enhancer-generator deals with class names - // in JVM format, i.e., with '/' for '.' as separator - String jvmClassName = className.replace('.', '/'); - File file = gen.generate(jvmClassName); - fileList.add(file); - - // write mapping file - MappingClassElement mappingClass - = model.getMappingClass(className); - BufferedOutputStream mapOut = null; - try { - String mapPath = className.replace('.', File.separatorChar); - String mappingFile = mapPath + MAPPING_EXTENSION; - mapOut = new BufferedOutputStream( - new FileOutputStream(new File(classout, mappingFile))); - //"touch" need to create the output stream first since the - //classout directory is not in the classpath and - //therefore the standard storeMappingClass can't be used - model.storeMappingClass(mappingClass, mapOut); - } finally { - if (mapOut != null) { - try { - mapOut.close(); - } catch(Exception ex) { - if (logger.isLoggable(Logger.FINE)) - logger.fine(ex.getMessage()); - } - } - } - - } - return fileList; - } - - /* - * @see CMPGenerator#cleanup() - */ - public Collection cleanup() throws GeneratorException { - // Remove the strong references to MappingClassElements - // needed during deployment. The mapping class cache - // can now be cleaned up by the garbage collector. - // It is done by mappingGenerator. - mappingGenerator.cleanup(); - - // Reset cmp generators. - cmp11Generator = null; - cmp20Generator = null; - - return files; - } - - /** Returns CMP bean classes generator of the appropriate type. - * @param descr the bean descriptor as IASEjbCMPEntityDescriptor. - * @return instance of JDOConcreteBeanGenerator. - */ - private JDOConcreteBeanGenerator getCMPGenerator( - IASEjbCMPEntityDescriptor descr) throws GeneratorException { - - JDOConcreteBeanGenerator cmpGenerator = null; - try { - if (descr.isEJB20()) { - cmpGenerator = getCMP20Generator(); - } else { - cmpGenerator = getCMP11Generator(); - } - - cmpGenerator.setUpdateable( - !descr.getIASEjbExtraDescriptors().isIsReadOnlyBean()); - - } catch (IOException e) { - // Problems reading file(s) - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.IOExceptionInInit", bundle, e); //NOI18N - } - - return cmpGenerator; - } - - /** - * Returns instance of generator for CMP2.x beans in this module. - */ - private JDOConcreteBeanGenerator getCMP20Generator() throws IOException { - if (cmp20Generator == null) { - cmp20Generator = new JDOConcreteBean20Generator(loader, model, - nameMapper); - - addSignatures(cmp20Generator); - } - - return cmp20Generator; - } - - /** - * Returns instance of generator for CMP1.1 beans in this module. - */ - private JDOConcreteBeanGenerator getCMP11Generator() throws IOException { - if (cmp11Generator == null) { - cmp11Generator = new JDOConcreteBean11Generator(loader, model, - nameMapper); - - addSignatures(cmp11Generator); - } - - return cmp11Generator; - } - - /** - * Add required signatures to the generator instance. - */ - private void addSignatures(JDOConcreteBeanGenerator cmpGenerator) - throws IOException { - - // Add the code generation signature of the input files - // Note, this is per bundle, so it needs to be set per - // cmpGenerator instance. - cmpGenerator.addCodeGenInputFilesSignature(getSignaturesOfInputFiles()); - - // Add the code generation signature of the S1AS-specific generator classes. - cmpGenerator.addCodeGeneratorClassSignature( - getS1ASSpecificGeneratorClassesSignature()); - } - - /** - * Returns the signatures of the classes and properties which are - * involved in the codegen for S1AS specific part. - * @return The signatures as a string. - */ - private static synchronized String - getS1ASSpecificGeneratorClassesSignature() - { - if (signatures == null) { - StringBuilder sb = new StringBuilder(). - - // adding signature of JDOCodeGenerator - append(JDOCodeGenerator.SIGNATURE). - append(CMPTemplateFormatter.signatureDelimiter_). - - // adding signature of NameMapper - append(NameMapper.SIGNATURE); - - signatures = sb.toString(); - } - return signatures; - } - - /** - * Returns the signatures (file length) of the input files for the codegen. - * Inputfiles are ejb-jar.xml, sun-ejb-jar.xml, sun-cmp-mappings.xml. - * @return The signatures as a string. - * @throws IOException - */ - private String getSignaturesOfInputFiles() throws IOException - { - StringBuilder sb = new StringBuilder(). - - append(getFileInfoOfInputFile(inputFilesPath + - File.separator + DescriptorConstants.EJB_JAR_ENTRY)). - append(CMPTemplateFormatter.signatureDelimiter_). - - append(getFileInfoOfInputFile(inputFilesPath + - File.separator + DescriptorConstants.S1AS_EJB_JAR_ENTRY)). - append(CMPTemplateFormatter.signatureDelimiter_). - - append(getFileInfoOfInputFile(inputFilesPath + - File.separator + DescriptorConstants.S1AS_CMP_MAPPING_JAR_ENTRY)); - - return sb.toString(); - } - - /** - * Returns a string consisting of the fully path and name of the input file - * and its length in bytes. - * @param pathname The path and file name of the input file. - * @return A string consisting of the fully path and name of the input file - * and its length in bytes. - * @throws IOException - */ - private String getFileInfoOfInputFile(String pathname) throws IOException - { - File inputFile = new File(pathname); - - StringBuilder inputFileInfo = new StringBuilder(). - append(inputFile.getCanonicalPath().replace('\\', '/')). - append(CMPTemplateFormatter.space_). - append(String.valueOf(inputFile.length())). - append(" bytes"); - - return inputFileInfo.toString(); - } - - /** - * It will load mapping classes if there is sun-cmp-mappings.xml, - * otherwise it will call database generation backend to create - * mapping classes and schema. - * Generates *.dbschema and sun-cmp-mappings.xml in application dir if it is - * in creating mapping classes mode - * - * @param ignoreSunDeploymentDescriptors Will force java2db generation - * if true. - */ - private void loadOrCreateMappingClasses(boolean ignoreSunDeploymentDescriptors) - throws IOException, GeneratorException { - - try { - SchemaElement schema = mappingGenerator.generateMapping( - ctx, inputFilesPath, generatedXmlsPath, classout, - ignoreSunDeploymentDescriptors); - // If this is from verify, do not create DDL. - if (ctx != null - && mappingGenerator.isJavaToDatabase()) { - createDDLs(schema, mappingGenerator.getDatabaseVendorName(), null); - } - } catch (SQLException ex) { - // Problems talking to the database. - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.SQLException", bundle, ex); - } catch (DBException ex) { - // Problems reading or creating DBModel. - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.DBException", bundle, ex); //NOI18N - - } catch (ModelException ex) { - // Problems reading or creating model. - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.ModelException", bundle, ex); //NOI18N - - } catch (Schema2BeansException ex) { - // Problems reading or creating sun-cmp-mapping.xml - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.Schema2BeansException", bundle, ex); //NOI18N - } catch (ConversionException ex) { - // Problems converting between sun-cmp-mappings and mapping model - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.MappingConversionException", bundle, ex); //NOI18N - } - } - - /** - * Generates DDLs for specified database vendor name. - * @param schema a schema representing database in memory - * @param dbVendorName a string for database vendor name - * @param conn a database connection - * @throws IOException - * @throws DBException - */ - private void createDDLs(SchemaElement schema, String dbVendorName, Connection conn) - throws IOException, DBException { - - // Make sure that generatedXmlsPath directory is created - // before writing *.sql files to this location. - File fileDir = new File(generatedXmlsPath); - - if (!fileDir.exists()) { - fileDir.mkdirs(); - } - - // Can't use schema name as at the time of the event listener - // processing, the name will be recalculated again, and it might - // not match. - String namePrefix = DeploymentHelper.getDDLNamePrefix(bundle); - - // sql generation file names. - OutputStream createDDLSql = new FileOutputStream(new File(generatedXmlsPath, - namePrefix + NAME_SEPARATOR + dbVendorName + CREATE_SQL_FILE_SUFFIX)); - OutputStream dropDDLSql = new FileOutputStream(new File(generatedXmlsPath, - namePrefix + NAME_SEPARATOR + dbVendorName + DROP_SQL_FILE_SUFFIX)); - - OutputStream dropDDLTxt = new FileOutputStream(new File(classout, - namePrefix + DROP_DDL_JDBC_FILE_SUFFIX)); - OutputStream createDDLTxt = new FileOutputStream(new File(classout, - namePrefix + CREATE_DDL_JDBC_FILE_SUFFIX)); - - try { - // XXX This code might be used in the future with the create - // and drop flags to be set appropriately. - // If we have a live connection, we'll need to add flags that - // specify if it's necessary to create and drop tables at deploy. - // For now it's never executed so we set those booleans to false. - OutputStream dbStream = null; - boolean createTablesAtDeploy = false; - boolean dropTablesAtDeploy = false; - if ((conn != null) && (createTablesAtDeploy || dropTablesAtDeploy)) { - dbStream = new DatabaseOutputStream(conn); - } - // XXX This is the end of the code that might be used in the future. - - DDLGenerator.generateDDL(schema, dbVendorName, createDDLSql, - dropDDLSql, dropDDLTxt, createDDLTxt, dbStream, dropTablesAtDeploy); - } catch (SQLException ex) { - if (logger.isLoggable(Logger.WARNING)) - logger.warning(ex.toString()); - } - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOCodeGeneratorHelper.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOCodeGeneratorHelper.java deleted file mode 100644 index a67fbc0f9b9..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOCodeGeneratorHelper.java +++ /dev/null @@ -1,194 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * JDOCodeGeneratorHelper.java - * - * Created on Aug 28, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import com.sun.enterprise.deployment.Application; -import com.sun.enterprise.deployment.EjbBundleDescriptor; -import com.sun.jdo.spi.persistence.support.ejb.codegen.GeneratorException; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.ResourceBundle; - -/* - * This is the helper class for JDO code generation - * - */ -public class JDOCodeGeneratorHelper { - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - JDOCodeGeneratorHelper.class); - - /** Calculate module name from a bundle. - * @return module name. - */ - public static String getModuleName(EjbBundleDescriptor bundle) { - String moduleName = null; - Application application = bundle.getApplication(); - if (application.isVirtual()) { - // Stand-alone module is deployed. - moduleName = application.getRegistrationName(); - - } else { - // Module is deployed as a part of an Application. - String jarName = bundle.getModuleDescriptor().getArchiveUri(); - int l = jarName.length(); - - // Remove ".jar" from the bundle's jar name. - moduleName = jarName.substring(0, l - 4); - - } - - return moduleName; - } - - /** - * Create GeneratorException for this message key. - * @param key the message key in the bundle. - * @param bundle the ejb bundle. - * @return GeneratorException. - */ - public static GeneratorException createGeneratorException( - String key, EjbBundleDescriptor bundle) { - return new GeneratorException(I18NHelper.getMessage( - messages, key, - bundle.getApplication().getRegistrationName(), - getModuleName(bundle))); - } - - /** - * Create GeneratorException for this message key. - * @param key the message key in the bundle. - * @param bundle the ejb bundle. - * @param e the Exception to use for the message. - * @return GeneratorException. - */ - public static GeneratorException createGeneratorException( - String key, EjbBundleDescriptor bundle, Exception e) { - - return new GeneratorException(I18NHelper.getMessage( - messages, key, - bundle.getApplication().getRegistrationName(), - getModuleName(bundle), - e.getMessage())); - } - - /** - * Create GeneratorException for this message key and bean name. - * @param key the message key in the bundle. - * @param bundle the ejb bundle. - * @return GeneratorException. - */ - public static GeneratorException createGeneratorException( - String key, String beanName, EjbBundleDescriptor bundle) { - - return new GeneratorException(I18NHelper.getMessage( - messages, key, beanName, - bundle.getApplication().getRegistrationName(), - getModuleName(bundle))); - } - - /** - * Create GeneratorException for this message key and bean name. - * @param key the message key in the bundle. - * @param beanName the CMP bean name that caused the exception. - * @param bundle the ejb bundle. - * @param e the Exception to use for the message. - * @return GeneratorException. - */ - public static GeneratorException createGeneratorException( - String key, String beanName, EjbBundleDescriptor bundle, - Exception e) { - - return createGeneratorException(key, beanName, bundle, e.getMessage()); - } - - /** - * Create GeneratorException for this message key, bean name, - * and a StringBuilder with validation exceptions. - * @param key the message key in the bundle. - * @param beanName the CMP bean name that caused the exception. - * @param bundle the ejb bundle. - * @param e the Exception to use for the message. - * @param buf the StringBuilder with validation exceptions. - * @return GeneratorException. - */ - public static GeneratorException createGeneratorException( - String key, String beanName, EjbBundleDescriptor bundle, - Exception e, StringBuilder buf) { - - String msg = (buf == null) ? - e.getMessage() : - buf.append(e.getMessage()).append('\n').toString(); - return createGeneratorException(key, beanName, bundle, msg); - } - - /** - * Create GeneratorException for this message key and bean name. - * @param key the message key in the bundle. - * @param beanName the CMP bean name that caused the exception. - * @param bundle the ejb bundle. - * @param msg the message text to append. - * @return GeneratorException. - */ - public static GeneratorException createGeneratorException( - String key, String beanName, EjbBundleDescriptor bundle, - String msg) { - - return new GeneratorException(I18NHelper.getMessage( - messages, key, - new Object[] { - beanName, - bundle.getApplication().getRegistrationName(), - getModuleName(bundle), - msg} - )); - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBean11Generator.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBean11Generator.java deleted file mode 100644 index 3f153a9c147..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBean11Generator.java +++ /dev/null @@ -1,454 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * JDOConcreteBean11Generator.java - * - * Created on February 24, 2004 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; -import com.sun.jdo.spi.persistence.support.ejb.ejbqlc.JDOQLElements; -import com.sun.jdo.spi.persistence.support.ejb.model.util.NameMapper; - -import java.io.IOException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; - -/* - * This is the JDO specific generator for the concrete CMP beans for EJB1.1. - * - * @author Marina Vatkina - */ -class JDOConcreteBean11Generator extends JDOConcreteBeanGenerator { - - /** - * Signature with CVS keyword substitution for identifying the generated code - */ - static final String SIGNATURE = "$RCSfile: JDOConcreteBean11Generator.java,v $ $Revision: 1.2 $"; //NOI18N - - JDOConcreteBean11Generator(ClassLoader loader, - Model model, - NameMapper nameMapper) - throws IOException { - - super (loader, model, nameMapper); - CMP11TemplateFormatter.initHelpers(); - - // Add the code generation signature of the generic and 1.1-specific - // generator classes. - addCodeGeneratorClassSignature(getSignaturesOfGeneratorClasses()); - } - - /** Add interfaces to the class declarations. - */ - void addInterfaces() throws IOException { - super.addInterfaces(); - jdoHelperWriter.addInterface(CMP11TemplateFormatter.helper11Interface_); - } - - /** Set super class for the helper class. - */ - void setHelperSuperclass() throws IOException { - jdoHelperWriter.setSuperclass(CMP11TemplateFormatter.helper11Impl_); - } - - /** Generate CMP1.1 specific methods. - */ - void generateTypeSpecificMethods(PersistenceFieldElement[] allFields, - AbstractMethodHelper methodHelper) throws IOException { - - super.generateTypeSpecificMethods(allFields, methodHelper); - generateLoadStoreMethods(allFields); - } - - /** - * Generates required internal variables. - */ - void generateFields() throws IOException { - - super.generateFields(); - CMP11TemplateFormatter.addPrivateField( - CMP11TemplateFormatter.one_oneVariablesTemplate, - 0, concreteImplWriter); - } - - - /** Adds jdoLoadFields/jdoStoreFields for CMP1.1 - */ - void generateLoadStoreMethods(PersistenceFieldElement[] fields) - throws IOException { - int i, count = ((fields != null) ? fields.length : 0); - StringBuilder lbody = new StringBuilder(); - StringBuilder sbody = new StringBuilder(CMPTemplateFormatter.none_); - - for (i = 0; i < count; i++) { - PersistenceFieldElement pfe = fields[i]; - - if (PersistenceFieldElement.PERSISTENT == pfe.getPersistenceType()) { - FieldInfo fieldInfo = new FieldInfo(model, nameMapper, pfe, beanName, pcname); - - if (fieldInfo.isGeneratedField) { - // Skip generated fields as they are not present in the bean class. - // A field is generated for the unknown PK class or version consistency. - // There are no relationship fields in CMP1.1 beans. - if (fieldInfo.isKey) { - // This is an extra field for the unknown PK class. - // PK setter name is used to generate the line for ejbCreate - // to set the PK value in _JDOState. - setPKField = fieldInfo.setter; - } - continue; - } - - // Add code to load non-DFG field if necessary. - loadNonDFGField(fieldInfo); - - if( fieldInfo.isByteArray) { - // A byte[] CMP field should have copy-in, copy-out semantics - // via System.arraycopy. - twoParams[0] = fieldInfo.name; - twoParams[1] = fieldInfo.getter; - lbody.append(CMP11TemplateFormatter.l11arrayformatter.format(twoParams)); - - if (isUpdateable) { - threeParams[0] = fieldInfo.getter; - threeParams[1] = fieldInfo.name; - threeParams[2] = fieldInfo.setter; - sbody.append(CMP11TemplateFormatter.s11arrayformatter.format(threeParams)); - } - - } else if( fieldInfo.isSerializable ) { - // A special case for a Serializable CMP field (but not byte[]) - - // it should be serialized to/from a byte[] in PC instance. - - fourParams[0] = fieldInfo.name; - fourParams[1] = fieldInfo.getter; - fourParams[2] = fieldInfo.type; - fourParams[3] = concreteImplName; - lbody.append(CMP11TemplateFormatter.l11Serializableformatter.format(fourParams)); - - if (isUpdateable) { - fourParams[0] = fieldInfo.getter; - fourParams[1] = fieldInfo.name; - fourParams[2] = fieldInfo.setter; - fourParams[3] = concreteImplName; - sbody.append(CMP11TemplateFormatter.s11Serializableformatter.format(fourParams)); - } - - } else if (fieldInfo.requireCloneOnGetAndSet) { - threeParams[0] = fieldInfo.getter; - threeParams[1] = fieldInfo.type; - threeParams[2] = fieldInfo.name; - lbody.append(CMP11TemplateFormatter.l11copyformatter.format(threeParams)); - - if (isUpdateable) { - fourParams[0] = fieldInfo.getter; - fourParams[1] = fieldInfo.name; - fourParams[2] = fieldInfo.setter; - fourParams[3] = fieldInfo.type; - if (!pfe.isKey()) { - sbody.append(CMP11TemplateFormatter.s11copyformatter.format(fourParams)); - } else { - twoParams[0] = concreteImplName; - twoParams[1] = fieldInfo.name; - sbody.append(CMP11TemplateFormatter.assertpks11formatter.format(twoParams)). - append(CMP11TemplateFormatter.pkcopy11formatter.format(fourParams)); - } - } - - } else { - twoParams[0] = fieldInfo.name; - twoParams[1] = fieldInfo.getter; - lbody.append(CMP11TemplateFormatter.l11formatter.format(twoParams)); - - if (isUpdateable) { - threeParams[0] = fieldInfo.getter; - threeParams[1] = fieldInfo.name; - threeParams[2] = fieldInfo.setter; - if (!pfe.isKey()) { - sbody.append(CMP11TemplateFormatter.s11formatter.format(threeParams)); - } else { - if (!fieldInfo.isPrimitive) { - twoParams[0] = concreteImplName; - twoParams[1] = fieldInfo.name; - sbody.append( - CMP11TemplateFormatter.assertpks11formatter.format(twoParams)); - } - - sbody.append(requireTrimOnSet(fieldInfo.type) ? - CMP11TemplateFormatter.pkstring11formatter.format(threeParams) : - CMP11TemplateFormatter.pks11formatter.format(threeParams)); - } - } - - } - } - } - - // Add jdoLoadFields - CMPTemplateFormatter.addGenericMethod( - CMP11TemplateFormatter.loadFields1_1_, - CMP11TemplateFormatter.getBodyAsStrings(lbody.toString()), - concreteImplWriter); - - // Add jdoStoreFields - CMPTemplateFormatter.addGenericMethod( - CMP11TemplateFormatter.storeFields1_1_, - CMP11TemplateFormatter.getBodyAsStrings(sbody.toString()), - concreteImplWriter); - } - - /** Returns JDOQLElements instance for this finder method. - * @param m the finder method as a java.lang.reflect.Method - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean. - * @return JDOQLElements instance. - */ - JDOQLElements getJDOQLElements(Method m, - AbstractMethodHelper methodHelper) throws IOException{ - - // CMP11 : get JDO query settings from DD - return getJDOQLElementsForCMP11(m, methodHelper); - } - - /** Returns method body for EJBCreate method. - * @param createName the actual name of the method as String. - * @param exc a String[] of decleared exceptions for this method. - * @param parametersList the list of method parameters as String. - * @param parametersListWithSeparator the list of concatenated method - * parameters to be passed to another method as String. - * @return method body as String. - */ - String getEJBCreateMethodBody(String createName, - String[] exc, String parametersList, - String parametersListWithSeparator) { - - // For read-only beans it will throw an exception on access. - // For updateable beans it will be generated to do the create. - String body = CMPROTemplateFormatter.accessNotAllowedTemplate; - - if (isUpdateable) { - // no suffixes in ejbCreate for CMP1.1 beans but we need to check what - // exception is available. - if (pkClass.equals(Object.class.getName())) { - fiveParams[0] = pcname; - fiveParams[1] = parametersList; - fiveParams[2] = setPKField; - fiveParams[3] = concreteImplName; - fiveParams[4] = parametersListWithSeparator; - body = CMP11TemplateFormatter.c11unpkformatter.format(fiveParams); - - } else { - sixParams[0] = pcname; - sixParams[1] = parametersList; - sixParams[2] = pkClass; - sixParams[3] = concreteImplName; - String s = getException(exc, CMP11TemplateFormatter.DuplicateKeyException_, - CMP11TemplateFormatter.CreateException_); - int l = s.lastIndexOf(CMP11TemplateFormatter.dot_); - sixParams[4] = (l > 0)? s.substring(l + 1) : s; - sixParams[5] = parametersListWithSeparator; - body = CMP11TemplateFormatter.c11formatter.format(sixParams); - - } - } - return body; - } - - /** Returns method body for EJBPostCreate method. - * @param postCreateName the actual name of the method as String. - * @param parametersList the list of method parameters as String. - * @param parametersListWithSeparator the list of concatenated method - * parameters to be passed to another method as String. - * @return method body as String. - */ - String getEJBPostCreateMethodBody(String postCreateName, - String parametersList, String parametersListWithSeparator) { - - // For read-only beans it will be a no-op. For updateable - // beans it will be generated. - String body = CMPTemplateFormatter.none_; - - if (isUpdateable) { - twoParams[0] = parametersList; - twoParams[1] = parametersListWithSeparator; - body = CMP11TemplateFormatter.postc11formatter.format(twoParams); - } - - return body; - } - - /** Returns method body for EJBRemove method. - * @return method body as String. - */ - String getEJBRemoveMethodBody() { - - // For read-only beans it will throw an exception on access. - // For updateable beans it will be generated. - String body = CMPROTemplateFormatter.updateNotAllowedTemplate; - - if (isUpdateable) { - // CMP1.1 does not need any variables to substitute. - body = CMP11TemplateFormatter.ejbRemove1_1Template; - } - - return body; - } - - /** Adds other known required methods identified by properties that do - * not need formatting but differ between CMP types. - * CMP11TemplateFormatter.otherPublicMethods_ differ between CMP types. - */ - void generateKnownMethods(AbstractMethodHelper methodHelper) - throws IOException { - - super.generateKnownMethods(methodHelper); - - String[] exc = null; - String[] st = CMP11TemplateFormatter.otherPublicMethodsArray; - for (int i = 0; i < st.length; i++) { - String mname = st[i]; - exc = getExceptionList(methodHelper, mname); - - String body = CMPROTemplateFormatter.updateNotAllowedTemplate; - // Only ejbLoad from this list doesn't differ for read-only beans. - if (isUpdateable || mname.equals(CMPTemplateFormatter.ejbLoad_)) { - body = CMP11TemplateFormatter.helpers.getProperty( - mname + "1_1"); // NOI18N - } else if (mname.equals(CMPTemplateFormatter.jdoCleanAllRefs_)) { - body = CMPROTemplateFormatter.jdoCleanAllRefsTemplate; - } - - concreteImplWriter.addMethod(mname, // name - Modifier.PUBLIC, // modifiers - CMP11TemplateFormatter.void_, // returnType - null, // parameterNames - null,// parameterTypes - exc,// exceptions - CMP11TemplateFormatter.getBodyAsStrings(body), // body - null);// comments - } - - } - - /** - * Checks if the finder returns an Enumeration (for CMP1.1) - * @param finder Methodobject of the finder - * @return true if the finder returns a Enumeration - */ - boolean isFinderReturningEnumeration(Method finder) { - return (finder.getReturnType().equals(java.util.Enumeration.class)); - } - - /** - * Generates a setIgnoreCache(true) call for a JDOQL query, - * in the case of a EJB 1.1 finder. - * @return the codefragment to set the ignoreCache flag of a JDOQL query. - */ - String generateQueryIgnoreCache() - { - oneParam[0] = CMP11TemplateFormatter.true_; - return CMP11TemplateFormatter.querysetignorecacheformatter.format(oneParam); - } - - /** - * Creating a JDOQLElements object for CMP11 support. For CMP11 there is no - * EJBQL, thus we get the filter expression and parameter declaration from - * the DD. - * @param m CMP1.1 method instance - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean - * @return a filled JDOQElementsobject for further codegeneration - */ - private JDOQLElements getJDOQLElementsForCMP11(Method m, - AbstractMethodHelper methodHelper) { - - String params = methodHelper.getJDOParameterDeclaration(m); - String variables = methodHelper.getJDOVariableDeclaration(m); - String filter = methodHelper.getJDOFilterExpression(m); - String ordering = methodHelper.getJDOOrderingSpecification(m); - return new JDOQLElements( - pcname, // use the pc class for this bean as candidateClass - params, // JDO parameter declarations from DD - variables, // JDO variables declarations from DD - filter, // JDO filter expression from DD - ordering, // JDO ordering expression from DD - "this", // finders return PK instances => - // Project this to prevent generation of distinct - pcname, // finders return PK instances => - // the jdo query returns a set of pc instances - true, // JDO query returns candidate class instances => - // isPCResult = true - false, // not associate to aggregate function - null // not available and not supported for 1.1 finder - ); - - } - - /** - * Returns the signatures of the classes and properties which are - * involved in the codegen. - * @return The signatures as a string. - */ - String getSignaturesOfGeneratorClasses() - { - StringBuilder signatures = new StringBuilder(). - - // adding signature of JDOConcreteBeanGenerator - append(super.getSignaturesOfGeneratorClasses()). - append(CMPTemplateFormatter.signatureDelimiter_). - - // adding signature of JDOConcreteBean11Generator - append(JDOConcreteBean11Generator.SIGNATURE). - append(CMPTemplateFormatter.signatureDelimiter_). - - // adding signature of CMP11Templates.properties - append(CMP11TemplateFormatter.signature1_1Template); - - return signatures.toString(); - } - -} - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBean20Generator.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBean20Generator.java deleted file mode 100644 index b89ed9d22f1..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBean20Generator.java +++ /dev/null @@ -1,1054 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * JDOConcreteBean20Generator.java - * - * Created on February 24, 2004 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; -import com.sun.jdo.api.persistence.model.jdo.RelationshipElement; -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.spi.persistence.support.ejb.ejbqlc.EJBQLC; -import com.sun.jdo.spi.persistence.support.ejb.ejbqlc.EJBQLException; -import com.sun.jdo.spi.persistence.support.ejb.ejbqlc.JDOQLElements; -import com.sun.jdo.spi.persistence.support.ejb.model.util.NameMapper; -import com.sun.jdo.spi.persistence.utility.generator.JavaFileWriter; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -import java.io.IOException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.text.MessageFormat; -import java.util.*; - -/* - * This is the JDO specific generator for the concrete CMP beans for EJB2.0 - * - * @author Marina Vatkina - */ -class JDOConcreteBean20Generator extends JDOConcreteBeanGenerator { - - // EJBQLC ejbqlc - private EJBQLC ejbqlc; - - /** - * Map that holds EJBQL compilation results for CMP 2.x beans queries. - * key is java.lang.reflect.Method object for the bean's - * finder or selector and the value is JDOQLElements object - * that represents EJBQL compilation results. - */ - private Map jdoqlElementsMap; - - // StringBuilder for cascade-delete operations on ejbRemove - private StringBuilder cascadeDelete = null; - - // String for getter method body - private String gbody = null; - - // String for setter method body - private String sbody = null; - - /** - * Signature with CVS keyword substitution for identifying the generated code - */ - static final String SIGNATURE = - "$RCSfile: JDOConcreteBean20Generator.java,v $ $Revision: 1.2 $"; //NOI18N - - JDOConcreteBean20Generator(ClassLoader loader, - Model model, - NameMapper nameMapper) - throws IOException { - - super(loader, model, nameMapper); - CMP20TemplateFormatter.initHelpers(); - - // Add the code generation signature of the generic and 2.x-specific - // generator classes. - addCodeGeneratorClassSignature(getSignaturesOfGeneratorClasses()); - - // init EJBQL compiler - ejbqlc = new EJBQLC(model, nameMapper); - } - - /** - * Validate this CMP bean. At this point, only EJBQL validation is done for - * 2.0 CMP beans. Adds validation result to that of the super class. - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean. - * @param beanName the ejb name for this bean. - * @return a Collection of Exception instances with a separate instance for - * each failed validation. - */ - Collection validate(AbstractMethodHelper methodHelper, String beanName) { - Collection rc = super.validate(methodHelper, beanName); - - this.beanName = beanName; - rc.addAll(validateEJBQL(methodHelper)); - - return rc; - } - - - /** Add interfaces to the class declarations. - */ - void addInterfaces() throws IOException { - super.addInterfaces(); - jdoHelperWriter.addInterface(CMP20TemplateFormatter.helper20Interface_); - } - - /** Set super class for the helper class. - */ - void setHelperSuperclass() throws IOException { - jdoHelperWriter.setSuperclass(CMP20TemplateFormatter.helper20Impl_); - } - - /** Add import statements for for the generated classes. - */ - void addImportStatements(JavaFileWriter concreteImplFileWriter, - JavaFileWriter helperFileWriter) throws IOException { - - super.addImportStatements(concreteImplFileWriter, helperFileWriter); - concreteImplFileWriter.addImport( - CMP20TemplateFormatter.ejbHashSetImport_, null); - } - - /** Generate CMP2.0 specific methods. - */ - void generateTypeSpecificMethods(PersistenceFieldElement[] allFields, - AbstractMethodHelper methodHelper) throws IOException { - - super.generateTypeSpecificMethods(allFields, methodHelper); - - // Print getters and setters for CMP2.0 only. - generateGetSetMethods(allFields); - - // Add selectors. - generateSelectors(methodHelper); - - } - - /** Adds getters and setters. - */ - private void generateGetSetMethods(PersistenceFieldElement[] fields) - throws IOException{ - int i, count = ((fields != null) ? fields.length : 0); - setPKField = null; // reset to null to clean it up. - cascadeDelete = new StringBuilder(); - - // jdoCleanCollectionRef() body - StringBuilder cmrcleanbodyBuf = new StringBuilder(CMP20TemplateFormatter.none_); - - for (i = 0; i < count; i++) { - PersistenceFieldElement pfe = fields[i]; - - if (PersistenceFieldElement.PERSISTENT == pfe.getPersistenceType()) { - - // Reset the strings. - gbody = null; - sbody = null; - - FieldInfo fieldInfo = new FieldInfo(model, nameMapper, pfe, beanName, pcname); - - if (fieldInfo.isGeneratedField) { - // Skip generated fields as they are not present in the bean class. - // A field is generated for the unknown PK class, version consistency, or - // a 2 way managed relationship. - if (fieldInfo.isKey) { - // This is an extra field for the unknown PK class. - // PK setter name is used to generate the line for ejbCreate - // to set the PK value in _JDOState. - setPKField = fieldInfo.setter; - } - continue; - } - - if (!(pfe instanceof RelationshipElement)) { - generateCMPGetSetBodies(fieldInfo); - - } else { // CMR - if (isUpdateable) { - generateCMRGetSetBodies(fieldInfo, cmrcleanbodyBuf); - - } else { - logger.log(Logger.WARNING, I18NHelper.getMessage(messages, - "CMG.CMRAccessNotAllowed", beanName, fieldInfo.name)); // NOI18N - - gbody = CMPROTemplateFormatter.accessNotAllowedTemplate; - sbody = CMPROTemplateFormatter.updateNotAllowedTemplate; - } - } - - // Now generate getter and setter: - CMPTemplateFormatter.addGenericMethod( - fieldInfo.getter, Modifier.PUBLIC, fieldInfo.type, - CMP20TemplateFormatter.getBodyAsStrings(gbody), - concreteImplWriter); - - oneParam[0] = fieldInfo.type; - concreteImplWriter.addMethod(fieldInfo.setter, // name - Modifier.PUBLIC, // modifiers - CMP20TemplateFormatter.void_, // returnType - param0, // parameterNames - oneParam,// parameterTypes - null,// exceptions - CMP20TemplateFormatter.getBodyAsStrings(sbody), // body - null);// comments - } - } - - // Now generate jdoCleanCollectionRef method - CMPTemplateFormatter.addGenericMethod( - CMP20TemplateFormatter.jdoCleanCollectionRef_, - CMP20TemplateFormatter.getBodyAsStrings(cmrcleanbodyBuf.toString()), - concreteImplWriter); - } - - /** Generate bodies of getters and setters for CMP field - * @param fieldInfo the field information as FieldInfo instance. - */ - private void generateCMPGetSetBodies(FieldInfo fieldInfo) { - - // For read-only beans it will be the same. For updateable - // beans it will be generated per field type. - sbody = CMPROTemplateFormatter.updateNotAllowedTemplate; - - // Add code to load non-DFG field if necessary. - loadNonDFGField(fieldInfo); - - if( fieldInfo.requireCloneOnGetAndSet ) { - // CMP field should have copy-in, copy-out semantics - // via clone. - twoParams[0] = fieldInfo.getter; - twoParams[1] = fieldInfo.type; - gbody = CMP20TemplateFormatter.copygformatter.format(twoParams); - - if (isUpdateable) { - twoParams[0] = fieldInfo.setter; - if (!fieldInfo.isKey) { - sbody = CMP20TemplateFormatter.copysformatter.format(twoParams); - } else { - String[] params = new String[] {concreteImplName, fieldInfo.name}; - sbody = CMP20TemplateFormatter.assertpksformatter.format(params) + - CMP20TemplateFormatter.pkcopysformatter.format(twoParams); - } - } - - } else if( fieldInfo.isByteArray ) { - // A byte[] CMP field should have copy-in, copy-out semantics - // via System.arraycopy. - oneParam[0] = fieldInfo.getter; - gbody = CMP20TemplateFormatter.arraygformatter.format(oneParam); - - if (isUpdateable) { - oneParam[0] = fieldInfo.setter; - sbody = CMP20TemplateFormatter.arraysformatter.format(oneParam); - } - } else if( fieldInfo.isSerializable ) { - // A special case for a Serializable CMP field (but not byte[]) - - // it should be serialized to/from a byte[] in PC instance. - - threeParams[0] = fieldInfo.getter; - threeParams[1] = fieldInfo.type; - threeParams[2] = concreteImplName; - gbody = CMP20TemplateFormatter.sfldgformatter.format(threeParams); - - if (isUpdateable) { - twoParams[0] = fieldInfo.setter; - twoParams[1] = concreteImplName; - sbody = CMP20TemplateFormatter.sfldsformatter.format(twoParams); - } - } else { - oneParam[0] = fieldInfo.getter; - gbody = CMP20TemplateFormatter.gformatter.format(oneParam); - - if (isUpdateable) { - oneParam[0] = fieldInfo.setter; - if (!fieldInfo.isKey) { - sbody = CMP20TemplateFormatter.sformatter.format(oneParam); - - } else { - StringBuilder sb = new StringBuilder(); - if (!fieldInfo.isPrimitive) { - twoParams[0] = concreteImplName; - twoParams[1] = fieldInfo.name; - sb.append( - CMP20TemplateFormatter.assertpksformatter.format(twoParams)); - } - - sb.append(requireTrimOnSet(fieldInfo.type) ? - CMP20TemplateFormatter.pkstringsformatter.format(oneParam) : - CMP20TemplateFormatter.pksformatter.format(oneParam)); - - sbody = sb.toString(); - } - } - } - - } - - /** Generate bodies of getters and setters for CMR field - * @param fieldInfo the field information as FieldInfo instance. - * @param cmrcleanbodyBuf the StringBuilder to append code for CMR cleanup - * if necessary. - */ - private void generateCMRGetSetBodies(FieldInfo fieldInfo, - StringBuilder cmrcleanbodyBuf) throws IOException { - - RelationshipElement rel = (RelationshipElement)fieldInfo.pfe; - - String otherPC = model.getRelatedClass(rel); - boolean manySide = model.isCollection(fieldInfo.type); - - if (logger.isLoggable(Logger.FINE)) { - RelationshipElement otherField = rel.getInverseRelationship(model); - String otherFieldName = ((otherField != null) ? - nameMapper.getEjbFieldForPersistenceField(otherPC, - otherField.getName()) : - null); - - logger.fine("manySide: " + manySide); // NOI18N - logger.fine("Field: " + otherFieldName); // NOI18N - } - - String otherEJB = nameMapper.getEjbNameForPersistenceClass(otherPC); - String otherImpl = nameMapper.getConcreteBeanClassForEjbName(otherEJB); - MessageFormat mformat = null; - - if (manySide) { - threeParams[0] = fieldInfo.getter; - threeParams[1] = fieldInfo.name; - threeParams[2] = otherImpl; - gbody = CMP20TemplateFormatter.cmrCgformatter.format(threeParams); - - fourParams[0] = otherImpl; - fourParams[1] = fieldInfo.setter; - fourParams[2] = fieldInfo.getter; - fourParams[3] = fieldInfo.name; - sbody = CMP20TemplateFormatter.cmrCsformatter.format(fourParams); - - mformat = CMP20TemplateFormatter.cmrcdCformatter; - - twoParams[0] = fieldInfo.type; - twoParams[1] = fieldInfo.name; - CMP20TemplateFormatter.addPrivateField( - CMP20TemplateFormatter.cmrvformatter.format(twoParams), - 0, concreteImplWriter); - - oneParam[0] = fieldInfo.name; - cmrcleanbodyBuf.append(CMP20TemplateFormatter.cleancmrformatter.format(oneParam)); - - } else { // 1 side - fourParams[0] = otherPC; - fourParams[1] = fieldInfo.getter; - fourParams[2] = fieldInfo.type; - fourParams[3] = otherImpl; - gbody = CMP20TemplateFormatter.cmrgformatter.format(fourParams); - - threeParams[0] = otherPC; - threeParams[1] = otherImpl; - threeParams[2] = fieldInfo.setter; - sbody = CMP20TemplateFormatter.cmrsformatter.format(threeParams); - - mformat = CMP20TemplateFormatter.cmrcdformatter; - - } - - if (rel.getDeleteAction() == RelationshipElement.CASCADE_ACTION) { - twoParams[0] = fieldInfo.getter; - twoParams[1] = otherImpl; - cascadeDelete.append(mformat.format(twoParams)); - try { - // Reset DeleteAction to NONE to suppress it in PM.deletePersistent(). - rel.setDeleteAction(RelationshipElement.NONE_ACTION); - } catch (ModelException me) { - logger.log(Logger.SEVERE, I18NHelper.getMessage(messages, - "CMG.ModelExceptionOnDeleteAction", me)); //NOI18N - } - } - - } - - /** Validate EJBQL for ejbFind and ejbSelect methods by calling compilation. - * The method stores compilation results in the {@link #jdoqlElementsMap} map. - * This method is called only for CMP 2.x beans as there is no validation of - * CMP 1.1 queries at the deployment time. - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean. - * @return a Collection of found exceptions. - */ - private Collection validateEJBQL(AbstractMethodHelper methodHelper) { - Collection rc = new ArrayList(); - jdoqlElementsMap = new HashMap(); - - List methods = new ArrayList(methodHelper.getFinders()); - methods.addAll(methodHelper.getSelectors()); - for (int i = 0; i < methods.size(); i++) { - Method m = (Method)methods.get(i); - String mname = m.getName(); - if (mname.equals(CMP20TemplateFormatter.findByPrimaryKey_)) { - // No EJBQL is defined for findByPrimaryKey. - continue; - } - - try { - // EJBQLC needs to know if we are processing a finder or a selector. - jdoqlElementsMap.put(m, - ejbqlc.compile(methodHelper.getQueryString(m), m, - methodHelper.getQueryReturnType(m), - mname.startsWith(CMP20TemplateFormatter.find_), - beanName)); - } catch (EJBQLException e) { - rc.add(e); - } - } - - return rc; - } - - /** Returns JDOQLElements instance for this finder method. - * @param m the finder method as a java.lang.reflect.Method - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean. - * @return JDOQLElements instance. - */ - JDOQLElements getJDOQLElements(Method m, - AbstractMethodHelper methodHelper) throws IOException{ - // Call the EJBQL compiler if there is no known result - // from validate call. - JDOQLElements rs = (JDOQLElements)jdoqlElementsMap.get(m); - if (rs == null) { - if (logger.isLoggable(Logger.FINE)) { - logger.fine("JDOQLElements NOT FOUND for: " + m.getName()); - } - - rs = ejbqlc.compile(methodHelper.getQueryString(m), m, - methodHelper.getQueryReturnType(m), true, beanName); - } - - return rs; - } - - /** Adds ejbSelectBy methods. - */ - private void generateSelectors(AbstractMethodHelper methodHelper) throws IOException{ - List selectors = methodHelper.getSelectors(); - boolean debug = logger.isLoggable(Logger.FINE); - if (debug) { - logger.fine("Selectors: " + selectors.size()); // NOI18N - } - - for (int i = 0; i < selectors.size(); i++) { - Method m = (Method)selectors.get(i); - String mname = m.getName(); - - if (debug) { - logger.fine("Selector: " + mname); // NOI18N - } - - JDOQLElements rs = (JDOQLElements)jdoqlElementsMap.get(m); - if (rs == null) { - if (debug) { - logger.fine("JDOQLElements NOT FOUND for: " + mname); - } - - // calling EJBQL compiler - rs = ejbqlc.compile(methodHelper.getQueryString(m), m, - methodHelper.getQueryReturnType(m), false, beanName); - } - - String returnType = m.getReturnType().getName(); - CMP20TemplateFormatter.addGenericMethod( - m, mname, returnType, - generateSelectorMethodBody(methodHelper, rs, mname, m, returnType, i), - concreteImplWriter); - } - } - - /** Returns method body for EJBCreate method. - * @param createName the actual name of the method as String. - * @param exc a String[] of decleared exceptions for this method. - * @param parametersList the list of method parameters as String. - * @param parametersListWithSeparator the list of concatenated method - * parameters to be passed to another method as String. - * @return method body as String. - */ - String getEJBCreateMethodBody(String createName, - String[] exc, String parametersList, - String parametersListWithSeparator) { - - // ejbCreate in the superclass will have the same suffix, so we need - // to pass the actual name to the formatter - see 'createName' parameter. - if (!containsException(exc, CMP20TemplateFormatter.CreateException_)) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "EXC_NoCreateException", createName, abstractBean)); // NOI18N - } - - // For read-only beans it will be the same. For updateable - // beans it will be generated as required. - String body = CMPROTemplateFormatter.accessNotAllowedTemplate; - if (isUpdateable) { - sixParams[0] = pcname; - sixParams[1] = createName; - sixParams[2] = parametersList; - sixParams[4] = concreteImplName; - sixParams[5] = parametersListWithSeparator; - - if (pkClass.equals(Object.class.getName())) { - sixParams[3] = setPKField; - - body = CMP20TemplateFormatter.cunpkformatter.format(sixParams); - } else { - sixParams[3] = pkClass; - body = CMP20TemplateFormatter.cformatter.format(sixParams); - } - } - - return body; - } - - /** Returns method body for EJBPostCreate method. - * @param postCreateName the actual name of the method as String. - * @param parametersList the list of method parameters as String. - * @param parametersListWithSeparator the list of concatenated method - * parameters to be passed to another method as String. - * @return method body as String. - */ - String getEJBPostCreateMethodBody(String postCreateName, - String parametersList, String parametersListWithSeparator) { - - // For read-only beans it will be the same. For updateable - // beans it will be generated as required. - String body = CMPTemplateFormatter.none_; - - if (isUpdateable) { - twoParams[0] = postCreateName; - twoParams[1] = parametersList; - - body = CMP20TemplateFormatter.postcformatter.format(twoParams); - } - - return body; - } - - /** Returns method body for EJBRemove method. - * @return method body as String. - */ - String getEJBRemoveMethodBody() { - // For read-only beans it will throw an exception. For updateable - // beans it will be generated as required. - String body = CMPROTemplateFormatter.updateNotAllowedTemplate; - if (isUpdateable) { - // CMP2.0 might have cascade-delete requirement. - if (cascadeDelete.length() > 0) { - oneParam[0] = CMP20TemplateFormatter.startCascadeDeleteTemplate + - cascadeDelete.append( - CMP20TemplateFormatter.endCascadeDeleteTemplate). - toString(); - } else { - oneParam[0] = CMP20TemplateFormatter.none_; - } - - body = CMP20TemplateFormatter.rmformatter.format(oneParam); - } - - return body; - } - - /** Adds other known required methods identified by properties that do - * not need formatting but differ between CMP types. - * CMP20TemplateFormatter.otherPublicMethods_ differ between CMP types. - */ - void generateKnownMethods(AbstractMethodHelper methodHelper) - throws IOException { - - super.generateKnownMethods(methodHelper); - - String[] exc = null; - String[] st = CMP20TemplateFormatter.otherPublicMethodsArray; - for (int i = 0; i < st.length; i++) { - String mname = st[i]; - exc = getExceptionList(methodHelper, mname); - - String body = CMPROTemplateFormatter.updateNotAllowedTemplate; - // Only ejbLoad from this list doesn't differ for read-only beans. - if (isUpdateable || mname.equals(CMPTemplateFormatter.ejbLoad_)) { - body = CMP20TemplateFormatter.helpers.getProperty(mname); - } else if (mname.equals(CMPTemplateFormatter.jdoCleanAllRefs_)) { - body = CMPROTemplateFormatter.jdoCleanAllRefsTemplate; - } - - concreteImplWriter.addMethod(mname, // name - Modifier.PUBLIC, // modifiers - CMP20TemplateFormatter.void_, // returnType - null, // parameterNames - null,// parameterTypes - exc,// exceptions - CMP20TemplateFormatter.getBodyAsStrings(body), // body - null);// comments - } - - } - - /** - * Generates helper methods for the helper class. - */ - void generateHelperClassMethods() throws IOException { - - super.generateHelperClassMethods(); - // Add Helper.assertInstanceOfLocalInterfaceImpl() method for cmp2.0 only. - oneParam[0] = CMP20TemplateFormatter.assertInstanceOfLocalInterfaceImplTemplate; - - jdoHelperWriter.addMethod(CMP20TemplateFormatter.assertInstanceOfLocalInterfaceImpl_, // name - Modifier.PUBLIC, // modifiers - CMP20TemplateFormatter.void_, // returnType - param0, // parameterNames - objectType,// parameterTypes - null,// exceptions - oneParam, // body - null);// comments - } - - /** - * Generates conversion methods from PC to EJBObject and back - * to the helper class. - */ - void generateConversions() throws IOException { - - super.generateConversions(); - - // For EJBLocalObject. - if (hasLocalInterface == false) { - String[] pcParams = new String[] {CMP20TemplateFormatter.pc_, - CMP20TemplateFormatter.jdoPersistenceManager_}; - String[] pcParamTypes = new String[] {CMP20TemplateFormatter.Object_, - CMP20TemplateFormatter.jdoPersistenceManagerClass_}; - - String[] body = CMP20TemplateFormatter.getBodyAsStrings( - CMP20TemplateFormatter.returnNull_); - - jdoHelperWriter.addMethod(CMP20TemplateFormatter.convertPCToEJBLocalObject_, // name - Modifier.PUBLIC, // modifiers - CMP20TemplateFormatter.ejbLocalObject_, // returnType - pcParams, // parameterNames - pcParamTypes,// parameterTypes - null,// exceptions - body, // body - null);// comments - - String[] pcParamsX = new String[] {CMP20TemplateFormatter.pc_, - CMP20TemplateFormatter.jdoPersistenceManager_, - CMP20TemplateFormatter.context_}; - String[] pcParamTypesX = new String[] {CMP20TemplateFormatter.Object_, - CMP20TemplateFormatter.jdoPersistenceManagerClass_, - CMP20TemplateFormatter.ejbContext_}; - jdoHelperWriter.addMethod(CMP20TemplateFormatter.convertPCToEJBLocalObject_, // name - Modifier.PUBLIC, // modifiers - CMP20TemplateFormatter.ejbLocalObject_, // returnType - pcParamsX, // parameterNames - pcParamTypesX,// parameterTypes - null,// exceptions - body, // body - null);// comments - - - twoParams[0] = CMP20TemplateFormatter.ejbLocalObject_; - twoParams[1] = CMP20TemplateFormatter.jdoPersistenceManagerClass_; - jdoHelperWriter.addMethod(CMP20TemplateFormatter.convertEJBLocalObjectToPC_, // name - Modifier.PUBLIC, // modifiers - CMP20TemplateFormatter.Object_, // returnType - param0PM, // parameterNames - twoParams,// parameterTypes - null,// exceptions - body, // body - null);// comments - } - } - - /** - * Generates the body of the Entity-Bean selector methods. - * This is the special result set handling. - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean - * @param jdoqlElements the result of the EJBQL-Compiler - * @param mname name of the selector method in - * the concrete entity bean implementation - * @param m selector method object - * @param index index of selector method in selectors list - * @param returnType the returntype of the selectormethod - * @return the generated body - * @exception IOException - */ - private String generateSelectorMethodBody(AbstractMethodHelper methodHelper, - JDOQLElements jdoqlElements, - String mname, - Method m, - String returnType, - int index) throws IOException { - - StringBuilder body = new StringBuilder(); - - // add preSelect callback - oneParam[0] = concreteImplName; - body.append(CMP20TemplateFormatter.preselectformatter.format(oneParam)); - - // common body for finder/selectors - body.append(generateFinderSelectorCommonBody(methodHelper, - jdoqlElements, - mname, - m, - returnType, - index)); - - // body with resulthandling depending on the type of the selector - // (single or multivalue) - if (isSingleObjectSelector(m)) { - body.append(generateResultHandlingForSingleSelector( - jdoqlElements, mname, m, methodHelper, returnType)); - } else { - body.append(generateResultHandlingForMultiSelector( - jdoqlElements, m, methodHelper)); - } - - return body.toString(); - } - - - /** - * Generates the result handling for a multi-value selector method. - * The generated code converts the JDO query result set into the appropriate - * selector result. - * @param jdoqlElements the result of the JDOQL compiler - * @param m selector method object - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean - * @return the generated result set handling - */ - private String generateResultHandlingForMultiSelector( - JDOQLElements jdoqlElements, - Method m, - AbstractMethodHelper methodHelper) { - - boolean convertToSet = false; - String body = null; - MessageFormat mformat = null; - // getting the catch-clause body from the properties - oneParam[0] = m.getName(); - - // depending of the kind of returntype a different convertermethodcall - // is generated - if (isSelectorReturningSet(m)) convertToSet = true; - - int queryReturnType = methodHelper.getQueryReturnType(m); - if ((queryReturnType == AbstractMethodHelper.NO_RETURN) && - jdoqlElements.isPCResult()) { - // Use LOCAL_RETURN as default, - // if there is no result-type-mapping specified and - // the JDOQL query returns a collection of pc instances - queryReturnType = AbstractMethodHelper.LOCAL_RETURN; - } - - switch (queryReturnType) { - case (AbstractMethodHelper.LOCAL_RETURN): - mformat = CMP20TemplateFormatter.multiselectorconvformatter; - threeParams[0] = - getConcreteBeanForPCClass(jdoqlElements.getResultType()); - threeParams[1] = convertToSet ? - CMP20TemplateFormatter.convertCollectionPCToEJBLocalObjectSet_ : - CMP20TemplateFormatter.convertCollectionPCToEJBLocalObject_; - threeParams[2] = CMP20TemplateFormatter.catchClauseTemplate; - body = mformat.format(threeParams); - break; - case (AbstractMethodHelper.REMOTE_RETURN): - mformat = CMP20TemplateFormatter.multiselectorconvformatter; - threeParams[0] = - getConcreteBeanForPCClass(jdoqlElements.getResultType()); - threeParams[1] = convertToSet ? - CMP20TemplateFormatter.convertCollectionPCToEJBObjectSet_ : - CMP20TemplateFormatter.convertCollectionPCToEJBObject_; - threeParams[2] = CMP20TemplateFormatter.catchClauseTemplate; - body = mformat.format(threeParams); - break; - case (AbstractMethodHelper.NO_RETURN): - default: - mformat = convertToSet ? - CMP20TemplateFormatter.multiselectorsetformatter : - CMP20TemplateFormatter.multiselectorformatter; - oneParam[0] = CMP20TemplateFormatter.catchClauseTemplate; - body = mformat.format(oneParam); - break; - } - - return body; - } - - /** - * Generates the result handling for a single-object selector method. - * The generated code converts the JDO query result set into the appropriate - * selector result. - * @param jdoqlElements the result of the JDOQL compiler - * @param mname name of the selector method in - * the concrete entity bean implementation - * @param m selector method object - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean - * @param returnType the returntype of the selectormethod - * @return the generated result set handling - */ - private String generateResultHandlingForSingleSelector( - JDOQLElements jdoqlElements, - String mname, - Method m, - AbstractMethodHelper methodHelper, - String returnType) { - - StringBuilder body = new StringBuilder(); - MessageFormat mformat = null; - String jdoResultType = jdoqlElements.getResultType(); - String ejbName = null; - // generated code that tests the cardinality of the JDO query - // a JDOQL aggregate query returns a single object => no check needed - if (!jdoqlElements.isAggregate()) { - mformat = CMP20TemplateFormatter.singleselectorformatter; - oneParam[0] = mname; - body.append(mformat.format(oneParam)); - } - - // getting the catch-clause body from the properties - oneParam[0] = CMP20TemplateFormatter.none_; - - int queryReturnType = methodHelper.getQueryReturnType(m); - if ((queryReturnType == AbstractMethodHelper.NO_RETURN) && - jdoqlElements.isPCResult()) { - // Use LOCAL_RETURN as default, - // if there is no result-type-mapping specified and - // the JDOQL query returns a collection of pc instances - queryReturnType = AbstractMethodHelper.LOCAL_RETURN; - } - - // generate different converter method call depending on return type - switch (queryReturnType) { - case (AbstractMethodHelper.LOCAL_RETURN): - ejbName = nameMapper.getEjbNameForPersistenceClass(jdoResultType); - mformat = CMP20TemplateFormatter.singleselectorreturnconvformatter; - fourParams[0] = nameMapper.getLocalInterfaceForEjbName(ejbName); - fourParams[1] = nameMapper.getConcreteBeanClassForEjbName(ejbName); - fourParams[2] = CMP20TemplateFormatter.convertPCToEJBLocalObject_; - fourParams[3] = CMP20TemplateFormatter.catchClauseTemplate; - body.append(mformat.format(fourParams)); - break; - case (AbstractMethodHelper.REMOTE_RETURN): - ejbName = nameMapper.getEjbNameForPersistenceClass(jdoResultType); - mformat = CMP20TemplateFormatter.singleselectorreturnconvformatter; - fourParams[0] = nameMapper.getRemoteInterfaceForEjbName(ejbName); - fourParams[1] = nameMapper.getConcreteBeanClassForEjbName(ejbName); - fourParams[2] = CMP20TemplateFormatter.convertPCToEJBObject_; - fourParams[3] = CMP20TemplateFormatter.catchClauseTemplate; - body.append(mformat.format(fourParams)); - break; - case (AbstractMethodHelper.NO_RETURN): - default: - Class returnTypeClass = m.getReturnType(); - // tests if it is aggregate function and proceed it first - if (jdoqlElements.isAggregate()) { - if (returnTypeClass.isPrimitive()) { - mformat = CMP20TemplateFormatter.aggregateselectorprimitivereturnformatter; - fourParams[0] = mname; - fourParams[1] = jdoResultType; - fourParams[2] = CMP20TemplateFormatter.dot_ + - CMP20TemplateFormatter.getUnwrapMethodName(returnTypeClass); - fourParams[3] = CMP20TemplateFormatter.catchClauseTemplate; - body.append(mformat.format(fourParams)); - } else if (returnTypeClass.getName().equals(jdoResultType)) { - mformat = CMP20TemplateFormatter.aggregateselectorreturnformatter; - twoParams[0] = jdoResultType; - twoParams[1] = CMP20TemplateFormatter.catchClauseTemplate; - body.append(mformat.format(twoParams)); - } else if (returnTypeClass.isAssignableFrom( - java.math.BigDecimal.class)) { - mformat = CMP20TemplateFormatter.aggregateselectorreturnbigdecimalconvformatter; - twoParams[0] = jdoResultType; - twoParams[1] = CMP20TemplateFormatter.catchClauseTemplate; - body.append(mformat.format(twoParams)); - } else if (returnTypeClass.isAssignableFrom( - java.math.BigInteger.class)) { - mformat = CMP20TemplateFormatter.aggregateselectorreturnbigintegerconvformatter; - twoParams[0] = jdoResultType; - twoParams[1] = CMP20TemplateFormatter.catchClauseTemplate; - body.append(mformat.format(twoParams)); - - } else { - mformat = CMP20TemplateFormatter.aggregateselectorreturnconvformatter; - fourParams[0] = returnType; - fourParams[1] = jdoResultType; - fourParams[2] = CMP20TemplateFormatter.dot_ + - CMP20TemplateFormatter.getUnwrapMethodName( - CMP20TemplateFormatter.getPrimitiveClass( - CMP20TemplateFormatter.getPrimitiveName(returnTypeClass))); - fourParams[3] = CMP20TemplateFormatter.catchClauseTemplate; - body.append(mformat.format(fourParams)); - } - } else { - // tests if the returntype is a primitive java type - // if so, the cast parameter is the wrapperclass of the - // primitive type and the getterMethod for the primitive - // value of the wrapper class is added. - // This is necessary because the JDOQuery returns collections - // of objects only, but the selector returns a primitive type. - mformat = CMP20TemplateFormatter.singleselectorreturnformatter; - if (returnTypeClass.isPrimitive()) { - threeParams[0] = CMP20TemplateFormatter.getWrapperName(returnType); - threeParams[1] = CMP20TemplateFormatter.dot_ + - CMP20TemplateFormatter.getUnwrapMethodName(returnTypeClass); - threeParams[2] = CMP20TemplateFormatter.catchClauseTemplate; - } else { - threeParams[0] = returnType; - threeParams[1] = CMP20TemplateFormatter.none_; - threeParams[2] = CMP20TemplateFormatter.catchClauseTemplate; - } - body.append(mformat.format(threeParams)); - } - - break; - } - - return body.toString(); - } - - /** - * Generates code that check the finder/selector parameters for the - * Query.execute call (if necessary). - * @param m Method instance of the specific finder/selector method - * @param parameterEjbNames array of ejb names - * @return the codefragment for the checking local/remote parameters - * for method if EJB name is known from ejbql. - */ - String generateFinderSelectorParamCheck(Method m, - String[] parameterEjbNames) { - StringBuilder checkBody = new StringBuilder(); - - Class[] paramTypes = m.getParameterTypes(); - int paramLength = paramTypes.length; - String paramClassName = null; - for (int i = 0; i < paramLength; i++) { - if (parameterEjbNames[i] != null) { - paramClassName = paramTypes[i].getName(); - String concreteImplName = - nameMapper.getConcreteBeanClassForEjbName( - parameterEjbNames[i]); - twoParams[0] = concreteImplName; - twoParams[1] = CMP20TemplateFormatter.param_ + i; - - if (nameMapper.isLocalInterface(paramClassName)) { - checkBody.append(CMP20TemplateFormatter.finderselectorchecklocalformatter.format(twoParams)); - } else { // Remote - checkBody.append(CMP20TemplateFormatter.finderselectorcheckremoteformatter.format(twoParams)); - } - } - } - - return checkBody.toString(); - } - - /** - * Checks if the finder returns an Enumeration. Returns false - * for CMP2.0. - * @param finder Methodobject of the finder - * @return true if the finder returns a Enumeration - */ - boolean isFinderReturningEnumeration(Method finder) { - return false; - } - - /** - * Checks if the selector method is a single-object or multi-object selector. - * @param finder Method object of the finder - * @return true if it is a single-object-value selector - */ - private boolean isSingleObjectSelector(Method finder) { - return (!(finder.getReturnType().equals(java.util.Collection.class) || - finder.getReturnType().equals(java.util.Set.class))); - } - - /** - * Checks if the a selector returns a Set (for CMP2.0) - * @param selector Methodobject of the selector - * @return true if the selector returns a Set - */ - private boolean isSelectorReturningSet(Method selector) { - return (selector.getReturnType().equals(java.util.Set.class)); - } - - /** - * Returns the signatures of the classes and properties which are - * involved in the codegen. - * @return The signatures as a string. - */ - String getSignaturesOfGeneratorClasses() - { - StringBuilder signatures = new StringBuilder(). - - // adding signature of JDOConcreteBeanGenerator - append(super.getSignaturesOfGeneratorClasses()). - append(CMPTemplateFormatter.signatureDelimiter_). - - // adding signature of JDOConcreteBean20Generator - append(JDOConcreteBean20Generator.SIGNATURE). - append(CMPTemplateFormatter.signatureDelimiter_). - - // adding signature of CMP20Templates.properties - append(CMP20TemplateFormatter.signature2_0Template). - append(CMPTemplateFormatter.signatureDelimiter_). - - // adding signature of EJBQLC - append(EJBQLC.SIGNATURE); - - return signatures.toString(); - } - -} - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBeanGenerator.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBeanGenerator.java deleted file mode 100644 index b622fee3997..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/JDOConcreteBeanGenerator.java +++ /dev/null @@ -1,1718 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018-2019] Payara Foundation and/or affiliates - -/* - * JDOConcreteBeanGenerator.java - * - * Created on November 20, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.jdo.PersistenceClassElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; -import com.sun.jdo.api.persistence.model.mapping.MappingClassElement; -import com.sun.jdo.api.persistence.model.mapping.MappingFieldElement; -import com.sun.jdo.spi.persistence.support.ejb.ejbqlc.JDOQLElements; -import com.sun.jdo.spi.persistence.support.ejb.model.DeploymentDescriptorModel; -import com.sun.jdo.spi.persistence.support.ejb.model.util.NameMapper; -import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriter; -import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriterHelper; -import com.sun.jdo.spi.persistence.utility.generator.JavaFileWriter; -import com.sun.jdo.spi.persistence.utility.generator.io.IOJavaClassWriter; -import com.sun.jdo.spi.persistence.utility.generator.io.IOJavaFileWriter; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.common.util.StringHelper; -import org.glassfish.persistence.common.I18NHelper; - -import java.io.File; -import java.io.IOException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.text.MessageFormat; -import java.util.*; - -/* - * This is the base class for JDO specific generator for the concrete CMP - * beans. - * - * @author Marina Vatkina - */ -abstract class JDOConcreteBeanGenerator { - - static final Logger logger = LogHelperEJBCompiler.getLogger(); - - // used to transform b/w various ejb names and pc class names - NameMapper nameMapper = null; - - Model model = null; // used to look up various metadata - - String appName = null; - String beanName = null; - String helperName = null; - String concreteImplName = null; - String abstractBean = null; - String pkClass = null; - String pcname = null; - boolean hasLocalInterface; - boolean hasRemoteInterface; - boolean isUpdateable; - - String setPKField = null; - - // Name of the PC or PK Class as a single String parameter. - String[] pcnameParam = new String[1]; - String[] pkClassParam = new String[1]; - - static String[] objectType = new String[]{CMPTemplateFormatter.Object_}; - static String[] param0 = new String[]{CMPTemplateFormatter.param0_}; - static String[] param0PM = new String[] {CMPTemplateFormatter.param0_, - CMPTemplateFormatter.jdoPersistenceManager_}; - - // Generic parameters - String[] oneParam = new String[1]; - String[] twoParams = new String[2]; - String[] threeParams = new String[3]; - String[] fourParams = new String[4]; - String[] fiveParams = new String[5]; - String[] sixParams = new String[6]; - - String[] queryParams = new String[10]; - - // StringBuilder for loading nonDFG fields into read-only beans - StringBuilder loadNonDFGBody = null; - - ClassLoader loader; - - // Writer for the concrete bean. - JavaClassWriter concreteImplWriter; - - // Writer for the static _JDOHelper class. - JavaClassWriter jdoHelperWriter; - - /** - * I18N message handler - */ - final static ResourceBundle messages = I18NHelper.loadBundle( - JDOConcreteBeanGenerator.class); - - /** Name of the SUPPORT_TRAILING_SPACES_IN_VARCHAR_PK_COLUMNS property. */ - public static final String SUPPORT_TRAILING_SPACES_IN_STRING_PK_COLUMNS_PROPERTY = - "com.sun.jdo.spi.persistence.support.ejb.ejbc.SUPPORT_TRAILING_SPACES_IN_STRING_PK_COLUMNS"; // NOI18N - - /** - * Property to swich on/off support for trailing spaces for pk of String types. Note, the default is false, meaning - * we trip trailing spaces in pk columns - */ - private static final boolean SUPPORT_TRAILING_SPACES_IN_STRING_PK_COLUMNS = Boolean.valueOf( - System.getProperty(SUPPORT_TRAILING_SPACES_IN_STRING_PK_COLUMNS_PROPERTY, "false")).booleanValue(); // NOI18N - - - /** - * Signature of the input files. - */ - String inputFilesSignature; - - /** - * Signature of the generator classes for the codegen. - */ - String generatorClassesSignature; - - /** - * Signature with CVS keyword substitution for identifying the generated code - */ - static final String SIGNATURE = "$RCSfile: JDOConcreteBeanGenerator.java,v $ $Revision: 1.3 $"; //NOI18N - - JDOConcreteBeanGenerator(ClassLoader loader, - Model model, - NameMapper nameMapper) - throws IOException { - this.loader = loader; - this.model = model; - this.nameMapper = nameMapper; - - CMPTemplateFormatter.initHelpers(); - CMPROTemplateFormatter.initHelpers(); - } - - void setUpdateable(boolean updateable) { - isUpdateable = updateable; - } - - /** - * Validate this CMP bean. To be overridden in subclass if necessary. - * No generic validation is done at this time. - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean. - * @param beanName the ejb name for this bean. - * @return a Collection of Exception instances with a separate instance for - * each failed validation. This implementation returns an empty collection - * because generic validation always succeeds. - */ - Collection validate(AbstractMethodHelper methodHelper, String beanName) { - return new ArrayList(); - } - - /** - * Generate all required classes for this CMP bean. - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean. - * @param beanName the ejb-name of this bean. - * @param appName the name of the application that contains this bean. - * @param srcout that path to the generated source files. - * @param classout that path to the compiled class files. - * @return a Collection of generated source files. - */ - Collection generate(AbstractMethodHelper methodHelper, - String beanName, String appName, - File srcout, File classout) - throws IOException { - - Collection files = new ArrayList(); - - this.beanName = beanName; - this.appName = appName; - this.abstractBean = nameMapper.getAbstractBeanClassForEjbName(beanName); - - String pkgName = CMPTemplateFormatter.getPackageName(abstractBean); - concreteImplName = nameMapper.getConcreteBeanClassForEjbName(beanName); - String shortCmpName = CMPTemplateFormatter.getShortClassName(concreteImplName); - - pcname = nameMapper.getPersistenceClassForEjbName(beanName); - pcnameParam[0] = pcname; - - PersistenceClassElement pcClassElement = - model.getPersistenceClass(pcname); - - pkClass = nameMapper.getKeyClassForEjbName(beanName). - replace('$', '.'); - pkClassParam[0] = pkClass; - - PersistenceFieldElement[] allFields = pcClassElement.getFields(); - - String prefix = srcout.getPath() + File.separator + - concreteImplName.replace('.', File.separatorChar); - - String cmp_file_name = prefix + CMPTemplateFormatter.javaExtension_; - - String hlp_file_name = prefix + CMPTemplateFormatter.Helper_ + - CMPTemplateFormatter.javaExtension_; - - hasLocalInterface = - (nameMapper.getLocalInterfaceForEjbName(beanName) != null); - hasRemoteInterface = - (nameMapper.getRemoteInterfaceForEjbName(beanName) != null); - - if (logger.isLoggable(Logger.FINE)) { - logger.fine("allFields: " + // NOI18N - ((allFields != null) ? allFields.length : 0)); - logger.fine("cmp_file_name: " + cmp_file_name); // NOI18N - logger.fine("hlp_file_name: " + hlp_file_name); // NOI18N - logger.fine("cmp_name: " + concreteImplName); // NOI18N - logger.fine("pkClass: " + pkClass); // NOI18N - logger.fine("PCname: " + pcname); // NOI18N - } - - File cmp_file = new File(cmp_file_name); - JavaFileWriter concreteImplFileWriter = new IOJavaFileWriter(cmp_file); - concreteImplWriter = new IOJavaClassWriter(); - - File hlp_file = new File(hlp_file_name); - JavaFileWriter helperFileWriter = new IOJavaFileWriter(hlp_file); - jdoHelperWriter = new IOJavaClassWriter(); - - // Add package statement to both classes. - if (pkgName != null && pkgName.length() > 0) { - concreteImplFileWriter.setPackage(pkgName, null); - helperFileWriter.setPackage(pkgName, null); - } - - // Add imports statements to both classes. - addImportStatements(concreteImplFileWriter, helperFileWriter); - - // Generate class name for the concrete impl. - oneParam[0] = CMPTemplateFormatter.cmpImplCommentsTemplate; - concreteImplWriter.setClassDeclaration(Modifier.PUBLIC, - shortCmpName, oneParam); - - // Add interfaces to the class declarations. - addInterfaces(); - - concreteImplWriter.setSuperclass(abstractBean); - - // Add no-arg constructor. - concreteImplWriter.addConstructor(shortCmpName, - Modifier.PUBLIC, null, null, null, - CMPTemplateFormatter.super_, null); - - // Add helper class. - helperName = shortCmpName + CMPTemplateFormatter.Helper_; - - oneParam[0] = shortCmpName; - jdoHelperWriter.setClassDeclaration(Modifier.PUBLIC, - helperName, CMPTemplateFormatter.getBodyAsStrings( - CMPTemplateFormatter.hcomformatter.format(oneParam))); - - setHelperSuperclass(); - - // Print internal variables. - generateFields(); - - // Generate type specific methods. - generateTypeSpecificMethods(allFields, methodHelper); - - // Add finders for all types and selectors for CMP2.0 only. - generateFinders(methodHelper); - - // Add ejbCreate methods. - generateCreateMethods(methodHelper.getCreateMethods()); - - // Add other required methods. - generateKnownMethods(methodHelper); - - // Add helper methods for the helper class. - generateHelperClassMethods(); - - // Add conversion methods to the helper class. - generateConversions(); - - // Add ObjectId/PrimaryKey conversion methods. - generatePKObjectIdConversion(getKeyFields(allFields)); - - // Print end of classes. - concreteImplFileWriter.addClass(concreteImplWriter); - concreteImplFileWriter.save(); - - helperFileWriter.addClass(jdoHelperWriter); - helperFileWriter.save(); - - files.add(cmp_file); - files.add(hlp_file); - - return files; - } - - /** Add import statements for for the generated classes. - */ - void addImportStatements(JavaFileWriter concreteImplFileWriter, - JavaFileWriter helperFileWriter) throws IOException { - - String[] st = CMPTemplateFormatter.importsArray; - for (int i = 0; i < st.length; i++) { - concreteImplFileWriter.addImport(st[i], null); - } - - st = CMPTemplateFormatter.helperImportsArray; - for (int i = 0; i < st.length; i++) { - helperFileWriter.addImport(st[i], null); - } - } - - /** - * Add interfaces to the class declarations. - */ - void addInterfaces() throws IOException { - - String[] st = CMPTemplateFormatter.interfacesArray; - for (int i = 0; i < st.length; i++) { - concreteImplWriter.addInterface(st[i]); - } - } - - /** - * Super class for the helper class is type specific. - */ - abstract void setHelperSuperclass() throws IOException; - - /** - * Generate type specific methods for setters, getters, - * and any other methods that are completely different - * between bean types. - */ - void generateTypeSpecificMethods( - PersistenceFieldElement[] allFields, - AbstractMethodHelper methodHelper) - throws IOException { - - // Initialize loadNonDFGBody for preloading non-DFG fields - // in read-only beans. - if (isUpdateable) { - loadNonDFGBody = null; - } else { - loadNonDFGBody = new StringBuilder(); - } - } - - /** - * Sets the signature of the input files for the codegen. - * @param newSignature The signature of the input files. - */ - void addCodeGenInputFilesSignature(String newSignature) - { - if ((inputFilesSignature == null) || - (inputFilesSignature.length() == 0)) { - inputFilesSignature = newSignature; - } - else { - inputFilesSignature = - inputFilesSignature + - CMPTemplateFormatter.signatureDelimiter_ + - newSignature; - } - } - - /** - * Sets the signature of the generator classes for codegen. - * @param newSignature The signature of the generator classes. - */ - void addCodeGeneratorClassSignature(String newSignature) - { - if ((generatorClassesSignature == null) || - (generatorClassesSignature.length() == 0)) { - generatorClassesSignature = newSignature; - } - else { - generatorClassesSignature = - generatorClassesSignature + - CMPTemplateFormatter.signatureDelimiter_ + - newSignature; - } - } - - /** - * Generates required internal variables. - */ - void generateFields() throws IOException { - - // Add private transient fields: - CMPTemplateFormatter.addPrivateField( - CMPTemplateFormatter.privatetransientvformatter.format(pcnameParam), - Modifier.TRANSIENT, - concreteImplWriter); - - // Add private static fields: - CMPTemplateFormatter.addPrivateField( - CMPTemplateFormatter.privateStaticVariablesTemplate, - Modifier.STATIC, - concreteImplWriter); - - // Add private static final fields: - twoParams[0] = pcname; - twoParams[1] = beanName; - CMPTemplateFormatter.addPrivateField( - CMPTemplateFormatter.privatestaticfinalvformatter.format(twoParams), - Modifier.STATIC + Modifier.FINAL, - concreteImplWriter); - - // Add public static final variables for signatures - twoParams[0] = generatorClassesSignature; - twoParams[1] = inputFilesSignature; - CMPTemplateFormatter.addFields( - CMPTemplateFormatter.publicstaticfinalvformatter.format(twoParams), - Modifier.PUBLIC + Modifier.STATIC + Modifier.FINAL, - concreteImplWriter); - - // The static fields holding the Query variables and their monitors - // are generated during finder/selector method handling. - - CMPTemplateFormatter.addPrivateField( - CMPTemplateFormatter.otherVariablesTemplate, - 0, concreteImplWriter); - - threeParams[0] = concreteImplName; - threeParams[1] = beanName; - threeParams[2] = appName; - CMPTemplateFormatter.addPrivateField( - CMPTemplateFormatter.hvformatter.format(threeParams), - Modifier.TRANSIENT+Modifier.STATIC, - jdoHelperWriter); - - // Add read-only fields: - if (!isUpdateable) { - // private transient fields: - CMPTemplateFormatter.addPrivateField( - CMPROTemplateFormatter.privatetransientvformatter.format(pcnameParam), - Modifier.TRANSIENT, - concreteImplWriter); - - // private static fields: - CMPTemplateFormatter.addPrivateField( - CMPROTemplateFormatter.privateStaticFinalVariablesTemplate, - Modifier.STATIC + Modifier.FINAL, - concreteImplWriter); - } - - } - - /** Adds ejbFindBy methods. - */ - void generateFinders(AbstractMethodHelper methodHelper) - throws IOException { - - boolean debug = logger.isLoggable(Logger.FINE); - List finders = methodHelper.getFinders(); - for (int i = 0; i < finders.size(); i++) { - Method m = (Method)finders.get(i); - String mname = CMPTemplateFormatter.ejb_ + - StringHelper.getCapitalizedString(m.getName()); - - if (debug) { - logger.fine("Finder: " + mname); // NOI18N - } - - if (mname.equals(CMPTemplateFormatter.ejbFindByPrimaryKey_)) { - // ejbFindByPrimaryKey - String[] exceptionTypes = - CMPTemplateFormatter.getExceptionNames(m); - - oneParam[0] = CMPTemplateFormatter.key_; - - concreteImplWriter.addMethod(CMPTemplateFormatter.ejbFindByPrimaryKey_, // name - Modifier.PUBLIC , // modifiers - pkClass, // returnType - oneParam, // parameterNames - pkClassParam, //parameterTypes - exceptionTypes,// exceptions - CMPTemplateFormatter.ejbFindByPrimaryKeyBody, //body - null);// comments - - } else { - JDOQLElements rs = getJDOQLElements(m, methodHelper); - - // check for single-object finder vs. multi-object finder - String returnType = isSingleObjectFinder(m) ? - pkClass : m.getReturnType().getName(); - CMPTemplateFormatter.addGenericMethod( - m, mname, returnType, - generateFinderMethodBody(methodHelper, rs, mname, m, returnType, i), - concreteImplWriter); - } - } - - - } - - /** Returns JDOQLElements instance for this finder method. - * @param m the finder method as a java.lang.reflect.Method - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean. - * @return JDOQLElements instance. - */ - abstract JDOQLElements getJDOQLElements(Method m, - AbstractMethodHelper methodHelper) throws IOException; - - /** Adds ejbCreate methods. - */ - private void generateCreateMethods(List createMethods) throws IOException { - Class beanClass = null; - try { - beanClass = Class.forName(abstractBean, true, loader); - } catch (Exception e) { - throw new RuntimeException(e.toString()); - } - - // Store generated getters to avoid duplicates. - HashSet generated = new HashSet(); - - for (int i = 0; i < createMethods.size(); i++) { - Method m = (Method)createMethods.get(i); - Method m1 = m; - - // Method name is ejbCreate - String createName =CMPTemplateFormatter.ejbCreate_; - String postCreateName =CMPTemplateFormatter.ejbPostCreate_; - if (m.getName().length() > 6) { - String suffix = m.getName().substring(6); - createName += suffix; - postCreateName += suffix; - } - - boolean debug = logger.isLoggable(Logger.FINE); - if (debug) { - logger.fine("CreateMethod: " + abstractBean + "" + m.getName()); // NOI18N - logger.fine("ejbCreateMethod: " + createName); // NOI18N - logger.fine("ejbPostCreateMethod: " + postCreateName); // NOI18N - } - - // Get actual method in the bean and resolve exception type to generate... - try { - Class[] params = m.getParameterTypes(); - - // This is a work around the case when the parameter class loader - // differs from the given class loader ("loader"). - for (int j = 0; j < params.length; j++) { - if (params[j].isPrimitive() || - params[j].getClassLoader() == null || - params[j].getClassLoader().equals(loader)) { - continue; - } - String pname = params[j].getName(); - - if (debug) { - logger.fine("Replacing parameter class for: " + pname); // NOI18N - logger.fine("Param ClassLoader: " + params[j].getClassLoader()); - logger.fine("Need ClassLoader: " + loader); - } - - params[j] = Class.forName(pname, true, loader); - } - // End of the work around the class loader problem. - - // Cannot use getDeclaredMethod() as the actual method can be in a - // superclass. - m = beanClass.getMethod(createName, params); - m1 = beanClass.getMethod(postCreateName, params); - if (generated.contains(m)) { - // Called from more than one interface - skip it. - if (debug) { - logger.fine("...generated..."); // NOI18N - } - - continue; - - } - generated.add(m); - - } catch (Exception e) { - // method does not exist as ejbCreateXxx. It was a business method. - continue; - } - - String[] exc = CMPTemplateFormatter.getExceptionNames(m); - String parametersList = CMPTemplateFormatter.getParametersList(m); - String parametersListWithSeparator = makeLiteral( - CMPTemplateFormatter.getParametersListWithSeparator( - m, CMPTemplateFormatter.paramConcatenator_ )); - - String body = getEJBCreateMethodBody(createName, exc, - parametersList, parametersListWithSeparator); - - CMPTemplateFormatter.addGenericMethod( - m, createName, pkClass, body, concreteImplWriter); - - body = getEJBPostCreateMethodBody(postCreateName, - parametersList, parametersListWithSeparator); - - CMPTemplateFormatter.addGenericMethod( - m1, postCreateName, CMPTemplateFormatter.void_, - body, concreteImplWriter); - } - } - - /** Returns method body for EJBCreate method. - * @param createName the actual name of the method as String. - * @param exc a String[] of decleared exceptions for this method. - * @param parametersList the list of method parameters as String. - * @param parametersListWithSeparator the list of concatenated method - * parameters to be passed to another method as String. - * @return method body as String. - */ - abstract String getEJBCreateMethodBody(String createName, - String[] exc, String parametersList, - String parametersListWithSeparator); - - /** Returns method body for EJBPostCreate method. - * @param postCreateName the actual name of the method as String. - * @param parametersList the list of method parameters as String. - * @param parametersListWithSeparator the list of concatenated method - * parameters to be passed to another method as String. - * @return method body as String. - */ - abstract String getEJBPostCreateMethodBody(String postCreateName, - String parametersList, String parametersListWithSeparator); - - /** Returns method body for EJBRemove method. - * @return method body as String. - */ - abstract String getEJBRemoveMethodBody(); - - /** Adds other known required methods - * - CMPTemplateFormatter.commonPublicMethods_ - * - CMPTemplateFormatter.commonPrivateMethods - * - Other generic methods - * - Special methods that differ between special types (e.g. read-only - * beans) to be overridden if necessary - * - CMPTemplateFormatter.otherPublicMethods_ that differ - * between CMP 1.1 and 2.x types are added in subclasses. - */ - void generateKnownMethods(AbstractMethodHelper methodHelper) - throws IOException { - - String[] exc = null; - String[] st = CMPTemplateFormatter.commonPublicMethodsArray; - for (int i = 0; i < st.length; i++) { - String mname = st[i]; - exc = getExceptionList(methodHelper, mname); - - String body = null; - if (mname.equals(CMPTemplateFormatter.ejbRemove_)) { - body = getEJBRemoveMethodBody(); - - } else if (mname.equals(CMPTemplateFormatter.ejb__flush_)) { - oneParam[0] = CMPTemplateFormatter.DuplicateKeyException_; - exc = oneParam; - body = CMPTemplateFormatter.helpers.getProperty(mname); - - } else { - body = CMPTemplateFormatter.helpers.getProperty(mname); - } - - concreteImplWriter.addMethod(mname, // name - Modifier.PUBLIC, // modifiers - CMPTemplateFormatter.void_, // returnType - null, // parameterNames - null,// parameterTypes - exc,// exceptions - CMPTemplateFormatter.getBodyAsStrings(body), // body - null);// comments - - } - - // This is a cleanup method that is public, but has int param. - oneParam[0] = CMPTemplateFormatter.int_; - concreteImplWriter.addMethod(CMPTemplateFormatter.afterCompletion_, // name - Modifier.PUBLIC, // modifiers - CMPTemplateFormatter.void_, // returnType - param0, // parameterNames - oneParam,// parameterTypes - null,// exceptions - CMPTemplateFormatter.afterCompletionBody, // body - null);// comments - - concreteImplWriter.addMethod(CMPTemplateFormatter.ejb__remove_, // name - Modifier.PUBLIC , // modifiers - CMPTemplateFormatter.void_, // returnType - param0, // parameterNames - objectType, //parameterTypes - null,// exceptions - // body is not defined for this method. - null, // body - null);// comments - - String body; - st = CMPTemplateFormatter.commonPrivateMethodsArray; - - for (int i = 0; i < st.length; i++) { - String mname = st[i]; - body = CMPTemplateFormatter.helpers.getProperty(mname); - - CMPTemplateFormatter.addGenericMethod(mname, - CMPTemplateFormatter.getBodyAsStrings(body), concreteImplWriter); - } - - // Add jdoArrayCopy to return byte[]. - oneParam[0] = CMPTemplateFormatter.byte_; - body = CMPTemplateFormatter.jdoarraycopyformatter.format(oneParam); - - oneParam[0] = CMPTemplateFormatter.byteArray_; - concreteImplWriter.addMethod( - CMPTemplateFormatter.jdoArrayCopy_, // name - Modifier.PRIVATE, // modifiers - CMPTemplateFormatter.byteArray_, // returnType - param0, // parameterNames - oneParam,// parameterTypes - null,// exceptions - CMPTemplateFormatter.getBodyAsStrings(body), // body - null);// comments - - // Add setEntityContext - oneParam[0] = CMPTemplateFormatter.EntityContext_; - concreteImplWriter.addMethod(CMPTemplateFormatter.setEntityContext_, // name - Modifier.PUBLIC, // modifiers - CMPTemplateFormatter.void_, // returnType - param0, // parameterNames - oneParam,// parameterTypes - getExceptionList(methodHelper, - CMPTemplateFormatter.setEntityContext_, - oneParam),// exceptions - CMPTemplateFormatter.setEntityContextBody, // body - null);// comments - - // Add jdoGetObjectId - oneParam[0] = CMPTemplateFormatter.key_; - - String[] param = new String[]{concreteImplName}; - - concreteImplWriter.addMethod(CMPTemplateFormatter.getObjectId_, // name - Modifier.PRIVATE , // modifiers - CMPTemplateFormatter.Object_, // returnType - oneParam, // parameterNames - pkClassParam,// parameterTypes - null,// exceptions - CMPTemplateFormatter.getBodyAsStrings( - CMPTemplateFormatter.goidformatter.format(param)), // body - null);// comments - - // Add jdoGetJdoInstanceClass - oneParam[0] = CMPTemplateFormatter.jdoGetJdoInstanceClassTemplate; - - CMPTemplateFormatter.addGenericMethod( - CMPTemplateFormatter.jdoGetJdoInstanceClass_, - Modifier.PUBLIC + Modifier.STATIC, - CMPTemplateFormatter.Class_, oneParam, - concreteImplWriter); - - generateSpecialKnownMethods(); - } - - /** Adds required methods that differ between special types (e.g. read-only - * beans) to be overridden if necessary; - */ - void generateSpecialKnownMethods() throws IOException { - - String[] body = null; - - // For the following methods the method body exists only for - // updateable beans - - // assertPersistenceManagerIsNull - if (isUpdateable) { - body = CMPTemplateFormatter.assertPersistenceManagerIsNullBody; - } - CMPTemplateFormatter.addGenericMethod( - CMPTemplateFormatter.assertPersistenceManagerIsNull_, - body, concreteImplWriter); - - // assertInTransaction - if (isUpdateable) { - oneParam[0] = I18NHelper.getMessage(messages, "EXC_TransactionNotActive"); // NOI18N - body = CMPTemplateFormatter.getBodyAsStrings( - CMPTemplateFormatter.intxformatter.format(oneParam)); - } - CMPTemplateFormatter.addGenericMethod( - CMPTemplateFormatter.assertInTransaction_, - body, concreteImplWriter); - - // For the following methods the method body exists for - // all bean types - - // jdoClosePersistenceManager - if (isUpdateable) { - body = CMPTemplateFormatter.jdoClosePersistenceManagerBody; - } else { - body = CMPROTemplateFormatter.jdoClosePersistenceManagerBody; - } - - CMPTemplateFormatter.addGenericMethod( - CMPTemplateFormatter.jdoClosePersistenceManager_, - body, concreteImplWriter); - - // Add jdoGetPersistenceManager as method returning PersistenceManager: - if (isUpdateable) { - body = CMPTemplateFormatter.jdoGetPersistenceManagerBody; - } else { - body = CMPROTemplateFormatter.jdoGetPersistenceManagerBody; - } - CMPTemplateFormatter.addGenericMethod( - CMPTemplateFormatter.jdoGetPersistenceManager_, - CMPTemplateFormatter.jdoPersistenceManagerClass_, - body, concreteImplWriter); - - // Add methods that use PK as the argument - oneParam[0] = CMPTemplateFormatter.key_; - if (isUpdateable) { - body = CMPTemplateFormatter.jdoGetPersistenceManager0Body; - } else { - body = CMPROTemplateFormatter.jdoGetPersistenceManager0Body; - - // Also add jdoGetPersistenceManagerByPK for RO beans only as method returning - // PersistenceManager for this PK: - concreteImplWriter.addMethod(CMPROTemplateFormatter.jdoGetPersistenceManagerByPK_, // name - Modifier.PUBLIC , // modifiers - CMPTemplateFormatter.jdoPersistenceManagerClass_, // returnType - oneParam, // parameterNames - pkClassParam, //parameterTypes - null,// exceptions - CMPROTemplateFormatter.jdoGetPersistenceManagerByPKBody, //body - null);// comments - } - - concreteImplWriter.addMethod(CMPTemplateFormatter.jdoGetPersistenceManager0_, // name - Modifier.PUBLIC , // modifiers - CMPTemplateFormatter.jdoPersistenceManagerClass_, // returnType - oneParam, // parameterNames - pkClassParam, //parameterTypes - null,// exceptions - body, // body - null);// comments - - // Add jdoLookupPersistenceManagerFactory as static synchronized method: - oneParam[0] = concreteImplName; - MessageFormat mformat = null; - if (isUpdateable) { - mformat = CMPTemplateFormatter.jdolookuppmfformatter; - } else { - mformat = CMPROTemplateFormatter.jdolookuppmfformatter; - } - concreteImplWriter.addMethod( - CMPTemplateFormatter.jdoLookupPersistenceManagerFactory_, - Modifier.PRIVATE + Modifier.STATIC + Modifier.SYNCHRONIZED, // modifiers - CMPTemplateFormatter.void_, // returnType - param0, // parameterNames - objectType, // parameterTypes - null,// exceptions - CMPTemplateFormatter.getBodyAsStrings(mformat.format(oneParam)), - null);// comments - - // Add jdoGetInstance - threeParams[0] = pkClass; - threeParams[1] = pcname; - threeParams[2] = CMPTemplateFormatter.none_; // will be ignored for updateable beans - if (isUpdateable) { - mformat = CMPTemplateFormatter.giformatter; - } else { - if (loadNonDFGBody != null) { - threeParams[2] = loadNonDFGBody.toString(); - } - mformat = CMPROTemplateFormatter.giformatter; - } - CMPTemplateFormatter.addGenericMethod( - CMPTemplateFormatter.getInstance_, - CMPTemplateFormatter.getBodyAsStrings(mformat.format(threeParams)), - concreteImplWriter); - - // These are methods that do have arguments. - - // ejb__refresh has method body only for read-only beans - if (isUpdateable) { - body = null; - } else { - // Reuse threeParams from getInstance_ - body = CMPTemplateFormatter.getBodyAsStrings( - CMPROTemplateFormatter.ejb__refreshformatter.format(threeParams)); - } - concreteImplWriter.addMethod(CMPTemplateFormatter.ejb__refresh_, // name - Modifier.PUBLIC , // modifiers - CMPTemplateFormatter.void_, // returnType - param0, // parameterNames - objectType, //parameterTypes - null,// exceptions - body, // body - null);// comments - - // Add jdoReleasePersistenceManager as method - // with PersistenceManager as a param: - oneParam[0] = CMPTemplateFormatter.jdoPersistenceManagerClass_; - concreteImplWriter.addMethod(CMPTemplateFormatter.jdoReleasePersistenceManager_, // name - Modifier.PRIVATE, // modifiers - CMPTemplateFormatter.void_, // returnType - param0, // parameterNames - oneParam,// parameterTypes - null,// exceptions - CMPTemplateFormatter.jdoReleasePersistenceManagerBody, // body - null);// comments - - // Add jdoReleasePersistenceManager0 as method - // with PersistenceManager as a param that is different - // between updateable and read-only beans: - if (isUpdateable) { - body = CMPTemplateFormatter.jdoReleasePersistenceManagerBody; - } else { - body = CMPROTemplateFormatter.jdoReleasePersistenceManager0Body; - } - concreteImplWriter.addMethod(CMPTemplateFormatter.jdoReleasePersistenceManager0_, // name - Modifier.PRIVATE, // modifiers - CMPTemplateFormatter.void_, // returnType - param0, // parameterNames - oneParam,// parameterTypes - null,// exceptions - body, // body - null);// comments - - } - - /** - * Generates helper methods for the helper class. - */ - void generateHelperClassMethods() throws IOException { - // Add Helper.assertInstanceOfRemoteInterfaceImpl() method for all beans. - oneParam[0] = CMPTemplateFormatter.assertInstanceOfRemoteInterfaceImplTemplate; - - jdoHelperWriter.addMethod(CMPTemplateFormatter.assertInstanceOfRemoteInterfaceImpl_, // name - Modifier.PUBLIC, // modifiers - CMPTemplateFormatter.void_, // returnType - param0, // parameterNames - objectType,// parameterTypes - null,// exceptions - oneParam, // body - null);// comments - - // Add Helper.getHelperInstance() method. - oneParam[0] = CMPTemplateFormatter.getHelperInstanceTemplate; - CMPTemplateFormatter.addGenericMethod( - CMPTemplateFormatter.getHelperInstance_, - Modifier.PUBLIC + Modifier.STATIC, - helperName, oneParam, - jdoHelperWriter); - - // Add Helper.getContainer() method. - CMPTemplateFormatter.addGenericMethod( - CMPTemplateFormatter.getContainer_, - Modifier.PUBLIC, CMPTemplateFormatter.Object_, - CMPTemplateFormatter.getContainerBody, - jdoHelperWriter); - - // Add getPCCLass to the helper class - oneParam[0] = concreteImplName; - CMPTemplateFormatter.addGenericMethod( - CMPTemplateFormatter.getPCClass_, - Modifier.PUBLIC, CMPTemplateFormatter.Class_, - CMPTemplateFormatter.getBodyAsStrings( - CMPTemplateFormatter.pcclassgetterformatter.format( - oneParam)), - jdoHelperWriter); - } - - private String[] getKeyFields(PersistenceFieldElement[] fields) { - List returnList = new ArrayList(); - int i, count = ((fields != null) ? fields.length : 0); - - for (i = 0; i < count; i++) { - PersistenceFieldElement pfe = fields[i]; - - if (pfe.isKey()) - returnList.add(pfe.getName()); - } - - return (String[])returnList.toArray(new String[returnList.size()]); - } - - /** Adds ObjectId/PrimaryKey conversion methods to the helper class. - */ - private void generatePKObjectIdConversion(String[] keyFields) - throws IOException{ - int length = keyFields.length; - StringBuilder getOid = new StringBuilder(); // PK -> Oid - StringBuilder getPK = new StringBuilder(); // Oid -> PK - String[] pkfieldParam = new String[1]; - - // Add parameter validation to avoid NullPointerException and - // other startup lines for the conversions that do not depend - // on the pk type. - getOid.append(CMPTemplateFormatter.assertPKNotNullTemplate). - append(CMPTemplateFormatter.noidformatter.format(pcnameParam)); - getPK.append(CMPTemplateFormatter.assertOidNotNullTemplate). - append(CMPTemplateFormatter.oidcformatter.format(pcnameParam)); - - boolean debug = logger.isLoggable(Logger.FINE); - if (length == 1) { - // only one key field - we don't know yet if there is a special PK class. - - // RESOLVE: Find out what must be null for this case.... - String pkfield = keyFields[0]; - String pkfieldType = model.getFieldType(pcname, pkfield); - pkfieldParam[0] = pkfield; - - if (debug) { - logger.fine("pkfield: " + pkfield); // NOI18N - } - - if (model.isPrimitive(pcname, pkfield) || - (!pkClass.equals(pkfieldType) && - !pkClass.equals(Object.class.getName()))) { - - // A single primitive PK field requires a user defined PK class for - // conversion between Object and primitive value. The same type of conversion - // is generated for a user defined PK class in case of wrapper field type. - // Generate conversion as key.id = objectId.id and objectId.id = key.id - - getPK.append(CMPTemplateFormatter.npkformatter.format(pkClassParam)); - getOid.append(CMPTemplateFormatter.pkcformatter.format(pkClassParam)); - - pkfieldParam[0] = pkfield; - - getOid.append( - CMPTemplateFormatter.oidformatter.format(pkfieldParam)); - getPK.append( - CMPTemplateFormatter.pkformatter.format(pkfieldParam)); - - getPK.append(CMPTemplateFormatter.returnKey_); - - } else { - // PK Field is of wrapper type or unknown PK Class - generate conversion - // as key = objectId.id and objectId.id = key. - oneParam[0] = pkfieldType; - getOid.append(CMPTemplateFormatter.pkcformatter.format(oneParam)); - - twoParams[0] = pkfield; - twoParams[1] = pkfieldType; - getOid.append( - requireCloneOnGetAndSet(pkfieldType) ? - CMPTemplateFormatter.oid1cloneformatter.format(twoParams) : - (requireTrimOnSet(pkfieldType) ? - CMPTemplateFormatter.oid1stringformatter.format(pkfieldParam) : - CMPTemplateFormatter.oid1formatter.format(pkfieldParam))); - - getPK.append( - requireCloneOnGetAndSet(pkfieldType) ? - CMPTemplateFormatter.pk1cloneformatter.format(pkfieldParam) : - CMPTemplateFormatter.pk1formatter.format(pkfieldParam)); - - } - } else { - // pkClass declaration with more than 1 field. - getPK.append(CMPTemplateFormatter.npkformatter.format(pkClassParam)); - getOid.append(CMPTemplateFormatter.pkcformatter.format(pkClassParam)); - - for (int i = 0; i < length; i++) { - String pkfield = keyFields[i]; - pkfieldParam[0] = pkfield; - - if (debug) { - logger.fine("pkfield: " + pkfield); // NOI18N - } - - if (!model.isPrimitive(pcname, pkfield)) { - getOid.append( - CMPTemplateFormatter.assertpkfieldformatter.format(pkfieldParam)); - } - - String pkfieldType = model.getFieldType(pcname, pkfield); - twoParams[0] = pkfield; - twoParams[1] = pkfieldType; - getOid.append( - requireCloneOnGetAndSet(pkfieldType) ? - CMPTemplateFormatter.oidcloneformatter.format(twoParams) : - (requireTrimOnSet(pkfieldType) ? - CMPTemplateFormatter.oidstringformatter.format(pkfieldParam) : - CMPTemplateFormatter.oidformatter.format(pkfieldParam))); - getPK.append( - requireCloneOnGetAndSet(pkfieldType) ? - CMPTemplateFormatter.pkcloneformatter.format(twoParams) : - CMPTemplateFormatter.pkformatter.format(pkfieldParam)); - } - - getPK.append(CMPTemplateFormatter.returnKey_); - } - getOid.append(CMPTemplateFormatter.returnOid_); - - - // Add ones that can be used for Collection conversion. - jdoHelperWriter.addMethod(CMPTemplateFormatter.convertPrimaryKeyToObjectId_, // name - Modifier.PUBLIC, // modifiers - CMPTemplateFormatter.Object_, // returnType - param0, // parameterNames - objectType,// parameterTypes - null,// exceptions - CMPTemplateFormatter.getBodyAsStrings(getOid.toString()), // body - null);// comments - - jdoHelperWriter.addMethod(CMPTemplateFormatter.convertObjectIdToPrimaryKey_, // name - Modifier.PUBLIC, // modifiers - CMPTemplateFormatter.Object_, // returnType - param0, // parameterNames - objectType,// parameterTypes - null,// exceptions - CMPTemplateFormatter.getBodyAsStrings(getPK.toString()), // body - null);// comments - - } - - /** - * Returns the name of the concrete bean class for the specified name of - * the persistence capable class. - * @param pcClass the name of the persistence capable class - * @return the name of the corresponding concrete bean class - */ - String getConcreteBeanForPCClass(String pcClass) { - return nameMapper.getConcreteBeanClassForEjbName( - nameMapper.getEjbNameForPersistenceClass(pcClass)); - } - - /** - * Generates conversion methods from PC to EJBObject and back - * to the helper class. - */ - void generateConversions() throws IOException { - String[] pcParams = new String[] {CMPTemplateFormatter.pc_, - CMPTemplateFormatter.jdoPersistenceManager_}; - String[] pcParamTypes = new String[] {CMPTemplateFormatter.Object_, - CMPTemplateFormatter.jdoPersistenceManagerClass_}; - - String[] collParamTypes = new String[] {CMPTemplateFormatter.Collection_, - CMPTemplateFormatter.jdoPersistenceManagerClass_}; - - // For PC - PK conversion. - String[] body = null; - - // Generate for Remote object conversion. - if (hasRemoteInterface == false) { - body = CMPTemplateFormatter.getBodyAsStrings( - CMPTemplateFormatter.returnNull_ ); - - jdoHelperWriter.addMethod(CMPTemplateFormatter.convertPCToEJBObject_, // name - Modifier.PUBLIC, // modifiers - CMPTemplateFormatter.ejbObject_, // returnType - pcParams, // parameterNames - pcParamTypes,// parameterTypes - null,// exceptions - body, // body - null);// comments - - twoParams[0] = CMPTemplateFormatter.ejbObject_; - twoParams[1] = CMPTemplateFormatter.jdoPersistenceManagerClass_; - jdoHelperWriter.addMethod(CMPTemplateFormatter.convertEJBObjectToPC_, // name - Modifier.PUBLIC, // modifiers - CMPTemplateFormatter.Object_, // returnType - param0PM, // parameterNames - twoParams,// parameterTypes - null,// exceptions - body, // body - null);// comments - } - - } - - /** - * Verifies if expected exception is part of the throws clause of the - * corresponding method in the abstract class. - * @param exc the list of the Exceptions to check. - * @param checkExc the Exception to check for as String. - * @return true if the passed Exception is declared. - */ - boolean containsException(String[] exc, String checkExc) { - boolean rc = false; - if (exc != null) { - for (int i = 0; i < exc.length; i++) { - if (exc[i].equals(checkExc)) { - rc = true; - break; - } - } - } - return rc; - } - - /** - * Verifies if expected exception is part of the throws clause of the - * corresponding method in the abstract class. Returns EJBException - * if the requested one is not found. - * @param exc the list of the Exceptions to check. - * @param checkExc the Exception to check for as String. - * @return Exception to be thrown in the try-catch block. - */ - String getException(String[] exc, String checkExc) { - return (containsException(exc, checkExc)? checkExc : - CMPTemplateFormatter.ejbException_); - } - - /** - * Verifies if expected exception or its superclass are part of the - * throws clause of the corresponding method in the abstract class. - * Returns EJBException if none of the requested exceptions is not found. - * @param exc the list of the Exceptions to check. - * @param checkExc the Exception to check for as String. - * @param superExc the known superclass for the Exception to check for as String. - * @return Exception to be thrown in the try-catch block. - */ - String getException(String[] exc, String checkExc, String superExc) { - String rc = CMPTemplateFormatter.ejbException_; - if (exc != null) { - for (int i = 0; i < exc.length; i++) { - if (exc[i].equals(checkExc) || exc[i].equals(superExc)) { - rc = checkExc; - break; - } - } - } - return rc; - } - - // helper methods to generate finder/selector method bodies - - /** - * Checks if the finder method is a single-object or multi-object finder. - * @param finder Method object of the finder - * @return true if it is a single-object finder - */ - private boolean isSingleObjectFinder(Method finder) { - return (!(finder.getReturnType().equals(java.util.Collection.class) || - finder.getReturnType().equals(java.util.Enumeration.class))); - } - - /** - * Generates the body of the Entity-Bean finder methods. - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean - * @param jdoqlElements Result of the JDOQL-Compiler - * @param mname name of the findermethod in - * the concrete entity bean implementation - * @param m method instance - * @param returnType the returnType of this findermethod - * @param index index of finder method in finders list - * @return the generated body - * @exception IOException - */ - private String generateFinderMethodBody(AbstractMethodHelper methodHelper, - JDOQLElements jdoqlElements, - String mname, - Method m, - String returnType, - int index) throws IOException { - - StringBuilder body = new StringBuilder(); - body.append(CMPTemplateFormatter.assertPersistenceManagerIsNullTemplate); - body.append(CMPTemplateFormatter.endLine_); - body.append(generateFinderSelectorCommonBody(methodHelper, - jdoqlElements, - mname, - m, - returnType, - index)); - - // getting the catch-clause body from the properties - oneParam[0] = mname; - - // testing if this is a single-object finder - if (isSingleObjectFinder(m)) { - // generating the specific single finder method result set handling - fourParams[0] = mname; - fourParams[1] = pkClass; - fourParams[2] = concreteImplName; - fourParams[3] = CMPTemplateFormatter.catchClauseTemplate; - body.append(CMPTemplateFormatter.singlefinderformatter.format(fourParams)); - } else { - // generating the specific multi-object finder method result set handling - // if CMP11 and the returntype is Enumeration, convert resultCollection - // to Enumeration else leave Collection - twoParams[0] = concreteImplName; - twoParams[1] = CMPTemplateFormatter.catchClauseTemplate; - if (isFinderReturningEnumeration(m)) { - body.append(CMPTemplateFormatter.multifinderenumerationformatter.format(twoParams)); - } else { - body.append(CMPTemplateFormatter.multifinderformatter.format(twoParams)); - } - } - - return body.toString(); - } - - /** - * JDOQuery Codegeneration for the common part of the - * selecter and the finder methods. That consists of: - * 1. create JDO Query object - * 2. setting JDO Query elements (declare parameters, set variables etc.) - * 3. convert parameter values (if available and necessary) - * 4. execute the JDO Query - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean - * @param jdoqlElements Result of the JDOQL-Compiler - * @param methodName name of the finder/selector method in - * the concrete entitybean implementation - * @param m the method instance - * @param returnType the return type of the finder/selectormethod - * @param index index of finder/selector in corresponding list - * @return the body as a string - * @exception IOException - */ - String generateFinderSelectorCommonBody(AbstractMethodHelper methodHelper, - JDOQLElements jdoqlElements, - String methodName, - Method m, - String returnType, - int index) throws IOException{ - // unique identifier across finders/selectors - String queryVariableQualifier = m.getName() + '_' + index; - - // add private static query variables and their monitors - // no need to check ejbFindByPrimaryKey here - oneParam[0] = queryVariableQualifier; - CMPTemplateFormatter.addPrivateField( - CMPTemplateFormatter.finderselectorstaticvformatter.format(oneParam), - Modifier.STATIC, - concreteImplWriter); - CMPTemplateFormatter.addPrivateField( - CMPTemplateFormatter.finderselectorstaticfinalvformatter.format(oneParam), - Modifier.STATIC + Modifier.FINAL, - concreteImplWriter); - - StringBuilder body = new StringBuilder(); - - String[] parameterEjbNames = jdoqlElements.getParameterEjbNames(); - - // common param check for finder/selector - body.append(generateFinderSelectorParamCheck(m, parameterEjbNames)); - - // generating the querydeclaration - String pcClassName = jdoqlElements.getCandidateClassName(); - String concreteBeanClassName = getConcreteBeanForPCClass(pcClassName); - queryParams[0] = returnType; - queryParams[1] = queryVariableQualifier; - queryParams[2] = concreteBeanClassName; - queryParams[3] = StringHelper.escape(jdoqlElements.getFilter()); - queryParams[4] = StringHelper.escape(jdoqlElements.getParameters()); - queryParams[5] = StringHelper.escape(jdoqlElements.getVariables()); - queryParams[6] = StringHelper.escape(jdoqlElements.getResult()); - queryParams[7] = StringHelper.escape(jdoqlElements.getOrdering()); - queryParams[8] = Boolean.toString(methodHelper.isQueryPrefetchEnabled(m)); - queryParams[9] = StringHelper.escape(generateQueryIgnoreCache()); - body.append(CMPTemplateFormatter.finderselectorformatter.format(queryParams)); - - // now generate the query execution - // two cases: w/ and w/o query parameters - String queryParam = generateParamConvBody(m, parameterEjbNames); - - if (jdoqlElements.isAggregate()) { - if (queryParam == null) { - oneParam[0] = CMPTemplateFormatter.none_; - body.append(CMPTemplateFormatter.aggqueryexecformatter.format(oneParam)); - } else { - oneParam[0] = queryParam; - body.append( - CMPTemplateFormatter.aggqueryexecparamconvformatter.format(oneParam)); - } - } else { - if (queryParam == null) { - oneParam[0] = CMPTemplateFormatter.none_; - body.append(CMPTemplateFormatter.queryexecformatter.format(oneParam)); - } else { - oneParam[0] = queryParam; - body.append( - CMPTemplateFormatter.queryexecparamconvformatter.format(oneParam)); - } - } - - return body.toString(); - } - - /** - * Generates code that check the finder/selector parameters for the - * Query.execute call (if necessary). - * @param m Method instance of the specific finder/selector method - * @param parameterEjbNames array of ejb names - * @return the codefragment for the checking local/remote parameters - * for method if EJB name is known from ejbql. - */ - String generateFinderSelectorParamCheck(Method m, - String[] parameterEjbNames) { - StringBuilder checkBody = new StringBuilder(); - - return checkBody.toString(); - } - - /** - * Generates a setIgnoreCache(true) call for a JDOQL query, - * if necessary. - * @return the codefragment to set the ignoreCache flag of a JDOQL query. - */ - String generateQueryIgnoreCache() - { - return CMPTemplateFormatter.none_; - } - - /** - * Checks if the finder returns an Enumeration. - * @param finder Methodobject of the finder - * @return true if the finder returns a Enumeration - */ - abstract boolean isFinderReturningEnumeration(Method finder); - - /** - * Generates code that converts the finder/selector parameters for the - * Query.execute call (if necessary). It maps local and remote interface - * values to their corresponding pc instance using JDOHelper methods - * provided by the concrete entity bean. Primitive type values are wrapped. - * @param m Method instance of the specific finder/selector method - * @param parameterEjbNames array of ejb names - * @return the codefragment for the conversions as a string or null if there - * aren't any parameters - */ - private String generateParamConvBody(Method m, String[] parameterEjbNames) { - - StringBuilder paramString = new StringBuilder(); - Class[] paramTypes = m.getParameterTypes(); - int paramLength = paramTypes.length; - MessageFormat mformat = null; - String paramClassName = null; - - if (paramLength > 0) { - // iterate over all paramclasses - for (int i = 0; i < paramLength; i++) { - paramClassName = paramTypes[i].getName(); - - // if local interface - if (nameMapper.isLocalInterface(paramClassName) || - nameMapper.isRemoteInterface(paramClassName)) { - - if (parameterEjbNames[i] != null) { - mformat = CMPTemplateFormatter.queryexecparamconvargumentformatter; - String concreteImplName = - nameMapper.getConcreteBeanClassForEjbName( - parameterEjbNames[i]); - threeParams[0] = concreteImplName; - threeParams[1] = String.valueOf(i); - threeParams[2] = - nameMapper.isLocalInterface(paramClassName) ? - CMPTemplateFormatter.convertEJBLocalObjectToPC_ : - CMPTemplateFormatter.convertEJBObjectToPC_; - paramString.append(mformat.format(threeParams)); - } else { - paramString.append(CMPTemplateFormatter.param_ + i); - } - - // if primitive type, do some wrapping - } else if(paramTypes[i].isPrimitive()) { - paramString.append( - JavaClassWriterHelper.getWrapperExpr( - paramTypes[i], - JavaClassWriterHelper.param_ + i - )); - - // else take the param as it is - } else { - paramString.append(CMPTemplateFormatter.param_ + i); - } - // normal delimiter - if (i < paramLength - 1) paramString.append( - CMPTemplateFormatter.paramSeparator_); - } - } else return null; - - return paramString.toString(); - } - - /** - * Returns list of the declared exceptions for the method with this name - * in the abstract bean. Returns null if such method does not exist - * or does not have checked exceptions. - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean. - * @param mname method name to check. - * @param paramTypeNames list of parameter types to the method - * @return list of the declared exceptions as String[]. - */ - String[] getExceptionList(AbstractMethodHelper methodHelper, - String mname, - String[] paramTypeNames) { - String[] rc = null; - Class[] paramTypes = null; - - Map methodNames = methodHelper.getMethodNames(); - Method m = (Method) methodNames.get(mname); - - boolean debug = logger.isLoggable(Logger.FINE); - if (debug) { - logger.fine("Processing method: " + mname); - logger.fine("Known method: " + m); - } - - if (m == null) { - // Check the bean class: - if( paramTypeNames != null ) { - paramTypes = new Class[ paramTypeNames.length ]; - try { - for( int i = paramTypeNames.length - 1; i >= 0; i-- ) { - paramTypes[i] = Class.forName( paramTypeNames[i], true, loader ); - } - } catch( Exception e ) { - // Ignore - } - } - - try { - Class beanClass = Class.forName(abstractBean, true, loader); - m = beanClass.getMethod(mname, paramTypes); - if (debug) { - logger.fine("Found method: " + m); - } - - } catch (Exception e) { - // Ignore. Generate what we know. - } - } - - if (m != null) { - rc = CMPTemplateFormatter.getExceptionNames(m); - } - - return rc; - } - - /** - * Returns list of the declared exceptions for the method with this name - * in the abstract bean. Returns null if such method does not exist - * or does not have checked exceptions. - * @param methodHelper the AbstractMethodHelper instance that contains - * all categorized methods and some other convenience methods for this bean. - * @param mname method name to check. - * @return list of the declared exceptions as String[]. - */ - String[] getExceptionList( AbstractMethodHelper methodHelper, String mname ) { - return getExceptionList( methodHelper, mname, null ); - } - - /** - * This method will return the given string or "" if it is null or - * empty string. - * @param st input string - */ - private String makeLiteral(String st) { - return (StringHelper.isEmpty(st)) ? - CMPTemplateFormatter.escapedEmptyString_ : - CMPTemplateFormatter.paramInitializer_ + st; - } - - /** - * Returns the signatures of the classes and properties which are - * involved in the codegen. - * @return The signatures as a string. - */ - String getSignaturesOfGeneratorClasses() - { - StringBuilder signatures = new StringBuilder(). - - // adding signature of JDOConcreteBeanGenerator - append(JDOConcreteBeanGenerator.SIGNATURE). - append(CMPTemplateFormatter.signatureDelimiter_). - - // adding signature of CMPTemplates.properties - append(CMPTemplateFormatter.signatureTemplate). - append(CMPTemplateFormatter.signatureDelimiter_). - - // adding signature of DeploymentDescriptorModel - append(DeploymentDescriptorModel.SIGNATURE); - - return signatures.toString(); - } - - /** Verifies if this field type requires clone for copy-in, copy-out - * semantics. - * @param fieldType the field type as String. - * @return true if field type requires clone. - */ - boolean requireCloneOnGetAndSet(String fieldType) { - return (CMPTemplateFormatter.Date_.equals(fieldType) || - CMPTemplateFormatter.SqlDate_.equals(fieldType) || - CMPTemplateFormatter.SqlTime_.equals(fieldType) || - CMPTemplateFormatter.SqlTimestamp_.equals(fieldType)); - } - - /** Verifies if this field type requires trim on set operation. - * @param fieldType the field type as String. - * @return true if field type is java.lang.String. - */ - boolean requireTrimOnSet(String fieldType) { - // Strings require trim on set - boolean requireTrimOnSet = CMPTemplateFormatter.String_.equals(fieldType); - // do not trim if user has overriden it by specifying to support trailing spaces in pk columns - // See https://glassfish.dev.java.net/issues/show_bug.cgi?id=7491 for more details - return requireTrimOnSet && !SUPPORT_TRAILING_SPACES_IN_STRING_PK_COLUMNS; - } - - /** Generates code that preloads non-DFG fields for read-only beans. - * @param fieldInfo the FieldInfo instance for this CMP field. - */ - void loadNonDFGField(FieldInfo fieldInfo) { - if( !isUpdateable && !fieldInfo.isDFG ) { - oneParam[0] = fieldInfo.getter; - loadNonDFGBody.append( - CMPROTemplateFormatter.loadNonDFGformatter.format(oneParam)); - } - } - - /* - * This class contains the field information to generate get/set methods. - * - */ - class FieldInfo { - - final PersistenceFieldElement pfe; - - final String name; - final String type; - final String getter; - final String setter; - - final boolean isKey; - final boolean isPrimitive; - final boolean isByteArray; - final boolean isSerializable; - final boolean requireCloneOnGetAndSet; - final boolean isGeneratedField; - final boolean isDFG; - - FieldInfo(Model model, NameMapper nameMapper, - PersistenceFieldElement pfe, - String beanName, String pcname) { - - this.pfe = pfe; - - String pfn = pfe.getName(); - name = nameMapper.getEjbFieldForPersistenceField(pcname, pfn); - - String fname = StringHelper.getCapitalizedString(name); - getter = CMPTemplateFormatter.get_ + fname; - setter = CMPTemplateFormatter.set_ + fname; - - boolean debug = logger.isLoggable(Logger.FINE); - if (debug) { - logger.fine("-Methods: " + getter + " " + setter); // NOI18N - } - - isKey = pfe.isKey(); - isPrimitive = model.isPrimitive(pcname, pfn); - isByteArray = model.isByteArray(beanName, name); - isSerializable = model.isByteArray(pcname, pfn); - - if (isSerializable) { - // Replace '$' with '.' if it's an inner class. - type = model.getFieldType(beanName, name).replace('$', '.'); - } else { - type = model.getFieldType(beanName, name); - } - - if (debug) { - logger.fine("Field: " + name + " " + type); // NOI18N - } - - requireCloneOnGetAndSet = requireCloneOnGetAndSet(type); - isGeneratedField = nameMapper.isGeneratedField(beanName, name); - - // Check if the field is in DFG. - MappingClassElement mce = model.getMappingClass(pcname); - MappingFieldElement mfe = mce.getField(name); - isDFG = (mfe.getFetchGroup() == MappingFieldElement.GROUP_DEFAULT); - } - } - -} - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/LogHelperEJBCompiler.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/LogHelperEJBCompiler.java deleted file mode 100644 index 66018ab363a..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/LogHelperEJBCompiler.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Piali Nag - */ -public class LogHelperEJBCompiler { - - /** The component name for this component - */ - protected static final String componentName = "codegen.ejb"; // NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = - LogHelperEJBCompiler.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = - "com.sun.jdo.spi.persistence.support.ejb.ejbc.Bundle"; // NOI18N - - /** Return the logger for the ejbc component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/MappingGenerator.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/MappingGenerator.java deleted file mode 100644 index 95d8eeeb7c7..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/MappingGenerator.java +++ /dev/null @@ -1,847 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018-2020] Payara Foundation and/or affiliates - -/* - * MappingGenerator.java - * - * Created on Aug 18, 2003 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import com.sun.enterprise.deployment.ResourceReferenceDescriptor; -import com.sun.jdo.api.persistence.mapping.ejb.AbstractNameMapper; -import com.sun.jdo.api.persistence.mapping.ejb.ConversionException; -import com.sun.jdo.api.persistence.mapping.ejb.MappingFile; -import com.sun.jdo.api.persistence.mapping.ejb.beans.CmpFieldMapping; -import com.sun.jdo.api.persistence.mapping.ejb.beans.CmrFieldMapping; -import com.sun.jdo.api.persistence.mapping.ejb.beans.ColumnPair; -import com.sun.jdo.api.persistence.mapping.ejb.beans.EntityMapping; -import com.sun.jdo.api.persistence.mapping.ejb.beans.SunCmpMapping; -import com.sun.jdo.api.persistence.mapping.ejb.beans.SunCmpMappings; -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.ModelException; -import com.sun.jdo.api.persistence.model.mapping.MappingClassElement; -import com.sun.jdo.spi.persistence.generator.database.DatabaseGenerator; -import com.sun.jdo.spi.persistence.support.ejb.codegen.GeneratorException; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.DeploymentHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.sql.Connection; -import java.sql.DatabaseMetaData; -import java.sql.SQLException; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.Map; -import java.util.Properties; -import java.util.ResourceBundle; -import java.util.Set; -import org.glassfish.api.ActionReport; -import org.glassfish.api.deployment.DeployCommandParameters; -import org.glassfish.api.deployment.DeploymentContext; -import org.glassfish.common.util.StringHelper; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.persistence.common.DatabaseConstants; -import org.glassfish.persistence.common.I18NHelper; -import org.glassfish.persistence.common.Java2DBProcessorHelper; -import org.glassfish.persistence.common.database.DBVendorTypeHelper; -import org.netbeans.modules.dbschema.DBException; -import org.netbeans.modules.dbschema.DBIdentifier; -import org.netbeans.modules.dbschema.SchemaElement; -import org.netbeans.modules.dbschema.jdbcimpl.ConnectionProvider; -import org.netbeans.modules.dbschema.jdbcimpl.SchemaElementImpl; -import org.netbeans.modules.dbschema.util.NameUtil; -import org.netbeans.modules.schema2beans.Schema2BeansException; -import org.netbeans.modules.schema2beans.ValidateException; - -/* - * This class will generate mapping classes from sun-cmp-mappings.xml - * and dbschema if they are available in the jar, or it will generate mapping - * classes based on ejb-jar.xml, bean classes and policy by invoking the - * database generation backend. - * - * @author Jie Leng - */ -public class MappingGenerator extends - com.sun.jdo.api.persistence.mapping.ejb.MappingGenerator { - - // XXX To be removed when all callers are switched to use - // DatabaseConstants.JAVA_TO_DB_FLAG directly. - public static final String JAVA_TO_DB_FLAG = DatabaseConstants.JAVA_TO_DB_FLAG; - - private static final String DBSCHEMA_EXTENSION = ".dbschema"; // NOI18N - private static final char DOT = '.'; // NOI18N - - /** The logger */ - private static final Logger logger = LogHelperEJBCompiler.getLogger(); - - private final EjbBundleDescriptorImpl bundle; - - private String dbVendorName = null; - private boolean isJavaToDatabaseFlag = false; - private boolean isVerifyFlag = false; - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - MappingGenerator.class); - - /** - * Constructor - * @param bundle an ejb bundle - * @param model a model containing mapping class and - * persistence class information - * @param nameMapper a nameMapper for name lookup - * @param loader a class loader - */ - public MappingGenerator(EjbBundleDescriptorImpl bundle, Model model, - NameMapper nameMapper, ClassLoader loader) { - super(new EJBBundleInfoHelper(bundle, nameMapper, model, null), loader, false); - this.bundle = bundle; - } - - /** - * This method will load mapping classes if there is sun-cmp-mappings.xml, - * otherwise it will call the database generation backend to create - * mapping classes and schema. It also generates *.dbschema and - * sun-cmp-mappings.xml in application dir if it is - * in creating mapping classes mode. - * @param ctx an object containing CLI options for - * the database generation backend - * @param inputFilesPath the directory where sun-cmp-mappings.xml is located - * @param generatedXmlsPath the directory where the generated files are located - * @param classout the directory where the classes are located - * @param ignoreSunDeploymentDescriptors use java2db generation if set to true. - * @return a SchemaElement for mapping classes mapped to - * @throws IOException - * @throws DBException - * @throws ModelException - * @throws Schema2BeansException - * @throws SQLException - * @throws GeneratorException - * @throws ConversionException - */ - public SchemaElement generateMapping( - DeploymentContext ctx, String inputFilesPath, - String generatedXmlsPath, File classout, - boolean ignoreSunDeploymentDescriptors) - throws IOException, DBException, ModelException, - Schema2BeansException, SQLException, GeneratorException, - ConversionException { - - SchemaElement schema = null; - if (ctx == null) - isVerifyFlag = true; - File cmpMappingFile = getSunCmpMappingFile(inputFilesPath); - boolean mappedBeans = !ignoreSunDeploymentDescriptors - && cmpMappingFile.exists(); - ResourceReferenceDescriptor cmpResource = checkOrCreateCMPResource( - mappedBeans); - - // Remember whether or not this mapping was created by Java2DB. - isJavaToDatabaseFlag = DeploymentHelper.isJavaToDatabase( - cmpResource.getSchemaGeneratorProperties()); - - // We *must* get a vendor name if either the beans are not mapped, or - // they are mapped and the javaToDatabase flag is set. - boolean mustHaveDBVendorName = - !mappedBeans || (mappedBeans && isJavaToDatabaseFlag); - - // Read deployment settings from the deployment descriptor - // and CLI options. - Results deploymentArguments = getDeploymentArguments( - ctx, cmpResource, mustHaveDBVendorName); - dbVendorName = deploymentArguments.getDatabaseVendorName(); - if (mappedBeans) { - // If sun-cmp-mappings.xml exists and we are doing a deployment, - // validate some arguments and make sure we have dbschema. - // If it is from verify, skip deployment arguments check. - if (!isVerifyFlag) { - String warning = null; // Warning for user, if required. - - if (isJavaToDatabaseFlag) { - // If beans were already mapped, we will generate tables, but - // they will be as per the existing mapping. So if the user - // gave --uniquetablenames, warn them that we will not take - // that flag into account. I.e., the tables will be generated - // as per the mapping. - if (deploymentArguments.hasUniqueTableNames()) { - warning = - I18NHelper.getMessage( - messages, - "EXC_DisallowJava2DBUniqueTableNames", //NOI18N - bundle.getApplication().getRegistrationName(), - JDOCodeGeneratorHelper.getModuleName(bundle)); - logger.warning(warning); - } - } else if (deploymentArguments.hasJavaToDatabaseArgs()) { - - // If beans are already mapped but the user gave any Java2DB - // command line arguments, warn the user that these args - // should not be used when module is already mapped. - warning = - I18NHelper.getMessage( - messages, - "EXC_DisallowJava2DBCLIOverrides", //NOI18N - bundle.getApplication().getRegistrationName(), - JDOCodeGeneratorHelper.getModuleName(bundle)); - logger.warning(warning); - } - - if (warning != null) { - ActionReport subActionReport = ctx.getActionReport().addSubActionsReport(); - // Propagte warning to client side so that the deployer can see the warning. - Java2DBProcessorHelper.warnUser(subActionReport, warning); - } - } - // Sun-cmp-mapping.xml exists, use normal MappingClass loading - SunCmpMappings sunCmpMappings = getSunCmpMappings(cmpMappingFile); - - // Ensure that there is a dbschema for each element of - // sunCmpMappings. - ensureDBSchemaExistence(cmpResource, sunCmpMappings, inputFilesPath, - classout); - - // load real mapping model and jdo model in memory - Map mappingClasses = loadMappingClasses(sunCmpMappings, getClassLoader()); - - // Get schema from one of the mapping classes. - // The mapping class element may be null if there is inconsistency - // in sun-cmp-mappings.xml and ejb-jar.xml. For example, - // the bean has mapping information in sun-cmp-mappings.xml but - // no definition in the ejb-jar.xml. - // So iterate over the mappings until the 1st non-null is found. - MappingClassElement mc = null; - Iterator iter = mappingClasses.values().iterator(); - while (iter.hasNext()) { - mc = (MappingClassElement)iter.next(); - if (mc != null) { - schema = SchemaElement.forName(mc.getDatabaseRoot()); - break; - } - } - - if (logger.isLoggable(Logger.FINE)){ - logger.fine("Loaded mapped beans for " // NOI18N - + cmpResource.getJndiName() - + ", isJavaToDatabase=" + isJavaToDatabaseFlag); // NOI18N - } - } - else { - // Generate mapping file and dbschema, since either - // sun-cmp-mappings.xml does not exist (e.g. user didn't yet map) - // or DeploymentContext is null (e.g. running under auspices of AVK). - DatabaseGenerator.Results results = generateMappingClasses( - dbVendorName, deploymentArguments.getUseUniqueTableNames(), - deploymentArguments.getUserPolicy(), inputFilesPath); - - // java2db from verifier should not save anything to disk - if (!isVerifyFlag) { - // save SunCmpMapping to sun-cmp-mappings.xml - // in generated XML dir - writeSunCmpMappingFile(results.getMappingClasses(), - getSunCmpMappingFile(generatedXmlsPath)); - - schema = results.getSchema(); - - // save schema to dbschema file in generated XML dir - writeSchemaFile(schema, classout); - - setJavaToDatabase(cmpResource, true); - } - } - - return schema; - } - - public String getDatabaseVendorName() { - return dbVendorName; - } - - /** - * Returns javatodb flag in cmpResource. - * @return true if there is name as "javatodb" and value as "true" - */ - public boolean isJavaToDatabase() { - return isJavaToDatabaseFlag; - } - - /** - * Set javatodb flag into SchemaGeneratorProperties - * @param cmpResource a ResourceReferenceDescriptor - * @param value a string containing true or false - */ - private void setJavaToDatabase(ResourceReferenceDescriptor - cmpResource, boolean value) { - - if (logger.isLoggable(Logger.FINE)) { - logger.fine("set javatodb flag to " + value + " in cmpResource"); // NOI18N - } - - Properties schemaGeneratorProperties = cmpResource. - getSchemaGeneratorProperties(); - if (schemaGeneratorProperties == null) { - schemaGeneratorProperties = new Properties(); - cmpResource.setSchemaGeneratorProperties(schemaGeneratorProperties); - } - - schemaGeneratorProperties.setProperty(DatabaseConstants.JAVA_TO_DB_FLAG, - String.valueOf(value)); - - isJavaToDatabaseFlag = value; - } - - /** - * Loads sun-cmp-mapping.xml into memory as SunCmpMappings - * @param cmpMappingFile a file of sun-cmp-mappings.xml - * @return a SunCmpMappings object - * @throws IOException - * @throws Schema2BeansException - */ - private SunCmpMappings getSunCmpMappings(File cmpMappingFile) - throws IOException, Schema2BeansException, GeneratorException { - InputStream is = null; - BufferedInputStream iasMapping = null; - SunCmpMappings sunCmpMapping = null; - - if (cmpMappingFile.length() == 0) { - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.BeansFileSizeIsZero", bundle); // NOI18N - } - - try { - is = new FileInputStream(cmpMappingFile); - iasMapping = new BufferedInputStream(is); - sunCmpMapping = SunCmpMappings.createGraph(iasMapping); - } catch (IOException ex) { - throw ex; - } finally { - if (is != null) { - try { - is.close(); - } catch(Exception ex) { - if (logger.isLoggable(Logger.FINE)) - logger.fine(ex.toString()); - } - } - if (iasMapping != null) { - try { - iasMapping.close(); - } catch(Exception ex) { - if (logger.isLoggable(Logger.FINE)) - logger.fine(ex.toString()); - } - } - } - - try { - sunCmpMapping.validate(); - } catch (ValidateException ex) { - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.InvalidSunCmpMappingsFile", bundle, ex); // NOI18N - } - - return sunCmpMapping; - } - - /** - * Gets sun-cmp-mappings.xml file - * @param filesPath a string consisting file path - * @return a file of sun-cmp-mappings.xml - */ - private static File getSunCmpMappingFile(String filesPath) { - String cmpMappingFile = (new StringBuilder(filesPath). - append(File.separator). - append(MappingFile.DEFAULT_LOCATION_IN_EJB_JAR)).toString(); - - // if the file contains directory structure, we need - // to create those directories if they do not exist. - if (cmpMappingFile.lastIndexOf(File.separatorChar) != -1) { - String dirs = cmpMappingFile.substring( - 0, cmpMappingFile.lastIndexOf(File.separatorChar)); - File fileDirs = new File(dirs); - if (!fileDirs.exists()) - fileDirs.mkdirs(); - } - - return new File(cmpMappingFile); - } - - - /** - * Writes to sun-cmp-mappings.xml from mappings classes - * @param mappingClasses a set of mapping classes - * @param cmpMappingFile corresponds to sun-cmp-mappings.xml - * @throws IOException - * @throws ConversionException - * @throws Schema2BeansException - */ - private void writeSunCmpMappingFile(Set mappingClasses, File cmpMappingFile) - throws IOException, ConversionException, Schema2BeansException { - // Construct the input to MappingFile.fromMappingClasses(): a Map - // object containing ejbName and MappingClassElement. Use the - // elements of iteration and NameMapper to create the input for - // MappingFile. - Map mappingMap = new HashMap(); - AbstractNameMapper nameMapper = getNameMapper(); - Iterator iter = mappingClasses.iterator(); - while (iter.hasNext()) { - MappingClassElement mappingClass = (MappingClassElement)iter.next(); - String ejbName = nameMapper.getEjbNameForPersistenceClass( - mappingClass.getName()); - mappingMap.put(ejbName, mappingClass); - } - MappingFile mf = new MappingFile(); - OutputStream sunCmpMapping = null; - try { - sunCmpMapping = new FileOutputStream( - cmpMappingFile); - mf.fromMappingClasses(sunCmpMapping, mappingMap, - getConversionHelper()); - } catch (IOException ex) { - throw ex; - } finally { - try { - if (sunCmpMapping != null) { - sunCmpMapping.close(); - } - } catch (IOException ex) { - if (logger.isLoggable(Logger.FINE)) - logger.fine(ex.toString()); - } - } - } - - /** - * Writes to *.dbschema file from schema - * @param schema a SchemaElement - * @param filePath a directory where *.dbschema is located - * @throws IOException - */ - private static void writeSchemaFile(SchemaElement schema, File filePath) - throws IOException { - OutputStream schemaStream = null; - try { - schemaStream = new FileOutputStream( - new File(filePath, NameUtil.getSchemaResourceName( - schema.getName().getName()))); - schema.save(schemaStream); - } catch (IOException ex) { - throw ex; - } finally { - try { - if (schemaStream != null) { - schemaStream.close(); - } - } catch (IOException ex) { - if (logger.isLoggable(Logger.FINE)) - logger.fine(ex.toString()); - } - } - } - - /** - * Contains the results of getDeploymentArguments() - */ - private class Results { - private final Boolean useUniqueTableNames; - private final String dbVendorName; - private final Properties userPolicy; - - /** - * If true, then the user explicitly provided one or more command line - * args that are specific to Java2DB. - */ - private final boolean javaToDatabaseArgs; - - Results(Boolean useUniqueTableNames, String dbVendorName, - Properties userPolicy, boolean javaToDatabaseArgs) { - this.useUniqueTableNames = useUniqueTableNames; - this.dbVendorName = dbVendorName; - this.userPolicy = userPolicy; - this.javaToDatabaseArgs = javaToDatabaseArgs; - } - - // XXX Get rid of getUseUniqueTableNames from all call sites that need a - // boolean (probably all of them), using hasUniqueTableNames instead - - /** @return useUniqueTableNames */ - public Boolean getUseUniqueTableNames() { - return useUniqueTableNames; - } - - /** - * @return true if --uniquetablenames was given on the command line. - */ - public boolean hasUniqueTableNames() { - return (useUniqueTableNames != null); - } - - /** - * Returns true if any Java2DB arguments were given on the command - * line. - * @return javaToDatabaseArgs */ - public boolean hasJavaToDatabaseArgs() { - return javaToDatabaseArgs; - } - - /** @return dbVendorName */ - public String getDatabaseVendorName() { - return dbVendorName; - } - - /** @return userPolicy */ - public Properties getUserPolicy() { - return userPolicy; - } - } - - /** Reads deployment settings from the deployment descriptor and CLI options - * and populates the corresponding variables. - * @param ctx CLI arguments are obtained from here. - * @param cmpResource Parameters from deployment descriptor are obtained - * from here. - * @param connectToDatabase If true, then connect to database to get - * database vendor name if not otherwise available. - */ - private Results getDeploymentArguments( - DeploymentContext ctx, - ResourceReferenceDescriptor cmpResource, - boolean connectToDatabase) { - - Boolean useUniqueTableNames = null; - String dbVendorName = null; - Properties userPolicy = null; - - //Indicates that one or more Java2DB arguments were given on the command - //line. - boolean javaToDatabaseArgs = false; - - // If DeploymentContext is not available, then use what is specified by - // cmpResource. - if (null == ctx) { - dbVendorName = cmpResource.getDatabaseVendorName(); - - } else { - // Otherwise, get the vendor name from one of the CLI overrides, - // cmpResource, or the actual database (in that order). - DeployCommandParameters cliOverrides = ctx.getCommandParameters(DeployCommandParameters.class); - useUniqueTableNames = cliOverrides.uniquetablenames; - - // In javaToDatabaseArgs, we collect whether or not we have seen - // any of the java to database - related arguments, starting with - // --uniquetablenames. - javaToDatabaseArgs =(useUniqueTableNames != null); - - dbVendorName = cliOverrides.dbvendorname; - - javaToDatabaseArgs |= isPropertyDefined(dbVendorName); - - // XXX This check can be removed when DeployCommand guarantees to - // not return UNDEFINED. - if (null == dbVendorName /** || dbVendorName.equals(Constants.UNDEFINED) **/) { - dbVendorName = cmpResource.getDatabaseVendorName(); - } - - // If there is no CLI override, and nothing specified in the - // cmp-resource, try to get the dbvendorname from the database. - if (null == dbVendorName && connectToDatabase) { - try { - Connection conn = DeploymentHelper.getConnection( - cmpResource.getJndiName()); - dbVendorName = conn.getMetaData().getDatabaseProductName(); - } catch (Exception ex) { - // Ignore exceptions and use default. - } - } - Boolean createTables = cliOverrides.createtables; - javaToDatabaseArgs |= (createTables != null); - - Boolean dropAndCreateTables = cliOverrides.dropandcreatetables; - javaToDatabaseArgs |= (dropAndCreateTables != null); - - } - - if (null == dbVendorName) { - dbVendorName = DBVendorTypeHelper.DEFAULT_DB; - } else { - dbVendorName = DBVendorTypeHelper.getDBType(dbVendorName); - } - - userPolicy = cmpResource.getSchemaGeneratorProperties(); - - return new Results(useUniqueTableNames, dbVendorName, userPolicy, javaToDatabaseArgs); - } - - /** - * Check if cmp resource is specified in the deployment descriptor. - * If the beans are mapped (sun-cmp-mapping.xml is present), the cmp - * resource must be present, otherwise (in java2db case) we will create - * a default one. If it's java2db, we will also parse the CLI overrides, - * as the cmp resource provides the default values. - * - * @param mappedBeans true if beans are mapped in this module. - * @throws GeneratorException if beans are mapped but cmp resource is not - * specified. - */ - private ResourceReferenceDescriptor checkOrCreateCMPResource( - boolean mappedBeans) - throws GeneratorException { - ResourceReferenceDescriptor cmpResource = - bundle.getCMPResourceReference(); - if (mappedBeans) { - if (cmpResource == null) { - // If mapping exists, the cmpResource must specify a - // database or a PMF JNDI name. - throw JDOCodeGeneratorHelper.createGeneratorException( - "EXC_MissingCMPResource", bundle); //NOI18N - } - } else { - if (cmpResource == null) { - - // In JavaToDB case we can deploy to the default jdbc-resource. - cmpResource = new ResourceReferenceDescriptor(); - cmpResource.setJndiName("jdbc/__default"); - cmpResource.setDatabaseVendorName(DBVendorTypeHelper.H2); - cmpResource.setCreateTablesAtDeploy(true); - cmpResource.setDropTablesAtUndeploy(true); - bundle.setCMPResourceReference(cmpResource); - } - } - return cmpResource; - } - - /** - * Check that there is a dbschema for each element of the SunCmpMappings. - * For those which are missing, create a corresponding .dbschema file. - * @param cmpResource Provides JNDI name for getting database connection - * @param sunCmpMappings SunCmpMappings which is checked for having schema - * @param inputFilesPath the directory where this bundle's files are located - * @param classout the directory where the classes are located - * @exception DBException Thrown if database model throws it - * @exception IOException Thrown if .dbschema file cannot be created. - * @exception SQLException Thrown if we cannot get get required info from - * the database. - */ - private void ensureDBSchemaExistence( - ResourceReferenceDescriptor cmpResource, - SunCmpMappings sunCmpMappings, - String inputFilesPath, - File classout) - throws DBException, SQLException, GeneratorException { - - String generatedSchemaName = getInfoHelper().getSchemaNameToGenerate(); - Set tables = new HashSet(); - int size = sunCmpMappings.sizeSunCmpMapping(); - - // Sweep through the mappings to check dbschema existence. If a - // mapping does not have a dbschema, get a list of tables to be - // captured, then capture them, create the corresponding dbschema, - // and save it. - for (int i = 0; i < size; i++) { - SunCmpMapping sunCmpMapping = sunCmpMappings.getSunCmpMapping(i); - - String schemaName = sunCmpMapping.getSchema(); - if (StringHelper.isEmpty(schemaName)) { - if (!isVerifyFlag) { - // The tables in this section need to be captured. - addAllTables(sunCmpMapping, tables); - sunCmpMapping.setSchema(generatedSchemaName); - } else { - // If it is from verifier, capture schema internally - // to perform sun-cmp-mappings.xml and EJB validation - getConversionHelper().setEnsureValidation(false); - } - - } else { - File dbschemaFile = new File( - new StringBuilder(inputFilesPath) - .append(File.separator) - .append(schemaName) - .append(DBSCHEMA_EXTENSION).toString()); - if (! (dbschemaFile.exists() - && dbschemaFile.isFile() - && dbschemaFile.canRead())) { - throw new GeneratorException( - I18NHelper.getMessage( - messages, "CMG.MissingDBSchema", // NOI18N - bundle.getApplication().getRegistrationName(), - JDOCodeGeneratorHelper.getModuleName(bundle), - schemaName)); - } - } - } - - // If there were tables to be captured, they will be in the list. - // Now we need to go and capture those tables. - if (tables.size() > 0) { - String userSchema = null; - Connection con = DeploymentHelper.getConnection(cmpResource.getJndiName()); - DatabaseMetaData dmd = con.getMetaData(); - if (DBVendorTypeHelper.requireUpperCaseSchema(dmd)) { - userSchema = dmd.getUserName().trim().toUpperCase(); - } - - ConnectionProvider cp = new ConnectionProvider(con, dmd.getDriverName().trim()); - if (userSchema != null) { - cp.setSchema(userSchema); - } - - OutputStream outstream = null; - - try { - SchemaElementImpl outSchemaImpl = new SchemaElementImpl(cp); - SchemaElement schemaElement = new SchemaElement(outSchemaImpl); - schemaElement.setName(DBIdentifier.create(generatedSchemaName)); - - if(dmd.getDatabaseProductName().compareToIgnoreCase("MYSQL") == 0) - outSchemaImpl.initTables(cp, new LinkedList(tables), new LinkedList(), true); - else - outSchemaImpl.initTables(cp, new LinkedList(tables), new LinkedList(), false); - outstream = new FileOutputStream( - new File(classout, - new StringBuilder(generatedSchemaName) - .append(DBSCHEMA_EXTENSION).toString())); - - // XXX Unfortunately, if SchemaElement.save gets an - // IOException, it prints the stack trace but does not - // let us handle it :-( - schemaElement.save(outstream); - - } catch (IOException ex) { - // Catch FileNotFound, etc. - throw JDOCodeGeneratorHelper.createGeneratorException( - "CMG.CannotSaveDBSchema", bundle, ex); // NOI18N - } finally { - cp.closeConnection(); - try { - if (outstream != null) { - outstream.close(); - } - } catch (IOException ex) { - if (logger.isLoggable(Logger.FINE)) - logger.fine(ex.toString()); - } - } - } - } - - /** - * Adds all table names referenced by this SunCmpMapping element - * to this Set. - * - * @param sunCmpMapping the SunCmpMapping element to check. - * @param tables the Set to update. - */ - private void addAllTables(SunCmpMapping sunCmpMapping, Set tables) { - EntityMapping[] beans = sunCmpMapping.getEntityMapping(); - for (int i = 0; i < beans.length; i++) { - // Always add the table name. - addTableName(beans[i].getTableName(), tables); - - // Check if there are table names specified in the - // cmp-field-mapping. - CmpFieldMapping[] cmpfields = beans[i].getCmpFieldMapping(); - for (int j = 0; j < cmpfields.length; j++) { - // There might be more than one column-name for each cmp field. - String[] names = cmpfields[j].getColumnName(); - for (int jj = 0; jj < names.length; jj++) { - addRelatedTableName(names[jj], tables); - } - } - - // Check the table names specified in the cmr-field-mapping. - CmrFieldMapping[] cmrfields = beans[i].getCmrFieldMapping(); - for (int j = 0; j < cmrfields.length; j++) { - // There might be more than one column-pair for each cmr field. - ColumnPair[] pairs = cmrfields[j].getColumnPair(); - for (int jj = 0; jj < pairs.length; jj++) { - String[] names = pairs[jj].getColumnName(); - for (int jjj = 0; jjj < names.length; jjj++) { - addRelatedTableName(names[jjj], tables); - } - } - } - } - } - - /** - * Add a valid (not null and not all spaces) table name to the - * Set of known table names. - * - * @param name the table name to add if it's a valid name. - * @param tables the Set to update. - */ - private void addTableName(String name, Set tables) { - if (!StringHelper.isEmpty(name)) { - if (logger.isLoggable(Logger.FINE)){ - logger.fine("Adding Table to Capture Set: " + name); // NOI18N - } - - tables.add(name); - } - } - - /** - * Adds a table name, if it is specified as a part of the column name, - * to the Set of known table names. - * - * @param columnName the name of the column to use. - * @param tables the Set to update. - */ - private void addRelatedTableName(String columnName, Set tables) { - if (!StringHelper.isEmpty(columnName)) { - int l = columnName.indexOf(DOT); - if (l > 0) { - addTableName(columnName.substring(0, l), tables); - } - } - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/MethodHelper.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/MethodHelper.java deleted file mode 100644 index 10b0f2695a8..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/MethodHelper.java +++ /dev/null @@ -1,214 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MethodHelper.java - * - * Created on December 20, 2001, 5:30 PM - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Collection; -import java.util.ResourceBundle; - -import com.sun.enterprise.deployment.MethodDescriptor; -import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriterHelper; -import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.QueryDescriptor; -import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbCMPFinder; -import org.glassfish.ejb.deployment.descriptor.runtime.PrefetchDisabledDescriptor; -import org.glassfish.persistence.common.I18NHelper; - -/** This is a subclass of {@link AbstractMethodHelper} - * which provides overridden method implementations based on an SunONE - * implementation. - * - * @author Rochelle Raccah - */ -public class MethodHelper extends AbstractMethodHelper -{ - /** I18N message handler */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - MethodHelper.class); - - /** Creates a new instance of MethodHelper - * @param descriptor the IASEjbCMPEntityDescriptor which defines the - * information for this bean. - */ - public MethodHelper (IASEjbCMPEntityDescriptor descriptor) - { - super(descriptor); - } - - /** - * Reads all known methods and sorts them by name into specific - * Collections for further processing. - */ - protected void categorizeMethods () - { - IASEjbCMPEntityDescriptor cmpDescriptor = - (IASEjbCMPEntityDescriptor)getDescriptor(); - - super.categorizeMethods(); - - // replace the finders and selectors with ias specific info - setFinders(getListForCollection(cmpDescriptor.getFinders())); - setSelectors(getListForCollection(cmpDescriptor.getSelectors())); - } - - // returns a non-null list for the supplied collection - private static ArrayList getListForCollection (Collection aCollection) - { - return ((aCollection != null) ? - new ArrayList(aCollection) : new ArrayList()); - } - - /** Returns true if prefetch is enabled for the specified - * method, false otherwise. Prefetch is enabled by default. - * @param method the java.lang.reflect.Method object used to find the - * prefetch setting. - * @return a boolean representing the prefetch setting - */ - public boolean isQueryPrefetchEnabled (Method method) - { - boolean enabled = true; - QueryDescriptor queryDescriptor = getQueryDescriptor(method); - - if (queryDescriptor != null) - { - IASEjbCMPEntityDescriptor cmpDescriptor = - (IASEjbCMPEntityDescriptor)getDescriptor(); - PrefetchDisabledDescriptor pdDescriptor = - cmpDescriptor.getPrefetchDisabledDescriptor(); - - if (pdDescriptor != null) - { - MethodDescriptor methodDescriptor = - queryDescriptor.getQueryMethodDescriptor(); - - enabled = !pdDescriptor.isPrefetchDisabledFor( - methodDescriptor); - } - } - - return enabled; - } - - /** Gets the jdo filter expression associated with the specified method - * if it exists. Note that this method should only be used for CMP 1.1 - - * use {@link #getQueryString} for CMP 2.0. - * @param method the java.lang.reflect.Method object used to find the - * query filter - * @return the jdo filter expression - */ - public String getJDOFilterExpression (Method method) - { - IASEjbCMPFinder cmpFinder = getFinder(method); - - return ((cmpFinder != null) ? cmpFinder.getQueryFilter() : null); - } - - /** Gets the jdo parameter declaration associated with the specified - * method if it exists. Note that this method should only be used for - * CMP 1.1 - use {@link #getQueryString} for CMP 2.0. - * @param method the java.lang.reflect.Method object used to find the - * parameter declaration - * @return the jdo parameter declaration - */ - public String getJDOParameterDeclaration (Method method) - { - IASEjbCMPFinder cmpFinder = getFinder(method); - - return ((cmpFinder != null) ? - cmpFinder.getQueryParameterDeclaration() : null); - } - - /** Gets the jdo variables declaration associated with the specified - * method if it exists. Note that this method should only be used for - * CMP 1.1 - use {@link #getQueryString} for CMP 2.0. - * @param method the java.lang.reflect.Method object used to find the - * parameter declaration - * @return the jdo variables declaration - */ - public String getJDOVariableDeclaration (Method method) - { - IASEjbCMPFinder cmpFinder = getFinder(method); - - return ((cmpFinder != null) ? cmpFinder.getQueryVariables() : null); - } - - /** Gets the jdo ordering specification associated with the specified - * method if it exists. Note that this method should only be used for - * CMP 1.1 - use {@link #getQueryString} for CMP 2.0. - * @param method the java.lang.reflect.Method object used to find the - * parameter declaration - * @return the jdo ordering specification - */ - public String getJDOOrderingSpecification (Method method) - { - IASEjbCMPFinder cmpFinder = getFinder(method); - - return ((cmpFinder != null) ? cmpFinder.getQueryOrdering() : null); - } - - - private IASEjbCMPFinder getFinder (Method method) - { - IASEjbCMPEntityDescriptor cmpDescriptor = - (IASEjbCMPEntityDescriptor)getDescriptor(); - IASEjbCMPFinder finder = cmpDescriptor.getIASEjbCMPFinder(method); - - if (finder == null) { - String methodSignature = cmpDescriptor.getName() + '.' + - method.getName() + - JavaClassWriterHelper.parenleft_ + - JavaClassWriterHelper.getParameterTypesList(method) + - JavaClassWriterHelper.parenright_ ; - String msg = I18NHelper.getMessage(messages, - "EXC_MissingCMP11Finder", methodSignature);//NOI18N - throw new RuntimeException(msg); - } - - return finder; - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/NameMapper.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/NameMapper.java deleted file mode 100644 index 8d540eaeac8..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/NameMapper.java +++ /dev/null @@ -1,460 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * NameMapper.java - * - * Created on December 3, 2001, 5:09 PM - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Map; -import java.util.Set; - -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; -import org.glassfish.common.util.StringHelper; -import org.glassfish.ejb.deployment.descriptor.CMRFieldInfo; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor; - -/** This is a subclass of - * {@link com.sun.jdo.spi.persistence.support.ejb.model.util.NameMapper} (in - * the com.sun.jdo.spi.persistence.support.ejb.model.util - * package) which implements the abstract methods based on an IAS - * implementation. - * - * @author Rochelle Raccah - */ -public class NameMapper extends - com.sun.jdo.spi.persistence.support.ejb.model.util.NameMapper -{ - private static String EJB_NAME = "EJB_NAME"; // NOI18N - private static String ABSTRACT_SCHEMA_NAME = "ABSTRACT_SCHEMA_NAME"; // NOI18N - private static String PERSISTENCE_NAME = "PERSISTENCE_NAME"; // NOI18N - private static String LOCAL_NAME = "LOCAL_NAME"; // NOI18N - private static String REMOTE_NAME = "REMOTE_NAME"; // NOI18N - - private final boolean _expandPCNames; - private Map _nameTypeToNameMap; - - /** - * Signature with CVS keyword substitution for identifying the generated code - */ - public static final String SIGNATURE = "$RCSfile: NameMapper.java,v $ $Revision: 1.2 $"; //NOI18N - - /** Creates a new instance of NameMapper - * @param bundleDescriptor the IASEjbBundleDescriptor which defines the - * universe of names for this application. - */ - public NameMapper (EjbBundleDescriptorImpl bundleDescriptor) - { - this(bundleDescriptor, true); - } - - /** Creates a new instance of NameMapper - * @param bundleDescriptor the IASEjbBundleDescriptor which defines the - * universe of names for this application. - * @param expandPersistenceClassNames flag to indicate whether - * persistence class names should differ from bean names - */ - public NameMapper (EjbBundleDescriptorImpl bundleDescriptor, - boolean expandPersistenceClassNames) - { - super(bundleDescriptor); - _expandPCNames = expandPersistenceClassNames; - initMap(); - } - - private void initMap () - { - Iterator iterator = getBundleDescriptor().getEjbs().iterator(); - Map ejbMap = new HashMap(); - Map persistenceClassMap = new HashMap(); - Set localNames = new HashSet(); - Set remoteNames = new HashSet(); - Map abstractSchemaMap = new HashMap(); - - _nameTypeToNameMap = new HashMap(); - - while (iterator.hasNext()) - { - Object next = iterator.next(); - - if (next instanceof IASEjbCMPEntityDescriptor) - { - IASEjbCMPEntityDescriptor descriptor = - (IASEjbCMPEntityDescriptor)next; - String ejbName = descriptor.getName(); - - ejbMap.put(ejbName, descriptor); - safePut(persistenceClassMap, - getPersistenceClassForDescriptor(descriptor), ejbName); - safeAdd(localNames, descriptor.getLocalClassName()); - safeAdd(remoteNames, descriptor.getRemoteClassName()); - safePut(abstractSchemaMap, - descriptor.getAbstractSchemaName(), ejbName); - } - } - _nameTypeToNameMap.put(EJB_NAME, ejbMap); - _nameTypeToNameMap.put(PERSISTENCE_NAME, persistenceClassMap); - _nameTypeToNameMap.put(LOCAL_NAME, localNames); - _nameTypeToNameMap.put(REMOTE_NAME, remoteNames); - _nameTypeToNameMap.put(ABSTRACT_SCHEMA_NAME, abstractSchemaMap); - } - - // puts a key-value pair in a map as long as the key is not null - private void safePut (Map map, Object key, Object value) - { - if ((key != null) && (map != null)) - map.put(key, value); - } - // puts a value in a set as long as the object is not null - private void safeAdd (Set set, Object value) - { - if ((value != null) && (set != null)) - set.add(value); - } - - private Map getMap () { return _nameTypeToNameMap; } - - /** Determines if the specified name represents an ejb. - * @param name the fully qualified name to be checked - * @return true if this name represents an ejb; - * false otherwise. - */ - public boolean isEjbName (String name) - { - return mapContainsKey(EJB_NAME, name); - } - - /** Gets the EjbCMPEntityDescriptor which represents the ejb - * with the specified name. - * @param name the name of the ejb - * @return the EjbCMPEntityDescriptor which represents the ejb. - */ - public EjbCMPEntityDescriptor getDescriptorForEjbName (String name) - { - Map ejbMap = (Map)getMap().get(EJB_NAME); - Object descriptor = ejbMap.get(name); - - return (((descriptor != null) && - (descriptor instanceof EjbCMPEntityDescriptor)) ? - (EjbCMPEntityDescriptor)descriptor : null); - } - - private IASEjbCMPEntityDescriptor getIASDescriptorForEjbName (String name) - { - EjbCMPEntityDescriptor descriptor = getDescriptorForEjbName(name); - - return (((descriptor != null) && - (descriptor instanceof IASEjbCMPEntityDescriptor)) ? - (IASEjbCMPEntityDescriptor)descriptor : null); - } - - /** Gets the name of the abstract bean class which corresponds to the - * specified ejb name. - * @param name the name of the ejb - * @return the name of the abstract bean for the specified ejb - */ - public String getAbstractBeanClassForEjbName (String name) - { - EjbCMPEntityDescriptor descriptor = getDescriptorForEjbName(name); - - return ((descriptor != null) ? descriptor.getEjbClassName() : null); - } - - /** Gets the name of the key class which corresponds to the specified - * ejb name. - * @param name the name of the ejb - * @return the name of the key class for the ejb - */ - public String getKeyClassForEjbName (String name) - { - EjbCMPEntityDescriptor descriptor = getDescriptorForEjbName(name); - - return ((descriptor != null) ? - descriptor.getPrimaryKeyClassName() : null); - } - - /** Gets the name of the ejb which corresponds to the specified abstract - * schema name. - * @param schemaName the name of the abstract schema - * @return the name of the ejb for the specified abstract schema - */ - public String getEjbNameForAbstractSchema (String schemaName) - { - Map abstractSchemaMap = (Map)getMap().get(ABSTRACT_SCHEMA_NAME); - - return (String)abstractSchemaMap.get(schemaName); - } - - /** Gets the name of the abstract schema which corresponds to the - * specified ejb. - * @param name the name of the ejb - * @return the name of the abstract schema for the specified ejb - */ - public String getAbstractSchemaForEjbName (String name) - { - EjbCMPEntityDescriptor descriptor = getDescriptorForEjbName(name); - - return ((descriptor != null) ? - descriptor.getAbstractSchemaName() : null); - } - - /** Gets the name of the concrete bean class which corresponds to the - * specified ejb. - * @param name the name of the ejb - * @return the name of the concrete bean for the specified ejb - */ - public String getConcreteBeanClassForEjbName (String name) - { - IASEjbCMPEntityDescriptor descriptor = - getIASDescriptorForEjbName(name); - - return ((descriptor != null) ? getQualifiedName( - getAbstractBeanClassForEjbName(name), - descriptor.getConcreteImplClassName()) : null); - } - - private String getQualifiedName (String classNameWithPackage, - String classNameToQualify) - { - if (!StringHelper.isEmpty(classNameToQualify)) - { - String packageName = - JavaTypeHelper.getPackageName(classNameToQualify); - - if (StringHelper.isEmpty(packageName)) // not already qualified - { - packageName = - JavaTypeHelper.getPackageName(classNameWithPackage); - - if (!StringHelper.isEmpty(packageName)) - return packageName + '.' + classNameToQualify; - } - } - - return classNameToQualify; - } - - /** Gets the name of the ejb name which corresponds to the - * specified persistence-capable class name. - * @param className the name of the persistence-capable - * @return the name of the ejb for the specified persistence-capable - */ - public String getEjbNameForPersistenceClass (String className) - { - Map pcMap = (Map)getMap().get(PERSISTENCE_NAME); - - return (String)pcMap.get(className); - } - - /** Gets the name of the persistence-capable class which corresponds to - * the specified ejb name. - * @param name the name of the ejb - * @return the name of the persistence-capable for the specified ejb - */ - public String getPersistenceClassForEjbName (String name) - { - EjbCMPEntityDescriptor descriptor = getDescriptorForEjbName(name); - - return ((descriptor != null) ? - getPersistenceClassForDescriptor(descriptor) : null); - } - - private String getPersistenceClassForDescriptor ( - EjbCMPEntityDescriptor descriptor) - { - String pcName = ((descriptor instanceof IASEjbCMPEntityDescriptor) ? - ((IASEjbCMPEntityDescriptor)descriptor).getPcImplClassName() : - null); - - // use the package name, keep the ejb name - if ((pcName != null) && !_expandPCNames) - { - pcName = JavaTypeHelper.getPackageName(pcName) + - '.' + descriptor.getName(); - } - - return pcName; - } - - private boolean mapContainsKey (String stringIndex, String name) - { - Object mapObject = getMap().get(stringIndex); - Set testSet = ((mapObject instanceof Set) ? (Set)mapObject : - ((Map)mapObject).keySet()); - - return ((name != null) ? testSet.contains(name) : false); - } - - /** Determines if the specified name represents a local interface. - * @param name the fully qualified name to be checked - * @return true if this name represents a local interface; - * false otherwise. - */ - public boolean isLocalInterface (String name) - { - return mapContainsKey(LOCAL_NAME, name); - } - - /** Gets the name of the ejb which corresponds to the specified - * local interface name. - * @param ejbName the name of the ejb which contains fieldName - * from which to find relationship and therefore the local interface - * @param fieldName the name of the field in the ejb - * @param interfaceName the name of the local interface - * @return the name of the ejb for the specified local interface - */ - public String getEjbNameForLocalInterface (String ejbName, - String fieldName, String interfaceName) - { - EjbCMPEntityDescriptor descriptor = - getRelatedEjbDescriptor(ejbName, fieldName); - - return (((descriptor != null) && !StringHelper.isEmpty(interfaceName) - && interfaceName.equals(descriptor.getLocalClassName())) ? - descriptor.getName() : null); - } - - /** Gets the name of the local interface which corresponds to the - * specified ejb name. - * @param name the name of the ejb - * @return the name of the local interface for the specified ejb - */ - public String getLocalInterfaceForEjbName (String name) - { - EjbCMPEntityDescriptor descriptor = getDescriptorForEjbName(name); - - return ((descriptor != null) ? descriptor.getLocalClassName() : null); - } - - /** Determines if the specified name represents a remote interface. - * @param name the fully qualified name to be checked - * @return true if this name represents a remote interface; - * false otherwise. - */ - public boolean isRemoteInterface (String name) - { - return mapContainsKey(REMOTE_NAME, name); - } - - /** Gets the name of the ejb which corresponds to the specified - * remote interface name. - * @param ejbName the name of the ejb which contains fieldName - * from which to find relationship and therefore the remote interface - * @param fieldName the name of the field in the ejb - * @param interfaceName the name of the remote interface - * @return the name of the ejb for the specified remote interface - */ - public String getEjbNameForRemoteInterface (String ejbName, - String fieldName, String interfaceName) - { - EjbCMPEntityDescriptor descriptor = - getRelatedEjbDescriptor(ejbName, fieldName); - - return (((descriptor != null) && !StringHelper.isEmpty(interfaceName) - && interfaceName.equals(descriptor.getRemoteClassName())) ? - descriptor.getName() : null); - } - - /** Gets the name of the remote interface which corresponds to the - * specified ejb name. - * @param name the name of the ejb - * @return the name of the remote interface for the specified ejb - */ - public String getRemoteInterfaceForEjbName (String name) - { - EjbCMPEntityDescriptor descriptor = getDescriptorForEjbName(name); - - return ((descriptor != null) ? descriptor.getRemoteClassName() : null); - } - - private EjbCMPEntityDescriptor getRelatedEjbDescriptor ( - String ejbName, String ejbFieldName) - { - EjbCMPEntityDescriptor descriptor = ((ejbName != null) ? - getDescriptorForEjbName(ejbName) : null); - - if (descriptor != null) - { - PersistenceDescriptor persistenceDescriptor = - descriptor.getPersistenceDescriptor(); - CMRFieldInfo cmrf = - persistenceDescriptor.getCMRFieldInfoByName(ejbFieldName); - - return cmrf.role.getPartner().getOwner(); - } - - return null; - } - - /** Gets the name of the field in the ejb which corresponds to the - * specified persistence-capable class name and field name pair. - * @param className the name of the persistence-capable - * @param fieldName the name of the field in the persistence-capable - * @return the name of the field in the ejb for the specified - * persistence-capable field - */ - public String getEjbFieldForPersistenceField (String className, - String fieldName) - { - return fieldName; - } - - /** Gets the name of the field in the persistence-capable class which - * corresponds to the specified ejb name and field name pair. - * @param name the name of the ejb - * @param fieldName the name of the field in the ejb - * @return the name of the field in the persistence-capable for the - * specified ejb field - */ - public String getPersistenceFieldForEjbField (String name, String fieldName) - { - return fieldName; - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/PersistenceManagerServiceImpl.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/PersistenceManagerServiceImpl.java deleted file mode 100644 index e6ff18b3747..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbc/PersistenceManagerServiceImpl.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceManagerServiceImpl.java - * - * Created on January 24, 2002 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbc; - -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.CMPHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.SunContainerHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.LoggerFactoryiAS; - -import org.jvnet.hk2.annotations.Service; -import org.glassfish.ejb.spi.CMPService; - -/** - * This class implements CMPService contract and allows to load Sun specific implementation of the - * ContainerHelper when loaded. - */ -@Service -public class PersistenceManagerServiceImpl implements CMPService { - - // Initialize the appserver loggers. - static { - LogHelper.registerLoggerFactory(new LoggerFactoryiAS()); - } - - // Reference and force the initialization of the Sun specific - // implementation of the TransactionHelper and the ContainerHelper. - private static final Class helper = forceInit(SunContainerHelper.class); - - // Reference and force the initialization of the DeploymentEventListener - // implementation. -/** - private static final Class listener = - forceInit("com.sun.jdo.spi.persistence.support.ejb.ejbc.DeploymentEventListenerImpl"); -**/ - - public boolean isReady() { - // Checks that SunContainerHelper regeistered with CMPHelper - return CMPHelper.isContainerReady(); - } - - /** - * Forces the initialization of the class pertaining to the specified - * Class object. This method does nothing if the class is already - * initialized prior to invocation. - * - * @param klass the class for which to force initialization - * @return klass - */ - private static Class forceInit(Class klass) { - try { - Class.forName(klass.getName(), true, klass.getClassLoader()); - } catch (ClassNotFoundException e) { - throw new AssertionError(e); // Can't happen - } - return klass; - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle.properties b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle.properties deleted file mode 100644 index b6c4c96f403..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/Bundle.properties +++ /dev/null @@ -1,255 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# resource bundle for query messages -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 75. -# -# This file is divided into following sections. -# 1. main ejbqlc compiler class -# 2. ejbqlc error message helper class -# 3. ejbqlc syntax error messages -# 4. ejbqlc semantic error messages -# 5. ejbqlc code generation error messages -# 6. Miscellaneous -# -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################# -#

    -# Message ID Range: JDO75000 - JDO75099 -############################################################################# - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -LOG_EJBQLCCompile=JDO75000: EJBQLC compile query\n\ -Bean: {0}\n\ -Method: {1}\n\ -EJBQL: {2} -# {0} - name of the compiler pass -LOG_EJBQLCStartPass=JDO75001: EJBQLC start {0} -# {0} - name of the compiler pass -LOG_EJBQLCDumpTree=JDO75002: EJBQLC dump tree {0} -# {0} - String repr of the EJBQLC compile result -LOG_EJBQLCResult=JDO75003: EJBQLC result {0} -ERR_MissingMethodInstance=JDO75004: Missing finder/selector method instance. -# {0} - bean name -# {1} - finder/selector method signature -EXC_MissingEjbqlQueryText=JDO75005: Incomplete deployment descriptor for bean {0}: Missing or empty ejb-ql element in query element for method {1}. - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_InvalidEJBQLQuery=JDO75006: Invalid EJBQL query\n\ -Bean: {0}\n\ -Method: {1}\n\ -EJBQL: {2}\n\ -Error: {3} - -# {0} - bean name -# {1} - finder/selector method signature -# {2} - EJBQL query text -# {3} - detailed error message -EXC_EJBQLQueryInternalError=JDO75007: Fatal internal exception while parsing EJBQL:\n\ -Bean: {0}\n\ -Method: {1}\n\ -EJBQL: {2}\n\ -Error: {3} -JDO75007.diag.cause.1=Internal error in CMP module. -JDO75007.diag.check.1=This is an Unexpected Internal Error. Please contact Payara Support with your application and the complete error log message. - -ERR_UnexpectedException=JDO75008: Unexpected exception during {0} - -############################################################################# -# -# Message ID Range: JDO75100 - JDO75199 -############################################################################# -EXC_PositionInfoMsg={0} -EXC_PositionInfoMsgColumn=column({0}): {1} -EXC_PositionInfoMsgLineColumn=line({0}) column({1}): {2} - -ERR_FatalInternalError=JDO75100: Fatal internal error: {0} - -############################################################################# -# -# Message ID Range: JDO75200 - JDO75299 -############################################################################# -EXC_SyntaxError=JDO75200: Syntax error. -EXC_SyntaxErrorAt=JDO75201: Syntax error at ''{0}''. -EXC_UnexpectedToken=JDO75202: Syntax error unexpected token ''{0}''. -EXC_UnexpectedChar=JDO75203: Syntax error unexpected char ''{0}''. -EXC_ExpectedCharFound=JDO75204: Syntax error expected char ''{0}'', found ''{1}''. -EXC_UnexpectedEOF=JDO75205: Syntax error unexpected end of EJBQL query. - -############################################################################# -# -# Message ID Range: JDO75300 - JDO75499 -############################################################################# -EXC_MultipleDeclaration=JDO75300: Multiple declaration of ''{0}''. -EXC_UndefinedIdentifier=JDO75301: Undefined identifier ''{0}''. -EXC_BooleanWhereClauseExpected=JDO75302: Boolean expression expected, where clause expression has type ''{0}''. -EXC_OrderableOrderbyClauseExpected=JDO75303: Orderable expression expected, orderby clause expression has type ''{0}''. -EXC_OrderableExpected=JDO75304: Orderable expression expected, expression has type ''{0}''. -EXC_NumberExprExpected=JDO75305: Number expression expected, expression has type ''{0}''. -EXC_StringExprExpected=JDO75306: String expression expected, expression has type ''{0}''. -EXC_NumberOrStringExprExpected=JDO75307: Number or String expression expected, expression has type ''{0}''. -EXC_IntExprExpected=JDO75308: Int expression expected, expression has type ''{0}''. -EXC_DoubleExprExpected=JDO75309: Double expression expected, expression has type ''{0}''. -EXC_IdentificationVariableExcepted=JDO75310: Identifier ''{0}'' does not denote an identification variable. -EXC_InvalidArguments=JDO75311: Invalid argument(s) for ''{0}''. -EXC_InvalidParameterIndex=JDO75312: Invalid parameter ''{0}''. It must be at least 1 and not greater than {1}. -EXC_AbstractSchemNameExpected=JDO75313: Identifier ''{0}'' does not denote abstract schema type. -EXC_UnknownField=JDO75314: ''{0}'' does not denote a cmp-field or cmr-field of the entity bean for abstract schema type ''{1}''. -EXC_SingleValuedCMROrCMPFieldExpected=JDO75315: Field ''{0}'' of type ''{1}'' is not a single valued cmr-field or a cmp-field. -EXC_CMPFieldExpected=JDO75316: Field ''{0}'' of type ''{1}'' is not a cmp-field. -EXC_SingleValuedCMRFieldExpected=JDO75317: Field ''{0}'' of type ''{1}'' is not a single valued cmr-field. -EXC_CollectionValuedCMRFieldExpected=JDO75318: Field ''{0}'' of type ''{1}'' is not a collection valued cmr-field. -EXC_CollectionElementTypeMismatch=JDO75319: Collection element type ''{0}'' is not compatible with value type ''{1}''. -EXC_InCollectionElementTypeMismatch=JDO75320: In Collection expression type ''{0}'' is not compatible with value type ''{1}''. -EXC_InvalidPatternDefinition=JDO75321: Invalid Pattern ''{0}'' of LIKE expression, expected type String. -EXC_InvalidEscapeDefinition=JDO75322: Invalid ESCAPE ''{0}'' of LIKE expression, expected single character string literal. -EXC_InvalidEscapeParameterDefinition=JDO75323: Invalid ESCAPE parameter ''{0}'' of LIKE expression, expected type char or Character. -EXC_InvalidLHSLiteral=JDO75324: Invalid use of literal ''{0}'' on left hand side of an ''{1}'' operation. -EXC_InvalidLHSParameter=JDO75325: Invalid use of input parameter ''{0}'' on left hand side of an ''{1}'' operation. -EXC_MultipleEJBNameParameter=JDO75326: Multiple access of the same input parameter ''{0}'' assuming different ejb-name ''{1}''. The same input parameter was associated to the ejb-name ''{2}'' before. - -# Error: result-type-mapping specified for a finder method -EXC_InvalidResultTypeMappingForFinder=\ -JDO75327: result-type-mapping must not be specified for finder methods. -# Error: result-type-mapping specified as Remote, -# but bean does not have remote interface -# {0} - ejb name -EXC_InvalidRemoteResultTypeMappingForMultiSelector=\ -JDO75328: result-type-mapping is specified as ''Remote'', \ -but bean ''{0}'' does not have a remote interface. -# Error: result-type-mapping is specified as Local or not specified, -# but bean does not have local interface -# {0} - ejb name -EXC_InvalidLocalResultTypeMappingForMultiSelector=\ -JDO75329: result-type-mapping is specified as or defaults to ''Local'', \ -but bean ''{0}'' does not have a local interface. -# Error: result-type-mapping is specified as Remote, -# but single-object selector does not return remote interface. -EXC_InvalidRemoteResultTypeMappingForSingleSelector=\ -JDO75330: result-type-mapping is specified as 'Remote', \ -but single-object selector does not return remote interface. -# Error: result-type-mapping is specified as Local or not specified, -# but single-object selector does not return local interface. -EXC_InvalidLocalResultTypeMappingForSingleSelector=\ -JDO75331: result-type-mapping is specified as or defaults to 'Local', \ -but single-object selector does not return local interface. -# Error: result-type-mapping is specified for a selector method returning -# non-entity objects -# {0} - type of of the select clause expression -EXC_InvalidResultTypeMappingForSelector=\ -JDO75332: result-type-mapping must not be specified for selectors returning non-entity \ -objects. (The select clause expression has type ''{0}'') - -# Error: invalid return type for finder, e.g. java.lang.String -# {0} - finder method return type -EXC_InvalidFinderReturnType=\ -JDO75333: Invalid return type ''{0}'' for finder method. -# Error: the select clause of the finder's EJBQL query has an invalid type, -# e.g. java.lang.String -# {0} - type of of the select clause expression -EXC_InvalidFinderSelectClauseType=\ -JDO75334: Invalid type ''{0}'' of select clause expression for finder method. -# Error: type mismatch between the return type of the selector and -# the select clause of the EJBQL query -# {0} - selector method return type -# {1} - type of of the select clause expression -EXC_InvalidSelectorReturnType=\ -JDO75335: The selector return type ''{0}'' is not compatible with the select clause type ''{1}''. -# Error: mismatch between orderby item and select clause of EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItem=\ -JDO75336: The orderby item ''{0}'' is not compatible with the select clause. -# Error: mismatch between orderby item and cmp field select clause of -# EJB QL query -# {0} - order by item -EXC_InvalidOrderbyItemForCMPSelect=\ -JDO75337: The orderby item ''{0}'' and the cmp field in select clause must be the same. -EXC_InvalidAggregateOrderby=\ -JDO75338: An aggregate select clause must not be used with an order by clause. - -ERR_SemanticError=JDO75339: Semantic error: -ERR_InvalidPathExpr=JDO75340: Invalid path expr -#Error: Missing information about a field of a bean -# {0} - Field -# {1} - Bean name -ERR_MissingFieldInfo=JDO75341: Missing field meta data for field ''{0}'' of ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75500 - JDO75599 -############################################################################# -ERR_JDOQLCodeGenerationError=JDO75500: JDOQL code generation error: -ERR_UnexpectedNode=JDO75501: Unexpected node ''{0}'', token type ''{1}'' - -############################################################################# -# -# Message ID Range: JDO75600 - JDO75699 -############################################################################# -# -# ejbqlc EJBQLASTFactory -# -ERR_UnexpectedExceptionClone=JDO75600: Unexpected exception during clone - -# -# ejbqlc TypeSupport -# -ERR_EjbNameExpected=JDO75601: {0}: expected ejb name {1} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLAST.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLAST.java deleted file mode 100644 index 6b77ccf6c34..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLAST.java +++ /dev/null @@ -1,250 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * EJBQLAST.java - * - * Created on November 12, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - -import antlr.CommonAST; -import antlr.Token; -import antlr.collections.AST; - -/** - * An instance of this class represents a node of the intermediate - * representation (AST) used by the query compiler. It stores per node: - *
      - *
    • token type info - *
    • token text - *
    • line info - *
    • column info - *
    • type info the semantic analysis calculates the type of an expression - * and adds this info to each node. - *
    - * - * @author Michael Bouschen - */ -public class EJBQLAST - extends CommonAST - implements Cloneable -{ - /** */ - private static char SEPARATOR = '\n'; - - /** */ - private static String INDENT = " "; //NOI18N - - /** The line info */ - protected int line = 0; - - /** The column info */ - protected int column = 0; - - /** The type info */ - protected transient Object typeInfo; - - /** No args constructor. */ - public EJBQLAST() {} - - /** Constructor taking token type, text and type info. */ - public EJBQLAST(int type, String text, Object typeInfo) - { - initialize(type, text, typeInfo); - } - - /** Copy constructor. */ - public EJBQLAST(EJBQLAST ast) - { - initialize(ast); - } - - /** */ - public void initialize(Token t) - { - setType(t.getType()); - setText(t.getText()); - setLine(t.getLine()); - setColumn(t.getColumn()); - } - - /** */ - public void initialize(int type, String text, Object typeInfo) - { - setType(type); - setText(text); - setTypeInfo(typeInfo); - } - - /** */ - public void initialize(AST _ast) - { - EJBQLAST ast = (EJBQLAST)_ast; - setType(ast.getType()); - setText(ast.getText()); - setLine(ast.getLine()); - setColumn(ast.getColumn()); - setTypeInfo(ast.getTypeInfo()); - } - - /** */ - public void setLine(int line) - { - this.line = line; - } - - /** */ - public int getLine() - { - return line; - } - - /** */ - public void setColumn(int column) - { - this.column = column; - } - - /** */ - public int getColumn() - { - return column; - } - - /** */ - public void setTypeInfo(Object typeInfo) - { - this.typeInfo = typeInfo; - } - - /** */ - public Object getTypeInfo() - { - return typeInfo; - } - - /** - * Returns a string representation of this EJBQLAST w/o child ast nodes. - * @return a string representation of the object. - */ - public String toString() - { - Object typeInfo = getTypeInfo(); - StringBuilder repr = new StringBuilder(); - // token text - repr.append((getText() == null ? "null" : getText())); //NOI18N - repr.append(" ["); //NOI18N - // token type - repr.append(getType()); - // line/column info - repr.append(", ("); //NOI18N - repr.append(getLine() + "/" + getColumn()); //NOI18N - repr.append(")"); //NOI18N - // type info - repr.append(", "); //NOI18N - repr.append(typeInfo); - repr.append("]"); //NOI18N - return repr.toString(); - } - - /** - * Returns a full string representation of this JQLAST. - * The returned string starts with the specified title string, - * followed by the string representation of this ast, - * followed by the string representation of the child ast nodes of this ast. - * The method dumps each ast node on a separate line. - * Child ast nodes are indented. - * The method calls toString to dump a single node w/o children. - * @return string representation of this ast including children. - */ - public String getTreeRepr(String title) - { - return title + this.getTreeRepr(0); - } - - /** Helper method for getTreeRepr. */ - private String getTreeRepr(int level) - { - StringBuilder repr = new StringBuilder(); - // current node - repr.append(SEPARATOR); - repr.append(getIndent(level)); - repr.append(this.toString()); - // handle children - for (EJBQLAST node = (EJBQLAST)this.getFirstChild(); - node != null; - node = (EJBQLAST)node.getNextSibling()) { - repr.append(node.getTreeRepr(level+1)); - } - return repr.toString(); - } - - /** Returns the indent specified by level. */ - private String getIndent(int level) - { - StringBuilder buf = new StringBuilder(); - for (int i = 0; i < level; i++) { - buf.append(INDENT); - } - return buf.toString(); - } - - /** - * Creates and returns a copy of this object. - * The returned EJBQLAST shares the same state as this object, meaning - * the fields type, text, line, column, and typeInfo have the same values. - * But it is not bound to any tree structure, thus the child is null - * and the sibling is null. - * @return a clone of this instance. - */ - protected Object clone() - throws CloneNotSupportedException - { - EJBQLAST clone = (EJBQLAST)super.clone(); - clone.setFirstChild(null); - clone.setNextSibling(null); - return clone; - } - -} - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLASTFactory.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLASTFactory.java deleted file mode 100644 index 1f71fbfafe5..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLASTFactory.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * EJBQLASTFactory.java - * - * Created on November 12, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - -import antlr.collections.AST; -import antlr.ASTFactory; - -import java.util.ResourceBundle; -import org.glassfish.persistence.common.I18NHelper; - -/** - * Factory to create and connect EJBQLAST nodes. - * - * @author Michael Bouschen - */ -public class EJBQLASTFactory - extends ASTFactory -{ - /** The singleton EJBQLASTFactory instance. */ - private static EJBQLASTFactory factory = new EJBQLASTFactory(); - - /** I18N support. */ - private final static ResourceBundle msgs = - I18NHelper.loadBundle(EJBQLASTFactory.class); - - /** - * Get an instance of EJBQLASTFactory. - * @return an instance of EJBQLASTFactory - */ - public static EJBQLASTFactory getInstance() - { - return factory; - } - - /** - * Constructor. EJBQLASTFactory is a singleton, please use - * {@link #getInstance} to get the factory instance. - */ - protected EJBQLASTFactory() - { - this.theASTNodeTypeClass = EJBQLAST.class; - this.theASTNodeType = this.theASTNodeTypeClass.getName(); - } - - /** Overwrites superclass method to create the correct AST instance. */ - public AST create() - { - return new EJBQLAST(); - } - - /** Overwrites superclass method to create the correct AST instance. */ - public AST create(AST tr) - { - return create((EJBQLAST)tr); - } - - /** Creates a clone of the specified EJBQLAST instance. */ - public EJBQLAST create(EJBQLAST tr) - { - try { - return (tr==null) ? null : (EJBQLAST)tr.clone(); - } - catch(CloneNotSupportedException ex) { - throw new EJBQLException( - I18NHelper.getMessage(msgs, "ERR_UnexpectedExceptionClone"), ex); //NOI18N - } - } -} - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLC.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLC.java deleted file mode 100644 index 3e05ff69bfc..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLC.java +++ /dev/null @@ -1,227 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * EJBQLC.java - * - * Created on November 12, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - -import java.io.Reader; -import java.io.StringReader; -import java.util.ResourceBundle; -import java.lang.reflect.Method; - -import antlr.TokenBuffer; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.spi.persistence.support.ejb.model.util.NameMapper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriterHelper; - -/** - * This class is the driver of the EJBQL compiler. It controls the compiler - * passes: syntax analysis, semantic analysis and generation of the JDOQL query. - *

    - * A EJBQLC instance is able to compile multiple EJBQL queries as long as they - * come from the same deployement descriptor. The class uses the model instance - * passed to the constructor to access any meta data from the deployement - * descriptor. Method {@link #compile} compiles a single EJBQL query string - * together with the java.lang.reflect.Method instance of the corresponding - * finder/selector method. The result is a JDOQLElements instance, that can be - * used to construct a JDOQL query instance. - * - * @author Michael Bouschen - * @author Shing Wai Chan - */ -public class EJBQLC -{ - /** Meta data access. */ - protected Model model; - - /** Name mapping EJB <-> JDO. */ - protected NameMapper nameMapper; - - /** The intermediate form of the EJBQL query string. */ - protected EJBQLAST ast; - - /** The logger */ - private static Logger logger = LogHelperQueryCompilerEJB.getLogger(); - - /** I18N support. */ - protected final static ResourceBundle msgs = I18NHelper.loadBundle( - EJBQLC.class); - - /** - * Signature with CVS keyword substitution for identifying the generated code - */ - public static final String SIGNATURE = "$RCSfile: EJBQLC.java,v $ $Revision: 1.3 $"; //NOI18N - - /** - * Constructor. - * - * @param model meta data access. - * @param nameMapper name mapping EJB <-> JDO. - */ - public EJBQLC(Model model, NameMapper nameMapper) - { - this.model = model; - this.nameMapper = nameMapper; - } - - /** - * Compiles the specified query string for the specified - * finder/selector method. - * @param ejbqlQuery the EJBQL query text - * @param method the Method instance of the finder or selector - * @param resultTypeMapping result-type-mapping element from the DD - * @param finderNotSelector true indicates a finder, - * false a selector - * @param ejbName the ejb name of the entity bean - */ - public JDOQLElements compile(String ejbqlQuery, Method method, - int resultTypeMapping, - boolean finderNotSelector, String ejbName) - throws EJBQLException - { - boolean finer = logger.isLoggable(Logger.FINER); - boolean finest = logger.isLoggable(Logger.FINEST); - if (method == null) - ErrorMsg.fatal(I18NHelper.getMessage(msgs, - "ERR_MissingMethodInstance")); //NOI18N - if ((ejbqlQuery == null) || ejbqlQuery.trim().length() == 0) - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_MissingEjbqlQueryText", ejbName, //NOI18N - getMethodSignature(method))); - if (finer) - logger.finer("LOG_EJBQLCCompile", ejbName, //NOI18N - getMethodSignature(method), ejbqlQuery); - - JDOQLElements result = null; - TypeSupport typeSupport = new TypeSupport(model, nameMapper); - ParameterSupport paramSupport = new ParameterSupport(method); - String pass = null; - - try - { - // syntax analysis - pass = "syntax analysis"; //NOI18N - if (finer) logger.finer("LOG_EJBQLCStartPass", pass); //NOI18N - EJBQLParser parser = createStringParser(ejbqlQuery); - parser.query(); - ast = (EJBQLAST)parser.getAST(); - if (finest) logger.finest("LOG_EJBQLCDumpTree", ast.getTreeRepr("(AST)")); //NOI18N - - // semantic analysis - pass = "semantic analysis"; //NOI18N - if (finer) logger.finer("LOG_EJBQLCStartPass", pass); //NOI18N - Semantic semantic = new Semantic(); - semantic.init(typeSupport, paramSupport, method, resultTypeMapping, - finderNotSelector, ejbName); - semantic.setASTFactory(EJBQLASTFactory.getInstance()); - semantic.query(ast); - ast = (EJBQLAST)semantic.getAST(); - if (finest) logger.finest("LOG_EJBQLCDumpTree", ast.getTreeRepr("(typed AST)")); //NOI18N - - // JDOQL code generation - pass = "code generation"; //NOI18N - if (finer) logger.finer("LOG_EJBQLCStartPass", pass); //NOI18N - JDOQLCodeGeneration codeGen = new JDOQLCodeGeneration(); - codeGen.init(typeSupport, paramSupport); - codeGen.setASTFactory(EJBQLASTFactory.getInstance()); - codeGen.query(ast); - result = codeGen.getJDOQLElements(); - if (finer) logger.finer("LOG_EJBQLCResult", result.toString()); //NOI18N - } - catch (EJBQLException ex) { - // add EJB name, finder/selector, EJBQL to error message. - Object[] msgArgs = { ejbName, getMethodSignature(method), - ejbqlQuery, ex.getMessage() }; - ErrorMsg.error(I18NHelper.getMessage(msgs, - "EXC_InvalidEJBQLQuery", msgArgs)); //NOI18N - } - catch (Throwable t) { - Object[] msgArgs = { ejbName, getMethodSignature(method), - ejbqlQuery, t.toString() }; - // log a SEVERE message with nested exception - ErrorMsg.log(Logger.SEVERE, I18NHelper.getMessage(msgs, - "EXC_EJBQLQueryInternalError", msgArgs), t); //NOI18N - } - - // return the JDOQLElements instance representing the elements - // of the JDOQL query. - return result; - } - - //========= Internal helper methods ========== - - /** - * Creates an ANTLR EJBQL parser reading a string. - */ - private EJBQLParser createStringParser(String text) - { - Reader in = new StringReader(text); - EJBQLLexer lexer = new EJBQLLexer(in); - TokenBuffer buffer = new TokenBuffer(lexer); - EJBQLParser parser = new EJBQLParser(buffer); - parser.setASTFactory(EJBQLASTFactory.getInstance()); - return parser; - } - - /** - * Returns the signature of a method w/o exceptions and modifiers - * as a string. - */ - private String getMethodSignature(Method m) - { - if (m == null) - return ""; //NOI18N - - return m.getReturnType().getName() + ' ' + m.getName() + - JavaClassWriterHelper.parenleft_ + - JavaClassWriterHelper.getParameterTypesList(m) + - JavaClassWriterHelper.parenright_ ; - } - -} - diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLException.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLException.java deleted file mode 100644 index 57fd99247bc..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/EJBQLException.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * EJBQLException.java - * - * Created on November 12, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - -/** - * This class represents errors reported by the EJBQL compiler. - * - * @author Michael Bouschen - */ -public class EJBQLException - extends RuntimeException -{ - /** The Throwable that caused this EJBQLException. */ - Throwable cause; - - /** - * Creates a new EJBQLException without detail message. - */ - public EJBQLException() - { - } - - /** - * Constructs a new EJBQLException with the specified - * detail message. - * @param msg the detail message. - */ - public EJBQLException(String msg) - { - super(msg); - } - - /** - * Constructs a new EJBQLException with the specified - * detail message and cause. - * @param msg the detail message. - * @param cause the cause Throwable. - */ - public EJBQLException(String msg, Throwable cause) - { - super(msg); - this.cause = cause; - } - - /** - * Returns the cause of this EJBQLException or - * null if the cause is nonexistent or unknown. - * @return the cause of this or null if the - * cause is nonexistent or unknown. - */ - public Throwable getCause() - { - return cause; - } - - /** - * The String representation includes the name of the class, - * the descriptive comment (if any), - * and the String representation of the cause - * Throwable (if any). - * @return the String. - */ - public String toString() { - // calculate approximate size of the String to return - StringBuilder sb = new StringBuilder(); - sb.append (super.toString()); - // include cause Throwable information - if (cause != null) { - sb.append("\n"); //NOI18N - sb.append("Nested exception"); //NOI18N - sb.append("\n"); //NOI18N - sb.append(cause.toString()); - } - return sb.toString(); - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/ErrorMsg.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/ErrorMsg.java deleted file mode 100644 index 6f4e6eaa32e..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/ErrorMsg.java +++ /dev/null @@ -1,193 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ErrorMsg.java - * - * Created on November 12, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - -import java.util.ResourceBundle; -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; - -/** - * This is a helper class to report error messages from the EJBQL compiler. - * @author Michael Bouschen - * @author Shing Wai Chan - */ -public class ErrorMsg -{ - /** I18N support. */ - private final static ResourceBundle msgs = I18NHelper.loadBundle( - ErrorMsg.class); - - /** The logger */ - private static Logger logger = LogHelperQueryCompilerEJB.getLogger(); - - /** - * This method throws an EJBQLException indicating an user error. - * @param line line number - * @param col column number - * @param text error message - * @exception EJBQLException describes the user error. - */ - public static void error(int line, int col, String text) - throws EJBQLException - { - EJBQLException ex = null; - if (line > 1) { - // include line and column info - Object args[] = {line, col, text}; - ex = new EJBQLException(I18NHelper.getMessage( - msgs, "EXC_PositionInfoMsgLineColumn", args)); //NOI18N - } - else if (col > 0) { - // include column info - Object args[] = {col, text}; - ex = new EJBQLException(I18NHelper.getMessage( - msgs, "EXC_PositionInfoMsgColumn", args)); //NOI18N - } - else { - ex = new EJBQLException(I18NHelper.getMessage( - msgs, "EXC_PositionInfoMsg", text)); //NOI18N - } - throw ex; - } - - /** - * This method throws an EJBQLException indicating an user error. - * @param text error message - * @param cause the cause of the error - * @exception EJBQLException describes the user error. - */ - public static void error(String text, Throwable cause) - throws EJBQLException - { - throw new EJBQLException(text, cause); - } - - /** - * This method throws an EJBQLException indicating an user error. - * @param text error message - * @exception EJBQLException describes the user error. - */ - public static void error(String text) - throws EJBQLException - { - throw new EJBQLException(text); - } - - /** - * This method throws an UnsupportedOperationException indicating an - * unsupported feature. - * @param line line number - * @param col column number - * @param text message - * @exception UnsupportedOperationException describes the unsupported - * feature. - */ - public static void unsupported(int line, int col, String text) - throws UnsupportedOperationException - { - UnsupportedOperationException ex; - if (line > 1) - { - // include line and column info - Object args[] = {line, col, text}; - ex = new UnsupportedOperationException(I18NHelper.getMessage( - msgs, "EXC_PositionInfoMsgLineColumn", args)); //NOI18N - } - else if (col > 0) { - // include column info - Object args[] = {col, text}; - ex = new UnsupportedOperationException(I18NHelper.getMessage( - msgs, "EXC_PositionInfoMsgColumn", args)); //NOI18N - } - else { - Object args[] = {text}; - ex = new UnsupportedOperationException(I18NHelper.getMessage( - msgs, "EXC_PositionInfoMsg", args)); //NOI18N - } - throw ex; - } - - /** - * This method is called in the case of an fatal internal error. - * @param text error message - * @exception EJBQLException describes the fatal internal error. - */ - public static void fatal(String text) - throws EJBQLException - { - throw new EJBQLException(I18NHelper.getMessage( - msgs, "ERR_FatalInternalError", text)); //NOI18N - } - - /** - * This method is called in the case of an fatal internal error. - * @param text error message - * @param nested the cause of the error - * @exception EJBQLException describes the fatal internal error. - */ - public static void fatal(String text, Throwable nested) - throws EJBQLException - { - throw new EJBQLException(I18NHelper.getMessage( - msgs, "ERR_FatalInternalError", text), nested); //NOI18N - } - - /** - * This method is called when we want to log an exception in a given level. - * Note that all other methods in this class do not log a stack trace. - * @param level log level - * @param text error message - * @param nested the cause of the error - * @exception EJBQLException describes the fatal internal error. - */ - public static void log(int level, String text, Throwable nested) - throws EJBQLException - { - logger.log(level, text, nested); - throw new EJBQLException(text, nested); - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/IdentificationVariable.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/IdentificationVariable.java deleted file mode 100644 index d0dc2ccae5c..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/IdentificationVariable.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - -/** - * An instance of this class denotes an identification variable as declared - * in the from clause of an EJBQL query string. The compiler creates such an - * instance when analysing the from clause and stores it in the symbol table. - * - * @author Michael Bouschen - */ -public class IdentificationVariable -{ - /** The name of the identification variable. */ - private String name; - - /** The type of the identification variable. */ - private Object typeInfo; - - /** - * Creates an identification variable declaration for use during semantic - * analysis. - * @param name the name of the identification variable. - * @param typeInfo the type of the identification variable. - */ - public IdentificationVariable(String name, Object typeInfo) - { - this.name = name; - this.typeInfo = typeInfo; - } - - /** - * Returns the name of the IdentificationVariable. - * @return the name - */ - public String getName() - { - return name; - } - - /** - * Returns the type of the IdentificationVariable. - * @return the type - */ - public Object getTypeInfo() - { - return typeInfo; - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/JDOQLElements.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/JDOQLElements.java deleted file mode 100644 index 67cd51b7101..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/JDOQLElements.java +++ /dev/null @@ -1,305 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * JDOQLElements.java - * - * Created on November 12, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - -/** - * An JDOQLElements instance represents the result of the EJBQLC compile step. - * - * @author Michael Bouschen - * @author Shing Wai Chan - */ -public class JDOQLElements -{ - /** The name of the candidate class */ - private String candidateClassName; - - /** The parameter declarations string. */ - private String parameters; - - /** The variable declarations string. */ - private String variables; - - /** The filter expression string. */ - private String filter; - - /** The ordering expression string. */ - private String ordering; - - /** The result expression. */ - private String result; - - /** The result type. */ - private String resultType; - - /** Flag indicating whether the result element is of a pc class. */ - private boolean isPCResult; - - /** - * Flag indicating whether the result element is associated to an - * aggregate function. - */ - private boolean isAggregate; - - /** String array contains ejb names corresponding to parameters */ - private String[] parameterEjbNames; - - /** - * Constructor taking JDOQL elements. - */ - public JDOQLElements(String candidateClassName, - String parameters, - String variables, - String filter, - String ordering, - String result, - String resultType, - boolean isPCResult, - boolean isAggregate, - String[] parameterEjbNames) - { - setCandidateClassName(candidateClassName); - setParameters(parameters); - setVariables(variables); - setFilter(filter); - setOrdering(ordering); - setResult(result); - setResultType(resultType); - setPCResult(isPCResult); - setAggregate(isAggregate); - setParameterEjbNames(parameterEjbNames); - } - - /** Returns the fully qulified name of the candidate class. */ - public String getCandidateClassName() - { - return this.candidateClassName; - } - - /** Sets the fully qulified name of the candidate class. */ - public void setCandidateClassName(String candidateClassName) - { - // TBD: check non empty candidateClassName - this.candidateClassName = candidateClassName; - } - - /** Returns the parameter declaration string. */ - public String getParameters() - { - return parameters; - } - - /** Sets the parameter declarations string. */ - public void setParameters(String parameters) - { - this.parameters = (parameters == null) ? "" : parameters; //NOI18N - } - - /** Returns the variable declarations string. */ - public String getVariables() - { - return variables; - } - - /** Sets the variable declarations string. */ - public void setVariables(String variables) - { - this.variables = (variables == null) ? "" : variables; //NOI18N - } - - /** Returns the filter expression. */ - public String getFilter() - { - return filter; - } - - /** Sets the filter expression. */ - public void setFilter(String filter) - { - this.filter = (filter == null) ? "" : filter; //NOI18N - } - - /** Returns the ordering expression. */ - public String getOrdering() - { - return ordering; - } - - /** Sets the ordering expression. */ - public void setOrdering(String ordering) - { - this.ordering = (ordering == null) ? "" : ordering; //NOI18N - } - - /** Returns the result expression. */ - public String getResult() - { - return result; - } - - /** Sets the result expression. */ - public void setResult(String result) - { - this.result = (result == null) ? "" : result; //NOI18N - } - - /** - * Returns the result type. The result type is the name of the element type - * of the JDO query result set. - */ - public String getResultType() - { - return resultType; - } - - /** - * Sets the result type. The result type is the name of the element type - * of the JDO query result set. - */ - public void setResultType(String resultType) - { - this.resultType = resultType; - } - - /** - * Returns whether the result of the JDOQL query is a collection of pc - * instances or not. - */ - public boolean isPCResult() - { - return isPCResult; - } - - /** - * Sets whether the result of the JDOQL query is a collection of pc - * instances or not. - */ - public void setPCResult(boolean isPCResult) - { - this.isPCResult = isPCResult; - } - - /** - * Returns whether the result of the JDOQL query is associated to - * an aggregate function. - */ - public boolean isAggregate() - { - return isAggregate; - } - - /** - * Sets whether the result of the JDOQL query is a associated to - * an aggregate function. - */ - public void setAggregate(boolean isAggregate) - { - this.isAggregate = isAggregate; - } - - /** - * Returns parameterEjbNames array - */ - public String[] getParameterEjbNames() - { - return parameterEjbNames; - } - - /** - * set parameterEjbNames array - */ - public void setParameterEjbNames(String[] parameterEjbNames) - { - this.parameterEjbNames = parameterEjbNames; - } - - /** Returns a string representation of this JDOQLElements instance. */ - public String toString() - { - StringBuilder repr = new StringBuilder(); - repr.append("JDOQLElements("); //NOI18N - repr.append("candidateClass: "); //NOI18N - repr.append(candidateClassName); - if (parameters != null && parameters.length() > 0) { - repr.append(", parameters: "); //NOI18N - repr.append(parameters); - } - if (variables != null && variables.length() > 0) { - repr.append(", variables: "); //NOI18N - repr.append(variables); - } - if (filter != null && filter.length() > 0) { - repr.append(", filter: "); //NOI18N - repr.append(filter); - } - if (ordering != null && ordering.length() > 0) { - repr.append(", ordering: "); //NOI18N - repr.append(ordering); - } - if (result != null && result.length() > 0) { - repr.append(", result: "); //NOI18N - repr.append(result); - repr.append(", resultType: "); //NOI18N - repr.append(resultType); - repr.append(", isPCResult: "); //NOI18N - repr.append(isPCResult); - } - repr.append(", isAggregate: "); - repr.append(isAggregate); - if (parameterEjbNames != null && parameterEjbNames.length > 0) { - repr.append(", parameterEjbNames: "); //NOI18N - for (int i = 0; i < parameterEjbNames.length; i++) { - repr.append(i); - repr.append(": "); - repr.append(parameterEjbNames[i]); - repr.append(", "); - } - } - repr.append(")"); //NOI18N - return repr.toString(); - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/LogHelperQueryCompilerEJB.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/LogHelperQueryCompilerEJB.java deleted file mode 100644 index c47bc8adaf6..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/LogHelperQueryCompilerEJB.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Michael Bouschen - */ -public class LogHelperQueryCompilerEJB { - - /** The component name for this component - */ - protected static final String componentName = "query.compiler.ejb"; // NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = - LogHelperQueryCompilerEJB.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = - "com.sun.jdo.spi.persistence.support.ejb.ejbqlc.Bundle"; // NOI18N - - /** Return the logger for the sqlstore component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/ParameterSupport.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/ParameterSupport.java deleted file mode 100644 index f78d23de827..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/ParameterSupport.java +++ /dev/null @@ -1,209 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ParameterSupport.java - * - * Created on December 07, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - -import java.lang.reflect.Method; -import java.util.ResourceBundle; - -import org.glassfish.persistence.common.I18NHelper; - -/** - * Helper class to handle EJBQL query parameters. - * - * @author Michael Bouschen - * @author Shing Wai Chan - */ -public class ParameterSupport -{ - /** The types of the parameters of the finder/selector method. */ - private Class[] parameterTypes; - - /** - * The EJB names corresponding to types of parameters of the - * finder/selector method. - */ - private String[] parameterEjbNames; - - /** I18N support. */ - protected final static ResourceBundle msgs = I18NHelper.loadBundle( - ParameterSupport.class); - - /** - * Constructor. - * @param method the Method instance of the finder/selector method. - */ - public ParameterSupport(Method method) - { - this.parameterTypes = - (method == null) ? new Class[0] : method.getParameterTypes(); - this.parameterEjbNames = new String[this.parameterTypes.length]; - } - - /** - * Returns type of the EJBQL parameter by input parameter declaration - * string. The specified string denotes a parameter application in EJBQL. - * It has the form "?" where is the parameter number - * starting with 1. - * @return class instance representing the parameter type. - */ - public Class getParameterType(String ejbqlParamDecl) - { - return getParameterType(getParamNumber(ejbqlParamDecl)); - } - - /** - * Returns the type of the EJBQL parameter by number. - * Note, the numbering of EJBQL parameters starts with 1, - * so the method expects 1 as the number of the first parameter. - * @return class instance representing the parameter type. - */ - public Class getParameterType(int paramNumber) - { - // InputParams are numbered starting at 1, so adjust for - // array indexing. - return parameterTypes[paramNumber - 1]; - } - - /** - * Get EJB name corresponding to the EJBQL parameter by input - * parameter declaration string. - * @param ejbqlParamDecl denotes a parameter application in EJBQL. - * It has the form "?" where is the parameter number - * starting with 1. - * @return class instance representing the parameter type. - */ - public String getParameterEjbName(String ejbqlParamDecl) - { - return getParameterEjbName(getParamNumber(ejbqlParamDecl)); - } - - /** - * Get EJB name corresponding to the EJBQL parameter number. - * @param paramNumber numbering of parameters starting with 1 - * @return class instance representing the parameter type. - */ - public String getParameterEjbName(int paramNumber) - { - return parameterEjbNames[paramNumber - 1]; - } - - /** - * Set EJB name corresponding to the EJBQL parameter by input - * parameter declaration string. - * @param ejbqlParamDecl denotes a parameter application in EJBQL. - * It has the form "?" where is the parameter number - * starting with 1. - * @param ejbName - */ - public void setParameterEjbName(String ejbqlParamDecl, String ejbName) - { - parameterEjbNames[getParamNumber(ejbqlParamDecl) - 1] = ejbName; - } - - /** - * Get all EJB names corresponding to the EJBQL parameters. - * @return class instance representing the parameter type. - */ - public String[] getParameterEjbNames() - { - return parameterEjbNames; - } - - /** - * Returns the name of the corresponding JDO parameter. - * The specified string denotes a parameter application in EJBQL. - * It has the form "?" where is the parameter number - * starting with 1. - * @return name of JDOQL parameter - */ - public String getParameterName(String ejbqlParamDecl) - { - return getParameterName(getParamNumber(ejbqlParamDecl)); - } - - /** - * Returns the name of the corresponding JDO parameter by parameter number. - * @return name of JDOQL parameter - */ - public String getParameterName(int paramNumber) - { - return "_jdoParam" + String.valueOf(paramNumber); - } - - /** - * Returns the number of parameters. - * @return parameter count. - */ - public int getParameterCount() - { - return parameterTypes.length; - } - - // Internal methods - - /** - * Internal method to extract the number from a parameter application - * in EJBQL. - */ - private int getParamNumber(String ejbqlParamDecl) - { - int paramNum = 0; - try { - paramNum = Integer.parseInt(ejbqlParamDecl.substring(1)); - } catch(Exception ex) { - ErrorMsg.error(I18NHelper.getMessage( - msgs, "EXC_InvalidParameterIndex", //NOI18N - ejbqlParamDecl, String.valueOf(parameterTypes.length))); - } - if (paramNum < 1 || paramNum > parameterTypes.length) { - ErrorMsg.error(I18NHelper.getMessage( - msgs, "EXC_InvalidParameterIndex", //NOI18N - ejbqlParamDecl, String.valueOf(parameterTypes.length))); - } - return paramNum; - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/SymbolTable.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/SymbolTable.java deleted file mode 100644 index cb232f987c2..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/SymbolTable.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SymbolTable.java - * - * Created on November 19, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - -import java.util.Map; -import java.util.HashMap; - -/** - * The symbol table handling declared identifies. - * - * @author Michael Bouschen - */ -public class SymbolTable -{ - /** - * The table of declared identifier (symbols). - */ - protected Map symbols = new HashMap(); - - /** - * This method adds the specified identifier to this SymbolTable. - * The specified decl object provides details anbout the declaration. - * If this SymbolTable already defines an identifier with the same name, - * the SymbolTable is not changed and the existing declaration is returned. - * Otherwise null is returned. - * @param ident identifier to be declared - * @param decl new definition of identifier - * @return the old definition if the identifier was already declared; - * null otherwise - */ - public Object declare(String ident, Object decl) - { - Object old = symbols.get(ident); - if (old == null) { - symbols.put(ident.toUpperCase(), decl); - } - return old; - } - - /** - * Checks whether the specified identifier is declared. - * @param ident the name of identifier to be tested - * @return true if the identifier is declared; - * false otherwise. - */ - public boolean isDeclared(String ident) - { - return (getDeclaration(ident) != null); - } - - /** - * Checks the symbol table for the actual declaration of the specified - * identifier. The method returns the declaration object if available or - * null for an undeclared identifier. - * @param ident the name of identifier - * @return the declaration object if ident is declared; - * null otherise. - */ - public Object getDeclaration(String ident) - { - return symbols.get(ident.toUpperCase()); - } - -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/TypeSupport.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/TypeSupport.java deleted file mode 100644 index c04a1a0e85d..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/ejbqlc/TypeSupport.java +++ /dev/null @@ -1,655 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * TypeSupport.java - * - * Created on November 22, 2001 - */ - -package com.sun.jdo.spi.persistence.support.ejb.ejbqlc; - -import java.util.*; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.jdo.*; -import com.sun.jdo.spi.persistence.support.ejb.model.util.NameMapper; - -/** - * Helper class to support type info access. - * A type info is statically an object, internally the helper uses the type name - * as type info. The helper uses a model instance to access meta model info and - * uses a NameMapper to map EJB names to JDO names and vice versa. - * - * @author Michael Bouschen - * @author Shing Wai Chan - */ -public class TypeSupport -{ - /** Represents the internal error type. */ - public static final Object errorType = "error"; - - /** Represents the primitive type boolean. */ - public static final Object booleanType = "boolean"; - - /** Represents the primitive type byte. */ - public static final Object byteType = "byte"; - - /** Represents the primitive type short. */ - public static final Object shortType = "short"; - - /** Represents the primitive type char. */ - public static final Object charType = "char"; - - /** Represents the primitive type int. */ - public static final Object intType = "int"; - - /** Represents the primitive type long. */ - public static final Object longType = "long"; - - /** Represents the primitive type float. */ - public static final Object floatType = "float"; - - /** Represents the primitive type double. */ - public static final Object doubleType = "double"; - - /** Represents the wrapper class type boolean. */ - public static final Object booleanClassType = "java.lang.Boolean"; - - /** Represents the wrapper class type byte. */ - public static final Object byteClassType = "java.lang.Byte"; - - /** Represents the wrapper class type short. */ - public static final Object shortClassType = "java.lang.Short"; - - /** Represents the wrapper class type char. */ - public static final Object characterClassType = "java.lang.Character"; - - /** Represents the wrapper class type int. */ - public static final Object integerClassType = "java.lang.Integer"; - - /** Represents the wrapper class type long. */ - public static final Object longClassType = "java.lang.Long"; - - /** Represents the wrapper class type float. */ - public static final Object floatClassType = "java.lang.Float"; - - /** Represents the wrapper class type double. */ - public static final Object doubleClassType = "java.lang.Double"; - - /** Represents the type java.lang.String. */ - public static final Object stringType = "java.lang.String"; - - /** Represents the type java.math.BigDecimal. */ - public static final Object bigDecimalType = "java.math.BigDecimal"; - - /** Represents the type java.math.BigInteger. */ - public static final Object bigIntegerType = "java.math.BigInteger"; - - /** Set of names of numeric types. */ - protected static final Set numericTypes = new HashSet(); - - /** Set of names of numeric wrapper classes. */ - protected static final Set numericWrapperTypes = new HashSet(); - - /** Set of names of date and time types. */ - protected static final Set dateTimeTypes = new HashSet(); - - /** Meta data access. */ - protected Model model; - - /** Name mapping EJB <-> JDO. */ - protected NameMapper nameMapper; - - /** I18N support. */ - protected final static ResourceBundle msgs = I18NHelper.loadBundle( - TypeSupport.class); - - /** Inilialize static fields numericTypes numericWrapperTypes. */ - static - { - numericTypes.add(byteType); - numericTypes.add(shortType); - numericTypes.add(charType); - numericTypes.add(intType); - numericTypes.add(longType); - numericTypes.add(floatType); - numericTypes.add(doubleType); - - numericWrapperTypes.add(byteClassType); - numericWrapperTypes.add(shortClassType); - numericWrapperTypes.add(characterClassType); - numericWrapperTypes.add(integerClassType); - numericWrapperTypes.add(longClassType); - numericWrapperTypes.add(floatClassType); - numericWrapperTypes.add(doubleClassType); - - dateTimeTypes.add("java.util.Date"); //NOI18N - dateTimeTypes.add("java.sql.Date"); //NOI18N - dateTimeTypes.add("java.sql.Time"); //NOI18N - dateTimeTypes.add("java.sql.Timestamp"); //NOI18N - } - - /** - * Creates a new TypeSupport using the specified model instance to - * access meta data and the specified nameMapper for EJB <-> JDO - * name mapping. - */ - public TypeSupport(Model model, NameMapper nameMapper) - { - this.model = model; - this.nameMapper = nameMapper; - } - - /** - * The method returns a type info by type name. - * If the type name denotes a class the name should be fully qualified. - * The method uses the type name as type info. - */ - public Object getTypeInfo(String name) - { - return name; - } - - /** - * The method returns a type info by type name by class object. - */ - public Object getTypeInfo(Class clazz) - { - return getTypeInfo(clazz.getName()); - } - - /** - * Returns true if type denotes the error type. - */ - public static boolean isErrorType(Object type) - { - return type.equals(errorType); - } - - /** - * Returns true if type is boolean or java.lang.Boolean - */ - public static boolean isBooleanType(Object type) - { - return type.equals(booleanType) || - type.equals(booleanClassType); - } - - /** - * Returns true if type is char or java.lang.Character - */ - public static boolean isCharType(Object type) - { - return type.equals(charType) || - type.equals(characterClassType); - } - - /** - * Returns true if type is int or java.lang.Integer - */ - public static boolean isIntType(Object type) - { - return type.equals(intType) || - type.equals(integerClassType); - } - - /** - * Returns true if type is double or java.lang.Double. - */ - public static boolean isDoubleType(Object type) - { - return type.equals(doubleType) || - type.equals(doubleClassType); - } - - /** - * Returns true if type is a primitive numeric type such as - * byte, int etc. - */ - public static boolean isNumericType(Object type) - { - return numericTypes.contains(type); - } - - /** - * Returns true if type is a wrapper class of a primitive - * numeric type such as java.lang.Byte, java.lang.Integer etc. - */ - public static boolean isNumericWrapperType(Object type) - { - return numericWrapperTypes.contains(type); - } - - /** - * Returns true if type is a NumerType, which means it is either - * a numeric primitive or a numeric wrapper class. - */ - public static boolean isNumberType(Object type) - { - return isNumericType(type) || - isNumericWrapperType(type) || - bigDecimalType.equals(type) || - bigIntegerType.equals(type); - } - - /** - * Returns true if type is a floating point type or - * wrapper class of a floating point type. - */ - public static boolean isFloatingPointType(Object type) - { - return doubleType.equals(type) || - doubleClassType.equals(type) || - floatType.equals(type) || - floatClassType.equals(type); - } - - /** Returns true if type denotes java.lang.String. */ - public static boolean isStringType(Object type) - { - return type.equals(stringType); - } - - /** Returns true if type is a collection type. */ - public boolean isCollectionType(Object type) - { - return model.isCollection((String)type); - } - - /** Returns true if type is a date or time type */ - public boolean isDateTimeType(Object type) - { - return dateTimeTypes.contains(getTypeName(type)); - } - - /** Returns true if type is an orderable type */ - public boolean isOrderableType(Object type) - { - return isNumberType(type) || isDateTimeType(type) || isStringType(type); - } - - /** - * Returns the type info for a primitive type. The method returns - * {@link #errorType} if the specified type is not a primitive type. - */ - public static Object getPrimitiveType(Object type) - { - Object result = errorType; - if (type.equals(booleanClassType)) - result = booleanType; - else if (type.equals(integerClassType)) - result = intType; - else if (type.equals(longClassType)) - result = longType; - else if (type.equals(floatClassType)) - result = floatType; - else if (type.equals(doubleClassType)) - result = doubleType; - else if (type.equals(byteClassType)) - result = byteType; - else if (type.equals(shortClassType)) - result = shortType; - else if (type.equals(characterClassType)) - result = charType; - return result; - } - - /** - * Returns the type info for a wrapper class type. The method returns - * {@link #errorType} if the specified type is not a wrapper class type. - */ - public static Object getWrapperType(Object type) - { - Object result = errorType; - if (type.equals(booleanType)) - result = booleanClassType; - else if (type.equals(intType)) - result = integerClassType; - else if (type.equals(longType)) - result = longClassType; - else if (type.equals(floatType)) - result = floatClassType; - else if (type.equals(doubleType)) - result = doubleClassType; - else if (type.equals(byteType)) - result = byteClassType; - else if (type.equals(shortType)) - result = shortClassType; - else if (type.equals(charType)) - result = characterClassType; - return result; - } - - /** - * Implements binary numeric promotion as defined in the - * Java Language Specification section 5.6.2 - */ - public static Object binaryNumericPromotion(Object left, Object right) - { - if (isNumericType(left) && isNumericType(right)) { - if (left.equals(doubleType) || right.equals(doubleType)) - return doubleType; - else if (left.equals(floatType) || right.equals(floatType)) - return floatType; - else if (left.equals(longType) || right.equals(longType)) - return longType; - else - return intType; - } - return errorType; - } - - /** - * Implements unray numeric promotion as defined in the - * Java Language Specification section 5.6.1 - */ - public static Object unaryNumericPromotion(Object type) - { - if (isNumericType(type)) { - if (type.equals(byteType) || type.equals(shortType) || - type.equals(charType)) { - return intType; - } - else { - return type; - } - } - return errorType; - } - - /** - * Implements type compatibility. The method returns true - * if left is compatible with right. This is equivalent to - * rightClass.isAssignableFrom(leftClass). - * Note, the method does not support inheritance. - */ - public boolean isCompatibleWith(Object left, Object right) - { - String leftTypeName = getTypeName(left); - String rightTypeName = getTypeName(right); - - if (nameMapper.isLocalInterface(leftTypeName) && - nameMapper.isEjbName(rightTypeName)) - rightTypeName = nameMapper.getLocalInterfaceForEjbName(rightTypeName); - else if (nameMapper.isRemoteInterface(leftTypeName) && - nameMapper.isEjbName(rightTypeName)) - rightTypeName = nameMapper.getRemoteInterfaceForEjbName(rightTypeName); - else if (nameMapper.isLocalInterface(rightTypeName) && - nameMapper.isEjbName(leftTypeName)) - leftTypeName = nameMapper.getLocalInterfaceForEjbName(leftTypeName); - else if (nameMapper.isRemoteInterface(rightTypeName) && - nameMapper.isEjbName(leftTypeName)) - leftTypeName = nameMapper.getRemoteInterfaceForEjbName(leftTypeName); - - // does not handle inheritance! - return leftTypeName.equals(rightTypeName); - } - - /** Returns the type name for a specified type info. */ - public static String getTypeName(Object type) - { - return (String)type; - } - - /** Returns the typeInfo (the ejb name) for the specified abstract schema. */ - public Object getTypeInfoForAbstractSchema(String abstractSchema) - { - return nameMapper.getEjbNameForAbstractSchema(abstractSchema); - } - - /** Returns the typeInfo (the ejb name) for the specified abstract schema. */ - public String getAbstractSchemaForTypeInfo(Object typeInfo) - { - String typeName = getTypeName(typeInfo); - return nameMapper.isEjbName(typeName) ? - nameMapper.getAbstractSchemaForEjbName(typeName) : - typeName; - } - - /** Returns the type info for the type of the given field. */ - public Object getFieldType(Object typeInfo, String fieldName) - { - String typeName = getTypeName(typeInfo); - if (!nameMapper.isEjbName(typeName)) { - ErrorMsg.fatal(I18NHelper.getMessage( - msgs, "ERR_EjbNameExpected", //NOI18N - "TypeSupport.getFieldType", typeName)); //NOI18N - } - - String fieldType = model.getFieldType(typeName, fieldName); - // check for local or remote interface, map to ejb name - if (nameMapper.isLocalInterface(fieldType)) { - fieldType = nameMapper.getEjbNameForLocalInterface( - typeName, fieldName, fieldType); - } - else if (nameMapper.isRemoteInterface(fieldType)) { - - fieldType = nameMapper.getEjbNameForRemoteInterface( - typeName, fieldName, fieldType); - } - return getTypeInfo(fieldType); - } - - /** - * Returns the field info for the specified field of the specified type. - * The field info is opaque for the caller. Methods {@link #isRelationship} - * and {@link #getElementType} allow to get details for a given field info. - */ - public Object getFieldInfo(Object typeInfo, String fieldName) - { - Object fieldInfo = null; - String typeName = getTypeName(typeInfo); - if (!nameMapper.isEjbName(typeName)) { - ErrorMsg.fatal(I18NHelper.getMessage( - msgs, "ERR__EjbNameExpected", //NOI18N - "TypeSupport.getFieldInfo", typeName)); //NOI18N - } - String pcClassName = nameMapper.getPersistenceClassForEjbName(typeName); - String pcFieldName = nameMapper.getPersistenceFieldForEjbField( - typeName, fieldName); - PersistenceClassElement pce = model.getPersistenceClass(pcClassName); - if (pce != null) { - fieldInfo = pce.getField(pcFieldName); - } - return fieldInfo; - } - - /** - * Returns true if the specified field info denotes a - * relationship field. - */ - public boolean isRelationship(Object fieldInfo) - { - return (fieldInfo != null) && (fieldInfo instanceof RelationshipElement); - } - - /** - * Returns the type info of the element type if the specified field info - * denotes a collection relationship. Otherwise it returns null. - */ - public Object getElementType(Object fieldInfo) - { - if ((fieldInfo != null) && (fieldInfo instanceof RelationshipElement)) { - String elementClass = ((RelationshipElement)fieldInfo).getElementClass(); - return nameMapper.getEjbNameForPersistenceClass(elementClass); - } - else - return null; - } - - /** - * Gets the name of the persistence-capable class which corresponds to - * the specified typeInfo (assuming an ejb name). The method returs the - * type name of the specified typeInfo, it the typeInfo does not denote - * an ejb-name (e.g. a local or remote interface). - */ - public String getPCForTypeInfo(Object typeInfo) - { - String typeName = getTypeName(typeInfo); - String pcClassName = - nameMapper.getPersistenceClassForEjbName(typeName); - return (pcClassName != null) ? pcClassName : typeName; - } - - /** - * Returns true if the specified type info denotes an ejb name. - */ - public boolean isEjbName(Object typeInfo) - { - return nameMapper.isEjbName(getTypeName(typeInfo)); - } - - /** - * Returns true if the specified type info denotes an ejb name - * or the name of a local interface or the name of a remote interface. - */ - public boolean isEjbOrInterfaceName(Object typeInfo) - { - String typeName = getTypeName(typeInfo); - return nameMapper.isEjbName(typeName) || - nameMapper.isLocalInterface(typeName) || - nameMapper.isRemoteInterface(typeName); - } - - /** - * Returns true if the specified type info denotes the - * remote interface of the bean with the specified ejb name. - */ - public boolean isRemoteInterfaceOfEjb(Object typeInfo, String ejbName) - { - String typeName = getTypeName(typeInfo); - String remoteInterface = nameMapper.getRemoteInterfaceForEjbName(ejbName); - return (remoteInterface != null) && remoteInterface.equals(typeName); - - } - - /** - * Returns true if the specified type info denotes the - * local interface of the bean with the specified ejb name. - */ - public boolean isLocalInterfaceOfEjb(Object typeInfo, String ejbName) - { - String typeName = getTypeName(typeInfo); - String localInterface = nameMapper.getLocalInterfaceForEjbName(ejbName); - return (localInterface != null) && localInterface.equals(typeName); - } - - /** - * Returns true if the specified type info denotes - * a remote interface. - */ - public boolean isRemoteInterface(Object typeInfo) - { - return nameMapper.isRemoteInterface(getTypeName(typeInfo)); - } - - /** - * Returns true if the specified type info denotes - * a local interface. - */ - public boolean isLocalInterface(Object typeInfo) - { - return nameMapper.isLocalInterface(getTypeName(typeInfo)); - } - - /** - * Returns true if the bean with the specified ejb name - * has a remote interface. - */ - public boolean hasRemoteInterface(Object typeInfo) - { - return nameMapper.getRemoteInterfaceForEjbName( - getTypeName(typeInfo)) != null; - } - - /** - * Returns true if the bean with the specified ejb name - * has a local interface. - */ - public boolean hasLocalInterface(Object typeInfo) - { - return nameMapper.getLocalInterfaceForEjbName( - getTypeName(typeInfo)) != null; - } - - /** - * Return JDO QL return type for Sum function for a given type. - * @param type is a number data type - */ - public Object getSumReturnType(Object type) { - if (isFloatingPointType(type)) { - return doubleClassType; - } else if (isNumericType(type) || isNumericWrapperType(type)) { - return longClassType; - } else { - return type; - } - } - - /** - * Return JDO QL return type for Avg function for a given type. - * @param type is a number data type - */ - public Object getAvgReturnType(Object type) { - if (isNumericType(type) || isNumericWrapperType(type)) { - return doubleClassType; - } else { - return type; - } - } - - /** - * Return JDO QL return type for Min/Max function for a given type. - * @param type is an orderable data type - */ - public Object getMinMaxReturnType(Object type) { - if (isFloatingPointType(type)) { - return doubleClassType; - } else if (isCharType(type)) { - return characterClassType; - } else if (isNumericType(type) || isNumericWrapperType(type)) { - return longClassType; - } else { - return type; - } - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/enhancer/meta/EJBMetaDataModelImpl.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/enhancer/meta/EJBMetaDataModelImpl.java deleted file mode 100644 index b452bc6143e..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/enhancer/meta/EJBMetaDataModelImpl.java +++ /dev/null @@ -1,240 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/****************************************************************************** - * - * Author: Shing Wai Chan (shingwai@iplanet.com) - * - *****************************************************************************/ - -package com.sun.jdo.spi.persistence.support.ejb.enhancer.meta; - -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.List; - -import com.sun.jdo.api.persistence.enhancer.meta.ExtendedJDOMetaData; -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaDataFatalError; -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaDataModelImpl; -import com.sun.jdo.api.persistence.enhancer.meta.JDOMetaDataUserException; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; -import com.sun.jdo.api.persistence.model.Model; - - -/** - * Provide MetaDataModel Class used by CMP code generation during - * EJB deployment. - * Note that classPath is used for I/O of MetaData and - * className is used for I/O of Model. - * @author Shing Wai Chan - */ -public class EJBMetaDataModelImpl extends JDOMetaDataModelImpl - implements ExtendedJDOMetaData { - - - public EJBMetaDataModelImpl(Model model) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - super(model); - } - - - //methods from ExtendedJDOMetaData, not in JDOMetaData - public String[] getKnownClasses() - throws JDOMetaDataUserException, JDOMetaDataFatalError { - throw new UnsupportedOperationException(); - } - - public String[] getKnownFields(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - return getManagedFields(classPath); - } - - public String getFieldType(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - final String className = pathToName(classPath); - String ftype = model.getFieldType(className, fieldName); - - return nameToPath(ftype); - } - - public int getClassModifiers(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - return Modifier.PUBLIC; - } - - public int getFieldModifiers(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - final String className = pathToName(classPath); - return model.getModifiers(model.getField(className, fieldName)); - } - - public String getKeyClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - final String className = pathToName(classPath); - String keyClass = model.getPersistenceClass(className).getKeyClass(); - if (keyClass.toLowerCase().endsWith(".oid")) { - int ind = keyClass.lastIndexOf('.'); - keyClass = keyClass.substring(0, ind) + "$Oid"; - } - return nameToPath(keyClass); - } - - public boolean isKnownNonManagedField(String classPath, - String fieldName, String fieldSig) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - return !isPersistentField(classPath, fieldName); - } - - public boolean isManagedField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - return (isPersistentField(classPath, fieldName) - || isTransactionalField(classPath, fieldName)); - } - - public boolean isKeyField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - return isPrimaryKeyField(classPath, fieldName); - } - - public boolean isPrimaryKeyField(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError - { - final String className = pathToName(classPath); - final PersistenceFieldElement pfe - = model.getPersistenceField(className, fieldName); - if (pfe != null) { - return pfe.isKey(); - } else { - return false; - } - } - - public int getFieldFlags(String classPath, String fieldName) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - if (!isManagedField(classPath, fieldName)) { - affirm(!isTransactionalField(classPath, fieldName)); - affirm(!isPersistentField(classPath, fieldName)); - affirm(!isKeyField(classPath, fieldName)); - affirm(!isDefaultFetchGroupField(classPath, fieldName)); - return 0; - } - //affirm(isManagedField(classPath, fieldName)); - - if (isTransactionalField(classPath, fieldName)) { - affirm(!isPersistentField(classPath, fieldName)); - affirm(!isKeyField(classPath, fieldName)); - // ignore any dfg membership of transactional fields - //affirm(!isDefaultFetchGroupField(classPath, fieldName)); - return CHECK_WRITE; - } - //affirm(!isTransactionalField(classPath, fieldName)); - affirm(isPersistentField(classPath, fieldName)); - - if (isKeyField(classPath, fieldName)) { - // ignore any dfg membership of key fields - //affirm(!isDefaultFetchGroupField(classPath, fieldName)); - return MEDIATE_WRITE; - } - //affirm(!isKeyField(classPath, fieldName)); - - if (isDefaultFetchGroupField(classPath, fieldName)) { - if (Boolean.getBoolean("AllowMediatedWriteInDefaultFetchGroup")) { - return CHECK_READ | MEDIATE_WRITE; - } - return CHECK_READ | CHECK_WRITE; - } - //affirm(!isDefaultFetchGroupField(classPath, fieldName)); - - return MEDIATE_READ | MEDIATE_WRITE; - } - - public int[] getFieldFlags(String classPath, String[] fieldNames) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - final int n = (fieldNames != null ? fieldNames.length : 0); - final int[] flags = new int[n]; - for (int i = 0; i < n; i++) { - flags[i] = getFieldFlags(classPath, fieldNames[i]); - } - return flags; - } - - public String[] getFieldType(String className, String[] fieldNames) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - final int n = (fieldNames != null ? fieldNames.length : 0); - final String[] types = new String[n]; - for (int i = 0; i < n; i++) { - types[i] = getFieldType(className, fieldNames[i]); - } - return types; - } - - public int[] getFieldNo(String classPath, String[] fieldNames) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - final int n = (fieldNames != null ? fieldNames.length : 0); - final int[] flags = new int[n]; - for (int i = 0; i < n; i++) { - flags[i] = getFieldNo(classPath, fieldNames[i]); - } - return flags; - } - - public String[] getKeyFields(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - final List keys = new ArrayList(); - final String[] fieldNames = getManagedFields(classPath); - final int n = fieldNames.length; - for (int i = 0; i < n; i++) { - if (isKeyField(classPath, fieldNames[i])) { - keys.add(fieldNames[i]); - } - } - return (String[])keys.toArray(new String[keys.size()]); - } - - public String getPersistenceCapableSuperClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - return null; - } - - public String getSuperKeyClass(String classPath) - throws JDOMetaDataUserException, JDOMetaDataFatalError { - return null; - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties deleted file mode 100644 index 7d0e52f319a..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/Bundle.properties +++ /dev/null @@ -1,438 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# ResourceBundle properties file for model messages -# key consists of: .. -# - is optional, package under model -# - relationships, all elements, etc. -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# This file contains overrides for the messages defined in the -# "" section of file -# model/src/com/sun/jdo/api/persistence/model/Bundle.properties. -# -# The message ID for a given key in this file should be identical to the -# message ID for the corresponding key in the above file. No new messages -# should be added to this file without first defining them in the above -# file -- only overrides should be added to this file. -# -# Due to sub sections in the validation section, the order may not be sequential. - -# Validation messages for beans -# Validation message for bean not found -# {0}=class name -util.validation.class_not_found=JDO72300: Cannot find the bean corresponding to the \ -generated class {0}.\nPlease check for an inconsistency in your module contents \ -(beans, deployment descriptor, cmp-mapping, ejb-jar). -# Validation message for related bean not found -# {0}=class name -# {1}=field name -util.validation.class_not_found_related=JDO72301: Cannot find the related bean \ -corresponding to the generated class {0} for the field {1}.\nPlease check for \ -an inconsistency in your module contents (beans, deployment descriptor, \ -cmp-mapping, ejb-jar). -# Validation message for bean not a CMP bean -# {0}=bean name -util.validation.class_not_persistence_capable=JDO72302: The bean corresponding to the \ -generated class {0} is not a valid CMP bean.\nCorrect the bean to be a valid \ -CMP bean. -# Validation message for related bean not a CMP bean -# {0}=bean name -# {1}=field name -util.validation.class_not_persistence_capable_related=JDO72303: The related bean \ -corresponding to the generated class {0} for the field {1} is not a valid CMP \ -bean.\nCorrect the bean to be a valid CMP bean. -# Validation message for class not allowed to be persistence-capable -# {0}=class name -util.validation.class_not_allowed=JDO72304: The bean corresponding to the generated \ -class {0} is not allowed to be a persistence-capable.\nPlease check for an \ -inconsistency in your module contents (beans, deployment descriptor, \ -cmp-mapping, ejb-jar). -# Validation message for related class not allowed to be persistence-capable -# {0}=class name -# {1}=field name -util.validation.class_not_allowed_related=JDO72305: The related bean corresponding to \ -the generated class {0} for the field {1} is not allowed to be \ -persistence-capable.\nPlease check for an inconsistency in your module \ -contents (beans, deployment descriptor, cmp-mapping, ejb-jar). -# Validation message for a missing definition of readObject -# {0}=pc class name -util.validation.class_readobject=JDO72306: This error (The class {0} \ -implements java.io.Serializable so it must also define the method readObject) \ -should not occur.\nPlease contact support and file a bug. -# Validation message for a missing definition of writeObject -# {0}=pc class name -util.validation.class_writeobject=JDO72307: This error (The class {0} \ -implements java.io.Serializable so it must also define the method writeObject) \ -should not occur.\nPlease contact support and file a bug. -# Validation message for bean which has no CMP fields -# {0}=class name -util.validation.class_no_fields=JDO72308: The bean corresponding to the generated \ -class {0} must have at least one CMP field.\nAdd a CMP field to the bean. -# Validation message for bean which is not mapped -# {0}=class name -util.validation.class_not_mapped=JDO72309: The bean corresponding to the generated \ -class {0} is not mapped.\nSet the primary table for the bean. -# Validation message for a class missing key column mappings -# {0}=class name -# {1}=table name -# {2}=list of column names -util.validation.class_key_column_missing=JDO72310: All primary key columns in primary \ -table {1} of the bean corresponding to the generated class {0} must be \ -mapped to key fields.\nMap the following primary key columns to key fields: \ -{2}. If you already have fields mapped to these columns, verify that they \ -are key fields. - -# Validation messages for fields -# Validation message for field not found -# {0}=field name -util.validation.field_not_found=JDO72311: The field {0} was specified as a CMP field, \ -but it is not in the .java file.\nPlease check for an inconsistency in your \ -module contents (beans, deployment descriptor, cmp-mapping, ejb-jar). -# Validation message for field not allowed to be a CMP field -# {0}=field name -util.validation.field_persistent_not_allowed=JDO72312: The field {0} is not allowed to \ -be a CMP field.\nPlease check for an inconsistency in your module contents \ -(beans, deployment descriptor, cmp-mapping, ejb-jar). -# Validation message for field inconsistent (whether field or relationship) -# {0}=field name -util.validation.field_type_inconsistent=JDO72313: The field {0} must be consistently \ -defined as either a CMP field or a CMR.\nPlease check for an inconsistency \ -in your module contents (beans, deployment descriptor, cmp-mapping, ejb-jar). -# Validation message for field inconsistent (missing in one of the models) -# {0}=field name -util.validation.field_model_inconsistent=JDO72314: The field {0} is inconsistent.\n\ -Make sure the field is a CMP field. -# Validation message for field not allowed to be relationship -# {0}=field name -util.validation.field_relationship_not_allowed=JDO72315: The field {0} is not allowed \ -to be a CMR.\nChange the field''s type to be a wrapper or primitive \ -type.\nIf the type is correct, please check for an inconsistency in your \ -module contents (beans, deployment descriptor, cmp-mapping, ejb-jar). -# Validation message for field must be relationship -# {0}=field name -util.validation.field_type_not_allowed=JDO72316: The field {0} must be a relationship.\n\ -Change the field''s type to be a collection or other CMP bean.\ -\nIf the type is correct, please check for an inconsistency in your \ -module contents (beans, deployment descriptor, cmp-mapping, ejb-jar). -# Validation message for managed (multiple fields to same column) field which -# has a default fetch group -# {0}=field name -util.validation.field_fetch_group_invalid=JDO72317: The field {0} has an invalid fetch \ -group. Default is not a valid fetch group for managed fields. If your field \ -is not a managed field, it may be treated as one if you have a CMR to this \ -bean which is mapped to the same column as {0}.\nSelect a different fetch group. -# Validation message for key field which is mapped to a blob or clob column -# {0}=field name -util.validation.field_key_field_not_allowed=JDO72319: The field {0} is not allowed to be \ -a key field since its mapping contains a large object (e.g. BLOB/CLOB) \ -column.\nUpdate the column mapping or change this field so that it is not a \ -primary key field. -# Validation message for invalid collection class -# {0}=(relationship) field name -# NOTE: This commented out version should be used after we expose collection -# class to the user -# util.validation.collection_class_invalid=JDO72324: The field {0} has an invalid \ -# collection class.\nUpdate the relationship''s collection class. -util.validation.collection_class_invalid=JDO72324: The field {0} has an invalid \ -collection class.\nUpdate the relationship''s type to be a set or generic \ -collection, or remove the CMR. -# Validation message for missing element class -# {0}=(relationship) field name -util.validation.element_class_not_found=JDO72325: The field {0} does not have a related \ -bean set, but it is mapped to columns.\nUpdate the related bean or unmap the \ -relationship. -# Validation message for inverse field which is only set on one side -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.inverse_field_invalid=JDO72326: The field {0} has an invalid related \ -field {1}. Related fields must be set for both relationship fields.\n\ -Make sure the CMR field is set on both sides of the relation. -# Validation message for inverse field which does not exist in the related bean -# {0}=(relationship) field name -# {1}=inverse field name -# {2}=related bean name -util.validation.related_class_mismatch=JDO72327: The field {0} has a related field {1} \ -which does not exist in the related bean corresponding to the generated class \ -{2}.\nUpdate the related bean and update the CMR field name if necessary. -# Validation message for inverse field set and no related bean set -# {0}=(relationship) field name -# {1}=inverse field name -util.validation.related_class_not_found=JDO72328: The field {0} does not have a related \ -bean set, but it has related field {1}.\nUpdate the related bean or set the \ -CMR field name to None. - -# Validation messages for database elements -# Validation message for schema not found -# {0}=schema name -# {1}=bean name -util.validation.schema_not_found=JDO72331: Cannot find the schema {0} for the bean \ -corresponding to the generated class {1}.\nRestore the schema file. -# Validation message for related schema not found -# {0}=schema name -# {1}=related bean name -# {2}=field name -util.validation.schema_not_found_related=JDO72332: Cannot find the schema {0} for the \ -related bean corresponding to the generated class {1} of the field {2}.\n\ -Restore the schema file. -# Validation message for schema not set but primary table set -# {0}=bean name -util.validation.schema_not_set=JDO72333: The bean corresponding to the generated class \ -{0} does not have a schema set, but it is mapped to tables.\nUpdate the \ -mapped schema property for the bean or unmap the primary table. -# Validation message for schemas don't match -# {0}=bean name -# {1}=related bean name -# {2}=field name -util.validation.schema_mismatch=JDO72334: The schemas for the bean corresponding to the \ -generated class {0} and its related bean corresponding to the generated class \ -{1} of the field {2} must match.\nUpdate the mapped schema property of \ -one of the beans. -# Validation message for primary table which has no primary key -# {0}=table name -# {1}=bean name -util.validation.table_no_primarykey=JDO72335: If the table {0} for the bean \ -corresponding to the generated class {1} is mapped as the primary table, it \ -must have a primary key.\nChoose a different primary table or verify that the \ -contents of the schema file are correct. -# Validation message for table not found -# {0}=table name -# {1}=bean name -util.validation.table_not_found=JDO72336: Cannot find the table {0} for the bean \ -corresponding to the generated class {1}.\nVerify that the schema file exists \ -and that its contents are correct. -# Validation message for related table not found -# {0}=table name -# {1}=field name -util.validation.table_not_found_related=JDO72337: Cannot find the table {0} for the \ -related bean of the field {1}.\nVerify that the schema file exists and that \ -its contents are correct. -# Validation message for tables don't match -# {0}=column name -# {1}=field name -# {2}=bean name -util.validation.table_mismatch=JDO72355:Relationship {1} is mapped to column \ -{0} which is not one of the mapped primary or secondary tables for the bean \ -corresponding to the generated class {2}. \nUpdate the table mapping or \ -the relationship mapping. -# Validation message for related tables don't match -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.table_mismatch_related=JDO72338:Relationship {1} is mapped \ -to column {0} which is not one of the mapped primary or secondary tables \ -for the related bean corresponding to the generated class {2}. \ -\nUpdate the table mapping or the relationship mapping. -# Validation message for column in reference key pair not found -# {0}=column pair name -# {1}=bean name -util.validation.column_not_found=JDO72339: Cannot find the columns in reference key \ -pair {0} for the secondary table setup of the bean corresponding to the \ -generated class {1}.\nVerify that the schema file exists and that its \ -contents are correct. -# Validation message for related column not found -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_not_found_related=JDO72340: Cannot find the column {0} for \ -mapping the field {1} in the bean corresponding to the generated class {2}.\n\ -Verify that the schema file exists and that its contents are correct. -# Validation message for invalid column pair (in relationship setup) -# {0}=column name -# {1}=field name -# {2}=related bean name -util.validation.column_invalid=JDO72341: Cannot find the columns in key pair {0} for the \ -relationship {1} in bean corresponding to the generated class {2}.\nVerify \ -that the schema file exists and that its contents are correct. - -# Validation messages for key class elements - -# Validation message for key class name not set -# {0}=pc class name -util.validation.key_class_unset=JDO72343: This error (The key class property \ -for the bean corresponding to the generated class {0} is not set) should not \ -occur.\nPlease contact support and file a bug. -# Validation message for key class missing -# {0}=key class name -# {1}=pc class name -util.validation.key_class_missing=JDO72344: The generated key class {0} for \ -the bean corresponding to the generated class {1} does not exist. Please \ -verify that your key class exists and is specified with a fully qualified name. -# Validation message for key class must be public -# {0}=key class name -# {1}=pc class name -util.validation.key_class_public=JDO72345: This error (The generated key class \ -{0} for the bean corresponding to the generated class {1} must be public) \ -should not occur.\nPlease contact support and file a bug. -# Validation message for key class must implement Serializable -# {0}=key class name -# {1}=pc class name -util.validation.key_class_serializable=JDO72346: This error (The generated key \ -class {0} for the bean corresponding to the generated class {1} must implement \ -java.io.Serializable) should not occur.\nPlease contact support and file a bug. -# Validation message for inner key class must be static -# {0}=key class name -# {1}=pc class name -util.validation.key_class_static=JDO72347: This error (If the generated key \ -class {0} for the bean corresponding to the generated class {1} is defined as \ -inner class, it must be static) should not occur.\nPlease contact support and \ -file a bug. -# Validation message for key class field must have a valid type -# {0}=key class field name -# {1}=key class name -util.validation.key_field_type_invalid=JDO72348: The type of non-static field \ -{0} of the key class is invalid, resulting in an invalid generated key class \ -{1}. Valid types are: String, a Number type, or a Date type. If you have a \ -user defined primary key class, the type may also be primitive.\n\ -Update the type of the key class field. -# Validation message for key class field must have the same type as the pc class key field -# {0}=key class field name -# {1}=key class name -# {2}=pc class name -util.validation.key_field_type_mismatch=JDO72350: This error (The field {0} of \ -the generated key class {1} must have the same type as the corresponding field \ -in the persistence-capable {2}) should not occur.\nPlease contact support and \ -file a bug. -# Validation message for a missing key field in the key class -# {0}=pc class name -# {1}=key class name -# {2}=list of field names -util.validation.key_field_missing=JDO72351: This error (All key fields of the \ -bean corresponding to the generated class {0} must be present in the key class \ -{1}.\nAdd the following key fields to the generated key class: {2}) should not \ -occur. Please contact support and file a bug. -# Validation message for a missing key class constructor -# {0}=key class name -# {1}=pc class name -util.validation.key_class_constructor=JDO72352: This error (The generated key \ -class {0} for the bean corresponding to the generated class {1} must define a \ -public constructor) should not occur.\nPlease contact support and file a bug. -# Validation message for a missing equals redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_equals=JDO72353: This error (The generated key class \ -{0} for the bean corresponding to the generated class {1} must override the \ -equals method from java.lang.Object) should not occur.\n\Please contact \ -support and file a bug. -# Validation message for a missing hashCode redefinition -# {0}=key class name -# {1}=pc class name -util.validation.key_class_hashcode=JDO72354: This error (The generated key \ -class {0} for the bean corresponding to the generated class {1} must override \ -the hashCode method from java.lang.Object) should not occur.\nPlease contact \ -support and file a bug. - -# Validation messages for version field elements - -# Validation message for missing or too many version fields -# {0}=class name -util.validation.version_field_cardinality=JDO72356:This error (The bean \ -corresponding to the generated class {0} must have exactly one version field) \ -should not occur.\nPlease contact support and file a bug. -# Validation message for version field not allowed to be relationship -# {0}=(relationship) field name -util.validation.version_field_relationship_not_allowed=JDO72357:This error \ -(The relationship field {0} is not allowed to be a version field) should not \ -occur.\nPlease contact support and file a bug. -# Validation message for version field which does not use the -# default fetch group -# {0}=field name -util.validation.version_field_fetch_group_invalid=JDO72358:This error (The \ -version field {0} has an invalid fetch group. Version fields must belong to \ -the default fetch group) should not occur.\nPlease contact support and file \ -a bug. -# Validation message for version field which is a key field -# {0}=field name -util.validation.version_field_key_field_not_allowed=JDO72359:This error (The \ -field {0} is not allowed to be a key field since it is defined as a version \ -field) should not occur.\nPlease contact support and file a bug. -# Validation message for version field must be of type long -# {0}=field name -util.validation.version_field_type_not_allowed=JDO72360:This error (The \ -version field {0} must be of type ''long'') should not occur.\nPlease contact \ -support and file a bug. -# Validation message for version field which is not mapped to exactly one -# column -# {0}=field name -util.validation.version_field_not_mapped=JDO72361:The generated version field \ -{0} must be mapped to exactly one column.\n\ -Update the version column mapping. -# Validation message for version field mapped to a non-primary table column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_table_mismatch=JDO72362:The version column {0} \ -is not in the primary table for the bean corresponding to the generated class \ -{2}.\n\Update the version column. -# Validation message for version field mapped to a nullable or -# non-numeric column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_type_invalid=JDO72363:The version column \ -{0} specified for the bean corresponding to the generated class {2} may not be \ -nullable or non-numeric.\n\ -Update the schema or choose a different version column. -# Validation message for version field mapped to a primary key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_pk_invalid=JDO72364:The version column \ -{0} specified for the bean corresponding to the generated class {2} may not be \ -part of the primary key.\n\ -Update the schema or choose a different version column. -# Validation message for version field mapped to a foreign key column -# {0}=column name -# {1}=field name (not used in this variation of the bundle) -# {2}=class name -util.validation.version_field_column_fk_invalid=JDO72364:The version column \ -{0} specified for the bean corresponding to the generated class {2} may not be \ -part of a foreign key.\n\ -Update the schema or choose a different version column. -# Validation message for a version field which is also a managed -# (multiple fields to same column) field and, by definition of a version field, -# has a default fetch group -# {0}=field name -util.validation.version_field_column_invalid=JDO72365:The version column used \ -by the generated version field {0} is also mapped to a CMP field. CMP fields \ -may not be mapped to columns used to store version numbers.\n\ -Update the column mapping of the CMP fields or choose a different version \ -column. diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/DeploymentDescriptorModel.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/DeploymentDescriptorModel.java deleted file mode 100644 index 86f12dc15a6..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/DeploymentDescriptorModel.java +++ /dev/null @@ -1,935 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * DeploymentDescriptorModel.java - * - * Created on December 3, 2001, 3:43 PM - */ - -package com.sun.jdo.spi.persistence.support.ejb.model; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.IOException; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Member; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; - -import com.sun.jdo.api.persistence.model.RuntimeModel; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; -import com.sun.jdo.api.persistence.model.jdo.RelationshipElement; -import com.sun.jdo.spi.persistence.support.ejb.model.util.NameMapper; -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; -import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.FieldDescriptor; -import org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor; - -/** This is a subclass of RuntimeModel which uses the deployment descriptor - * to augment the java metadata for a non-existent persistence-capable - * java/class file. It is primarily used at ejbc time, though it could be - * used at any time as long as sufficient mapping and deployment descriptor - * information is available. See the javadoc for individual methods below - * for differences and translations between persistence-capable and ejb - * names and behavior. There are different answers to methods depending - * on whether they are called on the persistence-capable or the ejb. These - * are primarily for the handling of serializable, non-primitive, non-wrapper - * type fields: isByteArray, getFieldType (returning byte array), - * isPersistentTypeAllowed and isPersistentAllowed (returning true) which - * return answers about the byte array when called on the persistence-capable - * and return answers about the serializable type when called on the ejb. - * - * @author Rochelle Raccah - */ -public class DeploymentDescriptorModel extends RuntimeModel -{ - private ClassLoader _classLoader; - private NameMapper _nameMapper; - - /** - * Signature with CVS keyword substitution for identifying the generated code - */ - public static final String SIGNATURE = "$RCSfile: DeploymentDescriptorModel.java,v $ $Revision: 1.2 $"; //NOI18N - - /** Creates a new instance of DeploymentDescriptorModel - * @param nameMapper the name mapper to be used as a helper for - * translation between persistence class and ejb names. - * @param classLoader the class loader object which is used for the - * application. - */ - public DeploymentDescriptorModel (NameMapper nameMapper, - ClassLoader classLoader) - { - super(); - _classLoader = classLoader; - _nameMapper = nameMapper; - } - - private ClassLoader getClassLoader () { return _classLoader; } - private NameMapper getNameMapper () { return _nameMapper; } - - /** Returns the input stream with the supplied resource name found with - * the supplied class name. This method overrides the one in - * RuntimeModel to enforce using the class loader provided at construction - * time instead of the one specified in this method. - * @param className the fully qualified name of the class which will be - * used as a base to find the resource - * @param classLoader the class loader used to find mapping information - * This parameter is ignored in this implementation - instead the - * class loader supplied at construction time is used. - * @param resourceName the name of the resource to be found - * @return the input stream for the specified resource, null - * if an error occurs or none exists - */ - protected BufferedInputStream getInputStreamForResource (String className, - ClassLoader classLoader, String resourceName) - { - return super.getInputStreamForResource( - className, getClassLoader(), resourceName); - } - - /** Returns the name of the second to top (top excluding java.lang.Object) - * superclass for the given class name. This method overrides the one in - * RuntimeModel in order to return the supplied className if it - * represents a persistence-capable class. This is because the - * persistence-capable classes don't mirror the inheritance - * hierarchy of the ejbs. - * @param className the fully qualified name of the class to be checked - * @return the top non-Object superclass for className, - * className if an error occurs or none exists - */ - protected String findPenultimateSuperclass (String className) - { - return (isPCClassName(className) ? className : - super.findPenultimateSuperclass(className)); - } - - /** Returns the name of the superclass for the given class name. This - * method overrides the one in RuntimeModel in order to return - * java.lang.Object if the supplied className represents a - * persistence-capable class. This is because the persistence-capable - * classes don't mirror the inheritance hierarchy of the ejbs. - * @param className the fully qualified name of the class to be checked - * @return the superclass for className, null if an error - * occurs or none exists - */ - protected String getSuperclass (String className) - { - return (isPCClassName(className) ? "java.lang.Object" : // NOI18N - super.getSuperclass(className)); - } - - /** Creates a file with the given base file name and extension - * parallel to the supplied class (if it does not yet exist). This - * method overrides the one in RuntimeModel and throws - * UnsupportedOperationException in the case where the file - * doesn't yet exist. If the file exists (even if it has - * just been "touched"), this method will return that output stream, - * but it is not capable of using the supplied class as a sibling location. - * @param className the fully qualified name of the class - * @param baseFileName the name of the base file - * @param extension the file extension - * @return the output stream for the specified resource, null - * if an error occurs or none exists - * @exception IOException if there is some error creating the file - */ - protected BufferedOutputStream createFile (String className, String baseFileName, - String extension) throws IOException - { - BufferedOutputStream outputStream = - super.createFile(className, baseFileName, extension); - - if (outputStream != null) - return outputStream; - - throw new UnsupportedOperationException(); - } - - /** Deletes the file with the given file name which is parallel - * to the supplied class. This method overrides the one in RuntimeModel - * and throws UnsupportedOperationException. - * @param className the fully qualified name of the class - * @param fileName the name of the file - * @exception IOException if there is some error deleting the file - */ - protected void deleteFile (String className, String fileName) - throws IOException - { - throw new UnsupportedOperationException(); - } - - /** Returns the class element with the specified className. If the - * specified className represents a persistence-capable class, the - * abstract bean class for the corresponding ejb is always returned - * (even if there is a Class object available for the - * persistence-capable). If there is an ejb name and an abstract bean - * class with the same name, the abstract bean class which is associated - * with the ejb will be returned, not the abstract bean class which - * corresponds to the supplied name (directly). If the specified - * className represents a persistence-capable key class name, the - * corresponding bean's key class is returned. - * @param className the fully qualified name of the class to be checked - * @param classLoader the class loader used to find mapping information - * @return the class element for the specified className - */ - public Object getClass (final String className, - final ClassLoader classLoader) - { - String testClass = className; - - // translate the class name to corresponding ejb name's abstract - // bean or key class if necessary - if (className != null) - { - NameMapper nameMapper = getNameMapper(); - String ejbName = - (isPCClassName(className) ? getEjbName(className) : className); - - if (nameMapper.isEjbName(ejbName)) - testClass = nameMapper.getAbstractBeanClassForEjbName(ejbName); - else - { - String keyClass = - nameMapper.getKeyClassForPersistenceKeyClass(className); - - if (keyClass != null) - { - // if it's a pk field of type primitive, byte[], - // or other array, return the primitive class or a - // dummy class - if (NameMapper.PRIMARY_KEY_FIELD == - getPersistenceKeyClassType(className)) - { - if (isPrimitive(keyClass)) - return JavaTypeHelper.getPrimitiveClass(keyClass); - if (isByteArray(keyClass) || keyClass.endsWith("[]")) - return byte[].class; - } - - testClass = keyClass; - } - } - } - - return super.getClass(testClass, getClassLoader()); - } - - /** Returns a wrapped constructor element for the specified argument types - * in the class with the specified name. If the specified class name is - * a persistence-capable key class name which corresponds to a bean - * with an unknown primary key class a dummy constructor will also be - * returned. Types are specified as type names for primitive type - * such as int, float or as fully qualified class names. - * @param className the name of the class which contains the constructor - * to be checked - * @param argTypeNames the fully qualified names of the argument types - * @return the constructor element - * @see #getClass - */ - public Object getConstructor (final String className, String[] argTypeNames) - { - Object returnObject = null; - - if ((NameMapper.PRIMARY_KEY_FIELD == - getPersistenceKeyClassType(className)) && - Arrays.equals(argTypeNames, NO_ARGS)) - { - returnObject = new MemberWrapper(className, null, Modifier.PUBLIC, - (Class)getClass(className)); - } - - if (returnObject == null) - { - returnObject = super.getConstructor(className, argTypeNames); - - if (returnObject instanceof Constructor) // wrap it - returnObject = new MemberWrapper((Constructor)returnObject); - } - - return returnObject; - } - - /** Returns a wrapped method element for the specified method name and - * argument types in the class with the specified name. If the - * specified className represents a persistence-capable class and - * the requested methodName is readObject or writeObject, a dummy - * method will be returned. Similarly, if the specified class name is - * a persistence-capable key class name which corresponds to a bean - * with an unknown primary key class or a primary key field (in both - * cases there is no user defined primary key class) and the requested - * method is equals or hashCode, a dummy method will also be returned. - * Types are specified as type names for primitive type such as int, - * float or as fully qualified class names. Note, the method does not - * return inherited methods. - * @param className the name of the class which contains the method - * to be checked - * @param methodName the name of the method to be checked - * @param argTypeNames the fully qualified names of the argument types - * @return the method element - * @see #getClass - */ - public Object getMethod (final String className, final String methodName, - String[] argTypeNames) - { - int keyClassType = getPersistenceKeyClassType(className); - Object returnObject = null; - - if (isPCClassName(className)) - { - if ((methodName.equals("readObject") && // NOI18N - Arrays.equals(argTypeNames, getReadObjectArgs())) || - (methodName.equals("writeObject") && // NOI18N - Arrays.equals(argTypeNames, getWriteObjectArgs()))) - { - returnObject = new MemberWrapper(methodName, - Void.TYPE, Modifier.PRIVATE, (Class)getClass(className)); - } - } - if ((NameMapper.UNKNOWN_KEY_CLASS == keyClassType) || - (NameMapper.PRIMARY_KEY_FIELD == keyClassType)) - { - if (methodName.equals("equals") && // NOI18N - Arrays.equals(argTypeNames, getEqualsArgs())) - { - returnObject = new MemberWrapper(methodName, - Boolean.TYPE, Modifier.PUBLIC, (Class)getClass(className)); - } - else if (methodName.equals("hashCode") && // NOI18N - Arrays.equals(argTypeNames, NO_ARGS)) - { - returnObject = new MemberWrapper(methodName, - Integer.TYPE, Modifier.PUBLIC, (Class)getClass(className)); - } - } - - if (returnObject == null) - { - returnObject = super.getMethod(className, methodName, argTypeNames); - - if (returnObject instanceof Method) // wrap it - returnObject = new MemberWrapper((Method)returnObject); - } - - return returnObject; - } - - /** Returns the inherited method element for the specified method - * name and argument types in the class with the specified name. - * Types are specified as type names for primitive type such as - * int, float or as fully qualified class names. Note that the class - * with the specified className is not checked for this method, only - * superclasses are checked. This method overrides the one in - * Model in order to do special handling for a persistence-capable key - * class name which corresponds to a bean with a primary key - * field. In that case, we don't want to climb the inheritance - * of the primary key field type. - * @param className the name of the class which contains the method - * to be checked - * @param methodName the name of the method to be checked - * @param argTypeNames the fully qualified names of the argument types - * @return the method element - * @see #getClass - */ - public Object getInheritedMethod (String className, String methodName, - String[] argTypeNames) - { - // If the class name corresponds to a pk field (which means that - // there is no user defined primary key class, we don't want to - // climb the inheritance hierarchy, we only process this class. - return ((NameMapper.PRIMARY_KEY_FIELD == - getPersistenceKeyClassType(className)) ? - getMethod(className, methodName, argTypeNames) : - super.getInheritedMethod(className, methodName, argTypeNames)); - } - - /** Returns a list of names of all the declared field elements in the - * class with the specified name. If the specified className represents - * a persistence-capable class, the list of field names from the - * corresponding ejb is returned (even if there is a Class object - * available for the persistence-capable). - * @param className the fully qualified name of the class to be checked - * @return the names of the field elements for the specified class - */ - public List getFields (final String className) - { - final EjbCMPEntityDescriptor descriptor = getCMPDescriptor(className); - String testClass = className; - - if (descriptor != null) // need to get names of ejb fields - { - Iterator iterator = descriptor.getFieldDescriptors().iterator(); - List returnList = new ArrayList(); - - while (iterator.hasNext()) - returnList.add(((FieldDescriptor)iterator.next()).getName()); - - return returnList; - } - else - { - NameMapper nameMapper = getNameMapper(); - String ejbName = - nameMapper.getEjbNameForPersistenceKeyClass(className); - - switch (getPersistenceKeyClassType(className)) - { - // find the field names we need in the corresponding - // ejb key class - case NameMapper.USER_DEFINED_KEY_CLASS: - testClass = nameMapper.getKeyClassForEjbName(ejbName); - break; - // find the field name we need in the abstract bean - case NameMapper.PRIMARY_KEY_FIELD: - return Arrays.asList(new String[]{ - getCMPDescriptor(ejbName). - getPrimaryKeyFieldDesc().getName()}); - // find the field name we need in the persistence capable - case NameMapper.UNKNOWN_KEY_CLASS: - String pcClassName = - nameMapper.getPersistenceClassForEjbName(ejbName); - PersistenceFieldElement[] fields = - getPersistenceClass(pcClassName).getFields(); - int i, count = ((fields != null) ? fields.length : 0); - - for (i = 0; i < count; i++) - { - PersistenceFieldElement pfe = fields[i]; - - if (pfe.isKey()) - return Arrays.asList(new String[]{pfe.getName()}); - } - break; - } - } - - return super.getFields(testClass); - } - - /** Returns a list of names of all the field elements in the - * class with the specified name. This list includes the inherited - * fields. If the specified className represents a - * persistence-capable class, the list of field names from the - * corresponding ejb is returned (even if there is a Class object - * available for the persistence-capable). This method overrides - * the one in Model in order to do special handling for a - * persistence-capable key class name which corresponds to a bean - * with a primary key field. In that case, we don't want to - * climb the inheritance hierarchy of the primary key field type. - * @param className the fully qualified name of the class to be checked - * @return the names of the field elements for the specified class - */ - public List getAllFields (String className) - { - // If the class name corresponds to a pk field (which means that - // there is no user defined primary key class, we don't want to - // climb the inheritance hierarchy, we only process this class. - return ((NameMapper.PRIMARY_KEY_FIELD == - getPersistenceKeyClassType(className)) ? getFields(className) : - super.getAllFields(className)); - } - - /** Returns a wrapped field element for the specified fieldName in the - * class with the specified className. If the specified className - * represents a persistence-capable class, a field representing the - * field in the abstract bean class for the corresponding ejb is always - * returned (even if there is a Field object available for the - * persistence-capable). If there is an ejb name and an abstract bean - * class with the same name, the abstract bean class which is associated - * with the ejb will be used, not the abstract bean class which - * corresponds to the supplied name (directly). - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return the wrapped field element for the specified fieldName - */ - public Object getField (final String className, String fieldName) - { - String testClass = className; - Object returnObject = null; - - if (className != null) - { - NameMapper nameMapper = getNameMapper(); - boolean isPCClass = isPCClassName(className); - boolean isPKClassName = false; - String searchClassName = className; - String searchFieldName = fieldName; - - // translate the class name & field names to corresponding - // ejb name's abstract bean equivalents if necessary - if (isPCClass) - { - searchFieldName = nameMapper. - getEjbFieldForPersistenceField(className, fieldName); - searchClassName = getEjbName(className); - } - else // check if it's a pk class without a user defined key class - { - String ejbName = - nameMapper.getEjbNameForPersistenceKeyClass(className); - - switch (getPersistenceKeyClassType(className)) - { - // find the field we need in the corresponding - // abstract bean (translated below from ejbName) - case NameMapper.PRIMARY_KEY_FIELD: - testClass = ejbName; - searchClassName = ejbName; - isPKClassName = true; - break; - // find the field we need by called updateFieldWrapper - // below which handles the generated field for the - // unknown key class - need to use the - // persistence-capable class name and flag to call that - // code, so we configure it here - case NameMapper.UNKNOWN_KEY_CLASS: - testClass = nameMapper. - getPersistenceClassForEjbName(ejbName); - isPCClass = true; - isPKClassName = true; - break; - } - } - - if (nameMapper.isEjbName(searchClassName)) - { - searchClassName = nameMapper. - getAbstractBeanClassForEjbName(searchClassName); - } - - returnObject = super.getField(searchClassName, searchFieldName); - - if (returnObject == null) // try getting it from the descriptor - returnObject = getFieldWrapper(testClass, searchFieldName); - else if (returnObject instanceof Field) // wrap it - returnObject = new MemberWrapper((Field)returnObject); - - if (isPCClass) - { - returnObject = updateFieldWrapper( - (MemberWrapper)returnObject, testClass, fieldName); - } - // when asking for these fields as part of the - // persistence-capable's key class, we need to represent the - // public modifier which will be generated in the inner class - if (isPKClassName && (returnObject instanceof MemberWrapper)) - ((MemberWrapper)returnObject)._modifiers = Modifier.PUBLIC; - - } - - return returnObject; - } - - /** Returns the field type for the specified fieldName in the class - * with the specified className. This method is overrides the one in - * Model in order to do special handling for non-collection relationship - * fields. If it's a generated relationship that case, the returned - * MemberWrapper from getField contains a type of the abstract bean and - * it's impossible to convert that into the persistence capable class name, so here - * that case is detected, and if found, the ejb name is extracted and - * used to find the corresponding persistence capable class. For a - * relationship which is of type of the local interface, we do the - * conversion from local interface to persistence-capable class. In the - * case of a collection relationship (generated or not), the superclass' - * implementation which provides the java type is sufficient. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return the field type for the specified fieldName - */ - public String getFieldType (String className, String fieldName) - { - String returnType = super.getFieldType(className, fieldName); - - if (!isCollection(returnType) && isPCClassName(className)) - { - NameMapper nameMapper = getNameMapper(); - String ejbName = - nameMapper.getEjbNameForPersistenceClass(className); - String ejbField = - nameMapper.getEjbFieldForPersistenceField(className, fieldName); - - if (nameMapper.isGeneratedEjbRelationship(ejbName, ejbField)) - { - String[] inverse = - nameMapper.getEjbFieldForGeneratedField(ejbName, ejbField); - - returnType = nameMapper. - getPersistenceClassForEjbName(inverse[0]); - } - - if (nameMapper.isLocalInterface(returnType)) - { - returnType = nameMapper.getPersistenceClassForLocalInterface( - className, fieldName, returnType); - } - } - - return returnType; - } - - /** Returns the string representation of declaring class of - * the specified member element. Note, the member element is - * either a class element as returned by getClass, a field element - * as returned by getField, a constructor element as returned by - * getConstructor, or a method element as returned by getMethod - * executed on the same model instance. This implementation expects - * the member element to be a reflection instance or a wrapped member - * instance. - * @param memberElement the member element to be checked - * @return the string representation of the declaring class of - * the specified memberElement - * @see #getClass - * @see #getField - * @see #getConstructor - * @see #getMethod - */ - public String getDeclaringClass (Object memberElement) - { - if ((memberElement != null) && (memberElement instanceof MemberWrapper)) - { - Class classElement = - ((MemberWrapper)memberElement).getDeclaringClass(); - - return ((classElement != null) ? classElement.getName() : null); - } - - return super.getDeclaringClass(memberElement); - } - - /** Returns the modifier mask for the specified member element. - * Note, the member element is either a class element as returned by - * getClass, a member wrapper element as returned by getField or - * getMethod, a constructor element as returned by getConstructor - * executed on the same model instance. - * This implementation expects the member element being a reflection - * instance or a wrapped member instance. - * @param memberElement the member element to be checked - * @return the modifier mask for the specified memberElement - * @see java.lang.reflect.Modifier - * @see #getClass - * @see #getField - * @see #getConstructor - * @see #getMethod - */ - public int getModifiers (Object memberElement) - { - if ((memberElement != null) && (memberElement instanceof MemberWrapper)) - return ((MemberWrapper)memberElement).getModifiers(); - - return super.getModifiers(memberElement); - } - - /** Returns the modifier mask for the specified className. This method - * overrides the one in Model to strip out the abstract modifier when - * the persistence capable class is represented by the abstract bean. - * It also adds the static modifier when the specified class represents - * the persistence capable key class which will be generated. - * @param className the fully qualified name of the class to be checked - * @return the modifier mask for the specified class - * @see java.lang.reflect.Modifier - */ - public int getModifiersForClass (String className) - { - int modifiers = super.getModifiersForClass(className); - - if (isPCClassName(className)) - modifiers &= ~Modifier.ABSTRACT; - else if (getNameMapper(). - getKeyClassForPersistenceKeyClass(className) != null) - { - modifiers |= Modifier.STATIC; - } - - return modifiers; - } - - /** Determines if the specified className and fieldName pair represent a - * field which has a type which is valid for key fields. Valid key - * field types include non-collection SCOs (wrappers, Date, Time, etc.) - * and primitives for user defined key classes. This method overrides - * the one in Model in order to do special handling for a - * persistence-capable key class name which corresponds to a bean - * with a primary key field. In that case, we want to restrict the - * list of allowable types not to include primitives. - * @param className the fully qualified name of the class which contains - * the field to be checked - * @param fieldName the name of the field to be checked - * @return true if this field name represents a field - * with a valid type for a key field; false otherwise. - */ - public boolean isValidKeyType (String className, String fieldName) - { - return (((NameMapper.PRIMARY_KEY_FIELD == - getPersistenceKeyClassType(className)) && - isPrimitive(className, fieldName)) ? false : - super.isValidKeyType(className, fieldName)); - } - - /** Returns the Class type of the specified element. - * If element denotes a field, it returns the type of the field. - * If element denotes a method, it returns the return type of the method. - * Note, element is either a field element as returned by getField, or a - * method element as returned by getMethod executed on the same model - * instance. - * @param element the element to be checked - * @return the Class type of the element - * @see #getField - * @see RuntimeModel#getMethod - */ - protected Class getTypeObject (Object element) - { - Class type = super.getTypeObject(element); - - if ((element != null) && (element instanceof MemberWrapper)) - type = ((MemberWrapper)element).getType(); - - return type; - } - - /** - * This method returns the class loader used to find mapping information - * for the specified className. This implementation overrides the one in - * RuntimeModel so that it always returns the ClassLoader provided at - * construction time. - * @param className the fully qualified name of the class to be checked - * @param classLoader the class loader used to find mapping information - * @return the class loader used to find mapping information for the - * specified className - */ - protected ClassLoader findClassLoader (String className, - ClassLoader classLoader) - { - return getClassLoader(); - } - - // return true if a conversion to a ejb class is needed for - // java.lang.reflect metadata - private boolean isPCClassName (String className) - { - return (getEjbName(className) != null); - } - - private String getEjbName (String className) - { - return getNameMapper().getEjbNameForPersistenceClass(className); - } - - private EjbCMPEntityDescriptor getCMPDescriptor (String className) - { - String descriptorName = (isPCClassName(className) ? - getEjbName(className) : className); - - return getNameMapper().getDescriptorForEjbName(descriptorName); - } - - private int getPersistenceKeyClassType (String className) - { - int returnValue = -1; - - if (getCMPDescriptor(className) == null) - { - NameMapper nameMapper = getNameMapper(); - String ejbName = - nameMapper.getEjbNameForPersistenceKeyClass(className); - - if (ejbName != null) - returnValue = nameMapper.getKeyClassTypeForEjbName(ejbName); - } - - return returnValue; - } - - private MemberWrapper getFieldWrapper (String className, String fieldName) - { - EjbCMPEntityDescriptor descriptor = getCMPDescriptor(className); - MemberWrapper returnObject = null; - - if (descriptor != null) - { - PersistenceDescriptor persistenceDescriptor = - descriptor.getPersistenceDescriptor(); - - if (persistenceDescriptor != null) - { - Class fieldType = null; - - try - { - fieldType = persistenceDescriptor.getTypeFor(fieldName); - } - catch (RuntimeException e) - { - // fieldType will be null - there is no such field - } - - returnObject = ((fieldType == null) ? null : - new MemberWrapper(fieldName, fieldType, - Modifier.PRIVATE, (Class)getClass(className))); - } - } - - return returnObject; - } - - private MemberWrapper updateFieldWrapper (MemberWrapper returnObject, - String className, String fieldName) - { - NameMapper nameMapper = getNameMapper(); - - if (returnObject == null) - { - // can't call isPersistent or isKey because that calls - // hasField which calls getField and that would end up - // in an endless loop - PersistenceFieldElement field = - getPersistenceFieldInternal(className, fieldName); - - if (field != null) - { - String ejbName = getEjbName(className); - String ejbFieldName = nameMapper. - getEjbFieldForPersistenceField(className, fieldName); - - // Check if this is the auto-added field for unknown pk - // support. If so, return a private field of type Long. - if (field.isKey() && (ejbName != null) && - (nameMapper.getKeyClassTypeForEjbName(ejbName) == - NameMapper.UNKNOWN_KEY_CLASS)) - { - returnObject = new MemberWrapper(ejbFieldName, - Long.class, Modifier.PRIVATE, - (Class)getClass(className)); - } - - // Check if this is the auto-added field for 2 way managed rels - // support. If so, return a private field of type according to - // cardinality of the relationship. - else if ((field instanceof RelationshipElement) && - nameMapper.isGeneratedEjbRelationship(ejbName, - ejbFieldName)) - { - RelationshipElement rel = (RelationshipElement)field; - Class classType = null; - - // figure out the type - if (rel.getUpperBound() > 1) - classType = java.util.HashSet.class; - else - { - String[] inverse = nameMapper. - getEjbFieldForGeneratedField(ejbName, ejbFieldName); - - classType = (Class)getClass(inverse[0]); - } - - if (classType != null) - { - returnObject = new MemberWrapper(ejbFieldName, - classType, Modifier.PRIVATE, - (Class)getClass(className)); - } - } - // Check if this is the auto-added version field. - // If so, return a private field of type long. - else if (ejbFieldName.startsWith( - NameMapper.GENERATED_VERSION_FIELD_PREFIX) && - nameMapper.isGeneratedField(ejbName, ejbFieldName)) - { - returnObject = new MemberWrapper(ejbFieldName, - Long.TYPE, Modifier.PRIVATE, - (Class)getClass(className)); - } - } - } - - // if the field in the corresponding ejb is a serializable, - // non-primitive, non-wrapper type, convert it to byte[] here - if (!isPersistentTypeAllowed(getType(returnObject), - getClassLoader()) && isSerializable(returnObject)) - { - returnObject.setType(byte[].class); - } - - return returnObject; - } - - private class MemberWrapper - { - private String _name; - private Class _type; - private int _modifiers; - private Class _declaringClass; - - private MemberWrapper (Member member) - { - this(member.getName(), ((member instanceof Field) ? - ((Field)member).getType() : ((member instanceof Method) ? - ((Method)member).getReturnType() : null)), - member.getModifiers(), member.getDeclaringClass()); - } - - private MemberWrapper (String name, Class type, int modifiers, - Class declaringClass) - { - _name = name; - _type = type; - _modifiers = modifiers; - _declaringClass = declaringClass; - } - - private Class getType () { return _type; } - private void setType (Class type) { _type = type; } - private String getName () { return _name; } - private int getModifiers () { return _modifiers; } - private Class getDeclaringClass () { return _declaringClass; } - - /** Returns a string representation of this object. - * @return a string reprentation of the member wrapper object. - */ - public String toString () { return getName(); } - } -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/util/NameMapper.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/util/NameMapper.java deleted file mode 100644 index 5e80ce1003b..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/model/util/NameMapper.java +++ /dev/null @@ -1,234 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * NameMapper.java - * - * Created on December 11, 2001, 9:51 AM - */ - -package com.sun.jdo.spi.persistence.support.ejb.model.util; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import com.sun.jdo.api.persistence.mapping.ejb.AbstractNameMapper; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor; -import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor; -import org.glassfish.ejb.deployment.descriptor.RelationshipDescriptor; - -/** This is a class which helps translate between the various names of the - * CMP (ejb name, abstract schema, abstract bean, concrete bean, local - * interface, remote interface) and the persistence-capable class name. It - * also has methods for translation of field names. The basic entry point - * is ejb name or persistence-capable class name. This is a subclass of - * the AbstractNameMapper and implements the methods based on DOL. It - * also adds methods which are used during deployment time but not needed - * during development time and therefore, not in the abstract superclass. - * - * @author Rochelle Raccah - */ -public abstract class NameMapper extends AbstractNameMapper -{ - private EjbBundleDescriptorImpl _bundleDescriptor; - private Map _generatedRelToInverseRelMap; - private Map _relToInverseGeneratedRelMap; - - /** Creates a new instance of NameMapper - * @param bundleDescriptor the EjbBundleDescriptor which defines the - * universe of names for this application. - */ - protected NameMapper (EjbBundleDescriptorImpl bundleDescriptor) - { - _bundleDescriptor = bundleDescriptor; - initGeneratedRelationshipMaps(); - } - - private void initGeneratedRelationshipMaps () - { - EjbBundleDescriptorImpl bundleDescriptor = getBundleDescriptor(); - Set relationships = bundleDescriptor.getRelationships(); - - _generatedRelToInverseRelMap = new HashMap(); - _relToInverseGeneratedRelMap = new HashMap(); - - // during development time this code may attempt to get the - // iterator even with no relationships, so protect it by a - // null check - if (relationships != null) - { - Iterator iterator = relationships.iterator(); - List generatedRels = new ArrayList(); - int counter = 0; - - // gather list of generated cmr fields by examining source and sink - while (iterator.hasNext()) - { - RelationshipDescriptor relationship = - (RelationshipDescriptor)iterator.next(); - - if (relationship.getSource().getCMRField() == null) - generatedRels.add(relationship); - - if (relationship.getSink().getCMRField() == null) - generatedRels.add(relationship); - } - - // now update the maps to contain this info - iterator = generatedRels.iterator(); - while (iterator.hasNext()) - { - RelationshipDescriptor relationship = - (RelationshipDescriptor)iterator.next(); - RelationRoleDescriptor source = relationship.getSource(); - String sourceEjbName = source.getOwner().getName(); - String sourceCMRField = source.getCMRField(); - boolean sourceIsNull = (sourceCMRField == null); - RelationRoleDescriptor sink = relationship.getSink(); - String sinkEjbName = sink.getOwner().getName(); - String ejbName = (sourceIsNull ? sourceEjbName : sinkEjbName); - String otherEjbName = - (sourceIsNull ? sinkEjbName : sourceEjbName); - List ejbField = Arrays.asList(new String[]{otherEjbName, - (sourceIsNull ? sink.getCMRField() : sourceCMRField)}); - PersistenceDescriptor pDescriptor = ((EjbCMPEntityDescriptor) - bundleDescriptor.getEjbByName(ejbName)). - getPersistenceDescriptor(); - List generatedField = null; - String uniqueName = null; - - // make sure the user doesn't already have a field - // with this name - do - { - counter++; - uniqueName = GENERATED_CMR_FIELD_PREFIX + counter; - } while (hasField(pDescriptor, uniqueName)); - - generatedField = - Arrays.asList(new String[]{ejbName, uniqueName}); - _generatedRelToInverseRelMap.put(generatedField, ejbField); - _relToInverseGeneratedRelMap.put(ejbField, generatedField); - } - } - } - - protected Map getGeneratedFieldsMap () - { - return _generatedRelToInverseRelMap; - } - protected Map getInverseFieldsMap () { return _relToInverseGeneratedRelMap; } - - // isCMPField does not return true for relationships, so we use getTypeFor - private boolean hasField (PersistenceDescriptor persistenceDescriptor, - String fieldName) - { - Class fieldType = null; - - try - { - fieldType = persistenceDescriptor.getTypeFor(fieldName); - } - catch (RuntimeException e) - { - // fieldType will be null - there is no such field - } - - return (fieldType != null); - } - - /** Gets the EjbBundleDescriptor which defines the universe of - * names for this application. - * @return the EjbBundleDescriptor which defines the universe of - * names for this application. - */ - public EjbBundleDescriptorImpl getBundleDescriptor () - { - return _bundleDescriptor; - } - - /** Gets the EjbCMPEntityDescriptor which represents the ejb - * with the specified name. - * @param name the name of the ejb - * @return the EjbCMPEntityDescriptor which represents the ejb. - */ - abstract public EjbCMPEntityDescriptor getDescriptorForEjbName ( - String name); - - /** Get the type of key class of this ejb. - * @return the key class type, one of {@link #USER_DEFINED_KEY_CLASS}, - * {@link #PRIMARY_KEY_FIELD}, or {@link #UNKNOWN_KEY_CLASS} - */ - public int getKeyClassTypeForEjbName (String name) - { - String keyClass = getKeyClassForEjbName(name); - - if (!"java.lang.Object".equals(keyClass)) // NOI18N - { - EjbCMPEntityDescriptor descriptor = getDescriptorForEjbName(name); - - return ((descriptor.getPrimaryKeyFieldDesc() != null) ? - PRIMARY_KEY_FIELD : USER_DEFINED_KEY_CLASS); - } - - return UNKNOWN_KEY_CLASS; - } - - /** Gets the name of the ejb which corresponds to the specified abstract - * schema name. - * @param schemaName the name of the abstract schema - * @return the name of the ejb for the specified abstract schema - */ - abstract public String getEjbNameForAbstractSchema (String schemaName); - - /** Gets the name of the concrete bean class which corresponds to the - * specified ejb. - * @param name the name of the ejb - * @return the name of the concrete bean for the specified ejb - */ - abstract public String getConcreteBeanClassForEjbName (String name); -} diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/util/CaptureSchemaWrapper.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/util/CaptureSchemaWrapper.java deleted file mode 100644 index 01ab099cf62..00000000000 --- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/util/CaptureSchemaWrapper.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * CaptureSchemaWrapper.java - * - * Created on October 5, 2004 - */ - -package com.sun.jdo.spi.persistence.support.ejb.util; - -import com.sun.enterprise.util.Utility; -import com.sun.jdo.api.persistence.mapping.ejb.CaptureSchema; - -/** - * This class is used to set the required infrastructure - * for DataDirect drivers support and delegate the actual implementation - * to the CaptureSchema<\code> - * @see CaptureSchema - * - * @author Marina Vatkina - */ - -public final class CaptureSchemaWrapper { - public static void main(String args[]) { - Utility.setEnvironment(); - CaptureSchema.main(args); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/exclude.xml b/appserver/persistence/cmp/support-sqlstore/exclude.xml deleted file mode 100644 index e3bd5e68119..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/exclude.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/osgi.bundle b/appserver/persistence/cmp/support-sqlstore/osgi.bundle deleted file mode 100644 index 0890f4433d5..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/osgi.bundle +++ /dev/null @@ -1,45 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - --exportcontents: \ - com.sun.jdo.spi.persistence.support.sqlstore.ejb; \ - com.sun.jdo.spi.persistence.support.sqlstore; \ - com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; \ - com.sun.jdo.spi.persistence.support.sqlstore.utility; version=${project.osgi.version} diff --git a/appserver/persistence/cmp/support-sqlstore/pom.xml b/appserver/persistence/cmp/support-sqlstore/pom.xml deleted file mode 100644 index a80482b7e33..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/pom.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp - 7.2026.5-SNAPSHOT - - cmp-support-sqlstore - glassfish-jar - - support-sqlstore module for cmp - - - - mm110999 - Mitesh Meswani - Oracle, Inc. - - developer - lead - - - - - - - - src/main/java - - **/*.properties - - true - - - - - org.glassfish.build - glassfishbuild-maven-plugin - - - - antlr - - - JQL.g, Semantic.g, Optimizer.g, CodeGeneration.g - - - - - - - - - fish.payara.server.internal.persistence.cmp - cmp-internal-api - ${project.version} - - - fish.payara.server.internal.persistence.cmp - cmp-model - ${project.version} - - - fish.payara.server.internal.packager - antlr-repackaged - ${project.version} - - - jakarta.transaction - jakarta.transaction-api - - - jakarta.ejb - jakarta.ejb-api - - - fish.payara.server.internal.deployment - dol - ${project.version} - - - fish.payara.server.internal.jdbc - jdbc-config - ${project.version} - - - fish.payara.server.internal.connectors - connectors-internal-api - ${project.version} - - - fish.payara.server.internal.persistence - entitybean-container - ${project.version} - - - fish.payara.server.internal.common - internal-api - ${project.version} - - - fish.payara.server.internal.common - common-util - ${project.version} - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/antlr/CodeGeneration.g b/appserver/persistence/cmp/support-sqlstore/src/main/antlr/CodeGeneration.g deleted file mode 100644 index e21e1fe13a3..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/antlr/CodeGeneration.g +++ /dev/null @@ -1,2093 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * CodeGeneration.g - * - * Created on March 13, 2000 - */ - -header -{ - package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - - import java.util.*; - import java.lang.reflect.Field; - import java.lang.IllegalAccessException; - - import com.sun.jdo.api.persistence.support.JDOFatalUserException; - import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable; - import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; - import com.sun.jdo.spi.persistence.support.sqlstore.RetrieveDesc; - import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; - - import org.glassfish.persistence.common.I18NHelper; - import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; - import com.sun.jdo.spi.persistence.utility.logging.Logger; - - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.TypeTable; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.ClassType; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.FieldInfo; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.NumericType; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.NumericWrapperClassType; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.NumberType; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.StringType; -} - -/** - * This class defines the code generation pass of the JQL compiler. - * Input of this pass is the typed and optimized AST as produced by optimizer. - * The result is a RetrieveDesc. - * - * @author Michael Bouschen - * @author Shing Wai Chan - * @version 0.1 - */ -class CodeGeneration extends TreeParser; - -options -{ - importVocab = JQL; - ASTLabelType = "JQLAST"; //NOI18N -} - -{ - /** Name of the USE_IN property. */ - public static final String USE_IN_PROPERTY = - "com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc.USE_IN"; - - /** */ - private static final boolean USE_IN = Boolean.getBoolean(USE_IN_PROPERTY); - - /** - * I18N support - */ - protected final static ResourceBundle messages = - I18NHelper.loadBundle(CodeGeneration.class); - - /** - * The persistence manager the query object is connected to. - */ - protected PersistenceManager pm; - - /** - * type table - */ - protected TypeTable typetab; - - /** - * query parameter table - */ - protected ParameterTable paramtab; - - /** - * - */ - protected ErrorMsg errorMsg; - - /** - * prefetchEnabled flag for RetrieveDesc. - */ - protected boolean prefetchEnabled; - - /** - * The RetrieveDesc for the candidate class. - * Code gen for the CLASS_DEF AST will initilaized this variable. - * Code gen for the filter expression will add the constraints. - */ - protected RetrieveDesc candidateRD; - - /** - * rd2TagMap maps RetrieveDesc to tags. A tag is either the variable name or - * the navigation path that used to create a new RetrieveDesc. This info is - * needed to identify whether two different RetrieveDescs denote the same - * variable or relationship. - */ - protected Map rd2TagMap; - - /** - * Set of RetrieveDescs. CodeGeneration uses this set to prevent multiple - * addConstraint calls for the RetrieveDescs denoting a variable. - */ - protected Set boundRetrieveDescs; - - /** The logger */ - private static Logger logger = LogHelperQueryCompilerJDO.getLogger(); - - /** - * Defines the SQL wildcard character to be used in wildcard pattern - * (string methods startsWith and endsWith). - */ - protected static final String WILDCARD_PATTERN = "%"; //NOI18N - - /** - * - */ - public void init(PersistenceManager pm, TypeTable typetab, - ParameterTable paramtab, ErrorMsg errorMsg, - boolean prefetchEnabled) - { - this.pm = pm; - this.typetab = typetab; - this.paramtab = paramtab; - this.errorMsg = errorMsg; - this.prefetchEnabled = prefetchEnabled; - this.rd2TagMap = new HashMap(); - this.boundRetrieveDescs = new HashSet(); - } - - /** - * - */ - public void reportError(RecognitionException ex) { - errorMsg.fatal("CodeGeneration error", ex); //NOI18N - } - - /** - * - */ - public void reportError(String s) { - errorMsg.fatal("CodeGeneration error: " + s); //NOI18N - } - - /** - * Returns the RetrieveDesc that represents the current query. - */ - public RetrieveDesc getRetrieveDesc() - { - if (candidateRD instanceof DebugRetrieveDesc) - return ((DebugRetrieveDesc)candidateRD).wrapped; - return candidateRD; - } - - /** - * Helper method for checkRetrieveDesc handling operators & and &&. - */ - protected void checkAndOpRetrieveDesc(JQLAST op, JQLAST left, - JQLAST right, Map usedRD) throws RecognitionException - { - if ((right.getType() == CONTAINS) || (right.getType() == NOT_CONTAINS)) - { - // If right is a CONTAINS clause, start analysing the right expr. - // This ensures that the lft expression can reuse the RD defined - // for the variable from the contains clause - checkRetrieveDesc(right, usedRD); - checkRetrieveDesc(left, usedRD); - } - else - { - checkRetrieveDesc(left, usedRD); - checkRetrieveDesc(right, usedRD); - } - op.setRetrieveDesc(getCommonRetrieveDesc(left, right)); - } - - /** - * Check the attached RetrieveDesc of the specified binary operation and its operands. - */ - protected RetrieveDesc getCommonRetrieveDesc(JQLAST left, JQLAST right) - { - RetrieveDesc rd = null; - RetrieveDesc leftRD = left.getRetrieveDesc(); - RetrieveDesc rightRD = right.getRetrieveDesc(); - - if ((leftRD == null) && (rightRD != null)) - { - // case 1: no RetrieveDesc for left operand, but right operand returns RetrieveDesc - // attach the right RetrieveDesc to all nodes of the left subtree - propagateRetrieveDesc(left, rightRD); - rd = rightRD; - } - - else if ((leftRD != null) && (rightRD == null)) - { - // case 2: no RetrieveDesc for right operand, but left operand returns RetrieveDesc - // attach the left RetrieveDesc to all nodes of the right subtree - propagateRetrieveDesc(right, leftRD); - rd = leftRD; - } - else if ((leftRD != null) && (rightRD != null)) - { - // case 3: both left and right operand have a RetrieveDesc attached - if (leftRD == rightRD) - { - // case 3a: left and right RetrieveDesc are identical - rd = leftRD; - } - else - { - // case 3b: left and right RetrieveDesc are NOT identical - // check navigation: - rd = getCommonRetrieveDescHelper(leftRD, findNavigationSource(left), - rightRD, findNavigationSource(right)); - - // use leftRD as default - if (rd == null) - { - rd = leftRD; - } - } - } - return rd; - } - - /** Helper method for getCommonRetrieveDesc used to check navigation. */ - protected RetrieveDesc getCommonRetrieveDescHelper( - RetrieveDesc leftRD, JQLAST leftNavSrc, - RetrieveDesc rightRD, JQLAST rightNavSrc) - { - RetrieveDesc rd = null; - String leftPath = (String)rd2TagMap.get(leftRD); - String rightPath = (String)rd2TagMap.get(rightRD); - RetrieveDesc leftNavSrcRD = - (leftNavSrc == null) ? null : leftNavSrc.getRetrieveDesc(); - String leftNavSrcPath = - (leftNavSrcRD == null ) ? null: (String)rd2TagMap.get(leftNavSrcRD); - RetrieveDesc rightNavSrcRD = - (rightNavSrc == null) ? null : rightNavSrc.getRetrieveDesc(); - String rightNavSrcPath = - (rightNavSrcRD == null) ? null : (String)rd2TagMap.get(rightNavSrcRD); - - if ((leftNavSrcPath != null) && leftNavSrcPath.equals(rightPath)) - { - // case I: left operand is a navigation and - // the navigation source is equal to the right operand - rd = rightRD; - } - else if ((rightNavSrcPath != null) && rightNavSrcPath.equals(leftPath)) - { - // case II: right operand is a navigation and - // the navigation source is equal to the left operand - rd = leftRD; - } - else if ((leftNavSrcPath != null) && (rightNavSrcPath != null) && - leftNavSrcPath.equals(rightNavSrcPath)) - { - // case III: both operands are navigations and have the same source - rd = leftNavSrcRD; - } - else { - // case IV: check whether the navigation source is a bound variable. - // If yes, check the collection source - JQLAST leftConstraint = findNavigationSourceOfBoundVariable(leftNavSrc); - JQLAST rightConstraint = findNavigationSourceOfBoundVariable(rightNavSrc); - if ((leftConstraint != null) && (rightConstraint != null)) - { - rd = getCommonRetrieveDescHelper(leftRD, leftConstraint, - rightRD, rightConstraint); - } - else if ((leftConstraint == null) && (rightConstraint != null)) - { - rd = getCommonRetrieveDescHelper(leftRD, leftNavSrc, - rightRD, rightConstraint); - } - else if ((leftConstraint != null) && (rightConstraint == null)) - { - rd = getCommonRetrieveDescHelper(leftRD, leftConstraint, - rightRD, rightNavSrc); - } - } - return rd; - } - - /** - * Helper method to support getting the common RetrieveDesc for operands - * taking three arguments such as like with escape, substring, indexOf. - */ - protected RetrieveDesc getCommonRetrieveDesc(JQLAST arg1, JQLAST arg2, JQLAST arg3) - { - RetrieveDesc rd = null; - if (arg3 == null) { - // Just call the regular method for binray ops, - // if the third argument is not specified. - rd = getCommonRetrieveDesc(arg1, arg2); - } - else { - // First check args two and three. - getCommonRetrieveDesc(arg2, arg3); - // Now check the first and the second arg. - rd = getCommonRetrieveDesc(arg1, arg2); - // Propagate the common RetrieveDesc to the third arg. - // This is important, if arg two and three are literals. - // Then the first call checking arg2 and arg3 did not attach any - // RetrieveDesc. The second call checking arg1 and arg2 might have - // propagated a rd from arg1 to arg2. So this propagateRetrieveDesc - // call propagates this rd to arg3, too. - propagateRetrieveDesc(arg3, rd); - } - return rd; - } - - /** - * Helper method to support getting the common RetrieveDesc for object - * comparison operators. - */ - protected RetrieveDesc getObjectComparisonRetrieveDesc(JQLAST left, JQLAST right) - { - RetrieveDesc rd = null; - if ((left.getType() == NAVIGATION) && - (right.getType() == VALUE) && (right.getValue() == null)) - { - // case obj.relship == null - // take the RetrieveDesc from the navigation source - rd = ((JQLAST)left.getFirstChild()).getRetrieveDesc(); - } - else if ((left.getType() == VALUE) && (left.getValue() == null) && - (right.getType() == NAVIGATION)) - { - // case null == obj.relship - // take the RetrieveDesc from the navigation source - rd = ((JQLAST)right.getFirstChild()).getRetrieveDesc(); - } - else - { - // use regular getCommonRetrieveDesc - rd = getCommonRetrieveDesc(left, right); - } - return rd; - } - - /** - * Returns the source if a navigation or field access. - */ - protected JQLAST findNavigationSource(JQLAST tree) - { - JQLAST child = (JQLAST)tree.getFirstChild(); - switch (tree.getType()) - { - case NOT_IN: - case FIELD_ACCESS: - case NAVIGATION: - return findNavigationSource(child); - case THIS: - case VARIABLE: - return tree; - case CONTAINS: - case NOT_CONTAINS: - return null; - default: - for (JQLAST node = child; node != null; node = (JQLAST)node.getNextSibling()) - { - JQLAST tmp = findNavigationSource(node); - if (tmp != null) - return tmp; - } - } - return null; - } - - /** - * If the specifid node is a bound variable return the navigation source of - * it's collection. - */ - protected JQLAST findNavigationSourceOfBoundVariable(JQLAST tree) - { - if ((tree.getType() == VARIABLE) && (tree.getFirstChild() != null)) - return findNavigationSource((JQLAST)tree.getFirstChild()); - return null; - } - - /** - * Attach the specified RetrieveDesc to all JQLAST node of the ast subtree, - * that do not have a RetrieveDesc attached. - */ - protected void propagateRetrieveDesc(JQLAST ast, RetrieveDesc rd) - { - if (ast.getRetrieveDesc() == null) - { - ast.setRetrieveDesc(rd); - } - for (JQLAST node = (JQLAST)ast.getFirstChild(); - node != null; - node = (JQLAST)node.getNextSibling()) - { - propagateRetrieveDesc(node, rd); - } - } - - /** - * Returns an Object representing 0 according to the specified type. - */ - protected Object getZeroValue(Type type) - { - return (type instanceof NumberType) ? - ((NumberType)type).getValue(new Integer(0)) : - null; - } - - /** - * Returns an Object representing -1 according to the specified type. - */ - protected Object getMinusOneValue(Type type) - { - return (type instanceof NumberType) ? - ((NumberType)type).getValue(new Integer(-1)) : - null; - } - - /** - * Returns -value. - * The method assumes that the passed argument is a numeric wrapper class object. - * If so it negates the wrapped numeric value and wraps the negated value into a - * numeric wrapper class object. - */ - protected Object negate(Object value, Type type) - { - return (type instanceof NumberType) ? - ((NumberType)type).negate((Number)value) : - null; - } - - /** - * Returns the boolean operation of the equivalent relational expression - * with swapped arguments. - * expr1 > expr2 <=> expr2 < expr1 - */ - protected int getSwappedOp(int operation) - { - int ret = 0; - switch (operation) - { - case RetrieveDesc.OP_EQ: - ret = RetrieveDesc.OP_EQ; - break; - case RetrieveDesc.OP_NE: - ret = RetrieveDesc.OP_NE; - break; - case RetrieveDesc.OP_LT: - ret = RetrieveDesc.OP_GT; - break; - case RetrieveDesc.OP_LE: - ret = RetrieveDesc.OP_GE; - break; - case RetrieveDesc.OP_GT: - ret = RetrieveDesc.OP_LT; - break; - case RetrieveDesc.OP_GE: - ret = RetrieveDesc.OP_LE; - break; - } - return ret; - } - - /** - * Code generation for a comparison of the form field relop value, - * where field denotes a non relationship field - * This method checks for null values and generates OP_NULL / OP_NOTNULL constraints - * in the case of field relop null - */ - protected void generateSimpleFieldValueComparison(RetrieveDesc rd, String name, - int operation, Object value) - { - if (value != null) - { - rd.addConstraint(name, operation, value); - } - else if (operation == RetrieveDesc.OP_EQ) - { - rd.addConstraint(name, RetrieveDesc.OP_NULL, null); - } - else if (operation == RetrieveDesc.OP_NE) - { - rd.addConstraint(name, RetrieveDesc.OP_NOTNULL, null); - } - else - { - errorMsg.fatal(I18NHelper.getMessage(messages, "jqlc.codegeneration.generatesimplefieldvaluecomparison.invalidvalue")); //NOI18N - } - } - - /** - * Code generation for a comparison of the form - * dbvalue relop constant - * where dbvalue denotes an object in the database such as - * - this - * - the result of a relationship navigation - * - variable access - * and constant is a constant value at query compile time (e.g. a literal) - */ - protected void generateDbValueConstantComparison(RetrieveDesc rd, ClassType objectType, - int operation, Object value, Type valueType) - { - int booleanOp = getKeyFieldsComparisonBooleanOp(operation); - - List keyFieldNames = objectType.getKeyFieldNames(); - for (Iterator i = keyFieldNames.iterator(); i.hasNext();) - { - String keyFieldName = (String)i.next(); - Object keyFieldValue = null; - if (value != null) - { - keyFieldValue = getFieldValue((ClassType)valueType, value, keyFieldName); - } - generateSimpleFieldValueComparison(rd, keyFieldName, operation, keyFieldValue); - if (i.hasNext()) - rd.addConstraint(null, booleanOp, null); - } - } - - /** - * Code generation for a comparison of the form - * dbvalue relop dbvalue - * where dbvalue denotes an object in the database such as - * - this - * - the result of a relationship navigation - * - variable access - */ - protected void generateDbValueDbValueComparison(RetrieveDesc leftRD, ClassType leftType, int operation, - RetrieveDesc rightRD, ClassType rightType) - { - int booleanOp = getKeyFieldsComparisonBooleanOp(operation); - - // Note, this code assumes that both operands are of class types that have - // the same key fields. Thus take the list of key field names of the left side. - List leftKeyFieldNames = leftType.getKeyFieldNames(); - for (Iterator i = leftKeyFieldNames.iterator(); i.hasNext();) - { - String keyFieldName = (String)i.next(); - leftRD.addConstraint(keyFieldName, operation, rightRD, keyFieldName); - if (i.hasNext()) - leftRD.addConstraint(null, booleanOp, null); - } - } - - /** - * Code generation for a comparison of the form - * parameter relop constantValue - */ - protected void generateParameterValueComparison(RetrieveDesc rd, - String paramName, - int operation, Object value) - { - if (value != null) - { - rd.addConstraint(null, RetrieveDesc.OP_VALUE, value); - rd.addConstraint(null, RetrieveDesc.OP_PARAMETER, - paramtab.getParameterInfoForParamName(paramName)); - rd.addConstraint(null, operation, null); - } - else if (operation == RetrieveDesc.OP_EQ) - { - rd.addConstraint(null, RetrieveDesc.OP_PARAMETER, - paramtab.getParameterInfoForParamName(paramName)); - rd.addConstraint(null, RetrieveDesc.OP_NULL, null); - } - else if (operation == RetrieveDesc.OP_NE) - { - rd.addConstraint(null, RetrieveDesc.OP_PARAMETER, - paramtab.getParameterInfoForParamName(paramName)); - rd.addConstraint(null, RetrieveDesc.OP_NOTNULL, null); - } - else - { - errorMsg.fatal(I18NHelper.getMessage(messages, "jqlc.codegeneration.generateparametervaluecomparison.invalidvalue")); //NOI18N - } - } - - /** - * Returns the boolean operation used to connect the key field comparison expressions: - * l == r is mapped to l.pk1 == r.pk1 & ... & l.pkn == r.pkn => return & - * l != r is mapped to l.pk1 != r.pk1 | ... | l.pkn != r.pkn => return | - */ - protected int getKeyFieldsComparisonBooleanOp(int operation) - { - switch (operation) - { - case RetrieveDesc.OP_EQ: - return RetrieveDesc.OP_AND; - case RetrieveDesc.OP_NE: - return RetrieveDesc.OP_OR; - } - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.codegeneration.getkeyfieldscomparisonbooleanop.invalidobj", //NOI18N - String.valueOf(operation))); - return 0; - } - - /** - * Returns the value of the field access object.field. - * Uses jdoGetField for object of a persistence capable class and reflection otherwise. - */ - protected static Object getFieldValue (ClassType classType, Object object, String fieldName) - { - Object value = null; - FieldInfo fieldInfo = classType.getFieldInfo(fieldName); - if (classType.isPersistenceCapable()) - { - PersistenceCapable pc = (PersistenceCapable)object; - int index = fieldInfo.getFieldNumber(); - StateManager stateManager = pc.jdoGetStateManager(); - - if (stateManager != null) - { - // call stateManager.prepareGetField to allow the stateManager - // to mediate the field access - stateManager.prepareGetField(index); - } - value = pc.jdoGetField(index); - } - else - { - // non persistence capable class => use reflection - try - { - value = fieldInfo.getField().get(object); - } - catch (IllegalAccessException e) - { - throw new JDOFatalUserException( - I18NHelper.getMessage(messages, "jqlc.codegeneration.fieldaccess.illegal", //NOI18N - fieldName, (object==null ? "null" : object.toString())), e); //NOI18N - } - } - return value; - } - - /** - * This method checks whether the result RetrieveDesc needs a DISTINCT clause or not. - * @param query the query AST - */ - protected void handleDistinct(JQLAST query, boolean distinct) - { - // candidateRD is null in the case of false filter - if (candidateRD == null) - return; - - if (distinct) - candidateRD.addResult(RetrieveDesc.OP_DISTINCT, FieldTypeEnumeration.NOT_ENUMERATED); - } - - /** - * This method returns true if the specified node is an AST that represensts a value. - * It returns false for CONTAINS/NOT_CONTAINS nodes and boolean operations that include - * only CONTAINS nodes - */ - protected boolean pushesValueOnStack(JQLAST node) - { - switch(node.getType()) - { - case CONTAINS: - case NOT_CONTAINS: - return false; - case BAND: - case BOR: - case AND: - case OR: - JQLAST left = (JQLAST)node.getFirstChild(); - JQLAST right = (JQLAST)left.getNextSibling(); - return pushesValueOnStack(left) || pushesValueOnStack(right); - default: - return true; - } - } - - /** - * Create a new RetrieveDesc for the specified classType and - * store this RetrieveDesc in the cache with the specified path expression attached. - * The method wraps the RetrieveDesc in a DebugRetrieveDesc, if debug mode is on. - */ - protected RetrieveDesc createRetrieveDesc(String pathExpr, ClassType classType) - { - RetrieveDesc rd = pm.getRetrieveDesc(classType.getJavaClass()); - if (logger.isLoggable(Logger.FINEST)) - { - rd = new DebugRetrieveDesc(rd); - logger.finest("LOG_JQLCDumpRD", "create " + JQLAST.getRetrieveDescRepr(rd)); //NOI18N - } - rd2TagMap.put(rd, pathExpr); - rd.setNavigationalId(pathExpr); - return rd; - } - - /** - * Wrapper that traces the RetrieveDesc calls - */ - protected static class DebugRetrieveDesc implements RetrieveDesc - { - RetrieveDesc wrapped = null; - - DebugRetrieveDesc(RetrieveDesc wrapped) - { - this.wrapped = wrapped; - } - - public RetrieveDesc unwrap(RetrieveDesc rd) - { - if (rd instanceof DebugRetrieveDesc) - return ((DebugRetrieveDesc)rd).wrapped; - return rd; - } - - // methods from RetrieveDesc - public void addResult(String name, RetrieveDesc desc, boolean projection) - { - if (logger.isLoggable(Logger.FINEST)) - logger.finest("LOG_JQLCDumpRD", //NOI18N - JQLAST.getRetrieveDescRepr(this) + ".addResult(" + //NOI18N - name + ", " + JQLAST.getRetrieveDescRepr(desc) + ", " + //NOI18N - projection + ")"); //NOI18N - desc = unwrap(desc); - wrapped.addResult(name, desc, projection); - } - - public void addResult(int opCode, int resultType) - { - if (logger.isLoggable(Logger.FINEST)) - logger.finest("LOG_JQLCDumpRD", //NOI18N - JQLAST.getRetrieveDescRepr(this) + ".addResult(" + //NOI18N - opCode + ", " + resultType + ")"); //NOI18N - wrapped.addResult(opCode, resultType); - } - - public void addConstraint(String name, int operation, Object value) - { - String thirdArgRepr = null; - if (value instanceof RetrieveDesc) - { - RetrieveDesc foreignConstraint = (RetrieveDesc)value; - thirdArgRepr = JQLAST.getRetrieveDescRepr(foreignConstraint); - value = unwrap(foreignConstraint); - } - else - { - thirdArgRepr = (value == null) ? "null" : value.toString(); - } - if (logger.isLoggable(Logger.FINEST)) - logger.finest("LOG_JQLCDumpRD", //NOI18N - JQLAST.getRetrieveDescRepr(this) + ".addConstraint(" + //NOI18N - name + ", " + operation + ", " + thirdArgRepr + ")"); //NOI18N - wrapped.addConstraint(name, operation, value); - } - - public void addConstraint(String name, RetrieveDesc foreignConstraint) - { - if (logger.isLoggable(Logger.FINEST)) - logger.finest("LOG_JQLCDumpRD", //NOI18N - JQLAST.getRetrieveDescRepr(this) + ".addConstraint(" + //NOI18N - name + ", " + JQLAST.getRetrieveDescRepr(foreignConstraint) + ")"); //NOI18N - foreignConstraint = unwrap(foreignConstraint); - wrapped.addConstraint(name, foreignConstraint); - } - - public void addConstraint(String name, int operator, RetrieveDesc foreignConstraint, String foreignFieldName) - { - if (logger.isLoggable(Logger.FINEST)) - logger.finest("LOG_JQLCDumpRD", //NOI18N - JQLAST.getRetrieveDescRepr(this) + ".addConstraint(" + //NOI18N - name + ", " + operator + ", " + JQLAST.getRetrieveDescRepr(foreignConstraint) + //NOI18N - ", " + foreignFieldName + ")"); //NOI18N - foreignConstraint = unwrap(foreignConstraint); - wrapped.addConstraint(name, operator, foreignConstraint, foreignFieldName); - } - - public void setNavigationalId(Object navigationalId) - { - if (logger.isLoggable(Logger.FINEST)) - logger.finest("LOG_JQLCDumpRD", //NOI18N - JQLAST.getRetrieveDescRepr(this) + - ".setNavigationalId(" + navigationalId + ")"); //NOI18N - wrapped.setNavigationalId(navigationalId); - } - - public void setPrefetchEnabled(boolean prefetchEnabled) - { - if (logger.isLoggable(Logger.FINEST)) - logger.finest("LOG_JQLCDumpRD", //NOI18N - JQLAST.getRetrieveDescRepr(this) + - ".setPrefetchEnabled(" + prefetchEnabled + ")"); //NOI18N - wrapped.setPrefetchEnabled(prefetchEnabled); - } - - // Methods from ActionDesc - - public Class getPersistenceCapableClass() - { return wrapped.getPersistenceCapableClass(); } - } -} - -// rules - -query - : q:. - { - prepareRetrieveDescs(q); - if (logger.isLoggable(Logger.FINEST)) - logger.finest("LOG_JQLCDumpTree", q.getTreeRepr("RD annotated AST")); //NOI18N - doCodeGen(q); - } - ; - -doCodeGen -{ - boolean distinct = false; -} - : #( q:QUERY - candidateClass - parameters - variables - ordering - distinct = result - filter - ) - { - handleDistinct(q, distinct); - } - ; - -// ---------------------------------- -// rules: candidate class -// ---------------------------------- - -candidateClass -{ - errorMsg.setContext("setCandidates"); //NOI18N -} - : c:CLASS_DEF - // Note, DISTINCT is added by handleDistinct called in the rule query - ; -// ---------------------------------- -// rules: parameter declaration -// ---------------------------------- - -parameters -{ - errorMsg.setContext("declareParameters"); //NOI18N -} - : ( declareParameter )* - ; - -declareParameter - : #( PARAMETER_DEF type IDENT ) - ; - -// ---------------------------------- -// rules: variable declaration -// ---------------------------------- - -variables -{ - errorMsg.setContext("declareVariables"); //NOI18N -} - : ( declareVariable )* - ; - -declareVariable - : #( VARIABLE_DEF type i:IDENT ) - ; - -// ---------------------------------- -// rules: ordering specification -// ---------------------------------- - -ordering -{ - errorMsg.setContext("setOrdering"); //NOI18N -} - : ( orderSpec )* - ; - -orderSpec -{ - int op = 0; -} - : #( ORDERING_DEF - ( ASCENDING { op = RetrieveDesc.OP_ORDERBY; } - | DESCENDING { op = RetrieveDesc.OP_ORDERBY_DESC; } - ) - orderingExpr[op] - ) - ; - -orderingExpr [int op] - : ( #( FIELD_ACCESS expression IDENT) )=> #( f:FIELD_ACCESS expression i:IDENT ) - { - f.getRetrieveDesc().addConstraint(i.getText(), op, null); - } - | e:. - { - errorMsg.unsupported(e.getLine(), e.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.codegeneration.generic.unsupportedop", // NOI18N - e.getText())); - } - ; - -// ---------------------------------- -// rules: result expression -// ---------------------------------- - -result returns [boolean distinct] -{ - errorMsg.setContext("setResult"); //NOI18N - distinct = false; -} - : #( RESULT_DEF - distinct = resultExpr[true] - ) - | { - // no result is equivalent to setResult("distinct this") => - // distinct is true - distinct = true; - } - ; - -resultExpr [boolean outer] returns [boolean distinct] -{ - String name = null; - // this should be take care at first level of recursion - distinct = false; - boolean tmp; -} - : #( d:DISTINCT tmp = resultExpr[outer] ) - { - distinct = true; - } - | #( avg:AVG distinct = resultExpr[true] ) - { - candidateRD.addResult(RetrieveDesc.OP_AVG, - avg.getJQLType().getEnumType()); - } - | #( max:MAX distinct = resultExpr[true] ) - { - candidateRD.addResult(RetrieveDesc.OP_MAX, - max.getJQLType().getEnumType()); - } - | #( min:MIN distinct = resultExpr[true] ) - { - candidateRD.addResult(RetrieveDesc.OP_MIN, - min.getJQLType().getEnumType()); - } - | #( sum:SUM distinct = resultExpr[true] ) - { - candidateRD.addResult(RetrieveDesc.OP_SUM, - sum.getJQLType().getEnumType()); - } - | #( count:COUNT distinct = r:resultExpr[true] ) - { - Type resultType = r.getJQLType(); - if (typetab.isPersistenceCapableType(resultType)) { - List pkfields = ((ClassType)resultType).getKeyFieldNames(); - if (pkfields != null) { - candidateRD.addResult(RetrieveDesc.OP_COUNT_PC, - count.getJQLType().getEnumType()); - } else { - errorMsg.unsupported(r.getLine(), r.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.codegeneration.resultexpr.missingpkfields", // NOI18N - resultType.getName())); - } - } else { - candidateRD.addResult(RetrieveDesc.OP_COUNT, - count.getJQLType().getEnumType()); - } - } - | #( op1:FIELD_ACCESS tmp = expr1:resultExpr[false] i1:IDENT ) - { - op1.getRetrieveDesc().addResult(i1.getText(), null, true); - } - | #( op2:NAVIGATION tmp = expr2:resultExpr[false] i2:IDENT ) - { - RetrieveDesc from = expr2.getRetrieveDesc(); - RetrieveDesc to = op2.getRetrieveDesc(); - from.addResult(i2.getText(), to, outer); - } - | #( op3:VARIABLE ( name = col3:collectionExprResult )? ) - { - if (col3 != null) { - RetrieveDesc from = col3.getRetrieveDesc(); - RetrieveDesc to = op3.getRetrieveDesc(); - from.addResult(name, to, outer); - } - } - | THIS - ; - -collectionExprResult returns [String fieldName] -{ - fieldName = null; - boolean tmp; -} - : #( FIELD_ACCESS tmp = resultExpr[false] name1:IDENT ) - { fieldName = name1.getText(); } - | #( NAVIGATION tmp = resultExpr[false] name2:IDENT ) - { fieldName = name2.getText(); } - | #( TYPECAST . fieldName = collectionExprResult ) - | #( NOT_IN fieldName = collectionExprResult ) - ; - -// ---------------------------------- -// rules: filer expression -// -// NOTE: the code generator traverses operands of binary operations in reverse order. -// The reason is that the RetrieveDesc processes the constriant stack in a LIFO way. -// This means, the code generator has to process the right operand first, -// then the left operand and finally the operation. -// ---------------------------------- - -filter -{ - errorMsg.setContext("setFilter"); //NOI18N -} - : #( FILTER_DEF expr:. ) - { - switch (expr.getType()) { - case VALUE: - // constant filter - Object value = expr.getValue(); - if (value instanceof Boolean) - { - // Note, in the case of a true filter do not add - // any constraints to the candidateRD - - if (!((Boolean)value).booleanValue()) - { - // false filter => unset candidateRD - candidateRD = null; - } - } - else - { - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.codegeneration.filter.nonbooleanvalue", //NOI18N - String.valueOf(value))); - } - break; - case FIELD_ACCESS: - // The entire filter consists of a boolean field only. - // Map this to 'booleanField <> FALSE'. Note, the runtime will - // create a JDBC parameter for the literal FALSE and call - // setBoolean to bind the value. - RetrieveDesc rd = expr.getRetrieveDesc(); - rd.addConstraint(null, RetrieveDesc.OP_VALUE, Boolean.FALSE); - expression(expr); - rd.addConstraint(null, RetrieveDesc.OP_NE, null); - break; - default: - expression(expr); - break; - } - } - ; - -expression - : ( primary )=> primary - | bitwiseExpr - | conditionalExpr - | relationalExpr - | binaryArithmeticExpr - | unaryArithmeticExpr - | complementExpr - ; - -// This rule transforms an access expression of a boolean field into an -// equal operation: expr == true. -booleanOperationArgument - : e:expression - { - if (#e.getType() == FIELD_ACCESS) { - RetrieveDesc rd = #e.getRetrieveDesc(); - rd.addConstraint(null, RetrieveDesc.OP_VALUE, Boolean.TRUE); - rd.addConstraint(null, RetrieveDesc.OP_EQ, null); - } - } - ; - -bitwiseExpr - : #( op1:BAND left1:. right1:booleanOperationArgument ) - { - booleanOperationArgument(left1); - // do not generate boolean operation if one of the operands is variable constraint - if (pushesValueOnStack(left1) && pushesValueOnStack(right1)) - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_AND, null); - } - | #( op2:BOR left2:. right2:booleanOperationArgument ) - { - booleanOperationArgument(left2); - // do not generate boolean operation if one of the operands is variable constraint - if (pushesValueOnStack(left2) && pushesValueOnStack(right2)) - op2.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_OR, null); - } - | #( op3:BXOR left3:. right3:booleanOperationArgument ) - { - booleanOperationArgument(left3); - errorMsg.unsupported(op3.getLine(), op3.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.codegeneration.generic.unsupportedop", // NOI18N - op3.getText())); - } - ; - -conditionalExpr - : #( op1:AND left1:. right1:booleanOperationArgument ) - { - booleanOperationArgument(left1); - // do not generate boolean operation if one of the operands is variable constraint - if (pushesValueOnStack(left1) && pushesValueOnStack(right1)) - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_AND, null); - } - | #( op2:OR left2:. right2:booleanOperationArgument ) - { - booleanOperationArgument(left2); - // do not generate boolean operation if one of the operands is variable constraint - if (pushesValueOnStack(left2) && pushesValueOnStack(right2)) - op2.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_OR, null); - } - ; - -relationalExpr - : ( fieldComparison )=> fieldComparison - | ( objectComparison )=> objectComparison - | ( collectionComparison )=> collectionComparison - | ( parameterComparison )=> parameterComparison - | #( op1:EQUAL left1:. expression ) - { - expression(left1); - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_EQ, null); - } - | #( op2:NOT_EQUAL left2:. expression ) - { - expression(left2); - op2.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_NE, null); - } - | #( op3:LT left3:. expression ) - { - expression(left3); - op3.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_LT, null); - } - | #( op4:GT left4:. expression ) - { - expression(left4); - op4.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_GT, null); - } - | #( op5:LE left5:. expression ) - { - expression(left5); - op5.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_LE, null); - } - | #( op6:GE left6:. expression ) - { - expression(left6); - op6.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_GE, null); - } - ; - -fieldComparison - : #(EQUAL fieldComparisonOperands[RetrieveDesc.OP_EQ] ) - | #(NOT_EQUAL fieldComparisonOperands[RetrieveDesc.OP_NE] ) - | #(LT fieldComparisonOperands[RetrieveDesc.OP_LT] ) - | #(LE fieldComparisonOperands[RetrieveDesc.OP_LE] ) - | #(GT fieldComparisonOperands[RetrieveDesc.OP_GT] ) - | #(GE fieldComparisonOperands[RetrieveDesc.OP_GE] ) - ; - -fieldComparisonOperands [int operation] -{ - String leftName = null; - String rightName = null; - Object value = null; -} - : value = constantValue rightName = f1:fieldAccess - { - // case constant relop field - generateSimpleFieldValueComparison(f1.getRetrieveDesc(), rightName, - getSwappedOp(operation), value); - } - | p1:PARAMETER rightName = f2:fieldAccess - { - // case parameter relop field - // Support for fixed-width char pk columns - f2.getRetrieveDesc().addConstraint(rightName, RetrieveDesc.OP_FIELD, null); - f2.getRetrieveDesc().addConstraint(null, - RetrieveDesc.OP_PARAMETER, - paramtab.getParameterInfoForParamName(p1.getText(), rightName)); - f2.getRetrieveDesc().addConstraint(null, operation, null); - } - | leftName = f3:fieldAccess - ( value = constantValue - { - // case field relop constant - generateSimpleFieldValueComparison(f3.getRetrieveDesc(), leftName, - operation, value); - } - | rightName = f4:fieldAccess - { - // case field relop field - f3.getRetrieveDesc().addConstraint(leftName, operation, - f4.getRetrieveDesc(), rightName); - } - | p2:PARAMETER - { - // case field relop parameter - // Support for fixed-width char pk columns - f3.getRetrieveDesc().addConstraint(null, - RetrieveDesc.OP_PARAMETER, - paramtab.getParameterInfoForParamName(p2.getText(), leftName)); - f3.getRetrieveDesc().addConstraint(leftName, RetrieveDesc.OP_FIELD, null); - f3.getRetrieveDesc().addConstraint(null, operation, null); - } - ) - ; - -objectComparison -{ - Object value = null; -} - : #( OBJECT_EQUAL objectComparisonOperands[RetrieveDesc.OP_EQ] ) - | #( OBJECT_NOT_EQUAL objectComparisonOperands[RetrieveDesc.OP_NE] ) - ; - -objectComparisonOperands [int operation] -{ - Object value = null; -} - : value = v1:constantValue d1:dbValue - // case constant relop dbvalue - { - if ((value == null) && (d1.getType() == NAVIGATION)) - { - JQLAST expr = (JQLAST)d1.getFirstChild(); - JQLAST ident = (JQLAST)expr.getNextSibling(); - // now handle navigation source - expression(expr); - // now generate IS NULL constraint - generateSimpleFieldValueComparison(expr.getRetrieveDesc(), ident.getText(), - getSwappedOp(operation), value); - } - else - { - if (d1.getType() == NAVIGATION) navigation(d1); - generateDbValueConstantComparison(d1.getRetrieveDesc(), (ClassType)d1.getJQLType(), - getSwappedOp(operation), value, v1.getJQLType()); - } - } - | d2:dbValue - ( value = v2:constantValue - // case dbvalue relop constant - { - if ((value == null) && (d2.getType() == NAVIGATION)) - { - JQLAST expr = (JQLAST)d2.getFirstChild(); - JQLAST ident = (JQLAST)expr.getNextSibling(); - // now handle navigation source - expression(expr); - // now generate IS NULL constraint - generateSimpleFieldValueComparison(expr.getRetrieveDesc(), ident.getText(), - operation, value); - } - else - { - if (d2.getType() == NAVIGATION) navigation(d2); - generateDbValueConstantComparison(d2.getRetrieveDesc(), - (ClassType)d2.getJQLType(), - operation, value, v2.getJQLType()); - } - } - | d3:dbValue - // case dbvalue relop dbvalue - { - if (d2.getType() == NAVIGATION) navigation(d2); - if (d3.getType() == NAVIGATION) navigation(d3); - generateDbValueDbValueComparison(d2.getRetrieveDesc(), - (ClassType)d2.getJQLType(), - operation, - d3.getRetrieveDesc(), - (ClassType)d3.getJQLType()); - } - ) - ; - -parameterComparison - : #(EQUAL parameterComparisonOperands[RetrieveDesc.OP_EQ] ) - | #(NOT_EQUAL parameterComparisonOperands[RetrieveDesc.OP_NE] ) - | #(OBJECT_EQUAL parameterComparisonOperands[RetrieveDesc.OP_EQ] ) - | #(OBJECT_NOT_EQUAL parameterComparisonOperands[RetrieveDesc.OP_NE] ) - ; - -parameterComparisonOperands [int operation] -{ - Object value = null; -} - : p1:PARAMETER value = v1:constantValue - { - generateParameterValueComparison(v1.getRetrieveDesc(), p1.getText(), - operation, value); - } - | value = v2:constantValue p2:PARAMETER - { - generateParameterValueComparison(v2.getRetrieveDesc(), p2.getText(), - operation, value); - } - ; - -dbValue -{ - String name = null; -} - : THIS - | variableAccess - | #( NAVIGATION . IDENT ) - // do not use non-terminal navigation here, because navigation - // creates a RetrieveDesc for the relationship navigation and - // we must not create this in the case of relship == null - ; - -collectionComparison - : #( eq:COLLECTION_EQUAL . . ) - { - errorMsg.unsupported(eq.getLine(), eq.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.codegeneration.collectioncomparison.nonnull")); // NOI18N - } - | #( ne:COLLECTION_NOT_EQUAL . . ) - { - errorMsg.unsupported(ne.getLine(), ne.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.codegeneration.collectioncomparison.nonnull")); // NOI18N - } - ; - -binaryArithmeticExpr - : #( op1:PLUS left1:. right1:. ) - { - // Optimize indexOf + : - // The SQL database returns an index starting with 1, so we need - // to decrement the returned index. We can do the derement at compile - // timeCombine, if the other operand is a constant int value. - if ((left1.getType() == INDEXOF) && - (right1.getType() == VALUE) && - (right1.getValue() instanceof Integer)) - { - // case: indexOf() + intValue - indexOf(left1, ((Integer)right1.getValue()).intValue()); - } - else if ((right1.getType() == INDEXOF) && - (left1.getType() == VALUE) && - (left1.getValue() instanceof Integer)) - { - // case: intValue + indexOf() - indexOf(right1, ((Integer)left1.getValue()).intValue()); - } - else - { - expression(right1); - expression(left1); - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_ADD, null); - } - } - | #( op2:CONCAT left2:. expression ) - { - expression(left2); - op2.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_CONCAT, null); - } - | #( op3:MINUS left3:. right3:. ) - { - // Optimize indexOf + : - // The SQL database returns an index starting with 1, so we need - // to decrement the returned index. We can do the derement at compile - // timeCombine, if the other operand is a constant int value. - if ((left3.getType() == INDEXOF) && - (right3.getType() == VALUE) && - (right3.getValue() instanceof Integer)) - { - // case: indexOf - intValue - // treated as indexOf + -intValue - indexOf(left3, -((Integer)right3.getValue()).intValue()); - } - else - { - expression(right3); - expression(left3); - op3.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_SUB, null); - } - } - | #( op4:STAR left4:. expression ) - { - expression(left4); - op4.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_MUL, null); - } - | #( op5:DIV left5:. expression ) - { - expression(left5); - op5.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_DIV, null); - } - | #( op6:MOD left6:. expression ) - { - expression(left6); - op6.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_MOD, null); - } - ; - -unaryArithmeticExpr -{ - Object value = null; -} - : #( UNARY_PLUS expression ) - // no action needed, just ignore the unary plus - | #( op2:UNARY_MINUS - ( - ( constantValue )=> value = constantValue - { - value = negate(value, op2.getJQLType()); - op2.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_VALUE, value); - } - | - expression - { - // map -value to 0 - value - op2.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_VALUE, - getZeroValue(op2.getJQLType())); - op2.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_SUB, null); - } - ) - ) - ; - -complementExpr - : #( op1:BNOT expression ) - { - // map ~value to -1 - value (which is equivalent to (-value)-1) - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_VALUE, - getMinusOneValue(op1.getJQLType())); - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_SUB, null); - } - | #( op2:LNOT expr:. ) - { if (expr.getType() == FIELD_ACCESS) { - // The NOT operand is a boolean field. - // Map this to 'booleanField = FALSE'. Note, the runtime will - // create a JDBC parameter for the literal FALSE and call - // setBoolean to bind the value. - RetrieveDesc rd = op2.getRetrieveDesc(); - rd.addConstraint(null, RetrieveDesc.OP_VALUE, Boolean.FALSE); - expression(expr); - rd.addConstraint(null, RetrieveDesc.OP_EQ, null); - } - else { - expression(expr); - op2.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_NOT, null); - } - } - ; - -primary -{ - Object value; - String name; -} - : #( TYPECAST type expression ) - { /* code gen for cast? */ } - | value = v:constantValue - { - if (value == null) - { - errorMsg.fatal(I18NHelper.getMessage(messages, "jqlc.codegeneration.primary.null")); //NOI18N - } - else if (value instanceof Boolean) - { - boolean booleanValue = ((Boolean)value).booleanValue(); - RetrieveDesc rd = v.getRetrieveDesc(); - rd.addConstraint(null, RetrieveDesc.OP_VALUE, new Integer(0)); - rd.addConstraint(null, RetrieveDesc.OP_VALUE, new Integer(0)); - rd.addConstraint(null, (booleanValue?RetrieveDesc.OP_EQ:RetrieveDesc.OP_NE), null); - } - else - { - v.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_VALUE, value); - } - } - | p:PARAMETER - { - p.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_PARAMETER, - paramtab.getParameterInfoForParamName(p.getText())); - } - | THIS - | name = f:fieldAccess - { - f.getRetrieveDesc().addConstraint(name, RetrieveDesc.OP_FIELD, null); - } - | navigation - | variableAccess - | #( CONTAINS . VARIABLE ) - // code moved to variable access - | #( NOT_CONTAINS . VARIABLE ) - // code moved to variable access - | startsWith - | endsWith - | isEmpty - | like - | substring - | indexOf[0] - | length - | abs - | sqrt - ; - -constantValue returns [Object value] -{ - value = null; -} - : v:VALUE - { - value = v.getValue(); - } - ; - - -fieldAccess returns [String fieldName] -{ - fieldName = null; -} - : #( FIELD_ACCESS expression name:IDENT ) - { fieldName = name.getText(); } - ; - -navigation - : #( n:NAVIGATION expr:expression i:IDENT ) - { - RetrieveDesc from = expr.getRetrieveDesc(); - RetrieveDesc to = n.getRetrieveDesc(); - from.addConstraint(i.getText(), to); - } - ; - -variableAccess -{ - String name = null; -} - : #( var:VARIABLE ( name = col:collectionExpr )? ) - { - - RetrieveDesc varRD = var.getRetrieveDesc(); - if (!boundRetrieveDescs.contains(varRD)) - { - if (col != null) - { - if (col.getType() == NOT_IN) - col.getRetrieveDesc().addConstraint(name, RetrieveDesc.OP_NOTIN, varRD); - else if (USE_IN) - // generate OP_IN if USE_IN property is set - col.getRetrieveDesc().addConstraint(name, RetrieveDesc.OP_IN, varRD); - else - // otherwise generate regular join - col.getRetrieveDesc().addConstraint(name, varRD); - } - else - { - candidateRD.addConstraint(null, varRD); - } - boundRetrieveDescs.add(varRD); - } - } - ; - -collectionExpr returns [String fieldName] -{ - fieldName = null; -} - : #( FIELD_ACCESS expression name1:IDENT ) - { fieldName = name1.getText(); } - | #( NAVIGATION expression name2:IDENT ) - { fieldName = name2.getText(); } - | #( TYPECAST . fieldName = collectionExpr ) - | #( NOT_IN fieldName = collectionExpr ) - ; - -startsWith -{ - Object value = null; - JQLAST pattern = null; -} - : #( op1:STARTS_WITH string:. - { - // I need to store a pointer to the second operand of startsWith here. - // See second alternative below. - pattern = (JQLAST)string.getNextSibling(); - } - ( - ( constantValue )=> value = constantValue - { - if (string.getType() == FIELD_ACCESS) - { - // case 1 fieldAccess constantValue - String fieldName = fieldAccess(string); - op1.getRetrieveDesc().addConstraint(fieldName, RetrieveDesc.OP_LIKE, - ((String)value) + WILDCARD_PATTERN); - } - else - { - // case 2 expression constantValue - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_VALUE, - ((String)value) + WILDCARD_PATTERN); - expression(string); - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_LIKE, null); - } - } - | { - // I have to access the tree matched by rule expression before - // the rule is entered. Variable pattern points to that tree and - // needs to be initilaized before! - pattern.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_VALUE, - WILDCARD_PATTERN); - } - expression - { - // case 3 expression expression - pattern.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_CONCAT, null); - expression(string); - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_LIKE, null); - } - ) - ) - ; - -endsWith -{ - Object value = null; -} - : #( op1:ENDS_WITH string:. - ( - ( constantValue )=> value = constantValue - { - if (string.getType() == FIELD_ACCESS) - { - // case 1 fieldAccess constantValue - String fieldName = fieldAccess(string); - op1.getRetrieveDesc().addConstraint(fieldName, RetrieveDesc.OP_LIKE, - WILDCARD_PATTERN + ((String)value)); - } - else - { - // case 2 expression constantValue - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_VALUE, - WILDCARD_PATTERN + ((String)value)); - expression(string); - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_LIKE, null); - } - } - | pattern:expression - { - // case 3 expression expression - pattern.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_VALUE, - WILDCARD_PATTERN); - pattern.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_CONCAT, null); - expression(string); - op1.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_LIKE, null); - } - ) - ) - ; - -isEmpty -{ - String name = null; -} - : #(op:IS_EMPTY name = collectionExpr) - { - op.getRetrieveDesc().addConstraint(name, RetrieveDesc.OP_NULL, null); - } - ; - -like -{ - int opCode = RetrieveDesc.OP_LIKE; -} - : #( op:LIKE string:. pattern:. opCode = escape ) - { - expression(pattern); - expression(string); - op.getRetrieveDesc().addConstraint(null, opCode, null); - } - ; - -escape returns [int opCode] -{ - // The default is no ESCAPE definition => OP_LIKE - opCode = RetrieveDesc.OP_LIKE; -} - : expression - { - opCode = RetrieveDesc.OP_LIKE_ESCAPE; - } - | // empty rule - ; - -substring - : // JDOQL: string.substring(begin, end) -> - // RetrieveDesc: SUBSTRING(string, begin + 1, end - begin) - #( op:SUBSTRING string:. begin:. end:. ) - { - RetrieveDesc rd = op.getRetrieveDesc(); - if ((begin.getType() == VALUE) && (end.getType() == VALUE)) - { - // Optimization: begin and end are constant values => - // calculate start and length of SQL SUBSTRING function - // at compile time. - // Note, Semantic ensures begin and end are int or Integer values. - int beginValue = (begin.getValue() != null) ? - ((Integer)begin.getValue()).intValue() : 0; - int endValue = (end.getValue() != null) ? - ((Integer)end.getValue()).intValue() : 0; - if (beginValue < 0) - { - errorMsg.error(begin.getLine(), begin.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.codegeneration.substring.beginnegative", // NOI18N - String.valueOf(beginValue))); - } - else if (endValue < beginValue) - { - errorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.codegeneration.substring.beginlargerend", // NOI18N - String.valueOf(beginValue), String.valueOf(endValue))); - } - // SQL length = end - begin - rd.addConstraint(null, RetrieveDesc.OP_VALUE, - new Integer(endValue-beginValue)); - // SQL start index = begin + 1 - rd.addConstraint(null, RetrieveDesc.OP_VALUE, - new Integer(beginValue+1)); - } - else - { - // At least one of begin or end is a non constant value => - // generate the arguments start and length of the SQL SUBSTRING - // function as binary plus/minus expressions. - // The next 3 line denote the SQL length = end - begin - expression(begin); - expression(end); - rd.addConstraint(null, RetrieveDesc.OP_SUB, null); - // The next 3 lines denote the SQL start index = begin + 1 - rd.addConstraint(null, RetrieveDesc.OP_VALUE, new Integer(1)); - expression(begin); - rd.addConstraint(null, RetrieveDesc.OP_ADD, null); - } - // now push the string on the constraint stack - expression(string); - rd.addConstraint(null, RetrieveDesc.OP_SUBSTRING, null); - } - ; - -// incr denotes the value that need to be added to result of POSITION -indexOf [int incr] -{ - int opCode = RetrieveDesc.OP_POSITION; -} - : // JDOQL: string.indexOf(pattern) -> - // RetrieveDesc: POSITION(string, pattern) - 1 - // JDOQL: string.indexOf(pattern, begin) -> - // RetrieveDesc: POSITION_START(string, pattern, begin + 1) - 1 - #( op:INDEXOF string:. pattern:. opCode = fromIndex ) - { - RetrieveDesc rd = op.getRetrieveDesc(); - // the 3 lines denote the SQL function POSITION OR POSITION_START - expression(pattern); - expression(string); - rd.addConstraint(null, opCode, null); - // SQL handles indexes starting from 1 => - // decrement the returned value to make it Java like! - incr--; - if (incr != 0) - { - rd.addConstraint(null, RetrieveDesc.OP_VALUE, new Integer(incr)); - rd.addConstraint(null, RetrieveDesc.OP_ADD, null); - } - } - ; - -fromIndex returns [int opCode] -{ - // The default is no start definition => OP_POSITION - opCode = RetrieveDesc.OP_POSITION; -} - : e:. - { - opCode = RetrieveDesc.OP_POSITION_START; - // Java indexOf method use indexes starting with 0, - // where SQL starts with 1, so we need to add 1 - if (e.getType() == VALUE) - { - // Optimization: calulate index at compile time, - // if start is a constant value. - // Note, Semantic ensures begin and end are int or Integer values. - int value = (e.getValue() != null) ? - ((Integer)e.getValue()).intValue() : 0; - e.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_VALUE, - new Integer(value + 1)); - } - else - { - e.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_VALUE, - new Integer(1)); - expression(e); - e.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_ADD, null); - } - } - | // empty rule - ; - -length - : #( op:LENGTH expression ) - { - op.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_LENGTH, null); - } - ; - -abs - : #( op:ABS expression ) - { - op.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_ABS, null); - } - ; - -sqrt - : #( op:SQRT expression ) - { - op.getRetrieveDesc().addConstraint(null, RetrieveDesc.OP_SQRT, null); - } - ; - -type - : TYPENAME - | primitiveType - ; - -primitiveType - : BOOLEAN - | BYTE - | CHAR - | SHORT - | INT - | FLOAT - | LONG - | DOUBLE - ; - -// ---------------------------------- -// rules: RetrieveDesc handling -// ---------------------------------- - -prepareRetrieveDescs -{ - Map usedRD = new HashMap(); -} - : #( q:QUERY - checkRetrieveDesc[usedRD] // candidate class - ( #( PARAMETER_DEF . . ) )* - ( #( VARIABLE_DEF . . ) )* - ( #( ORDERING_DEF - ( ASCENDING | DESCENDING ) - ordering:checkRetrieveDesc[usedRD] - { propagateRetrieveDesc(ordering, candidateRD); } - ) - )* - ( #( RESULT_DEF result:checkRetrieveDesc[usedRD] - { propagateRetrieveDesc(result, candidateRD); } - ) - )? - #( FILTER_DEF - filter:checkRetrieveDesc[usedRD] - { propagateRetrieveDesc(filter, candidateRD); } - ) - ) - ; - -checkRetrieveDesc [Map usedRD] - : c:CLASS_DEF - { - // check persistence capable - ClassType candidateClass = (ClassType)c.getJQLType(); - candidateRD = createRetrieveDesc("this", candidateClass); //NOI18N - candidateRD.setPrefetchEnabled(prefetchEnabled); - } - | #( cast:TYPECAST type expr1:checkRetrieveDesc[usedRD] ) - { - cast.setRetrieveDesc(expr1.getRetrieveDesc()); - } - - // constantValue not necessary here, this is covered by the last rule - - | t:THIS - { - t.setRetrieveDesc(candidateRD); - } - | #(var:VARIABLE ( checkRetrieveDesc[usedRD] )? ) - { - RetrieveDesc to = (RetrieveDesc)usedRD.get(var.getText()); - if (to == null) - { - to = createRetrieveDesc(var.getText(), (ClassType)var.getJQLType()); - usedRD.put(var.getText(), to); - } - var.setRetrieveDesc(to); - } - | #(notIn:NOT_IN notInArg:checkRetrieveDesc[usedRD]) - { - #notIn.setRetrieveDesc(#notInArg.getRetrieveDesc()); - } - | #(fa:FIELD_ACCESS expr4:checkRetrieveDesc[usedRD] i:IDENT) - { - fa.setRetrieveDesc(expr4.getRetrieveDesc()); - i.setRetrieveDesc(expr4.getRetrieveDesc()); - } - | #(n:NAVIGATION checkRetrieveDesc[usedRD] IDENT) - { - RetrieveDesc to = (RetrieveDesc)usedRD.get(n.getText()); - if (to == null) - { - to = createRetrieveDesc(n.getText(), (ClassType)n.getJQLType()); - usedRD.put(n.getText(), to); - } - n.setRetrieveDesc(to); - } - | #(CONTAINS checkRetrieveDesc[usedRD] checkRetrieveDesc[usedRD]) - | #(NOT_CONTAINS checkRetrieveDesc[usedRD] checkRetrieveDesc[usedRD]) - | #(sw:STARTS_WITH expr7:checkRetrieveDesc[usedRD] checkRetrieveDesc[usedRD]) - { - sw.setRetrieveDesc(expr7.getRetrieveDesc()); - } - | #(ew:ENDS_WITH expr8:checkRetrieveDesc[usedRD] checkRetrieveDesc[usedRD]) - { - ew.setRetrieveDesc(expr8.getRetrieveDesc()); - } - | #(ie:IS_EMPTY expr9:checkRetrieveDesc[usedRD]) - { - ie.setRetrieveDesc(expr9.getRetrieveDesc()); - } - | #(like:LIKE string10:checkRetrieveDesc[usedRD] - pattern10:checkRetrieveDesc[usedRD] ( escape10:checkRetrieveDesc[usedRD] )? ) - { - like.setRetrieveDesc(getCommonRetrieveDesc(string10, pattern10, escape10)); - } - | #(substr:SUBSTRING string11:checkRetrieveDesc[usedRD] - lower11:checkRetrieveDesc[usedRD] upper11:checkRetrieveDesc[usedRD] ) - { - substr.setRetrieveDesc(getCommonRetrieveDesc(string11, lower11, upper11)); - } - | #(indexOf:INDEXOF string12:checkRetrieveDesc[usedRD] - pattern12:checkRetrieveDesc[usedRD] ( start12:checkRetrieveDesc[usedRD] )? ) - { - indexOf.setRetrieveDesc(getCommonRetrieveDesc(string12, pattern12, start12)); - } - | #(len:LENGTH expr13:checkRetrieveDesc[usedRD]) - { - len.setRetrieveDesc(expr13.getRetrieveDesc()); - } - | #(abs:ABS expr14:checkRetrieveDesc[usedRD]) - { - abs.setRetrieveDesc(expr14.getRetrieveDesc()); - } - | #(sqrt:SQRT expr15:checkRetrieveDesc[usedRD]) - { - sqrt.setRetrieveDesc(expr15.getRetrieveDesc()); - } - - // binary operations - - | #( op1:BAND left1:. right1:. ) - { checkAndOpRetrieveDesc(op1, left1, right1, usedRD); } - | #( op2:BOR left2:checkRetrieveDesc[new HashMap(usedRD)] - right2:checkRetrieveDesc[new HashMap(usedRD)] ) - { op2.setRetrieveDesc(getCommonRetrieveDesc(left2, right2)); } - | #( op3:BXOR left3:checkRetrieveDesc[new HashMap()] - right3:checkRetrieveDesc[new HashMap()] ) - { op3.setRetrieveDesc(getCommonRetrieveDesc(left3, right3)); } - | #( op4:AND left4:. right4:. ) - { checkAndOpRetrieveDesc(op4, left4, right4, usedRD); } - | #( op5:OR left5:checkRetrieveDesc[new HashMap(usedRD)] - right5:checkRetrieveDesc[new HashMap(usedRD)] ) - { op5.setRetrieveDesc(getCommonRetrieveDesc(left5, right5)); } - | #( op6:EQUAL left6:checkRetrieveDesc[usedRD] right6:checkRetrieveDesc[usedRD] ) - { op6.setRetrieveDesc(getCommonRetrieveDesc(left6, right6)); } - | #( op7:NOT_EQUAL left7:checkRetrieveDesc[usedRD] right7:checkRetrieveDesc[usedRD] ) - { op7.setRetrieveDesc(getCommonRetrieveDesc(left7, right7)); } - | #( op8:LT left8:checkRetrieveDesc[usedRD] right8:checkRetrieveDesc[usedRD] ) - { op8.setRetrieveDesc(getCommonRetrieveDesc(left8, right8)); } - | #( op9:GT left9:checkRetrieveDesc[usedRD] right9:checkRetrieveDesc[usedRD] ) - { op9.setRetrieveDesc(getCommonRetrieveDesc(left9, right9)); } - | #( op10:LE left10:checkRetrieveDesc[usedRD] right10:checkRetrieveDesc[usedRD] ) - { op10.setRetrieveDesc(getCommonRetrieveDesc(left10, right10)); } - | #( op11:GE left11:checkRetrieveDesc[usedRD] right11:checkRetrieveDesc[usedRD] ) - { op11.setRetrieveDesc(getCommonRetrieveDesc(left11, right11)); } - | #( op12:OBJECT_EQUAL left12:checkRetrieveDesc[usedRD] right12:checkRetrieveDesc[usedRD] ) - { op12.setRetrieveDesc(getObjectComparisonRetrieveDesc(left12, right12)); } - | #( op13:OBJECT_NOT_EQUAL left13:checkRetrieveDesc[usedRD] right13:checkRetrieveDesc[usedRD] ) - { op13.setRetrieveDesc(getObjectComparisonRetrieveDesc(left13, right13)); } - | #( op14:COLLECTION_EQUAL left14:checkRetrieveDesc[usedRD] right14:checkRetrieveDesc[usedRD] ) - { op14.setRetrieveDesc(getCommonRetrieveDesc(left14, right14)); } - | #( op15:COLLECTION_NOT_EQUAL left15:checkRetrieveDesc[usedRD] right15:checkRetrieveDesc[usedRD] ) - { op15.setRetrieveDesc(getCommonRetrieveDesc(left15, right15)); } - | #( op16:PLUS left16:checkRetrieveDesc[usedRD] right16:checkRetrieveDesc[usedRD] ) - { op16.setRetrieveDesc(getCommonRetrieveDesc(left16, right16)); } - | #( op17:CONCAT left17:checkRetrieveDesc[usedRD] right17:checkRetrieveDesc[usedRD] ) - { op17.setRetrieveDesc(getCommonRetrieveDesc(left17, right17)); } - | #( op18:MINUS left18:checkRetrieveDesc[usedRD] right18:checkRetrieveDesc[usedRD] ) - { op18.setRetrieveDesc(getCommonRetrieveDesc(left18, right18)); } - | #( op19:STAR left19:checkRetrieveDesc[usedRD] right19:checkRetrieveDesc[usedRD] ) - { op19.setRetrieveDesc(getCommonRetrieveDesc(left19, right19)); } - | #( op20:DIV left20:checkRetrieveDesc[usedRD] right20:checkRetrieveDesc[usedRD] ) - { op20.setRetrieveDesc(getCommonRetrieveDesc(left20, right20)); } - | #( op21:MOD left21:checkRetrieveDesc[usedRD] right21:checkRetrieveDesc[usedRD] ) - { op21.setRetrieveDesc(getCommonRetrieveDesc(left21, right21)); } - - // unary operations - - | #( uop1:UNARY_PLUS arg1:checkRetrieveDesc[usedRD] ) - { uop1.setRetrieveDesc(arg1.getRetrieveDesc()); } - | #( uop2:UNARY_MINUS arg2:checkRetrieveDesc[usedRD] ) - { uop2.setRetrieveDesc(arg2.getRetrieveDesc()); } - | #( uop3:BNOT arg3:checkRetrieveDesc[usedRD] ) - { uop3.setRetrieveDesc(arg3.getRetrieveDesc()); } - | #( uop4:LNOT arg4:checkRetrieveDesc[usedRD] ) - { uop4.setRetrieveDesc(arg4.getRetrieveDesc()); } - | #( d:DISTINCT arg5:checkRetrieveDesc[usedRD] ) - { d.setRetrieveDesc(arg5.getRetrieveDesc()); } - | #( avg:AVG arg6:checkRetrieveDesc[usedRD] ) - { avg.setRetrieveDesc(arg6.getRetrieveDesc()); } - | #( max:MAX arg7:checkRetrieveDesc[usedRD] ) - { max.setRetrieveDesc(arg7.getRetrieveDesc()); } - | #( min:MIN arg8:checkRetrieveDesc[usedRD] ) - { min.setRetrieveDesc(arg8.getRetrieveDesc()); } - | #( sum:SUM arg9:checkRetrieveDesc[usedRD] ) - { sum.setRetrieveDesc(arg9.getRetrieveDesc()); } - | #( count:COUNT arg10:checkRetrieveDesc[usedRD] ) - { count.setRetrieveDesc(arg10.getRetrieveDesc()); } - | . - ; diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/antlr/JQL.g b/appserver/persistence/cmp/support-sqlstore/src/main/antlr/JQL.g deleted file mode 100644 index c3f52a7bad1..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/antlr/JQL.g +++ /dev/null @@ -1,871 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JQL.g - * - * Created on March 8, 2000 - */ - -header -{ - package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - - import antlr.MismatchedTokenException; - import antlr.MismatchedCharException; - import antlr.NoViableAltException; - import antlr.NoViableAltForCharException; - import antlr.TokenStreamRecognitionException; - - import java.util.Locale; - import java.util.ResourceBundle; - import com.sun.jdo.api.persistence.support.JDOQueryException; - import com.sun.jdo.api.persistence.support.JDOFatalInternalException; - import org.glassfish.persistence.common.I18NHelper; - -} - -//===== Lexical Analyzer Class Definitions ===== - -/** - * This class defines the lexical analysis for the JQL compiler. - * - * @author Michael Bouschen - * @author Shing Wai Chan - * @version 0.1 - */ -class JQLLexer extends Lexer; -options -{ - k = 2; - exportVocab = JQL; - charVocabulary = '\u0000'..'\uFFFE'; //NOI18N -} - -tokens { - - IMPORT = "import"; //NOI18N - THIS = "this"; //NOI18N - ASCENDING = "ascending"; //NOI18N - DESCENDING = "descending"; //NOI18N - - // non-standard extensions - DISTINCT = "distinct"; //NOI18N - - // types - - BOOLEAN = "boolean"; //NOI18N - BYTE = "byte"; //NOI18N - CHAR = "char"; //NOI18N - SHORT = "short"; //NOI18N - INT = "int"; //NOI18N - FLOAT = "float"; //NOI18N - LONG = "long"; //NOI18N - DOUBLE = "double"; //NOI18N - - // literals - - NULL = "null"; //NOI18N - TRUE = "true"; //NOI18N - FALSE = "false"; //NOI18N - - // aggregate functions - AVG = "avg"; //NOI18N - MAX = "max"; //NOI18N - MIN = "min"; //NOI18N - SUM = "sum"; //NOI18N - COUNT = "count"; //NOI18N - -} - -{ - /** - * I18N support - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - JQLLexer.class); - - /** - * - */ - protected ErrorMsg errorMsg; - - /** - * The width of a tab stop. - * This value is used to calculate the correct column in a line - * conatining a tab character. - */ - protected static final int TABSIZE = 4; - - /** - * - */ - public void init(ErrorMsg errorMsg) - { - this.errorMsg = errorMsg; - } - - /** - * - */ - public void tab() - { - int column = getColumn(); - int newColumn = (((column-1)/TABSIZE)+1)*TABSIZE+1; - setColumn(newColumn); - } - - /** - * - */ - public void reportError(int line, int column, String s) - { - errorMsg.error(line, column, s); - } - - /** - * Report lexer exception errors caught in nextToken() - */ - public void reportError(RecognitionException e) - { - JQLParser.handleANTLRException(e, errorMsg); - } - - /** - * Lexer error-reporting function - */ - public void reportError(String s) - { - errorMsg.error(0, 0, s); - } - - /** - * Lexer warning-reporting function - */ - public void reportWarning(String s) - { - throw new JDOQueryException(s); - } -} - -// OPERATORS -LPAREN : '(' ; -RPAREN : ')' ; -COMMA : ',' ; -//DOT : '.' ; -EQUAL : "==" ; //NOI18N -LNOT : '!' ; -BNOT : '~' ; -NOT_EQUAL : "!=" ; //NOI18N -DIV : '/' ; -PLUS : '+' ; -MINUS : '-' ; -STAR : '*' ; -MOD : '%' ; -GE : ">=" ; //NOI18N -GT : ">" ; //NOI18N -LE : "<=" ; //NOI18N -LT : '<' ; -BXOR : '^' ; -BOR : '|' ; -OR : "||" ; //NOI18N -BAND : '&' ; -AND : "&&" ; //NOI18N -SEMI : ';' ; - -// Whitespace -- ignored -WS - : ( ' ' - | '\t' - | '\f' - ) - { _ttype = Token.SKIP; } - ; - -NEWLINE - : ( "\r\n" //NOI18N - | '\r' - | '\n' - ) - { - newline(); - _ttype = Token.SKIP; - } - ; - -// character literals -CHAR_LITERAL - : '\'' ( ESC | ~'\'' ) '\'' - ; - -// string literals -STRING_LITERAL - : '"' ( ESC | ~'"')* '"' //NOI18N - ; - -// escape sequence -- note that this is protected; it can only be called -// from another lexer rule -- it will not ever directly return a token to -// the parser -// There are various ambiguities hushed in this rule. The optional -// '0'...'9' digit matches should be matched here rather than letting -// them go back to STRING_LITERAL to be matched. ANTLR does the -// right thing by matching immediately; hence, it's ok to shut off -// the FOLLOW ambig warnings. -protected -ESC - : '\\' - ( options { warnWhenFollowAmbig = false; } - : 'n' - | 'r' - | 't' - | 'b' - | 'f' - | '"' //NOI18N - | '\'' - | '\\' - | ('u')+ HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT - | ('0'..'3') - ( - options { - warnWhenFollowAmbig = false; - } - : ('0'..'7') - ( - options { - warnWhenFollowAmbig = false; - } - : '0'..'7' - )? - )? - | ('4'..'7') - ( - options { - warnWhenFollowAmbig = false; - } - : ('0'..'9') - )? - )? - ; - -// hexadecimal digit (again, note it's protected!) -protected -HEX_DIGIT - : ('0'..'9'|'A'..'F'|'a'..'f') - ; - - -// a numeric literal -INT_LITERAL - { - boolean isDecimal=false; - int tokenType = DOUBLE_LITERAL; - } - : '.' {_ttype = DOT;} - (('0'..'9')+ {tokenType = DOUBLE_LITERAL;} - (EXPONENT)? - (tokenType = FLOATINGPOINT_SUFFIX)? - { _ttype = tokenType; })? - | ( '0' {isDecimal = true;} // special case for just '0' - ( ('x'|'X') - ( // hex - // the 'e'|'E' and float suffix stuff look - // like hex digits, hence the (...)+ doesn't - // know when to stop: ambig. ANTLR resolves - // it correctly by matching immediately. It - // is therefor ok to hush warning. - options { - warnWhenFollowAmbig=false; - } - : HEX_DIGIT - )+ - | ('0'..'7')+ // octal - )? - | ('1'..'9') ('0'..'9')* {isDecimal=true;} // non-zero decimal - ) - ( ('l'|'L') { _ttype = LONG_LITERAL; } - - // only check to see if it's a float if looks like decimal so far - | {isDecimal}? - {tokenType = DOUBLE_LITERAL;} - ( '.' ('0'..'9')* (EXPONENT)? - (tokenType = FLOATINGPOINT_SUFFIX)? - | EXPONENT (tokenType = FLOATINGPOINT_SUFFIX)? - | tokenType = FLOATINGPOINT_SUFFIX - ) - { _ttype = tokenType; } - )? - ; - -// a couple protected methods to assist in matching floating point numbers -protected -EXPONENT - : ('e'|'E') ('+'|'-')? ('0'..'9')+ - ; - -protected -FLOATINGPOINT_SUFFIX returns [int tokenType] - : 'f' { tokenType = FLOAT_LITERAL; } - | 'F' { tokenType = FLOAT_LITERAL; } - | 'd' { tokenType = DOUBLE_LITERAL; } - | 'D' { tokenType = DOUBLE_LITERAL; } - ; - -// an identifier. Note that testLiterals is set to true! This means -// that after we match the rule, we look in the literals table to see -// if it's a literal or really an identifer - -IDENT - options {paraphrase = "an identifier"; testLiterals=true;} //NOI18N - : ( 'a'..'z' - | 'A'..'Z' - | '_' - | '$' - | UNICODE_ESCAPE - | c1:'\u0080'..'\uFFFE' - { - if (!Character.isJavaIdentifierStart(c1)) { - errorMsg.error(getLine(), getColumn(), - I18NHelper.getMessage(messages, "jqlc.parser.unexpectedchar", //NOI18N - String.valueOf(c1))); - } - } - ) - ( 'a'..'z' - | 'A'..'Z' - | '_' - | '$' - | '0'..'9' - | UNICODE_ESCAPE - | c2:'\u0080'..'\uFFFE' - { - if (!Character.isJavaIdentifierPart(c2)) { - errorMsg.error(getLine(), getColumn(), - I18NHelper.getMessage(messages, "jqlc.parser.unexpectedchar", //NOI18N - String.valueOf(c2))); - } - } - )* - ; - -protected -UNICODE_ESCAPE - : '\\' ('u')+ HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT - { - try { - String tmp = text.toString(); - char c = (char)Integer.parseInt(tmp.substring(tmp.length() - 4, tmp.length()), 16); - // problems using ANTLR feature $setText => use generated code - text.setLength(_begin); - text.append(new Character(c).toString()); - } - catch (NumberFormatException ex) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, "jqlc.parser.invalidunicodestr"), ex); //NOI18N - } - } - ; - -//===== Parser Class Definitions ===== - -/** - * This class defines the syntax analysis (parser) of the JQL compiler. - * - * @author Michael Bouschen - * @version 0.1 - */ -class JQLParser extends Parser; - -options { - k = 2; // two token lookahead - exportVocab = JQL; - buildAST = true; - ASTLabelType = "JQLAST"; // AST variables are defined as JQLAST -} - -tokens -{ - // "imaginary" tokens, that have no corresponding real input - - QUERY; - CLASS_DEF; - IMPORT_DEF; - PARAMETER_DEF; - VARIABLE_DEF; - ORDERING_DEF; - FILTER_DEF; - ARG_LIST; - - // operators - UNARY_MINUS; - UNARY_PLUS; - TYPECAST; - OBJECT_EQUAL; - OBJECT_NOT_EQUAL; - COLLECTION_EQUAL; - COLLECTION_NOT_EQUAL; - CONCAT; - - // special dot expressions - FIELD_ACCESS; - STATIC_FIELD_ACCESS; - CONTAINS; - NOT_CONTAINS; - NAVIGATION; - STARTS_WITH; - ENDS_WITH; - IS_EMPTY; - - // identifier types - VARIABLE; - PARAMETER; - TYPENAME; - - // constant value - VALUE; - - // result definition - RESULT_DEF; - - // non-standard extensions (operators) - LIKE; - SUBSTRING; - INDEXOF; - LENGTH; - ABS; - SQRT; - - // - NOT_IN; -} - -{ - /** - * I18N support - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - JQLParser.class); - - /** */ - protected static final int EOF_CHAR = 65535; // = (char) -1 = EOF - - /** - * - */ - protected ErrorMsg errorMsg; - - /** - * - */ - public void init(ErrorMsg errorMsg) - { - this.errorMsg = errorMsg; - } - - /** - * ANTLR method called when an error was detected. - */ - public void reportError(RecognitionException ex) - { - JQLParser.handleANTLRException(ex, errorMsg); - } - - /** - * ANTLR method called when an error was detected. - */ - public void reportError(String s) - { - errorMsg.error(0, 0, s); - } - - /** - * - */ - public void reportError(int line, int column, String s) - { - errorMsg.error(line, column, s); - } - - /** - * ANTLR method called when a warning was detected. - */ - public void reportWarning(String s) - { - throw new JDOQueryException(s); - } - - /** - * - */ - public static void handleANTLRException(ANTLRException ex, ErrorMsg errorMsg) - { - if (ex instanceof MismatchedCharException) - { - MismatchedCharException mismatched = (MismatchedCharException)ex; - if (mismatched.mismatchType == MismatchedCharException.CHAR) - { - if (mismatched.foundChar == EOF_CHAR) - { - errorMsg.error(mismatched.getLine(), mismatched.getColumn(), - I18NHelper.getMessage(messages, "jqlc.parser.unexpectedEOF")); //NOI18N - } - else - { - errorMsg.error(mismatched.getLine(), mismatched.getColumn(), - I18NHelper.getMessage(messages, "jqlc.parser.expectedfoundchar", //NOI18N - String.valueOf((char)mismatched.expecting), - String.valueOf((char)mismatched.foundChar))); - } - return; - } - } - else if (ex instanceof MismatchedTokenException) - { - MismatchedTokenException mismatched = (MismatchedTokenException)ex; - Token token = mismatched.token; - if ((mismatched.mismatchType == MismatchedTokenException.TOKEN) && - (token != null)) - { - if (token.getType() == Token.EOF_TYPE) { - errorMsg.error(token.getLine(), token.getColumn(), - I18NHelper.getMessage(messages, "jqlc.parser.unexpectedEOF")); //NOI18N - } - else { - errorMsg.error(token.getLine(), token.getColumn(), - I18NHelper.getMessage(messages, "jqlc.parser.syntaxerrorattoken", token.getText())); //NOI18N - } - return; - } - } - else if (ex instanceof NoViableAltException) - { - Token token = ((NoViableAltException)ex).token; - if (token != null) - { - if (token.getType() == Token.EOF_TYPE) - { - errorMsg.error(token.getLine(), token.getColumn(), - I18NHelper.getMessage(messages, "jqlc.parser.unexpectedEOF")); //NOI18N - } - else - { - errorMsg.error(token.getLine(), token.getColumn(), - I18NHelper.getMessage(messages, "jqlc.parser.unexpectedtoken", token.getText())); //NOI18N - } - return; - } - } - else if (ex instanceof NoViableAltForCharException) - { - NoViableAltForCharException noViableAlt = (NoViableAltForCharException)ex; - errorMsg.error(noViableAlt.getLine(), noViableAlt.getColumn(), - I18NHelper.getMessage(messages, "jqlc.parser.unexpectedchar", //NOI18N - String.valueOf(noViableAlt.foundChar))); - } - else if (ex instanceof TokenStreamRecognitionException) - { - handleANTLRException(((TokenStreamRecognitionException)ex).recog, errorMsg); - } - - // no special handling from aboves matches the exception if this line is reached => - // make it a syntax error - int line = 0; - int column = 0; - if (ex instanceof RecognitionException) - { - line = ((RecognitionException)ex).getLine(); - column = ((RecognitionException)ex).getColumn(); - } - errorMsg.error(line, column, I18NHelper.getMessage(messages, "jqlc.parser.syntaxerror")); //NOI18N - } -} - -// ---------------------------------- -// rules: import declaration -// ---------------------------------- - -parseImports -{ - errorMsg.setContext("declareImports"); //NOI18N -} - : ( declareImport ( SEMI! declareImport )* )? ( SEMI! )? EOF! - ; - -declareImport - : i:IMPORT^ qualifiedName //NOI18N - { - #i.setType(IMPORT_DEF); - } - ; - -// ---------------------------------- -// rules: parameter declaration -// ---------------------------------- - -parseParameters -{ - errorMsg.setContext("declareParameters"); //NOI18N -} - : ( declareParameter ( COMMA! declareParameter )* )? ( COMMA! )? EOF! - ; - -declareParameter - : type IDENT - { #declareParameter = #(#[PARAMETER_DEF,"parameterDef"], #declareParameter); } //NOI18N - ; - -// ---------------------------------- -// rules: variables declaration -// ---------------------------------- - -parseVariables -{ - errorMsg.setContext("declareVariables"); //NOI18N -} - : ( declareVariable ( SEMI! declareVariable )* )? ( SEMI! )? EOF! - ; - -declareVariable - : type IDENT - { #declareVariable = #(#[VARIABLE_DEF,"variableDef"], #declareVariable); } //NOI18N - ; - -// ---------------------------------- -// rules ordering specification -// ---------------------------------- - -parseOrdering -{ - errorMsg.setContext("setOrdering"); //NOI18N -} - : ( orderSpec ( COMMA! orderSpec )* )? ( COMMA! )? EOF! - ; - -orderSpec! - : e:expression d:direction - { #orderSpec = #(#[ORDERING_DEF,"orderingDef"], #d, #e); } //NOI18N - ; - -direction - : ASCENDING - | DESCENDING - ; - -// ---------------------------------- -// rules result expression -// ---------------------------------- - -parseResult -{ - errorMsg.setContext("setResult"); //NOI18N -} - : ( ( DISTINCT^ )? ( a:aggregateExpr | e:expression ) )? EOF! - { - // create RESULT_DEF node if there was a projection - if (#a != null) { - // skip a possible first distinct in case of an aggregate expr - #parseResult = #(#[RESULT_DEF, "resultDef"], #a); - } - else if (#e != null) { - #parseResult = #(#[RESULT_DEF,"resultDef"], #parseResult); //NOI18N - } - } - ; - -aggregateExpr - : ( AVG^ | MAX^ | MIN^ | SUM^ | COUNT^) LPAREN! distinctExpr RPAREN! - ; - -distinctExpr - : DISTINCT^ e:expression - | expression - ; - -// ---------------------------------- -// rules filer expression -// ---------------------------------- - -parseFilter! -{ - errorMsg.setContext("setFilter"); //NOI18N -} - : e:expression EOF! - { #parseFilter = #(#[FILTER_DEF,"filterDef"], #e); } //NOI18N - ; - -// This is a list of expressions. -expressionList - : expression (COMMA! expression)* - ; - -expression - : conditionalOrExpression - ; - -// conditional or || -conditionalOrExpression - : conditionalAndExpression (OR^ conditionalAndExpression)* - ; - -// conditional and && -conditionalAndExpression - : inclusiveOrExpression (AND^ inclusiveOrExpression)* - ; - -// bitwise or logical or | -inclusiveOrExpression - : exclusiveOrExpression (BOR^ exclusiveOrExpression)* - ; - -// exclusive or ^ -exclusiveOrExpression - : andExpression (BXOR^ andExpression)* - ; - -// bitwise or logical and & -andExpression - : equalityExpression (BAND^ equalityExpression)* - ; - -// equality/inequality ==/!= -equalityExpression - : relationalExpression ((NOT_EQUAL^ | EQUAL^) relationalExpression)* - ; -// boolean relational expressions -relationalExpression - : additiveExpression - ( ( LT^ - | GT^ - | LE^ - | GE^ - ) - additiveExpression - )* - ; - -// binary addition/subtraction -additiveExpression - : multiplicativeExpression ((PLUS^ | MINUS^) multiplicativeExpression)* - ; -// multiplication/division/modulo -multiplicativeExpression - : unaryExpression ((STAR^ | DIV^ | MOD^ ) unaryExpression)* - ; - -unaryExpression - : MINUS^ {#MINUS.setType(UNARY_MINUS);} unaryExpression - | PLUS^ {#PLUS.setType(UNARY_PLUS);} unaryExpression - | unaryExpressionNotPlusMinus - ; - -unaryExpressionNotPlusMinus - : BNOT^ unaryExpression - | LNOT^ unaryExpression - | ( LPAREN type RPAREN unaryExpression )=> - lp:LPAREN^ {#lp.setType(TYPECAST);} type RPAREN! unaryExpression - | postfixExpression - ; - -// qualified names, field access, method invocation -postfixExpression - : primary - ( DOT^ IDENT ( argList )? )* - ; - -argList - : LPAREN! - ( expressionList - {#argList = #(#[ARG_LIST,"ARG_LIST"], #argList); } //NOI18N - - | /* empty list */ - {#argList = #[ARG_LIST,"ARG_LIST"];} //NOI18N - ) - RPAREN! - ; - -// the basic element of an expression -primary - : IDENT - | literal - | THIS - | LPAREN! expression RPAREN! - ; - -literal - : TRUE - | FALSE - | INT_LITERAL - | LONG_LITERAL - | FLOAT_LITERAL - | DOUBLE_LITERAL - | c:CHAR_LITERAL - { - // strip quotes from the token text - String text = #c.getText(); - #c.setText(text.substring(1,text.length()-1)); - } - | s:STRING_LITERAL - { - // strip quotes from the token text - String text = #s.getText(); - #s.setText(text.substring(1,text.length()-1)); - } - | NULL - ; - -qualifiedName - : IDENT ( DOT^ IDENT )* - ; - -type - : qualifiedName - | primitiveType - ; - -// The primitive types. -primitiveType - : BOOLEAN - | BYTE - | CHAR - | SHORT - | INT - | FLOAT - | LONG - | DOUBLE - ; - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/antlr/Optimizer.g b/appserver/persistence/cmp/support-sqlstore/src/main/antlr/Optimizer.g deleted file mode 100644 index 9aac1b1c24c..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/antlr/Optimizer.g +++ /dev/null @@ -1,1706 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * Optimizer.g - * - * Created on June 11, 2001 - */ - -header -{ - package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - - import java.util.*; - - import java.math.BigDecimal; - import java.math.BigInteger; - - import com.sun.jdo.api.persistence.support.JDOFatalUserException; - import org.glassfish.persistence.common.I18NHelper; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.TypeTable; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.ClassType; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.FieldInfo; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.NumericType; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.NumericWrapperClassType; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.NumberType; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.StringType; -} - -/** - * This class defines the optimizer pass of the JQL compiler. - * It takes the typed AST as produced by the smenatic analysis and - * converts it into a simpler but equivalent typed AST. - * - * @author Michael Bouschen - * @version 0.1 - */ -class Optimizer extends TreeParser; - -options -{ - importVocab = JQL; - buildAST = true; - defaultErrorHandler = false; - ASTLabelType = "JQLAST"; //NOI18N -} - -{ - /** - * I18N support - */ - protected final static ResourceBundle messages = - I18NHelper.loadBundle(Optimizer.class); - - /** - * type table - */ - protected TypeTable typetab; - - /** - * query parameter table - */ - protected ParameterTable paramtab; - - /** - * - */ - protected ErrorMsg errorMsg; - - /** - * - */ - public void init(TypeTable typetab, ParameterTable paramtab, - ErrorMsg errorMsg) - { - this.typetab = typetab; - this.paramtab = paramtab; - this.errorMsg = errorMsg; - } - - /** - * - */ - public void reportError(RecognitionException ex) { - errorMsg.fatal("Optimizer error", ex); //NOI18N - } - - /** - * - */ - public void reportError(String s) { - errorMsg.fatal("Optimizer error: " + s); //NOI18N - } - - /** - * Converts the string argument into a single char. - */ - protected static char parseChar(String text) - { - char first = text.charAt(0); - if (first == '\\') - { - //found escape => check the next char - char second = text.charAt(1); - switch (second) - { - case 'n': return '\n'; - case 'r': return '\r'; - case 't': return '\t'; - case 'b': return '\b'; - case 'f': return '\f'; - case 'u': - // unicode spec - return (char)Integer.parseInt(text.substring(2, text.length()), 16); - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - // octal spec - return (char)Integer.parseInt(text.substring(1, text.length()), 8); - default : return second; - } - } - return first; - } - - - /** - * Check an AND operation (BAND, AND) for constant operands - * that could be optimized. - * @param op the AND operator - * @param left the left operand - * @param right the right operand - * @return optimized JQLAST - */ - protected JQLAST checkAnd(JQLAST op, JQLAST left, JQLAST right) - { - JQLAST ast = op; - - if (isBooleanValueAST(left)) - { - ast = handleValueAndExpr(op, left.getValue(), right); - } - else if (isBooleanValueAST(right)) - { - ast = handleValueAndExpr(op, right.getValue(), left); - } - return ast; - } - - /** - * Check an OR operation (BOR, OR) for constant operands - * that could be optimized. - * @param op the OR operator - * @param left the left operand - * @param right the right operand - * @return optimized JQLAST - */ - protected JQLAST checkOr(JQLAST op, JQLAST left, JQLAST right) - { - JQLAST ast = op; - - if (isBooleanValueAST(left)) - { - ast = handleValueOrExpr(op, left.getValue(), right); - } - else if (isBooleanValueAST(right)) - { - ast = handleValueOrExpr(op, right.getValue(), left); - } - return ast; - } - - /** - * Check a equality operation (EQUAL, NOT_EQUAL) for constant operands - * that could be optimized. - * @param op the equality operator - * @param left the left operand - * @param right the right operand - * @param negate true for not equal operation, false otherwise - * @return optimized JQLAST - */ - protected JQLAST checkEqualityOp(JQLAST op, JQLAST left, JQLAST right, - boolean negate) - { - JQLAST ast = op; - - // case - if ((left.getType() == VALUE) && (right.getType() == VALUE)) - { - ast = handleValueEqValue(op, left, right, negate); - } - // case - else if (isBooleanValueAST(left)) - { - ast = handleBooleanValueEqExpr(op, left.getValue(), right, negate); - } - // case - else if (isBooleanValueAST(right)) - { - ast = handleBooleanValueEqExpr(op, right.getValue(), left, negate); - } - return ast; - } - - /** - * Check a object equality operation (OBJECT_EQUAL, OBJECT_NOT_EQUAL) - * for constant operands that could be optimized. - * @param op the object equality operator - * @param left the left operand - * @param right the right operand - * @param negate true for not equal operation, false otherwise - * @return optimized JQLAST - */ - protected JQLAST checkObjectEqualityOp(JQLAST op, JQLAST left, JQLAST right, - boolean negate) - { - JQLAST ast = op; - - if ((left.getType() == VALUE) && (right.getType() == VALUE)) - { - ast = handleValueEqValue(op, left, right, negate); - } - return ast; - } - - /** - * Check a collection equality operation (COLLECTION_EQUAL, - * COLLECTION_NOT_EQUAL) for constant operands that could be optimized. - * @param op the collection equality operator - * @param left the left operand - * @param right the right operand - * @param negate true for not equal operation, false otherwise - * @return optimized JQLAST - */ - protected JQLAST checkCollectionEqualityOp(JQLAST op, JQLAST left, - JQLAST right, boolean negate) - { - JQLAST ast = op; - boolean isLeftConstant = (left.getType() == VALUE); - boolean isRightConstant = (right.getType() == VALUE); - - if (isLeftConstant && isRightConstant) - { - ast = handleValueEqValue(op, left, right, negate); - } - else if ((isLeftConstant && (left.getValue() == null) && isNonConstantCollection(right)) || - (isRightConstant && (right.getValue() == null) && isNonConstantCollection(left))) - { - // This optimization is datastore dependend. - // In TP we know a collection returned by the datastore is never null. - // null == -> false - // == null -> false - // null != -> true - // != null -> true - ast.setType(VALUE); - ast.setValue(new Boolean(negate)); - ast.setFirstChild(null); - } - - return ast; - } - - /** - * Check a logical not operation (LNOT) for a constant operand - * that could be optimized. - * @param op the logical not operator - * @param arg the operand - * @return optimized JQLAST - */ - protected JQLAST checkLogicalNotOp(JQLAST op, JQLAST arg) - { - JQLAST ast = op; - - if (arg.getType() == VALUE) - { - // !value may be calculated at compile time. - Object valueObj = arg.getValue(); - boolean value = (valueObj instanceof Boolean) ? - ((Boolean)valueObj).booleanValue() : false; - arg.setType(VALUE); - arg.setValue(new Boolean(!value)); - arg.setNextSibling(null); - ast = arg; - } - else - { - ast = deMorgan(arg); - } - return ast; - } - - /** - * Check a binary plus operation (PLUS) for constant operands - * that could be optimized. - * @param op the plus operator - * @param left the left operand - * @param right the right operand - * @return optimized JQLAST - */ - protected JQLAST checkBinaryPlusOp(JQLAST op, JQLAST left, JQLAST right) - { - JQLAST ast = op; - - if ((left.getType() == VALUE) && (right.getType() == VALUE)) - { - Object leftValue = left.getValue(); - Object rightValue = right.getValue(); - Object value = null; - if (leftValue == null) - value = rightValue; - else if (rightValue == null) - value = leftValue; - else - { - Type type = op.getJQLType(); - - if (type instanceof NumericWrapperClassType) - type = ((NumericWrapperClassType)type).getPrimitiveType(); - - if (type.equals(typetab.intType)) - value = new Integer(((Number)leftValue).intValue() + - ((Number)rightValue).intValue()); - else if (type.equals(typetab.longType)) - value = new Long(((Number)leftValue).longValue() + - ((Number)rightValue).longValue()); - else if (type.equals(typetab.floatType)) - value = new Float(((Number)leftValue).floatValue() + - ((Number)rightValue).floatValue()); - else if (type.equals(typetab.doubleType)) - value = new Double(((Number)leftValue).doubleValue() + - ((Number)rightValue).doubleValue()); - else if (type.equals(typetab.bigDecimalType)) - value = getBigDecimalValue(leftValue).add( - getBigDecimalValue(rightValue)); - else if (type.equals(typetab.bigIntegerType)) - value = getBigIntegerValue(leftValue).add( - getBigIntegerValue(rightValue)); - else - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.optimizer.checkbinaryplusop.invalidtype", //NOI18N - String.valueOf(type))); - } - ast.setType(VALUE); - ast.setValue(value); - ast.setFirstChild(null); - } - return ast; - } - - /** - * Check a string concatenation operation (CONCAT) for constant operands - * that could be optimized. - * @param op the concat operator - * @param left the left operand - * @param right the right operand - * @return optimized JQLAST - */ - protected JQLAST checkConcatOp(JQLAST op, JQLAST left, JQLAST right) - { - JQLAST ast = op; - - if ((left.getType() == VALUE) && (right.getType() == VALUE)) - { - Object leftValue = left.getValue(); - Object rightValue = right.getValue(); - Object value = null; - if (leftValue == null) - value = rightValue; - else if (rightValue == null) - value = leftValue; - else - value = leftValue.toString() + rightValue.toString(); - ast.setType(VALUE); - ast.setValue(value); - ast.setFirstChild(null); - } - return ast; - } - - /** - * Check a binary minus operation (MINUS) for constant operands - * that could be optimized. - * @param op the minus operator - * @param left the left operand - * @param right the right operand - * @return optimized JQLAST - */ - protected JQLAST checkBinaryMinusOp(JQLAST op, JQLAST left, JQLAST right) - { - JQLAST ast = op; - - if ((left.getType() == VALUE) && (right.getType() == VALUE)) - { - Object leftValue = left.getValue(); - Object rightValue = right.getValue(); - Object value = null; - if (rightValue == null) - value = leftValue; - else - { - if (leftValue == null) - leftValue = new Integer(0); - - Type type = op.getJQLType(); - - if (type instanceof NumericWrapperClassType) - type = ((NumericWrapperClassType)type).getPrimitiveType(); - - if (type.equals(typetab.intType)) - value = new Integer(((Number)leftValue).intValue() - - ((Number)rightValue).intValue()); - else if (type.equals(typetab.longType)) - value = new Long(((Number)leftValue).longValue() - - ((Number)rightValue).longValue()); - else if (type.equals(typetab.floatType)) - value = new Float(((Number)leftValue).floatValue() - - ((Number)rightValue).floatValue()); - else if (type.equals(typetab.doubleType)) - value = new Double(((Number)leftValue).doubleValue() - - ((Number)rightValue).doubleValue()); - else if (type.equals(typetab.bigDecimalType)) - value = getBigDecimalValue(leftValue).subtract( - getBigDecimalValue(rightValue)); - else if (type.equals(typetab.bigIntegerType)) - value = getBigIntegerValue(leftValue).subtract( - getBigIntegerValue(rightValue)); - else - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.optimizer.checkbinaryminusop.invalidtype", //NOI18N - String.valueOf(type))); - } - ast.setType(VALUE); - ast.setValue(value); - ast.setFirstChild(null); - } - return ast; - } - - /** - * Check a binary multiplication operation (STAR) for constant operands - * that could be optimized. - * @param op the multiplication operator - * @param left the left operand - * @param right the right operand - * @return optimized JQLAST - */ - protected JQLAST checkMultiplicationOp(JQLAST op, JQLAST left, JQLAST right) - { - JQLAST ast = op; - - if ((left.getType() == VALUE) && (right.getType() == VALUE)) - { - Object leftValue = left.getValue(); - Object rightValue = right.getValue(); - Object value = null; - if (leftValue == null) - leftValue = new Integer(0); - if (rightValue == null) - rightValue = new Integer(0); - Type type = op.getJQLType(); - - if (type instanceof NumericWrapperClassType) - type = ((NumericWrapperClassType)type).getPrimitiveType(); - - if (type.equals(typetab.intType)) - value = new Integer(((Number)leftValue).intValue() * - ((Number)rightValue).intValue()); - else if (type.equals(typetab.longType)) - value = new Long(((Number)leftValue).longValue() * - ((Number)rightValue).longValue()); - else if (type.equals(typetab.floatType)) - value = new Float(((Number)leftValue).floatValue() * - ((Number)rightValue).floatValue()); - else if (type.equals(typetab.doubleType)) - value = new Double(((Number)leftValue).doubleValue() * - ((Number)rightValue).doubleValue()); - else if (type.equals(typetab.bigDecimalType)) - value = getBigDecimalValue(leftValue).multiply( - getBigDecimalValue(rightValue)); - else if (type.equals(typetab.bigIntegerType)) - value = getBigIntegerValue(leftValue).multiply( - getBigIntegerValue(rightValue)); - else - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.optimizer.checkmultiplicationop.invalidtype", //NOI18N - String.valueOf(type))); - - ast.setType(VALUE); - ast.setValue(value); - ast.setFirstChild(null); - } - return ast; - } - - /** - * Check a binary division operation (DIV) for constant operands - * that could be optimized. - * @param op the division operator - * @param left the left operand - * @param right the right operand - * @return optimized JQLAST - */ - protected JQLAST checkDivisionOp(JQLAST op, JQLAST left, JQLAST right) - { - JQLAST ast = op; - - if ((left.getType() == VALUE) && (right.getType() == VALUE)) - { - Object leftValue = left.getValue(); - Object rightValue = right.getValue(); - Object value = null; - if (leftValue == null) - leftValue = new Integer(0); - if (rightValue == null) - // division by zero! - rightValue = new Integer(0); - - Type type = op.getJQLType(); - - if (type instanceof NumericWrapperClassType) - type = ((NumericWrapperClassType)type).getPrimitiveType(); - - if (type.equals(typetab.intType)) - value = new Integer(((Number)leftValue).intValue() / - ((Number)rightValue).intValue()); - else if (type.equals(typetab.longType)) - value = new Long(((Number)leftValue).longValue() / - ((Number)rightValue).longValue()); - else if (type.equals(typetab.floatType)) - value = new Float(((Number)leftValue).floatValue() / - ((Number)rightValue).floatValue()); - else if (type.equals(typetab.doubleType)) - value = new Double(((Number)leftValue).doubleValue() / - ((Number)rightValue).doubleValue()); - else if (type.equals(typetab.bigDecimalType)) - value = getBigDecimalValue(leftValue).divide( - getBigDecimalValue(rightValue), BigDecimal.ROUND_HALF_EVEN); - else if (type.equals(typetab.bigIntegerType)) - value = getBigIntegerValue(leftValue).divide( - getBigIntegerValue(rightValue)); - else - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.optimizer.checkdivisionop.invalidtype", //NOI18N - String.valueOf(type))); - - ast.setType(VALUE); - ast.setValue(value); - ast.setFirstChild(null); - } - return ast; - } - - /** - * Check a binary modular operation (MOD) for constant operands - * that could be optimized. - * @param op the mod operator - * @param left the left operand - * @param right the right operand - * @return optimized JQLAST - */ - protected JQLAST checkModOp(JQLAST op, JQLAST left, JQLAST right) - { - JQLAST ast = op; - - if ((left.getType() == VALUE) && (right.getType() == VALUE)) - { - Object leftValue = left.getValue(); - Object rightValue = right.getValue(); - Object value = null; - if (leftValue == null) - leftValue = new Integer(0); - if (rightValue == null) - // division by zero! - rightValue = new Integer(0); - - Type type = op.getJQLType(); - - if (type instanceof NumericWrapperClassType) - type = ((NumericWrapperClassType)type).getPrimitiveType(); - - if (type.equals(typetab.intType)) - value = new Integer(((Number)leftValue).intValue() % - ((Number)rightValue).intValue()); - else if (type.equals(typetab.longType)) - value = new Long(((Number)leftValue).longValue() % - ((Number)rightValue).longValue()); - else if (type.equals(typetab.floatType)) - value = new Float(((Number)leftValue).floatValue() % - ((Number)rightValue).floatValue()); - else if (type.equals(typetab.doubleType)) - value = new Double(((Number)leftValue).doubleValue() % - ((Number)rightValue).doubleValue()); - else if (type.equals(typetab.bigDecimalType)) - { - BigDecimal leftBigDecimal = getBigDecimalValue(leftValue); - BigDecimal rightBigDecimal = getBigDecimalValue(rightValue); - //use ROUND_HALF_EVEN so that it is consistent with div - BigDecimal quotient = leftBigDecimal.divide(rightBigDecimal, - 0, BigDecimal.ROUND_HALF_EVEN); - value = leftBigDecimal.subtract( - rightBigDecimal.multiply(quotient)); - } - else if (type.equals(typetab.bigIntegerType)) - value = getBigIntegerValue(leftValue).remainder( - getBigIntegerValue(rightValue)); - else - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.optimizer.checkmodop.invalidtype", //NOI18N - String.valueOf(type))); - - ast.setType(VALUE); - ast.setValue(value); - ast.setFirstChild(null); - } - return ast; - } - - /** - * Check a unary minus operation (UNARY_MINUS) for a constant operand - * that could be optimized. - * @param op the unary minus operator - * @param arg the operand - * @return optimized JQLAST - */ - protected JQLAST checkUnaryMinusOp(JQLAST op, JQLAST arg) - { - JQLAST ast = op; - - if (arg.getType() == VALUE) - { - Object value = arg.getValue(); - Type type = op.getJQLType(); - Object negate = null; - - if (type instanceof NumberType) - negate = ((NumberType)type).negate((Number)value); - else - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.optimizer.checkunaryminusop.invalidtype", //NOI18N - String.valueOf(type))); - - ast.setType(VALUE); - ast.setValue(negate); - ast.setFirstChild(null); - } - return ast; - } - - /** - * Check a cast operation for a constant operand - * that could be optimized. - * @param op the cast operator - * @param castType the cast type - * @param expr the non constant operand - * @return optimized JQLAST - */ - protected JQLAST checkCastOp(JQLAST op, JQLAST castType, JQLAST expr) - { - JQLAST ast = op; - - if (expr.getType() == VALUE) - { - Object value = expr.getValue(); - Type type = op.getJQLType(); - if (type instanceof NumericWrapperClassType) - type = ((NumericWrapperClassType)type).getPrimitiveType(); - - if (type.equals(typetab.intType)) - value = new Integer(((Number)value).intValue()); - else if (type.equals(typetab.longType)) - value = new Long(((Number)value).longValue()); - else if (type.equals(typetab.floatType)) - value = new Float(((Number)value).floatValue()); - else if (type.equals(typetab.doubleType)) - value = new Double(((Number)value).doubleValue()); - else if (type.equals(typetab.bigDecimalType)) - value = getBigDecimalValue(value); - else if (type.equals(typetab.bigIntegerType)) - value = getBigIntegerValue(value); - else if (type.equals(typetab.byteType)) - value = new Byte((byte)((Number)value).intValue()); - else if (type.equals(typetab.shortType)) - value = new Short((short)((Number)value).intValue()); - else if (type.equals(typetab.charType)) - value = new Character((char)((Number)value).intValue()); - - // If non of the above type applies, leave the value as it is - - // convert the TYPECAST op into a VALUE - ast.setType(VALUE); - ast.setValue(value); - ast.setFirstChild(null); - } - return ast; - } - - /** - * Converts the specified value into a BigDecimal value. - * @param value value to be converted - * @return BigDecimal representation - */ - protected BigDecimal getBigDecimalValue(Object value) - { - BigDecimal ret = null; - if (value instanceof Number) - ret = (BigDecimal)typetab.bigDecimalType.getValue((Number)value); - else - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.optimizer.getbigdecimalvalue.notnumber", //NOI18N - String.valueOf(value))); - - return ret; - } - - /** - * Converts the specified value into a BigInteger value. - * @param value value to be converted - * @return BigInteger representation - */ - protected BigInteger getBigIntegerValue(Object value) - { - BigInteger ret = null; - - if (value instanceof Number) - ret = (BigInteger)typetab.bigIntegerType.getValue((Number)value); - else - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.optimizer.getbigintegervalue.notnumber", //NOI18N - String.valueOf(value))); - - return ret; - } - - /** - * This method is called in the case of an equality operation having two - * constant operands. It calculates the result of this constant operation - * and returns a JQLAST node representing a constant boolean value. - * @param op the equality operator - * @param left the left operand - * @param right the right operand - * @param negate true for not equal operation, false otherwise - * @return optimized JQLAST - */ - protected JQLAST handleValueEqValue(JQLAST op, JQLAST left, JQLAST right, - boolean negate) - { - Object leftValue = left.getValue(); - Object rightValue = right.getValue(); - boolean value = false; - - if ((leftValue == null) && (rightValue == null)) - { - // both values are null -> true - value = true; - } - else if ((leftValue != null) && (rightValue != null)) - { - // both values are not null -> use equals - value = leftValue.equals(rightValue); - } - else - { - // one value is null, the other is not null -> false - value = false; - } - if (negate) - { - value = !value; - } - op.setType(VALUE); - op.setValue(new Boolean(value)); - op.setFirstChild(null); - return op; - } - - /** - * This method is called in the case of an equality operation having - * a boolean constant operand and a non constant operand. - * It returns the non constant operand either as it is or inverted, - * depending on the equality operation. - * @param op the equality operator - * @param value the contant boolean value - * @param expr the non constant operand - * @param negate true for not equal operation, false otherwise - * @return optimized JQLAST - */ - private JQLAST handleBooleanValueEqExpr(JQLAST op, Object value, - JQLAST expr, boolean negate) - { - JQLAST ast; - boolean skip = (value instanceof Boolean) ? - ((Boolean)value).booleanValue() : false; - if (negate) skip = !skip; - - if (skip) - { - // expr == true -> expr - // expr != false -> expr - ast = expr; - } - else - { - // if expr is a equality op or a not op the invert operation may be "inlined": - // (expr1 == expr2) != true -> expr1 != expr2 - // (expr1 != expr2) != true -> expr1 == expr2 - // !expr != true -> expr - // !expr == false -> expr - // Otherwise wrap the expr with a not op - // expr != true -> !expr - // expr == false -> !expr - switch (expr.getType()) - { - case EQUAL: - expr.setType(NOT_EQUAL); - expr.setText("!="); //NOI18N - ast = expr; - break; - case NOT_EQUAL: - expr.setType(EQUAL); - expr.setText("=="); //NOI18N - ast = expr; - break; - case LNOT: - ast = (JQLAST)expr.getFirstChild(); - break; - default: - op.setType(LNOT); - op.setText("!"); //NOI18N - op.setFirstChild(expr); - ast = op; - } - expr.setNextSibling(null); - } - return ast; - } - - /** - * This method is called in the case of an AND operation having at least - * one constant operand. If the constant operand evaluates to true it - * returns the other operand. If it evaluates to false it returns an AST - * representing the constant boolean value false. - * @param op the AND operator - * @param left the left operand - * @param right the right operand - * @return optimized JQLAST - */ - private JQLAST handleValueAndExpr(JQLAST op, Object value, JQLAST expr) - { - JQLAST ast; - - if ((value instanceof Boolean) && ((Boolean)value).booleanValue()) - { - // true AND expr -> expr - // expr AND true -> expr - expr.setNextSibling(null); - ast = expr; - } - else - { - // false AND expr -> false - // expr AND false -> false - op.setType(VALUE); - op.setText("false"); //NOI18N - op.setValue(new Boolean(false)); - op.setFirstChild(null); - ast = op; - } - return ast; - } - - /** - * This method is called in the case of an OR operation having at least - * one constant operand. If the constant operand evaluates to false it - * returns the other operand. If it evaluates to true it returns an AST - * representing the constant boolean value true. - * @param op the AND operator - * @param left the left operand - * @param right the right operand - * @return optimized JQLAST - */ - private JQLAST handleValueOrExpr(JQLAST op, Object value, JQLAST expr) - { - JQLAST ast; - - if ((value instanceof Boolean) && ((Boolean)value).booleanValue()) - { - // true OR expr -> true - // expr OR true -> true - op.setType(VALUE); - op.setText("true"); //NOI18N - op.setValue(new Boolean(true)); - op.setFirstChild(null); - ast = op; - } - else - { - // false OR expr -> expr - // expr OR false -> expr - expr.setNextSibling(null); - ast = expr; - } - return ast; - } - - /** - * Returns true if the specified AST represents a constant boolean value. - */ - protected boolean isBooleanValueAST(JQLAST ast) - { - return (ast.getType() == VALUE) && - (typetab.booleanType.equals(ast.getJQLType())); - } - - /** - * Returns true if the specified AST represents a datastore value. - */ - protected boolean isNonConstantCollection(JQLAST ast) - { - switch (ast.getType()) - { - case FIELD_ACCESS : - case NAVIGATION : - return true; - case TYPECAST : - JQLAST expr = (JQLAST)ast.getFirstChild().getNextSibling(); - return isNonConstantCollection(expr); - default: - return false; - } - } - - /** - * Implements DeMorgans rule: - *
    - * NOT (a AND b) -> NOT a OR NOT b - *
    - * NOT (a OR b) -> NOT a AND NOT b - *
    - * NOT (NOT a) -> a - *
    - * The method assumes that the tree passed as an argument does not include - * the initial NOT. Note, this method checks for contains clauses, because - * they require special treatement. - */ - protected JQLAST deMorgan(JQLAST tree) - { - JQLAST result = null; - JQLAST left = null; - JQLAST right = null; - switch (tree.getType()) - { - case AND: - case BAND: - left = (JQLAST)tree.getFirstChild(); - right = (JQLAST)left.getNextSibling(); - String leftVar = getVariableFromContainsClause(left); - String rightVar = getVariableFromContainsClause(right); - if (leftVar != null) - { - // found AND ( CONTAINS, right ), so check right for special - // variable treatement - result = buildAST(tree, left, deMorgan(right, leftVar)); - } - else if (rightVar != null) - { - // found AND ( left, CONTAINS, ), so check left for special - // variable treatement - result = buildAST(tree, right, deMorgan(left, rightVar)); - } - else - { - invertNode(tree); - result = buildAST(tree, deMorgan(left), deMorgan(right)); - } - break; - case OR: - case BOR: - left = (JQLAST)tree.getFirstChild(); - right = (JQLAST)left.getNextSibling(); - invertNode(tree); - result = buildAST(tree, deMorgan(left), deMorgan(right)); - break; - case LNOT: - // This is !(!arg) => return arg - result = (JQLAST)tree.getFirstChild(); - break; - default: - // wrap arg into not operator - result = buildAST(new JQLAST(LNOT, "!", typetab.booleanType), tree); - break; - } - return result; - } - - /** - * This overloaded deMorgan method implements special treatment of variable - * access expressions in the case of !contains. The method keeps an expression - * accessing the specified variable as it is, but it inverts an expression NOT - * accessing the variable following regular DeMorgan rules. - */ - protected JQLAST deMorgan(JQLAST tree, String var) - { - JQLAST result = tree; - switch (tree.getType()) - { - case AND: - case BAND: - case OR: - case BOR: - JQLAST left = (JQLAST)tree.getFirstChild(); - JQLAST right = (JQLAST)left.getNextSibling(); - if (!includesVariableAccess(left, var) || - !includesVariableAccess(right, var)) - { - invertNode(tree); - } - result = buildAST(tree, deMorgan(left, var), deMorgan(right, var)); - break; - default: - if (!includesVariableAccess(tree, var)) - { - result = deMorgan(tree); - } - break; - } - return result; - } - - /** - * Checks the specified tree being a CONATAINS clause. If yes it returns - * the variable used in the contains clause. Otherwise it returns null. - */ - protected String getVariableFromContainsClause(JQLAST tree) - { - switch (tree.getType()) - { - case CONTAINS: - case NOT_CONTAINS: - return tree.getFirstChild().getNextSibling().getText(); - default: - return null; - } - } - - /** - * Checks whether the specified tree accesses the variable with the - * specified name. Accessing means either this node or of of the subnodes - * has the type VARIABLE. - * NOTE, the method is intended to be used in the ! contains case only! - * If it find a variable access node of the form - *
    - * #(VARIABLE collection) - * it maps it to - * #(VARIABLE #(NOT_IN (collection)) - *
    - * This incdicates a variable belonging to a !contains clause. - */ - protected boolean includesVariableAccess(AST tree, String var) - { - if ((tree == null) || (var == null)) - return false; - - boolean found = false; - JQLAST child = (JQLAST)tree.getFirstChild(); - if ((tree.getType() == VARIABLE) && (tree.getText().equals(var)) && - (child != null)) - { - found = true; - if (child.getType() != NOT_IN) - { - tree.setFirstChild(buildAST( - new JQLAST(NOT_IN, "notIn", typetab.booleanType), child)); - } - } - for (AST node = tree.getFirstChild(); node != null; node = node.getNextSibling()) - { - if (includesVariableAccess(node, var)) - found = true; - } - return found; - } - - /** - * Inverts the specified node: AND -> OR, == -> !=, etc. - */ - protected void invertNode(JQLAST node) - { - switch(node.getType()) - { - case AND: - node.setType(OR); - node.setText("||"); - break; - case BAND: - node.setType(BOR); - node.setText("|"); - break; - case OR: - node.setType(AND); - node.setText("&&"); - break; - case BOR: - node.setType(BAND); - node.setText("&"); - break; - case EQUAL: - node.setType(NOT_EQUAL); - node.setText("!="); - break; - case NOT_EQUAL: - node.setType(EQUAL); - node.setText("=="); - break; - case LT: - node.setType(GE); - node.setText(">="); - break; - case LE: - node.setType(GT); - node.setText(">"); - break; - case GT: - node.setType(LE); - node.setText("<="); - break; - case GE: - node.setType(LT); - node.setText("<"); - break; - } - } - - /** Builds a binary tree. */ - protected JQLAST buildAST(JQLAST root, JQLAST left, JQLAST right) - { - root.setFirstChild(left); - left.setNextSibling(right); - right.setNextSibling(null); - return root; - } - - /** */ - protected JQLAST buildAST(JQLAST root, JQLAST arg) - { - root.setFirstChild(arg); - arg.setNextSibling(null); - return root; - } -} - -// rules - -query - : #( q:QUERY - candidateClass - parameters - variables - ordering - result - filter - ) - ; - -// ---------------------------------- -// rules: candidate class -// ---------------------------------- - -candidateClass -{ - errorMsg.setContext("setCandidates"); //NOI18N -} - : CLASS_DEF - ; - -// ---------------------------------- -// rules: parameter declaration -// ---------------------------------- - -parameters -{ - errorMsg.setContext("declareParameters"); //NOI18N -} - : ( declareParameter )* - ; - -declareParameter - : #( PARAMETER_DEF type IDENT ) - ; - -// ---------------------------------- -// rules: variable declaration -// ---------------------------------- - -variables -{ - errorMsg.setContext("declareVariables"); //NOI18N -} - : ( declareVariable )* - ; - -declareVariable - : #( VARIABLE_DEF type IDENT ) - ; - -// ---------------------------------- -// rules: ordering specification -// ---------------------------------- - -ordering -{ - errorMsg.setContext("setOrdering"); //NOI18N -} - : ( orderSpec )* - ; - -orderSpec - : #( ORDERING_DEF ( ASCENDING | DESCENDING ) expression ) - ; - -// ---------------------------------- -// rules: result expression -// ---------------------------------- - -result -{ - errorMsg.setContext("setResult"); //NOI18N -} - : #( r:RESULT_DEF resultExpr ) - | // empty rule - ; - -resultExpr - : #( DISTINCT resultExpr ) - | #( AVG resultExpr ) - | #( MAX resultExpr ) - | #( MIN resultExpr ) - | #( SUM resultExpr ) - | #( COUNT resultExpr ) - | expression - ; - -// ---------------------------------- -// rules: filer expression -// ---------------------------------- - -filter -{ - errorMsg.setContext("setFilter"); //NOI18N -} - : #( FILTER_DEF expression ) - ; - -expression - : primary - | bitwiseExpr - | conditionalExpr - | relationalExpr - | binaryArithmeticExpr - | unaryArithmeticExpr - | complementExpr - ; - -bitwiseExpr - : #( op1:BAND left1:expression right1:expression ) - { - #bitwiseExpr = checkAnd(#op1, #left1, #right1); - } - | #( op2:BOR left2:expression right2:expression ) - { - #bitwiseExpr = checkOr(#op2, #left2, #right2); - } - | #( op3:BXOR left3:expression right3:expression ) - ; - -conditionalExpr - : #( op1:AND left1:expression right1:expression ) - { - #conditionalExpr = checkAnd(#op1, #left1, #right1); - } - | #( op2:OR left2:expression right2:expression ) - { - #conditionalExpr = checkOr(#op2, #left2, #right2); - } - ; - -relationalExpr - : #( op1:EQUAL left1:expression right1:expression ) - { - #relationalExpr = checkEqualityOp(#op1, #left1, #right1, false); - } - | #( op2:NOT_EQUAL left2:expression right2:expression ) - { - #relationalExpr = checkEqualityOp(#op2, #left2, #right2, true); - } - | #( op3:OBJECT_EQUAL left3:expression right3:expression ) - { - #relationalExpr = checkObjectEqualityOp(#op3, #left3, #right3, false); - } - | #( op4:OBJECT_NOT_EQUAL left4:expression right4:expression ) - { - #relationalExpr = checkObjectEqualityOp(#op4, #left4, #right4, true); - } - | #( op5:COLLECTION_EQUAL left5:expression right5:expression ) - { - #relationalExpr = checkCollectionEqualityOp(#op5, #left5, #right5, false); - } - | #( op6:COLLECTION_NOT_EQUAL left6:expression right6:expression ) - { - #relationalExpr = checkCollectionEqualityOp(#op6, #left6, #right6, true); - } - | #( LT expression expression ) - | #( GT expression expression ) - | #( LE expression expression ) - | #( GE expression expression ) - ; - -binaryArithmeticExpr - : #( op1:PLUS left1:expression right1:expression ) - { - #binaryArithmeticExpr = checkBinaryPlusOp(#op1, #left1, #right1); - } - | #( op2:CONCAT left2:expression right2:expression ) - { - #binaryArithmeticExpr = checkConcatOp(#op2, #left2, #right2); - } - | #( op3:MINUS left3:expression right3:expression ) - { - #binaryArithmeticExpr = checkBinaryMinusOp(#op3, #left3, #right3); - } - | #( op4:STAR left4:expression right4:expression ) - { - #binaryArithmeticExpr = checkMultiplicationOp(#op4, #left4, #right4); - } - | #( op5:DIV left5:expression right5:expression ) - { - #binaryArithmeticExpr = checkDivisionOp(#op5, #left5, #right5); - } - | #( op6:MOD left6:expression right6:expression ) - { - #binaryArithmeticExpr = checkModOp(#op6, #left6, #right6); - } - ; - -unaryArithmeticExpr - : #( UNARY_PLUS expression ) - | ( unaryMinusLiteralExpr )=> unaryMinusLiteralExpr - | #( op2:UNARY_MINUS arg2:expression ) - { - #unaryArithmeticExpr = checkUnaryMinusOp(#op2, #arg2); - } - ; - -unaryMinusLiteralExpr - : #( UNARY_MINUS ( i:INT_LITERAL | l:LONG_LITERAL ) ) - { - JQLAST li = (#i != null) ? #i : #l; - li.setText("-" + li.getText()); - // calling literal here directly does not work properly - // the following logic need to be in sync with that of literal - li.setValue(#literalHelper(li)); - li.setType(VALUE); - #unaryMinusLiteralExpr = #li; - } - ; - -complementExpr - : #( op1:BNOT arg1:expression ) - | #( op2:LNOT arg2:expression ) - { - #complementExpr = checkLogicalNotOp(#op2, #arg2); - } - ; - -primary - : castExpr - | literal - | VALUE - | THIS - | parameter - | staticFieldAccess - | fieldAccess - | navigation - | variableAccess - | #( CONTAINS expression VARIABLE ) - | #( NOT_CONTAINS expression VARIABLE ) - | startsWith - | endsWith - | isEmpty - | like - | substring - | indexOf - | length - | abs - | sqrt - ; - -castExpr - : #( c:TYPECAST t:type e:expression ) - { - #castExpr = checkCastOp(#c, #t, #e); - } - ; - -literal -{ - Object value = null; -} - : value = l:literalHelper - { - #l.setType(VALUE); - #l.setValue(value); - } - ; - -literalHelper returns [Object value] -{ - value = null; -} - : TRUE - { value = new Boolean(true); } - | FALSE - { value = new Boolean(false); } - | i:INT_LITERAL - { - try - { - value = Integer.decode(i.getText()); - } - catch (NumberFormatException ex) - { - errorMsg.error(i.getLine(), i.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.optimizer.literal.invalid", //NOI18N - i.getJQLType().getName(), i.getText())); - } - } - | l:LONG_LITERAL - { - String txt = l.getText(); - char last = txt.charAt(txt.length() - 1); - if ((last == 'l') || (last == 'L')) - { - txt = txt.substring(0, txt.length() - 1); - } - try - { - value = Long.decode(txt); - } - catch (NumberFormatException ex) - { - errorMsg.error(l.getLine(), l.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.optimizer.literal.invalid", //NOI18N - l.getJQLType().getName(), l.getText())); - } - } - | f:FLOAT_LITERAL - { - String txt = f.getText(); - char last = txt.charAt(txt.length() - 1); - if ((last == 'f') || (last == 'F')) - { - txt = txt.substring(0, txt.length() - 1); - } - try - { - value = new Float(txt); - } - catch (NumberFormatException ex) - { - errorMsg.error(f.getLine(), f.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.optimizer.literal.invalid", //NOI18N - f.getJQLType().getName(), f.getText())); - } - } - | d:DOUBLE_LITERAL - { - String txt = d.getText(); - char last = txt.charAt(txt.length() - 1); - if ((last == 'd') || (last == 'd')) - { - txt = txt.substring(0, txt.length() - 1); - } - try - { - value = new Double(txt); - } - catch (NumberFormatException ex) - { - errorMsg.error(d.getLine(), d.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.optimizer.literal.invalid", //NOI18N - d.getJQLType().getName(), d.getText())); - } - } - | c:CHAR_LITERAL - { value = new Character(parseChar(c.getText())); } - | s:STRING_LITERAL - { value = s.getText(); } - | n:NULL - { value = null; } - ; - -parameter - : p:PARAMETER - { - if (paramtab.inline(#p.getText())) { - #p.setType(VALUE); - #p.setValue(paramtab.getValueByName(#p.getText())); - } - } - ; - -staticFieldAccess -{ - Object value = null; -} - : #( s:STATIC_FIELD_ACCESS t:TYPENAME i:IDENT) - { - // Calculate the value of the static field at compile time - // and treat it as constant value. - ClassType classType = (ClassType)t.getJQLType(); - FieldInfo fieldInfo = classType.getFieldInfo(i.getText()); - try - { - value = fieldInfo.getField().get(null); - #s.setType(VALUE); - #s.setValue(value); - #s.setFirstChild(null); - } - catch (IllegalAccessException e) - { - throw new JDOFatalUserException( - I18NHelper.getMessage(messages, - "jqlc.optimizer.staticfieldaccess.illegal", //NOI18N - i.getText(), classType.getName()), e); - } - } - ; - -fieldAccess - : #( f:FIELD_ACCESS o:expression name:IDENT ) - { - if (#o.getType() == VALUE) - { - // If the object of the field access is a constant value, - // evaluate the field access at compile time and - // treat the expression as constant value. - Object object = #o.getValue(); - ClassType classType = (ClassType)#o.getJQLType(); - Object value = CodeGeneration.getFieldValue(classType, object, - #name.getText()); - #f.setType(VALUE); - #f.setValue(value); - #f.setFirstChild(null); - } - } - ; - -navigation - : #( n:NAVIGATION o:expression name:IDENT ) - { - if (#o.getType() == VALUE) - { - // If the object of the navigation is a constant value, - // evaluate the field access at compile time and - // treat the expression as constant value. - Object object = #o.getValue(); - ClassType classType = (ClassType)#o.getJQLType(); - Object value = CodeGeneration.getFieldValue(classType, object, - #name.getText()); - #n.setType(VALUE); - #n.setValue(value); - #n.setFirstChild(null); - } - } - ; - -variableAccess - : #( VARIABLE ( expression )? ) - ; - -startsWith - : #( STARTS_WITH expression expression ) - ; - -endsWith - : #( ENDS_WITH expression expression ) - ; - -isEmpty - : #( op:IS_EMPTY e:expression) - { - if (#e.getType() == VALUE) - { - // If the expression that specifies the collection is a constant value, - // evaluate the isEmpty call at compile time and treat the expression - // as constant value. - Object object = #e.getValue(); - Object value = null; - if (object == null) - { - value = new Boolean(false); - } - else if (object instanceof Collection) - { - value = new Boolean(((Collection)object).isEmpty()); - } - else - { - errorMsg.fatal(I18NHelper.getMessage(messages, "jqlc.optimizer.isempty.requirecollection")); //NOI18N - } - #op.setType(VALUE); - #op.setValue(value); - #op.setFirstChild(null); - } - } - ; - -like - : #( LIKE expression expression ( expression )? ) - ; - -substring - : #( SUBSTRING expression expression expression ) - ; - -indexOf - : #( INDEXOF expression expression ( expression )? ) - ; - -length - : #( LENGTH expression ) - ; - -abs - : #( ABS expression ) - ; - -sqrt - : #( SQRT expression ) - ; - -// ---------------------- -// types -// ---------------------- - -type - : TYPENAME - | primitiveType - ; - -primitiveType - : BOOLEAN - | BYTE - | CHAR - | SHORT - | INT - | FLOAT - | LONG - | DOUBLE - ; diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/antlr/Semantic.g b/appserver/persistence/cmp/support-sqlstore/src/main/antlr/Semantic.g deleted file mode 100644 index beec8ac471e..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/antlr/Semantic.g +++ /dev/null @@ -1,2072 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * Semantic.g - * - * Created on March 8, 2000 - */ - -header -{ - package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - - import java.util.Locale; - import java.util.ResourceBundle; - import java.util.Collection; - - import org.glassfish.persistence.common.I18NHelper; - - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.TypeTable; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.ClassType; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.FieldInfo; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.NumericType; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.NumericWrapperClassType; - - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope.SymbolTable; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope.Definition; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope.TypeName; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope.Variable; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope.Parameter; - import com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope.Field; -} - -/** - * This class defines the semantic analysis of the JQL compiler. - * Input of this pass is the AST as produced by the parser, - * that consists of JQLAST nodes. - * The result is a typed JQLAST tree. - * - * @author Michael Bouschen - * @author Shing Wai Chan - * @version 0.1 - */ -class Semantic extends TreeParser; - -options -{ - importVocab = JQL; - buildAST = true; - defaultErrorHandler = false; - ASTLabelType = "JQLAST"; //NOI18N -} - -{ - /** - * I18N support - */ - protected final static ResourceBundle messages = - I18NHelper.loadBundle(Semantic.class); - - /** - * symbol table handling names of fields, variables and parameters - */ - protected SymbolTable symtab; - - /** - * symbol table handling type names (candidate class and imported names) - */ - protected SymbolTable typeNames; - - /** - * type table - */ - protected TypeTable typetab; - - /** - * query parameter table - */ - protected ParameterTable paramtab; - - /** - * variable table - */ - protected VariableTable vartab; - - /** - * - */ - protected ErrorMsg errorMsg; - - /** - * Result class for this query. This class is set by setClass. - */ - protected ClassType candidateClass; - - /** - * - */ - public void init(TypeTable typetab, ParameterTable paramtab, ErrorMsg errorMsg) - { - this.symtab = new SymbolTable(); - this.typeNames = new SymbolTable(); - this.vartab = new VariableTable(errorMsg); - this.typetab = typetab; - this.paramtab = paramtab; - this.errorMsg = errorMsg; - } - - /** - * - */ - public void reportError(RecognitionException ex) { - errorMsg.fatal("Error: " + ex); //NOI18N - } - - /** - * - */ - public void reportError(String s) { - errorMsg.fatal("Error: " + s); //NOI18N - } - - /** - * Combines partial ASTs into one query AST. - */ - public JQLAST createQueryAST(JQLAST candidateClass, - JQLAST importsAST, - JQLAST paramsAST, - JQLAST varsAST, - JQLAST orderingAST, - JQLAST resultAST, - JQLAST filterAST) - { - JQLAST query = new JQLAST(QUERY, "query", null); //NOI18N - if (candidateClass != null) - query.addChild(candidateClass); - if (importsAST != null) - query.addChild(importsAST); - if (paramsAST != null) - query.addChild(paramsAST); - if (varsAST != null) - query.addChild(varsAST); - if (orderingAST != null) - query.addChild(orderingAST); - if (resultAST != null) - query.addChild(resultAST); - if (filterAST != null) - query.addChild(filterAST); - return query; - } - - /** - * Creates the CLASS_DEF AST that represents the setClass value. - */ - public JQLAST checkCandidateClass(Class candidateClass) - { - Type type = typetab.checkType(candidateClass); - if (type == null) - { - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.semantic.checkcandidateclass.unknowntype", //NOI18N - String.valueOf(candidateClass))); - } - return new JQLAST(CLASS_DEF, "classDef", type); //NOI18N - } - - /** - * This method analyses the expression of a single ordering definition. - * It checks whether the expression - * - is valid (see checkValidOrderingExpr) - * - is of a orderable type - * @param expr the expression of an ordering definition - */ - protected void analyseOrderingExpression(JQLAST expr) - { - checkValidOrderingExpr(expr); - Type exprType = expr.getJQLType(); - if (!exprType.isOrderable()) - { - errorMsg.error(expr.getLine(), expr.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.analyseorderingexpression.notorderable", //NOI18N - exprType.getName())); - expr.setJQLType(typetab.errorType); - } - } - - /** - * This method checks whether the ordering expression is valid. - * The following expressions are valid: - * - field access using the this object - * - navigation from a field of the this object - * @param expr the ordering definition - */ - private void checkValidOrderingExpr(JQLAST expr) - { - switch(expr.getType()) - { - case THIS: - case VARIABLE: - //OK; - break; - case FIELD_ACCESS: - case NAVIGATION: - JQLAST child = (JQLAST)expr.getFirstChild(); - if (child != null) - { - // check first part of dot expr - checkValidOrderingExpr(child); - } - break; - default: - errorMsg.error(expr.getLine(), expr.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.checkvalidorderingexpr.invalidordering", //NOI18N - expr.getText())); - } - } - - /** - * This method checks whether the result expression is valid. - * The following expressions are valid: - * - field access using the this object - * - navigation from a field of the this object - * - variable access - * - distinct expression - * - aggreagte expression - * @param expr the result expression - */ - private void checkValidResultExpr(JQLAST expr) - { - switch(expr.getType()) - { - case THIS: - //OK; - break; - case FIELD_ACCESS: - case NAVIGATION: - JQLAST child = (JQLAST)expr.getFirstChild(); - if (child != null) - { - // check first part of dot expr - checkValidResultExpr(child); - } - break; - case VARIABLE: - // OK - break; - case DISTINCT: - checkValidResultExpr((JQLAST)expr.getFirstChild()); - break; - case AVG: - case SUM: - if (!typetab.isNumberType(expr.getJQLType()) || - typetab.isCharType(expr.getJQLType())) { - errorMsg.error(expr.getLine(), expr.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.checkvalidresultexpr.invalidavgsumexpr", //NOI18N - expr.getJQLType().getName(), expr.getText())); - } - checkValidResultExpr((JQLAST)expr.getFirstChild()); - break; - case MAX: - case MIN: - if (!expr.getJQLType().isOrderable()) { - errorMsg.error(expr.getLine(), expr.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.checkvalidresultexpr.invalidminmaxexpr", //NOI18N - expr.getJQLType().getName(), expr.getText())); - } - checkValidResultExpr((JQLAST)expr.getFirstChild()); - break; - case COUNT: - checkValidResultExpr((JQLAST)expr.getFirstChild()); - break; - default: - errorMsg.error(expr.getLine(), expr.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.checkvalidresultexpr.invalidresult", //NOI18N - expr.getText())); - } - } - - /** - * Checks that result and ordering are compatible. - * If the query result is a field, then it must be the same as ordering - * item. If the query is an object, then ordering expression must - * have the same navigation prefix of the result expression. - */ - private void checkResultOrdering(JQLAST result, JQLAST ordering) { - if (ordering == null) { - return; - } - - AST resultReturnAST = result; - boolean hasResultDistinct = false; - if (resultReturnAST == null) { // distinct THIS - resultReturnAST = new JQLAST(THIS, "this", candidateClass); - hasResultDistinct = true; - } - - // skip RESULT_DEF node - if (resultReturnAST.getType() == RESULT_DEF) { - resultReturnAST = resultReturnAST.getFirstChild(); - } - // skip DISTINCT node - if (resultReturnAST.getType() == DISTINCT) { - resultReturnAST = resultReturnAST.getFirstChild(); - hasResultDistinct = true; - } - - if (!hasResultDistinct) { - return; - } - - if (resultReturnAST.getType() == FIELD_ACCESS) { - StringBuilder buf = new StringBuilder(); - genPathExpression(resultReturnAST, buf); - String resultReturnPathExpr = buf.toString(); - - for (AST sibling = ordering; - sibling != null && sibling.getType() == ORDERING_DEF; - sibling = sibling.getNextSibling()) { - - // share buf - buf.setLength(0); - genPathExpression(sibling.getFirstChild().getNextSibling(), buf); - String orderingItemExpr = buf.toString(); - if (!orderingItemExpr.equals(resultReturnPathExpr)) { - errorMsg.error(ordering.getLine(), ordering.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.checkresultordering.invalidorderingfordistinctresultfield", //NOI18N - resultReturnPathExpr, orderingItemExpr)); - } - } - } else if (resultReturnAST.getType() == NAVIGATION || - resultReturnAST.getType() == THIS ) { - StringBuilder buf = new StringBuilder(); - genPathExpression(resultReturnAST, buf); - String resultReturnPathExpr = buf.toString(); - - for (AST sibling = ordering; - sibling != null && sibling.getType() == ORDERING_DEF; - sibling = sibling.getNextSibling()) { - - // share buf - buf.setLength(0); - genPathExpression(sibling.getFirstChild().getNextSibling().getFirstChild(), buf); - String orderingRootExpr = buf.toString(); - if (!orderingRootExpr.equals(resultReturnPathExpr)) { - buf.setLength(0); - genPathExpression(sibling.getFirstChild().getNextSibling(), buf); - errorMsg.error(ordering.getLine(), ordering.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.checkresultordering.invalidorderingfordistinctresult", //NOI18N - resultReturnPathExpr, buf.toString())); - } - } - } - } - - /** - * Form a string representation of a dot expression and append to given - * StringBuilder. - * @param ast the AST node representing the root the of the expression - * @param buf the StringBuilder that will have result of path expression - * append - */ - private void genPathExpression(AST ast, StringBuilder buf) { - if (ast == null) { - return; - } - switch (ast.getType()) { - case FIELD_ACCESS: - case STATIC_FIELD_ACCESS: - case NAVIGATION: - AST left = ast.getFirstChild(); - AST right = left.getNextSibling(); - genPathExpression(left, buf); - buf.append('.'); - genPathExpression(right, buf); - break; - default: - buf.append(ast.getText()); - break; - } - } - - - /** - * This method analyses a dot expression of the form expr.ident or - * expr.ident(params) where expr itself can again be a dot expression. - * It checks whether the dot expression is - * - part of a qualified class name specification - * - field access, - * - a method call - * The method returns a temporary single AST node that is defined with a - * specific token type (field access, method call, etc.). This node also - * contains the type of the dot expression. - * @param expr the left hand side of the dot expression - * @param ident the right hand side of the dot expression - * @param args arguments (in the case of a call) - * @return AST node representing the specialized dot expr - */ - protected JQLAST analyseDotExpr(JQLAST dot, JQLAST expr, JQLAST ident, JQLAST args) - { - Type exprType = expr.getJQLType(); - String name = ident.getText(); - dot.setText(expr.getText() + '.' + name); - if (exprType instanceof ClassType) - { - // left expression is of a class type - ClassType classType = (ClassType)exprType; - if (args == null) - { - // no paranethesis specified => field access - FieldInfo fieldInfo = classType.getFieldInfo(name); - if (fieldInfo == null) - { - errorMsg.error(ident.getLine(), ident.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.unknownfield", //NOI18N - ident.getText(), exprType.getName())); - dot.setJQLType(typetab.errorType); - ident.setJQLType(typetab.errorType); - return dot; - } - else if (expr.getType() == TYPENAME) - { - // access of the form: className.staticField - return analyseStaticFieldAccess(dot, expr, ident, classType, fieldInfo); - } - else - { - // access of the form: object.field - return analyseFieldAccess(dot, expr, ident, classType, fieldInfo); - } - } - else - { - // parenthesis specified => method call - if (typetab.isCollectionType(exprType)) - { - return analyseCollectionCall(dot, expr, ident, args); - } - else if (exprType.equals(typetab.stringType)) - { - return analyseStringCall(dot, expr, ident, args); - } - else if (typetab.isJavaLangMathType(exprType)) - { - return analyseMathCall(dot, expr, ident, args); - } - errorMsg.error(dot.getLine(), dot.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.invalidmethodcall")); //NOI18N - dot.setJQLType(typetab.errorType); - return dot; - } - } - else - { - errorMsg.error(expr.getLine(), expr.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.analysedotexpr.classexprexpected", //NOI18N - ident.getText(), exprType.getName())); - dot.setJQLType(typetab.errorType); - return dot; - } - } - - /** - * - */ - protected JQLAST analyseFieldAccess(JQLAST access, JQLAST objectExpr, JQLAST ident, - ClassType classType, FieldInfo fieldInfo) - { - String name = ident.getText(); - Type fieldType = fieldInfo.getType(); - if (classType.isPersistenceCapable()) - { - if (!fieldInfo.isPersistent()) - { - errorMsg.error(ident.getLine(), ident.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.analysefieldaccess.nonperistentfield", name, classType.getName())); //NOI18N - } - if (typetab.isPersistenceCapableType(fieldType)) - { - access.setType(NAVIGATION); - } - else - { - access.setType(FIELD_ACCESS); - } - } - else - { - if (!fieldInfo.isPublic()) - { - errorMsg.error(ident.getLine(), ident.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.analysefieldaccess.nonpublicfield", name, classType.getName())); //NOI18N - } - access.setType(FIELD_ACCESS); - } - access.setText(objectExpr.getText() + '.' + name); - access.setJQLType(fieldType); - ident.setJQLType(fieldType); - access.setFirstChild(objectExpr); - objectExpr.setNextSibling(ident); - return access; - } - - /** - * - */ - protected JQLAST analyseStaticFieldAccess(JQLAST access, JQLAST typename, JQLAST ident, - ClassType classType, FieldInfo fieldInfo) - { - String name = ident.getText(); - Type fieldType = fieldInfo.getType(); - if (!fieldInfo.isStatic()) - { - errorMsg.error(ident.getLine(), ident.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.analysestaticfieldaccess.staticreference", //NOI18N - ident.getText(), classType.getName())); - } - if (!fieldInfo.isPublic()) - { - errorMsg.error(ident.getLine(), ident.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.analysestaticfieldaccess.nonpublicfield", name, classType.getName())); //NOI18N - } - access.setType(STATIC_FIELD_ACCESS); - access.setText(typename.getText() + '.' + name); - access.setJQLType(fieldType); - ident.setJQLType(fieldType); - access.setFirstChild(typename); - typename.setNextSibling(ident); - return access; - } - - /** - * This method analyses and identifier defined in the current scope: - * - a field, variable or parameter defined in the symbol table - * - a type define in a separate symbol table for type names - * @param ident the identifier AST - * @param def the entry in the symbol table of the type names tables - * @return AST node representing a defined identifier - */ - protected JQLAST analyseDefinedIdentifier(JQLAST ident, Definition def) - { - Type type = def.getType(); - if (def instanceof Variable) - { - ident.setType(VARIABLE); - } - else if (def instanceof Parameter) - { - ident.setType(PARAMETER); - } - else if (def instanceof Field) - { - FieldInfo fieldInfo = ((Field)def).getFieldInfo(); - JQLAST fieldAccessAST = ident; - JQLAST identAST = new JQLAST(ident); - if (fieldInfo.isStatic()) - { - JQLAST typeNameAST = new JQLAST(TYPENAME, candidateClass.getName(), candidateClass); - ident = analyseStaticFieldAccess(fieldAccessAST, typeNameAST, - identAST, candidateClass, fieldInfo); - } - else - { - JQLAST thisAST = new JQLAST(THIS, "this", candidateClass); //NOI18N - ident = analyseFieldAccess(fieldAccessAST, thisAST, - identAST, candidateClass, fieldInfo); - } - } - else if (def instanceof TypeName) - { - ident.setType(TYPENAME); - ident.setText(((TypeName)def).getQualifiedName()); - } - else - { - type = typetab.errorType; - errorMsg.fatal(I18NHelper.getMessage(messages, - "jqlc.semantic.analysedefinedidentifier.illegalident", //NOI18N - String.valueOf(def))); - } - ident.setJQLType(type); - return ident; - } - - /** - * Analyses a call for an object that implements Collection. - * Currently, contains is the only valid Collection method in a query filter. - */ - protected JQLAST analyseCollectionCall(JQLAST dot, JQLAST collection, JQLAST method, JQLAST args) - { - String methodName = method.getText(); - JQLAST firstArg = (JQLAST)args.getFirstChild(); - if (methodName.equals("contains")) //NOI18N - { - checkContainsArgs(collection, method, firstArg); - dot.setType(CONTAINS); - dot.setJQLType(typetab.booleanType); - dot.setFirstChild(collection); - collection.setNextSibling(firstArg); - return dot; - } - else if (methodName.equals("isEmpty")) //NOI18N - { - // isEmpty does not take parameters - checkNoArgs(method, firstArg); - dot.setType(IS_EMPTY); - dot.setJQLType(typetab.booleanType); - dot.setFirstChild(collection); - collection.setNextSibling(null); - return dot; - } - - errorMsg.error(dot.getLine(), dot.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.invalidmethodcall")); //NOI18N - dot.setJQLType(typetab.errorType); - return dot; - } - - /** - * Analyses a call for an object of type String. - * Currently startsWith and endsWith are the only valid String methods in a query filter - */ - protected JQLAST analyseStringCall(JQLAST dot, JQLAST string, JQLAST method, JQLAST args) - { - String methodName = method.getText(); - JQLAST firstArg = (JQLAST)args.getFirstChild(); - if (methodName.equals("startsWith")) //NOI18N - { - dot.setType(STARTS_WITH); - checkOneStringArg(method, firstArg); - dot.setJQLType(typetab.booleanType); - dot.setFirstChild(string); - string.setNextSibling(firstArg); - } - else if (methodName.equals("endsWith")) //NOI18N - { - dot.setType(ENDS_WITH); - checkOneStringArg(method, firstArg); - dot.setJQLType(typetab.booleanType); - dot.setFirstChild(string); - string.setNextSibling(firstArg); - } - else if (methodName.equals("like")) //NOI18N - { - checkLikeArgs(method, firstArg); - dot.setType(LIKE); - dot.setJQLType(typetab.booleanType); - dot.setFirstChild(string); - string.setNextSibling(firstArg); - } - else if (methodName.equals("substring")) //NOI18N - { - checkTwoIntArgs(method, firstArg); - dot.setType(SUBSTRING); - dot.setJQLType(typetab.stringType); - dot.setFirstChild(string); - string.setNextSibling(firstArg); - } - else if (methodName.equals("indexOf")) //NOI18N - { - checkIndexOfArgs(method, firstArg); - dot.setType(INDEXOF); - dot.setJQLType(typetab.intType); - dot.setFirstChild(string); - string.setNextSibling(firstArg); - } - else if (methodName.equals("length")) //NOI18N - { - // length does not take parameters - checkNoArgs(method, firstArg); - dot.setType(LENGTH); - dot.setJQLType(typetab.intType); - dot.setFirstChild(string); - string.setNextSibling(null); - } - else - { - errorMsg.error(dot.getLine(), dot.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.invalidmethodcall")); //NOI18N - dot.setJQLType(typetab.errorType); - } - return dot; - } - - /** - * Analyses a java.lang.Math call. - */ - protected JQLAST analyseMathCall(JQLAST dot, JQLAST type, JQLAST method, JQLAST args) - { - String methodName = method.getText(); - JQLAST firstArg = (JQLAST)args.getFirstChild(); - if (methodName.equals("abs")) //NOI18N - { - checkAbsArgs(method, firstArg); - dot.setType(ABS); - dot.setJQLType(firstArg.getJQLType()); - dot.setFirstChild(firstArg); - } - else if (methodName.equals("sqrt")) //NOI18N - { - checkSqrtArgs(method, firstArg); - dot.setType(SQRT); - dot.setJQLType(firstArg.getJQLType()); - dot.setFirstChild(firstArg); - } - else - { - errorMsg.error(dot.getLine(), dot.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.invalidmethodcall")); //NOI18N - dot.setJQLType(typetab.errorType); - } - return dot; - } - - /** - * This method checks the specified node (args) representing an empty - * argument list. - */ - protected void checkNoArgs(JQLAST method, JQLAST firstArg) - { - if (firstArg != null) - { - errorMsg.error(firstArg.getLine(), firstArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - } - - /** - * This method checks the specified node (args) representing an argument - * list which consists of a single argument of type String. - */ - protected void checkOneStringArg(JQLAST method, JQLAST firstArg) - { - if (firstArg == null) - { - errorMsg.error(method.getLine(), method.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else if (firstArg.getNextSibling() != null) - { - JQLAST nextArg = (JQLAST)firstArg.getNextSibling(); - errorMsg.error(nextArg.getLine(), nextArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else - { - Type argType = firstArg.getJQLType(); - if (!argType.equals(typetab.stringType)) - { - errorMsg.error(firstArg.getLine(), firstArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.typemismatch", //NOI18N - argType.getName(), typetab.stringType.getName())); - } - } - } - - /** - * This method checks the specified node (args) representing a valid contains - * argument list: one argument denoting a variable. - */ - protected void checkContainsArgs(JQLAST collection, JQLAST method, JQLAST firstArg) - { - if (firstArg == null) - { - errorMsg.error(method.getLine(), method.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else if (firstArg.getNextSibling() != null) - { - JQLAST nextArg = (JQLAST)firstArg.getNextSibling(); - errorMsg.error(nextArg.getLine(), nextArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else if (firstArg.getType() != VARIABLE) - { - errorMsg.unsupported(firstArg.getLine(), firstArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.analysecollectioncall.nonvariable")); //NOI18N - } - else - { - FieldInfo collectionFieldInfo = getCollectionField(collection); - if (collectionFieldInfo == null) - { - errorMsg.unsupported(collection.getLine(), collection.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.analysecollectioncall.unsupportedcollectionexpr", //NOI18N - collection.getText())); - } - else if (!collectionFieldInfo.isRelationship()) - { - // check compatibilty of collection element type and type of variable - errorMsg.error(collection.getLine(), collection.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.analysecollectioncall.relationshipexpected", //NOI18N - collectionFieldInfo.getName())); - } - Type variableType = firstArg.getJQLType(); - Type elementType = collectionFieldInfo.getAssociatedClass(); - if (!elementType.isCompatibleWith(variableType)) - { - errorMsg.error(collection.getLine(), collection.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.analysecollectioncall.typemismatch", //NOI18N - elementType.getName(), variableType.getName())); - } - } - } - - /** - * This method checks the specified node (args) representing a valid like - * argument list: a string argument plus an optional char argument. - */ - protected void checkLikeArgs(JQLAST method, JQLAST firstArg) - { - if (firstArg == null) - { - errorMsg.error(method.getLine(), method.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else if ((firstArg.getNextSibling() != null) && - (firstArg.getNextSibling().getNextSibling() != null)) - { - JQLAST nextArg = (JQLAST)firstArg.getNextSibling().getNextSibling(); - errorMsg.error(nextArg.getLine(), nextArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else - { - // check type of first arg - Type firstArgType = firstArg.getJQLType(); - if (!firstArgType.equals(typetab.stringType)) - { - errorMsg.error(firstArg.getLine(), firstArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.typemismatch", //NOI18N - firstArgType.getName(), typetab.stringType.getName())); - } - // check type of second arg (if available) - JQLAST secondArg = (JQLAST)firstArg.getNextSibling(); - if (secondArg != null) - { - Type secondArgType = secondArg.getJQLType(); - if (!typetab.isCharType(secondArgType)) - { - errorMsg.error(secondArg.getLine(), secondArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.typemismatch", //NOI18N - secondArgType.getName(), typetab.charType.getName())); - } - } - } - } - - /** - * This method checks the specified node (args) representing an argument - * list which consists of two integer arguments. - */ - protected void checkTwoIntArgs(JQLAST method, JQLAST firstArg) - { - if (firstArg == null) - { - // no args specified - errorMsg.error(method.getLine(), method.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else if (firstArg.getNextSibling() == null) - { - // one arg specified - errorMsg.error(method.getLine(), method.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else if (firstArg.getNextSibling().getNextSibling() != null) - { - // more than two args specified - JQLAST nextArg = (JQLAST)firstArg.getNextSibling().getNextSibling(); - errorMsg.error(nextArg.getLine(), nextArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else - { - // specified two args - // check type of first arg - Type firstArgType = firstArg.getJQLType(); - if (!typetab.isIntType(firstArgType)) - { - errorMsg.error(firstArg.getLine(), firstArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.typemismatch", //NOI18N - firstArgType.getName(), typetab.intType.getName())); - } - // check type of second arg - JQLAST secondArg = (JQLAST)firstArg.getNextSibling(); - Type secondArgType = firstArg.getJQLType(); - if (!typetab.isIntType(secondArgType)) - { - errorMsg.error(secondArg.getLine(), secondArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.typemismatch", //NOI18N - secondArgType.getName(), typetab.intType.getName())); - } - } - } - - /** - * This method checks the specified node (args) representing a valid indexOf - * argument list: a string argument plus an optional char argument. - */ - protected void checkIndexOfArgs(JQLAST method, JQLAST firstArg) - { - if (firstArg == null) - { - errorMsg.error(method.getLine(), method.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else if ((firstArg.getNextSibling() != null) && - (firstArg.getNextSibling().getNextSibling() != null)) - { - JQLAST nextArg = (JQLAST)firstArg.getNextSibling().getNextSibling(); - errorMsg.error(nextArg.getLine(), nextArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else - { - // check type of first arg - Type firstArgType = firstArg.getJQLType(); - if (!firstArgType.equals(typetab.stringType)) - { - errorMsg.error(firstArg.getLine(), firstArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.typemismatch", //NOI18N - firstArgType.getName(), typetab.stringType.getName())); - } - // check type of second arg (if available) - JQLAST secondArg = (JQLAST)firstArg.getNextSibling(); - if (secondArg != null) - { - Type secondArgType = secondArg.getJQLType(); - if (!typetab.isIntType(secondArgType)) - { - errorMsg.error(secondArg.getLine(), secondArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.typemismatch", //NOI18N - secondArgType.getName(), typetab.intType.getName())); - } - } - } - } - - /** - * This method checks the specified node (args) representing a valid abs - * argument list: a single number argument. - */ - protected void checkAbsArgs(JQLAST method, JQLAST firstArg) - { - if (firstArg == null) - { - errorMsg.error(method.getLine(), method.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else if (firstArg.getNextSibling() != null) - { - JQLAST nextArg = (JQLAST)firstArg.getNextSibling(); - errorMsg.error(nextArg.getLine(), nextArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else - { - Type argType = firstArg.getJQLType(); - if (!typetab.isNumberType(argType)) - { - errorMsg.error(firstArg.getLine(), firstArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.typemismatch", //NOI18N - argType.getName(), "number type")); - } - } - } - - /** - * This method checks the specified node (args) representing a valid sqrt - * argument list: a single argument of type double or Double. - */ - protected void checkSqrtArgs(JQLAST method, JQLAST firstArg) - { - if (firstArg == null) - { - errorMsg.error(method.getLine(), method.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else if (firstArg.getNextSibling() != null) - { - JQLAST nextArg = (JQLAST)firstArg.getNextSibling(); - errorMsg.error(nextArg.getLine(), nextArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.numbermismatch")); //NOI18N - } - else - { - Type argType = firstArg.getJQLType(); - if (!typetab.isDoubleType(argType)) - { - errorMsg.error(firstArg.getLine(), firstArg.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.arguments.typemismatch", //NOI18N - argType.getName(), "double or Double")); - } - } - } - - /** - * - */ - protected FieldInfo getCollectionField(JQLAST expr) - { - JQLAST child = (JQLAST)expr.getFirstChild(); - switch (expr.getType()) - { - case FIELD_ACCESS: - case NAVIGATION: - if ((child != null) && (child.getNextSibling() != null)) - { - ClassType classType = (ClassType)child.getJQLType(); - String fieldName = child.getNextSibling().getText(); - return classType.getFieldInfo(fieldName); - } - errorMsg.fatal(I18NHelper.getMessage(messages, "jqlc.semantic.getcollectionfield.missingchildren")); //NOI18N - break; - case TYPECAST: - if ((child != null) && (child.getNextSibling() != null)) - { - return getCollectionField((JQLAST)child.getNextSibling()); - } - errorMsg.fatal(I18NHelper.getMessage(messages, "jqlc.semantic.getcollectionfield.missingchildren")); //NOI18N - break; - } - return null; - } - - /** - * Analyses a bitwise/logical operation (&, |, ^) - * @param op the bitwise/logical operator - * @param leftAST left operand - * @param rightAST right operand - * @return Type - */ - protected Type analyseBitwiseExpr(JQLAST op, JQLAST leftAST, JQLAST rightAST) - { - Type left = leftAST.getJQLType(); - Type right = rightAST.getJQLType(); - - // handle error type - if (left.equals(typetab.errorType) || right.equals(typetab.errorType)) - return typetab.errorType; - - switch(op.getType()) - { - case BAND: - case BOR: - if (typetab.isBooleanType(left) && typetab.isBooleanType(right)) - return typetab.booleanType; - else if (typetab.isIntegralType(left) || typetab.isIntegralType(right)) - { - errorMsg.unsupported(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.analysebitwiseexpr.integerbitwiseop", //NOI18N - op.getText())); - return typetab.errorType; - } - break; - case BXOR: - if (typetab.isBooleanType(left) && typetab.isBooleanType(right)) - { - errorMsg.unsupported(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.analysebitwiseexpr.exclusiveorop")); //NOI18N - return typetab.errorType; - } - else if (typetab.isIntegralType(left) || typetab.isIntegralType(right)) - { - errorMsg.unsupported(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.analysebitwiseexpr.integerbitwiseop", //NOI18N - op.getText())); - return typetab.errorType; - } - break; - } - - // if this code is reached a bitwise operator was used with invalid arguments - errorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.arguments.invalid", //NOI18N - op.getText())); - return typetab.errorType; - } - - /** - * Analyses a boolean conditional operation (&&, ||) - * @param op the conditional operator - * @param leftAST left operand - * @param rightAST right operand - * @return Type - */ - protected Type analyseConditionalExpr(JQLAST op, JQLAST leftAST, JQLAST rightAST) - { - Type left = leftAST.getJQLType(); - Type right = rightAST.getJQLType(); - - // handle error type - if (left.equals(typetab.errorType) || right.equals(typetab.errorType)) - return typetab.errorType; - - switch(op.getType()) - { - case AND: - case OR: - if (typetab.isBooleanType(left) && typetab.isBooleanType(right)) - return typetab.booleanType; - break; - } - - // if this code is reached a conditional operator was used with invalid arguments - errorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.arguments.invalid", //NOI18N - op.getText())); - return typetab.errorType; - } - - /** - * Analyses a relational operation (<, <=, >, >=, ==, !=) - * @param op the relational operator - * @param leftAST left operand - * @param rightAST right operand - * @return Type - */ - protected Type analyseRelationalExpr(JQLAST op, JQLAST leftAST, JQLAST rightAST) - { - Type left = leftAST.getJQLType(); - Type right = rightAST.getJQLType(); - - // handle error type - if (left.equals(typetab.errorType) || right.equals(typetab.errorType)) - return typetab.errorType; - - // special check for <, <=, >, >= - // left and right hand types must be orderable - switch(op.getType()) - { - case LT: - case LE: - case GT: - case GE: - if (!left.isOrderable()) - { - errorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.analyserelationalexpr.notorderable", //NOI18N - left.getName(), op.getText())); - return typetab.errorType; - } - if (!right.isOrderable()) - { - errorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.analyserelationalexpr.notorderable", //NOI18N - right.getName(), op.getText())); - return typetab.errorType; - } - break; - case EQUAL: - case NOT_EQUAL: - if ((leftAST.getType() == CONTAINS) || (rightAST.getType() == CONTAINS)) - { - errorMsg.unsupported(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.unsupportedconstraintop", op.getText())); //NOI18N - return typetab.errorType; - } - break; - } - - // check for numeric types, numeric wrapper class types and math class types - if (typetab.isNumberType(left) && typetab.isNumberType(right)) - return typetab.booleanType; - - // check for boolean and java.lang.Boolean - if (typetab.isBooleanType(left) && typetab.isBooleanType(right)) - return typetab.booleanType; - - if (left.isCompatibleWith(right) || right.isCompatibleWith(left)) - return typetab.booleanType; - - // if this code is reached a conditional operator was used with invalid arguments - errorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.arguments.invalid", //NOI18N - op.getText())); - return typetab.errorType; - } - - /** - * Analyses a - * @param op the operator - * @param leftAST left operand - * @param rightAST right operand - * @return Type - */ - protected Type analyseBinaryArithmeticExpr(JQLAST op, JQLAST leftAST, JQLAST rightAST) - { - Type left = leftAST.getJQLType(); - Type right = rightAST.getJQLType(); - - // handle error type - if (left.equals(typetab.errorType) || right.equals(typetab.errorType)) - return typetab.errorType; - - if (typetab.isNumberType(left) && typetab.isNumberType(right)) - { - // handle java.math.BigDecimal - if (left.isCompatibleWith(typetab.bigDecimalType)) - return left; - if (right.isCompatibleWith(typetab.bigDecimalType)) - return right; - - // handle java.math.BigInteger - if (left.isCompatibleWith(typetab.bigIntegerType)) - { - // if right is floating point return BigDecimal, - // otherwise return BigInteger - return typetab.isFloatingPointType(right) ? - typetab.bigDecimalType : left; - } - if (right.isCompatibleWith(typetab.bigIntegerType)) - { - // if left is floating point return BigDecimal, - // otherwise return BigInteger - return typetab.isFloatingPointType(left) ? - typetab.bigDecimalType : right; - } - - boolean wrapper = false; - if (left instanceof NumericWrapperClassType) - { - left = ((NumericWrapperClassType)left).getPrimitiveType(); - wrapper = true; - } - if (right instanceof NumericWrapperClassType) - { - right = ((NumericWrapperClassType)right).getPrimitiveType(); - wrapper = true; - } - - // handle numeric types with arbitrary arithmetic operator - if ((left instanceof NumericType) && (right instanceof NumericType)) - { - Type promotedType = typetab.binaryNumericPromotion(left, right); - if (wrapper && (promotedType instanceof NumericType)) - { - promotedType = ((NumericType)promotedType).getWrapper(); - } - return promotedType; - } - } - else if (op.getType() == PLUS) - { - // handle + for strings - // MBO: note, this if matches char + char (which it should'nt), - // but this case is already handled above - if ((left.equals(typetab.stringType) || left.equals(typetab.charType)) && - (right.equals(typetab.stringType) || right.equals(typetab.charType))) - { - return typetab.stringType; - } - } - - // if this code is reached a conditional operator was used with invalid arguments - errorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.arguments.invalid", //NOI18N - op.getText())); - return typetab.errorType; - } - - /** - * Analyses a - * @param op the operator - * @param argAST right operand - * @return Type - */ - protected Type analyseUnaryArithmeticExpr(JQLAST op, JQLAST argAST) - { - Type arg = argAST.getJQLType(); - - // handle error type - if (arg.equals(typetab.errorType)) - return typetab.errorType; - - // handle java.math.BigDecimal and java.math.BigInteger - if (arg.isCompatibleWith(typetab.bigDecimalType)) - return arg; - - // handle java.math.BigInteger - if (arg.isCompatibleWith(typetab.bigIntegerType)) - return arg; - - boolean wrapper = false; - if (arg instanceof NumericWrapperClassType) - { - arg = ((NumericWrapperClassType)arg).getPrimitiveType(); - wrapper = true; - } - - if (arg instanceof NumericType) - { - Type promotedType = typetab.unaryNumericPromotion(arg); - if (wrapper && (promotedType instanceof NumericType)) - { - promotedType = ((NumericType)promotedType).getWrapper(); - } - return promotedType; - } - - // if this code is reached a conditional operator was used with invalid arguments - errorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.arguments.invalid", //NOI18N - op.getText())); - return typetab.errorType; - } - /** - * Analyses a - * @param op the operator - * @param argAST right operand - * @return Type - */ - protected Type analyseComplementExpr(JQLAST op, JQLAST argAST) - { - Type arg = argAST.getJQLType(); - - // handle error type - if (arg.equals(typetab.errorType)) - return typetab.errorType; - - switch(op.getType()) - { - case BNOT: - if (typetab.isIntegralType(arg)) - { - return arg; - } - break; - case LNOT: - if (typetab.isBooleanType(arg)) - { - if (argAST.getType() == CONTAINS) - { - errorMsg.unsupported(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, - "jqlc.semantic.generic.unsupportedconstraintop", op.getText())); //NOI18N - return typetab.errorType; - } - return arg; - } - break; - } - - // if this code is reached a conditional operator was used with invalid arguments - errorMsg.error(op.getLine(), op.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.arguments.invalid", //NOI18N - op.getText())); - return typetab.errorType; - } - - /** - * - */ - protected void checkConstraints(JQLAST ast, VariableTable tab) - { - checkConstraints(ast, null, tab); - } - - /** - * - */ - protected void checkConstraints(JQLAST ast, String dependentVariable, VariableTable tab) - { - if (ast == null) return; - switch (ast.getType()) - { - case VARIABLE: - tab.markUsed(ast, dependentVariable); - break; - case CONTAINS: - JQLAST expr = (JQLAST)ast.getFirstChild(); - JQLAST var = (JQLAST)expr.getNextSibling(); - checkConstraints(expr, var.getText(), tab); - tab.markConstraint(var, expr); - break; - case BOR: - case BXOR: - case OR: - JQLAST left = (JQLAST)ast.getFirstChild(); - JQLAST right = (JQLAST)left.getNextSibling(); - // prepare tab copy for right hand side and merge the right hand side copy into vartab - VariableTable copy = new VariableTable(tab); - checkConstraints(left, dependentVariable, tab); - checkConstraints(right, dependentVariable, copy); - tab.merge(copy); - break; - default: - for (JQLAST node = (JQLAST)ast.getFirstChild(); node != null; node = (JQLAST)node.getNextSibling()) - { - checkConstraints(node, dependentVariable, tab); - } - break; - } - } - -} - -// rules - -query - : #( QUERY - { - symtab.enterScope(); - typeNames.enterScope(); - } - candidateClass - imports - { - // enter new scope for variable and parameter names - symtab.enterScope(); - } - parameters - variables - o:ordering - r:result - filter - { - typeNames.leaveScope(); - // leaves variable and parameter name scope - symtab.leaveScope(); - // leaves global scope - symtab.leaveScope(); - } - ) - { - checkResultOrdering(#r, #o); - } - ; - -// ---------------------------------- -// rules: candidate class -// ---------------------------------- - -candidateClass -{ - errorMsg.setContext("setClass"); //NOI18N -} - : c:CLASS_DEF - { - // check persistence capable - candidateClass = (ClassType)#c.getJQLType(); - String className = candidateClass.getName(); - if (!candidateClass.isPersistenceCapable()) - { - errorMsg.unsupported(#c.getLine(), #c.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.candidateclass.nonpc", //NOI18N - className)); - } - - // get base name - int index = className.lastIndexOf('.'); - String identName = index>0 ? className.substring(index+1) : className; - typeNames.declare(identName, new TypeName(candidateClass, className)); - - // init symbol table with field names of the candidate class - FieldInfo[] fieldInfos = candidateClass.getFieldInfos(); - for (int i = 0; i < fieldInfos.length; i++) - { - FieldInfo fieldInfo = fieldInfos[i]; - symtab.declare(fieldInfo.getName(), new Field(fieldInfo)); - } - } - ; - -// ---------------------------------- -// rules: import declaration -// ---------------------------------- - -imports! -{ - errorMsg.setContext("declareImports"); //NOI18N -} - : ( declareImport )* - ; - -declareImport - { String name = null; } - : #( i:IMPORT_DEF name = qualifiedName ) - { - Type type = typetab.checkType(name); - if (type == null) - { - errorMsg.error(#i.getLine(), #i.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.unknowntype", name)); //NOI18N - } - - // get base name - int index = name.lastIndexOf('.'); - String identName = index>0 ? name.substring(index+1) : name; - - Definition old = typeNames.declare(identName, new TypeName(type, name)); - if (old != null) - { - errorMsg.error(#i.getLine(), #i.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.alreadydeclared", //NOI18N - identName, old.getName())); - } - } - ; - -// ---------------------------------- -// rules: parameter declaration -// ---------------------------------- - -parameters -{ - errorMsg.setContext("declareParameters"); //NOI18N -} - : ( declareParameter )* - ; - -declareParameter - : #( PARAMETER_DEF t:type i:IDENT ) - { - String name = #i.getText(); - Type type = #t.getJQLType(); - Definition old = symtab.declare(name, new Parameter(type)); - if (old != null) - { - errorMsg.error(#i.getLine(), #i.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.alreadydeclared", //NOI18N - name, old.getName())); - } - #i.setJQLType(type); - paramtab.add(name, type); - } - ; - -// ---------------------------------- -// rules: variable declaration -// ---------------------------------- - -variables -{ - errorMsg.setContext("declareVariables"); //NOI18N -} - : ( declareVariable )* - ; - -declareVariable - : #( VARIABLE_DEF t:type i:IDENT ) - { - String name = #i.getText(); - Type type = #t.getJQLType(); - Definition old = symtab.declare(name, new Variable(type)); - if (old != null) - { - errorMsg.error(#i.getLine(), #i.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.alreadydeclared", //NOI18N - name, old.getName())); - } - vartab.add(name); - #i.setJQLType(type); - } - ; - -// ---------------------------------- -// rules: ordering specification -// ---------------------------------- - -ordering -{ - errorMsg.setContext("setOrdering"); //NOI18N -} - : ( orderSpec )* - ; - -orderSpec - : #( ORDERING_DEF (ASCENDING | DESCENDING) e:expression ) - { - analyseOrderingExpression(#e); - checkConstraints(#e, vartab); - } - ; - -// ---------------------------------- -// rules: result expression -// ---------------------------------- - -result -{ - errorMsg.setContext("setResult"); //NOI18N -} - : #( r:RESULT_DEF e:resultExpr ) - { - checkValidResultExpr(#e); - #r.setJQLType(#e.getJQLType()); - checkConstraints(#e, vartab); - } - | // empty rule - ; - -resultExpr - : #( d:DISTINCT e0:resultExpr ) - { - #d.setJQLType(#e0.getJQLType()); - } - | #( a:AVG e1:resultExpr ) - { - #a.setJQLType(typetab.getAvgReturnType(#e1.getJQLType())); - } - | #( max:MAX e2:resultExpr ) - { - #max.setJQLType(typetab.getMinMaxReturnType(#e2.getJQLType())); - } - | #( min:MIN e3:resultExpr ) - { - #min.setJQLType(typetab.getMinMaxReturnType(#e3.getJQLType())); - } - | #( s:SUM e4:resultExpr ) - { - #s.setJQLType(typetab.getSumReturnType(#e4.getJQLType())); - } - | #( c:COUNT resultExpr ) - { - #c.setJQLType(typetab.longType); - } - | expression - ; - -// ---------------------------------- -// rules: filer expression -// ---------------------------------- - -filter -{ - errorMsg.setContext("setFilter"); //NOI18N -} - // There is always a filter defined and it is the last node of the query tree. - // Otherwise all the remaining subtrees after the CLASS_DEF subtree are empty - // which results in a ClassCastException antlr.ASTNullType when analysis - // the (non existsent) subtrees - : #( FILTER_DEF e:expression ) - { - Type exprType = #e.getJQLType(); - if (!(typetab.isBooleanType(exprType) || exprType.equals(typetab.errorType))) - { - // filter expression must have the type boolean or java.lang.Boolean - errorMsg.error(#e.getLine(), #e.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.filter.booleanexpected", exprType)); //NOI18N - } - checkConstraints(#e, vartab); - vartab.checkConstraints(); - } - ; - -expression - { String repr; } - : repr = e:exprNoCheck[false] - { - if (repr != null) - { - #e.setJQLType(typetab.errorType); - errorMsg.error(#e.getLine(), #e.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.expression.undefined", repr)); //NOI18N - } - } - ; - -exprNoCheck [boolean insideDotExpr] returns [String repr] - { repr = null; } // repr is used to get the text of identifier - // inside a dot expression - : bitwiseExpr - | conditionalExpr - | relationalExpr - | binaryArithmeticExpr - | unaryArithmeticExpr - | complementExpr - | repr = primary[insideDotExpr] - ; - -bitwiseExpr - : #( op1:BAND left1:expression right1:expression ) - { - #op1.setJQLType(analyseBitwiseExpr(#op1, #left1, #right1)); - } - | #( op2:BOR left2:expression right2:expression ) - { - #op2.setJQLType(analyseBitwiseExpr(#op2, #left2, #right2)); - } - | #( op3:BXOR left3:expression right3:expression ) - { - #op3.setJQLType(analyseBitwiseExpr(#op3, #left3, #right3)); - } - ; - -conditionalExpr - : #( op1:AND left1:expression right1:expression ) - { - #op1.setJQLType(analyseConditionalExpr(#op1, #left1, #right1)); - } - | #( op2:OR left2:expression right2:expression ) - { - #op2.setJQLType(analyseConditionalExpr(#op2, #left2, #right2)); - } - ; - -relationalExpr -{ - Type left = null; - Type right = null; -} - : #( op1:EQUAL left1:expression right1:expression ) - { - #op1.setJQLType(analyseRelationalExpr(#op1, #left1, #right1)); - left = #left1.getJQLType(); - right = #right1.getJQLType(); - if (typetab.isPersistenceCapableType(left) || typetab.isPersistenceCapableType(right)) - { - #op1.setType(OBJECT_EQUAL); - } - else if (typetab.isCollectionType(left) || typetab.isCollectionType(right)) - { - #op1.setType(COLLECTION_EQUAL); - } - } - | #( op2:NOT_EQUAL left2:expression right2:expression ) - { - #op2.setJQLType(analyseRelationalExpr(#op2, #left2, #right2)); - left = #left2.getJQLType(); - right = #right2.getJQLType(); - if (typetab.isPersistenceCapableType(left) || typetab.isPersistenceCapableType(right)) - { - #op2.setType(OBJECT_NOT_EQUAL); - } - else if (typetab.isCollectionType(left) || typetab.isCollectionType(right)) - { - #op2.setType(COLLECTION_NOT_EQUAL); - } - } - | #( op3:LT left3:expression right3:expression ) - { - #op3.setJQLType(analyseRelationalExpr(#op3, #left3, #right3)); - } - | #( op4:GT left4:expression right4:expression ) - { - #op4.setJQLType(analyseRelationalExpr(#op4, #left4, #right4)); - } - | #( op5:LE left5:expression right5:expression ) - { - #op5.setJQLType(analyseRelationalExpr(#op5, #left5, #right5)); - } - | #( op6:GE left6:expression right6:expression ) - { - #op6.setJQLType(analyseRelationalExpr(#op6, #left6, #right6)); - } - ; - -binaryArithmeticExpr - : #( op1:PLUS left1:expression right1:expression ) - { - #op1.setJQLType(analyseBinaryArithmeticExpr(#op1, #left1, #right1)); - if (#op1.getJQLType().equals(typetab.stringType)) - { - // change the operator from PLUS to CONCAT in the case of string concatenation - #op1.setType(CONCAT); - } - } - | #( op2:MINUS left2:expression right2:expression ) - { - #op2.setJQLType(analyseBinaryArithmeticExpr(#op2, #left2, #right2)); - } - | #( op3:STAR left3:expression right3:expression ) - { - #op3.setJQLType(analyseBinaryArithmeticExpr(#op3, #left3, #right3)); - } - | #( op4:DIV left4:expression right4:expression ) - { - #op4.setJQLType(analyseBinaryArithmeticExpr(#op4, #left4, #right4)); - } - | #( op5:MOD left5:expression right5:expression ) - { - #op5.setJQLType(analyseBinaryArithmeticExpr(#op5, #left5, #right5)); - } - ; - -unaryArithmeticExpr - : #( op1:UNARY_PLUS arg1:expression ) - { - #op1.setJQLType(analyseUnaryArithmeticExpr(#op1, #arg1)); - } - | #( op2:UNARY_MINUS arg2:expression ) - { - #op2.setJQLType(analyseUnaryArithmeticExpr(#op2, #arg2)); - } - ; - -complementExpr - : #( op1:BNOT arg1:expression ) - { - #op1.setJQLType(analyseComplementExpr(#op1, #arg1)); - } - | #( op2:LNOT arg2:expression ) - { - #op2.setJQLType(analyseComplementExpr(#op2, #arg2)); - } - ; - -primary [boolean insideDotExpr] returns [String repr] -{ repr = null; } - : #( c:TYPECAST t:type e:expression ) - { - Type type = #t.getJQLType(); - Type exprType = #e.getJQLType(); - if (!(type.isCompatibleWith(exprType) || exprType.isCompatibleWith(type))) - { - errorMsg.error(#c.getLine(), #c.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.primary.invalidcast", //NOI18N - exprType.getName(), type.getName())); - type = typetab.errorType; - } - #c.setJQLType(type); - } - | literal - | i:THIS - { #i.setJQLType(candidateClass); } - | repr = dotExpr - | repr = identifier [insideDotExpr] - ; - -dotExpr returns [String repr] - { - repr = null; - } - : #( dot:DOT - repr = expr:exprNoCheck[true] ident:IDENT ( args:argList )? - ) - { - Type type = null; - if (repr != null) // possible package name - { - String qualifiedName = repr + '.' + #ident.getText(); - type = typetab.checkType(qualifiedName); - if (type == null) - { - // name does not define a valid class => return qualifiedName - repr = qualifiedName; - } - else if (#args == null) - { - // found valid class name and NO arguments specified - // => use of the class name - repr = null; - #dot.setType(TYPENAME); - #dot.setText(qualifiedName); - #dot.setFirstChild(null); - } - else - { - // found valid class name and arguments specified => - // looks like constructor call - repr = null; - errorMsg.error(dot.getLine(), dot.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.invalidmethodcall")); //NOI18N - } - #dot.setJQLType(type); - #dot.setText(#expr.getText() + '.' + #ident.getText()); - } - else // no string repr of left hand side => expression is defined - { - #dotExpr = analyseDotExpr(#dot, #expr, #ident, #args); - } - } - ; - -argList - : #( ARG_LIST (expression)* ) - ; - -identifier [boolean insideDotExpr] returns [String repr] - { - repr = null; // repr is set when ident is part of a package name spec - } - : ident:IDENT ( args:argList ) ? - { - String name = #ident.getText(); - Definition def = symtab.getDefinition(name); - - // check args, if defined => invalid method call - if (#args != null) - { - #ident.setJQLType(typetab.errorType); - errorMsg.error(#ident.getLine(), #ident.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.invalidmethodcall")); //NOI18N - } - else if (def != null) - { - #ident = analyseDefinedIdentifier(#ident, def); - } - else if (insideDotExpr) - { - Definition typedef = typeNames.getDefinition(name); - if (typedef != null) - { - #ident = analyseDefinedIdentifier(#ident, typedef); - } - else - { - repr = #ident.getText(); - } - } - else - { - #ident.setJQLType(typetab.errorType); - errorMsg.error(ident.getLine(), ident.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.identifier.undefined", //NOI18N - ident.getText())); - } - } - ; - -literal - : b1:TRUE { #b1.setJQLType(typetab.booleanType); } - | b2:FALSE { #b2.setJQLType(typetab.booleanType); } - | i:INT_LITERAL { #i.setJQLType(typetab.intType); } - | l:LONG_LITERAL { #l.setJQLType(typetab.longType); } - | f:FLOAT_LITERAL { #f.setJQLType(typetab.floatType); } - | d:DOUBLE_LITERAL { #d.setJQLType(typetab.doubleType); } - | c:CHAR_LITERAL { #c.setJQLType(typetab.charType); } - | s:STRING_LITERAL { #s.setJQLType(typetab.stringType); } - | n:NULL { #n.setJQLType(typetab.nullType); } - ; - -qualifiedName returns [String name] - { name = null; } - : id1:IDENT - { - name = #id1.getText(); - } - | #( d:DOT - name = qualifiedName - id2:IDENT - { - name += (#d.getText() + #id2.getText()); - } - ) - ; - -type - { String name = null; } - : name = qn:qualifiedName - { - Type type = null; - if (typeNames.isDeclared(name)) - { - Definition def = typeNames.getDefinition(name); - if (def instanceof TypeName) - { - type = def.getType(); - } - else - { - errorMsg.error(#qn.getLine(), #qn.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.type.notype", //NOI18N - name, def.getName())); - } - } - else - { - type = typetab.checkType(name); - if ((type == null) && (name.indexOf('.') == -1)) - { - // ckeck java.lang class without package name - type = typetab.checkType("java.lang." + name); //NOI18N - } - if (type == null) - { - errorMsg.error(#qn.getLine(), #qn.getColumn(), - I18NHelper.getMessage(messages, "jqlc.semantic.generic.unknowntype", name)); //NOI18N - } - } - // change AST to a single node that represents the full class name - #qn.setType(TYPENAME); - #qn.setText(name); - #qn.setFirstChild(null); - #qn.setJQLType(type); - } - | p:primitiveType - { - #p.setJQLType(typetab.checkType(#p.getText())); - #p.setType(TYPENAME); - } - ; - -primitiveType - : BOOLEAN - | BYTE - | CHAR - | SHORT - | INT - | FLOAT - | LONG - | DOUBLE - ; - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ActionDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ActionDesc.java deleted file mode 100644 index d0cd3a57d36..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ActionDesc.java +++ /dev/null @@ -1,365 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ActionDesc.java - * - * Create on March 3, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - - -/** - *

    This interface defines the constraint operation constants that are - * recognized by the addConstraint method of the interface RetrieveDesc. - */ -public interface ActionDesc { - // LAST VALUE USED: 63 - - // Constants for life cycle events - - public static final int LOG_CREATE = 1; - - public static final int LOG_DESTROY = 2; - - public static final int LOG_UPDATE = 3; - - public static final int LOG_NOOP = 4; - - // Select operators - - /** - * Unary operator for taking the absolute value. - */ - public static final int OP_ABS = 1; - - /** - * Binary operator for adding two values. - */ - public static final int OP_ADD = 2; - - /** - * Logical operator AND. - */ - public static final int OP_AND = 3; - - /** - */ - public static final int OP_APPROX = 4; - - /** - */ - public static final int OP_FIELD = 5; - - /** - */ - public static final int OP_BETWEEN = 6; - - /** - * Qualifies the query with DISTINCT - */ - public static final int OP_DISTINCT = 7; - - /** - * Binary operator for dividing two values - */ - public static final int OP_DIV = 8; - - /** - * Equality operator. - */ - public static final int OP_EQ = 9; - - /** - */ - public static final int OP_EQ_CLASS = 41; - - /** - */ - public static final int OP_EQUIJOIN = 10; - - /** - */ - public static final int OP_FOR_UPDATE = 11; - - /** - */ - public static final int OP_GE = 12; - - /** - */ - public static final int OP_GT = 13; - - /** - */ - public static final int OP_IN = 14; - - /** - * Relational operator for less-than-and-equal. - */ - public static final int OP_LE = 15; - - /** - */ - public static final int OP_LEFTJOIN = 16; - - /** - */ - public static final int OP_LENGTH = 17; - - /** - */ - public static final int OP_LENGTHB = 18; - - /** - * Pattern matching operator. - */ - public static final int OP_LIKE = 19; - - /** - */ - public static final int OP_LOWER = 20; - - /** - * Relational operator for less-than. - */ - public static final int OP_LT = 21; - - /** - */ - public static final int OP_LTRIM = 22; - - /** - */ - public static final int OP_MAX_ROWS = 23; - - /** - * Binary operator for multiplying two values. - */ - public static final int OP_MUL = 24; - - /** - * Inequality operator. - */ - public static final int OP_NE = 25; - - /** - * Unary negation operator. - */ - public static final int OP_NOT = 26; - - /** - * Unary operator for checking non-null value. - */ - public static final int OP_NOTNULL = 27; - - /** - * Unary operator for checking null value. - */ - public static final int OP_NULL = 28; - - /** - * Logical operator OR. - */ - public static final int OP_OR = 29; - - /** - * Order the result by ascending order. - */ - public static final int OP_ORDERBY = 30; - - /** - * Order the result by descending order. - */ - public static final int OP_ORDERBY_DESC = 31; - - /** - */ - public static final int OP_PARAMETER_COUNT = 32; - - /** - */ - public static final int OP_RIGHTJOIN = 33; - - /** - * Unary operator for trimming trailing blanks in a string. - */ - public static final int OP_RTRIM = 34; - - /** - */ - public static final int OP_RTRIMFIXED = 43; - - /** - */ - public static final int OP_SOUNDEX = 35; - - /** - * square root of a number - */ - public static final int OP_SQRT = 47; - - /** - * Binary operator for subtracting one value from another. - */ - public static final int OP_SUB = 36; - - /** - * Operator for Substring with two arguments: string, start. - */ - public static final int OP_SUBSTR = 37; - - /** - */ - public static final int OP_SUBSTRB = 38; - - /** - */ - public static final int OP_UPPER = 39; - - /** - */ - public static final int OP_VALUE = 40; - - /** - */ - public static final int OP_NONKEY = 42; - - /** - * String concatenation operator - */ - public static final int OP_CONCAT = 44; - - /** - * Operator for not exists subquery - */ - public static final int OP_NOTEXISTS = 45; - - /** - * Operator for exists subquery - */ - public static final int OP_EXISTS = 46; - - /** - * Operator for like with escape - */ - public static final int OP_LIKE_ESCAPE = 48; - - /** - * Operator for Substring with three arguments: string, start, length. - */ - public static final int OP_SUBSTRING = 49; - - /** - * Operator for position - */ - public static final int OP_POSITION = 50; - - /** - * Operator for position with start parameter - */ - public static final int OP_POSITION_START = 51; - - /** - * Operator for a non relationship join. - */ - public static final int OP_NONREL_JOIN = 52; - - /** - * Operator for query parameters - */ - public static final int OP_PARAMETER = 53; - - /** - * Operator for queries on nullable columns mapped to primitive fields - */ - public static final int OP_MAYBE_NULL = 54; - - /** - * Operator for NOT IN - */ - public static final int OP_NOTIN = 55; - - /** - * Operator for null comparision by function. - */ - public static final int OP_NULL_COMPARISION_FUNCTION = 56; - - /** - * Binary operator for MOD. - */ - public static final int OP_MOD = 57; - - /** - * Operator for AVG aggregate function. - */ - public static final int OP_AVG = 58; - - /** - * Operator for MIN aggregate function. - */ - public static final int OP_MIN = 59; - - /** - * Operator for SUM aggregate function. - */ - public static final int OP_SUM = 60; - - /** - * Operator for MAX aggregate function. - */ - public static final int OP_MAX = 61; - - /** - * Operator for COUNT aggregate function. - */ - public static final int OP_COUNT = 62; - - /** - * Operator for COUNT aggregate function on pc objects. - */ - public static final int OP_COUNT_PC = 63; - - /** - */ - public Class getPersistenceCapableClass(); - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties deleted file mode 100644 index b9a3884a549..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Bundle.properties +++ /dev/null @@ -1,643 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# Resource bundle for sqlstore runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# Please note that many package names and classnames have changed over time. -# Unfortunately, this file was not maintained to follow above convention. -# Please ignore if the package/class name does not match actual names as today. -# -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 76. -# -# This file is divided into the following sections: -# Under each section, messages that need not be I18Ned are separated under NOI18N. All other messages -# need to be numbered. -# 1. JDO: PersistenceManagerFactory/PersistenceManager/ExtentCollection/LifeCycle -# 2. Model -# 3. StateManager -# 4. sql generator components: RetrieveDesc, ResultDesc plus all the files under generator subdir -# 5. SQLStoreManager -# 6. Connection/Connectionpool/Transaction/DBVendorType -# 7. EJB integration. -# 8. Generic messages. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -#################################################################################################### -# -# Message ID Range: JDO76000 - JDO76099 -#################################################################################################### -jdo.persistencemanagerfactoryimpl.getpersistencemanager.error=JDO76000: Cannot use multiple combinations of username/password in the same transaction. -jdo.persistencemanagerfactoryimpl.getpersistencemanager.notconfigured=JDO76001: PersistenceManagerFactory is not configured. -jdo.persistencemanagerfactoryimpl.notsupported=JDO76002: Operation is not supported for the internal PersistenceManagerFactoryImpl. -jdo.persistencemanagerimpl.acquireexclusivelock.interrupted=JDO76003: Failed to acquire exclusive lock due to InterruptedException -jdo.persistencemanagerimpl.acquiresharelock.failed=JDO76004: Failed to acquire share lock because _readWriteCount is less than zero -jdo.persistencemanagerimpl.acquiresharelock.interrupted=JDO76005: Failed to acquire share lock due to InterruptedException -jdo.persistencemanagerimpl.another_pm=JDO76006: Object is associated with another PersistenceManager. -jdo.persistencemanagerimpl.assertactivetransaction.error=JDO76007: Transaction associated with this persistence manager is not active. -jdo.persistencemanagerimpl.assertclosed.closed=JDO76008: PersistenceManager is closed. -jdo.persistencemanagerimpl.assertpersistencecapable.error=JDO76009: Class {0} has not been enhanced for Transparent Persistence. Use the IDE''s JAR or WAR packager to package your persistence-capable classes before running. Or, set the Executor property on the main class to Persistence Executor to run from the IDE. -jdo.persistencemanagerimpl.close.activetransaction=JDO76010: There is an open transaction associated with this persistence manager. -jdo.persistencemanagerimpl.fetchinstance.none=JDO76012: Object not found for this ObjectId. -jdo.persistencemanagerimpl.internaldeletepersistent.transient=JDO76014: Cannot delete non-persistent object. -jdo.persistencemanagerimpl.internalmakepersistent.dups=JDO76015: An instance with the same primary key already exists in this PersistenceManager cache. -jdo.persistencemanagerimpl.loadclassforoid.wrongoidclass=JDO76016: Error retrieving object Class from OID. -jdo.persistencemanagerimpl.newscoinstance.wrongclass=JDO76017: Cannot create SCO instance of class {0} because it is not a valid type. -jdo.persistencemanagerimpl.notprocessed=JDO76018: Unable to flush persistent instances due to circular dependencies. -jdo.persistencemanagerimpl.releaseexclusivelock.failed=JDO76019: Failed to release exclusive lock because _readWriteCount is greater than zero -jdo.persistencemanagerimpl.releasesharelock.failed=JDO76020: Failed to release share lock because _readWriteCount is zero -jdo.persistencemanagerwrapper.invalidpm=JDO76021: PersistenceManagerWrapper is closed. -jdo.extentcollection.constructor.invalidclass=JDO76022: Invalid class ''{0}'' for extent collection. -jdo.extentcollection.constructor.nonpc=JDO76023: The class ''{0}'' is not persistence-capable. -jdo.extentcollection.constructor.subclasses=JDO76024: Option subclasses true is not supported for extent collections. -jdo.extentcollection.illegalmodification=JDO76025: Illegal modification of extent collection for class ''{0}''. -jdo.extentcollection.methodnotsupported=JDO76026: Extent collection method {0} not supported. -jdo.lifecycle.xactnotactive=JDO76027: Active transaction required to perform this operation. -jdo.persistencemanagerimpl.newinstance.badsm=JDO76028: StateManager is not fully configured! -jdo.persistencemanagerimpl.setjtatransaction.notnulljta=JDO76029: Attempt to replace not null jakarta.transaction.Transaction: {0} with {1}. -jdo.persistencemanagerfactoryimpl.getpersistencemgr.closed=JDO76030: PersistenceManager for this jakarta.transaction.Transaction: {0} is already closed or committing. -jdo.persistencemanagerfactoryimpl.registerpm.registered=JDO76031: This instance of jakarta.transaction.Transaction: {0} is already registered with another PersistenceManager: {1}. -jdo.persistencemanagerimpl.verificationfailed=JDO76032: The version consistent instance failed the verification with the data store. -jdo.persistencemanagerfactoryimpl.getversionconsistencycache.nullstore=JDO76033: StoreManager is not configured. - -# -# -# -sqlstore.state.lifecyclestate.changestate=LifeCycleState.changeState(), old state = {0}, new state = {1}. -sqlstore.state.lifecyclestate.initial=LifeCycleState.getLifeCycleState(), initial state = {0}. - -# -# -# -sqlstore.persistencemgr.acquireexclusivelock.count=acquireExclusiveLock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.acquireexclusivelock=acquireExclusiveock(), thread {0} going to wait. -sqlstore.persistencemgr.acquiresharedlock.rdwrcount=acquireShareLock(), thread {0} acquired shared lock with _readWriteCount ={1}. -sqlstore.persistencemgr.acquiresharedlock=acquireShareLock(), thread {0} going to wait. -sqlstore.persistencemgr.aftercompletion.process=---PersistenceManagerImpl.afterCompletion() process: {0}. -sqlstore.persistencemgr.aftercompletion=---PersistenceManagerImpl.afterCompletion() abort: {0}. -sqlstore.persistencemgr.assertactivetx.closed=--- PersistenceManagerImpl.assertActiveTransaction: Closed for {0}. -sqlstore.persistencemgr.assertactivetx=--- PersistenceManagerImpl.assertActiveTransaction: {0}. -sqlstore.persistencemgr.assertisopen=--- PersistenceManagerImpl.assertIsOpen: Closed for {0}. -sqlstore.persistencemgr.beforecompletion=---PersistenceManagerImpl.beforeCompletion(). -sqlstore.persistencemgr.cacheproperties=PersistenceManagerImpl cache properties: _txCacheInitialCapacity={0}, _flushedCacheInitialCapacity={1}, _flushedCacheLoadFactor={2}, _weakCacheInitialCapacity={3}, _weakCacheLoadFactor={4}. -sqlstore.persistencemgr.deregisterinstance.verified=---PersistenceManagerImpl.deregisterInstance() -- deregistered with verify. -sqlstore.persistencemgr.deregisterinstance.verify=---PersistenceManagerImpl.deregisterInstance() with verify SM -- oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.deregisterinstance=---PersistenceManagerImpl.deregisterInstance() oid: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getbyobjid=---PersistenceManagerImpl.getObjectById() OID:{0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getcurrentwrapper=---PersistenceManagerImpl.getCurrentWrapper() > current: {0}. -sqlstore.persistencemgr.getobjid.notpc=---PersistenceManagerImpl.getObjectId() NOT PC: {0} for PersistenceManager: {1}. -sqlstore.persistencemgr.getobjid.notpm=---PersistenceManagerImpl.getObjectId() NOT PM: {0} for PersistenceManager: {1} and JTA: {2}. -sqlstore.persistencemgr.getobjid= :{0} ---PersistenceManagerImpl.getObjectId() PC: {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.internalcloneoid.old=---PersistenceManagerImpl.internalCloneOid(): old: {0} new: {1} same: {2}. -sqlstore.persistencemgr.internalcloneoid=---PersistenceManagerImpl.internalCloneOid() error: {0}. -sqlstore.persistencemgr.isactivetx=---PersistenceManagerImpl.isActiveTransaction() : {0}. -sqlstore.persistencemgr.isnontxread=---PersistenceManagerImpl.isNontransactionalRead() : {0}. -sqlstore.persistencemgr.isoptimistic=---PersistenceManagerImpl.isOptimisticTransaction() : {0}. -sqlstore.persistencemgr.loadingclass=Loading ... ClassName: {0}. -sqlstore.persistencemgr.loadingfile=Loading ... FileName: {0} {1} {2}. -sqlstore.persistencemgr.makepersistent.done=---PersistenceManagerImpl.makePersistent() {0} finished for: {1} and JTA: {2}. -sqlstore.persistencemgr.makepersistent= {0} ---PersistenceManagerImpl.makePersistent() PC: {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.newcollection=---PersistenceManagerImpl.newCollectionInstanceInternal() type: {0}. -sqlstore.persistencemgr.popcurrentwrapper=---PersistenceManagerImpl.popCurrentWrapper() > current: {0} prev: {1}. -sqlstore.persistencemgr.pushcurrentwrapper=---PersistenceManagerImpl.pushCurrentWrapper() > current: {0} new: {1}. -sqlstore.persistencemgr.registerinstance= {0} ---PersistenceManagerImpl.registerInstance() oid/sm: {1}/{2} for PersistenceManager: {3} and JTA: {4}. -sqlstore.persistencemgr.registerinstancein_txc=registerInstance in TXC :{0} / {1} for PersistenceManager: {2} and JTA: {3}. -sqlstore.persistencemgr.registerinstancein_wkc=registerInstance in WKC. -sqlstore.persistencemgr.releaseexclusivelock=releaseExclusiveock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.releasesharedlock=releaseShareLock(), thread {0} with _readWriteCount = {1}. -sqlstore.persistencemgr.replacingdeletedinstance=Replacing deleted instance with new for Object Id: {0}. -sqlstore.persistencemgr.setkeyfields=---PersistenceManagerImpl.setKeyFields() error: {0}. -# -# -# -sqlstore.sqlpersistencemgrfactory.getfrompool.pmt=<--SQLPersistenceManagerFactory.getFromPool() PM: {0} for JTA {1}. -sqlstore.sqlpersistencemgrfactory.getfrompool=<--SQLPersistenceManagerFactory.getFromPool(). -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.found= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() found jakarta.transaction.Transaction: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx.notfound=<->SQLPersistenceManagerFactory.getPersistenceManager() not found JDO Transaction. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx=<->SQLPersistenceManagerFactory.getPersistenceManager() JDO Transaction: {0}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmclosedfor= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() PM is closed for: {1}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmt= {0} <->SQLPersistenceManagerFactory.getPersistenceManager() : {1} for JTA: {2}. -sqlstore.sqlpersistencemgrfactory.getpersistencemgr=:{0} -->SQLPersistenceManagerFactory.getPersistenceManager(). -sqlstore.sqlpersistencemgrfactory.init=---SQLPersistenceManagerFactory.initialize(). -sqlstore.sqlpersistencemgrfactory.pmCacheBucketSize=---SQLPersistenceManagerFactory pmCacheBucketSize = {0}. -sqlstore.sqlpersistencemgrfactory.pmCacheInitialCapacity=---SQLPersistenceManagerFactory pmCacheInitialCapacity = {0}. -sqlstore.sqlpersistencemgrfactory.registerpersistencemgr.pmt=<->SQLPersistenceManagerFactory.registerPersistenceManager() PM: {0} for JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.releasepm.pmt=---SQLPersistenceManagerFactory.releasePersistenceManager() PM:{0} for JTA Tx: {1}. -sqlstore.sqlpersistencemgrfactory.returnToPool=<--SQLPersistenceManagerFactory.returnToPool(). - - -############################################################################### -# -# Message ID Range: JDO76100 - JDO76199 -############################################################################### -core.configuration.columnnotable=JDO76100: The column descriptor did not have a valid table descriptor. -core.configuration.fieldnotable=JDO76101: The field {0} is not associated with any table. -core.configuration.fieldnotmapped=JDO76102: The persistent field {0} for the class {1} is not mapped. -core.configuration.iddescnofield=JDO76103: The SqlIDDesc object was not set up properly. There are no field descriptors available. -core.configuration.loadfailed.class=JDO76104: Failed to load the configuration for class {0}. -core.configuration.noneexistentpkfield=JDO76105: The field {0} in the ObjectId class {1} does not exist in the PersistenceCapable class {2}. -core.configuration.unsupportedconsistencylevel=JDO76106: The class {0} has an unsupported consistency level. Currently supported consistency levels are "none", "check-modified-at-commit", "lock-when-loaded", and "check-version-of-accessed-instances". -core.configuration.validationfailed=JDO76107: The mapping for class {0} is invalid:\n{1}. -core.configuration.validationproblem=JDO76108: Validation error in class {0}: {1} -# -# -# -core.fielddesc.minvalue=JDO76109: Value: {0} is less than minimum allowed: {1} for the field type {2}. -core.fielddesc.maxvalue=JDO76110: Value: {0} is greater than maximum allowed: {1} for the field type {2}. -core.configuration.noneexistentvcfield=JDO76111: The field {0} is marked as version field but does not exist in the PersistenceCapable class {1}. -core.configuration.loadfailed.field=JDO76112: Failed to load the configuration for field {0} in class {1}. - -# -# -# -sqlstore.model.classdesc.assocrelatedfield=associated relationship field = {0}. -sqlstore.model.classdesc.createsqldesc=creating SqlIDDesc from {0}. -sqlstore.model.classdesc.fieldinfo=field name = {0}, id= {1}. -sqlstore.model.classdesc.general={0}.{1} =>{2} -sqlstore.model.classdesc.getlocalfielddesc=<-> SqlPersistenceDesc.getLocalFieldDesc(), class ={0} added hidden field {1} for column {2}. -sqlstore.model.classdesc.loadedclass=Successfully loaded oid class= {0}. -sqlstore.model.classdesc.persistconfiginit.exit=<-- SqlPersistenceConfig.initialize(). -sqlstore.model.classdesc.persistconfiginit=--> SqlPersistenceConfig.initialize(), class = {0}. -sqlstore.model.classdesc.pkfield=PK field = {0}. -sqlstore.model.classdesc.primarytrackedfield=field {0} is the primary tracked field . -sqlstore.model.classdesc.unsetconcurrencychk=unsetting IN_CONCURRENCY_CHECK property for lf {0}. -sqlstore.model.classdesc.unsetrefintegrityupdate=unsetting REF_INTEGRITY_UPDATES property for ff {0}. -sqlstore.model.classdesc.vcfield=Version consistency field = {0}. -sqlstore.model.fielddesc.addingfield=adding field {0} to be tracked by field {1}. -sqlstore.model.fielddesc.convertvalue.from_to=convertValue: {0} From: {1} To: {2}. -sqlstore.model.fielddesc.convertvalue.hidden=convertValue: hidden {0} ... return. -sqlstore.model.fielddesc.convertvalue=convertValue: NULL ... return. -sqlstore.model.fielddesc.fieldname={0} = {1}. -sqlstore.model.fielddesc.setupdesc=setupDesc(): fieldName {0} fieldType {1}. -sqlstore.model.configcacheimpl.size_before={0} size before cleanup: {1}. -sqlstore.model.configcacheimpl.size_after={0} size after cleanup: {1}. - - -############################################################################### -# -# Message ID Range: JDO76200 - JDO76299 -############################################################################### -core.statemanager.anotherowner=JDO76200: Cannot assign SCO instance that is owned by another object. -core.statemanager.cantnewoid=JDO76201: Failed to create a new primary key instance of class {0}. -core.statemanager.cantschedulejointable=JDO76202: Failed to schedule the join table entry between class {0} and {1} because the relationship field description is null. -core.statemanager.cantsetkeyfield=JDO76203: Failed to set the value for the primary key field {0}. -core.statemanager.conflictingvalues=JDO76204: Conflicting values between field {0} and field {1} which are mapped to the same column -core.statemanager.getfieldfailed=JDO76205: Failed to get field. -core.statemanager.invalidpk=JDO76206: Invalid null primary key field {0} when reloading an instance of persistence capable class {1}. The ObjectId of the instance is {2}. -core.statemanager.nopkupdate=JDO76207: Update of a primary key field is not allowed. -core.statemanager.nopm=JDO76208: The state manager does not contain a reference to the persistence manager. -core.statemanager.notnavigable=JDO76209: An attempt was made to access the field {0} of the class {1}. This field was not previously instantiated and this class does not allow dynamic navigation. You must either request the field when retrieving the class or allow dynamic navigation so that it can be retrieved automatically when accessed. -core.statemanager.objectnotfound=JDO76210: Object does not exist in the data store. -core.statemanager.poshiddenindex=JDO76211: The index to a hidden field should be negative but we got an index of {0}. -core.statemanager.readonly=JDO76212: An attempt was made to modify the read-only field {0} of the class {1}. -core.statemanager.releaselock.wrongthread=JDO76213: This thread {0} does not hold StateManager lock. -core.statemanager.setfieldfailed=JDO76214: Failed to set field. -core.statemanager.wrongusageforoverlappingpkfkdelete=JDO76215: Incorrect attempt to remove an instance from a managed relationship. The relationship is defined by a primary key column on the other side. A remove operation on a collection requires updating the column on the other side, and primary key update is not allowed. Therefore, removal of an instance from a managed relationship collection defined by a primary key can only be done by deleting the instance, either explicitly or by cascade delete. -core.statemanager.toomanyrows=JDO76215: More than one row was returned for one of the tables mapped to the class {0}. Each table mapped to a class should have only one row for each instance of the object. -core.statemanager.copyFields.mismatch=JDO76216: Attempt to copy fields from one StateManager to another which are managing instances of different types: {0} and {1}. - -# -# -# -sqlstore.sqlstatemanager.adddependency=<-> SQLStateManager.addDependency(), this StateManager: {0}, other StateManager: {1}. -sqlstore.sqlstatemanager.addupdate=<-> SQLStateManager.addUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.applyupdates.exit=<-- SqlStateManager.applyUpdates(). -sqlstore.sqlstatemanager.applyupdates=--> SqlStateManager.applyUpdates(), field = {0}. -sqlstore.sqlstatemanager.clearpersistencefields.exit=<--- SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.clearpersistencefields=--> SqlStateManager.clearPersistenceFields(). -sqlstore.sqlstatemanager.copychanges.exit=<-- SQLStateManager.copyChanges(). -sqlstore.sqlstatemanager.copychanges=--> SQLStateManager.copyChanges(), state manager = {0}. -sqlstore.sqlstatemanager.deletepersistence=<-> SqlStateManager.deletePersistence(), type = {0}. -sqlstore.sqlstatemanager.getbeforeimage.exit=<-- SqlStateManager.getBeforeImage(). -sqlstore.sqlstatemanager.getbeforeimage=--> SqlStateManager.getBeforeImage(), type = {0}. -sqlstore.sqlstatemanager.isbeforeimagerequired=isBeforeImageRequired is : {0}. -sqlstore.sqlstatemanager.loadforread.exit=<-- SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforread=--> SQLStateManager.loadForRead(). -sqlstore.sqlstatemanager.loadforupdate.exit=<-- SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loadforupdate=--> SQLStateManager.loadForUpdate(). -sqlstore.sqlstatemanager.loggingfield=logging field = {0} with value = {1}. -sqlstore.sqlstatemanager.makedirty.fixscocollection=--- SqlStateManager.makeDirty(), fix SCOCollection. -sqlstore.sqlstatemanager.makedirty.fixscodate=--- SqlStateManager.makeDirty(), fix SCODate. -sqlstore.sqlstatemanager.makedirty=--> SqlStateManager.makeDirty(), field = {0}. -sqlstore.sqlstatemanager.makedirtyfield=Marked dirty field = {0}. -sqlstore.sqlstatemanager.makepersistence=<-> SqlStateManager.makePersistence(), type = {0}. -sqlstore.sqlstatemanager.makepresent=--> SqlStateManager.makePresent(), field = {0}. -sqlstore.sqlstatemanager.marking=marking: {0} as present. -sqlstore.sqlstatemanager.newtype=New Type: {0}. -sqlstore.sqlstatemanager.nosuchmethodexcep.clone=Exception : {0} clone ... for type {1}. -sqlstore.sqlstatemanager.preparegetfield.exit=<-- SqlStateManager.prepareGetField(). -sqlstore.sqlstatemanager.preparegetfield=--> SqlStateManager.prepareGetField(), name = {0}. -sqlstore.sqlstatemanager.preparesetfield.exit=<-- SQLStateManager.prepareSetField(). -sqlstore.sqlstatemanager.preparesetfield=--> SQLStateManager.prepareSetField(), name = {0}. -sqlstore.sqlstatemanager.preparetoupdateph1.exit=<-- SqlStateManager.prepareToUpdateI(). -sqlstore.sqlstatemanager.preparetoupdateph1=--> SqlStateManager.prepareToUpdatePhaseI(), type = {0}. -sqlstore.sqlstatemanager.preparetoupdateph2.exit=<-- SqlStateManager.prepareToUpdateII(). -sqlstore.sqlstatemanager.preparetoupdateph2=--> SqlStateManager.prepareToUpdatePhaseII(), type = {0}. -sqlstore.sqlstatemanager.preparetoupdateph3.exit=<-- SqlStateManager.prepareToUpdateIII(). -sqlstore.sqlstatemanager.preparetoupdateph3=--> SqlStateManager.prepareToUpdatePhaseIII(), type = {0}. -sqlstore.sqlstatemanager.prepareupdatefield.exit=<-- SQLStateManager.prepareUpdateField(). -sqlstore.sqlstatemanager.prepareupdatefield=--> SQLStateManager.prepareUpdateField(), name = {0} for state: {1}. -sqlstore.sqlstatemanager.prepareupdatefieldspl.exit=<-- SQLStateManager.prepareUpdateFieldSpecial(). -sqlstore.sqlstatemanager.prepareupdatefieldspl=--> SQLStateManager.prepareUpdateFieldSpecial, name = {0} for state: {1}. -sqlstore.sqlstatemanager.processcollectionupdate.exit=<-- SQLStateManager.processCollectionUpdates(). -sqlstore.sqlstatemanager.processcollectionupdate=--> SQLStateManager.processCollectionUpdates(), beforeList={0}, afterlist={1}. -sqlstore.sqlstatemanager.processforeign=process foreign field ={0}. -sqlstore.sqlstatemanager.processforeignfield.remove=-- SQLStateManager.processForeignField(): was Collection - remove. -sqlstore.sqlstatemanager.processforeignfield.remove_from_bi=-- SQLStateManager.processForeignField(): is SCOCollection - remove from BI. -sqlstore.sqlstatemanager.processforeignfield.reset=-- SQLStateManager.processForeignField(): was SCOCollection - reset. -sqlstore.sqlstatemanager.processforeignfield=-- SQLStateManager.processForeignField(): value: {0} type: {1}. -sqlstore.sqlstatemanager.realizefield.exit=<-- SqlStateManager.realizeField(). -sqlstore.sqlstatemanager.realizefield=--> SqlStateManager.realizeField(), name = {0}. -sqlstore.sqlstatemanager.realizeforeignfield.exit=<-- SqlStateManager.realizeField(), field realized = {0}. -sqlstore.sqlstatemanager.realizeforeignfield=--> SqlStateManager.realizeField(), name = {0}. -sqlstore.sqlstatemanager.recordingfield=recording field = {0}. -sqlstore.sqlstatemanager.refreshpersistent.exit=<-- SqlStateManager.refreshPersistent(). -sqlstore.sqlstatemanager.refreshpersistent=--> SqlStateManager.refreshPersistence(), type = {0}. -sqlstore.sqlstatemanager.reload.exit=<-- SqlStateManager.reload(FieldDesc). -sqlstore.sqlstatemanager.reload=--> SqlStateManager.reload(FieldDesc), type = {0}, field = {1}. -sqlstore.sqlstatemanager.removeupdate=<-> SQLStateManager.removeUpdatedForeignReference(), lobj={0}, f={1}, fobj={2}, refCount={3}. -sqlstore.sqlstatemanager.replaceobjectfield.unsetsco=-- SqlStateManager.replaceObjectField(), unset SCO. -sqlstore.sqlstatemanager.replaceobjectfield=-- SqlStateManager.replaceObjectField(), field = {0}, type= {1}. -sqlstore.sqlstatemanager.reset=--> SqlStateManager.reset(), retValues = {0}, wasNew: {1}, keepState: {2}. -sqlstore.sqlstatemanager.resettingcollection=Resetting Collection. -sqlstore.sqlstatemanager.resettingdate=Resetting Date. -sqlstore.sqlstatemanager.resolvedependencies=<-> SQLStateManager.resolveDependencies(), obj={0}. -sqlstore.sqlstatemanager.resolvedependency=<-> SQLStateManager.resolveDependency(), dependency resolved: lobj={0}, f={1}, fobj={2}. -sqlstore.sqlstatemanager.retrieve.exit=<-- SqlStateManager.retrieve(). -sqlstore.sqlstatemanager.retrieve=--> SqlStateManager.retrieve(), name = {0}. -sqlstore.sqlstatemanager.retrieveforeign.exit=<-- SqlStateManager.retrieveForeign(). -sqlstore.sqlstatemanager.retrieveforeign=--> SqlStateManager.retrieveForeign(), name = {0}. -sqlstore.sqlstatemanager.unsetmask=unsetting masks for field = {0}. -sqlstore.sqlstatemanager.unconditionalreload.exit=<-- SqlStateManager.reload(). -sqlstore.sqlstatemanager.unconditionalreload=--> SqlStateManager.reload(), type = {0}. -sqlstore.sqlstatemanager.updatebeforeimage=<-> SQLStateManager.updateBeforeImage(), name = {0}, value = {1}. -sqlstore.sqlstatemanager.updateobjfield.exit=<-- SQLStateManager.updateObjectField(). -sqlstore.sqlstatemanager.updateobjfield=--> SQLStateManager.updateObjectField(), name = {0}, type = {1}. -sqlstore.sqlstatemanager.updatepersistent.exit=<-- SqlStateManager.updatePersistent(). -sqlstore.sqlstatemanager.updatepersistent.immediateflush=<--> SqlStateManager.updatePersistent(), immediate flush required: obj={0}, next={1}. -sqlstore.sqlstatemanager.updatepersistent.skipped=<--> SqlStateManager.updatePersistent() skipped, type ={0}, obj= {1}. -sqlstore.sqlstatemanager.updatepersistent=--> SqlStateManager.updatePersistent(), type = {0}. -sqlstore.sqlstatemanager.updatetrackedfields.exit=<-- updateTrackedFields(). -sqlstore.sqlstatemanager.updatetrackedfields=--> updateTrackedFields(), f = {0} value = {1} fieldToIgnore = {2}. - - -############################################################################### -# -# Message ID Range: JDO76300 - JDO76399 -############################################################################### -core.constraint.duporderby=JDO76300: The constraint is an \"order by\" for the field {0} which has already been specified in an \"order by\" constraint. -core.constraint.fielddisallowed=JDO76301: The fieldName parameter was specified, but it is disallowed with the operation {0}. -core.constraint.fieldrequired=JDO76302: The fieldName parameter is missing, but the operation {0} requires a field. -core.constraint.illegalParameterInfo=JDO76303: addConstraint() for OP_PARAMETER must be called with value of type ParameterInfo. -core.constraint.illegalnode=JDO76304: Illegal constraint node {0} in the SqlConstraint stack. -core.constraint.illegalop=JDO76305: The operation parameter contained an illegal value of {0}. -core.constraint.needfieldnamenode=JDO76306: Error in the constraint stack. A field name is expected. -core.constraint.needfieldnode=JDO76307: Error in the constraint stack. An field description is expected. -core.constraint.needvalnode=JDO76308: Error in the constraint stack. A value is expected. -core.constraint.stackempty=JDO76309: The constraint stack is empty -- not enough values for the number of operator. -core.constraint.unknownfield=JDO76310: The field {0} specified in the retrieve descriptor is not a member of the class {1}. -core.constraint.valdisallowed=JDO76311: The value parameter was specified, but it is disallowed with the operation {0}. -core.constraint.valrequired=JDO76312: The value parameter is missing, but the operation {0} requires a value. -sqlstore.resultdesc.errorgettingvalefromresulset=JDO76313: Error while getting value from resultset at index {0} as resultType {1}. columnSqlType {2}. Exception: {3} -sqlstore.resultdesc.foreignfieldprojection=JDO76314: Queries for {0} should not have projections on a relationship field. -sqlstore.resultdesc.unknownfieldtype=JDO76317: Encountered unknown field type {0}. -sqlstore.retrievedesc.toomanyprojections=JDO76318: Cannot set more than one projection for a RetrieveDesc. -sqlstore.retrievedesc.toomanyresulttypes=JDO76319: Cannot set more than one result type for a RetrieveDesc. -sqlstore.selectstatement.noupdatelocksupport=JDO76320: One of the object types involved in this query is at consistency level "lock-when-loaded". Enforcing this consistency level requires data store to support locking for update at row level. The data store does not support locking for update at row level. -sqlstore.sql.generator.statement.likeescapenotsupported=JDO76321: LIKE ESCAPE clause is not supported on this database. -sqlstore.sql.generator.statement.positionthreeargsnotsupported=JDO76322: Third arg for POSITION clause must be 1. -core.configuration.classnotmapped=JDO76323: The class {0} is not mapped. -core.configuration.classnotmappedtotable=JDO76324: The class {0} is not mapped to the table {1}. -sqlstore.sql.generator.statement.unexpectedconstraint=JDO76325: A constraint for operation {0} can never be the root of a where clause. - -# -# Following messages are used within other messages. They need to be i18ned but need not be numbered. -# -sqlstore.sql.generator.statement.sqlStatement=SQL statement -sqlstore.sql.generator.statement.withinputvalues= input values: -sqlstore.sql.generator.statement.withnoinputvalues= no input values. - - -# -# -# -sqlstore.resultdesc.deserializing=deserializing = {0}. -sqlstore.resultdesc.marking_field=marking local field {0} as present. -sqlstore.resultdesc.marking_foreign_field=marking foreign field {0} as present. -sqlstore.resultdesc.marking_key_field=marking key field {0} as present. -sqlstore.resultdesc.returning_field=returning field {0} as projection. -# -# -# -sqlstore.sql.concurrency.concurrencychkdirty.exit=--> ConcurrencyCheckDirty.update(). -sqlstore.sql.concurrency.concurrencychkdirty=--> ConcurrencyCheckDirty.update(), beforeImage = {0}. -sqlstore.sql.concurrencyoptverify.resumetx=<--> ConcurrencyOptVerify.resume(), resumed transaction = {0}. -sqlstore.sql.concurrencyoptverify.suspendtx=<--> ConcurrencyOptVerify.suspend(), suspended transaction = {0}. -sqlstore.sql.concurrencyoptverify.update.exit=<-- ConcurrencyOptVerify.update(). -sqlstore.sql.concurrencyoptverify.update=--> ConcurrencyOptVerify.update(), beforeImage = {0}. -sqlstore.sql.generator.dbstatement.addbatch=addbatch ({0}) -sqlstore.sql.generator.dbstatement.bindinputcolumn=bindInputColumn index: {0} value: {1} sqlType: {2}. -sqlstore.sql.generator.dbstatement.executebatch=executeBatch executing {0} command(s) -sqlstore.sql.generator.selectqueryplan.processforeignfield.exit=<-- SelectQueryPlan.processForeignFields(). -sqlstore.sql.generator.selectqueryplan.processforeignfield=--> SelectQueryPlan.processForeignFields(), class = {0}. -sqlstore.sql.generator.selectqueryplan.processlocalfield.exit=<-- SelectQueryPlan.processLocalFields(). -sqlstore.sql.generator.selectqueryplan.processlocalfield=--> SelectQueryPlan.processLocalFields(), class = {0}. -sqlstore.sql.generator.selectqueryplan.processstmts.exit=<-- SelectQueryPlan.processStatements(). -sqlstore.sql.generator.selectqueryplan.processstmts=--> SelectQueryPlan.processStatements(), class = {0}, statements = {1}. -sqlstore.sql.updateobjdescimpl.afterimagenull=AfterImage is not set. -sqlstore.sql.updateobjdescimpl.beforeimagenull=BeforeImage is not set. -sqlstore.sql.updateobjdescimpl.markrelationshipchange=<--> UpdateDesc.markRelationshipChange(). -sqlstore.sql.updateobjdescimpl.updated={0} is updated. - - -############################################################################### -# -# Message ID Range: JDO76400 - JDO76499 -############################################################################### -# -# -# -core.persistencestore.jdbcerror=JDO76400: Got a JDBC SQLException while executing the SQL statement:\n{0}.\nPlease examine the SQLException for more information. -sqlstore.retrievedesc.stmntsnotjoined=JDO76401: Unsupported multiple SQL statements for one RetrieveDesc. -core.persistencestore.toofewrows=JDO76402: Fewer rows were returned from the database when attempting to get the value for the association {1} of the class {0} than the cardinality of this association allows. The minimum number of rows allowed is {2}. -core.persistencestore.toomanyobjforcard1=JDO76403: Database not consistent with persistent model. An attempt to retrieve the object referred to by the {1} association of the {0} class retrieved {2} items, but only 1 item can be accommodated since the cardinality upper bound for the association is 1. -core.persistencestore.toomanyrows=JDO76405: More rows were returned from the database when attempting to get the value for the association {1} of the class {0} than the cardinality of this association allows. The maximum number of rows allowed is {2}. -core.store.concurrentaccess=JDO76406: Concurrent access exception: object to {0} has been updated or deleted by another transaction. -sqlstore.sqlstoremanager.errorcloseresultset=JDO76407: Error closing SQL result set. Exception: {0} -sqlstore.sqlstoremanager.errorclosestatement=JDO76408: Error closing SQL statement. Exception: {0} -sqlstore.sql.generator.selectqueryplan.plansnotjoined=JDO76409: Unsupported multiple query plans for one RetrieveDesc. - -# -# -# -sqlstore.sqlstoremanager.executeQuery.exit=<-- SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeQuery=--> SQLStoreManager.executeQuery(). -sqlstore.sqlstoremanager.executeupdate.exit=<-- SQLStoreManager.executeUpdate(), rows affected = {0}. -sqlstore.sqlstoremanager.executeupdate=--> SQLStoreManager.executeUpdate(). -sqlstore.sqlstoremanager.executeupdatebatch.addbatch={0}; add batch. -sqlstore.sqlstoremanager.executeupdatebatch.exit=<-- SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.executeupdatebatch.exit.flush=<-- SQLStoreManager.executeUpdateBatch(), rows affected = {0}. -sqlstore.sqlstoremanager.executeupdatebatch.flushbatch={0}; flush batch. -sqlstore.sqlstoremanager.executeupdatebatch=--> SQLStoreManager.executeUpdateBatch(). -sqlstore.sqlstoremanager.getpersistenceconfig=<--> SQLStoreManager.getPersistenceConfig(), classType = {0}. -sqlstore.sqlstoremanager.selectnoncorrelated.exit=<-- SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.selectnoncorrelated=--> SQLStoreManager.selectNonCorrelated(). -sqlstore.sqlstoremanager.vendortype=<--> SQLStoreManager: vendor type = {0}. - - -############################################################################### -# -# Message ID Range: JDO76500 - JDO76599 -############################################################################### -# -# - database -# -connection.connectionmanager.badnew=JDO76500: New ''{0}'' must be greater than or equal to current ''{1}''. -connection.connectionmanager.badvalue=JDO76501: Invalid value for ''{0}''. -connection.connectionmanager.conntimeout=JDO76502: Connection timeout expired. -connection.connectionmanager.getconnection.mismatch=JDO76503: Pooled Connection does not have the same user context. -connection.connectionmanager.isdown=JDO76504: The Connection Manager is being shut down. -connection.connectionmanager.maxpool=JDO76505: Connection pool is at maximum. -connection.connectionmanager.msintervalvalue=JDO76506: MsInterval must be greater than zero and less than or equal to MsWait. -connection.connectionmanager.mswaitvalue=JDO76507: MsWait must be greater than or equal to zero. -connection.connectionmanager.nulldriver=JDO76508: NULL value for Driver Name. -connection.connectionmanager.nullurl=JDO76509: NULL value for URL. -connection.connectionmanager.poolsize=JDO76510: 'maxPool' must be greater than or equal to 'minPool'. -connection.connectionmanager.threaditerupted=JDO76511: Thread interrupted. -connection.connectionmanager.zero=JDO76512: ''{0}'' must be greater than or equal to zero. -# -# -# -sqlstore.database.dbvendor.cantloadDefaultProperties=JDO76513: Can not load properties for default database. -sqlstore.database.dbvendor.init.default=JDO76514: -->Could not load property for vendor type {0}. Defaults will be used. -sqlstore.database.dbvendor.cantinstantiateclass=JDO76515: Failed to instantiate the class {0}. -# -# -# -sqlstore.database.oracle.defineCol=JDO76516: Failed to define column for statement. -sqlstore.database.oracle.nooracleavailable=JDO76517: While initializing Oracle resource factory ''{0}'', failed to get an instance of either oracle.jdbc.OraclePreparedStatement or oracle.jdbc.driver.OraclePreparedStatement. Oracle specific optimization will be disabled. If instances that use this resource require binding values for columns mapped to Fixed Char column, the values will be padded with spaces to the length specified in the corresponding dbschema file. -sqlstore.database.oracle.fixedcharpadded=JDO76518: Value "{0}" is bound to a CHAR column. This requires special handling on Oracle. As the class OraclePreparedStatement could not be obtained from the driver, the value is padded with spaces to the length {1} as specified in the captured dbschema file. -# -# -# -core.configuration.getvendortypefailed=JDO76519: Failed to identify vendor type for the data store. -jdo.sqlpersistencemanagerfactory.errorgettingDatabaseInfo=JDO76520: Errors while obtaining information about the database. Got the following exception: - -# -# -# -sqlstore.connection.conncectiomgr.found=<--> ConnectionManager.getConnection: found {0}. -sqlstore.connection.conncectiomgr.getnewconn=<--> ConnectionManager.getConnection: new {0}. -sqlstore.connection.conncectiomgr.replacefreeconn=<--> ConnectionManager.replaceFreeConnection: free {0}. -sqlstore.connectionimpl.clearxact.close=--- ConnectionImpl.clearXact: connection closed . -sqlstore.connectionimpl.clearxact.disassocxact=--- ConnectionImpl.clearXact: disassociateXact . -sqlstore.connectionimpl.clearxact=--- ConnectionImpl.clearXact: . -sqlstore.connectionimpl.close.connrelease=<--- ConnectionImpl.close: connection released. -sqlstore.connectionimpl.close.exit=<--- ConnectionImpl.close: connection closed. -sqlstore.connectionimpl.close.freepending=<--- ConnectionImpl.close: set FreePending. -sqlstore.connectionimpl.close.putfreelist=<--- ConnectionImpl.close: put in freeList. -sqlstore.connectionimpl.close.replaced=<--- ConnectionImpl.close: connection replaced. -sqlstore.connectionimpl.close=---> ConnectionImpl.close. -sqlstore.connectionimpl.close_arg=---> ConnectionImpl.close: {0}. -sqlstore.connectionimpl.commit=--- ConnectionImpl.commit: connection closed. -sqlstore.connectionimpl.finalize=--- ConnectionImpl.finalize: connection closed. -sqlstore.connectionimpl.internalcommit=--- ConnectionImpl.internalCommit: . -sqlstore.connectionimpl.pendingdisassocxact=--- ConnectionImpl.clearXact: Pending disassociateXact. -sqlstore.connectionimpl.rollback.close=--- ConnectionImpl.rollback: connection closed. -sqlstore.connectionimpl.rollback=--- ConnectionImpl.rollback:. -# -# -# -sqlstore.database.dbvendor.castRequiredForNumericValues=<-> DBVendorType.isCastRequiredForNumericValues(): {0}. -sqlstore.database.dbvendor.getModFunctionName=<-> DBVendorType.getModFunctionName(): {0}. -sqlstore.database.dbvendor.getNullComparisonFunctionName=<-> DBVendorType.getNullComparisonFunctionName(): {0}. -sqlstore.database.dbvendor.getConcatCast=<-> DBVendorType.getConcatCast(): {0}. -sqlstore.database.dbvendor.getSpecialDBOperation=<-> DBVendorType.getSpecialDBOperation(): {0}. -sqlstore.database.dbvendor.getabs=<-> DBVendorType.getAbs(): {0}. -sqlstore.database.dbvendor.getcharlength=<-> DBVendorType.getCharLength(): {0}. -sqlstore.database.dbvendor.getforupdate=<-> DBVendorType.getForUpdate(): {0}. -sqlstore.database.dbvendor.getholdlock=<-> DBVendorType.getHoldlock(): {0}. -sqlstore.database.dbvendor.getisnotnull=<-> DBVendorType.getIsNotNull(): {0}. -sqlstore.database.dbvendor.getisnull=<-> DBVendorType.getIsNull(): {0}. -sqlstore.database.dbvendor.getleftjoin=<-> DBVendorType.getLeftJoin(): {0}. -sqlstore.database.dbvendor.getleftjoinpost=<-> DBVendorType.getLeftJoinPost(): {0}. -sqlstore.database.dbvendor.getleftlikeescape=<-> DBVendorType.getLeftLikeEscape(): {0}. -sqlstore.database.dbvendor.getnotequal=<-> DBVendorType.getNotEqual(): {0}. -sqlstore.database.dbvendor.getposition3args=<-> DBVendorType.getPositionThreeArrgs(): {0}. -sqlstore.database.dbvendor.getposition=<-> DBVendorType.getPosition(): {0}. -sqlstore.database.dbvendor.getpositionin=<-> DBVendorType.getPositionIn(): {0}. -sqlstore.database.dbvendor.getpositionsrchsrc=<-> DBVendorType.getPositionSearchSource(): {0}. -sqlstore.database.dbvendor.getquotecharstart=<-> DBVendorType.getQuoteCharStart(): {0}. -sqlstore.database.dbvendor.getrightjoinipre=<-> DBVendorType.getRightJoin(): {0}. -sqlstore.database.dbvendor.getrightlikeescape=<-> DBVendorType.getRightLikeEscape(): {0}. -sqlstore.database.dbvendor.getrtrim=<-> DBVendorType.getRtrim(): {0}. -sqlstore.database.dbvendor.getrtrimpost=<-> DBVendorType.getRtrimPost(): {0}. -sqlstore.database.dbvendor.getsqrt=<-> DBVendorType.getSqrt(): {0}. -sqlstore.database.dbvendor.getstringconcat=<-> DBVendorType.getStringConcat(): {0}. -sqlstore.database.dbvendor.getsubstring=<-> DBVendorType.getSubstring(): {0}. -sqlstore.database.dbvendor.getsubstringfor=<-> DBVendorType.getSubstringFor(): {0}. -sqlstore.database.dbvendor.getsubstringfrom=<-> DBVendorType.getSubstringFrom(): {0}. -sqlstore.database.dbvendor.gettablelistend=<-> DBVendorType.getTableListEnd(): {0}. -sqlstore.database.dbvendor.gettableliststart=<-> DBVendorType.getTableListStart(): {0}. -sqlstore.database.dbvendor.isAnsiTrim=<-> DBVendorType.isAnsiTrim(): {0}. -sqlstore.database.dbvendor.isInlineNumeric=<-> DBVendorType.isInlineNumeric(): {0}. -sqlstore.database.dbvendor.isNativeOuterJoin=<-> DBVendorType.isNativeOuterJoin(): {0}. -sqlstore.database.dbvendor.isParameterCast=<-> DBVendorType.isParameterCast(): {0}. -sqlstore.database.dbvendor.isdistinctupdatelocksupported=<-> DBVendorType.isDistinctSupportedWithUpdateLock(): {0}. -sqlstore.database.dbvendor.islockcolumnlistsupported=<-> DBVendorType.isLockColumnListSupported(): {0}. -sqlstore.database.dbvendor.isupdatelocksupported=<-> DBVendorType.isUpdateLockSupported(): {0}. -sqlstore.database.dbvendor.mapemptystrtonull=<-> DBVendorType.mapEmptyStringToNull(): {0}. -sqlstore.database.dbvendor.overrideproperties.with=<-> DBVendorType.overrideProperties() : {0} with: {1}. -sqlstore.database.dbvendor.overrideproperties=<-> DBVendorType.overrideProperties() - NONE. -sqlstore.database.dbvendor.supportslikeescape=<-> DBVendorType.supportsLikeEscape(): {0}. -sqlstore.database.dbvendor.vendorname=<-> DBVendorType(), vendorName: [{0}] vendorType: {1}. -# -# -# -sqlstore.transactionimpl.call.info={0} Tran[ {1} ].{2}: {3} for {4}. -sqlstore.transactionimpl.call={0} Tran[ {1} ].{2}:status = {3}, txType: {4} for {5}. -sqlstore.transactionimpl.closeconnection=--- TransactionImpl.closeConnection() {0} for {1}. -sqlstore.transactionimpl.general={0}. -sqlstore.transactionimpl.getconnection=--- TransactionImpl.getConnection(): {0} TX optimistic: {1} referenceCount = {2} for {3}. -sqlstore.transactionimpl.releaseconnection=--- TransactionImpl.releaseConnection(): TX optimistic: {0} Inside Commit: {1} referenceCount: {2} for {3}. -sqlstore.transactionimpl.rollbackconnection=--- TransactionImpl.rollbackConnection(): {0} for {1}. -sqlstore.transactionimpl.status={0} Tran[ {1} ].setStatus: {2} => {3} for {4}. - - -############################################################################### -# All the source files under subdir ejb. -# Message ID Range: JDO76600 - JDO76699 -############################################################################### -# -#EJBHelper messages -# -# {0} - method name -ejb.ejbhelper.nonmanaged=JDO76600: Method {0} should not be called in a non-managed environment. - -# -# Common messages between SunContainerHelper and DeploymentHelper -# so they have a neutral key, that still starts with "ejb". -# -# {0} - jndi name. -ejb.jndi.lookupfailed=JDO76604: JNDI lookup for cmp-resource ''{0}'' failed. -JDO76604.diag.cause.1=CMP resource with this JNDI name is not registered with this instance. -JDO76604.diag.cause.2=JNDI name for the CMP resource is misspelled. -JDO76604.diag.check.1=Check JNDI name for the resource you plan to use. -JDO76604.diag.check.2=Check JNDI name of the CMP resource specified in the module. - -# {0} - jndi name. -# {1} - returned class name. -ejb.jndi.unexpectedinstance=JDO76605: JNDI lookup for cmp-resource ''{0}'' returned an instance of an unexpected type: {1}. -JDO76605.diag.cause.1=CMP resource with this JNDI name does not reference jdbc-resource or persistence-manager-factory-resource. -JDO76605.diag.cause.2=JNDI name for the CMP resource is misspelled. -JDO76605.diag.check.1=Check JNDI name for the resource you plan to use. -JDO76605.diag.check.2=Check JNDI name of the CMP resource specified in the module. - -# -# DeploymentHelper messages - ejb -# -# -# -# -ejb.DeploymentHelper.getconnection=Getting connection for JNDI name ''{0}''. - -# The messages JDO76606 through JDO76615 that were originally here -# have been moved to -# cmp/support/ejb/src/com/sun/jdo/spi/persistence/support/ejb/ejbc/Bundle.properties -# As part of INF# -# So do not use these messages. - - -# -#CMPHelper messages -# -ejb.cmphelper.nonmanaged=JDO76613: Invalid access of CMPHelper. This class is used for CMP support only and should not be called outside an application server. - -# -#SunTransactionHelper messages -# - -# {0} class name -ejb.SunTransactionHelper.wrongdatasourcetype=JDO76616: DataSource is not of the expected type. Expected: com.sun.appserv.jdbc.DataSource got: {0}. - - -############################################################################### -# -############################################################################### -# -# -# -vendor=Sun Microsystems -# majorVersion (minorVersion) buildDate -fullVersion={0} ({1}) {2} -# -# -# -core.generic.unknownfield=The field {0} is not a member of the class {1}. -core.generic.unknownexception=Got an unknown exception. -core.generic.nullparam=The {0} parameter is null. -core.generic.notinstanceof=The object of class {0} is not an instance of {1}. - - -############################################################################### -# -############################################################################### -core.configuration.cantloadclass=Failed to load the class {0}. -sqlstore.exception.log=Exception. -jdo.lifecycle.deleted.accessField=Cannot access field of a deleted instance. diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ConfigCache.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ConfigCache.java deleted file mode 100644 index 7a80b23c546..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ConfigCache.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -/** - * Interface to access SQLStore config information. - * - * @author Marina Vatkina - */ -public interface ConfigCache { - - /** - * Get the PersistenceConfig for given pcClass. The config is looked up - * from a cache. If a config can not be found in cache, a new - * instance is created and returned. - * - * @param pcClass The input pcClass. - * @return PersistenceConfig for given pcClass. - */ - PersistenceConfig getPersistenceConfig(Class pcClass); - - /** - * Gets the Class instance corresponding to given oidType. - * - * @param oidType The input oidType. - * @return The Class instance corresponding to given oidType. - */ - Class getClassByOidClass(Class oidType); - - /** - * Sets VersionConsistencyCache field. - * - * @param vcCache the VersionConsistencyCache instance. - */ - void setVersionConsistencyCache(VersionConsistencyCache vcCache); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ExtentCollection.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ExtentCollection.java deleted file mode 100644 index 10fa3309d8f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ExtentCollection.java +++ /dev/null @@ -1,244 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ExtentCollection.java - * - * Created on April 6, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -import com.sun.jdo.api.persistence.support.JDOUnsupportedOptionException; -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; -import com.sun.jdo.api.persistence.model.Model; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.Collection; -import java.util.Iterator; -import java.util.ResourceBundle; - -/** - * - * @author Michael Bouschen - * @version 0.1 - */ -public class ExtentCollection - implements Collection { - /** - * The PersistenceManager getExtent is called from - */ - protected PersistenceManager pm; - - /** - * This extent collection reperesents the extent of persistenceCapableClass. - */ - protected Class persistenceCapableClass; - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - ExtentCollection.class); - - /** - * - * @param persistenceCapableClass Class of instances - * @param subclasses whether to include instances of subclasses - */ - public ExtentCollection(PersistenceManager pm, Class persistenceCapableClass, boolean subclasses) { - this.pm = pm; - this.persistenceCapableClass = persistenceCapableClass; - - // check persistenceCapableClass parameter being null - if (persistenceCapableClass == null) - throw new JDOUserException( - I18NHelper.getMessage(messages, "jdo.extentcollection.constructor.invalidclass", "null"));// NOI18N - // check persistence-capable - if (Model.RUNTIME.getMappingClass(persistenceCapableClass.getName(), - persistenceCapableClass.getClassLoader()) == null) - throw new JDOUserException( - I18NHelper.getMessage(messages, "jdo.extentcollection.constructor.nonpc", // NOI18N - persistenceCapableClass.getName())); - - // subclasses == true is not yet supported - if (subclasses) - throw new JDOUnsupportedOptionException( - I18NHelper.getMessage(messages, "jdo.extentcollection.constructor.subclasses"));// NOI18N - } - - /** - * - */ - public Class getPersistenceCapableClass() { - return persistenceCapableClass; - } - - /** - * - */ - public int size() { - throw new JDOUnsupportedOptionException( - I18NHelper.getMessage(messages, "jdo.extentcollection.methodnotsupported", "size"));// NOI18N - } - - /** - * - */ - public boolean isEmpty() { - throw new JDOUnsupportedOptionException( - I18NHelper.getMessage(messages, "jdo.extentcollection.methodnotsupported", "isEmpty"));// NOI18N - } - - /** - * - */ - public boolean contains(Object o) { - throw new JDOUnsupportedOptionException( - I18NHelper.getMessage(messages, "jdo.extentcollection.methodnotsupported", "contains"));// NOI18N - } - - /** - * - */ - public Iterator iterator() { - RetrieveDesc rd = pm.getRetrieveDesc(persistenceCapableClass); - return ((Collection)pm.retrieve(rd)).iterator(); - } - - /** - * - */ - public Object[] toArray() { - throw new JDOUnsupportedOptionException( - I18NHelper.getMessage(messages, "jdo.extentcollection.methodnotsupported", "toArray"));// NOI18N - } - - /** - * - */ - public Object[] toArray(Object a[]) { - throw new JDOUnsupportedOptionException( - I18NHelper.getMessage(messages, "jdo.extentcollection.methodnotsupported", "toArray"));// NOI18N - } - - /** - * Extent collection is unmodifiable => throw UnsupportedOperationException - */ - public boolean add(Object o) { - throw new UnsupportedOperationException( - I18NHelper.getMessage(messages, "jdo.extentcollection.illegalmodification", // NOI18N - persistenceCapableClass.getName())); - } - - /** - * Extent collection is unmodifiable => throw UnsupportedOperationException - */ - public boolean remove(Object o) { - throw new UnsupportedOperationException( - I18NHelper.getMessage(messages, "jdo.extentcollection.illegalmodification", // NOI18N - persistenceCapableClass.getName())); - } - - /** - * - */ - public boolean containsAll(Collection c) { - throw new JDOUnsupportedOptionException( - I18NHelper.getMessage(messages, "jdo.extentcollection.methodnotsupported", "containsAll"));// NOI18N - } - - /** - * Extent collection is unmodifiable => throw UnsupportedOperationException - */ - public boolean addAll(Collection c) { - throw new UnsupportedOperationException( - I18NHelper.getMessage(messages, "jdo.extentcollection.illegalmodification", // NOI18N - persistenceCapableClass.getName())); - } - - /** - * Extent collection is unmodifiable => throw UnsupportedOperationException - */ - public boolean removeAll(Collection c) { - throw new UnsupportedOperationException( - I18NHelper.getMessage(messages, "jdo.extentcollection.illegalmodification", // NOI18N - persistenceCapableClass.getName())); - } - - /** - * Extent collection is unmodifiable => throw UnsupportedOperationException - */ - public boolean retainAll(Collection c) { - throw new UnsupportedOperationException( - I18NHelper.getMessage(messages, "jdo.extentcollection.illegalmodification", // NOI18N - persistenceCapableClass.getName())); - } - - /** - * Extent collection is unmodifiable => throw UnsupportedOperationException - */ - public void clear() { - throw new UnsupportedOperationException( - I18NHelper.getMessage(messages, "jdo.extentcollection.illegalmodification", // NOI18N - persistenceCapableClass.getName())); - } - - /** - * Two extent collections are equal, iff the names of their persistence capable class are equal - */ - public boolean equals(Object o) { - if (o == this) - return true; - if (o instanceof ExtentCollection) { - String otherClassName = ((ExtentCollection) o).persistenceCapableClass.getName(); - return persistenceCapableClass.getName().equals(otherClassName); - } - return false; - } - - /** - * The hashCode is mapped to the hashCode of the name of the extent collection's persistence capable class - */ - public int hashCode() { - return persistenceCapableClass.getName().hashCode(); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperPersistenceManager.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperPersistenceManager.java deleted file mode 100644 index 55bae968579..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperPersistenceManager.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Craig Russell - * @version 1.0 - */ -public class LogHelperPersistenceManager { - - /** The component name for this component - */ - protected static final String componentName = "persistencemanager"; //NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = LogHelperPersistenceManager.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = "com.sun.jdo.spi.persistence.support.sqlstore.Bundle"; //NOI18N - - /** Return the logger for the sqlstore component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperSQLStore.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperSQLStore.java deleted file mode 100644 index 74acaf41a93..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperSQLStore.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Craig Russell - * @version 1.0 - */ -public class LogHelperSQLStore { - - /** The component name for this component - */ - protected static final String componentName = "sqlstore"; //NOI18N - - /** The component name for SQL logger - */ - protected static final String sqlComponentName = componentName + ".sql"; //NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = LogHelperSQLStore.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = "com.sun.jdo.spi.persistence.support.sqlstore.Bundle"; //NOI18N - - /** Return the logger for the sqlstore component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - - public static Logger getSqlLogger() { - return LogHelper.getLogger (sqlComponentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperStateManager.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperStateManager.java deleted file mode 100644 index b37ad132f7b..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperStateManager.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Craig Russell - * @version 1.0 - */ -public class LogHelperStateManager { - - /** The component name for this component - */ - protected static final String componentName = "statemanager"; //NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = LogHelperStateManager.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = "com.sun.jdo.spi.persistence.support.sqlstore.Bundle"; //NOI18N - - /** Return the logger for the sqlstore component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperTransaction.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperTransaction.java deleted file mode 100644 index dbf3f37da2b..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/LogHelperTransaction.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Craig Russell - * @version 1.0 - */ -public class LogHelperTransaction { - - /** The component name for this component - */ - protected static final String componentName = "transaction"; //NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = LogHelperTransaction.class.getClassLoader(); - - /** The bundle name for this component - */ - //Resolve : Should we share bundles between various logers in this directory ? - protected static final String bundleName = "com.sun.jdo.spi.persistence.support.sqlstore.Bundle"; //NOI18N - - /** Return the logger for the sqlstore component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceCapable.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceCapable.java deleted file mode 100644 index 1112fc33e13..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceCapable.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceCapable.java - * - * Created on February 28, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - - -/** - * Internal PersistenceCapable interface. - */ -public interface PersistenceCapable - extends com.sun.jdo.api.persistence.support.PersistenceCapable -{ - /** - * Returns the associated state manager. - */ - StateManager jdoGetStateManager(); - - /** - * Sets the associated state manager. - */ - void jdoSetStateManager(StateManager sm); - - /** - * Returns the value of the JDO flags. - */ - byte jdoGetFlags(); - - /** - * Sets the value of the JDO flags, and returns the previous value. - */ - void jdoSetFlags(byte flags); - - /** - * Returns the value of the specified field. - * - * Primitive valued fields are wrapped with the corresponding - * Object wrapper type. - */ - Object jdoGetField(int fieldNumber); - - /** - * Sets the value of the specified field. - * - * Primitive valued fields are wrapped with the corresponding - * Object wrapper type. - */ - void jdoSetField(int fieldNumber, Object value); - - /** - * Creates an instance of the same class as this object. - */ - // added new method - Object jdoNewInstance(StateManager statemanager); - - /** - * Clears the fields of each persistent field. - * - * This method stores zero or null values into each persistent - * field of the instance, in effect reverting it to its initial - * state. Clearing fields allows objects referred to by this - * instance to be garbage collected. The associated StateManager - * calls this method when transitioning an instance to the hollow - * state. This will normally be during post completion. - */ - // removed parameter: StateManager sm - void jdoClear(); - - /** - * Copies values from each transient, derived, or persistent field - * from the target instance. - * - * The target instance must have exactly the same type as this instance. - * - * This method might be used by the StateManager to make a shallow - * copy of an instance, or might be used to restore values of an - * instance after transaction rollback. It might be used by the - * application to make a shallow copy (clone) of a transient or - * persistent instance. - * - * The enhancement-added fields (jdoFlags and jdoStateManager) are not - * affected by jdoCopy(). - */ - //@olsen: fix 4435059: this method is not generated anymore - // additional parameter: boolean cloneSCOs - //void jdoCopy(Object o, boolean cloneSCOs); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceConfig.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceConfig.java deleted file mode 100644 index 55ff5861ba4..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceConfig.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceConfig.java - * - * Created on March 3, 2000 - * - */ -package com.sun.jdo.spi.persistence.support.sqlstore; - -/** - */ -public interface PersistenceConfig -{ - Class getPersistenceCapableClass(); - - Class getOidClass(); - - java.lang.reflect.Field[] getKeyFields(); - - String[] getKeyFieldNames(); - - boolean hasVersionConsistency(); - - boolean hasLocalNonDFGFields(); - - java.lang.reflect.Constructor getConstructor(); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceManager.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceManager.java deleted file mode 100644 index 1a6865df3f0..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceManager.java +++ /dev/null @@ -1,292 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceManager.java - * - * Create on March 3, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -import com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerWrapper; - -/** - */ -public interface PersistenceManager - extends com.sun.jdo.api.persistence.support.PersistenceManager -{ - public PersistenceManagerWrapper getCurrentWrapper(); - - public Object newInstance(StateManager sm); - - public void setStateManager(Object pc, StateManager sm); - - public void setFlags(Object pc, byte flags); - - public byte getFlags(Object pc); - - public StateManager getStateManager(Object pc); - - public void setField(Object pc, int fieldNumber, Object value); - - public Object getField(Object pc, int fieldNumber); - - public void clearFields(Object pc); - - /** - * Executes the given retrieve descriptor. The result - * is a collection unless an aggregate query was specified. - * In most cases the query result is a collection of - * persistent objects. In case of a projection - * on a local field the collection holds objects of that - * type. For aggregate queries the result is a - * single object, which type was defined by the caller. - * - * @param action The retrieve descriptor. - * @param parameters The input parameters for the query. - * @return A collection of (persistent) objects unless - * an aggregate query was specified. - */ - public Object retrieve(RetrieveDesc action, ValueFetcher parameters); - - /** - * Executes the given retrieve descriptor. The result - * is a collection unless an aggregate query was specified. - * In most cases the query result is a collection of - * persistent objects. In case of a projection - * on a local field the collection holds objects of that - * type. For aggregate queries the result is a - * single object, which type was defined by the caller. - * - * @param action The retrieve descriptor. - * @return A collection of (persistent) objects unless - * an aggregate query was specified. - */ - public Object retrieve(RetrieveDesc action); - - /** - * Return a RetrieveDesc given a Class object. - */ - public RetrieveDesc getRetrieveDesc(Class classType); - - /** - * Return a RetrieveDesc for a foreign field (relationship) given the - * Class object for the parent class. - */ - public RetrieveDesc getRetrieveDesc(String fieldName, Class classType); - - /** - * Called by Transaction commit() or rollback() - * cleans up transactional cache - * @param status jakarta.transaction.Status - */ - public void afterCompletion(int status); - - /** - * Called by Transaction commit() - * Loops through transactional cache and calls PersistentStore.updatePersistent() - * on each instance - */ - public void beforeCompletion(); - - /** - * Called by Query in pessimistic transaction - * to flush changes to the database - */ - public void internalFlush(); - - /** - * Called by StateManager to register new instance. This method will throw - * an JDOUserException if throwDuplicateException is true and the object being - * registered already exists in the pm cache. - */ - public void registerInstance(StateManager sm, Object oid, - boolean throwDuplicateException, boolean forceRegister); - - /** - * Called by StateManager to register persistent instance at the rollback if - * it was removed from the global (weak) cache as the result of the replace - * operation. - */ - public void registerInstance(StateManager sm, Object oid); - - /** - * Deregister an instance. - */ - public void deregisterInstance(Object oid); - - /** - * Deregister an instance with this object Id, only if it holds the same instance. - */ - public void deregisterInstance(Object oid, StateManager sm); - - /** - * For Transaction to notify PersistenceManager that - * status is changed - */ - public void notifyStatusChange(boolean isActive); - - /** - * For Transaction to notify PersistenceManager that - * optimistic flag is changed - */ - public void notifyOptimistic(boolean optimistic); - - /** - * Returns true if associated transaction is optimistic - */ - public boolean isOptimisticTransaction(); - - /** - * For Transaction to notify PersistenceManager that - * optimistic flag is changed - */ - public void notifyNontransactionalRead(boolean nontransactionalRead); - - /** - * Returns true if nontransactionalRead flag is set to true. - */ - public boolean isNontransactionalRead(); - - /** - * Returns true if associated transaction is active - */ - public boolean isActiveTransaction(); - - /** - * Called by newSCOInstance from the public interface or internally - * by the runtime - * Will not result in marking field as dirty - * - * Returns a new Second Class Object instance of the type specified, - * @param type Class of the new SCO instance - * @param owner the owner to notify upon changes - * @param fieldName the field to notify upon changes - * @return the object of the class type - */ - public Object newSCOInstanceInternal (Class type, Object owner, String fieldName); - - /** - * Called by newCollectionInstance from the public interface - * or internally by the runtime - * Will not result in marking field as dirty - * - * @param type Class of the new SCO instance - * @param owner the owner to notify upon changes - * @param fieldName the field to notify upon changes - * @param elementType the element types allowed - * @param allowNulls true if allowed - * @param initialSize initial size of the Collection - * @return the object of the class type - */ - Object newCollectionInstanceInternal (Class type, Object owner, String fieldName, - Class elementType, boolean allowNulls, int initialSize); - - /** - * Serialize field updates - */ - public void acquireFieldUpdateLock(); - - /** - * Allow other threads to update fields - */ - public void releaseFieldUpdateLock(); - - /** - * Acquires a share lock from the persistence manager. This method will - * put the calling thread to sleep if another thread is holding the exclusive lock. - */ - public void acquireShareLock(); - - /** - * Releases the share lock and notify any thread waiting to get an exclusive lock. - * Note that every releaseShareLock() call needs to be preceeded by an acquireShareLock() call. - */ - public void releaseShareLock(); - - /** - * Acquires an exclusive lock from the persistence manager. By acquiring an - * exclusive lock, a thread is guaranteed to have exclusive right to the persistence - * runtime meaning no other threads can perform any operation in the runtime. - */ - public void acquireExclusiveLock(); - - /** - * Release the exclusive lock and notify any thread waiting to get an exclusive or - * share lock. Note that every releaseShareLock() call needs to be preceeded by - * an acquireExclusiveLock() call. - */ - public void releaseExclusiveLock(); - - /** - * Force to close the persistence manager. Called by - * TransactionImpl.afterCompletion in case of the CMT transaction - * and the status value passed to the method cannot be resolved. - */ - public void forceClose(); - - /** - * Returns StateManager instance for this Object Id. - * @param oid the ObjectId to look up. - * @param pcClass the expected Class type of the new PC instance. - */ - public StateManager findOrCreateStateManager(Object oid, Class pcClass); - - /** - * Lock cache for getObjectById and result processing synchronization. - */ - public void acquireCacheLock(); - - /** Release cache lock. - */ - public void releaseCacheLock(); - - /** - * Looks up the given instance in the Version Consistency cache and - * if found, populates it from the cached values. - * @param sm Instance to be looked up in the version consistency cache. - * If found, it is populated with values from the cache. - * @return true if the sm was found and populated, false - * otherwise. - */ - public boolean initializeFromVersionConsistencyCache(StateManager sm); - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceManagerFactory.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceManagerFactory.java deleted file mode 100644 index 6074ac06b6c..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceManagerFactory.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceManagerFactory.java - * - * Create on March 3, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - - -import java.sql.*; - -/** - */ -public interface PersistenceManagerFactory - extends com.sun.jdo.api.persistence.support.PersistenceManagerFactory -{ - void registerPersistenceManager (PersistenceManager pm, jakarta.transaction.Transaction t); - - void releasePersistenceManager (PersistenceManager pm, jakarta.transaction.Transaction t); - - VersionConsistencyCache getVersionConsistencyCache(); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceStore.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceStore.java deleted file mode 100644 index b4d2ab4723b..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceStore.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceStore.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - - -import java.util.Collection; - -/** - *

    This interface represents a Persistence store - * that knows how to create, find, modify and delete persistence - * capable objects from a backing store such as a database. - */ -public interface PersistenceStore { - - /** - */ - public void execute(PersistenceManager pm, Collection actions); - - /** - */ - public void executeBatch(PersistenceManager pm, UpdateObjectDesc request, boolean forceFlush); - - /** - */ - public Object retrieve(PersistenceManager pm, - RetrieveDesc action, - ValueFetcher parameters); - - /** - */ - public Class getClassByOidClass(Class oidType); - - /** - */ - public StateManager getStateManager(Class classType); - - /** - * Returns a new retrieve descriptor for an external (user) query. - * - * @param classType Type of the persistence capable class to be queried. - * @return A new retrieve descriptor for an external (user) query. - */ - public RetrieveDesc getRetrieveDesc(Class classType); - - /** - * Returns a new retrieve descriptor for an external (user) query. - * This retrieve descriptor can be used to query for the foreign - * field name. - * - * @param fieldName Name of the foreign field to be queried. - * @param classType Persistence capable class including fieldName. - * @return A new retrieve descriptor for an external (user) query. - */ - public RetrieveDesc getRetrieveDesc(String fieldName, Class classType); - - /** - */ - public UpdateObjectDesc getUpdateObjectDesc(Class classType); - - - /** - */ - public PersistenceConfig getPersistenceConfig( - Class classType); - - /** - * Returns ConfigCache associated with this store. - * - * @return ConfigCache associated with this store. - */ - public ConfigCache getConfigCache(); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceWrapper.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceWrapper.java deleted file mode 100644 index 2b27cb9f842..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/PersistenceWrapper.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceWrapper.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - - -// This is a thin wrapper for Persistent class - -public class PersistenceWrapper { - public static final int IN_USE = 1; - public static final int NOT_IN_USE = 2; - public static final int DELETED = 3; - - // flags that indicate if all Persistent objects - // in use for this primary key object, how many copies - // of the instance exist (inUse > 0), and if any one of - // them has been deleted (state == DELETED) - private int state = 0; - private int inUse = 0; - - // Persistent object itself - private Object persistent = null; - - public void setState(int newstate) { - this.state = newstate; - } - - public int getState() { - return state; - } - - public void addInUse() { - inUse++; - } - - public int removeInUse() { - if (inUse > 0) { - inUse--; - } - return inUse; - } - - public int getInUse() { - return inUse; - } - - public void setPersistent(Object newobject) { - persistent = newobject; - } - - public Object getPersistent() { - return persistent; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/RetrieveDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/RetrieveDesc.java deleted file mode 100644 index e351965030a..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/RetrieveDesc.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * RetrieveDesc.java - * - * Created on March 3, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - - -/** - *

    This interface represents a retrieve descriptor used by an application - * to retrieve container-managed entity beans from a persistent store. It - * allows you specify which persistent fields an application wants to retrieve. - * In addition, it allows an application to specify sophisticated constraints - * on its object retrieval. - */ -public interface RetrieveDesc extends ActionDesc { - - /** - * The addResult method is used to specify which fields should be - * returned in a persistent object. If the field requested is a - * reference to another persistent object then a RetrieveDesc may be - * provided which describes which fields of the referenced object - * should be returned and, optionally, constraints on it. - * The parameter projection specifies, if the field - * specified by name should be projected. - * - * @param name The name of the field to return. - * @param foreignConstraint - * RetrieveDesc describing fields and constraints for a referenced object. - * @param projection Specifies, if this is a projection. - */ - public void addResult(String name, RetrieveDesc foreignConstraint, boolean projection); - - /** - * The addResult method can be used to specify global - * query attributes that don't end up in the where clause. - * Aggregate functions and the distinct op code are examples for - * those query options. The result type defines the object to be - * returned by an aggregate query. In case of distinct the result - * type should be FieldTypeEnumeration.NOT_ENUMERATED. The method - * might be called twice, in case of a JDOQL query having both an - * aggregate and distinct: - * query.setResult("avg (distinct salary)"); - * -> - * retrieveDesc.addResult(OP_AVG, FieldTypeEnumeration.DOUBLE); - * retrieveDesc.addResult(OP_DISTINCT, FieldTypeEnumeration.NOT_ENUMERATED); - * retrieveDesc.addResult("salary", null, true); - * - * @param opCode The operation code. - * @param resultType The object type returned by aggregate queries. - * @see com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration - */ - public void addResult(int opCode, int resultType); - - /** - *

    Adds a constraint on the persistent field specified by - * name. The valid values for operation - * are defined in ActionDesc. The parameter - * value specifies the constraint value. - *

    By default, multiple constraints are implicitly ANDed together. - * If the applications want to OR together the constraints, - * it can explicitly add OP_OR constraints. For example, - * to OR together two constraints, an application can do the following: - *

    -     * addConstraint("field1", ActionDesc.OP_EQ, "field1Value");
    -     * addConstraint("field2", ActionDesc.OP_EQ, "field2Value");
    -     * addConstraint(null, ActionDesc.OP_OR, null);
    -     * 
    - *

    The important thing to note about the above example is - * that the constraints are processed in postfix order, so - * the above example should be read as - *

    -     * (field1 == "field1Value") OR (field2 == "field2Value")
    -     * 
    - */ - public void addConstraint(String name, int operation, Object value); - - /** - *

    Adds a constraint on the foreign field specified by - * name. This method is used to specify a relationship - * navigation on field name to the class represented by - * the retrieve descriptor foreignConstraint. - * If name is null, an unrelated constraint is added. - * A constraint is unrelated, if there is neither a foreign field - * nor a local field connecting to the retrieve descriptor - * foreignConstraint. - */ - void addConstraint(String name, RetrieveDesc foreignConstraint); - - /** - *

    Adds a constraint on the field specified by name. - * This method is useful e.g. for comparisons of local fields with field of a related object: - * emp.addConstraint("lastName", ActionDesc.OP_EQ, mgr, lastName"); - * compares the employee's lastName field with the lastName field of the related manager. - */ - void addConstraint(String name, int operator, RetrieveDesc foreignConstraint, String foreignFieldName); - - /** - * Sets a navigational id on the retrieve descriptor. - * This id will be used to discriminate different retrieve descriptors which - * use the same navigational field. - */ - void setNavigationalId(Object navigationalId); - - /** Sets the prefetchEnabled option. - * - * The prefetchEnabled option specifies whether prefetch of relationship - * fields should be enabled for this retrieve descriptor. The prefetch - * is enabled by default if such fields are part of DFG. A user needs - * to explicitely disable prefetch for any particular query if the related - * instances will not be used in this transaction. - * - * @param prefetchEnabled the setting of the prefetchEnabled option. - */ - void setPrefetchEnabled(boolean prefetchEnabled); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/RuntimeVersion.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/RuntimeVersion.java deleted file mode 100644 index 7116571e2ae..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/RuntimeVersion.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * RuntimeVersion.java - * - * Created on March 14, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -import com.sun.jdo.api.persistence.support.JDOException; -import org.glassfish.persistence.common.I18NHelper; - -import java.io.FileNotFoundException; -import java.io.InputStream; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Properties; -import java.util.ResourceBundle; - -public class RuntimeVersion { - private static Properties _properties = new Properties(); - private final static ResourceBundle vendor_info = I18NHelper.loadBundle( - RuntimeVersion.class); - - - private static String product_version = "product.version.number"; // NOI18N - private static String build_time = "product.build.time"; // NOI18N - private static String runtime_version = "runtime.version.number"; // NOI18N - private static String vendor_name = "VendorName"; // NOI18N - private static String version_number = "VersionNumber"; // NOI18N - private static String vendor = I18NHelper.getMessage(vendor_info, "vendor"); // NOI18N - - public static void main(String[] args) { - if (args == null || args.length == 0 || - (args.length == 1 && args[0].equals("-version"))) // NOI18N - { - RuntimeVersion rt = new RuntimeVersion(); - rt.loadProperties("/com/sun/jdo/spi/persistence/support/sqlstore/sys.properties"); // NOI18N - System.out.println(parse_version()); - } - System.exit(0); - } - - /** - * Constructor without parameters - */ - public RuntimeVersion() { - } - - /** - * Constructor without parameters - */ - public RuntimeVersion(String fileName) { - loadProperties(fileName); - } - - /** - * Load properties file - */ - public static void loadProperties(String fileName) { - try { - InputStream in = RuntimeVersion.class.getResourceAsStream(fileName); - if (in == null) - throw new FileNotFoundException(fileName); - - _properties.load(in); - in.close(); - } catch (java.io.IOException e) { - throw new JDOException(null, e); - } - } - - /** - * Return Vendor properties for a given file name - */ - public static Properties getVendorProperties(String fileName) { - loadProperties(fileName); - return getVendorProperties(); - } - - /** - * Return Vendor properties - */ - public static Properties getVendorProperties() { - if (_properties == null) - return null; - - Properties _vendorProperties = new Properties(); - _vendorProperties.setProperty(vendor_name, vendor); - _vendorProperties.setProperty(version_number, parse_version()); - - return _vendorProperties; - } - - /** - * Parse the build date and create a localized version - * return version as String - */ - private static String parse_version() { - if (_properties == null) - return null; - - String majorVersion = _properties.getProperty(product_version); - String minorVersion = _properties.getProperty(runtime_version); - String buildTime = _properties.getProperty(build_time); - - // Parse the build date and create a localized version - String s = null; - try { - DateFormat dateFormatter = DateFormat.getDateTimeInstance(); - SimpleDateFormat propertyFormat = new SimpleDateFormat("MM/dd/yy hh:mm:ss"); // NOI18N - s = dateFormatter.format(propertyFormat.parse(buildTime)); - } catch (Exception e) { - s = ""; // NOI18N - } - - return I18NHelper.getMessage(vendor_info, "fullVersion", majorVersion, minorVersion, s); // NOI18N - - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCO.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCO.java deleted file mode 100644 index 6a42665e0bb..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCO.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SCO.java - * - * created May 9, 2000 - * - * @author Marina Vatkina - * @version 1.0 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -public interface SCO -{ - /** - * Returns the field name - * - * @return field name as java.lang.String - */ - String getFieldName(); - - /** - * Returns the owner object of the SCO instance - * - * @return owner object - */ - Object getOwner(); - - /** - * Nullifies references to the owner Object and Field - */ - void unsetOwner(); - - /** - * Apply changes (can be a no-op) - */ - void applyUpdates(StateManager sm, boolean modified); - - /** - * Marks object dirty - * - * @return StateManager associated with the owner - */ - StateManager makeDirty(); - - /** - * Creates clone with the same owner and field value. - * Used for the beforeImage. - */ - Object cloneInternal(); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCOCollection.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCOCollection.java deleted file mode 100644 index 1ef91d60a86..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCOCollection.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SCOCollection.java - * - * created April 3, 2000 - * - * @author Marina Vatkina - * @version 1.0 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; -import java.util.Collection; - -public interface SCOCollection extends java.util.Collection, SCO -{ - /** - * Resets removed and added lists after flush - */ - void reset(); - - /* - * Mark the collection as deferred so any updates won't - * be applied until markDeferred() gets called - */ - void markDeferred(); - - /* - * Return true is this collection has been marked as deferred. - * False otherwise. - */ - boolean isDeferred(); - - /* - * Apply deferred updates if there is any. The given - * collection c will be added to the underlying collection - * before the deferred updates are applied. - */ - void applyDeferredUpdates(Collection c); - - /** - * Adds object to the Collection without recording - * the event. Used internaly to initially populate the Collection - */ - void addInternal(Object o); - - /** - * Adds objects of the given Collection to this Collection without recording - * the event. Used internaly to initially populate the Collection - */ - void addAllInternal(Collection c); - - /** - * Adds an object to the list without recording changes. - */ - void addToBaseCollection(Object o); - - /** - * Removes objects of the given Collection from this Collection without recording - * the event. Used internaly to remove a collection of elements from this collection. - */ - void removeAllInternal(Collection c); - - /** - * Clears Collection without recording - * the event. Used internaly to clear the Collection - */ - void clearInternal(); - - - /** - * Removes element from the Collection without recording - * the event. Used internaly to update the Collection - */ - void removeInternal(Object o); - - /** - * Returns the Collection of added elements - * - * @return Collection of the added elements as java.util.Collection - */ - Collection getAdded(); - - /** - * Returns the Collection of removed elements - * - * @return Collection of the removed elements as java.util.Collection - */ - Collection getRemoved(); - - /** - * Sets a new owner for the SCO instance that is not owned - * by any other object. - * - * @param owner the new owner - * @param fieldName as java.lang.String - * @param elementType the new element type as Class, or null if type - * is not to be checke. - * @throws com.sun.jdo.api.persistence.support.JDOUserException if the - * instance is owned by another owner. - */ - void setOwner(Object owner, String fieldName, Class elementType); - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCODate.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCODate.java deleted file mode 100644 index 69421cba7f2..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SCODate.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SCODate.java - * - * created April 5, 2000 - * - * @author Marina Vatkina - * @version 1.0 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -public interface SCODate extends SCO -{ - /** - * Sets initial date value without notifying the owner object - * - * @param time in milliseconds - */ - void setTimeInternal(long time); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SQLStateManager.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SQLStateManager.java deleted file mode 100644 index 173e219865e..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SQLStateManager.java +++ /dev/null @@ -1,4630 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * SQLStateManager.java - * - * Created on March 3, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -import com.sun.jdo.api.persistence.support.*; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.model.*; -import com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc.QueryValueFetcher; -import com.sun.jdo.spi.persistence.support.sqlstore.sco.SqlTimestamp; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.UpdateObjectDescImpl; -import com.sun.jdo.spi.persistence.support.sqlstore.state.LifeCycleState; -import com.sun.jdo.spi.persistence.support.sqlstore.state.PersistentNonTransactional; -import com.sun.jdo.spi.persistence.support.sqlstore.state.PersistentClean; -import com.sun.jdo.spi.persistence.support.sqlstore.state.Hollow; -import com.sun.jdo.spi.persistence.utility.NullSemaphore; -import com.sun.jdo.spi.persistence.utility.Semaphore; -import com.sun.jdo.spi.persistence.utility.SemaphoreImpl; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.sql.Timestamp; -import java.util.*; - - -/** - * - */ -public class SQLStateManager implements Cloneable, StateManager, TestStateManager { - - private static final int PRESENCE_MASK = 0; - - private static final int SET_MASK = 1; - - private static final int MAX_MASKS = 2; - - private BitSet fieldMasks; - - /** Array of Object. */ - public ArrayList hiddenValues; - - private ClassDesc persistenceConfig; - - private PersistenceManager persistenceManager; - - private PersistenceStore store; - - private SQLStateManager beforeImage; - - private Object persistentObject; - - private Object objectId; - - private LifeCycleState state; - - /** This flag is used to disable updates due to dependency management. */ - private static final short ST_UPDATE_DISABLED = 0x1; - - private static final short ST_REGISTERED = 0x2; - - private static final short ST_VISITED = 0x4; - - private static final short ST_PREPARED_PHASE_II = 0x8; - - private static final short ST_FIELD_TRACKING_INPROGRESS = 0x10; - - private static final short ST_DELETE_INPROGRESS = 0x20; - - private static final short ST_VALIDATION_FAILED = 0x40; - - private short stateFlags; - - // This instance is a replacement for a deleted instance with the same - // ObjectId. - private boolean isReplacementInstance = false; - - // This instance needs to be registered with the global (weak) cache at - // rollback if it transitions to persistent (HOLLOW or P_NONTX) state. - private boolean needsRegisterAtRollback = false; - - // This instance needs to be to be verified at the time it is removed - // from the global (weak) cache at rollback if it transitions to transient state. - private boolean needsVerifyAtDeregister = false; - - // This flag is initially set to false and changed to true when the first - // operation (e.g. makePersistent, loadForRead, or getObjectById) succeeds. - private boolean valid = false; - - /** Stores the updates to the associated object. */ - private UpdateObjectDescImpl updateDesc; - - /** Contains state managers depending on this object. */ - private HashSet updatedForeignReferences; - - /** Counts the foreign state managers this state manager depends on. */ - private int referenceCount; - - /** Serializes access to this StateManager. */ - private final Semaphore lock; - - /** The logger. */ - private static Logger logger = LogHelperStateManager.getLogger(); - - /** I18N message handler. */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - SQLStateManager.class); - - /** Name of the USE_BATCH property. */ - public static final String USE_BATCH_PROPERTY = - "com.sun.jdo.spi.persistence.support.sqlstore.USE_BATCH"; // NOI18N - - /** - * Property to swich on/off batching. Note, the default is true, meaning we - * try to do batching if the property is not specified. - */ - private static final boolean USE_BATCH = Boolean.valueOf( - System.getProperty(USE_BATCH_PROPERTY, "true")).booleanValue(); // NOI18N - - /** - * Construct a new SQLStateManager so that it locks or does not lock as - * per whether or not it is used in a managed environment. - */ - public SQLStateManager(PersistenceStore store, ClassDesc persistenceConfig) { - this.store = store; - this.persistenceConfig = persistenceConfig; - - if (EJBHelper.isManaged()) { - this.lock = new NullSemaphore("SQLStateManager"); // NOI18N - } else { - this.lock = new SemaphoreImpl("SQLStateManager"); // NOI18N - } - } - - public synchronized void initialize(boolean persistentInDB) { - boolean xactActive = persistenceManager.isActiveTransaction(); - boolean optimistic = persistenceManager.isOptimisticTransaction(); - boolean nontransactionalRead = persistenceManager.isNontransactionalRead(); - LifeCycleState oldstate = state; - - if (state == null) { - if (persistentInDB == false) { - // Hollow object aquired by PM.getObjectByOid() does not require - // to be persistent in DB - state = LifeCycleState.getLifeCycleState(LifeCycleState.HOLLOW); - persistenceManager.setFlags(persistentObject, LOAD_REQUIRED); - } else { - if (xactActive && !optimistic) { - state = LifeCycleState.getLifeCycleState(LifeCycleState.P_CLEAN); - persistenceManager.setFlags(persistentObject, READ_OK); - } else { - state = LifeCycleState.getLifeCycleState(LifeCycleState.P_NON_TX); - persistenceManager.setFlags(persistentObject, LOAD_REQUIRED); - } - valid = true; - } - } else if (state.needMerge()) { - state = state.transitionReadField(optimistic, nontransactionalRead, xactActive); - - // If we are in a state that requires the instance to be reloaded - // we need to set the jdoFlags to LOAD_REQUIRED to enable field mediation. - if (state.needsReload(optimistic, nontransactionalRead, xactActive)) { - persistenceManager.setFlags(persistentObject, LOAD_REQUIRED); - } else { - if (persistenceManager.getFlags(persistentObject) == LOAD_REQUIRED) { - persistenceManager.setFlags(persistentObject, READ_OK); - } - } - } - - registerInstance(false, null, oldstate); - } - - private void registerInstance(boolean throwDuplicateException, - ArrayList newlyRegisteredSMs, LifeCycleState oldstate) { - - if ((stateFlags & ST_REGISTERED) == 0 || // not registered or - (oldstate != state && // state changed from clean to dirty or transactional type. - (oldstate == null || oldstate.isDirty() != state.isDirty() || - oldstate.isTransactional() != state.isTransactional()))) { - - persistenceManager.registerInstance(this, getObjectId(), throwDuplicateException, false); - stateFlags |= ST_REGISTERED; - if (newlyRegisteredSMs != null) { - if (!newlyRegisteredSMs.contains(this)) - newlyRegisteredSMs.add(this); - } - } - } - - public void setPersistenceManager(com.sun.jdo.api.persistence.support.PersistenceManager pm) { - this.persistenceManager = (PersistenceManager) pm; - } - - public void setPersistent(Object pc) { - this.persistentObject = pc; - } - - public PersistenceStore getStore() { - return store; - } - - public Object getPersistent() { - return persistentObject; - } - - public PersistenceConfig getPersistenceConfig() { - return persistenceConfig; - } - - private UpdateObjectDescImpl getUpdateDesc() { - if (updateDesc == null) { - updateDesc = (UpdateObjectDescImpl) store.getUpdateObjectDesc( - persistenceConfig.getPersistenceCapableClass()); - } - - if (updateDesc.getConcurrency() == null) { - boolean optimistic = persistenceManager.isOptimisticTransaction(); - updateDesc.setConcurrency(persistenceConfig.getConcurrency(optimistic)); - } - - return updateDesc; - } - - private void unsetMaskBit(int index, int mask) { - if (fieldMasks == null) { - newFieldMasks(); - } else { - if (index >= 0) { - fieldMasks.clear(index + mask * persistenceConfig.maxFields); - } else { - fieldMasks.clear(-(index + 1) + persistenceConfig.maxVisibleFields + - mask * persistenceConfig.maxFields); - } - } - } - - private void clearMask(int mask) { - if (fieldMasks != null) { - fieldMasks.clear(mask * persistenceConfig.maxFields, - (mask+1) * persistenceConfig.maxFields); - } - } - - private void setVisibleMaskBits(int mask) { - if (fieldMasks == null) { - newFieldMasks(); - } - - int offset = mask * persistenceConfig.maxFields; - fieldMasks.set(offset, offset + persistenceConfig.maxVisibleFields); - } - - private BitSet getVisibleMaskBits(int mask) { - if (fieldMasks == null) { - newFieldMasks(); - } - - int offset = mask * persistenceConfig.maxFields; - return fieldMasks.get(offset, offset + persistenceConfig.maxVisibleFields); - } - - private void newFieldMasks() { - this.fieldMasks = new BitSet(MAX_MASKS * persistenceConfig.maxFields); - } - - public void setPresenceMaskBit(int index) { - if (fieldMasks == null) { - newFieldMasks(); - } - - if (index >= 0) { - fieldMasks.set(index + PRESENCE_MASK * persistenceConfig.maxFields); - } else { - fieldMasks.set(-(index + 1) + persistenceConfig.maxVisibleFields + - PRESENCE_MASK * persistenceConfig.maxFields); - } - } - - private void setSetMaskBit(int index) { - if (fieldMasks == null) { - newFieldMasks(); - } - - if (index >= 0) { - fieldMasks.set(index + SET_MASK * persistenceConfig.maxFields); - } else { - fieldMasks.set(-(index + 1) + persistenceConfig.maxVisibleFields + - SET_MASK * persistenceConfig.maxFields); - } - } - - public boolean getPresenceMaskBit(int index) { - if (fieldMasks == null) { - newFieldMasks(); - } - - if (index >= 0) { - return fieldMasks.get(index + PRESENCE_MASK * persistenceConfig.maxFields); - } else { - return fieldMasks.get(-(index + 1) + persistenceConfig.maxVisibleFields + - PRESENCE_MASK * persistenceConfig.maxFields); - } - } - - public boolean getSetMaskBit(int index) { - if (fieldMasks == null) { - newFieldMasks(); - } - - if (index >= 0) { - return fieldMasks.get(index + SET_MASK * persistenceConfig.maxFields); - } else { - return fieldMasks.get(-(index + 1) + persistenceConfig.maxVisibleFields + - SET_MASK * persistenceConfig.maxFields); - } - } - - public Object getHiddenValue(int index) { - // This method expects index to be negative for hidden fields. - if (index >= 0) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.poshiddenindex", "" + index)); // NOI18N - } - - int realIndex = -(index + 1); - - if ((hiddenValues != null) && (realIndex < hiddenValues.size())) { - return hiddenValues.get(realIndex); - } - - return null; - } - - public void setHiddenValue(int index, Object value) { - // This method expects index to be negative for hidden fields. - if (index >= 0) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.poshiddenindex", "" + index)); // NOI18N - } - - int realIndex = -(index + 1); - - if (hiddenValues == null) { - hiddenValues = new ArrayList(); - } - - for (int i = hiddenValues.size(); i <= realIndex; i++) { - hiddenValues.add(null); - } - - hiddenValues.set(realIndex, value); - } - - public synchronized void replaceObjectField(String fieldName, Object o) { - boolean debug = logger.isLoggable(); - - if (debug) { - Object[] items = new Object[] {fieldName, o.getClass().getName()}; - logger.fine("sqlstore.sqlstatemanager.replaceobjectfield", items); // NOI18N - } - - FieldDesc fieldDesc = persistenceConfig.getField(fieldName); - Object oldo = prepareSetField(fieldDesc, o); - - if ((oldo instanceof SCO) && oldo != o) { - if (debug) - logger.fine("sqlstore.sqlstatemanager.replaceobjectfield.unsetsco"); // NOI18N - ((SCO) oldo).unsetOwner(); - } - } - - public synchronized void makeDirty(String fieldName) { - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.makedirty", fieldName); // NOI18N - } - - FieldDesc fieldDesc = persistenceConfig.getField(fieldName); - - // Save current value: if it is SCO object we need to replace it with the - // new value instead of new instance - Object oldo = fieldDesc.getValue(this); - - prepareUpdateField(fieldDesc, null); - - // Now adjust SCO instance - Object newo = fieldDesc.getValue(this); - - if ((newo instanceof SCO) && oldo != newo) { - if (oldo instanceof SCOCollection) { - if (debug) { - logger.fine("sqlstore.sqlstatemanager.makedirty.fixscocollection"); // NOI18N - } - - ((SCOCollection) oldo).clearInternal(); - ((SCOCollection) oldo).addAllInternal((Collection) newo); - } - - else if (oldo instanceof SCODate) { - if (debug) { - logger.fine("sqlstore.sqlstatemanager.makedirty.fixscodate"); // NOI18N - } - - long l = ((java.util.Date) newo).getTime(); - // Adjust nanoseconds if necessary: - int n = 0; - - if (newo instanceof Timestamp) { - n = ((Timestamp) newo).getNanos(); - } else { - n = (int) ((l % 1000) * 1000000); - } - - if (oldo instanceof SqlTimestamp) { - ((SCODate) oldo).setTimeInternal(l); - ((SqlTimestamp) oldo).setNanosInternal(n); - - } else if (newo instanceof Timestamp) { - ((SCODate) oldo).setTimeInternal(l + (n / 1000000)); - } else { - ((SCODate) oldo).setTimeInternal(l); - } - } - - updateTrackedFields(fieldDesc, oldo, null); - fieldDesc.setValue(this, oldo); - - // disconnect temp SCO instance - if (newo instanceof SCO) - ((SCO) newo).unsetOwner(); - } - } - - /** - * This method is central to record changes to SCOCollections. - */ - public void applyUpdates(String fieldName, SCOCollection c) { - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.applyupdates", fieldName); // NOI18N - } - - FieldDesc fieldDesc = persistenceConfig.getField(fieldName); - if (fieldDesc instanceof ForeignFieldDesc) { - ArrayList removed = new ArrayList(c.getRemoved()); - ArrayList added = new ArrayList(c.getAdded()); - - // We reset the collection to clear the added and removed list before calling - // processCollectionUpdates() which can throw an exception. - c.reset(); - processCollectionUpdates((ForeignFieldDesc) fieldDesc, removed, added, null, true, false); - } - // else it is an ERROR? - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.applyupdates.exit"); // NOI18N - } - } - - public void makePresent(String fieldName, Object value) { - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.makepresent", fieldName); // NOI18N - } - - FieldDesc fieldDesc = persistenceConfig.getField(fieldName); - fieldDesc.setValue(this, value); - setPresenceMaskBit(fieldDesc.absoluteID); - } - - public void setObjectId(Object objectId) { - // RESOLVE: do we allow to replace existing? - this.objectId = objectId; - } - - public Object getObjectId() { - // Note: PM.getObjectId() makes copy of the actual object id. - if (objectId == null) { - Class oidClass = persistenceConfig.getOidClass(); - Object oid = null; - - try { - oid = oidClass.newInstance(); - } catch (Exception e) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.cantnewoid", oidClass.getName()), e); // NOI18N - } - - Field keyFields[] = persistenceConfig.getKeyFields(); - String keyFieldNames[] = persistenceConfig.getKeyFieldNames(); - for (int i = 0; i < keyFields.length; i++) { - Field keyField = keyFields[i]; - try { - FieldDesc fd = persistenceConfig.getField(keyFieldNames[i]); - - if (fd != null) { - keyField.set(oid, fd.getValue(this)); - } - - } catch (IllegalAccessException e) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.cantsetkeyfield", keyField.getName()), e); // NOI18N - } - } - objectId = oid; - } - - return objectId; - } - - private void makeAutoPersistent(Object pc) { - persistenceManager.makePersistent(pc); - SQLStateManager sm = (SQLStateManager) persistenceManager.getStateManager(pc); - - sm.state = LifeCycleState.getLifeCycleState(LifeCycleState.AP_NEW); - } - - /** - * Prepares the associated object to be stored in the datastore. - * This method is called by PersistenceManager.makePersistent(). - * Thread synchronization is done in the persistence manager. - */ - public void makePersistent(PersistenceManager pm, Object pc) { - - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.makepersistence", // NOI18N - persistenceConfig.getPersistenceCapableClass().getName()); - } - - // If the instance is autopersistent, we simply transition it to persistent_new. - if (state != null) { - if (state.isAutoPersistent()) { - state = state.transitionMakePersistent(); - } - return; - } - - this.persistenceManager = pm; - this.persistentObject = pc; - - // Mark all the visible fields as present to prevent navigation and - // to allow us to create a before image that contains all the fields. - setVisibleMaskBits(PRESENCE_MASK); - getBeforeImage(); - - state = LifeCycleState.getLifeCycleState(LifeCycleState.P_NEW); - - try { - registerInstance(true, null, null); - } catch (JDOException e) { - this.release(); - - throw e; - } - - // We set the statemanager for the pc now so the instance is considered - // persistent. We need to do this in order for persistent-by-reachability to - // work properly in the case of self-referencing relationship. - pm.setStateManager(pc, this); - valid = true; - - // Now that the state manager has been set in the pc, we need to - // synchronize it so other threads can't modify this instance while - // we perform the persistence-by-reachability algorithm. - try { - getLock(); - - // Make sure all the fields have been marked dirty. - Object obj = null; - ArrayList fields = persistenceConfig.fields; - for (int i = 0; i < fields.size(); i++) { - FieldDesc f = (FieldDesc) fields.get(i); - - // In case of makePersistent, we skip all secondary tracked fields - // and use the primary to propagate changes. In addition, we take - // the policy that a tracked relationship field takes precedence - // over its primitive counterpart. In other words, we skip all - // primitive fields that also tracks relationship fields. - if ((f.sqlProperties & FieldDesc.PROP_SECONDARY_TRACKED_FIELD) > 0) { - continue; - } - - obj = f.getValue(this); - - if (f instanceof ForeignFieldDesc) { - ForeignFieldDesc ff = (ForeignFieldDesc) f; - ArrayList trackedFields = null; - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.processforeign", ff.getName()); // NOI18N - } - - if ((ff.sqlProperties & FieldDesc.PROP_PRIMARY_TRACKED_FIELD) > 0) { - trackedFields = ff.getTrackedFields(); - Object theValue = obj; - - for (int j = 0; j < trackedFields.size(); j++) { - FieldDesc tf = (FieldDesc) trackedFields.get(j); - Object value = tf.getValue(this); - - if ((theValue != null) && (value != null) && (theValue != value)) { - if (needsVerifyAtDeregister) { - persistenceManager.deregisterInstance(getObjectId(), this); - needsVerifyAtDeregister = false; - } else { - persistenceManager.deregisterInstance(getObjectId()); - } - this.release(); - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.statemanager.conflictingvalues", ff.getName(), tf.getName())); // NOI18N - } else if ((theValue == null) && (value != null)) { - theValue = value; - } - } - - if (theValue != obj) { - obj = theValue; - ff.setValue(this, obj); - } - } - - if (obj != null) { - if (obj instanceof Collection) { - if (((Collection) obj).size() > 0) { - ArrayList removed = null; - ArrayList added = new ArrayList((Collection) obj); - processCollectionUpdates(ff, removed, added, null, true, false); - } - } else { - // null out this field to pretend we are setting this field for the first time - ff.setValue(this, null); - - updateObjectField(ff, obj, true, false); - - // now restore the value - ff.setValue(this, obj); - } - } else { - // For a null managed collection relationship field, we replace it - // with an empty SCOCollection - if ((ff.getInverseRelationshipField() != null) && (ff.cardinalityUPB > 1)) { - replaceCollection(ff, null); - } - } - - updateTrackedFields(ff, ff.getValue(this), null); - } else { - // We ignore primitive fields that also tracks relationship field - if ((f.sqlProperties & FieldDesc.PROP_TRACK_RELATIONSHIP_FIELD) > 0) { - ArrayList trackedFields = f.getTrackedFields(); - boolean found = false; - - for (int j = trackedFields.size() - 1; j >= 0; j--) { - FieldDesc tf = (FieldDesc) trackedFields.get(j); - - if (tf instanceof ForeignFieldDesc) { - if (tf.getValue(this) != null) { - found = true; - break; - } - } else { - break; - } - } - - if (!found) { - //f.setValue(this, null); - updateTrackedFields(f, obj, null); - //f.setValue(this, obj); - } - } else { - updateTrackedFields(f, obj, null); - } - - if ((f.sqlProperties & FieldDesc.PROP_RECORD_ON_UPDATE) > 0) { - getUpdateDesc().recordUpdatedField((LocalFieldDesc) f); - } - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.makedirtyfield", f.getName()); // NOI18N - } - - setSetMaskBit(f.absoluteID); - } - } finally { - releaseLock(); - } - } - - /** - * Prepares the associated object for delete. This method is - * called by PersistenceManager.deletePersistent(). After - * nullifying the relationship fields, the instance transitions to - * deleted state. - */ - public void deletePersistent() { - if (logger.isLoggable()) { - logger.fine("sqlstore.sqlstatemanager.deletepersistence", // NOI18N - persistenceConfig.getPersistenceCapableClass().getName()); - - } - - // Why try try? The difference is in whether you try and then - // acquire/get, or acquire/get and then try. - // Prior to having acquireFieldUpdateLock, this code synchronized on - // a field, following that with the try for {get,release}Lock. That - // pattern of usage calls for that order. - // {acquire,release}FieldUpdateLock calls for the other order. We - // are close to FCS, so this strange situation persists for now - // (i.e., it ain't broken). - - persistenceManager.acquireFieldUpdateLock(); - try { - try { - getLock(); - - if (state.isDeleted()) { - return; - } - - deleteRelationships(); - - LifeCycleState oldstate = state; - state = state.transitionDeletePersistent(); - persistenceManager.setFlags(persistentObject, LOAD_REQUIRED); - registerInstance(false, null, oldstate); - } finally { - releaseLock(); - } - } finally { - persistenceManager.releaseFieldUpdateLock(); - } - } - - /** - * Prepares the current instance for delete by nullifying all - * relationships. The deletion is propagated to relationship - * fields marked for cascade delete. - */ - private void deleteRelationships() { - ArrayList foreignFields = persistenceConfig.foreignFields; - int size = foreignFields.size(); - stateFlags |= ST_DELETE_INPROGRESS; - - for (int i = 0; i < size; i++) { - ForeignFieldDesc ff = (ForeignFieldDesc) foreignFields.get(i); - ForeignFieldDesc irf = ff.getInverseRelationshipField(); - - // Skip this field if it is secondary. - if ((ff.sqlProperties & FieldDesc.PROP_SECONDARY_TRACKED_FIELD) > 0) { - continue; - } - - // Skip this field if it is not managed nor marked for cascade delete. - if ((ff.deleteAction != ForeignFieldDesc.ACT_CASCADE) && (irf == null)) { - continue; - } - - prepareUpdateField(ff, null); - - if (ff.cardinalityUPB > 1) { - Collection c = (Collection) ff.getValue(this); - - if (c != null) { - ArrayList removed = new ArrayList(c); - - // For managed relationship or cascade delete, we need to call - // processCollectionUpdates() to set up the dependency. In case of - // managed relationship, the inverse relationship field should also - // be set to null. - processCollectionUpdates(ff, removed, null, null, true, false); - - if (c instanceof SCOCollection) { - ((SCOCollection) c).clearInternal(); - } else { - c.clear(); - } - - if (ff.deleteAction == ForeignFieldDesc.ACT_CASCADE) { - Iterator iter = removed.iterator(); - - while (iter.hasNext()) { - Object obj = iter.next(); - - if (obj != null) { - SQLStateManager sm = (SQLStateManager) - persistenceManager.getStateManager(obj); - - // Ignore if this sm is in the process of being cascade - // deleted. This is to prevent infinite recursive in case - // of self-referencing relationship. - if ((sm != null) && !sm.isDeleted() && - ((sm.stateFlags & ST_DELETE_INPROGRESS) == 0)) { - try { - persistenceManager.deletePersistent(obj); - } catch (Throwable e) { - } - } - } - } - } - } - } else { - Object obj = ff.getValue(this); - - if (obj != null) { - updateObjectField(ff, null, true, false); - ff.setValue(this, null); - - if (ff.deleteAction == ForeignFieldDesc.ACT_CASCADE) { - SQLStateManager sm = (SQLStateManager) - persistenceManager.getStateManager(obj); - - // Ignore if this sm is in the process of being cascade - // deleted. This is to prevent infinite recursive in case - // of self-referencing relationships. - if ((sm != null) && !sm.isDeleted() && - ((sm.stateFlags & ST_DELETE_INPROGRESS) == 0)) { - try { - persistenceManager.deletePersistent(obj); - } catch (Throwable e) { - } - } - } - } - } - } - - stateFlags &= ~ST_DELETE_INPROGRESS; - } - - /** - * Stores the associated object in the datastore. This method is - * called by {@link PersistenceManager#beforeCompletion} on - * flush/commit. The specified state manager argument is used to - * determine whether the actual instance should be flushed - * immediately or whether batch update is possible. - * - * @param next Next state manager in the transaction cache. - */ - public void updatePersistent(StateManager next) { - boolean debug = logger.isLoggable(); - - if ((stateFlags & ST_UPDATE_DISABLED) > 0) { - if (debug) { - Object[] items = new Object[] {persistenceConfig.getPersistenceCapableClass().getName(), - persistentObject}; - logger.fine("sqlstore.sqlstatemanager.updatepersistent.skipped", items); // NOI18N - } - return; - } - - try { - if (debug) { - logger.fine("sqlstore.sqlstatemanager.updatepersistent", // NOI18N - persistenceConfig.getPersistenceCapableClass().getName()); - } - - ArrayList actions = new ArrayList(); - - // Get a list of actions to perform. - getUpdateActions(actions); - - if (actions.size() == 1 && useBatch()) { - // Batch update only if actions consists of a single action - UpdateObjectDesc updateDesc = (UpdateObjectDesc)actions.get(0); - boolean immediateFlush = requiresImmediateFlush((SQLStateManager)next); - - if (debug && immediateFlush) { - Object[] items = new Object[] {getPersistent(), (next != null) ? next.getPersistent() : null}; - logger.fine("sqlstore.sqlstatemanager.updatepersistent.immediateflush", items); // NOI18N - } - - store.executeBatch(persistenceManager, updateDesc, immediateFlush); - } else if (actions.size() > 0) { - store.execute(persistenceManager, actions); - } - - incrementVersion(actions); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.updatepersistent.exit"); // NOI18N - } - } catch (JDOException e) { - e.addFailedObject(persistentObject); - throw e; - } catch (Exception e) { - logger.throwing("sqlstore.SQLStateManager", "updatePersistent", e); // NOI18N - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.unknownexception"), e); // NOI18N - } - } - - /** - * Increments the version for all state managers in - * actions registered for version consistency. - * - * @param actions List of updated state managers. - */ - static private void incrementVersion(List actions) { - - for (Iterator iter = actions.iterator(); iter.hasNext(); ) { - ((UpdateObjectDescImpl) iter.next()).incrementVersion(); - } - } - - /** - * Increments the version fields for this state manager. Instances - * mapped to multiple tables have got a version field for each table. - */ - public void incrementVersion() { - LocalFieldDesc [] versionFields = persistenceConfig.getVersionFields(); - - for (int i = 0; i < versionFields.length; i++) { - versionFields[i].incrementValue(this); - } - } - - /** - * @inheritDoc StateManager#hasVersionConsistency - */ - public boolean hasVersionConsistency() { - return persistenceConfig.hasVersionConsistency(); - } - - /** - * @inheritDoc StateManager#verifyPersistent - */ - public boolean verifyPersistent() { - assert persistenceConfig.hasVersionConsistency(); - boolean verified = true; - - if (state instanceof PersistentClean) { - RetrieveDesc verificationRD = persistenceConfig.getRetrieveDescForVerificationQuery(store); - LocalFieldDesc[] keyFields = persistenceConfig.getKeyFieldDescs(); - LocalFieldDesc[] versionFields = persistenceConfig.getVersionFields(); - - // Please make sure that the order of parameter values is same as - // order of parameters as defined by ClassDesc#getRetrieveDescForVerificationQuery() - Object [] parameters = new Object[keyFields.length + versionFields.length]; - copyValues(parameters, keyFields, 0); - copyValues(parameters, versionFields, keyFields.length); - - // verificationRD requires parameters for pk field and version fields - Boolean result = (Boolean) store. - retrieve(persistenceManager, verificationRD, new QueryValueFetcher(parameters)); - verified = result.booleanValue(); - } - return verified; - } - - /** - * Returns true if batch update might be used to store the changes - * of this state manager. - * - * TODO: Because batched statements on Oracle don't return a - * valid success indicator, batching is disabled for Version - * Consistency. - */ - private boolean useBatch() { - boolean result = false; - - if (USE_BATCH) { - switch(state.getUpdateAction()) { - - case ActionDesc.LOG_CREATE: - result = !getUpdateDesc().hasChangedRelationships() && - !getUpdateDesc().hasModifiedLobField(); - break; - case ActionDesc.LOG_DESTROY: - case ActionDesc.LOG_UPDATE: - // Do not try to batch in optimitic tx for now. We need to - // check for parallel updates, so the WHERE clause checks - // the values from the beforeImage. We need a different SQL - // statements for the null vs. non null case. - result = !persistenceManager.isOptimisticTransaction() && - !persistenceConfig.hasModifiedCheckAtCommitConsistency() && - !getUpdateDesc().hasChangedRelationships() && - !getUpdateDesc().hasModifiedLobField() && - !hasVersionConsistency(); - break; - default: - result = false; - break; - } - } - - return result; - } - - /** - * @inheritDoc StateManager#setVerificationFailed - */ - public void setVerificationFailed() { - if (hasVersionConsistency()) { - stateFlags |= ST_VALIDATION_FAILED; - } - } - - /** - * @inheritDoc StateManager#getFailed - */ - public boolean isVerificationFailed() { - return (stateFlags & ST_VALIDATION_FAILED) > 0; - } - - /** - * This method checks whether this StateManager instance needs to be - * flushed immediately during beforeCompletion. A return of false - * means the store manager is allowed to combine flushing of these two - * instance in a single database roundtrip (e.g. by using batched updates). - * - * @param next Next state manager to be flushed. - */ - private boolean requiresImmediateFlush(SQLStateManager next) { - // There is no next SM => - // flush this sm immediately - if (next == null) - return true; - - // The next StateManager has a different pc class => - // flush this sm immediately - if (persistenceConfig != next.persistenceConfig) - return true; - - // The next StateManager represents a different update operation - // INSERT/UPDATE/DELETE => flush this sm immediately - if (state.getUpdateAction() != next.state.getUpdateAction()) - return true; - - // If the next's flush is disabled, flush this sm - if ((next.stateFlags & ST_UPDATE_DISABLED) > 0) - return true; - - // If next sm does not use batch update flush this sm - if (!next.useBatch()) - return true; - - // For updates, we need to check if the next sm updates the - // same fields. If not, flush this sm - if (getUpdateDesc().getUpdateAction() == ActionDesc.LOG_UPDATE && - !compareUpdatedFields(next)) { - return true; - } - - // If the next stateManager has got (foreign reference) dependencies, - // it is not considered for batching at all - if (next.updatedForeignReferences != null) { - return true; - } - - // Now we can make use of batching w/o flushing - return false; - } - - private boolean compareUpdatedFields(SQLStateManager next) { - BitSet updFields = getVisibleMaskBits(SET_MASK); - BitSet nextUpdFields = (next != null) ? next.getVisibleMaskBits(SET_MASK) : null; - - return updFields.equals(nextUpdFields); - } - - public void refreshPersistent() { - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.refreshpersistent", // NOI18N - persistenceConfig.getPersistenceCapableClass().getName()); - } - - // Only refresh if the state allows it. - if (state.isRefreshable()) { - LifeCycleState oldstate = state; - state = state.transitionRefreshPersistent(); - reload(null); - registerInstance(false, null, oldstate); - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.refreshpersistent.exit"); // NOI18N - } - } - - /** - * Reloads the instance by delegating actual work, state transition, and - * instance registration to {@link #reload(FieldDesc) reload(FieldDesc)} - * With null as an argument. Called by - * {@link PersistenceManager#getObjectById(Object, boolean) - * PersistenceManager.getObjectById(Object, boolean)} with validate - * flag set to true - */ - public void reload() { - boolean debug = logger.isLoggable(Logger.FINER); - - if (debug) { - logger.finer("sqlstore.sqlstatemanager.unconditionalreload", // NOI18N - persistenceConfig.getPersistenceCapableClass().getName()); - } - - persistenceManager.acquireShareLock(); - - try { - getLock(); - - reload(null); - - } finally { - persistenceManager.releaseShareLock(); - releaseLock(); - - if (debug) { - logger.finer("sqlstore.sqlstatemanager.unconditionalreload.exit"); // NOI18N - } - } - } - - /** - * Reloads this SM from the state in the datastore, getting data for the - * given field. - * @param additionalField Field to be loaded. - */ - private void reload(FieldDesc additionalField) { - boolean debug = logger.isLoggable(); - - if (debug) { - String fieldName = - (additionalField != null) ? additionalField.getName() : null; - logger.fine("sqlstore.sqlstatemanager.reload", // NOI18N - persistenceConfig.getPersistenceCapableClass().getName(), fieldName); - } - - // Clear the fields PresenceMask so all the currently present - // fields will be replaced. - clearMask(PRESENCE_MASK); - - // Need to mark the key fields as present - markKeyFieldsPresent(); - - clearMask(SET_MASK); - - LifeCycleState oldState = state; - state = state.transitionReload(persistenceManager.isActiveTransaction()); - - if (!retrieveFromVersionConsistencyCache(additionalField)) { - // Retrieve the instance from the data store, if this class - // is not version consistent, or not found in the cache. - - try { - retrieve(additionalField); - } catch (JDOException e) { - // Reset the state if the instance couldn't be found. - state = oldState; - throw e; - } - } - registerInstance(false, null, oldState); - - if (persistenceManager.getFlags(persistentObject) == LOAD_REQUIRED) { - persistenceManager.setFlags(persistentObject, READ_OK); - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.reload.exit"); // NOI18N - } - } - - /** - * Initialize this SM from the version consistency cache. If this - * SM is in the cache and the additional field is not populated, - * the field is retrieved from the store. - * @param additionalField Field to be loaded. - */ - private boolean retrieveFromVersionConsistencyCache(FieldDesc additionalField) { - boolean rc = - persistenceManager.initializeFromVersionConsistencyCache(this); - - if (rc) { - - // make sure additionalField is available - if (additionalField != null - && !getPresenceMaskBit(additionalField.absoluteID)) { - - realizeField(additionalField); - } - } - return rc; - } - - /** - * PersistenceManager calls this method to prepare a persistent - * object for update. This is required for foreign fields only - * as they could reference "regular" JDK Collections vs. SCO - * Collections. Such process has the side-effect of causing more - * objects to be registered with the transaction cache. - */ - public void prepareToUpdatePhaseI() { - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.preparetoupdateph1", // NOI18N - persistenceConfig.getPersistenceCapableClass().getName()); - } - - int action = state.getUpdateAction(); - - if (action == ActionDesc.LOG_NOOP || action == ActionDesc.LOG_DESTROY) { - // Nothing extra to do - return; - } - - // Initialize UpdateDesc. - getUpdateDesc(); - - ArrayList newlyRegisteredSMs = new ArrayList(); - ArrayList foreignFields = persistenceConfig.foreignFields; - int size = foreignFields.size(); - - for (int i = 0; i < size; i++) { - ForeignFieldDesc ff = (ForeignFieldDesc) foreignFields.get(i); - - if ((ff.sqlProperties & FieldDesc.PROP_SECONDARY_TRACKED_FIELD) > 0) { - continue; - } - - if ((ff.cardinalityUPB > 1) && (getSetMaskBit(ff.absoluteID) == true)) { - Collection v = (Collection) ff.getValue(this); - - if ((v != null) && (!(v instanceof SCO) || (((SCO) v).getOwner() == null)) && - (v.size() > 0)) { - ArrayList removed = null; - ArrayList added = new ArrayList(v); - - processCollectionUpdates(ff, removed, added, newlyRegisteredSMs, true, false); - } - } - } - - // The newRegisteredSMs should contain a list of all the state managers that - // are registered as the result of processCollectionUpdates. - for (int i = 0; i < newlyRegisteredSMs.size(); i++) { - SQLStateManager sm = (SQLStateManager) newlyRegisteredSMs.get(i); - - sm.prepareToUpdatePhaseI(); - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.preparetoupdateph1.exit"); // NOI18N - } - } - - /** - * This is the second phase of the commit processing. It populates phase3sms with all - * the autopersistent instances that are no longer reachable from a persistent instance. - * - * @param phase3sms List containing autopersistent instances that are no longer reachable - * from a persistent instance. - */ - public void prepareToUpdatePhaseII(HashSet phase3sms) { - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.preparetoupdateph2", // NOI18N - persistenceConfig.getPersistenceCapableClass().getName()); - } - - // If this instance is autopersistent, we transition it into a pending state and - // add it to phase3sms collection. Any instance in phase3sms collection may be removed - // later if it becomes persistent. - if (state.isAutoPersistent()) { - state = state.transitionMakePending(); - phase3sms.add(this); - return; - } - - if ((stateFlags & ST_PREPARED_PHASE_II) > 0) { - return; - } - - stateFlags |= ST_PREPARED_PHASE_II; - - if ((!state.isNew() && !state.isDirty()) || state.isDeleted()) { - return; - } - - ArrayList foreignFields = persistenceConfig.foreignFields; - int size = foreignFields.size(); - - // Walk the object graph starting from this instance and transition all - // autopersistent instances to persistent and remove it from phase3sms. - for (int i = 0; i < size; i++) { - ForeignFieldDesc ff = (ForeignFieldDesc) foreignFields.get(i); - - if (ff.cardinalityUPB <= 1) { - if (getPresenceMaskBit(ff.absoluteID)) { - Object v = ff.getValue(this); - - if (v != null) { - transitionPersistent(v, phase3sms); - } - } - } else { - Collection c = getCollectionValue(ff); - - if (c != null) { - Iterator iter = c.iterator(); - - while (iter.hasNext()) { - Object v = iter.next(); - - transitionPersistent(v, phase3sms); - } - } - } - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.preparetoupdateph2.exit"); // NOI18N - } - } - - /** - * This is the third phase of commit processing. It sets up the delete dependencies among - * all the autopersistent instances that have been flushed to the database. - */ - public void prepareToUpdatePhaseIII() { - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.preparetoupdateph3", // NOI18N - persistenceConfig.getPersistenceCapableClass().getName()); - } - - if (!state.isPersistentInDataStore()) { - // This object will not be written to the store. But we need to - // make sure, that scheduled jointable entries aren't written either. - // See UpdateQueryPlan#processJoinTables(). - if (updateDesc != null) { - updateDesc.clearUpdatedJoinTableRelationships(); - } - - // Finished for this instance. - return; - } - - ArrayList foreignFields = persistenceConfig.foreignFields; - int size = foreignFields.size(); - - // Sets up dependencies between this instance and all its relationship fields - // that are autopersistent. - for (int i = 0; i < size; i++) { - ForeignFieldDesc ff = (ForeignFieldDesc) foreignFields.get(i); - - if (ff.cardinalityUPB <= 1) { - if (getPresenceMaskBit(ff.absoluteID)) { - Object v = ff.getValue(this); - - if (v != null) { - updateObjectField(ff, null, false, false); - } - } - } else { - Collection c = getCollectionValue(ff); - - if (c != null) { - if (c.size() > 0) { - ArrayList removed = new ArrayList(c); - ArrayList added = null; - - processCollectionUpdates(ff, removed, added, null, false, false); - } - } - } - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.preparetoupdateph3.exit"); // NOI18N - } - } - - /** - * Transitions the instance pc to persistent state if it's - * autopersistent, and removes its state manager from the list - * phase3sms of unreachable autopersistent - * instances. The recursive call to prepareToUpdatePhaseII - * removes the transitive closure of all state managers reachable from - * pc from phase3sms. This method has got no - * effects on transient instances. - * - * @param pc Instance becoming persistent and removed from phase3sms. - * @param phase3sms List containing so far unreachable autopersistent instances. - */ - private void transitionPersistent(Object pc, HashSet phase3sms) { - SQLStateManager sm = (SQLStateManager) persistenceManager.getStateManager(pc); - - // Need to check if the associated state manager is null, if - // called with an object from a collection relationship field. If - // the collection is not a SCO collection, it is possible that it - // contains transient instances. No need to check for object - // relationship fields. - if (sm != null && sm.state.isAutoPersistent()) { - sm.state = sm.state.transitionMakePersistent(); - phase3sms.remove(sm); - sm.prepareToUpdatePhaseII(phase3sms); - } - } - - /** - * Returns the value of the collection relationship field - * ff. For deferred SCOCollections, only the - * objects added in the current transaction are returned. - * This method may only be called for Collection fields! - * - * @param ff Collection relationship field. - * @return The value of the collection relationship field - * ff. For deferred SCOCollections, only the - * objects added in the current transaction are returned. - */ - private Collection getCollectionValue(ForeignFieldDesc ff) { - Collection c = null; - if (ff.cardinalityUPB > 1) { - c = (Collection) ff.getValue(this); - if (c != null && c instanceof SCOCollection) { - SCOCollection sco = (SCOCollection) c; - if (sco.isDeferred()) { - c = sco.getAdded(); - } - } - } - return c; - } - - private void getUpdateActions(ArrayList actions) { - if ((stateFlags & ST_VISITED) > 0) { - return; - } - - int action = state.getUpdateAction(); - - if ((action == ActionDesc.LOG_NOOP) && (updateDesc == null)) { - return; - } - - // Initialize updateDesc. - getUpdateDesc(); - - updateDesc.setObjectInfo(getBeforeImage(), this, action); - - if ((action == ActionDesc.LOG_DESTROY) || (action == ActionDesc.LOG_CREATE) || - updateDesc.hasUpdatedFields() || updateDesc.hasUpdatedJoinTableRelationships()) { - actions.add(updateDesc); - } - - stateFlags |= ST_VISITED; - - if (updatedForeignReferences != null) { - Iterator iter = updatedForeignReferences.iterator(); - - while (iter.hasNext()) { - SQLStateManager sm = ((UpdatedForeignReference) iter.next()).getStateManager(); - - if (sm.referenceCount == 1) { - sm.getUpdateActions(actions); - } - - sm.referenceCount--; - } - } - } - - public void release() { - if (null != persistenceManager) { - - // The persistenceManager can be null, for example if this - // instance is used in the VersionConsistency cache. - persistenceManager.setStateManager(persistentObject, null); - } - - persistentObject = null; - objectId = null; - persistenceManager = null; - beforeImage = null; - hiddenValues = null; - updatedForeignReferences = null; - updateDesc = null; - persistenceConfig = null; - store = null; - valid = false; - } - - private void reset(boolean retainValues, boolean wasNew, boolean keepState) { - boolean debug = logger.isLoggable(); - - if (debug) { - Object[] items = new Object[] {Boolean.valueOf(retainValues), - Boolean.valueOf(wasNew), Boolean.valueOf(keepState)}; - logger.fine("sqlstore.sqlstatemanager.reset", items); // NOI18N - - } - - if (state == null) { - // make the instance transient. - - if (!keepState) { - persistenceManager.clearFields(persistentObject); - } - - // Need to set jdoFlag to READ_WRITE_OK for transient instance. - persistenceManager.setFlags(persistentObject, READ_WRITE_OK); - - if (needsVerifyAtDeregister) { - persistenceManager.deregisterInstance(getObjectId(), this); - } else { - persistenceManager.deregisterInstance(getObjectId()); - } - this.release(); - } else { - // Reset the state manager for the next transaction. - stateFlags = 0; - beforeImage = null; - updatedForeignReferences = null; - referenceCount = 0; - - if (updateDesc != null) { - updateDesc.reset(); - } - - // We retain the field values if retainValues is true or the state - // is persistentNontransactional - if (retainValues || (state instanceof PersistentNonTransactional)) { - FieldDesc f = null; - ArrayList fields = persistenceConfig.fields; - for (int i = 0; i < fields.size(); i++) { - f = (FieldDesc) fields.get(i); - Object v = f.getValue(this); - - // For new objects mark null references as not set if the field is - // not managed. This is to allow the field to be reloaded in the next - // transaction because a relationship may exist in the database. - if (wasNew && (f instanceof ForeignFieldDesc) && - (v == null) && (((ForeignFieldDesc) f).getInverseRelationshipField() == null)) { - if (debug) - logger.fine("sqlstore.sqlstatemanager.unsetmask", f.getName()); // NOI18N - unsetMaskBit(f.absoluteID, PRESENCE_MASK); - } - - // Replace java.util Collection and Date objects - // with SCO instances: - if ((v instanceof Collection) && !(v instanceof SCOCollection) - && !keepState) { - if (debug) - logger.fine("sqlstore.sqlstatemanager.resettingcollection"); // NOI18N - - replaceCollection((ForeignFieldDesc) f, (Collection) v); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.newtype", (f.getValue(this)).getClass()); // NOI18N - } - } else if (v instanceof SCOCollection) { - ((SCOCollection) v).reset(); - } - - // TO FIX!!!: this already replaces Date with SCO Date - else if ((v instanceof java.util.Date) && !(v instanceof SCODate) - && !keepState) { - if (debug) - logger.fine("sqlstore.sqlstatemanager.resettingdate"); // NOI18N - - v = f.convertValue(v, this); - f.setValue(this, v); - if (debug) { - logger.fine("sqlstore.sqlstatemanager.newtype", (f.getValue(this)).getClass()); // NOI18N - } - } - } - - // We need to set the jdoFlags to LOAD_REQUIRED instead of READ_OK in order to - // have the StateManager intermediate access to this instance. The reason is - // if the next transaction is pessimistic, the StateManager needs to reload - // the instance. Note that the StateManager will not reload the instance - // if the transaction is optimistic and the instance is p_nontransactional. - persistenceManager.setFlags(persistentObject, LOAD_REQUIRED); - } else { - clearMask(PRESENCE_MASK); - persistenceManager.clearFields(persistentObject); - - // Need to mark the key fields as present - markKeyFieldsPresent(); - - persistenceManager.setFlags(persistentObject, LOAD_REQUIRED); - } - - clearMask(SET_MASK); - isReplacementInstance = false; - needsRegisterAtRollback = false; - needsVerifyAtDeregister = false; - } - } - - /** - * @return true if persistentObject has been flushed to db - */ - public boolean isProcessed() { - return (referenceCount == 0); - } - - public void flushed() { - // reset the current state to the point where we can accept more updates. - state = state.transitionFlushed(); - - clearMask(SET_MASK); - - stateFlags &= ~ST_VISITED; - stateFlags &= ~ST_UPDATE_DISABLED; - stateFlags &= ~ST_REGISTERED; - - // need to set the jdoFlags to LOAD_REQUIRED to allow updated to be tracked. - persistenceManager.setFlags(persistentObject, LOAD_REQUIRED); - - if (updatedForeignReferences != null) { - updatedForeignReferences.clear(); - } - - if (updateDesc != null) { - updateDesc.reset(); - } - } - - public void commit(boolean retainValues) { - boolean wasNew = (state.isNew() && !state.isDeleted()); - state = state.transitionCommit(retainValues); - reset(retainValues, wasNew, false); - } - - public void rollback(boolean retainValues) { - boolean wasNew = (state.isNew() && !state.isDeleted()); - boolean needsRestore = state.needsRestoreOnRollback(retainValues); - state = state.transitionRollback(retainValues); - boolean keepState = needsRestore; - - // Only restore if there is a before image and the flag needsRestore is true. - if ((beforeImage != null) && (needsRestore == true)) { - copyFields(beforeImage, true, false); - - // Keep the fields from being reset in reset() - keepState = true; - } - - if (needsRegisterAtRollback && !isReplacementInstance) { - persistenceManager.registerInstance(this, getObjectId()); - } - reset(retainValues, wasNew, keepState); - } - - private void markKeyFieldsPresent() { - ArrayList keyFields = persistenceConfig.getPrimaryTable().getKey().getFields(); - - for (int i = 0; i < keyFields.size(); i++) { - LocalFieldDesc fd = (LocalFieldDesc) keyFields.get(i); - - if (fd != null) { - setPresenceMaskBit(fd.absoluteID); - } - } - } - - public void prepareGetField(int fieldID) { - FieldDesc fieldDesc = persistenceConfig.getField(fieldID); - - prepareGetField(fieldDesc, false, true); - } - - private void prepareGetField(FieldDesc fieldDesc) { - prepareGetField(fieldDesc, true, false); - } - - /** - * Loads the field described by fieldDesc. If the field is not - * present in the instance, it will be loaded from the data store by calling - * {@link #realizeField(FieldDesc)}. Depending on its lifecycle state, - * the instance is registered in the transaction cache and the field - * is marked as read. - * - * @param fieldDesc Field descriptor for the field to be loaded. - */ - private void prepareGetField(FieldDesc fieldDesc, boolean internal, boolean acquireShareLock) { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (debug) { - logger.finest("sqlstore.sqlstatemanager.preparegetfield", fieldDesc.getName()); // NOI18N - } - - if (acquireShareLock) { - persistenceManager.acquireShareLock(); - } - - try { - getLock(); - - boolean xactActive = persistenceManager.isActiveTransaction(); - boolean optimistic = persistenceManager.isOptimisticTransaction(); - boolean nontransactionalRead = persistenceManager.isNontransactionalRead(); - - if (state.needsReload(optimistic, nontransactionalRead, xactActive)) { - reload(fieldDesc); - } - - LifeCycleState oldstate = state; - state = state.transitionReadField(optimistic, nontransactionalRead, xactActive); - - registerInstance(false, null, oldstate); - - // Only allow dynamic navigation if we are not in the state that allows it. - if (state.isNavigable() || !internal) { - if (getPresenceMaskBit(fieldDesc.absoluteID) == false) { - realizeField(fieldDesc); - } - } - } catch (JDOException e) { - throw e; - } catch (Exception e) { - logger.log(Logger.FINE,"sqlstore.exception.log", e); - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.getfieldfailed"), e); // NOI18N - } finally { - if (acquireShareLock) { - persistenceManager.releaseShareLock(); - } - releaseLock(); - - if (debug) { - logger.finest("sqlstore.sqlstatemanager.preparegetfield.exit"); // NOI18N - } - } - } - - /** - * Retrieves a field specified by fieldDesc from the data - * store. If the field is part of a group then all unfetched fields - * in the group are retrieved. realizeField is part of dynamic - * navigation. The field is marked as present. - * - * @param fieldDesc The field descriptor of the field to be retrieved.

    - * Note: The fieldDesc parameter must not be null. - */ - private void realizeField(FieldDesc fieldDesc) { - assert fieldDesc != null; - - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.realizefield", fieldDesc.getName()); // NOI18N - } - - if (!persistenceConfig.isNavigable()) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.notnavigable", // NOI18N - fieldDesc.getName(), persistentObject.getClass().getName())); - } - - boolean fieldRealized = false; - - if (fieldDesc instanceof ForeignFieldDesc) { - ForeignFieldDesc ff = (ForeignFieldDesc) fieldDesc; - - // We can do an enhancement if we are only getting a single - // relationship field. Check if the field can be retrieved on - // it's own and the relationship is not mapped to a join table. - // The field can be retrieved on it's own if it's is in - // an independent fetch group or not in a fetch group at all. - // Independent fetch groups have group ids < FieldDesc.GROUP_NONE. - if (ff.fetchGroup <= FieldDesc.GROUP_NONE - && persistenceConfig.getFetchGroup(ff.fetchGroup).size() <= 1 - && !ff.useJoinTable()) { - - fieldRealized = realizeForeignField(ff); - } - } - - if (!fieldRealized) { - retrieve(fieldDesc); - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.realizefield.exit"); // NOI18N - } - } - - /** - * For foreign fields we want to take advantage of knowing the - * relationship key and only selecting the foreign rather than the - * primary with the foreign attached. Most of the work is in - * figuring out whether we can do that. - * - * @param foreignField The relationship field to be retrieved. - * Following is true for this field. - *

      - *
    • It is part of an independent fetch group with only one - * field in the fetch group or not part of any fetch group.
    • - *
    • It is not mapped to a join table.
    • - *
    - * Note: The foreignField parameter must not be null. - * - * @return True, if relationship field has been retrieved, false otherwise. - */ - private boolean realizeForeignField(ForeignFieldDesc foreignField) { - assert foreignField != null; - - boolean isPresent = false; - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.realizeforeignfield", // NOI18N - foreignField.getName()); - } - - // Check and see if all the values we need are present. - for (int i = 0; i < foreignField.localFields.size(); i++) { - LocalFieldDesc lf = (LocalFieldDesc) foreignField.localFields.get(i); - isPresent = getPresenceMaskBit(lf.absoluteID); - - if (!isPresent) { - break; - } - } - - if (isPresent) { - // All the values we need are present. Wow. Now we'll have to - // format a more specialized request and attach the object(s) - // we get back to our managed object. - populateForeignField(foreignField); - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.realizeforeignfield.exit", // NOI18N - Boolean.valueOf(isPresent)); - } - - return isPresent; - } - - /** - * Retrieves the relationship. - * - * @param foreignField The relationship field to be retrieved. - * Following is true for this field. - *
      - *
    • It is part of an independent fetch group with only one - * field in the fetch group or not part of any fetch group.
    • - *
    • It is not mapped to a join table.
    • - *
    - * Note: The foreignField must not be null. - */ - private void populateForeignField(ForeignFieldDesc foreignField) { - assert foreignField != null; - - boolean foundInstance = false; - - if (foreignField.hasForeignKey() && foreignField.isMappedToPk()) { - // Cache lookup, returns an object. - Object pc = getObjectById(foreignField, null, null, true); - - if (foundInstance = (pc != null)) { - foreignField.setValue(this, pc); - } - } - - if (!foundInstance) { - // Query lookup, returns a collection. - Collection result = retrieveForeign(foreignField); - attachQueryResult(foreignField, result); - } - - // Or in PRESENT bit for this field in the properties mask - setPresenceMaskBit(foreignField.absoluteID); - } - - /** - * Attaches the retrieved object(s) queryResult to the - * relationship field foreignField of the instance - * managed by this state manager. - * - * @param queryResult Retrieved value for the relationship field - * foreignField. - */ - private void attachQueryResult(ForeignFieldDesc foreignField, - Collection queryResult) { - assert foreignField != null; - - // Attach the object(s) we got back to our managed object. - // There are three cases: - // 1) The foreign field contains a collection - // 2) The foreign object doesn't exist (NIL) - // 3) The foreign field is a reference to a single object - if (foreignField.getComponentType() != null) { - // Instantiate and populate a dynamic array, namely Collection. - // NOTE: queryResult is null, if we didn't execute the retrieval! - replaceCollection(foreignField, queryResult); - } else if (queryResult == null || queryResult.size() == 0) { - foreignField.setValue(this, null); - } else { - if (queryResult.size() > 1) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.persistencestore.toomanyobjforcard1", // NOI18N - persistenceConfig.getName(), - foreignField.getName(), "" + queryResult.size())); // NOI18N - } - Object v = queryResult.iterator().next(); - foreignField.setValue(this, v); - } - } - - /** - * Retrieves the relationship based on the values of the - * relationship columns on the local side. Note: This method - * assumes that the relationship key fields are loaded. - * - * RESOLVE: - * The relationship might be mapped to an Unique Key. - * Do databases constrain the Unique Key columns to be non null? - * - * @param foreignField The relationship field to be retrieved. - * Following is true for this field. - *
      - *
    • It is part of an independent fetch group with only one - * field in the fetch group or not part of any fetch group.
    • - *
    • It is not mapped to a join table.
    • - *
    - * Note: The foreignField must not be null. - * - * @return Collection returned by the query. Null, if the relationship - * is not set or the passed relationship field is null. - * @see #retrieve - */ - private Collection retrieveForeign(ForeignFieldDesc foreignField) { - assert foreignField != null; - - Collection result = null; - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.retrieveforeign", // NOI18N - foreignField.getName()); - } - - Object[] values = new Object[foreignField.localFields.size()]; - boolean isValidForeignKey = true; - - for (int i = 0; i < foreignField.localFields.size(); i++) { - FieldDesc flf = (FieldDesc) foreignField.localFields.get(i); - - if (!getPresenceMaskBit(i)) { - // throw exception - } - - if (getSetMaskBit(flf.absoluteID)) { - // This is one reason why we must have a before image - // on relationship changes! - values[i] = flf.getValue(beforeImage); - } else { - values[i] = flf.getValue(this); - } - - // Make sure we have a valid query key. - if (values[i] == null) { - // The relationship must be null. No need to query! - isValidForeignKey = false; - } - } - - if (isValidForeignKey) { - // Getting a new generated RD or a cached one. - RetrieveDesc fdesc = - persistenceConfig.getRetrieveDescForFKQuery(foreignField, store); - result = (Collection) store.retrieve( - persistenceManager, fdesc, new QueryValueFetcher(values)); - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.retrieveforeign.exit"); // NOI18N - } - - return result; - } - - /** - * The retrieve method gets a retrieve descriptor to retrieve the - * desired field and adds constraints necessary to limit the - * retrieval set to the source object runs the retrieve - * descriptor against the store, the source object is connected to, - * and then merges the results back into the source object. - * - * @param additionalField The additional field to be retrieved.

    - * Note: The additionalField might be null if we just - * want to reload the instance. - * @see #retrieveForeign - */ - private void retrieve(FieldDesc additionalField) { - boolean debug = logger.isLoggable(); - - if (debug) { - String fieldName = (additionalField != null) ? additionalField.getName() : null; - logger.fine("sqlstore.sqlstatemanager.retrieve", fieldName); // NOI18N - } - - LocalFieldDesc[] keyFields = persistenceConfig.getKeyFieldDescs(); - Object [] values = new Object[keyFields.length]; - copyValues(values, keyFields, 0); - - // Getting a new generated RD or a cached one. - RetrieveDesc rd = persistenceConfig.getRetrieveDescForPKQuery(additionalField, store); - Collection result = (Collection) store. - retrieve(persistenceManager, rd, new QueryValueFetcher(values)); - - if (result.size() > 1) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.toomanyrows", // NOI18N - persistenceConfig.getPersistenceCapableClass().getName())); - } else if (result.size() < 1 || result.iterator().next() != persistentObject) { - - // If there are no instances fetched, or the fetched instances is not the one - // we asked for, it means that it is not found and we throw an exception - throw new JDOObjectNotFoundException(I18NHelper.getMessage(messages, - "core.statemanager.objectnotfound"), // NOI18N - new Object[]{persistentObject}); - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.retrieve.exit"); // NOI18N - } - } - - /** - * Copies the value of fields into the array - * values. The values are copied into the - * array starting at index startIndex. - * - * @param values Array taking the values of fields. - * @param fields Array of LocalFieldDesc. - * @param startIndex Starting index into values. - */ - private void copyValues(Object[] values, LocalFieldDesc[] fields, int startIndex) { - - // The values array should be long enough to hold all the fields. - assert values.length - startIndex >= fields.length; - - for (int i = 0; i < fields.length; i++) { - LocalFieldDesc field = fields[i]; - values[i + startIndex] = field.getValue(this); - - // The field is not expected to be null. - assert values[i + startIndex] != null; - } - } - - public SQLStateManager getBeforeImage() { - - // Do not try to get before image if not required - if (beforeImage == null && isBeforeImageRequired()) { - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.getbeforeimage", // NOI18N - persistenceConfig.getPersistenceCapableClass().getName()); - } - - try { - getLock(); - - // Make a copy of the persistentObject. - beforeImage = copyPersistent(); - } finally { - releaseLock(); - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.getbeforeimage.exit"); // NOI18N - } - } - - return beforeImage; - } - - public boolean isBeforeImageRequired() { - - com.sun.jdo.api.persistence.support.Transaction t = persistenceManager.currentTransaction(); - // NOTE: We need to create a before image on relationship changes for two reasons: - // (1) Relationship management assumes relationship fields to be loaded. - // See prepareUpdateField. - // (2) The before image is used in realizeField. - boolean isBeforeImageRequired = - persistenceManager.isOptimisticTransaction() || - getUpdateDesc().hasChangedRelationships() || - t.getRetainValues() || t.getRestoreValues() || - persistenceConfig.hasModifiedCheckAtCommitConsistency(); - if (logger.isLoggable(Logger.FINER)) { - logger.finer("sqlstore.sqlstatemanager.isbeforeimagerequired", // NOI18N - Boolean.valueOf(isBeforeImageRequired)); - } - return isBeforeImageRequired; - } - - private SQLStateManager copyPersistent() { - PersistenceManager pm = (PersistenceManager) getPersistenceManagerInternal(); - SQLStateManager newStateManager = (SQLStateManager) clone(); - - // Associate state manager with a new pc instance. - pm.newInstance(newStateManager); - - newStateManager.copyFields(this, true, true); - - return newStateManager; - } - - /** - * @inheritDoc StateManager#copyFields(StateManager source) - * Does not copy relationship fields. Other fields are cloned while - * copying as per {@link #cloneObjectMaybe(Object source)}. - * @throws IllegalArgumentException if source is null, is - * not instanceof SQLStateManager, or is not managing the - * same type of persistent instance as this StateManager. - */ - public void copyFields(StateManager source) { - if (!(source instanceof SQLStateManager)) { - String className = - (source != null) ? source.getClass().getName() : null; - throw new IllegalArgumentException(className); - } - - SQLStateManager sqlSource = (SQLStateManager) source; - - if (persistenceConfig != sqlSource.getPersistenceConfig()) { - Class thisPCClass = - persistenceConfig.getPersistenceCapableClass(); - Class sourcePCClass = - sqlSource.getPersistenceConfig().getPersistenceCapableClass(); - throw new IllegalArgumentException( - I18NHelper.getMessage( - messages, - "core.statemanager.copyFields.mismatch", // NOI18N - thisPCClass.getName(), - sourcePCClass.getName())); - } - - copyFields(sqlSource, false, true); - } - - /** - * @inheritDoc StateManager#copyFields(StateManager source). - * @param copyRelationships if true, then relationship fields are copied, - * otherwise they are not copied. - * @param clone if true, then the fields are cloned while copying, - * otherwise both the source and this StateManager reference - * the same field value. - */ - private void copyFields(SQLStateManager source, - boolean copyRelationships, - boolean clone) { - ArrayList fields = null; - - // Reset the field masks, as the instance will - // be populated with the state from the source. - clearMask(PRESENCE_MASK); - clearMask(SET_MASK); - - for (int i = 0; i < 2; i++) { - if (i == 0) { - fields = persistenceConfig.fields; - } else { - fields = persistenceConfig.hiddenFields; - } - - for (int j = 0; (fields != null) && (j < fields.size()); j++) { - FieldDesc f = (FieldDesc) fields.get(j); - - if (!copyRelationships && f.isRelationshipField()) { - continue; - } - - if (source.getPresenceMaskBit(f.absoluteID)) { - Object value = f.getValue(source); - f.setValue(this, (clone) ? cloneObjectMaybe(value) : value); - setPresenceMaskBit(f.absoluteID); - } - } - } - } - - private Object cloneObjectMaybe(Object source) { - // RESOLVE: need to clone SCOCollection - - if (source != null) { - // RESOLVE: Should we clone byte[]??? - if ((source instanceof SCO)) { - return ((SCO)source).cloneInternal(); - - } else if (!(source instanceof Number) && - !(source instanceof String) && - !(source instanceof Character) && - !(source instanceof Boolean) && - // RESOLVE: #jakarta.ejb package# !(source instanceof jakarta.ejb.EJBObject) && - !(source instanceof com.sun.jdo.api.persistence.support.PersistenceCapable) && - !(source instanceof byte[])) { - try { - Class type = source.getClass(); - - if (!type.isArray()) { - Method m = type.getMethod("clone", (Class []) null); // NOI18N - - if (m != null) { - return m.invoke(source, (Object []) null); - } - } else { - Object srcArray[] = (Object[]) source; - Object dstArray[] = (Object[]) - java.lang.reflect.Array.newInstance(type.getComponentType(), srcArray.length); - - for (int i = 0; i < srcArray.length; i++) { - dstArray[i] = srcArray[i]; - } - return dstArray; - } - } catch (NoSuchMethodException e) { - if (logger.isLoggable()) { - Object[] items = new Object[] {e, source.getClass().getName()}; - logger.fine("sqlstore.sqlstatemanager.nosuchmethodexcep.clone", items); // NOI18N - } - } catch (InvocationTargetException e) { - } catch (IllegalAccessException e) { - } - } - } - - return source; - } - - /** - * Prepares the field described by fieldDesc for update. - * This method is central to record changes to fields. The state - * transitions to dirty. The instance is registered in the - * transaction cache. If the field is set for the first time, - * the before image is prepared and the field is marked as modified. - * Updated local fields are added to the column list to be updated. - * - * @param fieldDesc Updated field. - * @param newlyRegisteredSMs - * State managers of autopersistent objects will be added to this list. - * @see #prepareUpdateFieldSpecial - */ - private void prepareUpdateField(FieldDesc fieldDesc, ArrayList newlyRegisteredSMs) { - - // No updates for key fields. As this method is called by - // loadForUpdate for _all_ DFG fields (to prepare a hollow - // instance for update), we can't throw an exception here - // like in prepareUpdateFieldSpecial. - if (fieldDesc.isKeyField()) { - return; - } - - getUpdateDesc().markRelationshipChange(fieldDesc); - - boolean debug = logger.isLoggable(); - - if (debug) { - Object[] items = new Object[] {fieldDesc.getName(),state}; - logger.fine("sqlstore.sqlstatemanager.prepareupdatefield", items); // NOI18N - } - - boolean optimistic = persistenceManager.isOptimisticTransaction(); - boolean xactActive = persistenceManager.isActiveTransaction(); - boolean nontransactionalRead = persistenceManager.isNontransactionalRead(); - - if (state.needsReload(optimistic, nontransactionalRead, xactActive)) { - reload(fieldDesc); - } - - // State transition. - // The state transition prevends field updates on deleted instances - // and must always be executed. See PersistentDeleted.transitionWriteField(). - LifeCycleState oldstate = state; - state = state.transitionWriteField(xactActive); - registerInstance(false, newlyRegisteredSMs, oldstate); - - if (state == oldstate && getSetMaskBit(fieldDesc.absoluteID) && - getPresenceMaskBit(fieldDesc.absoluteID)) { - // The presence mask bit is NEVER set for deferred collections, - // because deferred collections MUST always be reloaded. - return; - } - - // We don't reload the field for a newly created instance. - if (state.isBeforeImageUpdatable()) { - - // Reload the field, as relationship management - // assumes that relationship fields are always present. - // See updateObjectField() or processCollectionupdates(). - if (!getPresenceMaskBit(fieldDesc.absoluteID)) { - prepareGetField(fieldDesc); - } - - updateBeforeImage(fieldDesc, null); - } - - recordUpdatedField(fieldDesc); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.prepareupdatefield.exit"); // NOI18N - } - } - - /** - * Initializes the beforeImage and registers the before image - * value if not null. - * - * @param fieldDesc Updated field. - * @param value BeforeImage value, null if called from - * {@link #prepareUpdateField}. If the value is null it will be retrieved - * from the instance. - * @see #prepareUpdateFieldSpecial - */ - private void updateBeforeImage(FieldDesc fieldDesc, Object value) { - - getBeforeImage(); - - if (beforeImage != null - && !beforeImage.getPresenceMaskBit(fieldDesc.absoluteID) - && (fieldDesc.sqlProperties & FieldDesc.PROP_LOG_ON_UPDATE) > 0) { - - if (value == null) { - value = fieldDesc.getValue(this); - } - - if (value != null) { - if (logger.isLoggable(Logger.FINEST)) { - Object[] items = new Object[] {fieldDesc, value}; - logger.finest("sqlstore.sqlstatemanager.updatebeforeimage", items); // NOI18N - } - - fieldDesc.setValue(beforeImage, cloneObjectMaybe(value)); - beforeImage.setPresenceMaskBit(fieldDesc.absoluteID); - } - } - } - - /** - * Marks the field fieldDesc as set and schedules local fields - * to be written to the data store. - * - * @param fieldDesc Updated field. - */ - private void recordUpdatedField(FieldDesc fieldDesc) { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (!fieldDesc.isRelationshipField() && - (fieldDesc.sqlProperties & FieldDesc.PROP_RECORD_ON_UPDATE) > 0) { - if (debug) { - logger.finest("sqlstore.sqlstatemanager.recordingfield", fieldDesc); // NOI18N - } - getUpdateDesc().recordUpdatedField((LocalFieldDesc) fieldDesc); - } - - if (debug) { - logger.finest("sqlstore.sqlstatemanager.makedirtyfield", fieldDesc); // NOI18N - } - setSetMaskBit(fieldDesc.absoluteID); - } - - /** - * This method adds the dependency between this StateManager - * and the other. - * - * @param sm Second state manager. - * @see StateManager#addDependency(StateManager sm) - */ - public void addDependency(StateManager sm) { - - if (logger.isLoggable()) { - Object[] items = new Object[] {this, sm}; - logger.fine("sqlstore.sqlstatemanager.adddependency", items); // NOI18N - } - - // The simple solution is to call addUpdatedForeignReference() - // internally. It might try to reregister both instances again, - // but the caller should clean up the cache. e.g. the - // PersistenceManager MUST replace the deleted StateManager - // with the new instance in the weak cache AFTER this call. - - SQLStateManager other = (SQLStateManager)sm; - if (!state.isNew() || !state.isDeleted()) { - // Do not need to add a dependency to a new-deleted instance as - // its flush is a no-op any way. - - // First parameter == null marks a non removable dependency. - this.addUpdatedForeignReference(null, other); - } else if ((other.stateFlags & ST_REGISTERED) == 0) { - - // If we did not add a dependency, we still need to register the other - // instance if it is not yet registered. - persistenceManager.registerInstance(other, other.getObjectId(), false, true); - other.stateFlags |= ST_REGISTERED; - } - } - - /** - * Resolves the dependencies for the instances waiting for this state manager. - * Dependencies are registered instantly during the course of the transaction. - * For this reason, the introduced dependencies must be checked, if they are - * still valid at commit/flush. E.g. remove dependencies introduced on - * relationship removal are only valid, if the removed instance is deleted. - *

    - * This method checks the dependencies for all instances waiting for the - * current state manager to be flushed to the store. - */ - public void resolveDependencies() { - if (logger.isLoggable()) { - logger.fine("sqlstore.sqlstatemanager.resolvedependencies", this.getPersistent()); // NOI18N - } - - if (updatedForeignReferences != null) { - Iterator iter = updatedForeignReferences.iterator(); - - while (iter.hasNext()) { - final UpdatedForeignReference ufr = (UpdatedForeignReference) iter.next(); - final ForeignFieldDesc fieldDesc = ufr.getFieldDesc(); - final SQLStateManager foreignSM = ufr.getStateManager(); - - if (resolveDependency(fieldDesc, foreignSM)) { - foreignSM.removeDependency(); - iter.remove(); - } - } - } - } - - /** - * Tries to resolve the dependency between this - * and foreignSM introduced on the update of - * relationship field fieldDesc. There are three - * kinds of dependencies: - *

      - *
    • Create dependency, see {@link #registerRemoveDependency}
    • - *
    • Remove dependency, see {@link #registerCreateDependency}
    • - *
    • Update dependency, see {@link #manageDependencyForObjectField}
    • - *
    - * The current implementation does not attempt to resolve - * Update dependencies. - * - * @param fieldDesc Relationship field. - * @param foreignSM Foreign state manager. - * @return True, if the dependency between this - * and foreignSM can be safely removed. - */ - private boolean resolveDependency(ForeignFieldDesc fieldDesc, - SQLStateManager foreignSM) { - boolean removeDependency = false; - Object pc = foreignSM.getPersistent(); - - if (!state.isPersistentInDataStore()) { - // Check for a create dependency. - // The create dependency is valid, if the instance is being created. - if (state.getUpdateAction() != ActionDesc.LOG_CREATE) { - // The instance is not persistent and will not be created. - removeDependency = true; - } else if (!checkRelationship(this, fieldDesc, pc)) { - // No relationship between the two instances. - removeDependency = true; - } - } else { - // Not removable dependencies are marked by fieldDesc == null. - // See delete/create with the same id dependency in addDependency - // or update dependencies in manageDependencyForObjectField. - // RESOLVE: Are update dependencies removable? - if (fieldDesc != null) { - // Check for a remove dependency. - // The remove dependency is valid, if the formerly referred - // instance is being removed. - if (foreignSM.state.getUpdateAction() != ActionDesc.LOG_DESTROY) { - // The formerly referred instance will not be removed. - removeDependency = true; - } else if (fieldDesc.cardinalityUPB <= 1) { - // Don't check collection relationships, as collection - // fields might not be populated in the before image. - // RESOLVE: Collection relationships shouldn't be - // checked for remove dependencies anyway. - if (!checkRelationship(beforeImage, fieldDesc, pc)) { - // No previous relationship between the two instances. - removeDependency = true; - } - } - } - } - - if (removeDependency && logger.isLoggable()) { - Object[] items = new Object[] {this.getPersistent(), fieldDesc.getName(), pc}; - logger.fine("sqlstore.sqlstatemanager.resolvedependency", items); // NOI18N - } - return removeDependency; - } - - /** - * Decrements the reference count and marks this instance - * as updateable, if the reference count is zero. - */ - private void removeDependency() { - if (--referenceCount == 0) { - stateFlags &= ~ST_UPDATE_DISABLED; - } - } - - /** - * Checks, if there is a relationship between the persistence - * capable instance managed by state manager sm and - * pc on field fieldDesc. If - * sm represents a before image, the relationship was - * reset in the current transaction. - * - * @param sm Either the before- or after image of the current state manager. - * @param fieldDesc Relationship field. - * @param pc Persistence capable instance checked for relationship. - * @return True, if the persistence capable instances are (were) - * related on the given field. - */ - static private boolean checkRelationship(SQLStateManager sm, - ForeignFieldDesc fieldDesc, - Object pc) { - boolean related = false; - - if (fieldDesc != null && sm != null - && sm.getPresenceMaskBit(fieldDesc.absoluteID)) { - - if (fieldDesc.cardinalityUPB > 1) { - // Checking directly for contains doesn't work for deferred SCOCollections. - Collection c = sm.getCollectionValue(fieldDesc); - - // Resulting collection can't be null because the presence mask is set. - related = c.contains(pc); - } else { - related = fieldDesc.getValue(sm) == pc; - } - } - return related; - } - - /** - * Nullify the relationship in the data store before the _possible_ removal - * of removedSM. To maintain referentional integrity constraints in the - * database, the relationship to the removed instance has to be nullified, - * before the removed object might be deleted. Since we use immediate - * dependency management, we don't know, if the removed object is deleted - * later on. The data store relationship has to be erased before the - * removal. Immediate dependency management determines dependencies - * immediatly when the relationship is set. In contrast the deferred - * approach waits until the objects are flushed to the store. Set the - * dependency only if both instances are already persistent. - * - * @param fieldDesc Updated relationship field. - * @param removedSM State manager removed from the relationship. - * @see #nullifyForeignKey(ForeignFieldDesc, SQLStateManager, ForeignFieldDesc, boolean) - * @see #removeJoinTableEntry(ForeignFieldDesc, SQLStateManager, ForeignFieldDesc) - */ - private void registerRemoveDependency(ForeignFieldDesc fieldDesc, SQLStateManager removedSM) { - if (this.state.isPersistentInDataStore() && - removedSM.state.isPersistentInDataStore()) { - - this.addUpdatedForeignReference(fieldDesc, removedSM); - } - } - - /** - * The referred object has to be written to the store before the - * relationship can be set. To ensure referentional integrity - * constraints in the database, the added object has to be written - * to the store, before the relationship can be set. The same - * dependency applies for relationships mapped to a jointable. - * - * @param inverseFieldDesc Updated inverse relationship field. - * WE must pass the inverse field, because the dependency is - * registered on the added state manager. See - * {@link #registerRemoveDependency}. - * @param addedSM State manager added to the relationship. - * @see #setForeignKey(ForeignFieldDesc, SQLStateManager, ForeignFieldDesc) - * @see #addJoinTableEntry(ForeignFieldDesc, SQLStateManager, ForeignFieldDesc) - */ - private void registerCreateDependency(ForeignFieldDesc inverseFieldDesc, SQLStateManager addedSM) { - if (!addedSM.state.isPersistentInDataStore()) { - addedSM.addUpdatedForeignReference(inverseFieldDesc, this); - } - } - - /** - * Adds a dependency for state manager sm. State - * manager sm must wait for this to be - * flushed to the store before it can be written itself. State - * manager sm is added to the list of objects - * depending on this and will be notified when - * this is written to the store. Store updates to - * sm are disabled until then. This dependency is - * established to maintain referential integrity conditions in the - * data store. - * - * @param fieldDesc Updated relationship field. - * @param sm Foreign state manager depending on this. - */ - private void addUpdatedForeignReference(ForeignFieldDesc fieldDesc, SQLStateManager sm) { - - // Avoid self-dependency. - if (sm == this) { - return; - } - - // IMPORTANT: The following check assumes that this StateManager needs to be - // registered only if it has no updatedForeignReferences. Check if this causes - // a problem after this instance has been flushed, and updatedForeignReferences - // is now an empty collection. - if (updatedForeignReferences == null) { - updatedForeignReferences = new HashSet(); - - // Register this instance disregarding it's LifeCycle state. - // Otherwise, its state may never be reset after the transaction commits. - if ((stateFlags & ST_REGISTERED) == 0) { - persistenceManager.registerInstance(this, getObjectId(), false, true); - stateFlags |= ST_REGISTERED; - } - } - - if (updatedForeignReferences.add(new UpdatedForeignReference(fieldDesc, sm))) { - sm.stateFlags |= ST_UPDATE_DISABLED; - sm.referenceCount++; - - if (logger.isLoggable() ) { - String fieldName = (fieldDesc != null) ? fieldDesc.getName() : null; - Object[] items = new Object[] {this.persistentObject, fieldName, - sm.persistentObject, new Integer(sm.referenceCount)}; - logger.fine("sqlstore.sqlstatemanager.addupdate", items); // NOI18N - } - - // Register this instance disregarding it's LifeCycle state. - // Otherwise, its state may never be reset after the transaction commits. - if ((sm.stateFlags & ST_REGISTERED) == 0) { - persistenceManager.registerInstance(sm, sm.getObjectId(), false, true); - sm.stateFlags |= ST_REGISTERED; - } - } - } - - /** - * Removes the dependency from state manager sm on - * this. State manager sm does not need to - * wait for this to be flushed to the store. The dependency - * was established to maintain referential integrity conditions in the - * data store. - * - * @param fieldDesc Updated relationship field. - * @param sm Foreign state manager removed from the dependency. - */ - private void removeUpdatedForeignReference(ForeignFieldDesc fieldDesc, SQLStateManager sm) { - if ((updatedForeignReferences == null) || - (updatedForeignReferences.size() == 0)) { - return; - } - - if (updatedForeignReferences.remove(new UpdatedForeignReference(fieldDesc, sm))) { - sm.referenceCount--; - - if (logger.isLoggable()) { - String fieldName = (fieldDesc != null) ? fieldDesc.getName() : null; - Object[] items = new Object[] {this.persistentObject, fieldName, - sm.persistentObject, new Integer(sm.referenceCount)}; - logger.fine("sqlstore.sqlstatemanager.removeupdate", items); // NOI18N - } - - if (sm.referenceCount == 0) { - sm.stateFlags &= ~ST_UPDATE_DISABLED; - } - } - } - - /** - * Handles relationship updates for the object side of a one-to-many or both - * sides of a one-to-one relationship. This method processes i.e. the - * Employee side of the Employee-Department, or both sides - * Employee-Insurance relationship. Nullifies the relation on the instance - * removed from the relationship. The relation is set on the added instance - * value. Data store updates are scheduled. Updates the inverse - * relationship side if updateInverseRelationshipField == true - * and the relationship is mapped as bi-directional by the user. - * - * @param fieldDesc Updated relationship field. - * @param addedObject Relationship object to be set. - * @param updateInverseRelationshipField - * True, if we need to update the inverse relationship side. - * @param managedRelationshipInProgress True during relationship management. - * @return Always true. - * @exception JDOUserException - * Thrown if the added object addedObject has already been deleted. - */ - private boolean updateObjectField(ForeignFieldDesc fieldDesc, - Object addedObject, - boolean updateInverseRelationshipField, - boolean managedRelationshipInProgress) { - - boolean debug = logger.isLoggable(); - - if (debug) { - Object[] items = new Object[] {fieldDesc.getName(),fieldDesc.getComponentType()}; - logger.fine("sqlstore.sqlstatemanager.updateobjfield", items); // NOI18N - } - - Object removedObject = fieldDesc.getValue(this); - - // Don't do anything if the before and after value are the same. - if (addedObject != removedObject) { - - SQLStateManager addedSM = getAddedSM(addedObject, null); - SQLStateManager removedSM = getRemovedSM(removedObject); - SQLStateManager addedInverseFieldSM = null; - - // If the new value is already deleted, we throw an exception. - if (addedSM != null && addedSM.isDeleted()) { - JDOUserException ex = new JDOUserException(I18NHelper.getMessage(messages, - "jdo.lifecycle.deleted.accessField")); // NOI18N - ex.addFailedObject(addedObject); - throw ex; - } - - ForeignFieldDesc inverseFieldDesc = fieldDesc.getInverseRelationshipField(); - - updateRelationshipInDataStore(fieldDesc, addedSM, removedSM, - inverseFieldDesc, managedRelationshipInProgress); - - if (updateInverseRelationshipField && inverseFieldDesc != null) { - addedInverseFieldSM = manageRelationshipForObjectField(inverseFieldDesc, addedSM, removedSM, - managedRelationshipInProgress); - } - - manageDependencyForObjectField(fieldDesc, addedSM, removedSM, addedInverseFieldSM); - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.updateobjfield.exit"); // NOI18N - } - - return true; - } - - /** - * Updates the relationship in the data store. Updates the (hidden) local fields - * corresponding to the foreign key columns if the relationship is mapped to a - * foreign key. Jointable entries are scheduled for creation/removal if the - * relationship is mapped to a jointable. - * - * @param fieldDesc Updated relationship field. - * @param addedSM State manager of the added object. - * @param removedSM State manager of the removed object. - * @param inverseFieldDesc Inverse relationship field. - * @param managedRelationshipInProgress - * True during relationship management. We don't want to update the - * relationship fields twice during relationship management. - */ - private void updateRelationshipInDataStore(ForeignFieldDesc fieldDesc, - SQLStateManager addedSM, - SQLStateManager removedSM, - ForeignFieldDesc inverseFieldDesc, - boolean managedRelationshipInProgress) { - - if (!fieldDesc.useJoinTable()) { - processForeignKeys(fieldDesc, addedSM, removedSM, inverseFieldDesc, - managedRelationshipInProgress); - } else { - processJoinTableEntries(fieldDesc, addedSM, removedSM, inverseFieldDesc, - managedRelationshipInProgress); - } - } - - /** - * Updates the (hidden) local fields corresponding to the foreign key columns - * if the relationship is mapped to a foreign key. The updates are written - * to the store when the instance is flushed. For relationships mapped to - * foreign keys, we always update the side with the foreign key. - * The collection side never has the foreign key. Data store updates for - * added objects are not processed twice during relationship management. - * - * Data store dependencies for the update operations are established. - * - * @param fieldDesc Updated relationship field. - * @param addedSM State manager of the added object. - * @param removedSM State manager of the removed object. - * @param inverseFieldDesc Inverse relationship field. - * @param managedRelationshipInProgress True during relationship management. - */ - private void processForeignKeys(ForeignFieldDesc fieldDesc, - SQLStateManager addedSM, - SQLStateManager removedSM, - ForeignFieldDesc inverseFieldDesc, - boolean managedRelationshipInProgress) { - - // If the fieldDesc property has the REF_INTEGRITY_UPDATES unset, it means we - // need to update the other side of the relationship naming the foreign key fields. - boolean updateOtherSide = (fieldDesc.sqlProperties & FieldDesc.PROP_REF_INTEGRITY_UPDATES) == 0; - - if (updateOtherSide) { - // Null out the foreign key on the removed object. - if (removedSM != null) { - removedSM.nullifyForeignKey(inverseFieldDesc, this, fieldDesc, false); - } - // Set the foreign key on the added object. - // Don't set the fk twice during relationship management. - if (addedSM != null && !managedRelationshipInProgress) { - addedSM.setForeignKey(inverseFieldDesc, this, fieldDesc); - } - } else { - // Null out the foreign key to the removed object. - if (removedSM != null) { - // Don't overwrite the foreign key, if both removedSM and - // addedSM != null. See runtime test rel12 for an example. - nullifyForeignKey(fieldDesc, removedSM, inverseFieldDesc, addedSM != null); - } - // Set the foreign key to the added object. - // Don't set the fk twice during relationship management. - if (addedSM != null && !managedRelationshipInProgress) { - // See above! - setForeignKey(fieldDesc, addedSM, inverseFieldDesc); - } - } - } - - /** - * Schedules jointable entries for relationships mapped to jointables. - * The actual creation/removal of the jointable entry is deferred until - * flush. Data store updates for added objects are not processed twice - * during relationship management. - * - * Data store dependencies for the update operations are established. - * - * @param fieldDesc Updated relationship field. - * @param addedSM State manager of the added object. - * @param removedSM State manager of the removed object. - * @param inverseFieldDesc Inverse relationship field. - * @param managedRelationshipInProgress True during relationship management. - */ - private void processJoinTableEntries(ForeignFieldDesc fieldDesc, - SQLStateManager addedSM, - SQLStateManager removedSM, - ForeignFieldDesc inverseFieldDesc, - boolean managedRelationshipInProgress) { - - // If the fieldDesc property has the REF_INTEGRITY_UPDATES unset, - // it means we need to update the other side of the relationship. - boolean updateOtherSide = (fieldDesc.sqlProperties & FieldDesc.PROP_REF_INTEGRITY_UPDATES) == 0; - - if (updateOtherSide) { - // Schedule the removal of the jointable entry to removedSM. - if (removedSM != null) { - removedSM.removeJoinTableEntry(inverseFieldDesc, this, fieldDesc); - } - - // Schedule the jointable entry to the added object. - // Don't schedule the jointable entry twice during relationship management. - if (addedSM != null && !managedRelationshipInProgress) { - addedSM.addJoinTableEntry(inverseFieldDesc, this, fieldDesc); - } - } else { - // Schedule the removal of the jointable entry to removedSM. - if (removedSM != null) { - // Contrary to foreign key relationships, we always have - // to remove the previous jointable entry. - removeJoinTableEntry(fieldDesc, removedSM, inverseFieldDesc); - } - - // Schedule the jointable entry to the added object. - // Don't schedule the jointable entry twice during relationship management. - if (addedSM != null && !managedRelationshipInProgress) { - addJoinTableEntry(fieldDesc, addedSM, inverseFieldDesc); - } - } - } - - /** - * Updates the (inverse) relationship field for addedSM - * and removedSM. - * - * @param inverseFieldDesc Inverse relationship field. - * @param addedSM State manager of the added object. - * @param removedSM State manager of the removed object. - * @param managedRelationshipInProgress True during relationship management. - * @return State manager managing the previous value of addedSM's - * relationship field. - */ - private SQLStateManager manageRelationshipForObjectField(ForeignFieldDesc inverseFieldDesc, - SQLStateManager addedSM, - SQLStateManager removedSM, - boolean managedRelationshipInProgress) { - - Object addedInverseFieldValue = null; - SQLStateManager addedInverseFieldSM = null; - - if (removedSM != null) { - removedSM.removeRelationship(inverseFieldDesc, this); - } - - if (addedSM != null && !managedRelationshipInProgress) { - addedInverseFieldValue = addedSM.addRelationship(inverseFieldDesc, this); - - if (addedInverseFieldValue != null) { - addedInverseFieldSM = (SQLStateManager) - persistenceManager.getStateManager(addedInverseFieldValue); - } - } - - return addedInverseFieldSM; - } - - /** - * Dependency management for database operations on the one-to-one - * relationships. Establishes a dependency to nullify the foreign key on the - * removed instance before the added instance's foreign key can be set. If - * the relationship is mapped to a jointable, remove the jointable entry to - * the removed instance before the jointable entry on the added can be - * added. This update dependency is valid only for one-to-one relationships, - * because only one-to-one relationships can be enforced by an unique - * index on the foreign key. On the other hand, there's never a state - * manager removed from the relationship for one-to-many relationships. - * - * We would like to do this in updateRelationshipInDataStore, - * but we don't know the added instance's previous value in case of - * updateOtherSide == false there. Here, we can handle this situation - * at one place. - * - * @param fieldDesc Updated relationship field. - * @param addedSM Added state manager. - * @param removedSM Removed state manager. - * @param addedInverseFieldSM - * State manager removed from the relationship, - * if the foreign key is on the local side. - */ - private void manageDependencyForObjectField(ForeignFieldDesc fieldDesc, - SQLStateManager addedSM, - SQLStateManager removedSM, - SQLStateManager addedInverseFieldSM) { - - // If the fieldDesc property has the REF_INTEGRITY_UPDATES unset, - // it means data store updates are scheduled on the other side of the relationship. - boolean updateOtherSide = (fieldDesc.sqlProperties & FieldDesc.PROP_REF_INTEGRITY_UPDATES) == 0; - - // Nullify the foreign key on the removed object before - // the added object's foreign key can be set. - if (updateOtherSide && removedSM != null && addedSM != null) { - - // Add the dependency only if both objects involved - // in the relationship being removed are already persistent. - if (removedSM.state.isPersistentInDataStore() - && this.state.isPersistentInDataStore()) { - - // First parameter == null marks a non removable dependency. - // RESOLVE: Pass inverseFieldDesc here. - removedSM.addUpdatedForeignReference(null, addedSM); - } - } - - // If the foreign key is on this side, addedInverseFieldSM - // corresponds to the removedSM and this is the addedSM! - if (!updateOtherSide && addedInverseFieldSM != null) { - - // Add the dependency only if both objects involved - // in the relationship being removed are already persistent. - if (addedInverseFieldSM.state.isPersistentInDataStore() && - addedSM != null && addedSM.state.isPersistentInDataStore()) { - - // First parameter == null marks a non removable dependency. - // RESOLVE: Pass inverseFieldDesc here. - addedInverseFieldSM.addUpdatedForeignReference(null, this); - } - } - } - - /** - * Returns the added object's state manager. Transient objects become - * "autopersistent" on the association to an already persistent instance and - * are associated with a new state manager. - * - * If newlyRegisteredSMs is not null, the newly created state manager - * is added to the list. This list is only non-null for the treatment of deferred - * collection fields, which is done before the actual flush to the data store. - * Autopersistence management for all other cases is handled sufficiently - * in the makeAutoPersistent call. - * - * @param addedObject Object added to a relationship. - * @param newlyRegisteredSMs - * The state managers of autopersistent objects will be added to this list. - * @return State manager for the added object. The statemanager will - * be not null for all persistence capable objects != null. - */ - private SQLStateManager getAddedSM(Object addedObject, ArrayList newlyRegisteredSMs) { - SQLStateManager addedSM = null; - - if (addedObject != null) { - // Persistence by reachablity. - if ((addedSM = (SQLStateManager) persistenceManager.getStateManager(addedObject)) == null) { - makeAutoPersistent(addedObject); - addedSM = (SQLStateManager) persistenceManager.getStateManager(addedObject); - - // Add the newly created state manager to the newlyRegisteredSMs - // list so we can do further processing on it. - if (newlyRegisteredSMs != null && !newlyRegisteredSMs.contains(addedSM)) { - newlyRegisteredSMs.add(addedSM); - } - } - } - return addedSM; - } - - /** - * Returns the removed object's state manager. - * - * @param removedObject Object removed to a relationship. - * @return State manager for the removed object. The state manager might - * be null even for objects != null (in case of JDK collections). - * @see #removeCollectionRelationship - */ - private SQLStateManager getRemovedSM(Object removedObject) { - SQLStateManager removedSM = null; - - if (removedObject != null) { - removedSM = (SQLStateManager) persistenceManager.getStateManager(removedObject); - } - return removedSM; - } - - /** - * Updates the relationship for the collection side of a one-to-many or - * many-to-many relationship. Objects in removedList are - * removed from the relation. The relation is set on all objects in - * addedList. In case of user updates, relationship management - * on "this" relationship side is done by the user, i.e. by - * d.getEmployees().add(newEmp) for a Department d. This method is never - * called during relationship management. - * - * @param fieldDesc Updated relationship field. - * @param removedList List of objects to be removed from the relationship. - * @param addedList List of objects to be added to the relationship. - * @param newlyRegisteredSMs - * List taking newly registered SMs for objects becoming autopersistent. - * @param updateInverseRelationshipField - * True, if we need to update the inverse relationship field. - * @param managedRelationshipInProgress - * True during relationship management. NOTE: This parameter is - * always false, as the method is never called during relationship management. - * @exception JDOUserException Thrown on failures in afterList handling. - * @see #prepareSetField(FieldDesc,Object,boolean) - */ - private void processCollectionUpdates(ForeignFieldDesc fieldDesc, - ArrayList removedList, - ArrayList addedList, - ArrayList newlyRegisteredSMs, - boolean updateInverseRelationshipField, - boolean managedRelationshipInProgress) { - - boolean debug = logger.isLoggable(); - ForeignFieldDesc inverseFieldDesc = fieldDesc.getInverseRelationshipField(); - - // RESOLVE: What if - // * inverseFieldDesc is null? - // * fieldDesc.cardinalityUPB == 1 - - if (debug) { - Object[] items = new Object[] {removedList,addedList}; - logger.fine("sqlstore.sqlstatemanager.processcollectionupdate", items); // NOI18N - } - - // removedList contains the list of objects removed. - if (removedList != null) { - removeCollectionRelationship(fieldDesc, removedList, inverseFieldDesc, - updateInverseRelationshipField, managedRelationshipInProgress); - } - - // addedList contains the objects added. - if (addedList != null) { - addCollectionRelationship(fieldDesc, addedList, inverseFieldDesc, - newlyRegisteredSMs, - updateInverseRelationshipField, managedRelationshipInProgress); - } - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.processcollectionupdate.exit"); // NOI18N - } - } - - /** - * Nullifies the relationship for the objects removed from a collection relationship. - * - * @param fieldDesc Updated relationship field. - * @param removedList List of objects to be removed from the relationship. - * @param inverseFieldDesc Inverse relationship field. - * @param updateInverseRelationshipField - * True, if we need to update the inverse relationship side. - * @param managedRelationshipInProgress - * True during relationship management. NOTE: This parameter is always - * false, as the method is never called during relationship management. - * @see #processCollectionUpdates - */ - private void removeCollectionRelationship(ForeignFieldDesc fieldDesc, - ArrayList removedList, - ForeignFieldDesc inverseFieldDesc, - boolean updateInverseRelationshipField, - boolean managedRelationshipInProgress) { - - for (int i = 0; i < removedList.size(); i++) { - SQLStateManager removedSM = getRemovedSM(removedList.get(i)); - - // removedSM == null can happen if the collection is non-SCO and contains - // transient instances which don't become persistent until commit. - if (removedSM != null) { - - // The collection side never has the foreign key, i.e. - // it's never processed during relationship management, - // because data store updates are already done. - if (!managedRelationshipInProgress) { - updateRelationshipInDataStore(fieldDesc, null, removedSM, inverseFieldDesc, false); - - // Relationship management - if (updateInverseRelationshipField && inverseFieldDesc != null) { - removedSM.removeRelationship(inverseFieldDesc, this); - } - } - } - } - } - - /** - * Nullifies the (hidden) local fields corresponding to the foreign key columns - * for relationship field fieldDesc. Usually the foreign key - * columns are not mapped explicitly by the user. For this reason the runtime - * creates hidden fields representing the foreign key columns internally. We - * determine the local fields by iterating appropriate field list of either - * fieldDesc or inverseFieldDesc. - * - * For dependency management, the removal of the foreign key has - * to be nullified before the _possible_ removal of removedSM. The - * same dependency applies to jointable relationships, see {@link - * #registerRemoveDependency}. - * - * @param fieldDesc Updated relationship field. - * @param removedSM State manager of the removed object. - * @param inverseFieldDesc Inverse relationship field. - * @param setDependencyOnly Only set the dependency between this - * and removedSM. - */ - private void nullifyForeignKey(ForeignFieldDesc fieldDesc, - SQLStateManager removedSM, - ForeignFieldDesc inverseFieldDesc, - boolean setDependencyOnly) { - - if (!isDeleted() && !setDependencyOnly) { - // fieldDesc can be null for one-directional relationships. We are - // only interested in the LocalFieldDescs for the foreign key columns, - // which can also be retrieved from inverseFieldDesc. - if (fieldDesc != null) { - for (int i = 0; i < fieldDesc.localFields.size(); i++) { - LocalFieldDesc la = (LocalFieldDesc) fieldDesc.localFields.get(i); - - nullifyForeignKey(fieldDesc, la); - } - } else { - for (int i = 0; i < inverseFieldDesc.foreignFields.size(); i++) { - LocalFieldDesc la = (LocalFieldDesc) inverseFieldDesc.foreignFields.get(i); - - nullifyForeignKey(fieldDesc, la); - } - } - } - - // Nullify the foreign key before the _possible_ removal of removedSM. - registerRemoveDependency(fieldDesc, removedSM); - } - - /** - * Actually nullifies the local field la corresponding to a - * foreign key column for the relationship update. - * Fields tracking the foreign key field la are updated. - * - * @param fieldDesc Updated relationship field. - * @param la Local field corresponding to a foreign key column. - * @exception JDOUserException Is thrown, if the field to be updated - * is a primary key field. We don't allow pk updates. - */ - private void nullifyForeignKey(ForeignFieldDesc fieldDesc, LocalFieldDesc la) { - - if (!getSetMaskBit(la.absoluteID)) { - prepareUpdateField(la, null); - } - - JDOUserException pkUpdateEx = null; - - if (la.isKeyField()) { - try { - assertPKUpdate(la, null); - } catch (JDOUserException e) { - // If the relationship being set to null - // and the parent instance is being deleted, we will ignore - // the exception thrown from assertPKUpdate(). The reason is - // that we are really just trying to set up the dependency - // and not modify the relationship itself. If we do not - // ignore this exception, there will be no way to delete - // the parent instance at all because we don't support - // modifying primary key. - - if (((stateFlags & ST_DELETE_INPROGRESS) == 0)) { - throw e; - } - - pkUpdateEx = e; - } - } - - if (pkUpdateEx == null) { - // As la tracks fieldDesc, fieldDesc is ignored in updateTrackedFields. - updateTrackedFields(la, null, fieldDesc); - la.setValue(this, null); - } - } - - /** - * Schedules the removal of the jointable entry between this and the - * foreign state manager. A scheduled creation of the jointable entry - * between these two objects is simply removed. The removal is - * scheduled on the local side. - * - * For dependency management, the removal of the jointable entry has - * to precede the _possible_ removal of removedSM. The same dependency applies - * to foreign key relationships, see {@link #registerRemoveDependency}. - * - * RESOLVE: What happens, if a field descriptor is null, e.g. for one - * way relationships, as the descriptors are taken as keys during scheduling? - * - * @param fieldDesc Updated relationship field. This field is mapped to a jointable. - * @param removedSM State manager of the removed object. - * @param inverseFieldDesc Inverse relationship field. - * @see #prepareToUpdatePhaseIII - */ - private void removeJoinTableEntry(ForeignFieldDesc fieldDesc, - SQLStateManager removedSM, - ForeignFieldDesc inverseFieldDesc) { - - // Cleanup dependencies. We need to cleanup dependencies for - // flushed autopersistent instances that aren't reachable - // before commit. See runtime test Autopersistence.TestCase12. - // The cleanup must be done for removals only, because the - // only operations executed in prepareToUpdatePhaseIII are - // removals. - if (removedSM.state.isAutoPersistent() || this.state.isAutoPersistent()) { - removedSM.removeUpdatedForeignReference(inverseFieldDesc, this); - this.removeUpdatedForeignReference(fieldDesc, removedSM); - } - - // Remove scheduled creation on this side. - if (fieldDesc != null && getUpdateDesc().removeUpdatedJoinTableRelationship( - fieldDesc, removedSM, ActionDesc.LOG_CREATE) == false) { - - // Remove scheduled creation on the other side. - if (inverseFieldDesc == null || removedSM.getUpdateDesc().removeUpdatedJoinTableRelationship( - inverseFieldDesc, this, ActionDesc.LOG_CREATE) == false) { - - // Schedule removal on this side. - // The field descriptor taken as key must not be null, see above! - getUpdateDesc().recordUpdatedJoinTableRelationship( - fieldDesc, this, removedSM, ActionDesc.LOG_DESTROY); - - // Remove the jointable entry before the _possible_ removal of removedSM. - registerRemoveDependency(fieldDesc, removedSM); - } - } else if (fieldDesc == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.cantschedulejointable", // NOI18N - this.getPersistenceConfig().getPersistenceCapableClass().getName(), - removedSM.getPersistenceConfig().getPersistenceCapableClass().getName())); - } - } - - /** - * Updates the relationship field fieldDesc between this - * and removedSM. - * - * @param fieldDesc Updated relationship field. The field must be != null. - * @param removedSM State manager of the removed object. - */ - private void removeRelationship(ForeignFieldDesc fieldDesc, SQLStateManager removedSM) { - - boolean isCollection = (fieldDesc.cardinalityUPB > 1); - - if (!isCollection) { - prepareUpdateFieldSpecial(fieldDesc, removedSM.persistentObject, false); - updateTrackedFields(fieldDesc, null, null); - fieldDesc.setValue(this, null); - } else { - try { - prepareUpdateFieldSpecial(fieldDesc, null, true); - SCOCollection c = (SCOCollection) fieldDesc.getValue(this); - c.removeInternal(removedSM.persistentObject); - updateTrackedFields(fieldDesc, c, null); - } catch (ClassCastException e) { - // ignore - } - } - } - - /** - * Sets the relationship for the objects added to a collection relationship. - * - * @param fieldDesc Updated relationship field. - * @param addedList List of objects to be added to the relationship. - * @param inverseFieldDesc Inverse relationship field. - * @param newlyRegisteredSMs - * State managers for autopersistent objects will be added to this list. - * @param updateInverseRelationshipField - * True, if we need to update the inverse relationship side. - * @param managedRelationshipInProgress - * True during relationship management. NOTE: This parameter is always - * false, as the method is never called during relationship management. - * @exception JDOUserException Thrown if objects in addedList have been deleted. - * @see #processCollectionUpdates - */ - private void addCollectionRelationship(ForeignFieldDesc fieldDesc, - ArrayList addedList, - ForeignFieldDesc inverseFieldDesc, - ArrayList newlyRegisteredSMs, - boolean updateInverseRelationshipField, - boolean managedRelationshipInProgress) { - - JDOUserException ex = null; - - for (int i = 0; i < addedList.size(); i++) { - Object addedObject = addedList.get(i); - SQLStateManager addedSM = getAddedSM(addedObject, newlyRegisteredSMs); - - // addedSM == null can happen if the collection is non-SCO and contains - // transient instances which don't become persistent until commit. - if (addedSM != null) { - - if (addedSM.isDeleted()) { - // For managed relationships, if the addedObject is deleted, we need - // to throw an exception at the end and the exception should include - // the deleted objects in its failedObjectArray. - if (inverseFieldDesc != null) { - if (ex == null) { - ex = new JDOUserException(I18NHelper.getMessage(messages, - "jdo.lifecycle.deleted.accessField")); // NOI18N - } - - ex.addFailedObject(addedObject); - } - continue; - } - - // The collection side never has the foreign key, i.e. - // it's never processed during relationship management, - // because data store updates are already done at that time. - if (!managedRelationshipInProgress) { - updateRelationshipInDataStore(fieldDesc, addedSM, null, inverseFieldDesc, false); - - // Relationship management - if (updateInverseRelationshipField && inverseFieldDesc != null) { - addedSM.addRelationship(inverseFieldDesc, this); - } - } - } - } - - if (ex != null) { - throw ex; - } - } - - /** - * Sets the foreign key corresponding to the relationship field - * fieldDesc. Usually the foreign key columns are not mapped - * explicitly by the user. For this reason the runtime creates hidden fields - * representing the foreign key columns internally. We determine the local - * fields by iterating appropriate field list of either - * fieldDesc or inverseFieldDesc. - * - * To ensure referentional integrity constraints in the database, - * the added object has to be written to the store, before the - * foreign key can be set. The same dependency applies to relationships - * mapped to jointables, see {@link #addJoinTableEntry}. - * - * @param fieldDesc Updated relationship field. - * @param addedSM State manager of the added object. - * @param inverseFieldDesc Inverse relationship field. - */ - private void setForeignKey(ForeignFieldDesc fieldDesc, - SQLStateManager addedSM, - ForeignFieldDesc inverseFieldDesc) { - - if (!isDeleted()) { - // fieldDesc can be null for one-directional relationships. We are - // only interested in the LocalFieldDescs for the foreign key columns, - // which can also be retrieved from inverseFieldDesc. - if (fieldDesc != null) { - for (int i = 0; i < fieldDesc.localFields.size(); i++) { - LocalFieldDesc la = (LocalFieldDesc) fieldDesc.localFields.get(i); - LocalFieldDesc fa = (LocalFieldDesc) fieldDesc.foreignFields.get(i); - - setForeignKey(fieldDesc, la, fa.getValue(addedSM)); - } - } else { - for (int i = 0; i < inverseFieldDesc.foreignFields.size(); i++) { - LocalFieldDesc la = (LocalFieldDesc) inverseFieldDesc.foreignFields.get(i); - LocalFieldDesc fa = (LocalFieldDesc) inverseFieldDesc.localFields.get(i); - - setForeignKey(fieldDesc, la, fa.getValue(addedSM)); - } - } - } - - // The referred object has to be written to the store before the foreign key can be set. - registerCreateDependency(inverseFieldDesc, addedSM); - } - - /** - * Actually sets the local field la corresponding to a foreign - * key column to the new value for the relationship update. The new value - * is taken from fa, which is typically a primary key field on - * the other relationship side. Fields tracking the foreign key field - * la are updated. - * - * @param fieldDesc Updated relationship field. - * @param la Local field corresponding to a foreign key column. - * @param faValue Value of the local field corresponding to the primary - * key column on the other relationship side. - * @exception JDOUserException Is thrown, if the field to be updated - * is a primary key field. We don't allow pk updates. - */ - private void setForeignKey(ForeignFieldDesc fieldDesc, - LocalFieldDesc la, - Object faValue) { - - if (!getSetMaskBit(la.absoluteID)) { - prepareUpdateField(la, null); - } - - if (la.isKeyField()) { - assertPKUpdate(la, faValue); - } - - updateTrackedFields(la, faValue, fieldDesc); - la.setValue(this, faValue); - } - - /** - * Schedules the creation of a jointable entry between this and the added - * state manager. A scheduled removal of the jointable entry between these - * two is simply removed. The creation is scheduled on the local side. - * - * For dependency management, the side creating the jointable entry has - * to wait for the other to become persistent. The same dependency applies - * to foreign key relationships, see {@link #setForeignKey}. - * - * RESOLVE: What happens, if a field descriptor is null, e.g. for one - * way relationships, as the descriptors are taken as keys during scheduling? - * - * @param fieldDesc Updated relationship field. This field is mapped to a jointable. - * @param addedSM State manager of the added object. - * @param inverseFieldDesc Inverse relationship field. - */ - private void addJoinTableEntry(ForeignFieldDesc fieldDesc, - SQLStateManager addedSM, - ForeignFieldDesc inverseFieldDesc) { - - // Cleanup dependencies. - // Note: The following lines break deadlock detection for circular dependencies. - //this.removeUpdatedForeignReference(addedSM); - //addedSM.removeUpdatedForeignReference(this); - - // Remove scheduled removal on this side. - if (fieldDesc != null && getUpdateDesc().removeUpdatedJoinTableRelationship( - fieldDesc, addedSM, ActionDesc.LOG_DESTROY) == false) { - - // Remove scheduled removal on the other side. - if (inverseFieldDesc == null || addedSM.getUpdateDesc().removeUpdatedJoinTableRelationship( - inverseFieldDesc, this, ActionDesc.LOG_DESTROY) == false) { - - // Schedule creation on this side. - // The field descriptor taken as key must not be null, see above! - getUpdateDesc().recordUpdatedJoinTableRelationship( - fieldDesc, this, addedSM, ActionDesc.LOG_CREATE); - - // The side creating the jointable entry has to wait for the other to become persistent. - registerCreateDependency(inverseFieldDesc, addedSM); - } - } else if (fieldDesc == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.cantschedulejointable", // NOI18N - this.getPersistenceConfig().getPersistenceCapableClass().getName(), - addedSM.getPersistenceConfig().getPersistenceCapableClass().getName())); - } - } - - /** - * Updates the relationship field fieldDesc between this - * and the state manager of the added object addedSM. - * - * @param fieldDesc Updated relationship field. The field must be != null. - * @param addedSM State manager of the added object. - * @return Field fieldDesc's previous value. - */ - private Object addRelationship(ForeignFieldDesc fieldDesc, - SQLStateManager addedSM) { - - Object previousValue = null; - boolean isCollection = (fieldDesc.cardinalityUPB > 1); - - if (!isCollection) { - previousValue = prepareSetField(fieldDesc, addedSM.persistentObject, true); - } else { - try { - prepareUpdateFieldSpecial(fieldDesc, null, true); - SCOCollection c = (SCOCollection) fieldDesc.getValue(this); - - // Note: c might be null during relationship management for a - // self relationship, as in the Employee-Manager relation. - // See runtime test AutoPersistence.TestCase31 for an example. - if (c == null) { - replaceCollection(fieldDesc, null); - c = (SCOCollection) fieldDesc.getValue(this); - } - - c.addInternal(addedSM.persistentObject); - updateTrackedFields(fieldDesc, c, null); - } catch (ClassCastException e) { - // ignore - } - } - - return previousValue; - } - - /** - * This is a special version of prepareUpdateField that does not do navigation - * if a field is not loaded. We don't need to reload the field, because the - * before image value is given as parameter! This method is mostly called - * during relatioship management, as the before image value is already know - * in this case. - *

    - * The createDeferredCollection parameter should be true - * only if fieldDesc corresponds to a collection field. Note: - *

      - *
    • createDeferredCollection == false - * ==> beforeImageValue must be non-null.
    • - *
    • createDeferredCollection == true - * ==> beforeImageValue is null.
    • - *
    . - * - * @param fieldDesc The field to be prepared. - * @param beforeImageValue The before image value. - * @param createDeferredCollection - * Indicates whether to create a deferred SCOCollection. Deferred collections - * are created during relationship management if the inverse field is not - * loaded. - * @see #prepareUpdateField - */ - private synchronized void prepareUpdateFieldSpecial(FieldDesc fieldDesc, - Object beforeImageValue, - boolean createDeferredCollection) { - if (fieldDesc.isKeyField()) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "core.statemanager.nopkupdate")); // NOI18N - } - - getUpdateDesc().markRelationshipChange(fieldDesc); - - boolean debug = logger.isLoggable(); - - if (debug) { - Object[] items = new Object[] {fieldDesc.getName(),state}; - logger.fine("sqlstore.sqlstatemanager.prepareupdatefieldspl", items); // NOI18N - } - - boolean optimistic = persistenceManager.isOptimisticTransaction(); - boolean xactActive = persistenceManager.isActiveTransaction(); - boolean nontransactionalRead = persistenceManager.isNontransactionalRead(); - - if (state.needsReload(optimistic, nontransactionalRead, xactActive)) { - if (!optimistic) { - persistenceManager.clearFields(this.persistentObject); - } - - reload(null); - } - - LifeCycleState oldstate = state; - state = state.transitionWriteField(xactActive); - registerInstance(false, null, oldstate); - - if (getSetMaskBit(fieldDesc.absoluteID)) { - // Note: The set mask is set for all fields on make persistent. - return; - } - - if (!getPresenceMaskBit(fieldDesc.absoluteID)) { - if (!createDeferredCollection) { - if (!(beforeImageValue instanceof SCOCollection) || - !((SCOCollection) beforeImageValue).isDeferred()) { - - updateBeforeImage(fieldDesc, beforeImageValue); - - // Set the presence mask for a non deferred collection. - setPresenceMaskBit(fieldDesc.absoluteID); - } - } else { - // Deferred collection handling. - if (!(fieldDesc instanceof ForeignFieldDesc) || - (((ForeignFieldDesc) fieldDesc).cardinalityUPB <= 1)) { - //should throw an exception - return; - } - - Object value = fieldDesc.getValue(this); - - if (value == null) { - // If the collection field is null, we need to create a - // deferred SCOCollection. - SCOCollection c = (SCOCollection) persistenceManager.newCollectionInstanceInternal( - fieldDesc.getType(), - persistentObject, - fieldDesc.getName(), - fieldDesc.getComponentType(), - false, - 10); - c.markDeferred(); - fieldDesc.setValue(this, c); - } - // NOTE: We don't set the presence mask bit for deferred collections, - // because deferred collections MUST be reloaded on the first read access! - } - } - - recordUpdatedField(fieldDesc); - - if (debug) { - logger.fine("sqlstore.sqlstatemanager.prepareupdatefieldspl.exit"); // NOI18N - } - } - - /** - * Updates the values for fields tracking field - * fieldDesc. Must be called before the new value - * for field fieldDesc is actually set.

    - * - * If called when setting the local fields mapped to the - * relationship on relationship updates, the relationship field - * tracked by fieldDesc must be ignored when - * propagating the changes.

    - * - * For overlapping pk/fk situations or if a fk column is - * explicitly mapped to a visible field, the update of the local - * field triggers the update of the relationship field tracking - * the local field. - * - * @param fieldDesc Field whose tracked fields we wish to update. - * @param value New value for the field. - * @param fieldToIgnore Field to be ignored when propagating - * changes. This is the relationship field tracked by field - * fieldDesc if fieldDesc is a - * hidden local field. - */ - private void updateTrackedFields(FieldDesc fieldDesc, - Object value, - ForeignFieldDesc fieldToIgnore) { - - ArrayList trackedFields = fieldDesc.getTrackedFields(); - - if (trackedFields == null) { - return; - } - - boolean debug = logger.isLoggable(Logger.FINEST); - - if (debug) { - Object[] items = new Object[] {fieldDesc.getName(), value, - ((fieldToIgnore != null) ? fieldToIgnore.getName() : null)}; - logger.finest("sqlstore.sqlstatemanager.updatetrackedfields", items); // NOI18N - } - - Object currentValue = fieldDesc.getValue(this); - int size = trackedFields.size(); - - ArrayList fieldsToIgnore = ((fieldToIgnore != null) ? fieldToIgnore.getTrackedFields() : null); - - if (fieldDesc instanceof ForeignFieldDesc) { - // For tracked relationship fields, we simply set the new value. - for (int i = 0; i < size; i++) { - ForeignFieldDesc tf = (ForeignFieldDesc) trackedFields.get(i); - prepareUpdateFieldSpecial(tf, currentValue, false); - tf.setValue(this, value); - } - } else { - Object previousValues[] = new Object[size]; - LocalFieldDesc primaryTrackedField = null; - Object primaryTrackedFieldValue = null; - - if ((fieldDesc.sqlProperties & FieldDesc.PROP_PRIMARY_TRACKED_FIELD) > 0) { - primaryTrackedField = (LocalFieldDesc) fieldDesc; - primaryTrackedFieldValue = value; - } - - for (int i = 0; i < size; i++) { - FieldDesc tf = (FieldDesc) trackedFields.get(i); - - if (tf instanceof LocalFieldDesc) { - Object convertedValue = null; - Object convertedCurrentValue = null; - - // RESOLVE: SCODate is problematic because convertValue unsets - // the owner. The SCO to be used for restoring is broken. - try { - convertedValue = tf.convertValue(value, this); - convertedCurrentValue = tf.convertValue(currentValue, this); - } catch (JDOUserException e) { - // We got a conversion error. We need to revert all - // the tracked fields to their previous values. - // NOTE: We don't have to revert relationship fields - // because they come after all the primitive fields. - for (int j = 0; j < i; j++) { - tf = (FieldDesc) trackedFields.get(j); - - tf.setValue(this, previousValues[j]); - } - - throw e; - } - - if ((tf.sqlProperties & FieldDesc.PROP_PRIMARY_TRACKED_FIELD) > 0) { - primaryTrackedField = (LocalFieldDesc) tf; - primaryTrackedFieldValue = convertedValue; - } - - prepareUpdateFieldSpecial(tf, convertedCurrentValue, false); - - // save the previous values for rollback - previousValues[i] = tf.getValue(this); - - tf.setValue(this, convertedValue); - } else { - // We bypass fieldToIgnore and its trackedFields - if (((stateFlags & ST_FIELD_TRACKING_INPROGRESS) > 0) - || (tf == fieldToIgnore) - || ((fieldsToIgnore != null) && fieldsToIgnore.contains(tf))) { - continue; - } - - ForeignFieldDesc ftf = (ForeignFieldDesc) tf; - - Object pc = null; - - if (primaryTrackedFieldValue != null) { - pc = getObjectById(ftf, primaryTrackedField, primaryTrackedFieldValue, false); - } - - stateFlags |= ST_FIELD_TRACKING_INPROGRESS; - prepareSetField(ftf, pc); - stateFlags &= ~ST_FIELD_TRACKING_INPROGRESS; - } - } - } - - if (debug) { - logger.finest("sqlstore.sqlstatemanager.updatetrackedfields.exit"); // NOI18N - } - } - - /** - * Looks up the object associated to this state manager on - * relationship ff field in the persistence manager cache. - * The method first constructs the related instance's object id by - * calling {@link ForeignFieldDesc#createObjectId}. Then asks the - * persistence manager to retrieve the object associated to this - * id from it's caches. If the referred object is not found, the - * instance returned by {@link PersistenceManager#getObjectById(Object)} - * is Hollow. Hollow instances are ignored for navigation. - * - * @param ff Relationship to be retrieved. The relationship must have - * an object ("to one side") value. - * @param updatedField Updated local field mapped to this relationship. - * @param value updatedField's new value. - * @param forNavigation If true, the lookup is executed for navigation. - * @return Object found in the cache. Null, if the object wasn't found. - */ - private Object getObjectById(ForeignFieldDesc ff, - LocalFieldDesc updatedField, - Object value, - boolean forNavigation) { - assert ff.cardinalityUPB <=1; - // If called for navigation updatedField and value should be null. - assert forNavigation ? updatedField == null && value == null : true; - - Object rc = null; - Object oid = ff.createObjectId(this, updatedField, value); - - if (oid != null) { - rc = persistenceManager.getObjectById(oid); - LifeCycleState rcState = ((SQLStateManager) - ((PersistenceCapable) rc).jdoGetStateManager()).state; - - if (forNavigation && (rcState instanceof Hollow)) { - rc = null; - } - } - - return rc; - } - - /** - * Sets field fieldDesc to value. - * The update of relationship fields is triggered by either calling - * {@link #updateCollectionField} or {@link #updateObjectField}, - * depending on the field's cardinality. - * - * @param fieldDesc Field to be updated. - * @param value New value. - * @param managedRelationshipInProgress - * True during relationship management. - * @return Field fieldDesc's previous value. - */ - private Object doUpdateField(FieldDesc fieldDesc, - Object value, - boolean managedRelationshipInProgress) { - - prepareUpdateField(fieldDesc, null); - - if (fieldDesc instanceof ForeignFieldDesc) { - ForeignFieldDesc ff = (ForeignFieldDesc) fieldDesc; - if (ff.cardinalityUPB > 1) { - updateCollectionField(ff, (Collection) value, - managedRelationshipInProgress); - } else { - updateObjectField(ff, value, true, - managedRelationshipInProgress); - } - } - - updateTrackedFields(fieldDesc, value, null); - - Object currentValue = fieldDesc.getValue(this); - fieldDesc.setValue(this, value); - return currentValue; - } - - private Object prepareSetField(int fieldID, Object value) { - FieldDesc fieldDesc = persistenceConfig.getField(fieldID); - - return prepareSetField(fieldDesc, value, false, true); - } - - private Object prepareSetField(FieldDesc fieldDesc, Object value) { - return prepareSetField(fieldDesc, value, false, false); - } - - /** - * Internal method setting the new value value for field - * fieldDesc during relationship management. Only called on - * relationship additions for object fields. This method is never called - * for collection fields. Relationship management for collection fields - * is done by deferred collections in {@link #addRelationship}. - * Deferred collections are implemented in SCOCollection. - * Relationship management on relationship removal is done in - * {@link #removeRelationship} for both object and collection fields. - * - * @param fieldDesc Field to be updated. - * @param value New value. - * @param managedRelationshipInProgress Always true. - * @return Field fieldDesc's previous value. - * @see com.sun.jdo.spi.persistence.support.sqlstore.SCOCollection - */ - private Object prepareSetField(FieldDesc fieldDesc, Object value, - boolean managedRelationshipInProgress) { - return prepareSetField(fieldDesc, value, managedRelationshipInProgress, false); - } - - /** - * Sets field fieldDesc by calling - * {@link SQLStateManager#doUpdateField(FieldDesc, Object, boolean)}. - * - * @param fieldDesc Field to be updated. - * @param value New value. - * @param managedRelationshipInProgress - * True during relationship management. - * @param acquireShareLock Acquire a shared lock during the update. - * @return Field fieldDesc's previous value. - */ - private Object prepareSetField(FieldDesc fieldDesc, Object value, - boolean managedRelationshipInProgress, - boolean acquireShareLock) { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (debug) { - logger.finest("sqlstore.sqlstatemanager.preparesetfield", fieldDesc.getName()); // NOI18N - } - - if (acquireShareLock) { - persistenceManager.acquireShareLock(); - } - - try { - getLock(); - - if ((fieldDesc.sqlProperties & FieldDesc.PROP_READ_ONLY) > 0) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.statemanager.readonly", fieldDesc.getName(), // NOI18N - persistentObject.getClass().getName())); - } - - // We need to lock fieldUpdateLock if there is a chance that - // relationship field values might be affected. This is the case if - // fieldDesc is a relationship field or it tracks other fields. - if ((fieldDesc.getTrackedFields() != null) || - (fieldDesc instanceof ForeignFieldDesc)) { - - persistenceManager.acquireFieldUpdateLock(); - try { - return doUpdateField(fieldDesc, value, managedRelationshipInProgress); - } finally { - persistenceManager.releaseFieldUpdateLock(); - } - - } else { - return doUpdateField(fieldDesc, value, managedRelationshipInProgress); - } - } catch (JDOException e) { - throw e; - } catch (Exception e) { - logger.log(Logger.FINE,"sqlstore.exception.log", e); - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.setfieldfailed"), e); // NOI18N - } finally { - if (acquireShareLock) { - persistenceManager.releaseShareLock(); - } - releaseLock(); - - if (debug) { - logger.finest("sqlstore.sqlstatemanager.preparesetfield.exit"); // NOI18N - } - } - } - - /** - * Sets the new value for the collection field by calling - * {@link #processCollectionUpdates}. - * - * @param fieldDesc Field descriptor of the field to be set. - * @param value New value. - * @param managedRelationshipInProgress - * True during relationship management. - */ - private void updateCollectionField(ForeignFieldDesc fieldDesc, - Collection value, - boolean managedRelationshipInProgress) { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (debug) { - Object[] items = new Object[] {value,((value == null)? "NO" : value.getClass().getName())}; // NOI18N - logger.finest("sqlstore.sqlstatemanager.processforeignfield", items); // NOI18N - } - - Object currVal = fieldDesc.getValue(this); - - // Do nothing if the current value is identical to the new value. - if (currVal != value) { - Object owner = null; - ArrayList added = null; - ArrayList removed = null; - - // Verify SCO owner and fieldName if any - if (value != null && value instanceof SCOCollection) { - SCOCollection sco = (SCOCollection) value; - owner = sco.getOwner(); - - if (owner == null) { - sco.setOwner(persistentObject, fieldDesc.getName(), - fieldDesc.getComponentType()); - - } else if (owner != persistentObject || - !fieldDesc.getName().equals(sco.getFieldName())) { - - throw new JDOUserException(I18NHelper.getMessage( - messages, "core.statemanager.anotherowner"), // NOI18N - new Object[]{owner, sco.getFieldName()}); - } - // SCO should not behave as a JDK collection, - // but become owned and tracked at setXXX operation. - added = new ArrayList(value); - } - - Object befrVal = fieldDesc.getValue(beforeImage); - if (currVal != null) { - if (debug) - logger.finest("sqlstore.sqlstatemanager.processforeignfield.remove"); // NOI18N - - // This is a setXXX (i.e. replace) operation, we need to - // "remove" elements from the current SCOCollection and mark it as not used - - if (((Collection) currVal).size() > 0) { - removed = new ArrayList((Collection) currVal); - } - - if (currVal instanceof SCOCollection) { - if (debug) - logger.finest("sqlstore.sqlstatemanager.processforeignfield.reset"); // NOI18N - // SCOCollection: mark it as not used - ((SCO) currVal).unsetOwner(); - } - } else if (getSetMaskBit(fieldDesc.absoluteID) == false && befrVal != null) - // && value instanceof SCOCollection && owner != null) - { - if (debug) - logger.finest("sqlstore.sqlstatemanager.processforeignfield.remove_from_bi"); // NOI18N - // Replace with SCOCollection: mark beforeImage as removed - - if (((Collection) befrVal).size() > 0) { - removed = new ArrayList((Collection) befrVal); - } - } - - processCollectionUpdates(fieldDesc, removed, added, null, true, - managedRelationshipInProgress); - } - } - - public Object clone() { - SQLStateManager clone = new SQLStateManager(store, persistenceConfig); - clone.persistenceManager = persistenceManager; - - return clone; - } - - private void assertNotPK(int fieldNumber) { - if (persistenceConfig.isPKField(fieldNumber)) - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "core.statemanager.nopkupdate")); // NOI18N - } - - private void assertPKUpdate(FieldDesc f, Object value) { - Object currentValue = f.getValue(this); - boolean throwException = false; - - // We only throw an exception if the new value is actually different from - // the current value. - if ((value != null) && (currentValue != null)) { - if (value.toString().compareTo(currentValue.toString()) != 0) { - throwException = true; - } - } else if (value != currentValue) { - throwException = true; - } - - if (throwException) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "core.statemanager.nopkupdate")); // NOI18N - } - } - - /** - * ... - */ - public com.sun.jdo.api.persistence.support.PersistenceManager getPersistenceManagerInternal() { - return persistenceManager; - } - - /** - * ... - */ - public com.sun.jdo.api.persistence.support.PersistenceManager getPersistenceManager() { - return (persistenceManager == null)? null : persistenceManager.getCurrentWrapper(); - } - - - /** - * ... - */ - // !!! olsen: changed to return byte instead of void (->PC.jdoSetFlags()) - public byte setFlags(byte flags) { - // RESOLVE: Need to verify that the flags are valid with the current - // state of the state manager. - return flags; - } - - /** - * Triggers the state transition for READ and registers the - * instance in the transaction cache. - */ - public void loadForRead() { - boolean debug = logger.isLoggable(Logger.FINER); - - if (debug) { - logger.finer("sqlstore.sqlstatemanager.loadforread"); // NOI18N - } - - persistenceManager.acquireShareLock(); - - try { - getLock(); - - byte oldFlags = persistenceManager.getFlags(persistentObject); - - // If the jdoFlag is either READ_OK or READ_WRITE_OK, that means another - // thread might have already call loadForRead on this instance. - if (oldFlags != LOAD_REQUIRED) { - return; - } - - try { - boolean xactActive = persistenceManager.isActiveTransaction(); - boolean optimistic = persistenceManager.isOptimisticTransaction(); - boolean nontransactionalRead = persistenceManager.isNontransactionalRead(); - - if (state.needsReload(optimistic, nontransactionalRead, xactActive)) { - reload(null); - } - - LifeCycleState oldstate = state; - state = state.transitionReadField(optimistic, nontransactionalRead, xactActive); - persistenceManager.setFlags(persistentObject, READ_OK); - registerInstance(false, null, oldstate); - } catch (JDOException e) { - // restore the jdoFlags. - persistenceManager.setFlags(persistentObject, oldFlags); - throw e; - } - } finally { - persistenceManager.releaseShareLock(); - releaseLock(); - - if (debug) { - logger.finer("sqlstore.sqlstatemanager.loadforread.exit"); // NOI18N - } - } - } - - /** - * Triggers the state transition for WRITE and registers the instance - * in the transaction cache. Prepares all DFG fields for update. - */ - public void loadForUpdate() { - boolean debug = logger.isLoggable(Logger.FINER); - - if (debug) { - logger.finer("sqlstore.sqlstatemanager.loadforupdate"); // NOI18N - } - - persistenceManager.acquireShareLock(); - - try { - getLock(); - - byte oldFlags = persistenceManager.getFlags(persistentObject); - - // If the jdoFlags is already set to READ_WRITE_OK, it means that anther - // thread has called loadForUpdate on this instance. - if (oldFlags == READ_WRITE_OK) { - return; - } - - persistenceManager.setFlags(persistentObject, READ_WRITE_OK); - - ArrayList fields = persistenceConfig.fields; - - try { - // Mark all the fields in the dfg dirty. - for (int i = 0; i < fields.size(); i++) { - FieldDesc f = (FieldDesc) fields.get(i); - - if (f.fetchGroup == FieldDesc.GROUP_DEFAULT) { - //prepareSetField(f, null); - prepareUpdateField(f, null); - } - } - } catch (JDOException e) { - // restore the jdoFlags. - persistenceManager.setFlags(persistentObject, oldFlags); - throw e; - } - } finally { - persistenceManager.releaseShareLock(); - releaseLock(); - - if (debug) { - logger.finer("sqlstore.sqlstatemanager.loadforupdate.exit"); // NOI18N - } - } - } - - /** - * This method serves two purposes: - * 1. If the field value is null or contains a non-SCOCollection instance, it - * creates a new SCOCollection and populates with elements in c. - * 2. If the field value is a SCOCollection instance, then if it is deferred, - * it calls applyDeferredUpdates on the collection passing in c. Otherwise, - * it clears the collection and repopulates with elements in c. - */ - public synchronized void replaceCollection(ForeignFieldDesc ff, Collection c) { - Collection collection = (Collection) ff.getValue(this); - - SCOCollection scoCollection = null; - - if ((collection == null) || !(collection instanceof SCO)) { - scoCollection = (SCOCollection) persistenceManager.newCollectionInstanceInternal( - ff.getType(), persistentObject, ff.getName(), - ff.getComponentType(), false, ((c != null) ? c.size() : 0)); - - ff.setValue(this, scoCollection); - scoCollection.addAllInternal(c); - } else { - scoCollection = (SCOCollection) collection; - - if (scoCollection.isDeferred()) { - scoCollection.applyDeferredUpdates(c); - - // We need to mark all the tracked fields as present. - ArrayList trackedFields = ff.getTrackedFields(); - if (trackedFields != null) { - for (int i = 0; i < trackedFields.size(); i++) { - ForeignFieldDesc tf = (ForeignFieldDesc) trackedFields.get(i); - - setPresenceMaskBit(tf.absoluteID); - } - } - } else { - scoCollection.clearInternal(); - scoCollection.addAllInternal(c); - } - } - - // Should not use old collection as SCO if any - if (c != null && c instanceof SCO) { - ((SCO) c).unsetOwner(); - } - } - - /** - * For test purposes - */ - protected LifeCycleState getCurrentState() { - return state; - } - - // Status interrogation methods - // For each one of these methods, there is a corresponding version - // of it prefixed with jdo on the PersistenceCapable class. These - // methods are used to query the state o an instance. For example, - // when jdoIsReadReady is called on the PersistenceCapable - // instance, the generated jdoIsReadReady will delegate the - // status interrogation to the StateManager by call - // isReadReady(). - - /** - * ... - */ - public boolean isDirty() { - if (state != null) { - return state.isDirty(); - } - - return false; - } - - /** - * ... - */ - public boolean isTransactional() { - if (state != null) { - return state.isTransactional(); - } - - return false; - } - - /** - * ... - */ - public boolean isNew() { - if (state != null) { - return state.isNew(); - } - - return false; - } - - /** - * ... - */ - public boolean isDeleted() { - if (state != null) { - return state.isDeleted(); - } - - return false; - } - - /** - * ... - */ - public boolean isPersistent() { - if (state != null) { - return state.isPersistent(); - } - - return false; - } - - /** - * @inheritDoc - */ - public boolean needsRegisterWithVersionConsistencyCache() { - boolean rc = hasVersionConsistency(); - if (rc && state != null) { - rc = state.isPersistent() - && state.isTransactional() - && !state.isNew() - && !state.isDirty() - && !state.isDeleted(); - } - - return rc; - } - - /** - * @inheritDoc - */ - public boolean needsUpdateInVersionConsistencyCache() { - boolean rc = hasVersionConsistency(); - if (rc && state != null) { - rc = (state.isDirty() - || state.isNew() - || persistenceConfig.hasLocalNonDFGFields()) - && !state.isDeleted(); - } - - return rc; - } - - // Setter methods - // These are methods for accessing the persistent field values - // from the StateManager. The setter methods can also - // serve as the hook for keeping track of changes made to the - // StateManager. - - public boolean setBooleanField(int fieldNumber, boolean value) { - assertNotPK(fieldNumber); - prepareSetField(fieldNumber, Boolean.valueOf(value)); - return value; - } - - public boolean[] setBooleanArrayField(int fieldNumber, boolean[] value) { - prepareSetField(fieldNumber, null); - return value; - } - - public byte setByteField(int fieldNumber, byte value) { - assertNotPK(fieldNumber); - prepareSetField(fieldNumber, Byte.valueOf(value)); - return value; - } - - public byte[] setByteArrayField(int fieldNumber, byte[] value) { - prepareSetField(fieldNumber, null); - return value; - } - - public short setShortField(int fieldNumber, short value) { - assertNotPK(fieldNumber); - prepareSetField(fieldNumber, Short.valueOf(value)); - return value; - } - - public short[] setShortArrayField(int fieldNumber, short[] value) { - prepareSetField(fieldNumber, null); - return value; - } - - public int setIntField(int fieldNumber, int value) { - assertNotPK(fieldNumber); - prepareSetField(fieldNumber, Integer.valueOf(value)); - return value; - } - - public int[] setIntArrayField(int fieldNumber, int[] value) { - prepareSetField(fieldNumber, null); - return value; - } - - public long setLongField(int fieldNumber, long value) { - assertNotPK(fieldNumber); - prepareSetField(fieldNumber, Long.valueOf(value)); - return value; - } - - public long[] setLongArrayField(int fieldNumber, long[] value) { - prepareSetField(fieldNumber, null); - return value; - } - - public char setCharField(int fieldNumber, char value) { - assertNotPK(fieldNumber); - prepareSetField(fieldNumber, Character.valueOf(value)); - return value; - } - - public char setCharArrayField(int fieldNumber, char value) { - prepareSetField(fieldNumber, null); - return value; - } - - public float setFloatField(int fieldNumber, float value) { - assertNotPK(fieldNumber); - prepareSetField(fieldNumber, Float.valueOf(value)); - return value; - } - - public float[] setFloatArrayField(int fieldNumber, float[] value) { - prepareSetField(fieldNumber, null); - return value; - } - - public double setDoubleField(int fieldNumber, double value) { - assertNotPK(fieldNumber); - prepareSetField(fieldNumber, Double.valueOf(value)); - return value; - } - - public double[] setDoubleArrayField(int fieldNumber, double[] value) { - prepareSetField(fieldNumber, null); - return value; - } - - public String setStringField(int fieldNumber, String value) { - assertNotPK(fieldNumber); - prepareSetField(fieldNumber, value); - return value; - } - - public String[] setStringArrayField(int fieldNumber, String[] value) { - prepareSetField(fieldNumber, null); - return value; - } - - /** - * This method sets object fields, e.g. relationship fields. - */ - public Object setObjectField(int fieldNumber, Object value) { - assertNotPK(fieldNumber); - prepareSetField(fieldNumber, value); - return value; - } - - public Object[] setObjectArrayField(int fieldNumber, Object[] value) { - prepareSetField(fieldNumber, value); - return value; - } - - - public boolean testIsLoaded(int fieldNumber) { - return getPresenceMaskBit(fieldNumber); - } - - public boolean testIsLoaded(String fieldName) { - FieldDesc f = persistenceConfig.getField(fieldName); - - return testIsLoaded(f.absoluteID); - } - - public boolean testIsAutoPersistent() { - return state.isAutoPersistent(); - } - - /** - * Marks this instance needs to require registering with the global (weak) cache - * at rollback if it transitions to persistent state. - * Used for replacing a deleted instance with the newly persistent with - * the same object id. - */ - public void markNotRegistered() { - needsRegisterAtRollback = true; - } - - /** - * Marks this instance as needs to be verified at the time it is removed from the - * global (weak) cache at rollback if it transitions to transient state. - */ - public void markVerifyAtDeregister() { - needsVerifyAtDeregister = true; - } - - /** - * Marks this instance as a replacement for a deleted instance with the same - * ObjectId. - */ - public void markReplacement() { - isReplacementInstance = true; - } - - /** - * Lock this instance. - */ - // For consistency's sake, this should be changed to acquireLock. - public void getLock() { - lock.acquire(); - } - - /** - * Release lock. - */ - public void releaseLock() { - lock.release(); - } - - - /** - * Return value for valid flag. - */ - public boolean isValid() { - return valid; - } - - /** - * Mark this StateManager as valid. Called before returning from - * getObjectById. - */ - public void setValid() { - try { - getLock(); - valid = true; - } finally { - releaseLock(); - } - } - - /** - * This class stores a database dependency between the current and - * a foreign state manager. To resolve dependencies before - * commit/flush, remember the relationship field intorducing this - * dependency. - */ - private class UpdatedForeignReference { - ForeignFieldDesc fieldDesc; - SQLStateManager sm; - - private UpdatedForeignReference(ForeignFieldDesc fieldDesc, SQLStateManager sm) { - this.fieldDesc = fieldDesc; - this.sm = sm; - } - - private ForeignFieldDesc getFieldDesc() { - return fieldDesc; - } - - private SQLStateManager getStateManager() { - return sm; - } - - public boolean equals(Object obj) { - if (obj != null && - this.getClass().equals(obj.getClass())) { - final UpdatedForeignReference other = (UpdatedForeignReference) obj; - - return (this.fieldDesc == other.fieldDesc && this.sm == other.sm); - } - return (false); - } - - public int hashCode() { - int hashCode = sm.hashCode(); - if (fieldDesc != null) { - hashCode += fieldDesc.hashCode(); - } - return hashCode; - } - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SQLStoreManager.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SQLStoreManager.java deleted file mode 100644 index 691f72a6334..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/SQLStoreManager.java +++ /dev/null @@ -1,725 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * SQLStoreManager.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -// use internal version: import com.sun.jdo.api.persistence.support.Transaction; - -import com.sun.jdo.api.persistence.support.*; -import com.sun.jdo.spi.persistence.support.sqlstore.database.DBVendorType; -import com.sun.jdo.spi.persistence.support.sqlstore.model.*; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.RetrieveDescImpl; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.UpdateObjectDescImpl; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.concurrency.Concurrency; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.*; -import org.glassfish.common.util.StringHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -import java.sql.*; -import java.util.*; - -/** - *

    This class connects to a persistent store. It supports - * relational databases such as Oracle and MS SQLServer. This class - * knows how to generate SQL statements to access and manipulate - * objects stored in a relational database. - */ -public class SQLStoreManager implements PersistenceStore { - - /** Cache holding SQLStore model information. */ - private ConfigCache configCache; - - /** Encapsulates database type. */ - private DBVendorType vendorType; - - /** The logger. */ - private static Logger logger = LogHelperSQLStore.getLogger(); - - /** The sql logger. */ - private static Logger sqlLogger = LogHelperSQLStore.getSqlLogger(); - - /** I18N message handler. */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - SQLStoreManager.class); - - /** Fetch size for query statements. */ - private static int fetchSize = - Integer.getInteger("com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager.fetchSize", // NOI18N - -1).intValue(); // -1 not set - - /** - * Returns the sqlstore model for class classType. - * Sqlstore model information is cached. If the model cache does - * not already hold a model instance for the particular class, - * a new instance is created, initialized and put into the cache. - * The access to the model cache is synchronized. - */ - public PersistenceConfig getPersistenceConfig(Class classType) { - if (logger.isLoggable(Logger.FINER)) { - logger.finer("sqlstore.sqlstoremanager.getpersistenceconfig", - classType.getName()); // NOI18N - } - return configCache.getPersistenceConfig(classType); - } - - /** - * @inheritDoc - */ - public ConfigCache getConfigCache() { - return configCache; - } - - /** - * Executes the list of SQL requests contained in actions. - * Requests can be INSERT, UPDATE or DELETE operations. - * - * @exception JDODataStoreException - * Will be thrown in case of errors or if the affected rows are - * less than the minimum rows required. - */ - public void execute(PersistenceManager pm, Collection actions) { - Iterator iter = actions.iterator(); - - while (iter.hasNext()) { - ActionDesc action = (ActionDesc) iter.next(); - - if (action instanceof UpdateObjectDescImpl) { - UpdateObjectDescImpl request = (UpdateObjectDescImpl) action; - UpdateQueryPlan plan = new UpdateQueryPlan(request, this); - - plan.build(); - - for (int i = 0, size = plan.statements.size(); i < size; i++) { - UpdateStatement s = (UpdateStatement) plan.statements.get(i); - - if (s != null) { - executeUpdate(pm, s, request); - } - } - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.notinstanceof", // NOI18N - action.getClass().getName(), - "UpdateObjectDescImpl")); // NOI18N - } - } - } - - /** - * - */ - private void rollbackXact(Transaction tran) { - - try { - tran.setRollbackOnly(); - //tran.rollback(); - } catch (Exception e) { - } - } - - /** - * Executes the SQL text contained in updateStatement - * against the database. Data used for placeholders in the - * updateStatement is passed in the updateDesc parameter - * and bound to the statement before execution. Can be used for - * delete, insert, or update SQL statements, but not for select - * SQL statements as these return result values with which - * executeUpdate is not prepared to deal. - * - * @param pm Persistence manager holding the current transaction - * and connection. - * @param updateStatement The INSERT, UPDATE or DELETE statement. - * @param updateDesc Update updateDesc holding the affected state - * manager. - * @exception JDODataStoreException Will be thrown in case of - * errors or if the affected rows are less than the minimum rows - * required. - */ - private void executeUpdate(PersistenceManager pm, - UpdateStatement updateStatement, - UpdateObjectDescImpl updateDesc) { - int affectedRows = 0; - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstoremanager.executeupdate"); // NOI18N - } - - String sqlText = updateStatement.getText(); - if (sqlText.length() > 0) { - if (sqlLogger.isLoggable()) { - sqlLogger.fine(updateStatement.getFormattedSQLText()); - } - - Transaction tran = (Transaction) pm.currentTransaction(); - Connection conn = tran.getConnection(); - DBStatement s = null; - boolean preparationSuccessful = false; - - try { - // Statement preparation. - s = new DBStatement(conn, sqlText, tran.getUpdateTimeout()); - updateStatement.bindInputValues(s); - preparationSuccessful = true; - - // Excecution. - affectedRows = s.executeUpdate(); - - // If the affectedRows is less than the minimum rows required, - // we need to abort and throw an exception. - if (affectedRows < updateStatement.minAffectedRows) { - // Mark the request failed. - updateDesc.setVerificationFailed(); - - rollbackXact(tran); - throwJDOConcurrentAccessException(sqlText); - } - } catch (SQLException e) { - // As we want to verify against the data store only, - // there is no invalidation necessary if the - // exception happened before statement execution. - if (preparationSuccessful) { - updateDesc.setVerificationFailed(); - } - - rollbackXact(tran); - throwJDOSqlException(e, updateStatement.getFormattedSQLText()); - } finally { - close(s); - closeConnection(tran, conn); - } - } - - if (debug) { - logger.fine("sqlstore.sqlstoremanager.executeupdate.exit", // NOI18N - Integer.valueOf(affectedRows)); - } - } - - /** - * - */ - public Class getClassByOidClass(Class oidType) { - return configCache.getClassByOidClass(oidType); - } - - /** - * - */ - public StateManager getStateManager(Class classType) { - ClassDesc c = (ClassDesc) getPersistenceConfig(classType); - - if (c != null) { - return c.newStateManagerInstance(this); - } - - return null; - } - - /** - * Returns a new retrieve descriptor for anexternal (user) query. - * - * @param classType Type of the persistence capable class to be queried. - * @return A new retrieve descriptor for anexternal (user) query. - */ - public RetrieveDesc getRetrieveDesc(Class classType) { - return new RetrieveDescImpl(classType, (ClassDesc) getPersistenceConfig(classType)); - } - - /** - * Returns a new retrieve descriptor for anexternal (user) query. - * This retrieve descriptor can be used to query for the foreign - * field name. - * - * @param fieldName Name of the foreign field to be queried. - * @param classType Persistence capable class including fieldName. - * @return A new retrieve descriptor for anexternal (user) query. - */ - public RetrieveDesc getRetrieveDesc(String fieldName, Class classType) { - ClassDesc c = (ClassDesc) getPersistenceConfig(classType); - - if (c != null) { - FieldDesc f = c.getField(fieldName); - - if (f instanceof ForeignFieldDesc) { - ForeignFieldDesc ff = (ForeignFieldDesc) f; - return getRetrieveDesc(ff.foreignConfig.getPersistenceCapableClass()); - } - } - - return null; - } - - /** - */ - public UpdateObjectDesc getUpdateObjectDesc(Class classType) { - return new UpdateObjectDescImpl(classType); - } - - /** - * @param databaseMetaData Instance of DatabaseMetaData - * @param identifier identifier of the caller creating a new instance - * of SQLStoreManager. Typically this is identifier of - * PersistenceManagerFacory initializing this SQLStoreManager. - */ - public SQLStoreManager(DatabaseMetaData databaseMetaData, - String identifier) { - super(); - configCache = new ConfigCacheImpl(); - setVendorType(databaseMetaData, identifier); - } - - /** - * @param databaseMetaData Instance of DatabaseMetaData - * @param identifier identifier of the caller creating a new instance - * of SQLStoreManager. - * @see SQLStoreManager#SQLStoreManager(DatabaseMetaData, String) - */ - private void setVendorType(DatabaseMetaData databaseMetaData, - String identifier) { - try { - vendorType = new DBVendorType(databaseMetaData, identifier); - - if (logger.isLoggable()) { - logger.fine("sqlstore.sqlstoremanager.vendortype",vendorType.getName()); // NOI18N - - } - - } catch (Exception e) { - if (e instanceof JDOException) { - throw (JDOException) e; - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.configuration.getvendortypefailed"), e); // NOI18N - } - } - } - - public DBVendorType getVendorType() { - return vendorType; - } - - /** - * The retrieve method builds and executes the SQL query described by - * the action parameter. - * - * @param action - * The action parameter holds the RetrieveDesc describing what - * should be selected from the database. - * - * @param parameters - * Query parameters. - */ - public Object retrieve(PersistenceManager pm, RetrieveDesc action, ValueFetcher parameters) { - - if (action == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.nullparam", "action")); // NOI18N - } - - if (!(action instanceof RetrieveDescImpl)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.notinstanceof", // NOI18N - action.getClass().getName(), - "RetrieveDescImpl")); // NOI18N - } - - RetrieveDescImpl retrieveAction = ((RetrieveDescImpl) action); - ClassDesc config = retrieveAction.getConfig(); - Concurrency concurrency = config.getConcurrency(pm.isOptimisticTransaction()); - SelectQueryPlan plan = retrieveAction.buildQueryPlan(this, concurrency); - ArrayList statements = plan.getStatements(); - - SelectStatement s = (SelectStatement) statements.get(0); - Object result = executeQuery(pm, s, concurrency, parameters); - - if (result != null) { - if ((plan.options & RetrieveDescImpl.OPT_AGGREGATE) == 0) { - // This was a regular query, no aggregate. - - if ((plan.options & RetrieveDescImpl.OPT_DISTINCT) > 0) { - // Perform manual DISTINCT if required - - if (((plan.options & RetrieveDescImpl.OPT_FOR_UPDATE) > 0 && - !vendorType.isDistinctSupportedWithUpdateLock()) ) { - - HashSet hash = new HashSet(); - for (Iterator iter = ((Collection)result).iterator(); iter.hasNext(); ) { - Object temp = iter.next(); - if (!hash.contains(temp)) { - hash.add(temp); - } else { - iter.remove(); - } - } - } - } - } - } - - return result; - } - - /** - * The executeQuery method prepares and sends the SQL text contained in the - * statement to the DB. Data used for placeholders in the - * statement is passed in parameters and bound to - * the statement before execution. The SQL statement is run within - * a cursor and any result values returned are packaged into - * BusinessClasses of the appropriate sub-class and returned as the - * functional result. - * - * @param statement - * The statement contains the text of the SQL statement to be executed. - * @param parameters Query parameters. - * @return The result of this query. - */ - private Object executeQuery(PersistenceManager pm, - SelectStatement statement, - Concurrency concurrency, - ValueFetcher parameters) { - - Object result = null; - boolean debug = logger.isLoggable(); - if (debug) { - logger.fine("sqlstore.sqlstoremanager.executeQuery"); // NOI18N - } - - String sqlText = statement.getText(); - if (sqlText.length() > 0) { - if (sqlLogger.isLoggable()) { - sqlLogger.fine(statement.getFormattedSQLText(parameters)); - } - - Transaction tran = null; - if (concurrency != null) { - // This is a no op currently as all Concurrency* classes - // have no code in this method and always returns null. - tran = concurrency.suspend(); - } - - if (tran == null) { - tran = (Transaction) pm.currentTransaction(); - } - - ResultSet resultData = null; - DBStatement s = null; - Connection conn = tran.getConnection(); - try { - // prepare Statement including SELECT Statement timeout - s = new DBStatement(conn, sqlText, tran.getQueryTimeout()); - - // Set the inputValues values (constraints in this case). - statement.bindInputValues(s, parameters); - - // Tests setting the fetch size with values 0, 16, 32, 64, - // showed degradations only. - //s.handle.setFetchSize(); - //s.handle.setFetchDirection(ResultSet.FETCH_FORWARD); - if (fetchSize > -1) { - s.getPreparedStatement().setFetchSize(fetchSize); - } - - if (statement.isColumnTypeDefinitionNeeded()) { - vendorType.getSpecialDBOperation().defineColumnTypeForResult( - s.getPreparedStatement(), statement.getColumnRefs()); - } - - resultData = s.executeQuery(); - - if (concurrency != null) { - // This is a no op currently as all Concurrency* classes - // have no code in this method. - concurrency.resume(tran); - } - - SelectQueryPlan plan = (SelectQueryPlan) statement.getQueryPlan(); - result = plan.getResult(pm, resultData); - } catch (SQLException e) { - throwJDOSqlException(e, statement.getFormattedSQLText(parameters)); - } finally { - close(resultData); - close(s); - closeConnection(tran, conn); - } - } - - if (debug) { - logger.fine("sqlstore.sqlstoremanager.executeQuery.exit"); // NOI18N - } - - return result; - } - - // ------------------------------------- - // Methods added to support batch update - // ------------------------------------- - - /** - * Retrieves the update query plan for the specified request and - * calls executeUpdateBatch for all statements in this plan. - * @param pm the persistence manager - * @param request the request corresponding with the current state manager - * @param forceFlush all in the update query plan must be executed - */ - public void executeBatch(PersistenceManager pm, - UpdateObjectDesc request, - boolean forceFlush) - { - boolean cleanup = true; - UpdateObjectDescImpl objectRequest = null; - - if (request instanceof UpdateObjectDescImpl) { - objectRequest = (UpdateObjectDescImpl) request; - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.notinstanceof", // NOI18N - request.getClass().getName(), - "UpdateObjectDescImpl")); // NOI18N - } - - ClassDesc config = objectRequest.getConfig(); - UpdateQueryPlan plan = config.getUpdateQueryPlan(objectRequest, this); - Transaction tran = (Transaction) pm.currentTransaction(); - Connection conn = tran.getConnection(); - - // Flag 'doFlush' indicates that executeUpdateBatch should call - // executeBatch on the PreparedStatement. 'doFlush' is true, if - // - forceFlush is true, this means we cannot reuse the - // DBStatement for the next state manager, OR - // - the batch threshold is exeeceded. - boolean doFlush = forceFlush || plan.checkBatchThreshold(tran); - - try { - for (int i = 0, size = plan.statements.size(); i < size; i++) { - UpdateStatement s = (UpdateStatement) plan.statements.get(i); - executeUpdateBatch(tran, conn, s, objectRequest, doFlush); - } - - // At this point we know the batch update was successful. - // We close DBStatements and it's related PreparedStatement, if - // they are not going to be reused for flushing the next state - // manager. In this case the flag 'forceFlush' is true. So we - // can do the cleanup, if 'forceFlush' is true. We cannot use - // the flag 'doFlush', because this flag might be true, because - // we exceeded the batch threshold. In this case we want to - // keep the DBStatement. - cleanup = forceFlush; - } finally { - if (cleanup) - closeDBStatements(plan, tran); - closeConnection(tran, conn); - } - } - - /** - * Binds the specified update descriptor to the specified statement and - * calls method addBatch on this statement. - * @param tran the transaction - * @param conn the connection - * @param updateStatement the statement - * @param updateDesc the update descriptor - * @param doFlush determines if the statement must be executed - */ - private void executeUpdateBatch(Transaction tran, - Connection conn, - UpdateStatement updateStatement, - UpdateObjectDescImpl updateDesc, - boolean doFlush) - { - int[] affectedRows = null; - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sqlstoremanager.executeupdatebatch"); // NOI18N - } - - String sqlText = updateStatement.getText(); - if (sqlText.length() > 0) { - if (sqlLogger.isLoggable()) { - String formattedText = updateStatement.getFormattedSQLText(updateDesc); - if (doFlush) { - sqlLogger.fine("sqlstore.sqlstoremanager.executeupdatebatch.flushbatch", formattedText); - } else { - sqlLogger.fine("sqlstore.sqlstoremanager.executeupdatebatch.addbatch", formattedText); - } - } - - DBStatement s = null; - - try { - // Batch preparation. - s = updateStatement.getDBStatement(tran, conn); - updateStatement.bindInputColumns(s, updateDesc); - s.addBatch(); - - if (doFlush) { - // Execution. - affectedRows = s.executeBatch(); - - // check affectedRows as returned by the database - for (int i = 0; i < affectedRows.length; i++) { - // If the affectedRows is less than the minimum rows required, - // we need to abort and throw an exception. - if (affectedRows[i] < updateStatement.minAffectedRows && - affectedRows[i] != java.sql.Statement.SUCCESS_NO_INFO) { - - rollbackXact(tran); - throwJDOConcurrentAccessException(sqlText); - } - } - } - } catch (SQLException e) { - rollbackXact(tran); - throwJDOSqlException(e, sqlText); - } - } - - if (debug) { - if (doFlush) { - logger.fine("sqlstore.sqlstoremanager.executeupdatebatch.exit.flush", '[' + // NOI18N - StringHelper.intArrayToSeparatedList(affectedRows, ",") + ']'); //NOI18N - } else { - logger.fine("sqlstore.sqlstoremanager.executeupdatebatch.exit"); //NOI18N - } - } - } - - // ------------------------------------- - // Static support methods - // ------------------------------------- - - /** - * Constructs the exception message including the executed SQL statement - * sqlText and throws a JDODataStoreException passing the - * original exception. - * - * @param e Exception from the data store. - * @param sqlText Executed SQL statement. - */ - static private void throwJDOSqlException(SQLException e, String sqlText) { - - String exceptionMessage = I18NHelper.getMessage(messages, - "core.persistencestore.jdbcerror", sqlText); // NOI18N - - throw new JDODataStoreException(exceptionMessage, e); - } - - /** - * Determines the SQL operation (update/delete) from the - * sqlText parameter and throws a JDODataStoreException. - * - * @param sqlText Executed SQL statement. - */ - static private void throwJDOConcurrentAccessException(String sqlText) { - String operation = sqlText.substring(0, sqlText.indexOf(' ')); // NOI18N - - throw new JDODataStoreException(I18NHelper.getMessage(messages, - "core.store.concurrentaccess", operation)); // NOI18N - } - - /** - * Closes the JDBC ResultSet r. - * SQLExceptions are catched and logged. - */ - static private void close(ResultSet r) { - if (r != null) { - try { - r.close(); - } catch (SQLException ex) { - // only log exception - logger.finest(I18NHelper.getMessage(messages, - "sqlstore.sqlstoremanager.errorcloseresultset", // NOI18N - ex.getLocalizedMessage())); - } - } - } - - /** - * Closes the JDBC Statement s. - * SQLExceptions are catched and logged. - */ - static private void close(DBStatement s) { - if (s != null) { - try { - s.close(); - } catch (SQLException ex) { - // only log exception - logger.finest(I18NHelper.getMessage(messages, - "sqlstore.sqlstoremanager.errorclosestatement", // NOI18N - ex.getLocalizedMessage())); - } - } - } - - /** - * Delegates the closure of the JDBC connection c - * to the transaction t. - */ - static private void closeConnection(Transaction t, Connection c) { - if (t != null && c != null) { - t.releaseConnection(); - } - } - - /** - * Removes all DBStatements for specified plan and closes the JDBC Statement - * wrapped by the DBStatement. - */ - static private void closeDBStatements(UpdateQueryPlan plan, Transaction tran) { - if ((plan != null) && (tran != null)) { - for (Iterator i = plan.getStatements().iterator(); i.hasNext(); ) { - UpdateStatement updateStmt = (UpdateStatement)i.next(); - DBStatement s = updateStmt.removeDBStatement(tran); - close(s); - } - } - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/StateManager.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/StateManager.java deleted file mode 100644 index 74a55fc9559..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/StateManager.java +++ /dev/null @@ -1,483 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -/** - * An object that manages the state transitions and the contents of the - * fields of a JDO Instance. - * - * If a JDO Instance is persistent or transactional, it contains a - * non-null reference to a JDO StateManager instance which is - * responsible for managing the JDO Instance state changes and for - * interfacing with the JDO PersistenceManager. - * - * Additionally, Persistent JDO Instances refers to an instance of the - * JDO StateManager instance responsible for the state - * transitions of the instance as well as managing the contents of the - * fields of the instance. - * - * The JDO StateManager interface is the primary interface used - * by the JDO Instance to mediate life cycle changes. Non-transient JDO - * Instances always contain a non-null reference to an associated JDO - * StateManager instance. - * - * When a First Class Object is instantiated in the JVM, the JDO - * implementation assigns to fields with a Tracked Second Class Object - * type a new instance that tracks changes made to itself, and - * notifies the StateManager of the owning First Class Object - * of the change. - */ -public interface StateManager -{ - static final byte LOAD_REQUIRED = (byte)1; - - static final byte READ_OK = (byte)-1; - - static final byte READ_WRITE_OK = (byte)0; - - - /** - * The PersistenceManager needs to call this method - * in order to make an instance persistent. - */ - void makePersistent(PersistenceManager pm, Object pc); - - /** - * ... - * - * The PersistenceManager calls this method to delete - * a persistent instance. - */ - void deletePersistent(); - - /** - * ... - * - * The PersistenceManager calls this method to flush - * changes made to the StateManager to the database. - * The specified StateManager argument is used to determine whether the - * actual instance should be flushed immediately or whether batch update - * is possible. - */ - void updatePersistent(StateManager next); - - /** - * ... - * - * The PersistenceManager calls this method to refresh - * the state of the StateManager from the database. - */ - void refreshPersistent(); - - /** - * ... - * - * The PersistenceManager calls this method to inform - * the StateManager that the transaction has been committed. - */ - void commit(boolean retainValues); - - - /** - * ... - * - * The PersistenceManager calls this method to inform - * the StateManager that the transaction has been rolled back. - */ - void rollback(boolean retainValues); - - /** - * ... - * - * The PersistenceManager calls this method to inform - * the StateManager that the flush processing is completed. - */ - void flushed(); - - /** - * ... - * The PersistenceManager calls this method to verify - * that corresponding object has been flushed to the database - */ - boolean isProcessed(); - - /** - * ... - */ - void setPersistenceManager(com.sun.jdo.api.persistence.support.PersistenceManager pm); - - /** - * ... - */ - com.sun.jdo.api.persistence.support.PersistenceManager getPersistenceManager(); - - /** - * ... - */ - com.sun.jdo.api.persistence.support.PersistenceManager getPersistenceManagerInternal(); - - /** - * set actualImage associated with this StateManager - */ - void setPersistent(Object obj); - - /** - * get actualImage associated with this StateManager - */ - Object getPersistent(); - - /** - * ... - */ - void setObjectId(Object objectId); - - /** - * ... - */ - Object getObjectId(); - - /** - * ... - */ - PersistenceConfig getPersistenceConfig(); - - /** - * State initialization - * @param persistentInDB true if object is persistent in DB - */ - void initialize(boolean persistentInDB); - - /** - * ... - */ - void makePresent(String fieldName, Object value); - - /** - * ... - */ - void makeDirty(String fieldName); - - /** - * ... - */ - void applyUpdates(String fieldName, SCOCollection c); - - /** - * ... - */ - void replaceObjectField(String fieldName, Object o); - - /* The PersistenceManager calls this method to prepare - * a persistent object for update. This is required for - * foreign fields only as they could reference "regular" jdk - * Collections vs. SCO Collections. Such process has the side-effect of - * causing more objects to be registered with the transaction cache. - */ - void prepareToUpdatePhaseI(); - - /** - * This is the second phase of the commit processing. It populates phase3sms with all - * the autopersistence instances that are no longer reachable from a persistent instance. - */ - void prepareToUpdatePhaseII(java.util.HashSet phase3sms); - - /** - * This is the third phase of commit processing. It sets up the delete dependencies among - * all the autopersistent instances that have been flushed to the database. - */ - void prepareToUpdatePhaseIII(); - - /** - * ... - */ - //@olsen: changed to return byte instead of void (->PC.jdoSetFlags()) - byte setFlags(byte flags); - - /** - * ... - */ - void loadForRead(); - - /** - * ... - */ - void loadForUpdate(); - - // - // Status interrogation methods - // - // For each one of these methods, there is a corresponding version - // of it prefixed with jdo on the PersistenceCapable class. These - // methods are used to query the state o an instance. For example, - // when jdoIsReadReady is called on the PersistenceCapable - // instance, the generated jdoIsReadReady will delegate the - // status interrogation to the StateManager by call - // isReadReady(). - // - - /* - * ... - */ - boolean isDirty(); - - /** - * ... - */ - boolean isTransactional(); - - /** - * ... - */ - boolean isNew(); - - /** - * ... - */ - boolean isDeleted(); - - /** - * ... - */ - boolean isPersistent(); - - /** - * @return True, if this instance is persistent, transactional, not new, - * not dirty, and not deleted; false otherwise. - */ - boolean needsRegisterWithVersionConsistencyCache(); - - /** - * @return True, if this instance should be synchronized with - * the version consistency cache; false otherwise. - */ - boolean needsUpdateInVersionConsistencyCache(); - - // - // Getter and setter methods - // - // These are methods for accessing the persistent field values - // from the StateManager. The getter method can also serve - // as the hook for triggering dynamic navigation for fields that have not - // been fetched. The setter methods can also serve as the hook for - // keeping track of changes made to the StateManager. - // - - //@olsen: changed to use 'int' instead of 'short' as field number type - //@olsen: changed setter methods to return value instead of void - //@olsen: added method prepareGetField() - - void prepareGetField(int fieldID); - - boolean setBooleanField(int fieldNumber, boolean value); - - boolean[] setBooleanArrayField(int fieldNumber, boolean[] value); - - byte setByteField(int fieldNumber, byte value); - - byte[] setByteArrayField(int fieldNumber, byte[] value); - - short setShortField(int fieldNumber, short value); - - short[] setShortArrayField(int fieldNumber, short[] value); - - int setIntField(int fieldNumber, int value); - - int[] setIntArrayField(int fieldNumber, int[] value); - - long setLongField(int fieldNumber, long value); - - long[] setLongArrayField(int fieldNumber, long[] value); - - char setCharField(int fieldNumber, char value); - - char setCharArrayField(int fieldNumber, char value); - - float setFloatField(int fieldNumber, float value); - - float[] setFloatArrayField(int fieldNumber, float[] value); - - double setDoubleField(int fieldNumber, double value); - - double[] setDoubleArrayField(int fieldNumber, double[] value); - - String setStringField(int fieldNumber, String value); - - String[] setStringArrayField(int fieldNumber, String[] value); - - Object setObjectField(int fieldNumber, Object value); - - Object[] setObjectArrayField(int fieldNumber, Object[] value); - - /** - * Lock this instance. This method must be called the same - * number of times as #releaseLock(). - */ - void getLock(); - - /** - * Release this instance. This method must be called the same - * number of times as #getLock(). - */ - void releaseLock(); - - /** - * Returns value for a hidden field. This method expects index - * to be negative for hidden fields. - * @param index - the hidden field index. - */ - Object getHiddenValue(int index); - - /** - * Sets value for a hidden field. This method expects index - * to be negative for hidden fields. - * @param index - the hidden field index. - * @param value - new value. - */ - void setHiddenValue(int index, Object value); - - /** - * Marks field with this index as present. - * @param index - the field number. - */ - void setPresenceMaskBit(int index) ; - - /** - * Returns true if field with this index is present in the instance. - */ - boolean getPresenceMaskBit(int index); - - /** - * Notifies the StateManager that this instance needs to be registered - * with the global (weak) cache at rollback if it transitions to persistent - * state. - * Used for replacing a deleted instance with the newly persistent with - * the same object id. - */ - void markNotRegistered(); - - /** - * Notifies the StateManager that this instance needs to be verified at - * the time it is removed from the global (weak) cache at rollback if it - * transitions to transient state. - */ - void markVerifyAtDeregister(); - - /** - * Adds another StateManager to this StateManager dependencies list. - * @param sm the StateManager to add. - */ - void addDependency(StateManager sm); - - /** - * Tries to resolve the dependencies for all instances waiting for the - * current state manager to be flushed to the store. - */ - void resolveDependencies(); - - /** - * Notifies the StateManager that this instance is a replacement for a - * deleted instance with the same ObjectId. - */ - void markReplacement(); - - /** - * Release references in the StateManager to the persistent instance, - * ObjectId, and PersistenceManager. - */ - void release(); - - /** Returns true if this StateManager is valid for use. - * The valid flag is initially set to false and changed to true - * when the first operation (e.g. makePersistent(), loadForRead(), or - * PersistenceManager.getObjectById()) succeeds. - */ - boolean isValid(); - - /** Mark this StateManager as valid. Called before returning from - * getObjectById. Flag is set to true internally in the StateManager - * at makePersistent(), or initialize(true) (to be used for storing - * query or navigation results. - */ - void setValid(); - - /** Reload the instance associated with this StateManager. Called by - * {@link PersistenceManager#getObjectById(Object, boolean) - * PersistenceManager.getObjectById(Object, boolean)} with validate - * flag set to true - */ - void reload(); - - /** - * Returns true, if the managed instance has Version Consistency. - * @return True, if the managed object has Version Consistency. - */ - boolean hasVersionConsistency(); - - /** - * Copies field values from source to this - * StateManager's fields. - * @param source StateManager from which field values are - * copied into this instance. - */ - void copyFields(StateManager source); - - /** - * Verify that an instance set up with Version consistency is not modified - * in a parallel transaction. - * @return false if the instance is persistent clean and modified by a - * parallel transaction, true otherwise. - */ - boolean verifyPersistent(); - - /** - * Marks that this state manager has failed version consistency - * validation. - */ - void setVerificationFailed(); - - /** - * Returns, if this state manager has failed version consistency - * validation. - * - * @return True, if this state manager is marked as failed. - */ - boolean isVerificationFailed(); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/TestStateManager.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/TestStateManager.java deleted file mode 100644 index aad2084c877..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/TestStateManager.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -/** - * This interface is used to unit test the StateManager. - */ -public interface TestStateManager -{ - /** - * This method is used to test if a field identified by fieldName - * is loaded in memory. It returns true is the field is loaded and - * false, otehrwise. - */ - boolean testIsLoaded(String fieldName); - - /** - * This method is used to test if a field identified by fieldNumber - * is loaded in memory. It returns true is the field is loaded and - * false otehrwise. - */ - boolean testIsLoaded(int fieldNumber); - - /** - * This method is used to determine if an instance is in the autopersistent - * state. It returns true if the instance is autopersistence and false otherwise. - */ - boolean testIsAutoPersistent(); -} - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Transaction.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Transaction.java deleted file mode 100644 index b0c3c5771a9..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/Transaction.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -import java.sql.*; -import jakarta.transaction.*; - -public interface Transaction extends com.sun.jdo.api.persistence.support.Transaction, Synchronization -{ - Connection getConnection(); - void releaseConnection(); - void replaceConnection(); - void setRollbackOnly() throws java.lang.IllegalStateException, - SystemException; - void begin(jakarta.transaction.Transaction t); -} - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/UpdateObjectDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/UpdateObjectDesc.java deleted file mode 100644 index 97578a9d4d7..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/UpdateObjectDesc.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * UpdateObjectDesc.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; - -/** - */ -public interface UpdateObjectDesc extends ActionDesc { - - public void setObjectInfo(StateManager biStateManager, - StateManager aiStateManager, - int action); - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ValueFetcher.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ValueFetcher.java deleted file mode 100644 index e5d41fab002..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ValueFetcher.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ValueFetcher.java - * - * Created on March 15, 2002 - * @author Daniel Tonn - */ -package com.sun.jdo.spi.persistence.support.sqlstore; - -/** - * Interface wrapping values that can be fetched by index. - */ -public interface ValueFetcher -{ - /** - * Returns a specific value from this ValueFetcher. - * @param whichOne indicates which value to be returned - */ - public Object getValue(int whichOne); - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/VersionConsistencyCache.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/VersionConsistencyCache.java deleted file mode 100644 index 1aebdcb84e2..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/VersionConsistencyCache.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore; - -/** - * A cache of "version consistent" StateManager instances. These instances - * are used so that we can avoid loading state from the database. - * - * @author Dave Bristor - */ -public interface VersionConsistencyCache { - /** - * Puts the given StateManager into a map that is keyed by the given OID. - * We anticipate that implementations will want to use a two-level map, - * and so the pc's class can be used as a key into a map to access a - * second map, which would be that keyed by OID. - * @param pcType class of instance, used as key in outer map. - * @param oid Object id, used as key in inner map. - * @param sm StateManager bound to oid in inner map. - */ - public StateManager put(Class pcType, Object oid, StateManager sm); - - /** - * Returns an SM, if found, else null. - * @param pcType class of instance, used as key in outer map. - * @param oid Object id, used as key in inner map. - */ - public StateManager get(Class pcType, Object oid); - - /** - * Removes entry based on pc and oid. If map is empty after remove, - * removes it from its containint map. - * @param pcType class of instance, used as key in outer map. - * @param oid Object id, used as key in inner map. - */ - public StateManager remove(Class pcType, Object oid); - - /** - * Informs the cache to expect that the given pcType will be used as a key - * for the outer map in subsequent putEntry operations. - * @param pcType class of instance, used as key in outer map. - */ - public void addPCType(Class pcType); - - /** - * Removes the map for the given pcType and all its elements. - * @param pcType class of instance, used as key in outer map. - */ - public void removePCType(Class pcType); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/connection/ConnectionImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/connection/ConnectionImpl.java deleted file mode 100644 index c7f064ef994..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/connection/ConnectionImpl.java +++ /dev/null @@ -1,912 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConnectionImpl.java - * - * Create on March 3, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.connection; - -import com.sun.jdo.api.persistence.support.JDODataStoreException; -import com.sun.jdo.api.persistence.support.Transaction; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper; -import com.sun.jdo.spi.persistence.utility.Linkable; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperSQLStore; -import org.glassfish.hk2.utilities.CleanerFactory; - - -import java.lang.ref.Cleaner; -import java.sql.*; -import java.util.Properties; -import java.util.concurrent.Executor; - -/** - * This class implements the java.sql.Connection - * interface, which is part of the JDBC API. You should use - * the java.sql.Connection interface as an object - * type instead of this class. - */ -public class ConnectionImpl implements Connection, Linkable { - /* - * The associated JDBC Connection. - */ - private final Connection connection; - - /* - * The datasource url; e.g. "jdbc:oracle:oci7:@ABYSS_ORACLE". - */ - private final String url; - - /* - * User name. - */ - private final String userName; - - /* - * Previous ConnectionImpl in a chain. - */ - Linkable previous; - - /* - * Next ConnectionImpl in a chain. - */ - Linkable next; - - /* - * Indicates whether this ConnectionImpl is pooled. - */ - private boolean pooled; - - /* - * The Transaction object for the associated transaction. - */ - private Transaction transaction; - - /* - * Indicates whether this ConnectionImpl is to be freed on - * transaction termination. - */ - boolean freePending; - - /* - * The resource interface that is registered with a transaction - * object. - */ - // private ForteJDBCResource resource; - - /* - * The parent ConnectionManager object. - */ - ConnectionManager connectionManager; - - /** - * The logger - */ - private static final Logger logger = LogHelperSQLStore.getLogger(); - - private final Cleaner.Cleanable cleanable; - - static class CleanableConnectionState implements Runnable { - - private final Connection connection; - private final Logger logger; - - CleanableConnectionState(Connection connection, Logger logger) { - this.connection = connection; - this.logger = logger; - } - - @Override - public void run() { - try { - this.connection.close(); - this.logger.finest("sqlstore.connectionimpl.finalize"); // NOI18N - } catch (SQLException se) { - } - } - } - - /** - * Create a new ConnectionImpl object and keep a reference to - * the corresponding JDBC Connection. - * - * @param conn Connection - */ - public ConnectionImpl(Connection conn, String url, String userName, - ConnectionManager connMgr) { - super(); - this.connection = conn; - this.url = url; - this.userName = userName; - this.previous = null; - this.next = null; - this.pooled = false; - this.transaction = null; - this.freePending = false; - this.connectionManager = connMgr; - this.cleanable = CleanerFactory.create().register(this, new CleanableConnectionState(this.connection, logger)); - } - - //---------------------------------------------------------------------- - // Wrapper methods for JDBC Connection: - - // - // Create a JDBC Statement to execute SQL statements without parameters. - //

    - // @return A StatementImpl wrapper object. - // @exception SQLException if a database error occurs. - // - public synchronized Statement createStatement() - throws SQLException { - this.checkXact(); - return connection.createStatement(); - } - - public Statement createStatement(int resultSetType, - int resultSetConcurrency) - throws SQLException { - return (null); - } - - public PreparedStatement prepareStatement(String sql, int resultSetType, - int resultSetConcurrency) - throws SQLException { - return (null); - } - - public CallableStatement prepareCall(String sql, - int resultSetType, - int resultSetConcurrency) - throws SQLException { - return (null); - } - - // - // Prepare a SQL statement, with or without parameters, that can be - // efficiently executed multiple times. - //

    - // @param sql SQL statement. - // @return A StatementImpl wrapper object. - // @exception SQLException if a database error occurs. - // - public synchronized PreparedStatement prepareStatement(String sql) - throws SQLException { - checkXact(); - return connection.prepareStatement(sql); - } - - // - // Prepare a SQL stored procedure call. - //

    - // @parameter sql SQL stored procedure call. - // @return a ForteCallableStatement wrapper object. - // @exception SQLException if a database error occurs. - // - public synchronized CallableStatement prepareCall(String sql) - throws SQLException { - return connection.prepareCall(sql); - } - - public synchronized String nativeSQL(String sql) throws SQLException { - try { - return (this.connection.nativeSQL(sql)); - } catch (SQLException se) { - throw se; - } - } - - public synchronized void setAutoCommit(boolean autoCommit) - throws SQLException { - try { - this.connection.setAutoCommit(autoCommit); - } catch (SQLException se) { - throw se; - } - } - - public synchronized boolean getAutoCommit() throws SQLException { - try { - return (this.connection.getAutoCommit()); - } catch (SQLException se) { - throw se; - } - } - - public synchronized void commit() throws SQLException { - - try { - this.connection.commit(); - if (this.freePending) { - if (this.connectionManager.isShutdownPending()) { - try { - this.connection.close(); - logger.finest("sqlstore.connectionimpl.commit"); // NOI18N - } catch (SQLException se) { - ; - } - } else { - this.freePending = false; - this.connectionManager.insertFreeListTail(this); - } - } - if (EJBHelper.isManaged()) { - // this is for use with test 'ejb' only. - closeInternal(); - } - } catch (SQLException se) { - throw se; - } - } - - public synchronized void rollback() throws SQLException { - logger.finest("sqlstore.connectionimpl.rollback"); // NOI18N - - try { - this.connection.rollback(); - if (this.freePending) { - if (this.connectionManager.isShutdownPending()) { - this.connection.close(); - logger.finest("sqlstore.connectionimpl.rollback.close"); // NOI18N - } else { - this.freePending = false; - this.connectionManager.insertFreeListTail(this); - } - } - if (EJBHelper.isManaged()) { - // this is for use with test 'ejb' only. - closeInternal(); - } - } catch (SQLException se) { - throw se; - } - } - - public synchronized void close() throws SQLException { - if (EJBHelper.isManaged()) { - logger.finest("sqlstore.connectionimpl.close"); // NOI18N - - // ignore - this can happen in test 'ejb' only - return; - } - - closeInternal(); - } - - private synchronized void closeInternal() throws SQLException { - - boolean debug = logger.isLoggable(Logger.FINEST); - - ConnectionImpl conn = (ConnectionImpl) this; - - if (debug) { - logger.finest("sqlstore.connectionimpl.close_arg",conn); // NOI18N - } - - try { - conn.connectionManager.busyList.removeFromList((Linkable) conn); - if (conn.xactPending() == true) { - conn.setFreePending(true); - if (debug) { - logger.finest("sqlstore.connectionimpl.close.freepending"); // NOI18N - } - } else if ((conn.getPooled() == true) && (!conn.connectionManager.isShutdownPending())) { - conn.connectionManager.insertFreeListTail(conn); - if (debug) { - logger.finest("sqlstore.connectionimpl.close.putfreelist"); // NOI18N - } - } else { - if (EJBHelper.isManaged()) { - // RESOLVE: do we need it here? - this.connection.close(); - if (debug) { - logger.finest("sqlstore.connectionimpl.close.exit"); // NOI18N - } - } else { - // Save reference to this connection and close it only when - // another free becomes available. This reduces time to - // get a new connection. - this.connectionManager.replaceFreeConnection(this); - if (debug) { - logger.finest("sqlstore.connectionimpl.close.replaced"); // NOI18N - } - } - } - - } catch (SQLException se) { - throw se; - } - } - - /** - * Called by ConnectionManager to close old connection when a new free connection - * becomes available - */ - protected void release() { - this.cleanable.clean(); - logger.finest("sqlstore.connectionimpl.close.connrelease"); // NOI18N - } - - public synchronized boolean isClosed() throws SQLException { - try { - return (this.connection.isClosed()); - } catch (SQLException se) { - throw se; - } - } - - public synchronized DatabaseMetaData getMetaData() throws SQLException { - try { - return (this.connection.getMetaData()); - } catch (SQLException se) { - throw se; - } - } - - public synchronized void setReadOnly(boolean readOnly) throws SQLException { - try { - this.connection.setReadOnly(readOnly); - } catch (SQLException se) { - throw se; - } - } - - public synchronized boolean isReadOnly() throws SQLException { - try { - return (this.connection.isReadOnly()); - } catch (SQLException se) { - throw se; - } - } - - public synchronized void setCatalog(String catalog) throws SQLException { - try { - this.connection.setCatalog(catalog); - } catch (SQLException se) { - throw se; - } - } - - public synchronized String getCatalog() throws SQLException { - try { - return (this.connection.getCatalog()); - } catch (SQLException se) { - throw se; - } - } - - public synchronized void setTransactionIsolation(int level) - throws SQLException { - try { - this.connection.setTransactionIsolation(level); - } catch (SQLException se) { - throw se; - } - } - - public synchronized int getTransactionIsolation() throws SQLException { - try { - return (this.connection.getTransactionIsolation()); - } catch (SQLException se) { - throw se; - } - } - - public synchronized SQLWarning getWarnings() throws SQLException { - try { - return (this.connection.getWarnings()); - } catch (SQLException se) { - throw se; - } - } - - public synchronized void clearWarnings() throws SQLException { - try { - this.connection.clearWarnings(); - } catch (SQLException se) { - throw se; - } - } - - public synchronized java.util.Map getTypeMap() - throws SQLException { - try { - return (this.connection.getTypeMap()); - } catch (SQLException se) { - throw se; - } - } - - public synchronized void setTypeMap(java.util.Map map) - throws SQLException { - try { - this.connection.setTypeMap(map); - } catch (SQLException se) { - throw se; - } - } - - //-------------Begin New methods added in JDBC 3.0 -------------- - - public synchronized void setHoldability(int holdability) - throws SQLException { - - throw new UnsupportedOperationException(); - } - - public synchronized int getHoldability() - throws SQLException { - - throw new UnsupportedOperationException(); - } - - public synchronized Savepoint setSavepoint() - throws SQLException { - - throw new UnsupportedOperationException(); - } - - public synchronized Savepoint setSavepoint(String name) - throws SQLException { - - throw new UnsupportedOperationException(); - } - - public synchronized void rollback(Savepoint savepoint) - throws SQLException { - - throw new UnsupportedOperationException(); - - } - - public synchronized void releaseSavepoint(Savepoint savepoint) - throws SQLException { - - throw new UnsupportedOperationException(); - } - - public synchronized Statement createStatement(int resultSetType, - int resultSetConcurrency, - int resultSetHoldability) - throws SQLException { - - throw new UnsupportedOperationException(); - } - - public synchronized PreparedStatement prepareStatement(String sql, - int resultSetType, - int resultSetConcurrency, - int resultSetHoldability) - throws SQLException { - - throw new UnsupportedOperationException(); - } - - public synchronized CallableStatement prepareCall(String sql, - int resultSetType, - int resultSetConcurrency, - int resultSetHoldability) - throws SQLException { - - throw new UnsupportedOperationException(); - } - - public synchronized PreparedStatement prepareStatement(String sql, - int autoGeneratedKeys) - throws SQLException { - - throw new UnsupportedOperationException(); - } - - public synchronized PreparedStatement prepareStatement(String sql, - int[] columnIndexes) - throws SQLException { - - throw new UnsupportedOperationException(); - } - - public synchronized PreparedStatement prepareStatement(String sql, - String[] columnNames) - throws SQLException { - throw new UnsupportedOperationException(); - } - - //-------------End New methods added in JDBC 3.0 -------------- - - //-------------Begin New methods added in JDBC 4.0 -------------- - public Clob createClob() throws SQLException { - throw new UnsupportedOperationException(); - } - - public Blob createBlob() throws SQLException { - throw new UnsupportedOperationException(); - } - - public NClob createNClob() throws SQLException { - throw new UnsupportedOperationException(); - } - - public SQLXML createSQLXML() throws SQLException { - throw new UnsupportedOperationException(); - } - - public boolean isValid(int timeout) throws SQLException { - throw new UnsupportedOperationException(); - } - - public void setClientInfo(String name, String value) throws SQLClientInfoException { - throw new UnsupportedOperationException(); - } - - public void setClientInfo(Properties properties) throws SQLClientInfoException { - throw new UnsupportedOperationException(); - } - - public String getClientInfo(String name) throws SQLException { - throw new UnsupportedOperationException(); - } - - public Properties getClientInfo() throws SQLException { - throw new UnsupportedOperationException(); - } - - public Array createArrayOf(String typeName, Object[] elements) throws SQLException { - throw new UnsupportedOperationException(); - } - - public Struct createStruct(String typeName, Object[] attributes) throws SQLException { - throw new UnsupportedOperationException(); - } - - public T unwrap(Class iface) throws SQLException { - throw new UnsupportedOperationException(); - } - - public boolean isWrapperFor(Class iface) throws SQLException { - throw new UnsupportedOperationException(); - } - //-------------End New methods added in JDBC 4.0 -------------- - - //---------------- BaseConnectionImpl methods ---------------- - - /** - * Check the TransactionContext. If the current thread is in a - * transaction, and the Connection is not participating in a - * transaction; the Connection should register a resource with - * the current thread's transaction. If the current thread is - * in a transaction, and the Connection is participating in a - * transaction; the thread's transaction and the Connection's - * transaction must be the same transaction. Anything else is - * an error. - *

    - * @exception SQLException if the current thread's transaction - * and the Connection's transaction do - * not match. - * @ForteInternal - */ - synchronized void checkXact() throws SQLException { - /* RESOLVE: Need to reimplement this - * for CMP environment if any - - Transaction tran; - - try - { - tran = ThreadContext.transactionContext().getTransaction(); - } - catch (SystemException ex) - { - tran = null; - } - - if (tran == null) - { - if (this.transaction != null) - { - throw new SQLException("Thread is no longer in transaction."); // NOI18N - } - else - { - // No transaction. - return; - } - } - else if (this.transaction == null) - { - // This is a new transaction. - this.transaction = tran; - this.resource = new ForteJDBCResource(this); - try - { - TranManager tm = ThreadContext.partition().getTranManager(); - tm.enlistResource(this.resource); - this.setAutoCommit(false); - } - catch (SQLException ex) - { - } - catch (Throwable ex) - { - // XXX This shouldn't happen. XXX - } - this.connectionManager.associateXact(tran, this); - } - else if (!tran.equals(this.transaction)) - { - throw new SQLException("Wrong Transaction."); // NOI18N - } - else - { - // Connection and thread are in the same transaction. - return; - } - */ - } - - /** - * Mark the Connection free-pending. A Connection gets into this - * state only if it is freed while still participating in a transaction. - *

    - */ - synchronized void setFreePending(boolean freePending) { - this.freePending = freePending; - } - - /** - * Get the value of the free-pending attribute. - *

    - */ - synchronized boolean getFreePending() { - return (this.freePending); - } - - /** - * Indicates whether this Connection is participating in a transaction. - *

    - * @return True if this Connection is participating in a transaction; - * false, otherwise. - */ - synchronized boolean xactPending() { - return ((this.transaction != null) ? true : false); - } - - /** - * Get the previous ConnectionImpl in a chain. - *

    - * @return The previous ConnectionImpl in a chain. - */ - public Linkable getPrevious() { - return (this.previous); - } - - /** - * Hook a ConnectionImpl to a chain. - *

    - * @param conn The ConnectionImpl to hook on the chain. - */ - public void setPrevious(Linkable conn) { - this.previous = conn; - } - - /** - * Get the next ConnectionImpl in a chain. - *

    - * @return The next ConnectionImpl in a chain. - */ - public Linkable getNext() { - return (this.next); - } - - /** - * Hook a ConnectionImpl to a chain. - *

    - * @param conn The ConnectionImpl to hook on the chain. - */ - public void setNext(Linkable conn) { - this.next = conn; - } - - /** - * Indicates whether this ConnectionImpl is pooled. - *

    - * @return TRUE if this ConnectionImpl is pooled. - */ - synchronized boolean getPooled() { - return (this.pooled); - } - - /** - * Mark this ConnectionImpl as pooled. - *

    - */ - synchronized void setPooled(boolean flag) { - this.pooled = flag; - } - - /** - * Get the url for this ConnectionImpl object. - *

    - * @return String containing the url for this ConnectionImpl object. - */ - synchronized String getURL() { - return this.url; - } - - /** - * Get the user name for this ConnectionImpl object. - *

    - * @return String containing the user name for this - * ConnectionImpl object. - */ - synchronized String getUserName() { - return this.userName; - } - - /** - * Used by TransactionImpl to commit the transaction on this - * Connection. Also disassociates this Connection from the - * transaction. Throws ... (javax.transaction.xa.XAException(XA_RBROLLBACK)) - * on commit error. - *

    - */ - public synchronized void internalCommit() { - logger.finest("sqlstore.connectionimpl.internalcommit"); // NOI18N - - try { - this.connection.commit(); - } catch (Exception e1) { - try { - this.connection.rollback(); - } catch (Exception e2) { - // XXX Try to recover from bad connection. XXX - } finally { - this.clearXact(); - } - throw new JDODataStoreException(null, e1); //XAException(XAException.XA_RBROLLBACK); - } finally { - this.clearXact(); - } - } - - - /** - * Used by TransactionImpl to rollback the transaction on this - * Connection. Also disassociates this Connection from the - * transaction. - *

    - */ - public synchronized void internalRollback() { - logger.finest("sqlstore.connectionimpl.internalrollback"); // NOI18N - try { - this.connection.rollback(); - } catch (Exception e1) { - // XXX Try to recover from bad connection. XXX - } finally { - this.clearXact(); - } - } - - /** - * Clear this ConnectionImpl of any knowledge of a transaction. - * Also informs the parent ConnectionManager to clear its knowledge - * of the transaction as well. - *

    - */ - private void clearXact() { - logger.finest("sqlstore.connectionimpl.clearxact"); // NOI18N - - try { - if (this.freePending) { - this.freePending = false; - if (this.pooled) { - this.connectionManager.disassociateXact(this.transaction, this, true); - logger.finest("sqlstore.connectionimpl.pendingdisassocxact"); // NOI18N - } else { - this.connectionManager.disassociateXact(this.transaction, this, false); - // Make sure the last things done are the only things - // that can throw exceptions. - this.connection.close(); - - logger.finest("sqlstore.connectionimpl.clearxact.close"); // NOI18N - } - } else { - this.connectionManager.disassociateXact(this.transaction, this, false); - logger.finest("sqlstore.connectionimpl.clearxact.disassocxact"); // NOI18N - } - this.connection.setAutoCommit(true); - } catch (SQLException ex) { - // XXX Need to recover from a bad connection. XXX - } finally { - // this.resource = null; - this.transaction = null; - } - } - - /** - * Return a string representation of this ConnectionImpl object. - *

    - * @return String describing contents of this ConnectionImpl - * object. - */ - public synchronized String toString() { - int xactIsolation = 0; - String buffer = "Connect@"; // NOI18N - - String strTran = (this.transaction == null) ? - " NULL" : this.transaction.toString(); // NOI18N - int hash = this.hashCode(); - - try { - xactIsolation = this.getTransactionIsolation(); - } catch (SQLException ex) { - xactIsolation = -1; - } - - buffer = buffer + hash + "\n" + // NOI18N - " pooled = " + this.pooled + "\n" + // NOI18N - " freePending = " + this.freePending + "\n" + // NOI18N - " xactIsolation = " + xactIsolation + "\n" + // NOI18N - " Tran = " + strTran + "\n"; // NOI18N - - return buffer; - } - - public void setSchema(String schema) throws SQLException { - throw new UnsupportedOperationException("Not supported yet."); - } - - public String getSchema() throws SQLException { - throw new UnsupportedOperationException("Not supported yet."); - } - - public void abort(Executor executor) throws SQLException { - throw new UnsupportedOperationException("Not supported yet."); - } - - public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException { - throw new UnsupportedOperationException("Not supported yet."); - } - - public int getNetworkTimeout() throws SQLException { - throw new UnsupportedOperationException("Not supported yet."); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/connection/ConnectionManager.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/connection/ConnectionManager.java deleted file mode 100644 index 54336ca378f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/connection/ConnectionManager.java +++ /dev/null @@ -1,2323 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConnectionManager.java - * - * Create on March 3, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.connection; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.api.persistence.support.Transaction; -import com.sun.jdo.spi.persistence.utility.DoubleLinkedList; -import com.sun.jdo.spi.persistence.utility.Linkable; -import com.sun.jdo.spi.persistence.support.sqlstore.utility.StringScanner; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperSQLStore; -import org.glassfish.hk2.utilities.CleanerFactory; - - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.util.Hashtable; -import java.util.ResourceBundle; - -/** - *

    This class represents a connection manager, which creates a - * JDBC driver manager and manages - * established database connections. This class lets you specify the following - * settings for JDBC connections: - *

      - *
    • JDBC driver type - *
    • data source name (JDBC URL) - *
    • user name - *
    • password - *
    • number of pooled connections (settable when running) - *
    • how often to try to get a connection after failing the first time and how long - * to retry (settable when running) - *
    - * If you define a connection manager as a component, you can define - * these settings when you partition the application instead of when you write the application. - *

    You can change only the following settings when the connection manager is - * running: - *

      - *
    • minimum and maximum number of pooled connections, although not whether pooling is - * on or off (setMinPool and setMaxPool) - *
    • how often to try to get a connection after failing the first time and how - * long to retry for a connection (setMsWait and setMsInterval) - *
    - *

    You cannot set any other setting while the connection manager is running. - * To change other settings, shut down the connection manager using the - * shutDown method, then change - * the settings. Then, start the connection manager - * using the startUp method. - *

    If you use a connection manager to manage your database connections, - * the connection manager can also extend a SynerJ transaction to include - * JDBC database transactions. In other words, if the JDBC database - * transactions occur within a SynerJ transaction, the JDBC database - * transactions are committed or rolled back when the SynerJ transaction - * committed or rolled back. - *

    You can set up your connection manager to manage database connections in - * the following ways: - *

      - *
    • Start a new connection every time you request a connection. This approach is - * often referred to as client-based security, because the security - * for the connection is based on a particular database client and can be - * different for each client. - *
    • Maintain a pool of connections for a given user name and password, - * and return one of these connections when you request a connection using the - * getConnection method with no parameters. - * This approach is often referred to as application-based security, because - * the security information for the pool of connections is the same and is the - * same for all clients of the application. - *
    • Maintain a pool of connections for a given user name and password - * and start a new connection if you specify another user name and password - * with the getConnection method. - * This approach is a blend of client-based and application-based security. - *
    - *

    You also have the choice of either defining the connection manager - * as a service object typed as a ConnectionManager object, or - * defining the connection manager by dynamically creating a - * ConnectionManager object in your code. If you define the - * connection manager as a service object, the SynerJ partitioning system - * can help you determine how to define partitions that contain the - * service object by being aware of where JDBC drivers are installed, - * for example. If you define the ConnectionManager object - * dynamically, then you need to keep such issues in mind when you - * define the partitions whose code defines the ConnectionManager - * objects; the partitioning system will not help you. - * - *

    Starting a New Database Connection for Each Request (Client-based Security)

    - *

    In this situation, the connection - * manager establishes a new connection each time you request a connection. - * By default, the connection manager does not establish and maintain a - * pool of connections. In this case, you can leave the maximum and minimum - * number of pooled connections set to 0. - * Each time you need a connection to the database, - * use the getConnection method. - * You can use the default user name, password, and database URL for the current - * connection manager by invoking the getConnection method with no parameters. - * The default settings are specified in one of the ConnectionManager - * constructors when you create the connection manager. - * You can also specify a user name, password, and database URL on the - * getConnection method. - * - *

    Example of Using ConnectionManager without Pooling
    - *
    - * import java.sql.*;
    - * import com.sun.jdo.api.persistence.support.*;
    - * Connection con = myTransaction.getConnection();
    - * Statement stmt = con.createStatement();
    - * ResultSet rs = stmt.executeQuery("SELECT * FROM T1");
    - * 
    - * - *

    Using a Pool of Database Connections (Application-based Security)

    - *

    When you create a connection manager using the - * ConnectionManager class, you can have the connection manager - * establish a pool of connections for a given user name and password - * to allow a thread to using an existing connection instead of waiting - * for a new database connection to be created. - *

    To create a connection manager with a pool of connections using - * a service object: - *

      - *
    1. Define a service object of the class ConnectionManager. - *
    2. In the Partition Workshop, set the component properties for - * the component instance represented by the service - * object to define the driver name and the default database URL, - * user name, and password. You can also define the values for the - * minimum connections and the maximum connections for the connection pool, as well - * as for how often and how long to try to get a connection after an initial - * failure to do so. - *

      If you set the values for the minimum and maximum connections to - * 0, then no pool of connections is established. Any value greater - * than 0 means that a pool of connections is established. The maximum - * value must be equal to or greater than the value of the minimum - * value. If you set the maximum and minimum as equal values, the - * number of connections established for the pool will be constant. - *

      The connection manager establishes the minimum number of connections - * when it starts up using the default database URL, user name, and password. - *

    - *

    To get one of the pooled connections, you can use the - * getConnection - * method with no parameters. If all the existing connections are in - * use, the connection manager establishes another connection with - * the same database URL, user name, and password and adds it to the pool, - * up to the specified maximum number of connections. - *

    When you have finished using a connection, you can use the - * close() method to return the connection to the pool - * of available connections. - * The connection manager periodically checks its pool of connections, - * and can reduce the number of established connections to the minimum - * number, if enough connections are not in use. - * At runtime, you can change the maximum and minimum number of connections, - * because the ConnectionManager - * is a component. - * - *

    Using a Pool of Connections and Starting New Connections

    - *

    You can have the connection manager establish and maintain a - * pool of connections and have the connection manager establish new - * connections on a request-by-request basis. - * - *

    Example of Using ConnectionManager with Pooling
    - *
    - * import com.sun.jdo.api.persistence.support.*;
    - * void getT1Data() {
    - * 	// The following connection is from the connection pool.
    - * 	Connection myConn = myTransaction.getConnection();
    - * 	Statement myStatement = myConn.createStatement();
    - * 	ResultSet myResults = myStatement.executeQuery(
    - * 		"SELECT * FROM T1);
    - * 	// Free the connection; it is returned to the connection pool.
    - * 	myConn.close();
    - *
    - * 	// The connection manager creates a new connection for the
    - * 	// following request.
    - * 	Connection yourConn = myConnMgr.getConnection(
    - * 		"data:oracle:thin:@CUSTOMERDB:1521:ORCL", "paul", "omni8");
    - * 	Statement yourStatement = yourConn.createStatement();
    - * 	ResultSet yourResults = yourStatement.executeQuery(
    - * 	"SELECT Customer, Date, Amount FROM Orders");
    - * 	.
    - * 	.
    - * 	.
    - * }
    - * 
    - */ -public class ConnectionManager { - /** - * Name of the driver; e.g. "oracle.jdbc.driver.OracleDriver" - * @serial - */ - private String driverName; - - /** - * Expanded name of the driver - * @serial - */ - private transient String expandedDriverName; - - /** - * Datasource url; e.g. "jdbc:oracle:oci7:@ABYSS_ORACLE" - * @serial - */ - private String url; - - /** - * Expanded datasource url - * @serial - */ - private transient String expandedUrl; - - /** - * DBMS Username. - * @serial - */ - private String userName; - - /** - * Expanded user name - * @serial - */ - private transient String expandedUserName; - - /** - * DBMS password. - * @serial - */ - private char[] password; - - /** - * Expanded DBMS password. - * @serial - */ - private transient String expandedPassword; - - /** - * The minimum size of the connection pool. - * @serial - */ - private int minPool; - - /** - * The maximum size of the connection pool. - * @serial - */ - private int maxPool; - - /** - * The current size of the connection pool. - * @serial - */ - private transient int poolSize; - - /** - * The linked list of in-use DB connections. - * @serial - */ - transient DoubleLinkedList busyList; - - /** - * List of Connections associated with transactions, indexed by - * transaction object (jakarta.transaction.Transaction). - * @serial - */ - private transient Hashtable xactConnections; - - /** - * Millisecond time to wait between attempts to connect - * to the database. - * @serial - */ - private int msInterval; - - /** - * Millisecond time to block while attempting to connect - * to the database. - * @serial - */ - private int msWait; - - // - // Default number of milliseconds to block while retrying to get - // a pooled connection to the database. - // - private static final int DEFAULT_RETRY_INTERVAL = 1000; - - /** - * Maximumn number of seconds this DataSource will wait while attempting to - * connection to a database. - */ - private int loginTimeout; - - /** - * Free non-pooled connection to reduce time for getting a new connection. - */ - private transient ConnectionImpl freeConn = null; - - private final CleanableConnectionManagerState state = new CleanableConnectionManagerState(); - - /** - * The logger - */ - private static final Logger logger = LogHelperSQLStore.getLogger(); - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - ConnectionManager.class.getClassLoader()); - - - // - // SQL92 State Codes. - // - - // - // SQL92 "00000" Successful completion. - // - static final String SQL_SUCCESS = "00000"; // NOI18N - - // - // SQL92 "01000" Warning. - // - static final String SQL_WARNING = "01000"; // NOI18N - - // - // SQL92 "01001" Warning; cursor operation conflict. - // - static final String SQL_CURSOR_OP = "01001"; // NOI18N - - // - // SQL92 "01002" Warning; disconnect error. - // - static final String SQL_DISCONNECT = "01002"; // NOI18N - - // - // SQL92 "01003" Warning; null value eliminated in set function. - // - static final String SQL_NULL_ELIM = "01003"; // NOI18N - - // - // SQL92 "01004" Warning; string date, right truncation. - // - static final String SQL_R_TRUNC = "01004"; // NOI18N - - // - // SQL92 "01005" Warning; insufficient item descriptor areas. - // - static final String SQL_INSUFF_ITEM = "01005"; // NOI18N - - // - // SQL92 "01006" Warning; privilege not revoked. - // - static final String SQL_NOT_REVOKED = "01006"; // NOI18N - - // - // SQL92 "01007" Warning; privilege not granted. - // - static final String SQL_NOT_GRANTED = "01007"; // NOI18N - - // - // SQL92 "01008" Warning; implicit zero-bit padding. - // - static final String SQL_ZERO_BIT_PAD = "01008"; // NOI18N - - // - // SQL92 "01009" Warning; search condition too long for - // information schema. - // - static final String SQL_COND_TOO_LONG = "01009"; // NOI18N - - // - // SQL92 "0100A" Warning; query condition too long for - // information schema. - // - static final String SQL_QUERY_TOO_LONG = "0100A"; // NOI18N - - // - // SQL92 "02000" No data. - // - static final String SQL_NO_DATA = "02000"; // NOI18N - - // - // SQL92 "07000" Dynamic SQL error. - // - static final String SQL_DYN_ERROR = "07000"; // NOI18N - - // - // SQL92 "07001" Dynamic SQL error; using clause does not - // match dynamic parameter specifications. - // - static final String SQL_USING_NO_PARAM = "07001"; // NOI18N - - // - // SQL92 "07002" Dynamic SQL error; using clause does not - // match target specifications. - // - static final String SQL_USING_NO_TARGET = "07002"; // NOI18N - - // - // SQL92 "07003" Dynamic SQL error; cursor specification - // cannot be executed. - // - static final String SQL_CURSOR_NOEXE = "07003"; // NOI18N - - // - // SQL92 "07004" Dynamic SQL error; using clause - // required for dynamic parameters. - // - static final String SQL_USING_REQ = "07004"; // NOI18N - - // - // SQL92 "07005" Dynamic SQL error; prepared statement - // not a cursor specification. - // - static final String SQL_PREP_NO_CURSOR = "07005"; // NOI18N - - // - // SQL92 "07006" Dynamic SQL error; restricted datatype - // attribute violation. - // - static final String SQL_RESTRIC_ATTR = "07006"; // NOI18N - - // - // SQL92 "07007" Dynamic SQL error; using caluse required - // for result fields. - // - static final String SQL_USING_RESULTS = "07007"; // NOI18N - - // - // SQL92 "07008" Dynamic SQL error; invalid descriptor count. - // - static final String SQL_INVAL_DESC_CNT = "07008"; // NOI18N - - // - // SQL92 "07009" Dynamic SQL error; invalid descriptor index. - // - static final String SQL_INVAL_DESC_IDX = "07009"; // NOI18N - - // - // SQL92 "08000" Connection exception. - // - static final String SQL_CONN = "08000"; // NOI18N - - // - // SQL92 "08001" Connection exception; SQL-client unable - // to establish SQL-connection. - // - static final String SQL_CLIENT_NO_CONN = "08001"; // NOI18N - - // - // SQL92 "08002" Connection exception; connection name - // in use. - // - static final String SQL_CONN_IN_USE = "08002"; // NOI18N - - // - // SQL92 "08003" Connection exception; connection does not exist. - // - static final String SQL_NO_CONN = "08003"; // NOI18N - - // - // SQL92 "08004" Connection exception; SQL-server rejected - // establishment of SQL-connection. - // - static final String SQL_REJECT_CONN = "08004"; // NOI18N - - // - // SQL92 "08006" Connection exception; connection failure. - // - static final String SQL_CONN_FAIL = "08006"; // NOI18N - - // - // SQL92 "08007" Connection exception; transaction resolution unknown. - // - static final String SQL_TRANS_UNK = "08007"; // NOI18N - - // - // SQL92 "0A000" Feature not supported. - // - static final String SQL_NO_SUPPORT = "0A000"; // NOI18N - - // - // SQL92 "0A001" Feature not supported; multiple - // server transactions - // - static final String SQL_NO_SUPPORT_MULTI = "0A001"; // NOI18N - - // - // SQL92 "21000" Cardinality violation. - // - static final String SQL_INVALID_VALUE = "21000"; // NOI18N - - // - // SQL92 "22000" Data exception. - // - static final String SQL_DATA = "22000"; // NOI18N - - // - // SQL92 "22001" Data exception; string data, - // right trunctation. - // - static final String SQL_DATA_RTRUNC = "22001"; // NOI18N - - // - // SQL92 "22002" Data exception; null value, no - // indicator parameter. - // - static final String SQL_DATA_NULL = "22002"; // NOI18N - - // - // SQL92 "22003" Data exception; numeric value out - // of range. - // - static final String SQL_OUT_OF_RANGE = "22003"; // NOI18N - - // - // SQL92 "22005" Data exception; error in assignment. - // - static final String SQL_DATA_EXCEPT = "22005"; // NOI18N - - // - // SQL92 "22007" Data exception; invalid datetime format. - // - static final String SQL_DATETIME_FMT = "22007"; // NOI18N - - // - // SQL92 "22008" Data exception; datetime field overflow. - // - static final String SQL_DATETIME_OVFLO = "22008"; // NOI18N - - // - // SQL92 "22009" Data exception; invalid time zone - // displacement value. - // - static final String SQL_TIMEZONE = "22009"; // NOI18N - - // - // SQL92 "22011" Data exception; substring error. - // - static final String SQL_SUBSTR_ERROR = "22011"; // NOI18N - - // - // SQL92 "22012" Data exception; division by zero. - // - static final String SQL_DIV_BY_ZERO = "22012"; // NOI18N - - // - // SQL92 "22015" Data exception; interval field overflow. - // - static final String SQL_INTERVAL_OVFLO = "22015"; // NOI18N - - // - // SQL92 "22018" Data exception; invalid character value - // for cast. - // - static final String SQL_INVAL_CHAR_CAST = "22018"; // NOI18N - - // - // SQL92 "22019" Data exception; invalid escape character. - // - static final String SQL_INVAL_ESCAPE_CHAR = "22019"; // NOI18N - - // - // SQL92 "22021" Data exception; character not in repertoire. - // - static final String SQL_CHAR_NOT_REP = "22021"; // NOI18N - - // - // SQL92 "22022" Data exception; indicator overflow. - // - static final String SQL_IND_OVERFLOW = "22022"; // NOI18N - - // - // SQL92 "22023" Data exception; invalid parameter value. - // - static final String SQL_INVAL_PARAM_VALUE = "22023"; // NOI18N - - // - // SQL92 "22024" Data exception; unterminated C string. - // - static final String SQL_UNTERM_C_STR = "22024"; // NOI18N - - // - // SQL92 "22025" Data exception; invalid escape sequence. - // - static final String SQL_INVAL_ESCAPE_SEQ = "22025"; // NOI18N - - // - // SQL92 "22026" Data exception; string data, length mismatch. - // - static final String SQL_STR_LEN_MISMATCH = "22026"; // NOI18N - - // - // SQL92 "22027" Data exception; trim error. - // - static final String SQL_TRIM_ERROR = "22027"; // NOI18N - - // - // SQL92 "23000" Integrity constraint violation. - // - static final String SQL_INTEG_CONSTRAINT = "23000"; // NOI18N - - // - // SQL92 "24000" Invalid cursor state. - // - static final String SQL_INVAL_CURSOR_STATE = "24000"; // NOI18N - - // - // SQL92 "25000" Invalid transaction state - // - static final String SQL_INVAL_TRANS_STATE = "25000"; // NOI18N - - // - // SQL92 "26000" Invalid SQL statement name. - // - static final String SQL_INVAL_SQL_NAME = "26000"; // NOI18N - - // - // SQL92 "28000" Invalid authorization specification. - // - static final String SQL_INVAL_AUTH = "28000"; // NOI18N - - // - // SQL92 "2A000" Syntax error or access rule violation - // in direct SQL statement. - // - static final String SQL_SYNTAX_DIRECT = "2A000"; // NOI18N - - // - // SQL92 "2B000" Dependent privilege descriptors - // still exist. - // - static final String SQL_DESC_EXIST = "2B000"; // NOI18N - - // - // SQL92 "2C000" Invalid character set name. - // - static final String SQL_INVAL_CHAR_SET = "2C000"; // NOI18N - - // - // SQL92 "2D000" Invalid transaction termination. - // - static final String SQL_INVAL_TRANS_TERM = "2D000"; // NOI18N - - // - // SQL92 "2E000" Invalid connection name. - // - static final String SQL_INVAL_CONN_NAME = "2E000"; // NOI18N - - // - // SQL92 "33000" Invalid SQL descriptor name - // - static final String SQL_INVAL_SQL_DESC_NAME = "33000"; // NOI18N - - // - // SQL92 "34000" Invalid cursor name. - // - static final String SQL_INVAL_CURSOR_NAME = "34000"; // NOI18N - - // - // SQL92 "35000" Invalid condition number - // - static final String SQL_INVAL_COND_NUM = "35000"; // NOI18N - - // - // SQL92 "37000" Syntax error or access rule violation - // in dynamic SQL statement. - // - static final String SQL_SYNTAX_DYNAMIC = "37000"; // NOI18N - - // - // SQL92 "3C000" Ambiguous cursor name. - // - static final String SQL_AMBIG_CURSOR = "3C000"; // NOI18N - - // - // SQL92 "3D000" Invalid catalog name. - // - static final String SQL_INVAL_CATALOG = "3D000"; // NOI18N - - // - // SQL92 "3F000" Invalid schema name. - // - static final String SQL_INVAL_SCHEMA_NAME = "3F000"; // NOI18N - - // - // SQL92 "40000" Transaction rollback. - // - static final String SQL_TRANS_ROLLBACK = "40000"; // NOI18N - - // - // SQL92 "40001" Transaction rollback; serialization - // failure. - // - static final String SQL_TRANS_SERIAL_FAIL = "40001"; // NOI18N - - // - // SQL92 "40002" Transaction rollback; integrity - // constraint violation. - // - static final String SQL_TRANS_INTEG = "40002"; // NOI18N - - // - // SQL92 "40003" Transaction rollback; statement - // completion unknown. - // - static final String SQL_TRANS_COMP_UNK = "40003"; // NOI18N - - // - // SQL92 "42000" Syntax error or access rule violation. - // - static final String SQL_SYNTAX = "42000"; // NOI18N - - // - // SQL92 "44000" With check option violation. - // - static final String SQL_CHECK_OPT = "44000"; // NOI18N - - // - // SQL92 "HZ " Remote Database Access. - // - static final String SQL_RMT_DB_ACCESS = "HZ "; // NOI18N - - static class CleanableConnectionManagerState implements Runnable { - - /** - * Flag that a shutdown to this ConnectionManager object is pending. - * @serial - */ - private transient boolean shutDownPending; - /** - * True if connection pooling is enabled. - * @serial - */ - private transient boolean pooling; - /** - * Flag that specifies we are using default connection blocking. - * @serial - */ - private transient boolean connectionBlocking; - /** - * Indicates whether this ConnectionManager is properly initialized. - * @serial - */ - private transient boolean initialized; - /** - * The linked list of idle DB connections. - * @serial - */ - private transient DoubleLinkedList freeList; - - public DoubleLinkedList getFreeList() { - return freeList; - } - - public void setFreeList(DoubleLinkedList freeList) { - this.freeList = freeList; - } - - CleanableConnectionManagerState() { - this.freeList = null; - this.pooling = false; - this.shutDownPending = false; - this.connectionBlocking = false; - this.initialized = false; - } - - @Override - public void run() { - try { - this.shutdown(); - } catch (SQLException e) { - // ignoring it. - } - } - - public void shutdown() throws SQLException { - this.shutDownPending = true; - - if (this.pooling) { - ConnectionImpl conn; - this.connectionBlocking = false; - this.pooling = false; - this.initialized = false; - SQLException sqlException = null; - for - ( - conn = (ConnectionImpl) this.freeList.getHead(); - conn != null; - conn = (ConnectionImpl) conn.getNext() - ) { - try { - conn.close(); - } catch (SQLException e) { - if (sqlException == null) { - sqlException = e; - } else { - sqlException.addSuppressed(e); - } - } - } - this.freeList = null; - if (sqlException != null) { - throw sqlException; - } - } - } - - public boolean isShutDownPending() { - return shutDownPending; - } - - public boolean isPooling() { - return pooling; - } - - public void setPooling(boolean pooling) { - this.pooling = pooling; - } - - public boolean isConnectionBlocking() { - return connectionBlocking; - } - - public void setConnectionBlocking(boolean connectionBlocking) { - this.connectionBlocking = connectionBlocking; - } - - public boolean isInitialized() { - return initialized; - } - - public void setInitialized(boolean initialized) { - this.initialized = initialized; - } - - } - - /** - * Default constructor. - * Creates a new connection manager and loads the generic JDBC driver. - * You should typically use one of the other constructors, because - * you cannot change JDBC drivers after the connection manager has - * been created. - */ - public ConnectionManager() { - super(); - this.driverName = null; - this.expandedDriverName = null; - this.url = null; - this.expandedUrl = null; - this.userName = null; - this.expandedUserName = null; - this.password = null; - this.expandedPassword = null; - this.minPool = 0; - this.maxPool = 0; - this.busyList = null; - this.poolSize = 0; - this.xactConnections = null; - this.msWait = 0; - this.msInterval = 0; - this.busyList = null; - this.xactConnections = null; - CleanerFactory.create().register(this, state); - } - - // --------------- Overloaded Constructors ----------------- - - /** - * Creates a new connection manager and loads the named - * JDBC driver. - *

    - * @param driverName name of JDBC driver. - * @exception ClassNotFoundException if the driver cannot be found. - * @exception SQLException if a SQL error is encountered. - */ - public ConnectionManager(String driverName) - throws ClassNotFoundException, SQLException { - this(); - try { - this.setDriverName(driverName); - startUp(); - } catch (SQLException | ClassNotFoundException se) { - throw se; - } - } - - /** - * Creates a new connection manager, loads the named JDBC driver, and - * sets the default database URL for the new connection manager. - *

    - * @param driverName the name of JDBC driver. - * @param url the database URL for the data source. - * @exception ClassNotFoundException if the driver cannot be found. - * @exception SQLException if a SQL error is encountered. - */ - public ConnectionManager(String driverName, String url) - throws ClassNotFoundException, SQLException { - this(); - try { - this.setDriverName(driverName); - this.setURL(url); - startUp(); - } catch (SQLException se) { - throw se; - } - } - - /** - * Creates a new connection manager, loads the named JDBC driver, and - * sets the default database URL and user name for the new - * connection manager. - * @param driverName the name of JDBC driver. - * @param url the default database URL for the data source. - * @param userName the default user name for database connections. - * @exception ClassNotFoundException if the driver cannot be found. - * @exception SQLException if a SQL error is encountered. - */ - public ConnectionManager(String driverName, String url, - String userName) throws ClassNotFoundException, SQLException { - this(); - try { - this.setDriverName(driverName); - this.setURL(url); - this.setUserName(userName); - startUp(); - } catch (SQLException se) { - throw se; - } - } - - /** - * Creates a new connection manager, loads the named JDBC driver, and - * sets the default database URL, user name, and password for the new - * connection manager. - * @param driverName the name of JDBC driver. - * @param url the default database URL for the data source. - * @param userName the default user name for database connections. - * @param password the default password for database connections. - * @exception ClassNotFoundException if the driver cannot be found. - * @exception SQLException if a SQL error is encountered. - */ - public ConnectionManager - ( - String driverName, - String url, - String userName, - char[] password - ) throws ClassNotFoundException, SQLException { - this(); - try { - this.setDriverName(driverName); - this.setURL(url); - this.setUserName(userName); - this.setPassword(password); - startUp(); - } catch (SQLException se) { - throw se; - } - } - - /** - * Creates a new connection manager, loads the named JDBC driver, and sets - * the default database URL, user name, password and minimum and maximum - * connection pool sizes for the new - * connection manager. - *

    If minPool and maxPool are 0, connection pooling is disabled. - * If minPool is greater than 0 and maxPool is greater than or equal - * to minPool, this constructor creates a connection pool containing - * minPool connections. - * @param driverName the name of JDBC driver. - * @param url the default database URL for the data source. - * @param userName the default user name for database connections. - * @param password the default password for database connections. - * @param minPool the default minimum size of the connection pool. - * @param maxPool the default maximum size of the connection pool. - * @exception ClassNotFoundException if the driver cannot be found. - * @exception SQLException if a SQL error is encountered or if the - * specified value of minPool is not less than or equal to the specified - * value of maxPool. - */ - public ConnectionManager - ( - String driverName, - String url, - String userName, - char[] password, - int minPool, - int maxPool - ) throws ClassNotFoundException, SQLException { - this(); - try { - this.setDriverName(driverName); - this.setURL(url); - this.setUserName(userName); - this.setPassword(password); - this.setMinPool(minPool); - this.setMaxPool(maxPool); - startUp(); - } catch (SQLException se) { - throw se; - } - } - - /** - * Creates a new connection manager, loads the named JDBC driver, and defines - * the default values for the database URL, user name, password, minimum and maximum - * connection pool sizes, and the length of time to wait for a - * database connection. - *

    If minPool and maxPool are 0, connection pooling is disabled. - * If minPool is greater than 0 and maxPool is greater than or equal - * to minPool, this constructor creates a connection pool containing - * minPool connections. - *

    If msWait is set to 0, the connection manager does not try again to - * create or return a database connection if the first try fails. - * For any other value, the connection manager waits 1000 milliseconds (ms) - * (1 second) before trying again. - * If the msWait value is less than 1000 ms, the connection manager - * waits 1000 ms before trying. - * The connection manager continues trying until the value specified - * by msWait is met or exceeded. - *

    If you want to set the interval length yourself, you can use - * the ConnectionManager constructor that - * specifies the msInterval parameter or the setInterval - * method. - * @param driverName the name of JDBC driver. - * @param url the default database URL for the data source. - * @param userName the default user name for database connections. - * @param password the default password for database connections. - * @param minPool the default minimum size of the connection pool. - * @param maxPool the default maximum size of the connection pool. - * @param msWait the total number of milliseconds to wait for a successful connection. - * @exception ClassNotFoundException if the driver cannot be found. - * @exception SQLException if a SQL error is encountered or if the - * specified value of minPool is not less than or equal to the specified - * value of maxPool. - */ - public ConnectionManager - ( - String driverName, - String url, - String userName, - char[] password, - int minPool, - int maxPool, - int msWait - ) throws ClassNotFoundException, SQLException { - this(); - try { - this.setDriverName(driverName); - this.setURL(url); - this.setUserName(userName); - this.setPassword(password); - this.setMinPool(minPool); - this.setMaxPool(maxPool); - this.setMsWait(msWait); - this.setMsInterval(DEFAULT_RETRY_INTERVAL); - startUp(); - } catch (SQLException se) { - throw se; - } - } - - /** - * Creates a new connection manager, loads the named JDBC driver, and - * defines the default values for the database URL, user name, password, minimum and maximum - * connection pool sizes, the length of time to wait for a database connection, - * and how frequently to try again to get a database connection. - *

    If minPool and maxPool are 0, connection pooling is disabled. - * If minPool is greater than 0 and maxPool is greater than or equal - * to minPool, this constructor creates a connection pool containing - * minPool connections. - *

    If msWait or msInterval is set to 0, the connection - * manager does not try again to create or return a database connection - * if the first try fails. - *

    For any other values greater than 0, the The connection manager - * continues trying after every specified value for msInterval - * until the value specified by msWait is met or exceeded. - * If the value for msInterval is greater than the value for msWait, - * the connection manager tries again to return a connection once, then - * fails if it could get a connection. - * @param driverName the name of JDBC driver. - * @param url the default database URL for the data source. - * @param userName the default user name for database connections. - * @param password the default password for database connections. - * @param minPool the default minimum size of the connection pool. - * @param maxPool the default maximum size of the connection pool. - * @param msWait the total number of milliseconds to wait to get a connection. - * @param msInterval the number of milliseconds to wait before trying again to get a connection. - * @exception ClassNotFoundException if the driver cannot be found. - * @exception SQLException if a SQL error is encountered or if the - * specified value of minPool is not less than or equal to the specified - * value of maxPool. - */ - - public ConnectionManager - ( - String driverName, - String url, - String userName, - char[] password, - int minPool, - int maxPool, - int msWait, - int msInterval - ) throws ClassNotFoundException, SQLException { - this(); - try { - this.setDriverName(driverName); - this.setURL(url); - this.setUserName(userName); - this.setPassword(password); - this.setMinPool(minPool); - this.setMaxPool(maxPool); - this.setMsWait(msWait); - this.setMsInterval(msInterval); - startUp(); - } catch (SQLException se) { - throw se; - } - } - - // ---------------- Package Private Methods ------------------- - - synchronized boolean isShutdownPending() { - return this.state.isShutDownPending(); - } - - synchronized void insertFreeListTail(ConnectionImpl connection) { - this.state.getFreeList().insertAtTail(connection); - } - - // --------------------- Public Methods ----------------------- - - /** - * Establishes a connection to the default database URL - * using the default user name and password. - *

    If the current connection manager maintains a - * connection pool, this method returns a pooled connection - * instead of establishing a new connection. - * If all pooled connections are in use, and the total wait time (msWait) - * for the connection manager and the retry interval (msInterval) are - * not 0, then the connection manager tries to get a database connection - * after the retry interval. The connection manager continues to - * try until a pooled connection becomes available or - * until the total time equals or exceeds the wait time. - * If the wait time expires before the connection manager returns - * a database connection, this method throws a SQLException - * exception with SQLState = "08006". - * - *

    If the current connection manager is not set to try again for connections - * (the wait time is 0) and no pooled connections are available, this - * method throws a SQLException exception - * with SQLState = "08006". - * - *

    If the current connection manager is being shut down, - * this method throws a SQLException exception with - * SQLState = "08003". - * - * @return A new or pooled database connection. - * @exception SQLException if no database connection is available. - * - */ - public synchronized Connection getConnection() throws SQLException { - if (this.state.isShutDownPending()) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.isdown") // NOI18N - ), - SQL_NO_CONN - ); - throw se; - } - - ConnectionImpl conn = this.checkXact(); - - if (conn != null) { - // We already know about this transaction. - } else if (!this.state.isPooling()) // Get a non-pooled connection. - { - conn = (ConnectionImpl) this.getConnection(this.userName, - this.password); - conn.setPooled(false); - conn.checkXact(); - } else // This is a pooled connection. - { - if (this.state.getFreeList().size <= 0) // Is pool empty? - { - if (this.poolSize < this.maxPool) // Can we expand the pool? - { - try { - this.expandPool(1); // Add new connection to the pool. - } catch (SQLException se) { - throw se; - } - } else if (!this.state.isConnectionBlocking()) // Can't expand the pool. - { - // If not blocking, give up. - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.maxpool") // NOI18N - ), - SQL_INVAL_PARAM_VALUE // 22023 - ); - throw se; - } else // We are blocking, so... - { - try { - this.waitForConnection(); // wait for a connection. - } catch (SQLException se) { - throw se; - } - } - } - conn = (ConnectionImpl) (this.state.getFreeList().removeFromHead()); - if (conn == null) { - // Shouldn't happen. - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.badvalue") // NOI18N - ), - SQL_INVAL_PARAM_VALUE // 22023 - ); - throw se; - } - conn.setPooled(true); - conn.checkXact(); - this.busyList.insertAtTail((Linkable) conn); - } - conn.setFreePending(false); - return ((Connection) conn); - } - - /** - * Establishes a connection to the database at the default database URL using - * the specified user name and password. - * - * @param userName the database user name. - * @param password the database password. - * @return A new database connection. - * @exception SQLException if the connection fails. - */ - public synchronized Connection getConnection - ( - String userName, - char[] password - ) throws SQLException { - boolean debug = logger.isLoggable(Logger.FINEST); - - - if (this.state.isShutDownPending()) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.isdown") // NOI18N - ), - SQL_CONN_FAIL - ); - throw se; - } - - ConnectionImpl conn = this.checkXact(); - - if (conn == null) { - if (freeConn != null) { - // We have one available - use it - if (debug) { - logger.finest("sqlstore.connection.conncectiomgr.found",freeConn); // NOI18N - } - conn = freeConn; - freeConn = null; - } else { - // No connection is available - get new - try { - // By default, a new ConnectionImpl is non-pooled. - conn = new ConnectionImpl - ( - DriverManager.getConnection - ( - this.expandedUrl, - this.expandAttribute(userName), - this.expandAttribute(new String(password)) - ), - this.expandedUrl, - this.expandAttribute(userName), - this - ); - if (debug) { - logger.finest("sqlstore.connection.conncectiomgr.getnewconn",conn); // NOI18N - } - } catch (SQLException se) { - throw se; - } - } - conn.checkXact(); - } else { - if (!conn.getUserName().equals(this.expandAttribute(userName))) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.getconnection.mismatch") // NOI18N - ), - SQL_NO_CONN // 08003 - ); - throw se; - } - } - conn.setFreePending(false); - conn.setPooled(false); - this.busyList.insertAtTail((Linkable) conn); - return ((Connection) conn); - } - - /** - * Establishes a connection to the specified - * database URL using the specified user name and password. - * - * @param url the database URL for the database. - * @param userName the database user name. - * @param password the database password. - * @return A new database connection. - * @exception SQLException if the connection fails. - */ - public synchronized Connection getConnection - ( - String url, - String userName, - String password - ) throws SQLException { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (this.state.isShutDownPending()) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.isdown") // NOI18N - ), - SQL_CONN_FAIL - ); - throw se; - } - - ConnectionImpl conn = this.checkXact(); - - if (conn == null) { - if (freeConn != null) { - // We have one available - use it - if (debug) { - logger.finest("sqlstore.connection.conncectiomgr.found",freeConn); // NOI18N - } - conn = freeConn; - freeConn = null; - } else { - // No connection is available - get new - try { - // By default, a new ConnectionImpl is non-pooled. - conn = new ConnectionImpl - ( - DriverManager.getConnection - ( - this.expandAttribute(url), - this.expandAttribute(userName), - this.expandAttribute(password) - ), - this.expandAttribute(url), - this.expandAttribute(userName), - this - ); - if (debug) { - logger.finest("sqlstore.connection.conncectiomgr.getnewconn",conn); // NOI18N - } - } catch (SQLException se) { - throw se; - } - } - conn.checkXact(); - } else { - if ((!conn.getURL().equals(this.expandAttribute(url))) || - (!conn.getUserName().equals(this.expandAttribute(userName)))) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.getconnection.mismatch") // NOI18N - ), - SQL_NO_CONN // 08003 - ); - throw se; - } - } - conn.setFreePending(false); - conn.setPooled(false); - this.busyList.insertAtTail((Linkable) conn); - return ((Connection) conn); - } - - /** - * Check whether a ConnectionImpl is already associated with - * the transaction on the current thread. - *

    - * @return ConnectionImpl associated with the transaction on - * the current thread; null otherwise. - */ - private synchronized ConnectionImpl checkXact() { - Transaction tran = null; - - /* RESOLVE: Need to reimplement this??? - try - { - // Is this ForteJDBCConnet participating in a transaction? - tran = ThreadContext.transactionContext().getTransaction(); - } - catch (SystemException ex) - { - // There is no transaction. - return null; - } - */ - - // Return Connection associated with this transaction - maybe null? - if (tran == null) - return null; - return (ConnectionImpl) this.xactConnections.get(tran); - } - - /** - * Starts up this ConnectionManager by loading the proper - * JDBC driver class and initializing the pool if necessary. - *

    - * You need to call this method if you are using the ConnectionManager - * as a component, or if you use the default constructor and set the - * attributes via the setXXX methods. - * @exception ClassNotFoundException if the driver cannot be found. - * @exception SQLException if a SQL error is encountered. - */ - public void startUp() throws ClassNotFoundException, SQLException { - if (this.state.isInitialized()) return; - - this.busyList = new DoubleLinkedList(); - this.xactConnections = new Hashtable(); - this.expandedDriverName = this.expandAttribute(this.driverName); - if (this.expandedDriverName == null) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.nulldriver") // NOI18N - ), - SQL_INVALID_VALUE // 21000 - ); - throw se; - } - this.expandedUrl = this.expandAttribute(this.url); - if (this.expandedUrl == null) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.nullurl") // NOI18N - ), - SQL_INVALID_VALUE // 21000 - ); - throw se; - } - this.expandedUserName = this.expandAttribute(this.userName); - if (this.expandedUserName == null) { - this.expandedUserName = ""; // Allow null username. // NOI18N - } - this.expandedPassword = this.expandAttribute(new String(this.password)); - if (this.expandedPassword == null) { - this.expandedPassword = ""; // Allow null password. // NOI18N - } - try { - Class.forName(this.expandedDriverName); - - // Check if connection pooling is requested. - if ((this.minPool > 0) && (this.maxPool >= this.minPool)) { - // Yes, create a connection of minPool size. - this.state.setPooling(true); - this.state.setFreeList(new DoubleLinkedList()); - expandPool(this.minPool); - } else if ((this.minPool == 0) && (this.maxPool == 0)) { - // No, pooling is to be disabled. - this.state.setPooling(false); - } - - } catch (SQLException se) { - throw se; - } catch (ClassNotFoundException e) { - throw e; - } - this.state.setInitialized(true); - } - - /** - * Disconnects all free database connections managed by - * the current connection manager and sets the shutDownPending - * flag to true. - * All busy connections that are not participating - * in a transaction will be closed when a yieldConnection() is - * performed. If a connection is participating in a transaction, - * the connection will be closed after the transaction is commited - * or rolledback. - * - */ - public synchronized void shutDown() throws SQLException { - this.state.shutdown(); - } - - // ----------- Public Methods to get and set properties -------------- - - /** - * Gets the name of the JDBC driver. - * @return Name of the JDBC driver. - * @see #setDriverName - */ - public synchronized String getDriverName() { - return (this.driverName); - } - - - /** - * Sets the name of the JDBC driver. - * @param driverName the name of the JDBC driver. - * @exception SQLException if the driverName is NULL. - * @see #getDriverName - */ - public synchronized void setDriverName(String driverName) throws SQLException { - if (driverName == null) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.nulldriver") // NOI18N - ), - SQL_INVALID_VALUE // 21000 - ); - throw se; - } - this.driverName = driverName; - } - - /** - * Gets the default database URL for the data source. This default is only for - * the current connection manager and was set by the - * ConnectionManager constructor. - * This default is used if you don't specify another database URL - * with a getConnection method. - * To change this default value, use the setURL method. - * @return The name of the default database URL. - * @see #getConnection - * @see #setURL - */ - public synchronized String getURL() { - return (this.url); - } - - /** - * Sets the default database URL for the data source. This default is only - * for the current connection manager. - * To get a connection using a different data source than the default, use the - * getConnection method that specifies a database URL as a parameter. - * @param url URL for this connection manager. - * @exception SQLException if the URL is NULL. - * @see #getConnection - * @see #getURL - */ - public synchronized void setURL(String url) throws SQLException { - if (url == null) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.nullurl") // NOI18N - ), - SQL_INVALID_VALUE // 21000 - ); - throw se; - } - this.url = url; - } - - /** - * Gets the default database user name for the current - * connection manager. - * This default was set by the ConnectionManager - * constructor, and is used if you don't specify another user name - * with a getConnection method. - * To change this default value, use the setUserName method. - * @return The default database user name. - * @see #getConnection - * @see #setUserName - */ - public synchronized String getUserName() { - return (this.userName); - } - - /** - * Sets the default database user name for the current - * connection manager. - * - * @param userName the default user name for the current connection manager. - * @see #getUserName - */ - public synchronized void setUserName(String userName) throws SQLException { - this.userName = userName; - } - - /** - * Gets the default database password for the current - * connection manager. - * This default was set by the ConnectionManager - * constructor, and is used if you don't specify another password - * with a getConnection method. - * To change this default value, use the setPassword method. - * @return The default database password. - * @see #getConnection - * @see #setPassword - */ - public synchronized char[] getPassword() { - return (this.password); - } - - /** - * Sets the default database password for the current connection manager. - * @param password the default password for the current connection manager. - * @see #getPassword - */ - public synchronized void setPassword(char[] password) throws SQLException { - this.password = password; - } - - /** - * Gets the minimum number of pooled connections for the current - * connection manager. - * If this value is 0, the connection manager does not maintain - * a connection pool until a connection is requested using the - * getConnection method with no parameters. - *

    To change the minimum number of pooled connections, use the - * setMinPool method. - * @return The minimum number of pooled connections. - * @see #getConnection - * @see #setMinPool - * - */ - public synchronized int getMinPool() { - return (this.minPool); - } - - /** - * Sets the minimum number of pooled connections for the current - * connection manager. - * The default minimum number of pooled connections is 0, which means that - * no connections are pooled until a pooled connection is requested. - *

    The specified value of the minPool parameter must be: - *

      - *
    • greater than or equal to 0. - *
    • greater than or equal to the current minimum number of pooled - * connections - *
    • less than or equal to the maximum number of pooled connections - *
    - * Otherwise, this method throws a SQLException. - * @param minPool the minimum number of pooled connections. - * @exception SQLException if the connection manager is being shut down or - * if the minPool value is not valid. - * @see #getMaxPool - * @see #getMinPool - * @see #setMaxPool - */ - public synchronized void setMinPool(int minPool) throws SQLException { - if (this.state.isShutDownPending()) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.isdown") // NOI18N - ), - SQL_CONN_FAIL // 08006 - ); - - throw se; - } - if (minPool < 0) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.zero") // NOI18N - ), - SQL_INVAL_PARAM_VALUE // 22023 - ); - throw se; - } - if (minPool < this.minPool) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.badnew"), // NOI18N - Integer.toString(minPool), - Integer.toString(minPool) - ), - SQL_INVAL_PARAM_VALUE // 22023 - ); - throw se; - } - if (this.state.isPooling()) { - if (minPool > maxPool) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.poolsize") // NOI18N - ), - SQL_INVAL_PARAM_VALUE // 22023 - ); - throw se; - } - } - this.minPool = minPool; - } - - /** - * Gets the maximum number of pooled connections for the current - * connection manager. - * If this value is 0, the connection manager does not maintain - * a connection pool. - * When you request a connection with the getConnection - * method, the getConnection - * method always returns a new connection. - *

    To change the maximum number of pooled connections, use the - * setMaxPool method. - * @return The maximum number of pooled connections the current connection - * manager maintains. - * @see #setMaxPool - * - */ - public synchronized int getMaxPool() { - return (this.maxPool); - } - - /** - * Sets the maximum number of pooled connections for the current - * connection manager. - * The default maximum number of pooled connections is 0, which means - * that no connections are pooled. - *

    The specified value of the maxPool parameter must be: - *

      - *
    • greater than or equal to 0. - *
    • greater than or equal to the current maximum number of pooled - * connections - *
    • greater than or equal to the minimum number of pooled connections - *
    - * Otherwise, this method throws a SQLException. - * - * @param maxPool the maximum number of pooled connections. - * @exception SQLException if the connection manager is being shut down or - * if the maxPool value is not valid. - * @see #getMaxPool - * @see #getMinPool - * @see #setMinPool - */ - public synchronized void setMaxPool(int maxPool) throws SQLException { - if (this.state.isShutDownPending()) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.isdown") // NOI18N - ), - SQL_CONN_FAIL // 08006 - ); - throw se; - } - if (maxPool < 0) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.zero"), // NOI18N - Integer.toString(maxPool) - ), - SQL_INVAL_PARAM_VALUE // 22023 - ); - throw se; - } - if (this.state.isPooling()) { - if (maxPool < this.maxPool) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.badnew"), // NOI18N - Integer.toString(maxPool), - Integer.toString(maxPool) - ), - SQL_INVAL_PARAM_VALUE // 22023 - ); - throw se; - } - } - - if (maxPool < this.minPool) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.poolsize") // NOI18N - ), - SQL_INVAL_PARAM_VALUE // 22023 - ); - throw se; - } - this.maxPool = maxPool; - } - - /** - * Gets the amount of time, in milliseconds, the connection manager should spend trying - * to get a pooled connection, which is the amount of time a requester might wait. - *

    This value is only meaningful when you use the getConnection - * to get a pooled connection, which means that no database URL, user name, or - * password is specified. - * @return The wait time in milliseconds. - * @see #getConnection - * @see #setMsInterval - * - */ - public synchronized int getMsWait() { - return (this.msWait); - } - - /** - * Sets the amount of time, in milliseconds, the connection manager should spend trying - * to get a pooled connection, which is the amount of time a requester might wait. - * Setting this value to 0 means that the connection manager does not try again to - * get a database connection if it fails on the first try. - *

    This value is only meaningful when you use the getConnection - * to get a pooled connection, which means that no database URL, user name, or - * password is specified. - *

    The connection manager retries after the set interval until the total wait - * time is equal to or greater than the specified wait time. - * You can determine the total number of tries for a connection based on wait time - * and interval settings using the following formula, - * where msWait is the wait time, msInterval is - * the time between attempts to get a connection: - *

    -     * tries = msWait/msInterval + 2
    -     * 
    - * For example, if msWait is set to 2000 ms and msInterval is set to 1500 ms, then the - * connection manager will try to get a database connection 3 times before throwing - * an exception if it has failed. - *

    If the wait time value is less than the set value for the interval between retries, - * but not zero, the connection manager waits the amount of time specified by the - * interval, tries once, then returns an exception if it still could not get a connection. - * @param msWait the wait time in milliseconds. - * @see #getConnection - * @see #getMsInterval - * @see #getMsWait - * @see #setMsInterval - * - */ - public synchronized void setMsWait(int msWait) throws SQLException { - if (msWait < 0) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.badvalue"), // NOI18N - Integer.toString(msWait) - ), - SQL_INVAL_PARAM_VALUE // 22023 - ); - throw se; - } else if (msWait > 0) { - this.msWait = msWait; - this.state.setConnectionBlocking(true); - } else { - this.msWait = msWait; - this.state.setConnectionBlocking(false); - } - } - - /** - * Gets the amount of time, in milliseconds, - * between the connection manager's attempts to get a pooled connection. - *

    This value is only meaningful when you use the getConnection - * to get a pooled connection, which means that no database URL, user name, or - * password is specified. - * @return The length of the interval between tries in milliseconds. - * @see #getConnection - * @see #setMsInterval - */ - public synchronized int getMsInterval() { - return (this.msInterval); - } - - /** - * Sets the amount of time, in milliseconds, between the connection - * manager's attempts to get a pooled connection. - *

    This value is only meaningful when you use the getConnection - * to get a pooled connection, which means that no database URL, user name, or - * password is specified. - *

    The connection manager retries after the specified interval until the total wait - * time is equal to or greater than the set wait time. - * You can determine the total number of tries for a connection based on wait time - * and interval settings using the following formula, - * where msWait is the wait time, msInterval is - * the time between attempts to get a connection: - *

    -     * tries = msWait/msInterval + 2
    -     * 
    - * For example, if msWait is set to 2000 ms and msInterval is set to 1500 ms, then the - * connection manager will try to get a database connection 3 times before throwing - * an exception if it has failed. - *

    If the wait time value is greater than 0 but less than the - * set value for the interval between retries, - * the connection manager waits the amount of time specified by the - * interval, tries once, then returns an exception if it still could not get a connection. - * @param msInterval the interval between attempts to get a database connection, in milliseconds. - * @see #getConnection - * @see #getMsInterval - * @see #getMsWait - * @see #setMsWait - * - */ - public synchronized void setMsInterval(int msInterval) throws SQLException { - if ((msInterval < 0) || (this.msWait < msInterval)) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.badnew"), // NOI18N - "MsInterval", // NOI18N - "MsWait" // NOI18N - ), - SQL_INVAL_PARAM_VALUE // 22023 - ); - throw se; - } else { - this.msInterval = msInterval; - } - } - - /** - * Returns a string representation of the current ConnectionManager object. - *

    - * @return A String decribing the contents of the current - * ConnectionManager object. - */ - public synchronized String toString() { - /* - TraceLogger lgr = ThreadContext.lgr(); - // Check for trace flag sp:1:1 - boolean dif = ThreadContext.lgr().test - ( - TraceLogger.CONFIGURATION, - TraceLogger.SVC_SP, - SPLogFlags.CFG_DIFFABLE_EXCEPTS, - 1 - ); - String buf = "ConnectManager@\n"; // NOI18N - if (dif == false) - { - buf = buf + " busyList = " + this.busyList + "\n"; // NOI18N - } - if (this.busyList != null) - { - buf = buf + " busyList Object = " + this.busyList.toString(); // NOI18N - } - buf = buf + " connectionBlocking = " + this.connectionBlocking + "\n"; // NOI18N - buf = buf + " driverName = " + this.driverName + "\n"; // NOI18N - if (dif == false) - { - buf = buf + " expandedDriverName = " + this.expandedDriverName + "\n"; // NOI18N - buf = buf + " expandedPassword = " + this.expandedPassword + "\n"; // NOI18N - buf = buf + " expandedUrl = " + this.expandedUrl + "\n"; // NOI18N - buf = buf + " expandedUserName = " + this.expandedUserName + "\n"; // NOI18N - buf = buf + " freeList = " + this.freeList + "\n"; // NOI18N - } - if (this.freeList != null) - { - buf = buf + " freeList Object = " + this.freeList.toString(); // NOI18N - } - if (dif == false) - { - buf = buf + " hashCode = " + this.hashCode() + "\n"; // NOI18N - } - buf = buf + " maxPool = " + this.maxPool + "\n"; // NOI18N - buf = buf + " minPool = " + this.minPool + "\n"; // NOI18N - buf = buf + " msInterval = " + this.msInterval + "\n"; // NOI18N - buf = buf + " msWait = " + this.msWait + "\n"; // NOI18N - buf = buf + " password = " + this.password + "\n"; // NOI18N - buf = buf + " pooling = " + this.pooling + "\n"; // NOI18N - buf = buf + " poolSize = " + this.poolSize + "\n"; // NOI18N - buf = buf + " shutDownPending = " + this.shutDownPending + "\n"; // NOI18N - buf = buf + " url = " + this.url + "\n"; // NOI18N - buf = buf + " userName = " + this.userName + "\n"; // NOI18N - - return buf; - */ - - return null; - } - - // ---------- Private and default (friendly) methods ----------- - - /** - * Associate a Connection with a transaction. - *

    - * @param tran The Transaction's object. - * @param conn The Connection. - */ - synchronized void associateXact(Transaction tran, ConnectionImpl conn) { - if (tran != null) - this.xactConnections.put((Object) tran, (Object) conn); - } - - /** - * Disassociate a Connection with a transaction. - *

    - * @param tran The Transaction's object. - * @param conn The ForteJDBCConnect hosting the transaction. - * @param free The ConnectionImpl should be returned to freePool. - * @ForteInternal - */ - synchronized void disassociateXact - ( - Transaction tran, - ConnectionImpl conn, - boolean free - ) throws SQLException { - ConnectionImpl xactConn = null; - - if (tran != null) - xactConn = (ConnectionImpl) this.xactConnections.remove((Object) tran); - - if (tran == null || xactConn.equals((Object) conn)) { - if (free == true) { - if (!conn.connectionManager.state.isShutDownPending()) { - this.state.getFreeList().insertAtTail((Linkable) conn); - } else { - conn.close(); - } - } - } else { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - //MsgCat.getStr(DbmsMsgCat.DB_ERR_XACT_MISMATCH) - "Internal Error: transaction mismatch" // NOI18N - ), - SQL_TRANS_UNK // 08007 - ); - throw se; - } - } - - /** - * Expand connection pool by connections size. - *

    - * @param connections Number of connections to add to pool. - * @exception SQLException if connection fails. - * @ForteInternal - */ - private synchronized void expandPool(int connections) throws SQLException { - ConnectionImpl conn = null; - - if (this.state.isShutDownPending()) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.isdown") // NOI18N - ), - SQL_CONN_FAIL - ); - throw se; - } - - for (int i = 0; i < connections; i++) { - if (this.poolSize >= this.maxPool) { - // There is no room for a new connection. - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.maxpool") // NOI18N - ), - SQL_CONN_FAIL - ); - throw se; - } else // There is room in the pool, so get a new connection. - { - try { - conn = new ConnectionImpl - ( - DriverManager.getConnection - ( - this.expandedUrl, - this.expandedUserName, - this.expandedPassword - ), - this.expandedUrl, - this.expandedUserName, - this - ); - conn.setPooled(true); - this.state.getFreeList().insertAtTail((Linkable) conn); - this.poolSize++; - } catch (SQLException e) { - throw e; - } - } - } - } - - /** - * Expand an environment variable specified in attributes into their - * corresponding values; e.g, if url = ${MYURL}, expand ${MYURL} into - * its corresponding value. - *

    - * @param envname environment variable name. - * @exceptions SQLException We should come up with a better one. - */ - private String expandAttribute(String envname) throws SQLException { - String attribute = null; - /*RESOLVE: - try - { - attribute = ForteProperties.expandVars(envname); - } - catch (EnvVariableException e) - { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.badvalue"), // NOI18N - envname - ), - SQL_INVAL_PARAM_VALUE - ); - throw se; - } - */ - if (attribute != null) { - return attribute; - } else { - return envname; - } - } - - /** - * Wait for a pool connection. The thread will wait msInterval - * milliseconds between tries to get a connection from the pool. - * If no connection is available after msWait milliseconds, an - * exception is thrown. - *

    - * @exception SQLException if connection fails. - * @ForteInternal - */ - private synchronized void waitForConnection() throws SQLException { - int interval = this.msInterval; - int wait = this.msWait; - int totalTime = 0; - boolean done = false; - Thread t = Thread.currentThread(); - do { - // If there are idle connections in the pool - if (this.state.getFreeList().size > 0) { - done = true; - } else // There are no idle connection in the pool - { - // Can the pool be expanded? - if (this.poolSize < this.maxPool) { - // Yes, try to expand the pool. - try { - expandPool(1); - done = true; - } catch (SQLException se) { - throw se; - } - } else // the pool is at maximum size... - { - // If we have waited long enough, throw an exception. - if (totalTime >= wait) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.conntimeout") // NOI18N - ), - SQL_CONN_FAIL - ); - throw se; - } else // Timeout has not expired, sleep for awhile. - { - try { - this.wait(interval); - } catch (InterruptedException ie) { - SQLException se = new SQLException - ( - StringScanner.createParamString - ( - I18NHelper.getMessage(messages, - "connection.connectionmanager.threaditerupted") // NOI18N - ), - SQL_CONN_FAIL - ); - throw se; - } - } - totalTime += interval; - } - } - } while (!done); - } - - - public void setLoginTimeout(int seconds) - throws SQLException { - loginTimeout = seconds; - } - - public int getLoginTimeout() - throws SQLException { - return loginTimeout; - } - - /** - * Called by ConnectionImpl to save a connection when it is no longer used. - * Previous free connection can be released (closed) when a new one becomes available. - */ - protected synchronized void replaceFreeConnection(ConnectionImpl c) { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (debug) { - logger.finest("sqlstore.connection.conncectiomgr.replacefreeconn",freeConn); // NOI18N - } - if (freeConn != null) { - // Release (close) the old connection. - freeConn.release(); - } - freeConn = c; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/BaseSpecialDBOperation.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/BaseSpecialDBOperation.java deleted file mode 100644 index fc2f342e902..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/BaseSpecialDBOperation.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.database; - -import java.util.List; -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.sql.DatabaseMetaData; - -import com.sun.jdo.api.persistence.support.SpecialDBOperation; - -/** - * BaseSpecialDBOperation is the base class for all classes implementing - * DBSpecificOperation. - * @author Shing Wai Chan - */ -public class BaseSpecialDBOperation implements SpecialDBOperation { - /** - * @inheritDoc - */ - public void initialize(DatabaseMetaData metaData, - String identifier) throws SQLException { - } - - /** - * @inheritDoc - */ - public void defineColumnTypeForResult( - PreparedStatement ps, List columns) throws SQLException { - } - - /** - * @inheritDoc - */ - public void bindFixedCharColumn(PreparedStatement ps, - int index, String strVal, int length) throws SQLException { - ps.setString(index, strVal); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DB2.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DB2.properties deleted file mode 100644 index 75e3db36b29..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DB2.properties +++ /dev/null @@ -1,67 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for DB2 SQL generation -# -# - -#The sql for update locks on DB2 is -#"select ... from ... where ... for read only with rs use and keep exclusive locks" -#Above syntax is supported with DB2 v8.1 fixpak 7 (or the first release of v8.2) -FOR_UPDATE=for read only with rs use and keep exclusive locks -SUPPORTS_UPDATE_LOCK=true - -ANSI_TRIM=false -RTRIM=rtrim -STRING_CONCAT=CONCAT -CHAR_LENGTH=LENGTH -SQRT=SQRT -ABS=ABS -SUBSTRING=SUBSTR -SUBSTRING_FROM=, -SUBSTRING_FOR=, -POSITION=POSSTR -POSITION_SEP=, -POSITION_SEARCH_SOURCE=false -MOD_FUNCTION_NAME=MOD -CONCAT_CAST=VARCHAR -PARAMETER_CAST=true -INLINE_NUMERIC=true diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DBVendorType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DBVendorType.java deleted file mode 100644 index ed5c887a947..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DBVendorType.java +++ /dev/null @@ -1,1151 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.database; - -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.api.persistence.support.JDOFatalUserException; -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.api.persistence.support.SpecialDBOperation; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperSQLStore; -import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; -import org.glassfish.persistence.common.database.PropertyHelper; -import org.glassfish.persistence.common.database.DBVendorTypeHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -import java.io.IOException; -import java.sql.SQLException; -import java.sql.DatabaseMetaData; -import java.util.HashMap; -import java.util.Properties; -import java.util.ResourceBundle; - - - -/** - */ -public class DBVendorType { - /** - * Map from property name to property value. - */ - private HashMap dbMap; - - /** - * Instance of specialDBOperation for this vendor type. Please look at - * newSpecialDBOperationInstance() to find out how this member is - * initialized. - */ - private SpecialDBOperation specialDBOperation; - - private static final SpecialDBOperation DEFAULT_SPECIAL_DB_OPERATION = - new BaseSpecialDBOperation(); - - /** - * VendorType as returned from {@link DBVendorTypeHelper#getDBType(java.lang.String)} - */ - private String vendorType; - - /** - * VendorType as returned from {@link DBVendorTypeHelper#getEnumDBType(java.lang.String)} - */ - private int enumVendorType; - - /** - * The logger - */ - private final static Logger logger; - - /** - * I18N message handler - */ - private final static ResourceBundle messages; - - /** - * Default properties - */ - private static Properties defaultProperties; - - private final static String EXT = ".properties"; // NOI18N - private final static String SPACE = " "; // NOI18N - private final static String NONE = ""; // NOI18N - - private final static String PATH = "com/sun/jdo/spi/persistence/support/sqlstore/database/"; // NOI18N - private final static String PROPERTY_OVERRIDE_FILE = ".tpersistence.properties"; // NOI18N - - - private final static String FOR_UPDATE = "FOR_UPDATE"; // NOI18N - private final static String HOLDLOCK = "HOLDLOCK"; //NOI18N - private final static String SUPPORTS_UPDATE_LOCK = "SUPPORTS_UPDATE_LOCK"; //NOI18N - private final static String SUPPORTS_LOCK_COLUMN_LIST = "SUPPORTS_LOCK_COLUMN_LIST"; //NOI18N - private final static String SUPPORTS_DISTINCT_WITH_UPDATE_LOCK = "SUPPORTS_DISTINCT_WITH_UPDATE_LOCK"; //NOI18N - private final static String NATIVE_OUTER_JOIN = "NATIVE_OUTER_JOIN"; //NOI18N - private final static String LEFT_JOIN = "LEFT_JOIN"; //NOI18N - private final static String LEFT_JOIN_APPEND = "LEFT_JOIN_APPEND"; //NOI18N - private final static String RIGHT_JOIN = "RIGHT_JOIN"; //NOI18N - private final static String RIGHT_JOIN_PRE = "RIGHT_JOIN_PRE"; //NOI18N - private final static String IS_NULL = "IS_NULL"; //NOI18N - private final static String IS_NOT_NULL = "IS_NOT_NULL"; //NOI18N - private final static String ANSI_TRIM = "ANSI_TRIM"; //NOI18N - private final static String RTRIM = "RTRIM"; //NOI18N - private final static String RTRIM_POST = "RTRIM_POST"; //NOI18N - private final static String TABLE_LIST_START = "TABLE_LIST_START"; //NOI18N - private final static String TABLE_LIST_END = "TABLE_LIST_END"; //NOI18N - private final static String STRING_CONCAT = "STRING_CONCAT"; //NOI18N - private final static String QUOTE_CHAR_START = "QUOTE_CHAR_START"; //NOI18N - private final static String QUOTE_CHAR_END = "QUOTE_CHAR_END"; //NOI18N - private final static String QUOTE_SPECIAL_ONLY = "QUOTE_SPECIAL_ONLY"; //NOI18N - private final static String CHAR_LENGTH = "CHAR_LENGTH"; //NOI18N - private final static String SQRT = "SQRT"; //NOI18N - private final static String ABS = "ABS"; //NOI18N - private final static String SUBSTRING = "SUBSTRING"; //NOI18N - private final static String SUBSTRING_FROM = "SUBSTRING_FROM"; //NOI18N - private final static String SUBSTRING_FOR = "SUBSTRING_FOR"; //NOI18N - private final static String POSITION = "POSITION"; //NOI18N - private final static String POSITION_SEP = "POSITION_SEP"; //NOI18N - private final static String POSITION_SEARCH_SOURCE = "POSITION_SEARCH_SOURCE"; //NOI18N - private final static String POSITION_THREE_ARGS = "POSITION_THREE_ARGS"; //NOI18N - private final static String MAP_EMPTY_STRING_TO_NULL = "MAP_EMPTY_STRING_TO_NULL"; //NOI18N - private final static String SPECIAL_DB_OPERATION = "SPECIAL_DB_OPERATION"; //NOI18N - private final static String SUPPORTS_LIKE_ESCAPE = "SUPPORTS_LIKE_ESCAPE"; //NOI18N - private final static String LEFT_LIKE_ESCAPE = "LEFT_LIKE_ESCAPE"; //NOI18N - private final static String RIGHT_LIKE_ESCAPE = "RIGHT_LIKE_ESCAPE"; //NOI18N - private final static String NULL_COMPARISON_FUNCTION_NAME = "NULL_COMPARISON_FUNCTION_NAME"; //NOI18N - private final static String MOD_FUNCTION_NAME = "MOD_FUNCTION_NAME"; //NOI18N - private final static String CONCAT_CAST = "CONCAT_CAST"; //NOI18N - private final static String PARAMETER_CAST = "PARAMETER_CAST"; //NOI18N - private final static String INLINE_NUMERIC = "INLINE_NUMERIC"; //NOI18N - private final static String NOT_EQUAL = "NOT_EQUAL"; //NOI18N - - private static final String[] props = new String[] { FOR_UPDATE, - HOLDLOCK, SUPPORTS_UPDATE_LOCK, SUPPORTS_LOCK_COLUMN_LIST, - SUPPORTS_DISTINCT_WITH_UPDATE_LOCK, - NATIVE_OUTER_JOIN, LEFT_JOIN, LEFT_JOIN_APPEND, RIGHT_JOIN, RIGHT_JOIN_PRE, - IS_NULL, IS_NOT_NULL, ANSI_TRIM, RTRIM, RTRIM_POST, - TABLE_LIST_START, TABLE_LIST_END, - QUOTE_CHAR_START, QUOTE_CHAR_END, QUOTE_SPECIAL_ONLY, - STRING_CONCAT, CHAR_LENGTH, SQRT, ABS, - SUBSTRING, SUBSTRING_FROM, SUBSTRING_FOR, - POSITION, POSITION_SEP, POSITION_SEARCH_SOURCE, POSITION_THREE_ARGS, - MAP_EMPTY_STRING_TO_NULL, SPECIAL_DB_OPERATION, - SUPPORTS_LIKE_ESCAPE, LEFT_LIKE_ESCAPE, RIGHT_LIKE_ESCAPE, - NULL_COMPARISON_FUNCTION_NAME, MOD_FUNCTION_NAME, - CONCAT_CAST, PARAMETER_CAST, INLINE_NUMERIC, NOT_EQUAL - }; - - /** - * Initialize static fields. - */ - static { - logger = LogHelperSQLStore.getLogger(); - messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - DBVendorType.class.getClassLoader()); - - defaultProperties = initializeDefaultProperties(); - } - - /** - * @param databaseMetaData Instance of DatabaseMetaData - * @param identifier identifier of the caller creating a new instance - * of SQLStoreManager. - */ - public DBVendorType(DatabaseMetaData databaseMetaData, String identifier) - throws SQLException { - - String vendorName = databaseMetaData.getDatabaseProductName(); - String vendorType = DBVendorTypeHelper.getDBType(vendorName); - - if (logger.isLoggable()) { - Object[] items = new Object[] {vendorName,vendorType}; - logger.fine("sqlstore.database.dbvendor.vendorname", items); // NOI18N - } - - this.vendorType = vendorType; - enumVendorType = DBVendorTypeHelper.getEnumDBType(vendorType); - dbMap = getDBPropertiesMap(vendorType,vendorName); - specialDBOperation = newSpecialDBOperationInstance((String)dbMap.get(SPECIAL_DB_OPERATION), - databaseMetaData, identifier); - } - - /** - * get properties map for given vendorType and vendorName - */ - private static HashMap getDBPropertiesMap(String vendorType, String vendorName) { - //Initialize returned map to default - HashMap dbHashMap = new HashMap(defaultProperties); - Properties dbProperties = loadDBProperties(vendorType, vendorName); - dbHashMap.putAll(dbProperties); - - return dbHashMap; - } - - /** - * Initialize default properties. - */ - private static Properties initializeDefaultProperties() { - //Load default properties if not already loaded - if (defaultProperties == null) { - // Load default (sql92) Properties - defaultProperties = new Properties(); - try { - loadFromResource(DBVendorTypeHelper.DEFAULT_DB, defaultProperties); - } catch (IOException e) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "sqlstore.database.dbvendor.cantloadDefaultProperties"), // NOI18N - e); - } - } - - return defaultProperties; - } - - /** - * Load properties for database specified by vendorType and vendorName - */ - private static Properties loadDBProperties(String vendorType, String vendorName) { - // Load actual Properties. Even if it is unknown db, - Properties dbProperties = new Properties(); - if (!vendorType.equals(DBVendorTypeHelper.DEFAULT_DB)) { - try { - loadFromResource(vendorType, dbProperties); - } catch (IOException e) { - // else ignore - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.init.default", vendorType); // NOI18N - } - } - } - overrideProperties(dbProperties, vendorName); - return dbProperties; - } - - /** - * Overrides default properties with the ones provided - * by the user - */ - private static void overrideProperties(Properties dbProperties, String vendorName) { - boolean debug = logger.isLoggable(); - - Properties overridingProperties = new Properties(); - try { - PropertyHelper.loadFromFile(overridingProperties, PROPERTY_OVERRIDE_FILE); - } catch (Exception e) { - if (debug) { - logger.fine("sqlstore.database.dbvendor.overrideproperties"); // NOI18N - } - return; // nothing to override - } - - //Prepare a clean vendor name by replacing all ' ' and '/' with underscores. - String cleanVendorName = vendorName.toLowerCase().replace(' ', '_'); - cleanVendorName = cleanVendorName.replace('/', '_'); - - String propertyPrefix = "database." + cleanVendorName + "."; // prefix // NOI18N - - for (int i = 0; i < props.length; i++) { - String o = overridingProperties.getProperty(propertyPrefix + props[i]); - if (o != null) { - if (debug) { - Object[] items = new Object[] {props[i],o}; - logger.fine("sqlstore.database.dbvendor.overrideproperties.with", items); // NOI18N - } - dbProperties.setProperty(props[i], o); - } - } - } - - /** - * loads database properties list from the specified resource - * into specified Properties object. - * @param resourceName Name of resource. - * @param properties Properties object to load - */ - private static void loadFromResource(String resourceName, Properties properties) - throws IOException { - String fullResourceName = PATH + resourceName + EXT; - PropertyHelper.loadFromResource(properties, fullResourceName, DBVendorType.class.getClassLoader()); - } - - /** - * Returns new instance of class specified by specialDBOpClassName. - * The class is required to implement interface SpecialDBOperation. - * If specialDBOpClassName is null or cannot be loaded, then an instance - * of BaseSpecialDBOperation is returned. - * @param specialDBOpClassName Name of a class that implements - * SpecialDBOperation - * @param databaseMetaData DatabaseMetaData for the connection for which - * this SpecialDBOperation is created - * @param identifier Identifier of pmf used to obtain databaseMetaData. - * This can be null in non managed environment. - * @return An instance of SpecialDBOperation specified by specialDBOpClassName. - */ - private SpecialDBOperation newSpecialDBOperationInstance( - final String specialDBOpClassName, DatabaseMetaData databaseMetaData, - String identifier) { - SpecialDBOperation retInstance = null; - if (specialDBOpClassName != null) { - final ClassLoader loader = DBVendorType.class.getClassLoader(); - Class clz = (Class)java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public Object run() { - try { - if (loader != null) { - return Class.forName(specialDBOpClassName, - true, loader); - } else { - return Class.forName(specialDBOpClassName); - } - } catch(Exception ex) { - if (logger.isLoggable()) { - logger.log(Logger.INFO, - "core.configuration.cantloadclass", // NOI18N - specialDBOpClassName); - } - return null; - } - } - } - ); - - if (clz != null) { - try { - retInstance = (SpecialDBOperation)clz.newInstance(); - retInstance.initialize(databaseMetaData, identifier); - } catch(Exception ex) { - throw new JDOFatalUserException( - I18NHelper.getMessage(messages, - "sqlstore.database.dbvendor.cantinstantiateclass", // NOI18N - specialDBOpClassName), ex); - } - } - } - return (retInstance != null)? retInstance : DEFAULT_SPECIAL_DB_OPERATION; - } - - /** - * Returns the string that represents "left join" clause - * for this database - */ - public String getLeftJoin() { - String s = (String)dbMap.get(LEFT_JOIN); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getleftjoin", s); // NOI18N - } - - return SPACE + s; - } - - - /** - * Returns true if this database supports update lock - */ - public boolean isUpdateLockSupported() { - String s = (String)dbMap.get(SUPPORTS_UPDATE_LOCK); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.isupdatelocksupported", b); // NOI18N - } - - return b.booleanValue(); - } - - /** - * Returns true if this database supports update 'of column list' - */ - public boolean isLockColumnListSupported() { - String s = (String)dbMap.get(SUPPORTS_LOCK_COLUMN_LIST); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.islockcolumnlistsupported", b); // NOI18N - } - - return b.booleanValue(); - } - - /** - * Returns true if this database supports distinct clause with update lock - */ - public boolean isDistinctSupportedWithUpdateLock() { - String s = (String)dbMap.get(SUPPORTS_DISTINCT_WITH_UPDATE_LOCK); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.isdistinctupdatelocksupported", b); // NOI18N - } - - return b.booleanValue(); - } - - - /** - * Returns the string that represents "holdlock" clause - * for this database - */ - public String getHoldlock() { - String s = (String)dbMap.get(HOLDLOCK); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getholdlock", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns true if the this database needs native outer join semantics. - */ - public boolean isNativeOuterJoin() { - String s = (String)dbMap.get(NATIVE_OUTER_JOIN); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.isNativeOuterJoin", b); // NOI18N - } - - return b.booleanValue(); - } - - /** - * Returns the string that represents postfix for "left join" clause - * for this database - */ - public String getLeftJoinPost() { - String s = (String)dbMap.get(LEFT_JOIN_APPEND); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getleftjoinpost", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents "right join" clause - * for this database - */ - public String getRightJoin() { - String s = (String)dbMap.get(RIGHT_JOIN); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getrightjoin", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents prefix for "right join" clause - * for this database - */ - public String getRightJoinPre() { - String s = (String)dbMap.get(RIGHT_JOIN_PRE); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getrightjoinipre", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents "is NULL" clause - * for this database - */ - public String getIsNull() { - String s = (String)dbMap.get(IS_NULL); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getisnull", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents "is not NULL" clause - * for this database - */ - public String getIsNotNull() { - String s = (String)dbMap.get(IS_NOT_NULL); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getisnotnull", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns true if this database need ansi style rtrim semantics. - */ - public boolean isAnsiTrim() { - String s = (String)dbMap.get(ANSI_TRIM); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.isAnsiTrim", b); // NOI18N - } - - return b.booleanValue(); - } - - /** - * Returns the string that represents "RTRIM" clause - * for this database - */ - public String getRtrim() { - String s = (String)dbMap.get(RTRIM); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getrtrim", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents postfix for "RTRIM" clause - * for this database - */ - public String getRtrimPost() { - String s = (String)dbMap.get(RTRIM_POST); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getrtrimpost", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents prefix for "Char_length" clause - * for this database - */ - public String getCharLength() { - String s = (String)dbMap.get(CHAR_LENGTH); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getcharlength", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents prefix for "Sqrt" clause - * for this database - */ - public String getSqrt() { - String s = (String)dbMap.get(SQRT); - if (s == null) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - "Sqrt")); - } - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getsqrt", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents prefix for "abs" clause - * for this database - */ - public String getAbs() { - String s = (String)dbMap.get(ABS); - if (s == null) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - "Abs")); - } - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getabs", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents "for update" clause - * for this database - */ - public String getForUpdate() { - String s = (String)dbMap.get(FOR_UPDATE); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getforupdate", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents start of table list - * for this database - */ - public String getTableListStart() { - String s = (String)dbMap.get(TABLE_LIST_START); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.gettableliststart", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents end of table list - * for this database - */ - public String getTableListEnd() { - String s = (String)dbMap.get(TABLE_LIST_END); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.gettablelistend", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents concatenation operation - * for this database - */ - public String getStringConcat() { - String s = (String)dbMap.get(STRING_CONCAT); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getstringconcat", s); // NOI18N - } - - return SPACE + s + SPACE; - } - - /** - * Returns the start identifier quote character for this database, or - * an empty string, if there is none. - */ - public String getQuoteCharStart() { - String s = (String)dbMap.get(QUOTE_CHAR_START); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getquotecharstart", s); // NOI18N - } - - return s; - } - - /** - * Returns the end identifier quote character for this database, or - * an empty string, if there is none. - */ - public String getQuoteCharEnd() { - String s = (String)dbMap.get(QUOTE_CHAR_END); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getquotecharend", s); // NOI18N - } - - return s; - } - - /** - * Returns true if only identifiers with special characters should be quoted - * for this database - */ - public boolean getQuoteSpecialOnly() { - String s = (String)dbMap.get(QUOTE_SPECIAL_ONLY); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getquotespecialonly", b); // NOI18N - } - - return b.booleanValue(); - } - - /** - * Returns the string that represents prefix for "Substring" clause - * for this database - */ - public String getSubstring() { - String s = (String)dbMap.get(SUBSTRING); - if (s == null) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - "substring")); - } - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getsubstring", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents from part for "Substring" clause - * for this database - */ - public String getSubstringFrom() { - String s = (String)dbMap.get(SUBSTRING_FROM); - if (s == null) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - "from part of substring")); - } - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getsubstringfrom", s); // NOI18N - } - - return SPACE + s + SPACE; - } - - /** - * Returns the string that represents for part for "Substr" clause - * for this database - */ - public String getSubstringFor() { - String s = (String)dbMap.get(SUBSTRING_FOR); - if (s == null) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - "for part of substring")); - } - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getsubstringfor", s); // NOI18N - } - - return SPACE + s + SPACE; - } - - /** - * Returns the string that represents "Position" clause - * for this database - */ - public String getPosition() { - String s = (String)dbMap.get(POSITION); - if (s == null) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - "position")); - } - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getposition", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns the string that represents separator part of "Position" clause - * for this database - */ - public String getPositionSep() { - String s = (String)dbMap.get(POSITION_SEP); - if (s == null) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - "in part of position")); - } - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getpositionin", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns true if first position argument is Search String and second - * argument is Source String for this database - */ - public boolean isPositionSearchSource() { - String s = (String)dbMap.get(POSITION_SEARCH_SOURCE); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getpositionsrchsrc", b); // NOI18N - } - - return b.booleanValue(); - } - - /** - * Returns true if position has three argument for this database - */ - public boolean isPositionThreeArgs() { - String s = (String)dbMap.get(POSITION_THREE_ARGS); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getposition3args", b); // NOI18N - } - - return b.booleanValue(); - } - - /** - * Returns true if this database maps empty Strings to NULL - */ - public boolean mapEmptyStringToNull() { - String s = (String)dbMap.get(MAP_EMPTY_STRING_TO_NULL); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.mapemptystrtonull", b); // NOI18N - } - - return b.booleanValue(); - } - - /** - * Returns true if this database supports "LIKE ESCAPE" clause - */ - public boolean supportsLikeEscape() { - String s = (String)dbMap.get(SUPPORTS_LIKE_ESCAPE); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.supportslikeescape", b); // NOI18N - } - - return b.booleanValue(); - } - - /** - * Returns left string that represents "LIKE ESCAPE" clause - * for this database - */ - public String getLeftLikeEscape() { - String s = (String)dbMap.get(LEFT_LIKE_ESCAPE); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getleftlikeescape", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns right string that represents "LIKE ESCAPE" clause - * for this database - */ - public String getRightLikeEscape() { - String s = (String)dbMap.get(RIGHT_LIKE_ESCAPE); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getrightlikeescape", s); // NOI18N - } - - return SPACE + s; - } - - /** - * Returns function name for comparing null value for this database - */ - public String getNullComparisonFunctionName() { - String s = (String)dbMap.get(NULL_COMPARISON_FUNCTION_NAME); - if (s == null) - s = NONE; - else - s = s.trim(); - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getNullComparisonFunctionName", s); // NOI18N - } - return s; - } - - - /** - * Returns true if modulo operation uses function, false otherwise. - */ - public boolean isModOperationUsingFunction() { - return getModFunctionName().length() != 0; - } - - /** - * Returns function name for MOD. - */ - public String getModFunctionName() { - String s = (String)dbMap.get(MOD_FUNCTION_NAME); - if (s == null) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - " % ")); - } - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getModFunctionName", s); // NOI18N - } - - return s; - } - - /** - * Returns cast name that surrounds concat operation. - */ - public String getConcatCast() { - String s = (String)dbMap.get(CONCAT_CAST); - if (s == null) - s = NONE; - else - s = s.trim(); - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getConcatCast", s); // NOI18N - } - return s; - } - - /** - * Returns true if parameters need to be casted for this database - */ - public boolean isParameterCast() { - String s = (String)dbMap.get(PARAMETER_CAST); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.isParameterCast", b); // NOI18N - } - - return b.booleanValue(); - } - - /** - * Returns true if numeric parameters are inlined for this database - */ - public boolean isInlineNumeric() { - String s = (String)dbMap.get(INLINE_NUMERIC); - Boolean b = Boolean.valueOf(s); - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.isInlineNumeric", b); // NOI18N - } - - return b.booleanValue(); - } - - /** - * Returns the string that represents the not-equal-to operator - * for this database. This has been added for Symfoware database - * which does not support "!=" for NOT EQUAL, and will have to use - * "<>". - */ - public String getNotEqual() { - String s = (String)dbMap.get(NOT_EQUAL); - if (s == null) - s = NONE; - - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getnotequal", s); // NOI18N - } - - return s; - } - - - - /** - * Returns database vendor type - */ - public String getName() { - return vendorType; - } - - /** - * Returns a SpecialDBOperation object - */ - public SpecialDBOperation getSpecialDBOperation() { - if (logger.isLoggable()) { - logger.fine("sqlstore.database.dbvendor.getSpecialDBOperation", specialDBOperation); // NOI18N - } - - return specialDBOperation; - } - - /** - * Gets string used as parameter marker. Parameters must be - * casted on DB2/Derby. - * @param type type for which parameter marker is required. - * @return parameter marker for type. - */ - public String getParameterMarker(int type) { - String paramMarker = "?"; // NOI18N - if (isParameterCast()) { - String castType = getCastType(type); - if (castType != null) { - paramMarker = "CAST (? AS " + castType + ")"; // NOI18N - } - } - - return paramMarker; - } - - /** - * Gets string used as parameter marker. Parameters must be - * casted on DB2/Derby. The cast type should match the actual - * JDBC call used to bind the parameter. - * @param type type for which cast type is required. - * @return String used as cast type for input type. - * null if cast type is not required. - */ - private static String getCastType(int type) { - // - //DB2type length(bits) JavaType - //---------------------------------------------- - //SMALLINT 16 boolean, byte, short - //INTEGER 32 int, char(16 bit unsigned) - //BIGINT 64 long - //REAL 32 float - //DOUBLE 64 double - // - String castType = null; - switch(type) { - case FieldTypeEnumeration.BOOLEAN_PRIMITIVE : - case FieldTypeEnumeration.BOOLEAN : - castType = "SMALLINT"; - break; - - // CHARACTER_PRIMITIVE and CHARACTER are bound - // to a PreparedStatement as String. - case FieldTypeEnumeration.CHARACTER_PRIMITIVE : - case FieldTypeEnumeration.CHARACTER : - case FieldTypeEnumeration.STRING : - castType = "VARCHAR(32672)"; //Max length of varchar col on DB2 - break; - - case FieldTypeEnumeration.BYTE_PRIMITIVE : - case FieldTypeEnumeration.BYTE : - castType = "SMALLINT"; - break; - - case FieldTypeEnumeration.SHORT_PRIMITIVE : - case FieldTypeEnumeration.SHORT : - castType = "SMALLINT"; - break; - - case FieldTypeEnumeration.INTEGER_PRIMITIVE : - case FieldTypeEnumeration.INTEGER : - castType = "INTEGER"; - break; - - case FieldTypeEnumeration.LONG_PRIMITIVE : - case FieldTypeEnumeration.LONG : - castType = "BIGINT"; - break; - - case FieldTypeEnumeration.FLOAT_PRIMITIVE : - case FieldTypeEnumeration.FLOAT : - castType = "REAL"; - break; - - case FieldTypeEnumeration.DOUBLE_PRIMITIVE : - case FieldTypeEnumeration.DOUBLE : - castType = "DOUBLE"; - break; - /* Decide on what should this be casted to ? - case FieldTypeEnumeration.ENUMTYPE_BIGDECIMAL : - case FieldTypeEnumeration.ENUMTYPE_BIGINTEGER : - break; - */ - case FieldTypeEnumeration.UTIL_DATE : - case FieldTypeEnumeration.SQL_TIMESTAMP : - castType = "TIMESTAMP"; - break; - - case FieldTypeEnumeration.SQL_DATE : - castType = "DATE"; - break; - - case FieldTypeEnumeration.SQL_TIME : - castType = "TIME"; - break; - - } - return castType; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DERBY.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DERBY.properties deleted file mode 100644 index cc1e1c93721..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/DERBY.properties +++ /dev/null @@ -1,60 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for Derby SQL generation -# -# - -ANSI_TRIM=false -RTRIM=rtrim -CHAR_LENGTH=LENGTH -SQRT=SQRT -ABS=ABS -SUBSTRING=SUBSTR -SUBSTRING_FROM=, -SUBSTRING_FOR=, -POSITION=LOCATE -POSITION_SEP=, -POSITION_THREE_ARGS=true -MOD_FUNCTION_NAME=MOD -CONCAT_CAST=VARCHAR -PARAMETER_CAST=true -INLINE_NUMERIC=true diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/H2.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/H2.properties deleted file mode 100644 index 7a84584f684..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/H2.properties +++ /dev/null @@ -1,43 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) [2020] Payara Foundation and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# The Payara Foundation designates this particular file as subject to the "Classpath" -# exception as provided by the Payara Foundation in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. - -# Support for H2 database differences from SQL92 (in this directory) - -SQRT=SQRT -ABS=ABS diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/INFORMIX.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/INFORMIX.properties deleted file mode 100644 index ca0dc2d2e52..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/INFORMIX.properties +++ /dev/null @@ -1,51 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2004-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for Informix SQL generation -# -ABS=ABS -FOR_UPDATE=for update -MOD_FUNCTION_NAME=MOD -QUOTE_CHAR_START= -QUOTE_CHAR_END= -RTRIM=trim (trailing \" \" from -RTRIM_POST=) -SQRT=SQRT diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/INGRES.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/INGRES.properties deleted file mode 100644 index 54057672c74..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/INGRES.properties +++ /dev/null @@ -1,50 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for INGRES SQL generation -# -ANSI_TRIM=false -RTRIM=rtrim -HOLDLOCK=holdlock -LEFT_JOIN=left join -RIGHT_JOIN=right join -IS_NULL=\= NULL -IS_NOT_NULL=!= NULL diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/MSSQL.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/MSSQL.properties deleted file mode 100644 index ade23ab327b..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/MSSQL.properties +++ /dev/null @@ -1,65 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for MSSQL SQL generation -# -HOLDLOCK=with (updlock) -SUPPORTS_UPDATE_LOCK=true -SUPPORTS_DISTINCT_WITH_UPDATE_LOCK=true -ANSI_TRIM=false -RTRIM=rtrim -STRING_CONCAT=+ -QUOTE_CHAR_START=[ -QUOTE_CHAR_END=] -CHAR_LENGTH=LEN -SQRT=SQRT -ABS=ABS -SUBSTRING_FROM=, -SUBSTRING_FOR=, -POSITION=CHARINDEX -POSITION_SEP=, -POSITION_THREE_ARGS=true -MOD_FUNCTION_NAME= - -# Driver 4v70rel510 does not support these settings. -# Use defaults instead. -# IS_NULL=\= NULL -# IS_NOT_NULL=!= NULL diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/MYSQL.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/MYSQL.properties deleted file mode 100644 index 574f862b5e6..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/MYSQL.properties +++ /dev/null @@ -1,55 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for MySql SQL generation -# -FOR_UPDATE=for update -SUPPORTS_UPDATE_LOCK=true -SQRT=SQRT -ABS=ABS -MOD_FUNCTION_NAME=MOD -ANSI_TRIM=false -RTRIM=RTRIM -POSITION=LOCATE -POSITION_SEP=, -POSITION_THREE_ARGS=true -QUOTE_CHAR_START=` -QUOTE_CHAR_END=` diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/ORACLE.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/ORACLE.properties deleted file mode 100644 index 217f1030b7e..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/ORACLE.properties +++ /dev/null @@ -1,67 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for Oracle SQL generation -# -FOR_UPDATE=for update of -SUPPORTS_UPDATE_LOCK=true -SUPPORTS_LOCK_COLUMN_LIST=true -NATIVE_OUTER_JOIN=true -LEFT_JOIN=\= -LEFT_JOIN_APPEND=(+) -RIGHT_JOIN=(+) \= -ANSI_TRIM=false -RTRIM=rtrim -CHAR_LENGTH=LENGTH -SQRT=SQRT -ABS=ABS -SUBSTRING=SUBSTR -SUBSTRING_FROM=, -SUBSTRING_FOR=, -POSITION=INSTR -POSITION_SEP=, -POSITION_SEARCH_SOURCE=false -POSITION_THREE_ARGS=true -MAP_EMPTY_STRING_TO_NULL=true -#SPECIAL_DB_OPERATION=com.sun.jdo.spi.persistence.support.sqlstore.database.oracle.OracleSpecialDBOperation -LEFT_LIKE_ESCAPE={ -RIGHT_LIKE_ESCAPE=} -MOD_FUNCTION_NAME=MOD diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/POINTBASE.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/POINTBASE.properties deleted file mode 100644 index 81ae34d029e..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/POINTBASE.properties +++ /dev/null @@ -1,49 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for PointBase generation -# -FOR_UPDATE=for update of -SUPPORTS_UPDATE_LOCK=true -SUPPORTS_LOCK_COLUMN_LIST=true -SQRT=SQRT -ABS=ABS -MOD_FUNCTION_NAME=MOD diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/POSTGRES.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/POSTGRES.properties deleted file mode 100644 index c6e43fb2a90..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/POSTGRES.properties +++ /dev/null @@ -1,52 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for PostgreSQL SQL generation -# -FOR_UPDATE=for update -SUPPORTS_UPDATE_LOCK=true -QUOTE_CHAR_START= -QUOTE_CHAR_END= -SQRT=SQRT -ABS=ABS -MOD_FUNCTION_NAME=MOD -ANSI_TRIM=false -RTRIM=rtrim diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SQL92.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SQL92.properties deleted file mode 100644 index 22b348ebff0..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SQL92.properties +++ /dev/null @@ -1,72 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for SQL generation -# -FOR_UPDATE= -HOLDLOCK= -SUPPORTS_UPDATE_LOCK=false -SUPPORTS_DISTINCT_WITH_UPDATE_LOCK=false -LEFT_JOIN=left outer join -LEFT_JOIN_APPEND= -RIGHT_JOIN=right outer join -IS_NULL=is NULL -IS_NOT_NULL=is not NULL -ANSI_TRIM=true -RTRIM=trim(trailing ' ' from -RTRIM_POST=) -TABLE_LIST_START= -TABLE_LIST_END= -STRING_CONCAT=|| -QUOTE_CHAR_START=\" -QUOTE_CHAR_END=\" -QUOTE_SPECIAL_ONLY=false -CHAR_LENGTH=CHAR_LENGTH -SUBSTRING=SUBSTRING -SUBSTRING_FROM=FROM -SUBSTRING_FOR=FOR -POSITION=POSITION -POSITION_SEP=IN -POSITION_SEARCH_SOURCE=true -POSITION_THREE_ARGS=false -SUPPORTS_LIKE_ESCAPE=true -NULL_COMPARISON_FUNCTION_NAME= -NOT_EQUAL=!= diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYBASE.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYBASE.properties deleted file mode 100644 index 424c6f03567..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYBASE.properties +++ /dev/null @@ -1,55 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for Sybase SQL generation -# -HOLDLOCK=holdlock -ANSI_TRIM=false -RTRIM=rtrim -STRING_CONCAT=+ -SQRT=SQRT -ABS=ABS -SUBSTRING_FROM=, -SUBSTRING_FOR=, -POSITION=CHARINDEX -POSITION_SEP=, -NULL_COMPARISON_FUNCTION_NAME=textptr -MOD_FUNCTION_NAME= diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYMFOWARE.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYMFOWARE.properties deleted file mode 100644 index 589bd1c7bf7..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/SYMFOWARE.properties +++ /dev/null @@ -1,49 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# -# default properties for Symfoware V10 generation -# -FOR_UPDATE=for update -SUPPORTS_UPDATE_LOCK=true -ANSI_TRIM=false -ABS=ABS -NOT_EQUAL=<> -SQRT=SQRT diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/oracle/OracleSpecialDBOperation.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/oracle/OracleSpecialDBOperation.java deleted file mode 100644 index 5817b1f777d..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/database/oracle/OracleSpecialDBOperation.java +++ /dev/null @@ -1,406 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * NOTE: This class is not included in the build, - * as the Oracle JDBC driver must be present for - * compilation. A pre-compiled version is checked in - * under - * /release/build/OracleSpecialDBOperation.jar. - * This archive is unpacked for every build, and - * must be updated on every change to this class. - * Please see the ant script under - * /support/sqlstore/build.xml - * for targets to update the pre-compiled version: - * - * - compile-oracle-special: compiles this class - * - clean-oracle-special: cleans OracleSpecialDBOperation classes - * - update-oracle-special: updates /release/build/OracleSpecialDBOperation.jar - * - * Oracle's JDBC driver can be downloaded, e.g. the Oracle - * 10.1.0.4 JDBC driver can be retrieved from the URL - * http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101040.html - * Please specify the Oracle JDBC driver location by defining - * the property 'oracle-jdbc.jar' at the command line when - * calling the ant targets. - * - * The complete instructions to update - * OracleSpecialDBOperation.jar (from ) are: - * - * 1. Compile the cmp module, e.g. - * maven clean build - * 2. Clean the oracle special support classes - * ant -f support/sqlstore/build.xml clean-oracle-special - * 3. Update /release/build/OracleSpecialDBOperation.jar - * ant -Doracle-jdbc.jar=/ojdbc14.jar -f support/sqlstore/build.xml update-oracle-special - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.database.oracle; - -import java.util.List; -import java.util.Arrays; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.sql.PreparedStatement; -import java.sql.DatabaseMetaData; -import java.sql.SQLException; -import java.sql.Connection; -import java.sql.Types; - -import com.sun.jdo.api.persistence.support.FieldMapping; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperSQLStore; -import com.sun.jdo.spi.persistence.support.sqlstore.database.BaseSpecialDBOperation; -import com.sun.jdo.spi.persistence.utility.logging.Logger; - -/** - * OracleSpecialDBOperation is derived class for Oracle specific operation. - * @author Shing Wai Chan - * @author Mitesh Meswani - */ -public class OracleSpecialDBOperation extends BaseSpecialDBOperation { - /** - * The logger - */ - private static Logger logger = LogHelperSQLStore.getLogger(); - - /** - * Interface used to handle driver specific implementation for various - * drivers for Oracle. - */ - private interface DBDriverHandlerFactory { - /** - * Creates an instance of DBDriverHandler to handle driver specific request - * on a PreparedStatement - * @param ps Instance of PreparedStatement - * @return Instance of DBDriverHandler that corresponds to DBDriver used - * to obtain ps - * - */ - DBDriverHandler createDBDriverHandler(PreparedStatement ps); - /** - * Returns true if underlying driver supports defineColumnType() false - * otherwise. - * @return true if underlying driver supports defineColumnType() false - * otherwise. - */ - boolean supportsDefineColumnType(); - } - - /** - * Base implementation for Oracle's driver's handler. - */ - private abstract class OracleDriverHandlerFactory - implements DBDriverHandlerFactory { - public boolean supportsDefineColumnType() { - return true; - } - } - - private DBDriverHandlerFactory dBDriverHandlerFactory; - - - private static final boolean oracle816ClassesAvailable; - private static final boolean oracle817ClassesAvailable; - static { - ClassLoader loader = OracleSpecialDBOperation.class.getClassLoader(); - // OraclePreparedStatement is in the oracle.jdbc.driver package for - // oracle 8.1.6 drivers. - oracle816ClassesAvailable = - loadClass("oracle.jdbc.driver.OraclePreparedStatement", loader) //NOI18N - != null; - - // OraclePreparedStatement is in the oracle.jdbc package for - // oracle 8.1.7 (and higher) drivers. - oracle817ClassesAvailable = - loadClass("oracle.jdbc.OraclePreparedStatement", loader) != null; //NOI18N - } - - /** - * The SQL statement used to get implementation type of PreparedStatement. - */ - private static final String TEST_STATEMENT = "select 1 from dual"; - - public OracleSpecialDBOperation() { - } - - /** - * Initializes driver specific behavior classes by determining the - * characteristics of the jdbc driver used with this DataSource. - */ - public void initialize(DatabaseMetaData metaData, - String identifier) throws SQLException { - Connection con = metaData.getConnection(); - // Since the PreparedStatement obtained is directly through - // con, there is no need to unwrap it. - PreparedStatement testPs = con.prepareStatement(TEST_STATEMENT); -/* - if (oracle817ClassesAvailable && - testPs instanceof oracle.jdbc.OraclePreparedStatement) { - // This DataSource uses a driver version 8.1.7 or higher. - // Oracle drivers for version 8.1.7 and higher define interface - // oracle.jdbc.OraclePreparedStatement. - // OraclePreparedStaement obtained from these drivers implement this - // interface. It is possible that in future Oracle might alter - // implementation class for OraclePreparedStatement. However, they - // should continue implementing this interface. Hence, this - // interface should be preferred to communicate with Oracle drivers. - dBDriverHandlerFactory = new OracleDriverHandlerFactory() { - public DBDriverHandler createDBDriverHandler(PreparedStatement ps) { - return new Oracle817Handler(ps); - } - }; - } else if (oracle816ClassesAvailable && - testPs instanceof oracle.jdbc.driver.OraclePreparedStatement) { - // This DataSource uses a driver version lower than 8.1.7. - // Currently all Oracle drivers return instance of - // oracle.jdbc.driver.OraclePreparedStatement for OraclePreparedStatement. - dBDriverHandlerFactory = new OracleDriverHandlerFactory() { - public DBDriverHandler createDBDriverHandler(PreparedStatement ps) { - return new Oracle816Handler(ps); - } - }; - } else */{ - // This DataSource uses a non oracle driver. - dBDriverHandlerFactory = new DBDriverHandlerFactory() { - public DBDriverHandler createDBDriverHandler(PreparedStatement ps) { - return new NonOracleHandler(ps); - } - - public boolean supportsDefineColumnType() { - return false; - } - }; - // Warn the user Oracle specific features will be disabled. - if(logger.isLoggable(logger.CONFIG)) { - identifier = identifier == null ? - "Connection Factory" : identifier; //NOI18N - logger.log(logger.CONFIG, - "sqlstore.database.oracle.nooracleavailable", //NOI18N - identifier); - } - } - testPs.close(); - } - - /** - * Defines Column type for result for specified ps. - */ - public void defineColumnTypeForResult( - PreparedStatement ps, List columns) throws SQLException { - if(dBDriverHandlerFactory.supportsDefineColumnType()) { - int size = columns.size(); - if (size > 0) { - DBDriverHandler driverHandler = - dBDriverHandlerFactory.createDBDriverHandler(ps); - try { - for (int i = 0; i < size; i++) { - FieldMapping fieldMapping = (FieldMapping) columns.get(i); - int type = fieldMapping.getColumnType(); - if (type == Types.CHAR || type == Types.VARCHAR) { - int len = fieldMapping.getColumnLength(); - if (len > 0) { - driverHandler.defineColumnType(i + 1, type, len); - } else { - driverHandler.defineColumnType(i + 1, type); - } - } else { - driverHandler.defineColumnType(i + 1, type); - } - } - } catch (Exception ex) { - if (logger.isLoggable(Logger.INFO)) { - logger.log(Logger.INFO, - "sqlstore.database.oracle.defineCol", // NOI18N - ex); - } - driverHandler.clearDefines(); - } - } - } - } - - /** - * Implements special handling of char columns on Oracle. - */ - public void bindFixedCharColumn(PreparedStatement stmt, - int index, String strVal, int length) throws SQLException { - DBDriverHandler driverHandler = - dBDriverHandlerFactory.createDBDriverHandler(stmt); - driverHandler.bindFixedCharColumn(index, strVal, length); - } - - /** - * Loads className using loader inside a previleged block. - * Returns null if class is not in classpath. - */ - private static Class loadClass(String className, ClassLoader loader) { - final ClassLoader finalLoader = loader; - final String finalClassName = className; - return (Class)AccessController.doPrivileged( - new PrivilegedAction() { - public Object run() { - try { - if (finalLoader != null) { - return Class.forName(finalClassName, true, - finalLoader); - } else { - return Class.forName(finalClassName); - } - } catch(Exception e) { - return null; - } - } - } - ); - } - - private interface DBDriverHandler { - void defineColumnType(int index, int type) throws SQLException; - void defineColumnType( int index, int type, int length) - throws SQLException; - public void clearDefines() throws SQLException; - public void bindFixedCharColumn(int index, String strVal, int length) - throws SQLException; - } - -// private static class Oracle817Handler implements DBDriverHandler { -// oracle.jdbc.OraclePreparedStatement oraclePreparedStatement; -// -// public Oracle817Handler(Statement ps) { -// oraclePreparedStatement = (oracle.jdbc.OraclePreparedStatement) -// EJBHelper.unwrapStatement(ps); -// } -// public void defineColumnType(int index, int type) throws SQLException { -// oraclePreparedStatement.defineColumnType(index, type); -// } -// public void defineColumnType( int index, int type,int length) -// throws SQLException { -// oraclePreparedStatement.defineColumnType(index, type, length); -// } -// public void clearDefines() throws SQLException { -// oraclePreparedStatement.clearDefines(); -// } -// public void bindFixedCharColumn(int index, String strVal, int length) -// throws SQLException { -// oraclePreparedStatement.setFixedCHAR(index, strVal); -// } -// } -// -// private static class Oracle816Handler implements DBDriverHandler { -// oracle.jdbc.driver.OraclePreparedStatement oraclePreparedStatement; -// -// public Oracle816Handler(Statement ps) { -// oraclePreparedStatement = (oracle.jdbc.driver.OraclePreparedStatement) -// EJBHelper.unwrapStatement(ps); -// } -// public void defineColumnType(int index, int type) throws SQLException { -// oraclePreparedStatement.defineColumnType(index, type); -// } -// public void defineColumnType( int index, int type,int length) -// throws SQLException { -// oraclePreparedStatement.defineColumnType(index, type, length); -// } -// public void clearDefines() throws SQLException { -// oraclePreparedStatement.clearDefines(); -// } -// public void bindFixedCharColumn(int index, String strVal, int length) -// throws SQLException { -// oraclePreparedStatement.setFixedCHAR(index, strVal); -// } -// } - - private static class NonOracleHandler implements DBDriverHandler { - - PreparedStatement ps; - - private NonOracleHandler(PreparedStatement ps) { - this.ps = ps; - } - public void defineColumnType(int index, int type) throws SQLException {} - public void defineColumnType( int index, int type,int length) - throws SQLException {} - public void clearDefines() throws SQLException {} - public void bindFixedCharColumn(int index, String strVal, int length) - throws SQLException { - // We are running on an Oracle database but not using an - // Oracle driver. We need to bind a field mapped to a CHAR column by - // padding the value with spaces to the length specified in the - // dbschema metadata. - ps.setString(index, padSpaceChar(strVal, length) ); - if (logger.isLoggable(Logger.FINE) ) { - logger.log(Logger.FINE, "sqlstore.database.oracle.fixedcharpadded", - strVal, Integer.valueOf(length) ); - } - } - - private static final char SPACE_CHAR = ' '; - private static final int PAD_STEP_LENGTH = 50; - private static final char[] SPACES = new char[PAD_STEP_LENGTH]; - static { - Arrays.fill(SPACES, SPACE_CHAR); - } - /** - * Pads space characters to specified val to increase its length to - * specified targetLength. - * @param val The input value. - * @param targetLength Target length for returned String - * @return val padded with space chars. - */ - private static String padSpaceChar(String val, int targetLength) { - String retVal = val; - int inputLength = val.length(); - - if(inputLength < targetLength) { - StringBuilder buf = new StringBuilder(targetLength); - buf.append(val); - int padsize = targetLength - inputLength; - while (padsize >= PAD_STEP_LENGTH) { - buf.append(SPACES); - padsize -= PAD_STEP_LENGTH; - } - buf.append(SPACES, 0, padsize); - retVal = buf.toString(); - } - return retVal; - } - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/ApplicationLifeCycleEventListener.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/ApplicationLifeCycleEventListener.java deleted file mode 100644 index 73b1000442d..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/ApplicationLifeCycleEventListener.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -/** - * This interface should be implemented by any one interested in receiveing - * lifecycle events. - * @author Mitesh Meswani - */ -public interface ApplicationLifeCycleEventListener { - /** - * This method is called when an application is unloaded. - * @param classLoader classLoader used to load the application - */ - void notifyApplicationUnloaded(ClassLoader classLoader); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/CMPHelper.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/CMPHelper.java deleted file mode 100644 index ef0cc28fb95..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/CMPHelper.java +++ /dev/null @@ -1,364 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * CMPHelper.java - * - * Created on April 25, 2002 - */ -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -import java.util.ResourceBundle; - -import jakarta.ejb.EJBObject; -import jakarta.ejb.EJBLocalObject; -import jakarta.ejb.EJBContext; -import jakarta.ejb.EntityContext; - -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.api.persistence.support.PersistenceManager; -import com.sun.jdo.api.persistence.support.PersistenceManagerFactory; -import com.sun.jdo.api.persistence.support.Transaction; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperPersistenceManager; -import com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerImpl; -import com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerWrapper; - - /** Provides helper methods for CMP support implementation with the - * application server specific information. Calls corresponding methods - * on the registered class which implements ContainerHelper interface. - */ -public class CMPHelper { - - /** I18N message handler */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - CMPHelper.class.getClassLoader()); - - /** The logger */ - private static Logger logger = LogHelperPersistenceManager.getLogger(); - - /** Reference to a class that implements ContainerHelper interface for this - * particular application server. In a non-managed environment the - * will throw JDOFatalInternalException for any method invocation. - */ - private static ContainerHelper containerHelper = null; - - /** This counter is used to populate primary key columns for CMP beans with - * an unknown Primary Key Class. It is a single counter per vm and is - * initialized at the start up time. - */ - private static long counter = System.currentTimeMillis(); - - /** Register class that implements ContainerHelper interface - * Should be called by a static method at class initialization time. - * - * @param h application server specific implemetation of the ContainerHelper - * interface. - */ - public static void registerContainerHelper (ContainerHelper h) { - containerHelper = h; - } - - /** Increments the counter and returns the value. Used to populate primary - * key columns for EJB with an unknown Primary Key Class. - * @return the next value for the counter. - */ - - public synchronized static long getNextId() { - counter++; - return counter; - } - - /** Called in a CMP supported environment to get a Container instance that - * will be passed unchanged to the required methods. In a non-managed environment - * throws JDOFatalInternalException. - * The info argument can be an array of Objects if necessary. - * - * @see getEJBObject(Object, Object) - * @see getEJBLocalObject(Object, Object) - * @see getEJBLocalObject(Object, Object, EJBContext) - * @see removeByEJBLocalObject(EJBLocalObject, Object) - * @see removeByPK(Object, Object) - * @param info Object with the request information that is application server - * specific. - * @return a Container instance as an Object. - * @throws JDOFatalInternalException if ContainerHelper instance is not registered. - */ - public static Object getContainer(Object info) { - return getContainerHelper().getContainer(info); - } - - /** Called in a CMP supported environment to get an EJBObject reference for this - * primary key instance and Container object. - * The Container instance is acquired via #getContainer(Object). - * - * @see getContainer(Object) - * @param pk the primary key instance. - * @param container a Container instance for the request. - * @return a corresponding EJBObject (as an Object) to be used by - * the client. - */ - public static EJBObject getEJBObject(Object pk, Object container) { - return getContainerHelper().getEJBObject(pk, container); - } - - /** Called in a managed environment to get an EJBLocalObject reference for this - * primary key instance and Container object. - * The Container instance is acquired via #getContainer(Object). - * - * @see getContainer(Object) - * @param pk the primary key instance. - * @param container a Container instance for the request. - * @return a corresponding EJBLocalObject (as an Object) to be used by - * the client. - */ - public static EJBLocalObject getEJBLocalObject(Object pk, Object container) { - return getContainerHelper().getEJBLocalObject(pk, container); - } - - /** Called in a managed environment to get an EJBLocalObject reference for this - * primary key instance, Container object, and EJBContext of the calling bean. - * Allows the container to check if this method is called during ejbRemove - * that is part of a cascade-delete remove. - * The Container instance is acquired via #getContainer(Object). - * - * @see getContainer(Object) - * @param pk the primary key instance. - * @param container a Container instance for the request. - * @param context an EJBContext of the calling bean. - * @return a corresponding EJBLocalObject (as an Object) to be used by - * the client. - */ - public static EJBLocalObject getEJBLocalObject(Object pk, Object container, - EJBContext context) { - return getContainerHelper().getEJBLocalObject(pk, container, context); - } - - /** Called in a managed environment to remove a bean for a given EJBLocalObject, - * and Container instance. - * The Container instance is acquired via #getContainer(Object). - * - * @see getContainer(Object) - * @param ejb the EJBLocalObject for the bean to be removed. - * @param container a Container instance for the request. - */ - public static void removeByEJBLocalObject(EJBLocalObject ejb, Object container) { - getContainerHelper().removeByEJBLocalObject(ejb, container); - } - - /** Called in a managed environment to remove a bean for a given primary key - * and Container instance. - * The Container instance is acquired via #getContainer(Object). - * - * @see getContainer(Object) - * @param pk the primary key for the bean to be removed. - * @param container a Container instance for the request. - */ - public static void removeByPK(Object pk, Object container) { - getContainerHelper().removeByPK(pk, container); - } - - /** Called in a managed environment to mark EntityContext of the - * bean as already removed during cascade-delete operation. - * Called by the generated ejbRemove method before calling ejbRemove of the - * related beans (via removeByEJBLocalObject) that are to be cascade-deleted. - * - * The Container instance is acquired via #getContainer(Object). - * - * @param context the EntityContext of the bean beeing removed. - */ - public static void setCascadeDeleteAfterSuperEJBRemove(EntityContext context) { - getContainerHelper().setCascadeDeleteAfterSuperEJBRemove(context); - } - - /** Called in a CMP environment to lookup PersistenceManagerFactory - * referenced by this Container instance as the CMP resource. - * The Container instance is acquired via #getContainer(Object). - * - * @see getContainer(Object) - * @param container a Container instance for the request. - */ - public static PersistenceManagerFactory getPersistenceManagerFactory(Object container) { - return getContainerHelper().getPersistenceManagerFactory(container); - } - - /** Called in a CMP environment to verify that the specified object - * is of a valid local interface type. - * The Container instance is acquired via #getContainer(Object). - * - * @see getContainer(Object) - * @param o the instance to validate. - * @param container a Container instance for the request. - */ - public static void assertValidLocalObject(Object o, Object container) { - getContainerHelper().assertValidLocalObject(o, container); - } - - /** Called in a CMP environment to verify that the specified object - * is of a valid remote interface type. - * The Container instance is acquired via #getContainer(Object). - * - * @see getContainer(Object) - * @param o the instance to validate. - * @param container a Container instance for the request. - */ - public static void assertValidRemoteObject(Object o, Object container) { - getContainerHelper().assertValidRemoteObject(o, container); - } - - /** Called in a CMP supported environment. Notifies the container that - * ejbSelect had been called. - * The Container instance is acquired via #getContainer(Object). - * - * @see getContainer(Object) - * @param container a Container instance for the request. - */ - public static void preSelect(Object container) { - getContainerHelper().preSelect(container); - } - - /** - * Called in CMP environment to get NumericConverter policy referenced - * by this Container instance. - * @see getContainer(Object) - * @param container a Container instance for the request - * @return a valid NumericConverter policy type - */ - public static int getNumericConverterPolicy(Object container) { - return getContainerHelper().getNumericConverterPolicy(container); - } - - /** Called in a unspecified transaction context of a managed environment. - * According to p.364 of EJB 2.0 spec, CMP may need to manage - * its own transaction when its transaction attribute is - * NotSupported, Never, Supports. - * - * @param pm PersistenceManager - */ - public static void beginInternalTransaction(PersistenceManager pm) { - getContainerHelper().beginInternalTransaction(pm); - } - - /** Called in a unspecified transaction context of a managed environment. - * According to p.364 of EJB 2.0 spec, CMP may need to manage - * its own transaction when its transaction attribute is - * NotSupported, Never, Supports. - * - * @param pm PersistenceManager - */ - public static void commitInternalTransaction(PersistenceManager pm) { - getContainerHelper().commitInternalTransaction(pm); - } - - /** Called in a unspecified transaction context of a managed environment. - * According to p.364 of EJB 2.0 spec, CMP may need to manage - * its own transaction when its transaction attribute is - * NotSupported, Never, Supports. - * - * @param pm PersistenceManager - */ - public static void rollbackInternalTransaction(PersistenceManager pm) { - getContainerHelper().rollbackInternalTransaction(pm); - } - - /** Called from read-only beans to suspend current transaction. - * This will guarantee that PersistenceManager is not bound to - * any transaction. - * - * @return jakarta.transaction.Transaction object representing - * the suspended transaction. - * Returns null if the calling thread is not associated - * with a transaction. - */ - public static jakarta.transaction.Transaction suspendCurrentTransaction() { - return getContainerHelper().suspendCurrentTransaction(); - } - - /** Called from read-only beans to resume current transaction. - * This will guarantee that the transaction continues to run after - * read-only bean accessed its PersistenceManager. - * - * @param tx - The jakarta.transaction.Transaction object that - * represents the transaction to be resumed. - */ - public static void resumeCurrentTransaction( - jakarta.transaction.Transaction tx) { - - getContainerHelper().resumeCurrentTransaction(tx); - } - - /** Flush transactional changes to the database. - * @param pm PersistenceManager - */ - public static void flush(PersistenceManager pm) { - Transaction tx = pm.currentTransaction(); - // flush updates to the database if transaction is active. - if (tx != null && tx.isActive()) { - PersistenceManagerWrapper pmw = (PersistenceManagerWrapper)pm; - PersistenceManagerImpl pmi = - (PersistenceManagerImpl)pmw.getPersistenceManager(); - pmi.internalFlush(); - } - } - - /** - * @return true if the container had been registered correctly. - */ - public static boolean isContainerReady() { - return (containerHelper != null); - } - - /** Returns a ContainerHelper instance that can be used to invoke - * the corresponding method. - * @return a ContainerHelper instance registered with this class. - * @throws JDOFatalInternalException if the instance is null. - */ - private static ContainerHelper getContainerHelper() { - if (containerHelper == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "ejb.cmphelper.nonmanaged")); //NOI18N - } - - return containerHelper; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/ContainerHelper.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/ContainerHelper.java deleted file mode 100644 index 3230860e718..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/ContainerHelper.java +++ /dev/null @@ -1,248 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ContainerHelper.java - * - * Created on April 25, 2002 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -import jakarta.ejb.*; - -import com.sun.jdo.api.persistence.support.PersistenceManager; -import com.sun.jdo.api.persistence.support.PersistenceManagerFactory; - - /** Provide an implementation that supports CMP integration with information - * required for such support. This is an interface that a helper class - * implements that is specific to an application server. - *

    This interface is subject to change without notice. In particular, - * as additional - * experience is gained with specific application servers, this interface - * may have methods added and removed, even with patch releases. - * Therefore, this interface should be considered very volatile, and - * any class that implements it might have to be reimplemented whenever - * an upgrade to either the application server or internal code occurs.

    - * The class that implements this interface must register itself - * by a static method at class initialization time. For example, - *
    -     * import com.sun.jdo.spi.persistence.support.sqlstore.ejb.*;
    -     * class blackHerringContainerHelper implements ContainerHelper {
    -     *    static CMPHelper.register(new blackHerringContainerHelper());
    -     *    ...
    -     * }
    -     * 
    - */ - public interface ContainerHelper { - - /** Called in a CMP-supported environment to get a Container helper instance that - * will be passed unchanged to the required methods. In a non-managed environment - * should not be called and throws JDOFatalInternalException. - * The info argument can be an array of Objects if necessary. - * - * @see getEJBObject(Object, Object) - * @see getEJBLocalObject(Object, Object) - * @see getEJBLocalObject(Object, Object, EJBContext) - * @see removeByEJBLocalObject(EJBLocalObject, Object) - * @see removeByPK(Object, Object) - * @param info Object with the request information that is application server - * specific. - * @throws JDOFatalInternalException. - * @return a Container instance as an Object. - */ - Object getContainer(Object info); - - /** Called in a CMP-supported environment to get an EJBObject reference for this - * primary key instance and Container instance. In a non-managed environment - * is not called. - * - * @see getContainer(Object) - * @param pk the primary key instance. - * @param container a Container instance for the request. - * @return a corresponding EJBObject instance (as an Object) to be used by - * the client. - */ - EJBObject getEJBObject(Object pk, Object container); - - /** Called in a CMP-supported environment to get an EJBLocalObject reference for this - * primary key instance and Container instance. In a non-managed environment - * is not called. - * @see getContainer(Object) - * @param pk the primary key instance. - * @param container a Container instance for the request. - * @return a corresponding EJBLocalObject (as an Object) instance to be used - * by the client. - */ - EJBLocalObject getEJBLocalObject(Object pk, Object container); - - /** Called in a CMP-supported environment to get an EJBLocalObject reference for this - * primary key instance, Container object, and EJBContext of the calling bean. - * Allows the container to check if this method is called during ejbRemove - * that is part of a cascade-delete remove. - * - * @see getContainer(Object) - * @param pk the primary key instance. - * @param container a Container instance for the request. - * @param context an EJBContext of the calling bean. - * @return a corresponding EJBLocalObject (as an Object) to be used by - * the client. - */ - EJBLocalObject getEJBLocalObject(Object pk, Object container, - EJBContext context); - - /** Called in a CMP-supported environment to remove a bean for a given - * EJBLocalObject and Container instance. - * - * @see getContainer(Object) - * @param ejb the EJBLocalObject for the bean to be removed. - * @param containerHelper a Container instance for the request. - */ - void removeByEJBLocalObject(EJBLocalObject ejb, Object containerHelper); - - /** Called in a CMP-supported environment to remove a bean for a given primary key - * and Container instance. - * - * @see getContainer(Object) - * @param pk the primary key for the bean to be removed. - * @param container a Container instance for the request. - */ - void removeByPK(Object pk, Object container); - - /** Called in a CMP-supported environment to verify that the specified object - * is of a valid local interface type. - * - * @see getContainer(Object) - * @param o the instance to validate. - * @param container a Container instance for the request. - */ - void assertValidLocalObject(Object o, Object container); - - /** Called in a CMP-supported environment to verify that the specified object - * is of a valid remote interface type. - * - * @see getContainer(Object) - * @param o the instance to validate. - * @param container a Container instance for the request. - */ - void assertValidRemoteObject(Object o, Object container); - - /** Called in a CMP-supported environment to mark EntityContext as - * already removed during cascade-delete operation. - * Called by the generated ejbRemove method before calling ejbRemove of the - * related beans (via removeByEJBLocalObject) that are to be cascade-deleted. - * - * - * @param context the EntityContext of the bean beeing removed. - */ - void setCascadeDeleteAfterSuperEJBRemove(EntityContext context); - - /** Called in a CMP supported environment. Notifies the container that - * ejbSelect had been called. - * - * @see getContainer(Object) - * @param container a Container instance for the request. - */ - void preSelect(Object container); - - /** Called in a CMP environment to lookup PersistenceManagerFactory - * referenced by this Container instance as the CMP resource. - * - * @see getContainer(Object) - * @param container a Container instance for the request. - */ - PersistenceManagerFactory getPersistenceManagerFactory(Object container); - - /** - * Called in CMP environment to get NumericConverter policy referenced - * by this Container instance. - * @see getContainer(Object) - * @param container a Container instance for the request - * @return a valid NumericConverter policy type - */ - int getNumericConverterPolicy(Object container); - - /** Called in a unspecified transaction context of a managed environment. - * According to p.364 of EJB 2.0 spec, CMP may need to manage - * its own transaction when its transaction attribute is - * NotSupported, Never, Supports. - * - * @param pm PersistenceManager - */ - void beginInternalTransaction(PersistenceManager pm); - - /** Called in a unspecified transaction context of a managed environment. - * According to p.364 of EJB 2.0 spec, CMP may need to manage - * its own transaction when its transaction attribute is - * NotSupported, Never, Supports. - * - * @param pm PersistenceManager - */ - void commitInternalTransaction(PersistenceManager pm); - - /** Called in a unspecified transaction context of a managed environment. - * According to p.364 of EJB 2.0 spec, CMP may need to manage - * its own transaction when its transaction attribute is - * NotSupported, Never, Supports. - * - * @param pm PersistenceManager - */ - void rollbackInternalTransaction(PersistenceManager pm); - - /** Called from read-only beans to suspend current transaction. - * This will guarantee that PersistenceManager is not bound to - * any transaction. - * - * @return jakarta.transaction.Transaction object representing - * the suspended transaction. - * Returns null if the calling thread is not associated - * with a transaction. - */ - jakarta.transaction.Transaction suspendCurrentTransaction(); - - /** Called from read-only beans to resume current transaction. - * This will guarantee that the transaction continues to run after - * read-only bean accessed its PersistenceManager. - * - * @param tx - The jakarta.transaction.Transaction object that - * represents the transaction to be resumed. - */ - void resumeCurrentTransaction(jakarta.transaction.Transaction tx); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/DeploymentHelper.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/DeploymentHelper.java deleted file mode 100644 index 669eb180c6d..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/DeploymentHelper.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * DeploymentHelper.java - * - * Created on September 30, 2003. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -import java.sql.Connection; -import java.sql.SQLException; -import java.util.Properties; -import java.util.ResourceBundle; -import javax.sql.DataSource; - -import com.sun.appserv.connectors.internal.api.ConnectorRuntime; -import com.sun.jdo.api.persistence.support.JDOFatalUserException; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperPersistenceManager; -import org.glassfish.common.util.StringHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; - -import org.glassfish.hk2.api.ServiceLocator; -import org.glassfish.internal.api.Globals; -import org.glassfish.persistence.common.DatabaseConstants; -import org.glassfish.persistence.common.I18NHelper; -import org.glassfish.persistence.common.Java2DBProcessorHelper; - -/** - * This class is used for static method invocations to avoid unnecessary - * registration requirements to use EJBHelper and/or CMPHelper from - * deploytool, verifier, or any other stand-alone client. - * - */ -public class DeploymentHelper - { - - /** I18N message handler */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - DeploymentHelper.class.getClassLoader()); - - /** The logger */ - private static Logger logger = LogHelperPersistenceManager.getLogger(); - - /** - * Returns name prefix for DDL files extracted from the info instance by the - * Sun-specific code. - * - * @param info the instance to use for the name generation. - * @return name prefix as String. - */ - public static String getDDLNamePrefix(Object info) { - return Java2DBProcessorHelper.getDDLNamePrefix(info); - } - - /** - * Returns boolean value for the DatabaseConstants.JAVA_TO_DB_FLAG - * flag in this Properties object. - * @param prop a Properties object where flag is located - * @return true if there is a property value that contains "true" as - * the value for the DatabaseConstants.JAVA_TO_DB_FLAG - * key. - */ - public static boolean isJavaToDatabase(Properties prop) { - if (prop != null) { - String value = prop.getProperty(DatabaseConstants.JAVA_TO_DB_FLAG); - if (! StringHelper.isEmpty(value)) { - if (logger.isLoggable(Logger.FINE)) - logger.fine(DatabaseConstants.JAVA_TO_DB_FLAG + " property is set."); // NOI18N - return Boolean.parseBoolean(value); - } - } - return false; - } - - /** Get a Connection from the resource specified by the JNDI name - * of a CMP resource. - * This connection is aquired from a non-transactional resource which does not - * go through transaction enlistment/delistment. - * The deployment processing is required to use only those connections. - * - * @param name JNDI name of a cmp-resource for the connection. - * @return a Connection. - * @throws JDOFatalUserException if name cannot be looked up, or we - * cannot get a connection based on the name. - * @throws SQLException if can not get a Connection. - */ - public static Connection getConnection(String name) throws SQLException { - if (logger.isLoggable(logger.FINE)) { - logger.fine("ejb.DeploymentHelper.getconnection", name); //NOI18N - } - - // TODO - pass Habitat or ConnectorRuntime as an argument. - - ServiceLocator habitat = Globals.getDefaultHabitat(); - DataSource ds = null; - try { - ConnectorRuntime connectorRuntime = habitat.getService(ConnectorRuntime.class); - ds = DataSource.class.cast(connectorRuntime.lookupNonTxResource(name, true)); - } catch (Exception e) { - throw new JDOFatalUserException( - I18NHelper.getMessage(messages, - "ejb.jndi.lookupfailed", name)); //NOI18N - } - return ds.getConnection(); - } - - /** Create a RuntimeException for unexpected instance returned - * from JNDI lookup. - * - * @param name the JNDI name that had been looked up. - * @param value the value returned from the JNDI lookup. - * @throws JDOFatalUserException. - */ - private static void handleUnexpectedInstance(String name, Object value) { - RuntimeException e = new JDOFatalUserException( - I18NHelper.getMessage(messages, - "ejb.jndi.unexpectedinstance", //NOI18N - name, value.getClass().getName())); - logger.severe(e.toString()); - - throw e; - - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/EJBHelper.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/EJBHelper.java deleted file mode 100644 index 6c073a4dbb5..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/EJBHelper.java +++ /dev/null @@ -1,477 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * EJBHelper.java - * - * Created on December 15, 2000, 10:15 AM - */ -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -import java.util.ResourceBundle; - -import jakarta.transaction.*; -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.api.persistence.support.PersistenceManagerFactory; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperPersistenceManager; - - /** Provides helper methods for a Forte for Java implementation with the - * application server specific information in the distributed transaction - * environment. Calls corresponding methods on the registered class which - * implements TransactionHelper interface. - */ -public class EJBHelper { - - /** I18N message handler */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - EJBHelper.class.getClassLoader()); - - /** The logger */ - private static Logger logger = LogHelperPersistenceManager.getLogger(); - - /** Reference to a class that implements TransactionHelper interface for this - * particular application server, or DefaultTransactionHelper for a non-managed - * environment. - */ - static TransactionHelper myHelper = DefaultTransactionHelper.getInstance(); - - /** Register class that implements TransactionHelper interface - * Should be called by a static method at class initialization time. - * If null is passed, sets the reference to the DefaultTransactionHelper. - * - * @param h application server specific implemetation of the TransactionHelper - * interface. - */ - public static void registerTransactionHelper (TransactionHelper h) { - myHelper = h; - if (myHelper == null) { - myHelper = DefaultTransactionHelper.getInstance(); - } - } - - /** Returns Transaction instance that can be used to register synchronizations. - * In a non-managed environment or if there is no transaction associated with - * the current thread, this method returns null. - * - * @see TransactionHelper#getTransaction() - * @return the Transaction instance for the calling thread - */ - public static Transaction getTransaction() { - return myHelper.getTransaction(); - } - - /** Returns the UserTransaction associated with the calling thread. In a - * non-managed environment or if there is no transaction currently in progress, - * this method returns null. - * - * @see TransactionHelper#getUserTransaction() - * @return the UserTransaction instance for the calling thread - */ - public static UserTransaction getUserTransaction() { - return myHelper.getUserTransaction(); - } - - /** Identifies the managed environment behavior. - * @return true if this implementation represents the managed environment. - */ - public static boolean isManaged() { - return myHelper.isManaged(); - } - - /** Translates local representation of the Transaction Status to - * jakarta.transaction.Status value. In a non-managed environment - * returns the value passed to it as an argument. - * - * @see TransactionHelper#translateStatus(int st) - * @param st Status value - * @return the jakarta.transaction.Status value of the status - */ - public static int translateStatus(int st) { - return myHelper.translateStatus(st); - } - - /** Returns the hashed instance of PersistenceManagerFactory - * that compares equal to the newly created instance or the instance - * itself if it is not found. In a non-managed environment returns the value - * passed to it as an argument. - * - * @see TransactionHelper#replaceInternalPersistenceManagerFactory( - * PersistenceManagerFactory pmf) - * @param pmf PersistenceManagerFactory instance to be replaced - * @return the PersistenceManagerFactory known to the runtime - */ - public static PersistenceManagerFactory replaceInternalPersistenceManagerFactory( - PersistenceManagerFactory pmf) { - return myHelper.replaceInternalPersistenceManagerFactory(pmf); - } - - /** Called at the beginning of the Transaction.beforeCompletion() to register - * the component with the app server if necessary. In a non-managed environment - * or if the postInvoke method does not use the value, this method returns null. - * - * @see TransactionHelper#preInvoke(Object component) - * @param component an array of Objects - * @return implementation-specific Object - */ - public static Object preInvoke(Object component) { - return myHelper.preInvoke(component); - } - - /** Called in a managed environment at the end of the Transaction.beforeCompletion() - * to de-register the component with the app server if necessary. - * - * @see TransactionHelper#postInvoke(Object im) - * @param im implementation-specific Object - */ - public static void postInvoke(Object im) { - myHelper.postInvoke(im); - } - - /** Called in a managed environment to register internal Synchronization object - * with the Transaction Synchronization. If available, this registration - * provides special handling of the registered instance, calling it after - * all user defined Synchronization instances. - * - * @see Transaction#registerSynchronization(Synchronization sync) - * @see TransactionHelper#registerSynchronization(Transaction jta, - * Synchronization sync) - * @param jta the Transaction instance for the calling thread. - * @param sync the internal Synchronization instance to register. - * @throws jakarta.transaction.RollbackException. - * @throws jakarta.transaction.SystemException. - */ - public static void registerSynchronization(Transaction jta, - Synchronization sync) throws RollbackException, SystemException { - myHelper.registerSynchronization(jta, sync); - } - - /** Called in a managed environment to get a Connection from the application - * server specific resource. In a non-managed environment throws an Exception - * as it should not be called. - * - * @param resource the application server specific resource. - * @param username the resource username. If null, Connection is requested - * without username and password validation. - * @param password the password for the resource username. - * @return a Connection. - * @throws java.sql.SQLException. - */ - public static java.sql.Connection getConnection(Object resource, - String username, char[] password) throws java.sql.SQLException { - return myHelper.getConnection(resource, username, password); - } - - /** Called in a managed environment to get a non-transactional Connection - * from the application server specific resource. In a non-managed - * environment throws an Exception as it should not be called. - * - * @param resource the application server specific resource. - * @param username the resource username. If null, Connection is requested - * without username and password validation. - * @param password the password for the resource username. - * @return a Connection. - * @throws java.sql.SQLException. - */ - public static java.sql.Connection getNonTransactionalConnection( - Object resource, String username, char[] password) - throws java.sql.SQLException { - - return myHelper.getNonTransactionalConnection(resource, - username, password); - } - - - /** Called in a managed environment to access a TransactionManager - * for managing local transaction boundaries and synchronization - * for local transaction completion. - * - * @return jakarta.transaction.TransactionManager - */ - public static TransactionManager getLocalTransactionManager() { - return myHelper.getLocalTransactionManager(); - } - - /** - * This method unwraps given Statement and return the Statement from - * JDBC driver if possible. - */ - public static java.sql.Statement unwrapStatement(java.sql.Statement stmt) { - return myHelper.unwrapStatement(stmt); - } - - /** - * Set environment specific default values for the given PersistenceManagerFactory. - * - * @param pmf the PersistenceManagerFactory. - */ - public static void setPersistenceManagerFactoryDefaults(PersistenceManagerFactory pmf) { - myHelper.setPersistenceManagerFactoryDefaults(pmf); - } - - /** - * Returns name prefix for DDL files extracted from the info instance by the - * application server specific code. - * - * @param info the instance to use for the name generation. - * @return name prefix as String. - */ - public static String getDDLNamePrefix(Object info) { - return myHelper.getDDLNamePrefix(info); - } - - /** - * Called to register a ApplicationLifeCycleEventListener. If - * ApplicationLifeCycle management is active (typically in managed - * environment), the registered listener will receive a call back - * for lifecycle events. - * - * @param listener An instance of ApplicationLifeCycleEventListener. - */ - public static void registerApplicationLifeCycleEventListener( - ApplicationLifeCycleEventListener listener) { - myHelper.registerApplicationLifeCycleEventListener(listener); - } - /** - * Called to notify a ApplicationLifeCycleEventListeners that an application - * is unloaded. If ApplicationLifeCycle management is active (typically in managed - * environment), the registered listener will handle the notification. - * - * @param cl An instance of the ClassLoader that loaded the application. - */ - public static void notifyApplicationUnloaded(ClassLoader cl) { - myHelper.notifyApplicationUnloaded(cl); - } - - /** - * This is the default implementation of the TransactionHelper interface - * for a non-mananged environment execution. - * In the managed environment the application server specific implementation - * registers itself with the EJBHelper to override this behavior. - */ - private static class DefaultTransactionHelper implements TransactionHelper { - - private static final DefaultTransactionHelper instance = new DefaultTransactionHelper(); - - /** - * Returns instance of this class. - */ - public static DefaultTransactionHelper getInstance() {return instance;} - - /** - * In a non-managed environment there is no transaction associated with - * the current thread, this method returns null. - * - * @see TransactionHelper#getTransaction() - * @return null; - */ - public Transaction getTransaction() { return null; } - - /** - * In a non-managed environment there is no transaction currently in progress, - * this method returns null. - * - * @see TransactionHelper#getUserTransaction() - * @return the null. - */ - public UserTransaction getUserTransaction() { return null; } - - /** Identifies the non-managed environment behavior. - * @return false. - */ - public boolean isManaged() { return false; } - - /** - * In a non-managed environment returns the value passed to it as an argument. - * - * @see TransactionHelper#translateStatus(int st) - * @param local Status value - * @return the status value - */ - public int translateStatus(int st) { return st; } - - /** - * In a non-managed environment returns the value passed to it as an argument. - * - * @see TransactionHelper#replaceInternalPersistenceManagerFactory( - * PersistenceManagerFactory pmf) - * @param pmf PersistenceManagerFactory instance to be replaced - * @return the pmf value. - */ - public PersistenceManagerFactory replaceInternalPersistenceManagerFactory( - PersistenceManagerFactory pmf) { return pmf; } - - /** Called at the beginning of the Transaction.beforeCompletion() to register - * the component with the app server if necessary. - * In a non-managed environment throws JDOFatalInternalException. - * - * @see TransactionHelper#preInvoke(Object component) - * @param component an array of Objects - * @throw JDOFatalInternalException if called. - */ - public Object preInvoke(Object component) { - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "ejb.ejbhelper.nonmanaged", "preInvoke")); //NOI18N - } - - /** Called in a managed environment at the end of the Transaction.beforeCompletion() - * to de-register the component with the app server if necessary. - * In a non-managed environment throws JDOFatalInternalException. - * - * @see TransactionHelper#postInvoke(Object im) - * @param im implementation-specific Object - * @throw JDOFatalInternalException if called. - */ - public void postInvoke(Object im) { - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "ejb.ejbhelper.nonmanaged", "postInvoke")); //NOI18N - } - - /** Called in a managed environment to register internal Synchronization object - * with the Transaction Synchronization. - * In a non-managed environment it is a no-op. - * - * @see Transaction#registerSynchronization(Synchronization sync) - * @see TransactionHelper#registerSynchronization(Transaction jta, - * Synchronization sync) - * @param jta the Transaction instance for the calling thread. - * @param sync the internal Synchronization instance to register. - * @throws jakarta.transaction.RollbackException. - * @throws jakarta.transaction.SystemException. - */ - public void registerSynchronization(Transaction jta, - Synchronization sync) throws RollbackException, SystemException { } - - /** Called in a managed environment to get a Connection from the application - * server specific resource. - * In a non-managed environment throws JDOFatalInternalException. - * - * @param resource the application server specific resource. - * @param username the resource username. If null, Connection is requested - * without username and password validation. - * @param password the password for the resource username. - * @throw JDOFatalInternalException if called. - * @throw java.sql.SQLException. - */ - public java.sql.Connection getConnection(Object resource, - String username, char[] password) throws java.sql.SQLException { - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "ejb.ejbhelper.nonmanaged", "getConnection")); //NOI18N - } - - /** Called in a managed environment to get a non-transactional Connection - * from the application server specific resource. - * In a non-managed environment throws JDOFatalInternalException. - * - * @param resource the application server specific resource. - * @param username the resource username. If null, Connection is requested - * without username and password validation. - * @param password the password for the resource username. - * @throw JDOFatalInternalException if called. - * @throw java.sql.SQLException. - */ - public java.sql.Connection getNonTransactionalConnection( - Object resource, String username, char[] password) - throws java.sql.SQLException { - - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "ejb.ejbhelper.nonmanaged", //NOI18N - "getNonTransactionalConnection")); //NOI18N - } - - /** Called in a managed environment to access a TransactionManager - * for managing local transaction boundaries and synchronization - * for local transaction completion. - * - * @return jakarta.transaction.TransactionManager - */ - public TransactionManager getLocalTransactionManager() { - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "ejb.ejbhelper.nonmanaged", "getLocalTransactionManager")); //NOI18N - } - - /** - * This method unwraps given Statement and return the Statement from - * JDBC driver if possible. - */ - public java.sql.Statement unwrapStatement(java.sql.Statement stmt) { - //Nothing to unwrap in unmanaged environment - return stmt; - } - - /** - * Set environment specific default values for the given PersistenceManagerFactory. - * In a non-managed this is a no-op. - * - * @param pmf the PersistenceManagerFactory. - */ - public void setPersistenceManagerFactoryDefaults(PersistenceManagerFactory pmf) {} - - /** - * Returns name prefix for DDL files extracted from the info instance by the - * application server specific code. - * In a non-managed environment throws JDOFatalInternalException. - * - * @param info the instance to use for the name generation. - * @return name prefix as String. - */ - public String getDDLNamePrefix(Object info) { - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "ejb.ejbhelper.nonmanaged", "getDDLNamePrefix")); //NOI18N - } - - /** - * @inheritDoc - */ - public void registerApplicationLifeCycleEventListener( - ApplicationLifeCycleEventListener listener) { - // The default implementation is no-op - } - - /** - * @inheritDoc - */ - public void notifyApplicationUnloaded(ClassLoader cl) { - // The default implementation is no-op - } - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/JDOEJB11Helper.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/JDOEJB11Helper.java deleted file mode 100644 index 58a6c2d89f8..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/JDOEJB11Helper.java +++ /dev/null @@ -1,211 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOEJB11Helper.java - * - * Created on January 17, 2002 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -import java.util.Collection; -import java.util.Set; - -import jakarta.ejb.EJBObject; - -import com.sun.jdo.api.persistence.support.PersistenceManager; -import com.sun.jdo.spi.persistence.support.sqlstore.utility.NumericConverter; - -/** - * This is the helper interface for conversion of persistence-capable instances - * to and from EJB objects of type: EJBObject, PrimaryKey, and Collections of those. - * This interface is generic for CMP1.1 and CMP2.0. - * - * @author Marina Vatkina - */ -public interface JDOEJB11Helper { - - /** - * Converts persistence-capable instance to EJBObject. - * @param pc the persistence-capable instance to be converted as an Object. - * @param pm the associated instance of PersistenceManager. - * @return instance of EJBObject. - */ - EJBObject convertPCToEJBObject (Object pc, PersistenceManager pm); - - /** - * Converts EJBObject to persistence-capable instance. - * @param o the EJBObject instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @param validate true if the existence of the instance is to be validated. - * @return persistence-capable instance. - * @throws IllegalArgumentException if validate is true and instance does - * not exist in the database or is deleted. - */ - Object convertEJBObjectToPC(EJBObject o, PersistenceManager pm, boolean validate); - - /** - * Converts Collection of persistence-capable instances to a Collection of - * EJBObjects. - * @param pcs the Collection of persistence-capable instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @return Collection of EJBObjects. - */ - Collection convertCollectionPCToEJBObject (Collection pcs, PersistenceManager pm); - - /** - * Converts Collection of persistence-capable instances to a Set of - * EJBObjects. - * @param pcs the Collection of persistence-capable instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @return Set of EJBObjects. - */ - Set convertCollectionPCToEJBObjectSet (Collection pcs, PersistenceManager pm); - - /** - * Converts Collection of EJBObjects to a Collection of - * persistence-capable instances. - * @param coll the Collection of EJBObject instances to be converted. - * @param pm the associated instance of PersistenceManager. - * @param validate true if the existence of the instances is to be validated. - * @return Collection of persistence-capable instance. - * @throws IllegalArgumentException if validate is true and at least one instance does - * not exist in the database or is deleted. - */ - Collection convertCollectionEJBObjectToPC (Collection coll, PersistenceManager pm, - boolean validate); - - /** - * Converts persistence-capable instance to an instance of the PrimaryKey Class. - * @param pc the persistence-capable instance to be converted as an Object. - * @param pm the associated instance of PersistenceManager. - * @return instance of the PrimaryKey Class. - */ - Object convertPCToPrimaryKey (Object pc, PersistenceManager pm); - - /** - * Converts Collection of persistence-capable instances to a Collection of - * the PrimaryKey Class instances. - * @param pcs Collection of the persistence-capable instances. - * @param pm the associated instance of PersistenceManager. - * @return Collection of the PrimaryKey Class instances. - */ - Collection convertCollectionPCToPrimaryKey (Collection pcs, PersistenceManager pm); - - /** - * Converts Object Id of a persistence-capable instance to an instance of the - * PrimaryKey Class. - * @param objectId the Object Id to be converted. - * @return instance of the PrimaryKey Class. - */ - Object convertObjectIdToPrimaryKey (Object objectId); - - /** - * Converts instance of a PrimaryKey Class to an instance of the Object Id of a - * corresponding persistence-capable Class. - * @param key the PrimaryKey instance to be converted. - * @return instance of the Object Id. - */ - Object convertPrimaryKeyToObjectId (Object key); - - /** - * Converts Collection of Object Id's of persistence-capable instances to a - * Collection of of the PrimaryKey instances. - * @param oids Collection of the Object Id to be converted. - * @return Collection of of the PrimaryKey Class instances. - */ - Collection convertCollectionObjectIdToPrimaryKey (Collection oids); - - /** - * Converts Collection of PrimaryKey instances to a Collection of Object Id's - * of a corresponding persistence-capable Class. - * @param key Collection of the PrimaryKey instances to be converted. - * @return Collection of the Object Id's. - */ - Collection convertCollectionPrimaryKeyToObjectId (Collection key); - - /** - * Returns the class object of the corresponding persistence-capable class - * of the concrete bean class. - * @return the pc class object - */ - Class getPCClass (); - - /** - * Serializes serializableObject into a byte array - * @param serializableObject Instance of a Serializable Object - * @return serializableObject serialized into a byte array - */ - byte[] writeSerializableObjectToByteArray(java.io.Serializable serializableObject); - - /** - * Constructs a Serializable object from byteArray. It is expected that - * byteArray was constructed using a previous call to writeSerializableObjectToByteArray - * @param byteArray Array of byte obtained from a call to writeSerializableObjectToByteArray - * @return A Serializable object contructed from byteArray - * @see #writeSerializableObjectToByteArray(Serializable) - */ - java.io.Serializable readSerializableObjectFromByteArray(byte[] byteArray); - - - /** - * Returns Container object associated with the corresponding concrete bean class. - * @return a Container object. - */ - Object getContainer(); - - /** - * Validates that this instance is of the correct implementation class - * of a remote interface type. - * - * @param o the instance to validate. - * @throws IllegalArgumentException if validation fails. - */ - void assertInstanceOfRemoteInterfaceImpl(Object o); - - /** - * Return NumericConverter for conversion from Number to BigDecimal or - * BigInteger for this bean type. It is responsible for passing the - * correct policy value to the NumericConverterFactory. - * @return NumericConverter for given object policy - */ - NumericConverter getNumericConverter(); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/JDOEJB20Helper.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/JDOEJB20Helper.java deleted file mode 100644 index ec86643e44e..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/JDOEJB20Helper.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JDOEJB20Helper.java - * - * Created on January 17, 2002 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -import java.util.Collection; -import java.util.Set; - -import jakarta.ejb.EJBLocalObject; -import jakarta.ejb.EJBContext; - -import com.sun.jdo.api.persistence.support.PersistenceManager; - -/* - * This is the helper interface for conversion of persistence-capable instances - * to and from EJB objects of type EJBLocalObject and Collections of those. - * It extends generic interface JDOEJB11Helper for all other types of conversions. - * - * @author Marina Vatkina - */ -public interface JDOEJB20Helper extends JDOEJB11Helper { - - /** - * Converts persistence-capable instance to EJBLocalObject. - * @param pc the persistence-capable instance to be converted as an Object. - * @param pm the associated instance of PersistenceManager. - * @return instance of EJBLocalObject. - */ - EJBLocalObject convertPCToEJBLocalObject (Object pc, PersistenceManager pm); - - /** - * Converts persistence-capable instance to EJBLocalObject. Returns null if - * the instance is already removed via cascade-delete operation. - * @param pc the persistence-capable instance to be converted as an Object. - * @param pm the associated instance of PersistenceManager. - * @param context the EJBContext of the calling bean. - * @return instance of EJBLocalObject. - */ - EJBLocalObject convertPCToEJBLocalObject (Object pc, PersistenceManager pm, - EJBContext context); - - /** - * Converts EJBLocalObject to persistence-capable instance. - * @param o the EJBLocalObject instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @param validate true if the existence of the instance is to be validated. - * @return persistence-capable instance. - * @throws IllegalArgumentException if validate is true and instance does - * not exist in the database or is deleted. - */ - Object convertEJBLocalObjectToPC(EJBLocalObject o, PersistenceManager pm, - boolean validate); - - /** - * Converts Collection of persistence-capable instances to a Collection of - * EJBLocalObjects. - * @param pcs the Collection of persistence-capable instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @return Collection of EJBLocalObjects. - */ - Collection convertCollectionPCToEJBLocalObject (Collection pcs, PersistenceManager pm); - - /** - * Converts Collection of persistence-capable instances to a Set of - * EJBLocalObjects. - * @param pcs the Collection of persistence-capable instance to be converted. - * @param pm the associated instance of PersistenceManager. - * @return Set of EJBLocalObjects. - */ - Set convertCollectionPCToEJBLocalObjectSet (Collection pcs, PersistenceManager pm); - - /** - * Converts Collection of EJBLocalObjects to a Collection of - * persistence-capable instances. - * @param coll the Collection of EJBLocalObject instances to be converted. - * @param pm the associated instance of PersistenceManager. - * @param validate true if the existence of the instances is to be validated. - * @return Collection of persistence-capable instance. - * @throws IllegalArgumentException if validate is true and at least one instance does - * not exist in the database or is deleted. - */ - Collection convertCollectionEJBLocalObjectToPC (Collection coll, PersistenceManager pm, - boolean validate); - - /** - * Validates that this instance is of the correct implementation class - * of a local interface type. - * - * @param o the instance to validate. - * @throws IllegalArgumentException if validation fails. - */ - void assertInstanceOfLocalInterfaceImpl(Object o); - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/LoggerFactoryiAS.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/LoggerFactoryiAS.java deleted file mode 100644 index 478b6412325..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/LoggerFactoryiAS.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -import java.security.AccessController; -import java.security.PrivilegedAction; - -import com.sun.jdo.spi.persistence.utility.logging.LoggerFactoryJDK14; -import com.sun.jdo.spi.persistence.utility.logging.LoggerJDK14; - - -/** - * - * @author Craig Russell - * @version 1.0 - */ - -public class LoggerFactoryiAS extends LoggerFactoryJDK14 { - - /** The top level of the logger domain for application server. - */ - protected String DOMAIN_ROOT = "javax.enterprise.resource.jdo."; //NOI18N - - /** Creates new LoggerFactory */ - public LoggerFactoryiAS() { - } - - - protected String getDomainRoot() { - return DOMAIN_ROOT; - } - - /** Create a new Logger. Create a logger for the named component. - * The bundle name is passed to allow the implementation - * to properly find and construct the internationalization bundle. - * - * This operation is executed as a privileged action to allow - * permission access for the following operations: - * ServerLogManager.initializeServerLogger - * - * @param absoluteLoggerName the absolute name of this logger - * @param bundleName the fully qualified name of the resource bundle - * @return the logger - */ - protected LoggerJDK14 createLogger (final String absoluteLoggerName, - final String bundleName) { - return (LoggerJDK14) AccessController.doPrivileged ( - new PrivilegedAction () { - public Object run () { - LoggerJDK14 result = new LoggerJDK14(absoluteLoggerName, bundleName); - //Handlers and Formatters will be set in addLogger(). - //ServerLogManager.initializeServerLogger(result); - - return result; - } - } - ); - } - - /** - * This method is a no-op in the Sun ONE Application server. - */ - protected void configureFileHandler(LoggerJDK14 logger) { - } - -} - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/SunContainerHelper.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/SunContainerHelper.java deleted file mode 100644 index e5a04c5abaa..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/SunContainerHelper.java +++ /dev/null @@ -1,458 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SunContainerHelper.java - * - * Created on March 12, 2003. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -import java.util.Iterator; -import java.util.ResourceBundle; - -import jakarta.ejb.EJBObject; -import jakarta.ejb.EJBLocalObject; -import jakarta.ejb.EJBContext; -import jakarta.ejb.EJBException; -import jakarta.ejb.EntityContext; - -import javax.naming.InitialContext; -import javax.naming.NamingException; - -import javax.sql.DataSource; - -import com.sun.enterprise.deployment.*; -import com.sun.appserv.connectors.internal.api.ConnectorsUtil; //TODO Dependency on connector-internal-api needs to be removed - -import org.glassfish.hk2.api.ServiceLocator; -import org.glassfish.internal.data.ApplicationRegistry; -import org.glassfish.internal.data.ApplicationInfo; - -import com.sun.ejb.Container; -import com.sun.ejb.containers.EjbContainerUtil; -import org.glassfish.persistence.ejb.entitybean.container.spi.CascadeDeleteNotifier; - -import com.sun.jdo.api.persistence.support.JDOException; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.api.persistence.support.JDOFatalUserException; -import com.sun.jdo.api.persistence.support.PersistenceManager; -import com.sun.jdo.api.persistence.support.PersistenceManagerFactory; - -import com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperPersistenceManager; -import com.sun.jdo.spi.persistence.support.sqlstore.utility.NumericConverter; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -import org.glassfish.internal.api.Globals; - -/** Implementation for Sun specific CMP and Container interactions as defined -* by the ContainerHelper interface. -* -* IMPORTANT: This class extends SunTransactionHelper class. Any changes to the -* TransactionHelper implementation must be done in the SunTransactionHelper. -* -*/ -public class SunContainerHelper extends SunTransactionHelper implements ContainerHelper - { - - /** I18N message handler */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - SunContainerHelper.class.getClassLoader()); - - /** The logger */ - private static Logger logger = LogHelperPersistenceManager.getLogger(); - - /** Garantees singleton. - * Registers itself during initial load - */ - static { - CMPHelper.registerContainerHelper (new SunContainerHelper()); - } - - /** Default constructor should not be public */ - SunContainerHelper() { } - - /** Get a Container helper instance that will be passed unchanged to the - * required methods. - * This is SunContainerHelper specific code. - * - * The info argument is an Object array that consistes of a class to use - * for the class loader and concreteImpl bean class name. - * @see getEJBObject(Object, Object) - * @see getEJBLocalObject(Object, Object) - * @see getEJBLocalObject(Object, Object, EJBObject) - * @see removeByEJBLocalObject(EJBLocalObject, Object) - * @see removeByPK(Object, Object) - * @param info Object with the request information that is application server - * specific. - * @return a Container helper instance as an Object. - */ - public Object getContainer(Object info) { - - Object[] params = (Object[])info; - String appName = (String)params[0]; - - ServiceLocator habitat = Globals.getDefaultHabitat(); - ApplicationRegistry reg = habitat.getService(ApplicationRegistry.class); - ApplicationInfo appInfo = reg.get(appName); - Application app = appInfo.getMetaData(Application.class); - - EjbDescriptor desc = app.getEjbByName((String)params[1]); - - return habitat.getService(EjbContainerUtil.class).getContainer(desc.getUniqueId()); - } - - /** Get an EJBObject reference for this primary key and Container helper. - * This is SunContainerHelper specific code. - * - * @see getContainer(Object) - * @param pk the primary key instance. - * @param container a Container instance for the request. - * @return a corresponding EJBObject instance to be used by the client. - */ - public EJBObject getEJBObject(Object pk, Object container) { - try { - return ((Container)container).getEJBObjectForPrimaryKey(pk); - } catch (Exception ex) { - throw new JDOFatalInternalException(ex.getMessage(), ex); - } - } - - /** Get an EJBLocalObject reference for this primary key and Container helper. - * This is SunContainerHelper specific code. - * - * @see getContainer(Object) - * @param pk the primary key instance. - * @param container a helper instance for the request. - * @return a corresponding EJBLocalObject instance to be used by the client. - */ - public EJBLocalObject getEJBLocalObject(Object pk, Object container) { - try { - return ((Container)container).getEJBLocalObjectForPrimaryKey(pk); - } catch (Exception ex) { - throw new JDOFatalInternalException(ex.getMessage(), ex); - } - } - - /** Get an EJBLocalObject reference for this primary key and Container helper, - * and EJBContext of the calling bean. - * Allows the container to check if this method is called during ejbRemove - * that is part of a cascade-delete remove. - * This is SunContainerHelper specific code. - * - * @see getContainer(Object) - * @param pk the primary key instance. - * @param container a helper instance for the request. - * @param context an EJBContext of the calling bean. - * @return a corresponding EJBLocalObject instance to be used by the client. - */ - public EJBLocalObject getEJBLocalObject(Object pk, Object container, EJBContext context) { - EJBLocalObject rc = null; - try { - rc = ((Container)container).getEJBLocalObjectForPrimaryKey(pk, context); - } catch (Exception ex) { - processContainerException(ex); - } - - return rc; - } - - /** Remove a bean for a given EJBLocalObject and Container helper. - * This is SunContainerHelper specific code. - * - * @see getContainer(Object) - * @param ejb the EJBLocalObject for the bean to be removed. - * @param container a Container instance for the request. - */ - public void removeByEJBLocalObject(EJBLocalObject ejb, Object container) { - try { - ((Container)container).removeBeanUnchecked(ejb); - } catch (Exception ex) { - processContainerException(ex); - } - } - - /** Remove a bean for a given primary key and Container helper. - * This is SunContainerHelper specific code. - * - * @see getContainer(Object) - * @param pk the primary key for the bean to be removed. - * @param container a Container instance for the request. - */ - public void removeByPK(Object pk, Object container) { - try { - ((Container)container).removeBeanUnchecked(pk); - } catch (Exception ex) { - processContainerException(ex); - } - } - - /** Verify that this instance is of a valid local interface type for - * a given Container helper. - * This is SunContainerHelper specific code. - * - * @see getContainer(Object) - * @param o the instance to be verified. - * @param container a Container instance for the request. - */ - public void assertValidLocalObject(Object o, Object container) { - ((Container)container).assertValidLocalObject(o); - } - - /** Verify that this instance is of a valid remote interface type for - * a given Container helper. - * This is SunContainerHelper specific code. - * - * @see getContainer(Object) - * @param o the instance to be verified. - * @param container a Container instance for the request. - */ - public void assertValidRemoteObject(Object o, Object container) { - ((Container)container).assertValidRemoteObject(o); - } - - /** Mark the bean as already removed during cascade-delete - * operation for a given EntityContext. - * Called by the generated ejbRemove method before calling ejbRemove of the - * related beans (via removeByEJBLocalObject) that are to be cascade-deleted. - * - * This is SunContainerHelper specific code. - * - * @param context the EntityContext of the bean beeing removed. - */ - public void setCascadeDeleteAfterSuperEJBRemove(EntityContext context) { - try { - ((CascadeDeleteNotifier)context).setCascadeDeleteAfterSuperEJBRemove(true); - } catch (Exception ex) { - processContainerException(ex); - } - } - - /** Called in a CMP supported environment. Notifies the container that - * ejbSelect had been called. - * - * This is SunContainerHelper specific code. - * - * @see getContainer(Object) - * @param container a Container instance for the request. - */ - public void preSelect(Object container) { - ((Container)container).preSelect(); - } - - /** Called in a CMP environment to lookup PersistenceManagerFactory - * referenced by this Container instance as the CMP resource. - * - * This is SunContainerHelper specific code. - * - * @see getContainer(Object) - * @param container a Container instance for the request. - */ - public PersistenceManagerFactory getPersistenceManagerFactory(Object container) { - Object rc = null; - PersistenceManagerFactoryImpl pmf = null; - - ResourceReferenceDescriptor cmpResource = ((Container)container).getEjbDescriptor(). - getEjbBundleDescriptor().getCMPResourceReference(); - - String name = cmpResource.getJndiName(); - - try { - InitialContext ic = new InitialContext(); - rc = ic.lookup(name); - - if (rc instanceof PersistenceManagerFactoryImpl) { - pmf = (PersistenceManagerFactoryImpl)rc; - - } else if (rc instanceof javax.sql.DataSource) { - pmf = new PersistenceManagerFactoryImpl(); - pmf.setConnectionFactoryName(ConnectorsUtil.getPMJndiName(name)); - - Iterator it = cmpResource.getProperties(); - if (it != null) { - while (it.hasNext()) { - NameValuePairDescriptor prop = (NameValuePairDescriptor)it.next(); - String n = prop.getName(); - - // Any value that is not "true" is treated as "false": - boolean value = Boolean.valueOf(prop.getValue()).booleanValue(); - pmf.setBooleanProperty(n, value); - - } - } - - } else { - RuntimeException e = new JDOFatalUserException(I18NHelper.getMessage( - messages, "ejb.jndi.unexpectedinstance", //NOI18N - name, rc.getClass().getName())); - logger.severe(e.toString()); - - throw e; - } - } catch (javax.naming.NamingException ex) { - RuntimeException e = new JDOFatalUserException(I18NHelper.getMessage( - messages, "ejb.jndi.lookupfailed", name), ex); //NOI18N - logger.severe(e.toString()); - - throw e; - } - - return pmf; - - } - - /** - * Called in CMP environment to get NumericConverter policy referenced - * by this Container instance. - * @see getContainer(Object) - * @param container a Container instance for the request - * @return a valid NumericConverter policy type - */ - public int getNumericConverterPolicy(Object container) { - return NumericConverter.DEFAULT_POLICY; - } - - /** Called in a unspecified transaction context of a managed environment. - * According to p.364 of EJB 2.0 spec, CMP may need to manage - * its own transaction when its transaction attribute is - * NotSupported, Never, Supports. - * This is a generic implementation. - * Application server may like to overwrite this if necessary. - * - * @param pm PersistenceManager - */ - public void beginInternalTransaction(PersistenceManager pm) { - pm.currentTransaction().begin(); - } - - /** Called in a unspecified transaction context of a managed environment. - * According to p.364 of EJB 2.0 spec, CMP may need to manage - * its own transaction when its transaction attribute is - * NotSupported, Never, Supports. - * This is a generic implementation. - * Application server may like to overwrite this if necessary. - * - * @param pm PersistenceManager - */ - public void commitInternalTransaction(PersistenceManager pm) { - pm.currentTransaction().commit(); - } - - /** Called in a unspecified transaction context of a managed environment. - * According to p.364 of EJB 2.0 spec, CMP may need to manage - * its own transaction when its transaction attribute is - * NotSupported, Never, Supports. - * This is a generic implementation. - * Application server may like to overwrite this if necessary. - * - * @param pm PersistenceManager - */ - public void rollbackInternalTransaction(PersistenceManager pm) { - pm.currentTransaction().rollback(); - } - - /** Called from read-only beans to suspend current transaction. - * This will guarantee that PersistenceManager is not bound to - * any transaction. - * - * @return jakarta.transaction.Transaction object representing - * the suspended transaction. - * Returns null if the calling thread is not associated - * with a transaction. - */ - public jakarta.transaction.Transaction suspendCurrentTransaction() { - jakarta.transaction.Transaction tx = null; - try { - tx = getLocalTransactionManager().suspend(); - } catch (Exception ex) { - processContainerException(ex); - } - - return tx; - } - - /** Called from read-only beans to resume current transaction. - * This will guarantee that the transaction continues to run after - * read-only bean accessed its PersistenceManager. - * - * @param tx - The jakarta.transaction.Transaction object that - * represents the transaction to be resumed. If this object had been - * returned by #suspendCurrentTransaction() call it will be null in - * case calling thread was not associated with a transaction. - */ - public void resumeCurrentTransaction(jakarta.transaction.Transaction tx) { - try { - // Resume only real (i.e. not null transaction) - if (tx != null) { - getLocalTransactionManager().resume(tx); - } - } catch (Exception ex) { - processContainerException(ex); - } - } - - /** - * Checks the caught Exception, and rethrows it if it is - * of one of known types, or converts to an EJBException - * otherwise. - * - * @param ex the Exception to process. - * @throws RuntimeException of the appropriate type. - */ - private void processContainerException(Exception ex) { - if (ex instanceof EJBException) { - throw (EJBException)ex; - - } else if (ex instanceof IllegalArgumentException - || ex instanceof IllegalStateException) { - throw (RuntimeException)ex; - - } else if (ex instanceof JDOException) { - throw (JDOException)ex; - - } else { - throw new EJBException(ex); - } - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/SunTransactionHelper.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/SunTransactionHelper.java deleted file mode 100644 index 180b68c0799..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/SunTransactionHelper.java +++ /dev/null @@ -1,295 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SunTransactionHelper.java - * - * Created on March 13, 2003. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.ResourceBundle; - -import jakarta.transaction.*; -import javax.naming.InitialContext; - - -import com.sun.appserv.jdbc.DataSource; - -import com.sun.appserv.connectors.internal.api.ConnectorsUtil; -import com.sun.appserv.connectors.internal.api.ConnectorRuntime; -import com.sun.appserv.connectors.internal.spi.ConnectorNamingEventListener; -import com.sun.appserv.connectors.internal.spi.ConnectorNamingEvent; -import com.sun.ejb.containers.EjbContainerUtil; - -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.api.persistence.support.PersistenceManagerFactory; -import org.glassfish.persistence.common.I18NHelper; -import org.glassfish.internal.api.Globals; - - -/** Sun specific implementation for TransactionHelper interface. -* This class has a special implementation for -* registerSynchronization, because it uses a special -* object that registers Synchronization instance to be processed after -* any bean's or container beforeCompletion method, but before the corresponding -* afterCompletion. -*/ -public class SunTransactionHelper extends TransactionHelperImpl - implements //ApplicationLoaderEventListener, - ConnectorNamingEventListener - { - - /** I18N message handler */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - SunTransactionHelper.class.getClassLoader()); - - private static List pmf_list; - - private static EjbContainerUtil ejbContainerUtil; - - private final static Object pmf_listSyncObject = new Object(); - - /** - * Array of registered ApplicationLifeCycleEventListener - */ - private final List applicationLifeCycleEventListeners = new ArrayList(); - - - /** Garantees singleton. - * Registers itself during initial load - */ - static { - SunTransactionHelper helper = new SunTransactionHelper(); - EJBHelper.registerTransactionHelper (helper); - // Register with ApplicationLoaderEventNotifier to receive Sun - // Application Server specific lifecycle events. -// ApplicationLoaderEventNotifier.getInstance().addListener(helper); - ConnectorRuntime connectorRuntime = Globals.getDefaultHabitat().getService(ConnectorRuntime.class); - connectorRuntime.registerConnectorNamingEventListener(helper); - - pmf_list = new ArrayList(); - - ejbContainerUtil = Globals.getDefaultHabitat().getService(EjbContainerUtil.class); - } - - /** Default constructor should not be public */ - SunTransactionHelper() { } - - // helper class for looking up the TransactionManager instances. - static private class TransactionManagerFinder { - - // JNDI name of the TransactionManager used for managing local transactions. - static private final String AS_TM_NAME = "java:appserver/TransactionManager"; //NOI18N - - // TransactionManager instance used for managing local transactions. - static TransactionManager appserverTM = null; - - static { - try { - appserverTM = (TransactionManager) (new InitialContext()).lookup(AS_TM_NAME); - } catch (Exception e) { - throw new JDOFatalInternalException(e.getMessage()); - } - } - } - - /** SunTransactionHelper specific code */ - public Transaction getTransaction(){ - try{ - return TransactionManagerFinder.appserverTM.getTransaction(); - } catch (Exception e) { - throw new JDOFatalInternalException(e.getMessage()); - } catch (ExceptionInInitializerError err) { - throw new JDOFatalInternalException(err.getMessage()); - } - } - - /** SunTransactionHelper specific code */ - public UserTransaction getUserTransaction() { - try { - InitialContext ctx = - (InitialContext) Class.forName("javax.naming.InitialContext").newInstance(); //NOI18N - - return (UserTransaction)ctx.lookup("java:comp/UserTransaction"); //NOI18N - } catch (Exception e) { - throw new JDOFatalInternalException(e.getMessage()); - } - } - - /** SunTransactionHelper specific code */ - public void registerSynchronization(Transaction jta, Synchronization sync) - throws RollbackException, SystemException { - ejbContainerUtil.registerPMSync(jta, sync); - } - - /** SunTransactionHelper specific code */ - public PersistenceManagerFactory replaceInternalPersistenceManagerFactory( - PersistenceManagerFactory pmf) { - - synchronized(pmf_listSyncObject) { - int i = pmf_list.indexOf(pmf); - if (i == -1) { - // New PersistenceManagerFactory. Remember it. - pmf_list.add(pmf); - return pmf; - } - - return pmf_list.get(i); - } - } - - /** - * Returns name prefix for DDL files extracted from the info instance by the - * application server specific code. - * SunTransactionHelper specific code. Delegates the actual implementation - * to DeploymentHelper#getDDLNamePrefix(Object); - * - * @param info the instance to use for the name generation. - * @return name prefix as String. - */ - public String getDDLNamePrefix(Object info) { - return DeploymentHelper.getDDLNamePrefix(info); - } - - /** Called in a managed environment to get a Connection from the application - * server specific resource. In a non-managed environment returns null as - * it should not be called. - * SunTransactionHelper specific code uses com.sun.appserv.jdbc.DataSource - * to get a Connection. - * - * @param resource the application server specific resource. - * @param username the resource username. If null, Connection is requested - * without username and password validation. - * @param password the password for the resource username. - * @return a Connection. - * @throws java.sql.SQLException - */ - public java.sql.Connection getNonTransactionalConnection( - Object resource, String username, char[] password) - throws java.sql.SQLException { - - java.sql.Connection rc = null; - // resource is expected to be com.sun.appserv.jdbc.DataSource - if (resource instanceof DataSource) { - DataSource ds = (DataSource)resource; - if (username == null) { - rc = ds.getNonTxConnection(); - } else { - rc = ds.getNonTxConnection(username, new String(password)); - } - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "ejb.SunTransactionHelper.wrongdatasourcetype", //NOI18N - resource.getClass().getName())); - } - return rc; - } - - /** SunTransactionHelper specific code */ - public TransactionManager getLocalTransactionManager() { - try { - return TransactionManagerFinder.appserverTM; - } catch (ExceptionInInitializerError err) { - throw new JDOFatalInternalException(err.getMessage()); - } - } - - /** - * @inheritDoc - */ - public void registerApplicationLifeCycleEventListener( - ApplicationLifeCycleEventListener listener) { - synchronized(applicationLifeCycleEventListeners) { - applicationLifeCycleEventListeners.add(listener); - } - } - //-------------------ApplicationLifeCycleEventListener Methods --------------// - - /** - * @inheritDoc - */ - public void notifyApplicationUnloaded(ClassLoader classLoader) { - for (Iterator iterator = applicationLifeCycleEventListeners.iterator(); - iterator.hasNext();) { - ApplicationLifeCycleEventListener applicationLifeCycleEventListener = - (ApplicationLifeCycleEventListener) iterator.next(); - applicationLifeCycleEventListener.notifyApplicationUnloaded(classLoader); - } - } - -// /** -// * @inheritDoc -// */ -// public void handleEjbContainerEvent(EjbContainerEvent event) { -// //Ignore EjbContainerEvents -// } -// - /** - * @inheritDoc - */ - public void connectorNamingEventPerformed(ConnectorNamingEvent event){ - if(event.getEventType() == ConnectorNamingEvent.EVENT_OBJECT_REBIND){ - String dsName = ConnectorsUtil.getPMJndiName(event.getJndiName()); - cleanUpResources(dsName); - } // Ignore all other events. - } - - /** - * Removes all entries that correspond to the same connection factory name. - * @param name the connection factory name. - */ - private void cleanUpResources(String name) { - synchronized(pmf_listSyncObject) { - for (Iterator it = pmf_list.iterator(); it.hasNext(); ) { - PersistenceManagerFactory pmf = (PersistenceManagerFactory)it.next(); - if (pmf.getConnectionFactoryName().equals(name)) { - it.remove(); - } - } - } - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/TransactionHelper.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/TransactionHelper.java deleted file mode 100644 index 9bc41cec71f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/TransactionHelper.java +++ /dev/null @@ -1,250 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * TransactionHelper.java - * - * Created on December 15, 2000, 10:06 AM - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -import jakarta.transaction.*; - -import com.sun.jdo.api.persistence.support.PersistenceManagerFactory; - - /** Provide a Forte for Java implementation with information about the distributed - * transaction environment. This is an interface that a helper class - * implements that is specific to a managed environment. - *

    This interface is specific to Forte for Java, version 3.0, - * and is subject to change without notice. In particular, as additional - * experience is gained with specific application servers, this interface - * may have methods added and removed, even with patch releases. - * Therefore, this interface should be considered very volatile, and - * any class that implements it might have to be reimplemented whenever - * an upgrade to either the application server or Forte for Java occurs.

    - * The class that implements this interface must register itself - * by a static method at class initialization time. For example, - *
    -     * import com.sun.jdo.spi.persistence.support.sqlstore.ejb.*;
    -     * class blackHerringTransactionHelper implements TransactionHelper {
    -     *    static EJBHelper.register(new blackHerringTransactionHelper());
    -     *    ...
    -     * }
    -     * 
    - */ - public interface TransactionHelper { - - /** Returns the UserTransaction associated with the calling thread. If there - * is no transaction currently in progress, this method returns null. - * @return the UserTransaction instance for the calling thread - */ - UserTransaction getUserTransaction(); - - /** Identify the Transaction context for the calling thread, and return a - * Transaction instance that can be used to register synchronizations, - * and used as the key for HashMaps. The returned Transaction must implement - * equals() and hashCode() based on the global transaction id. - *

    All Transaction instances returned by this method called in the same - * Transaction context must compare equal and return the same hashCode. - * The Transaction instance returned will be held as the key to an - * internal HashMap until the Transaction completes. If there is no transaction - * associated with the current thread, this method returns null. - * @return the Transaction instance for the calling thread - */ - Transaction getTransaction(); - - /** Translate local representation of the Transaction Status to - * jakarta.transaction.Status value if necessary. Otherwise this method - * should return the value passed to it as an argument. - *

    This method is used during afterCompletion callbacks to translate - * the parameter value passed by the application server to the - * afterCompletion method. The return value must be one of: - * jakarta.transaction.Status.STATUS_COMMITTED or - * jakarta.transaction.Status.STATUS_ROLLED_BACK. - * @param st local Status value - * @return the jakarta.transaction.Status value of the status - */ - int translateStatus(int st); - - /** Replace newly created instance of PersistenceManagerFactory - * with the hashed one if it exists. The replacement is necessary only if - * the JNDI lookup always returns a new instance. Otherwise this method - * returns the object passed to it as an argument. - * - * PersistenceManagerFactory is uniquely identified by - * ConnectionFactory.hashCode() if ConnectionFactory is - * not null; otherwise by ConnectionFactoryName.hashCode() if - * ConnectionFactoryName is not null; otherwise - * by the combination of URL.hashCode() + userName.hashCode() + - * password.hashCode() + driverName.hashCode(); - * - * @param pmf PersistenceManagerFactory instance to be replaced - * @return the PersistenceManagerFactory known to the runtime - */ - PersistenceManagerFactory replaceInternalPersistenceManagerFactory( - PersistenceManagerFactory pmf); - - /** Called at the beginning of the Transaction.beforeCompletion() to - * register the component with the app server if necessary. - * The component argument is an array of Objects. - * The first element is com.sun.jdo.spi.persistence.support.sqlstore.Transaction - * object responsible for transaction completion. - * The second element is com.sun.jdo.api.persistence.support.PersistenceManager - * object that has been associated with the Transaction context for the - * calling thread. - * The third element is jakarta.transaction.Transaction object that has been - * associated with the given instance of PersistenceManager. - * The return value is passed unchanged to the postInvoke method. - * - * @param component an array of Objects - * @return implementation-specific Object - */ - Object preInvoke(Object component); - - /** Called at the end of the Transaction.beforeCompletion() to - * de-register the component with the app server if necessary. - * The parameter is the return value from preInvoke, and can be any - * Object. - * - * @param im implementation-specific Object - */ - void postInvoke(Object im); - - /** Called in a managed environment to register internal Synchronization object - * with the Transaction Synchronization. If available, this registration - * provides special handling of the registered instance, calling it after - * all user defined Synchronization instances. - * - * @param jta the Transaction instance for the calling thread. - * @param sync the internal Synchronization instance to register. - * @throws jakarta.transaction.RollbackException. - * @throws jakarta.transaction.SystemException - */ - void registerSynchronization(Transaction jta, Synchronization sync) - throws RollbackException, SystemException; - - /** Called in a managed environment to get a Connection from the application - * server specific resource. In a non-managed environment throws an Exception - * as it should not be called. - * - * @param resource the application server specific resource. - * @param username the resource username. If null, Connection is requested - * without username and password validation. - * @param password the password for the resource username. - * @return a Connection. - * @throws java.sql.SQLException. - */ - java.sql.Connection getConnection(Object resource, String username, char[] password) - throws java.sql.SQLException; - - /** Called in a managed environment to get a non-transactional Connection - * from the application server specific resource. In a non-managed - * environment throws an Exception as it should not be called. - * - * @param resource the application server specific resource. - * @param username the resource username. If null, Connection is requested - * without username and password validation. - * @param password the password for the resource username. - * @return a Connection. - * @throws java.sql.SQLException. - */ - java.sql.Connection getNonTransactionalConnection( - Object resource, String username, char[] password) - throws java.sql.SQLException; - - /** Called in a managed environment to access a TransactionManager - * for managing local transaction boundaries and registering synchronization - * for call backs during completion of a local transaction. - * - * @return jakarta.transaction.TransactionManager - */ - TransactionManager getLocalTransactionManager(); - - /** Identifies the managed environment behavior. - * @return true if this implementation represents the managed environment. - */ - boolean isManaged(); - - /** - * This method unwrap given Statement and return the Statement from - * JDBC driver. - */ - java.sql.Statement unwrapStatement(java.sql.Statement stmt); - - - /** - * Set environment specific default values for the given PersistenceManagerFactory. - * - * @param pmf the PersistenceManagerFactory. - */ - void setPersistenceManagerFactoryDefaults(PersistenceManagerFactory pmf); - - /** - * Returns name prefix for DDL files extracted from the info instance by the - * application server specific code. - * - * @param info the instance to use for the name generation. - * @return name prefix as String. - */ - String getDDLNamePrefix(Object info); - - /** - * Called to register a ApplicationLifeCycleEventListener. If - * ApplicationLifeCycle management is active (typically in managed - * environment), the registered listener will receive a call back - * for lifecycle events. - * - * @param listener An instance of ApplicationLifeCycleEventListener. - */ - void registerApplicationLifeCycleEventListener( - ApplicationLifeCycleEventListener listener); - - /** - * Called to notify a ApplicationLifeCycleEventListeners that an application - * is unloaded. If ApplicationLifeCycle management is active (typically in managed - * environment), the registered listener will handle the notification. - * - * @param cl An instance of the ClassLoader that loaded the application. - */ - void notifyApplicationUnloaded(ClassLoader cl); - -} - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/TransactionHelperImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/TransactionHelperImpl.java deleted file mode 100644 index 421c1d442a2..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/TransactionHelperImpl.java +++ /dev/null @@ -1,292 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * TransactionHelperImpl.java - * - * Created on January 17, 2002 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.ejb; - -import jakarta.transaction.*; - -import com.sun.jdo.api.persistence.model.ClassLoaderStrategy; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.api.persistence.support.PersistenceManagerFactory; - -/** This is an abstract class which is a generic implementation of the -* TransactionHelper interface. Each concrete implementation that extends -* this class is used for information about the distributed -* transaction environment. -* -* The class that extends this class must implement getTransaction -* and getUserTransaction methods and replace any other method -* implementation if it is necessary. -* -* Such class must register itself by a static method at class initialization time. -* For example, -*

    -* import com.sun.jdo.spi.persistence.support.sqlstore.ejb.*;
    -* class blackHerringTransactionHelper extends TransactionHelperImpl {
    -*    static EJBHelper.register(new blackHerringTransactionHelper());
    -*    ...
    -* } 
    -* 
    -*/ -abstract public class TransactionHelperImpl - implements TransactionHelper { - - static final String DEFAULT_STRING = "default"; // NOI18N - - /** Set ClassLoaderStrategy to be "reload" in the managed - * environment. - */ - static { - if (System.getProperty( - ClassLoaderStrategy.PROPERTY_MULTIPLE_CLASS_LOADERS) == null) - ClassLoaderStrategy.setStrategy( - ClassLoaderStrategy.MULTIPLE_CLASS_LOADERS_RELOAD); - } - - /** Identifies the managed environment behavior. - * @return true as this implementation represents the managed environment. - */ - public boolean isManaged() { - return true; - } - - - /** Identify the Transaction context for the calling thread, and return a - * Transaction instance that can be used to register synchronizations, - * and used as the key for HashMaps. The returned Transaction must implement - * equals() and hashCode() based on the global transaction id. - *

    All Transaction instances returned by this method called in the same - * Transaction context must compare equal and return the same hashCode. - * The Transaction instance returned will be held as the key to an - * internal HashMap until the Transaction completes. If there is no transaction - * associated with the current thread, this method returns null. - * @return the Transaction instance for the calling thread - */ - abstract public Transaction getTransaction(); - - /** Returns the UserTransaction associated with the calling thread. If there - * is no transaction currently in progress, this method returns null. - * @return the UserTransaction instance for the calling thread - */ - abstract public UserTransaction getUserTransaction(); - - /** Translate local representation of the Transaction Status to - * jakarta.transaction.Status value if necessary. Otherwise this method - * should return the value passed to it as an argument. - *

    This method is used during afterCompletion callbacks to translate - * the parameter value passed by the application server to the - * afterCompletion method. The return value must be one of: - * jakarta.transaction.Status.STATUS_COMMITTED or - * jakarta.transaction.Status.STATUS_ROLLED_BACK. - * @param st local Status value - * @return the jakarta.transaction.Status value of the status - */ - public int translateStatus(int st) { - return st; - } - - /** Replace newly created instance of PersistenceManagerFactory - * with the hashed one if it exists. The replacement is necessary only if - * the JNDI lookup always returns a new instance. Otherwise this method - * returns the object passed to it as an argument. - * - * PersistenceManagerFactory is uniquely identified by - * ConnectionFactory.hashCode() if ConnectionFactory is - * not null; otherwise by ConnectionFactoryName.hashCode() if - * ConnectionFactoryName is not null; otherwise - * by the combination of URL.hashCode() + userName.hashCode() + - * password.hashCode() + driverName.hashCode(); - * - * @param pmf PersistenceManagerFactory instance to be replaced - * @return the PersistenceManagerFactory known to the runtime - */ - public PersistenceManagerFactory replaceInternalPersistenceManagerFactory( - PersistenceManagerFactory pmf) { - - return pmf; - } - - /** Called at the beginning of the Transaction.beforeCompletion() to - * register the component with the app server only if necessary. - * The component argument is an array of Objects. - * The first element is com.sun.jdo.spi.persistence.support.sqlstore.Transaction - * object responsible for transaction completion. - * The second element is com.sun.jdo.api.persistence.support.PersistenceManager - * object that has been associated with the Transaction context for the - * calling thread. - * The third element is jakarta.transaction.Transaction object that has been - * associated with the given instance of PersistenceManager. - * The return value is passed unchanged to the postInvoke method. - * - * @param component an array of Objects - * @return implementation-specific Object - */ - public Object preInvoke(Object component) { - return null; - } - - /** Called at the end of the Transaction.beforeCompletion() to - * de-register the component with the app server if necessary. - * The parameter is the return value from preInvoke, and can be any - * Object. - * - * @param im implementation-specific Object - */ - public void postInvoke(Object im) { - } - - /** Called in a managed environment to register internal Synchronization object - * with the Transaction Synchronization. If available, this registration - * provides special handling of the registered instance, calling it after - * all user defined Synchronization instances. - * - * @param jta the Transaction instance for the calling thread. - * @param sync the internal Synchronization instance to register. - * @throws jakarta.transaction.RollbackException. - * @throws jakarta.transaction.SystemException - */ - public void registerSynchronization(Transaction jta, Synchronization sync) - throws RollbackException, SystemException { - - jta.registerSynchronization(sync); - } - - /** Called in a managed environment to get a Connection from the application - * server specific resource. In a non-managed environment returns null as - * it should not be called. - * This is a generic implementation for the case of javax.sql.DataSource as - * the resource type. - * - * @param resource the application server specific resource. - * @param username the resource username. If null, Connection is requested - * without username and password validation. - * @param password the password for the resource username. - * @return a Connection. - * @throws java.sql.SQLException. - */ - public java.sql.Connection getConnection(Object resource, String username, - char[] password) throws java.sql.SQLException { - java.sql.Connection rc = null; - if (resource instanceof javax.sql.DataSource) { - javax.sql.DataSource ds = (javax.sql.DataSource)resource; - if (username == null) { - rc = ds.getConnection(); - } else { - rc = ds.getConnection(username, new String(password)); - } - } - return rc; - } - - /** Called in a managed environment to get a non-transactional Connection - * from the application server specific resource. - * - * @param resource the application server specific resource. - * @param username the resource username. If null, Connection is requested - * without username and password validation. - * @param password the password for the resource username. - * @return a Connection. - * @throws java.sql.SQLException. - */ - abstract public java.sql.Connection getNonTransactionalConnection( - Object resource, String username, char[] password) - throws java.sql.SQLException; - - /** Called in a managed environment to access a TransactionManager - * for managing local transaction boundaries and registering synchronization - * for call backs during completion of a local transaction. - * - * @return jakarta.transaction.TransactionManager - */ - abstract public TransactionManager getLocalTransactionManager(); - - /** - * This method unwraps given Statement and return the Statement from - * JDBC driver if possible. - */ - public java.sql.Statement unwrapStatement(java.sql.Statement stmt) { - return stmt; - } - - /** - * Set environment specific default values for the given PersistenceManagerFactory. - * In most app servers optimistic and retainValues flags should be false. - * For any other settings this method should be overritten. - * - * @param pmf the PersistenceManagerFactory. - */ - public void setPersistenceManagerFactoryDefaults(PersistenceManagerFactory pmf) { - pmf.setOptimistic(false); - pmf.setRetainValues(false); - } - - /** - * Returns name prefix for DDL files extracted from the info instance by the - * application server specific code. - * - * @param info the instance to use for the name generation. - * @return name prefix as String. - */ - public String getDDLNamePrefix(Object info) { - return DEFAULT_STRING; - } - - /** - * @inheritDoc - */ - public void registerApplicationLifeCycleEventListener( - ApplicationLifeCycleEventListener listener) { - - } - - /** - * @inheritDoc - */ - public void notifyApplicationUnloaded(ClassLoader cl) { - - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle.properties deleted file mode 100644 index 5da07a3fb1d..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/Bundle.properties +++ /dev/null @@ -1,119 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 77. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO77000 - JDO77999 -############################################################################### -jdohelper.deleted_instance=JDO77000: Deleted instance of class {0} -persistencemanagerfactoryimpl.notsupported=JDO77001: Operation is not supported in this release. -persistencemanagerfactoryimpl.configured=JDO77002: Cannot change configuration parameter after setup has been finished. -persistencemanagerfactoryimpl.initialcontext=JDO77003: No InitialContext available for setConnectionFactoryName(). -persistencemanagerfactoryimpl.lookup=JDO77004: Error looking up ConnectionFactoryName. -persistencemanagerfactoryimpl.wrongtype=JDO77005: Connection Factory must be of type ConnectionFactory or java.sql.DataSource. -connectionefactoryimpl.sqlexception=JDO77006: SQL exception: state = {0}, error code = {1}. -connectionefactoryimpl.getconnection=JDO77007: Failed to get a connection. -connectionefactoryimpl.isolationlevel_notsupported=JDO77008: Transaction isolation level {0} is not supported by the database. -sco.nulls_not_allowed=JDO77009: Nulls are not allowed for this Collection. -sco.classcastexception=JDO77010: New element cannot be cast to {0}. -sco.not_supported=JDO77011: Collection update by index is not supported in this release. -transaction.transactionimpl.setoptimistic.notallowed=JDO77012: Cannot change type of an active transaction. -transaction.transactionimpl.begin.notnew=JDO77013: Invalid Transaction.begin(). This transaction is not new (status = {0}). -transaction.transactionimpl.rolledback=JDO77014: Invalid Transaction.{0}(). This transaction is already rolled back (status = {1}). -transaction.transactionimpl.commitbefore.rolledback=JDO77015: Invalid Transaction.commit(). This transaction was rolled back during Synchronization notification. -transaction.transactionimpl.commit_rollback.notactive=JDO77016: Invalid Transaction.{0}(). This transaction is no longer active (status = {1}). -transaction.transactionimpl.commitbefore.incommit=JDO77017: Invalid Transaction.{0}(). This transaction has already begun to commit. -transaction.transactionimpl.commitbefore.rollbackonly_insync=JDO77018: Invalid Transaction.commit(). Transaction rolled back. This transaction was marked rollback-only during Synchronization notification. -transaction.transactionimpl.commitbefore.rollbackonly=JDO77019: Invalid Transaction.commit(). Transaction rolled back. This transaction was marked rollback-only. -transaction.transactionimpl.commitprepare.wrongstatus=JDO77020: [internal] Invalid Transaction.{0}(). This transaction status is not {1} (status = {2}). -transaction.transactionimpl.commitcomplete.error=JDO77021: Invalid Transaction.commitComplete(). This transaction was rolled back during commit-completion processing with the {0} exception code. -transaction.transactionimpl.mgd=JDO77022: Operation {0} is not allowed in managed environment. -transaction.transactionimpl.nonmgd=JDO77023: Operation {0} is not allowed in non-managed environment. -transaction.transactionimpl.begin.failedlocaltx=JDO77024: Cannot start a local transaction or register Synchronization. -transaction.transactionimpl.begin.registersynchfailed=JDO77025: Cannot register Synchronization. -transaction.transactionimpl.forget.connectionnotclosed=JDO77026: Connection has not been closed. -transaction.transactionimpl.getconnection.nullcf=JDO77027: ConnectionFactory is NULL. -transaction.transactionimpl.syncmanager.aftercompletion=JDO77028: Problems during afterCompletion call to the SynchronizationManager:\n{0} - -# -# -# -jdo.versionconsistencycacheimpl.put.entering=JDO77029: VCCacheImpl.put entering: pcType={0} oid={1} sm={2} -jdo.versionconsistencycacheimpl.put.returning=JDO77030: VCCacheImpl.put returning: rc={0} -jdo.versionconsistencycacheimpl.get.entering=JDO77031: VCCacheImpl.get entering: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.get.returning=JDO77032: VCCacheImpl.get returning: rc={0} -jdo.versionconsistencycacheimpl.remove.entering=JDO77033: VCCacheImpl.remove entering: pcType={0} oid={1} -jdo.versionconsistencycacheimpl.remove.returning=JDO77034: VCCacheImpl.remove returning: rc={0} -jdo.versionconsistencycacheimpl.addpctype=JDO77035: VCCacheImpl.addPCType: pcType={0} -jdo.versionconsistencycacheimpl.removepctype=JDO77036: VCCacheImpl.removePCType: pcType={0} -jdo.versionconsistencycacheimpl.usinghashmap=JDO77037: VCCacheImpl: Creating HashMap with bucketSize={0} initialCapacity={1} loadFactor={2} -jdo.versionconsistencycacheimpl.usinglrucache=JDO77038: VCCacheImpl: Creating LruCache with maxEntries={0} timeout={1} loadFactor={2} -jdo.versionconsistencycacheimpl.trimevent=JDO77039: VCCacheImpl: got trimEvent. -jdo.versionconsistencycacheimpl.created=JDO77040: VCCacheImpl: created with: {0} - -# -# Following messages *DO* need to be I18N'd. -# -jdo.versionconsistencycacheimpl.lrucachenotfound=JDO77041: LRU version consistency cache could not be loaded, using default cache instead. -jdo.versionconsistencycacheimpl.badconfigvalue=JDO77042: While configuring version consistency cache, for property {0} got value {1}, which is invalid. -jdo.versionconsistencycacheimpl.unexpectedduringcreate=JDO77043: Unexpected exception while initializing version consistency cache; will use default cache implementation. Exception detail: {0} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/ConnectionFactoryImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/ConnectionFactoryImpl.java deleted file mode 100644 index 11f21ea4ccd..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/ConnectionFactoryImpl.java +++ /dev/null @@ -1,727 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConnectionFactoryImpl.java - * - * Created on March 10, 2000, 5:09 PM - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.impl; - -import java.lang.String; -import java.io.PrintWriter; -import java.sql.Connection; -import java.sql.DatabaseMetaData; -import java.sql.SQLException; -import java.util.Arrays; -import java.util.ResourceBundle; - - -import com.sun.jdo.api.persistence.support.*; -import com.sun.jdo.spi.persistence.support.sqlstore.connection.ConnectionManager; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author Craig Russell - * @version 0.1 - */ -public class ConnectionFactoryImpl implements ConnectionFactory, java.io.Serializable { - - // Delegate all connection variables to ConnectionManager: - - private String URL = null; - private String userName = null; - private char[] password = null; - private String driverName = null; - private int maxPool = 0; - private int minPool = 0; - private int msInterval = 0; - private int loginTimeout = 0; - private int msWait = 0; - private int _txIsolation = -1; - private transient PrintWriter logWriter = null; - - private transient boolean _configured = false; - private transient ConnectionManager connectionManager = null; - - /** - * I18N message handler - */ - private transient final static ResourceBundle messages = I18NHelper.loadBundle( - ConnectionFactoryImpl.class); - - - - /** - * Creates new default ConnectionFactoryImpl object - */ - public ConnectionFactoryImpl() - { - //connectionManager = new ConnectionManager(); - } - - /** - * Creates new ConnectionFactoryImpl object with user info - * @param URL connection URL - * @param userName database user - * @param password database user password - * @param driverName driver name - */ - public ConnectionFactoryImpl( - String URL, - String userName, - char[] password, - String driverName - ) - { - this.driverName = driverName; - this.URL = URL; - this.userName = userName; - this.password = password; - - } - - /** - * Creates new ConnectionFactoryImpl object with user and connection info - * @param URL connection URL - * @param userName database user - * @param password database user password - * @param driverName driver name - * @param minPool minimum number of connections - * @param maxPool maximum number of connections - */ - public ConnectionFactoryImpl( - String URL, - String userName, - char[] password, - String driverName, - int minPool, - int maxPool - ) - { - this.driverName = driverName; - this.URL = URL; - this.userName = userName; - this.password = password; - this.minPool = minPool; - this.maxPool = maxPool; - - } - - /** - * Sets JDBC driver name - * @param driverName JDBC driver name - */ - public void setDriverName (String driverName) - { - // REMOVE WHEN SUPPORTED: - //unsupported(); - - assertNotConfigured(); - // Delegate to ConnectionManager: this.driverName = driverName; - if(connectionManager == null) - { - this.driverName = driverName; - } - else - { - try { - connectionManager.setDriverName(driverName); - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - } - } - - /** - * Returns JDBC driver name - * @return driver name - */ - public String getDriverName () - { - return driverName; - //return connectionManager.getDriverName(); - } - - - /** - * Sets JDBC connection URL - * @param URL connection URL - */ - public void setURL (String URL) - { - // REMOVE WHEN SUPPORTED: - //unsupported(); - - assertNotConfigured(); - // Delegate to ConnectionManager: this.URL = URL; - if(connectionManager == null) - { - this.URL = URL; - } - else - { - try { - connectionManager.setURL(URL); - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - } - } - - /** - * Returns connection URL - * @return connection URL - */ - public String getURL () - { - return URL; - //return connectionManager.getURL(); - } - - - /** - * Sets database user - * @param userName database user - */ - public void setUserName (String userName) - { - // REMOVE WHEN SUPPORTED: - //unsupported(); - - assertNotConfigured(); - // Delegate to ConnectionManager: this.userName = userName; - if(connectionManager == null) - { - this.userName = userName; - } - else - { - try { - connectionManager.setUserName(userName); - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - } - } - - /** - * Returns database user name - * @return current database user name - */ - public String getUserName () - { - return userName; - //return connectionManager.getUserName(); - } - - - /** - * Sets database user password - * @param password database user password - */ - public void setPassword (char[] password) - { - // REMOVE WHEN SUPPORTED: - //unsupported(); - - assertNotConfigured(); - // Delegate to ConnectionManager: this.password = password; - if(connectionManager == null) - { - this.password = password; - } - else - { - try { - connectionManager.setPassword(password); - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - } - } - - - /** - * Sets minimum number of connections in the connection pool - * @param minPool minimum number of connections - */ - public void setMinPool (int minPool) - { - assertNotConfigured(); - if(connectionManager == null) { - // Nothing to do yet - this.minPool = minPool; - return; - } - - // Delegate to ConnectionManager: this.minPool = minPool; - try { - connectionManager.setMinPool(minPool); - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - } - - /** - * Returns minimum number of connections in the connection pool - * @return connection minPool - */ - public int getMinPool () - { - return minPool; - //return connectionManager.getMinPool(); - } - - - /** - * Sets maximum number of connections in the connection pool - * @param maxPool maximum number of connections - */ - public void setMaxPool (int maxPool) - { - assertNotConfigured(); - if(connectionManager == null) { - // Nothing to do yet - this.maxPool = maxPool; - return; - } - - // Delegate to ConnectionManager: this.maxPool = maxPool; - try { - connectionManager.setMaxPool(maxPool); - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - } - - /** - * Returns maximum number of connections in the connection pool - * @return connection maxPool - */ - public int getMaxPool () - { - return maxPool; - // return connectionManager.getMaxPool(); - } - - - /** - * Sets the amount of time, in milliseconds, between the connection - * manager's attempts to get a pooled connection. - * @param msInterval the interval between attempts to get a database - * connection, in milliseconds. - */ - public void setMsInterval (int msInterval) - { - assertNotConfigured(); - if(connectionManager == null) { - // Nothing to do yet - this.msInterval = msInterval; - return; - } - - // Delegate to ConnectionManager: this.msInterval = msInterval; - try { - connectionManager.setMsInterval(msInterval); - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - } - - /** - * Returns the amount of time, in milliseconds, between the connection - * manager's attempts to get a pooled connection. - * @return the length of the interval between tries in milliseconds - */ - public int getMsInterval () - { - if (connectionManager == null) - return msInterval; - - return connectionManager.getMsInterval(); - } - - - /** - * Sets the number of milliseconds to wait for an available connection - * from the connection pool before throwing an exception - * @param msWait number in milliseconds - */ - public void setMsWait (int msWait) - { - assertNotConfigured(); - if(connectionManager == null) { - // Nothing to do yet - this.msWait = msWait; - return; - } - - // Delegate to ConnectionManager: this.msWait = msWait; - try { - connectionManager.setMsWait(msWait); - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - } - - /** - * Returns the number of milliseconds to wait for an available connection - * from the connection pool before throwing an exception - * @return number in milliseconds - */ - public int getMsWait () - { - if (connectionManager == null) - return msWait; - - return connectionManager.getMsWait(); - } - - - /** - * Sets the LogWriter to which messages should be sent - * @param logWriter logWriter - */ - public void setLogWriter (PrintWriter logWriter) - { - assertNotConfigured(); - this.logWriter = logWriter; //RESOLVE - } - - /** - * Returns the LogWriter to which messages should be sent - * @return logWriter - */ - public PrintWriter getLogWriter () - { - return logWriter; - } - - - /** - * Sets the number of seconds to wait for a new connection to be - * established to the data source - * @param loginTimeout wait time in seconds - */ - public void setLoginTimeout (int loginTimeout) - { - assertNotConfigured(); - if(connectionManager == null) { - // Nothing to do yet - this.loginTimeout = loginTimeout; - return; - } - - // Delegate to ConnectionManager: this.loginTimeout = loginTimeout; - try { - connectionManager.setLoginTimeout(loginTimeout); - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - } - - /** - * Returns the number of seconds to wait for a new connection to be - * established to the data source - * @return wait time in seconds - */ - public int getLoginTimeout () - { - if (connectionManager == null) - return loginTimeout; - - try { - return connectionManager.getLoginTimeout(); - } catch (Exception e) { - return 0; - } - } - /** - ** - * Sets transaction isolation level for all connections of this ConnectionFactory. - * All validation is done by java.sql.Connection itself, so e.g. while Oracle - * will not allow to set solation level to TRANSACTION_REPEATABLE_READ, this method - * does not have any explicit restrictions - * - * @param level - one of the java.sql.Connection.TRANSACTION_* isolation values - */ - public void setTransactionIsolation (int level) - { - assertNotConfigured(); - if(connectionManager == null) { - // Nothing to do yet - _txIsolation = level; - return; - } - - // verify that database supports it - Connection conn = null; - try { - conn = connectionManager.getConnection(); - DatabaseMetaData dbMetaData = conn.getMetaData(); - if(dbMetaData.supportsTransactionIsolationLevel(level)) - { - _txIsolation = level; - } - else - { - throw new JDOFatalException(I18NHelper.getMessage(messages, - "connectionefactoryimpl.isolationlevel_notsupported", //NOI18N - level)); - } - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - finally - { - closeConnection(conn); - } - } - - /** - * Gets this ConnectionFactory's current transaction isolation level. - * @return the current transaction isolation mode value as java.sql.Connection.TRANSACTION_* - */ - public int getTransactionIsolation () - { - if (connectionManager == null) - return _txIsolation; - - Connection conn = null; - try { - // Delegate to the Connection - if (_txIsolation == -1) - { - synchronized(this) - { - //Double check that it was not set before - if (_txIsolation == -1) - { - conn = connectionManager.getConnection(); - _txIsolation = conn.getTransactionIsolation(); - } - } - } - - return _txIsolation; - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - finally - { - closeConnection(conn); - } - } - - - /** - * Returns java.sql.Connection - * @return connection as java.sql.Connection - */ - public Connection getConnection() - { - // Delegate to ConnectionManager - try { - if (connectionManager == null) - initialize(); - - Connection conn = connectionManager.getConnection(); - conn.setTransactionIsolation(_txIsolation); - - return conn; - - } catch (SQLException e) { - String sqlState = e.getSQLState(); - int errorCode = e.getErrorCode(); - - if (sqlState == null) - { - throw new JDODataStoreException(I18NHelper.getMessage(messages, - "connectionefactoryimpl.sqlexception", "null", "" + errorCode), e); //NOI18N - } - else - { - throw new JDODataStoreException(I18NHelper.getMessage(messages, - "connectionefactoryimpl.sqlexception", sqlState, "" + errorCode), e); //NOI18N - } - } catch (Exception e) { - throw new JDOCanRetryException(I18NHelper.getMessage(messages, - "connectionefactoryimpl.getconnection"), e); //NOI18N - } - } - - /** - * Determines whether obj is a ConnectionFactoryImpl with the same configuration - * - * @param obj The possibly null object to check. - * @return true if obj is equal to this ConnectionFactoryImpl; false otherwise. - */ - public boolean equals(Object obj) { - if ((obj != null) && (obj instanceof ConnectionFactoryImpl) ) { - ConnectionFactoryImpl cf = (ConnectionFactoryImpl)obj; - return (cf.URL.equals(this.URL) && cf.userName.equals(this.userName) && cf.driverName.equals(this.driverName) && Arrays.equals(cf.password,this.password)); - } - return false; - } - - /** - * Computes the hash code of this ConnectionFactoryImpl. - * - * @return A hash code of the owning ConnectionFactoryImpl as an int. - */ - public int hashCode() { - return URL.hashCode() + userName.hashCode() + Arrays.hashCode(password) + driverName.hashCode(); - } - - - /** - * INTERNAL - * Marks Connectionfactory as fully configured - * @param flag boolean flag - */ - public void configured(boolean flag) - { - _configured = flag; - } - - /** - * INTERNAL - * Asserts that change to the property is allowed - */ - private void assertNotConfigured() { - if ( _configured) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "persistencemanagerfactoryimpl.configured")); //NOI18N - } - } - - /** - * INTERNAL - * Asserts that MsWait and MsInterval are properly configured - */ - private void assertConnectionWait() { - if ( msWait < 0 ) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "connection.connectionmanager.mswaitvalue")); // NOI18N - } - else if ( msInterval < 0 || msInterval > msWait || (msWait > 0 && msInterval == 0) ) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "connection.connectionmanager.msintervalvalue")); // NOI18N - } - } - - - /** - * INTERNAL - * Attempts to create new connectionManager - * Throws JDOFatalException - */ - private synchronized void initialize() { - // If connectionManager was already initialized by another thread - if (connectionManager != null) - return; - - try { - // Verify msWait/msInterval values - assertConnectionWait(); - - // need to use this constructor, as it calls internaly startUp() method - // to initialize extra variables and enable pooling - //java.sql.DriverManager.setLogWriter(logWriter); - connectionManager = new ConnectionManager( - driverName, - URL, - userName, - password, - minPool, - maxPool - ); - // MsWait MUST be set BEFORE MsInterval - connectionManager.setMsWait(this.msWait); - connectionManager.setMsInterval(this.msInterval); - connectionManager.setLoginTimeout(this.loginTimeout); - - if (_txIsolation > 0) - setTransactionIsolation(_txIsolation); - else - _txIsolation = getTransactionIsolation(); - - // finished all configuration - this.configured(true); - - } catch (JDOException e) { - throw e; - } catch (Exception e) { - throw new JDOFatalException(null, e); - } - } - - /** - * INTERNAL - * Throws JDOUnsupportedOptionException - */ - private void unsupported() { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Close a connection - */ - private void closeConnection(Connection conn) - { - try - { - if (conn != null) conn.close(); - } - catch (Exception e) - { - // Recover? - } - - conn = null; - - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerFactoryImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerFactoryImpl.java deleted file mode 100644 index a2592dce5be..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerFactoryImpl.java +++ /dev/null @@ -1,1038 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * PersistenceManagerFactoryImpl.java - * - * Created on March 9, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.impl; - -import java.util.Arrays; -import java.util.ResourceBundle; -import java.util.Properties; -import java.io.PrintWriter; -import javax.sql.DataSource; - -import com.sun.jdo.api.persistence.support.*; -import com.sun.jdo.spi.persistence.support.sqlstore.RuntimeVersion; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author Marina Vatkina - * @version 0.1 - */ - -public class PersistenceManagerFactoryImpl implements PersistenceManagerFactory -{ - /** - * PersistenceManagerFactory properties - */ - private String URL = null; - private String userName = null; - private char[] password = null; - private String driverName = null; - private ConnectionFactory connectionFactory = null; - private Object dataSource = null; - private String connectionFactoryName = null; - private String identifier = null; - private int connectionMaxPool = 0; - private int connectionMinPool = 0; - private int connectionMsInterval = 0; - private int connectionLoginTimeout = 0; - private int connectionMsWait = 0; - private int txIsolation = -1; - private transient PrintWriter connectionLogWriter; //We do not expect instance of this class to be serialized. Marking a non serializable member as transient to make findbugs happy. - private boolean optimistic = true; - private boolean retainValues = true; - private boolean nontransactionalRead = true; - private boolean ignoreCache = false; - private int queryTimeout = 0; - private int updateTimeout = 0; - private int maxPool = 0; - private int minPool = 0; - private boolean supersedeDeletedInstance = true; - private boolean requireCopyObjectId = true; - private boolean requireTrackedSCO = true; - - private static final int NOT_SET = 0; - private static final int SET_AS_CONNECTIONFACTORY = 1; - private static final int SET_AS_DATASOURCE = 2; - - /** flag for ConnectionFactory setup - */ - private int providedConnectionFactory = 0; - - - /** - * Reference to the internal PersistenceManagerFactory implementation - * to deligate actual stuff - */ - private transient SQLPersistenceManagerFactory pmFactory = null; - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - PersistenceManagerFactoryImpl.class); - - /** - * Creates new PersistenceManagerFactoryImpl without any user info - */ - public PersistenceManagerFactoryImpl() { - EJBHelper.setPersistenceManagerFactoryDefaults(this); - } - - /** - * Creates new PersistenceManagerFactoryImpl with user info - * @param URL connection URL - * @param userName database user - * @param password database user password - * @param driverName driver name - */ - public PersistenceManagerFactoryImpl( - String URL, - String userName, - char[] password, - String driverName) - { - EJBHelper.setPersistenceManagerFactoryDefaults(this); - - this.URL = URL; - this.userName = userName; - this.password = password; - this.driverName = driverName; - - } - - /** - * Sets database user - * @param userName database user - */ - public void setConnectionUserName (String userName) { - assertNotConfigured(); - this.userName = userName; - } - - /** - * Returns database user name - * @return current database user name - */ - public String getConnectionUserName() - { - if (connectionFactory != null) - return connectionFactory.getUserName(); - - return userName; - - } - - /** - * Sets database user password - * @param password database user password - */ - public void setConnectionPassword (char[] password) { - assertNotConfigured(); - this.password = password; - } - - - /** - * Sets JDBC connection URL - * @param URL connection URL - */ - public void setConnectionURL (String URL) { - assertNotConfigured(); - this.URL = URL; - } - - /** - * Returns connection URL - * @return connection URL - */ - public String getConnectionURL() - { - if (connectionFactory != null) - return connectionFactory.getURL(); - - return URL; - - } - - /** - * Sets JDBC driver name - * @param driverName JDBC driver name - */ - public void setConnectionDriverName (String driverName) { - assertNotConfigured(); - this.driverName = driverName; - } - - /** - * Returns JDBC driver name - * @return driver name - */ - public String getConnectionDriverName() - { - if (connectionFactory != null) - return connectionFactory.getDriverName(); - return driverName; - - } - - /** - * Sets ConnectionFactory that can be one of two types: - * ConnectionFactory or javax.sql.DataSource - * @param connectionFactory as java.lang.Object - */ - public void setConnectionFactory (Object connectionFactory) { - assertNotConfigured(); - if (connectionFactory == null) { - this.connectionFactory = null; - this.dataSource = null; - providedConnectionFactory = NOT_SET; - - } else { - if (EJBHelper.isManaged() || (connectionFactory instanceof DataSource)) { - this.dataSource = connectionFactory; - providedConnectionFactory = SET_AS_DATASOURCE; - } else if (connectionFactory instanceof ConnectionFactory) { - this.connectionFactory = (ConnectionFactory)connectionFactory; - providedConnectionFactory = SET_AS_CONNECTIONFACTORY; - } else { - throw new JDOUserException(I18NHelper.getMessage( messages, - "persistencemanagerfactoryimpl.wrongtype")); //NOI18N - } - } - } - - /** - * Returns ConnectionFactory - * @return ConnectionFactory - */ - public Object getConnectionFactory() { - if (dataSource != null) - return dataSource; - - return connectionFactory; - } - - /** - * Sets ConnectionFactory name - * @param connectionFactoryName ConnectionFactory name - */ - public void setConnectionFactoryName (String connectionFactoryName) - { - assertNotConfigured(); - this.connectionFactoryName = connectionFactoryName; - } - - /** - * Returns ConnectionFactory name - * @return ConnectionFactoryName - */ - public String getConnectionFactoryName () - { - return connectionFactoryName; - } - - /** - * Sets Identifier. An identifier is a string that user can use to identify - * the PersistenceManagerFactory in a given environment. Identifier can be - * particularly useful in an environment where multiple - * PersistenceManagerFactories are initialized in a system. - * @param identifier - */ - public void setIdentifier(String identifier) { - assertNotConfigured(); - this.identifier = identifier; - } - - /** - * Gets Identifier. An identifier is a string that user can use to identify - * the PersistenceManagerFactory in a given environment. Identifier can be - * particularly useful in an environment where multiple - * PersistenceManagerFactories are initialized in a system. - * @return identifier - */ - public String getIdentifier() { - return identifier; - } - - /** - * Sets maximum number of connections in the connection pool - * @param MaxPool maximum number of connections - */ - public void setConnectionMaxPool (int MaxPool) - { - assertNotConfigured(); - this.connectionMaxPool = MaxPool; - } - - - /** - * Returns maximum number of connections in the connection pool - * @return connectionMaxPool - */ - public int getConnectionMaxPool () - { - if (connectionFactory != null) - return connectionFactory.getMaxPool(); - - return connectionMaxPool; - } - - /** - * Sets minimum number of connections in the connection pool - * @param MinPool minimum number of connections - */ - - public void setConnectionMinPool (int MinPool) - { - assertNotConfigured(); - this.connectionMinPool = MinPool; - } - - - /** - * Returns minimum number of connections in the connection pool - * @return connectionMinPool - */ - public int getConnectionMinPool () - { - if (connectionFactory != null) - return connectionFactory.getMinPool(); - return connectionMinPool; - } - - - /** - * Sets the number of milliseconds to wait for an available connection - * from the connection pool before throwing an exception - * @param MsWait number in milliseconds - */ - - public void setConnectionMsWait (int MsWait) - { - assertNotConfigured(); - this.connectionMsWait = MsWait; - } - - - /** - * Returns the number of milliseconds to wait for an available connection - * from the connection pool before throwing an exception - * @return number in milliseconds - */ - public int getConnectionMsWait () - { - if (connectionFactory != null) - return connectionFactory.getMsWait(); - - return connectionMsWait; - } - - /** - * Returns maximum number of PersistenceManager instances in the pool - * @return maxPool - */ - public int getMaxPool () { - return maxPool; - } - - - /** - * Sets maximum number of PersistenceManager instances in the pool - * @param MaxPool maximum number of PersistenceManager instances - */ - public void setMaxPool (int MaxPool) { - assertNotConfigured(); - this.maxPool = MaxPool; - } - - /** - * Returns minimum number of PersistenceManager instances in the pool - * @return minPool - */ - public int getMinPool () { - return minPool; - } - - - /** - * Sets minimum number of PersistenceManager instances in the pool - * @param MinPool minimum number of PersistenceManager instances - */ - public void setMinPool (int MinPool) { - assertNotConfigured(); - this.minPool = MinPool; - } - - - - /** - * Sets the amount of time, in milliseconds, between the connection - * manager's attempts to get a pooled connection. - * @param MsInterval the interval between attempts to get a database - * connection, in milliseconds. - - */ - public void setConnectionMsInterval (int MsInterval) - { - assertNotConfigured(); - this.connectionMsInterval = MsInterval; - } - - - /** - * Returns the amount of time, in milliseconds, between the connection - * manager's attempts to get a pooled connection. - * @return the length of the interval between tries in milliseconds - */ - public int getConnectionMsInterval () - { - if (connectionFactory != null) - return connectionFactory.getMsInterval(); - - return connectionMsInterval; - } - - - /** - * Sets the number of seconds to wait for a new connection to be - * established to the data source - * @param LoginTimeout wait time in seconds - */ - - public void setConnectionLoginTimeout (int LoginTimeout) - { - assertNotConfigured(); - this.connectionLoginTimeout = LoginTimeout; - } - - - /** - * Returns the number of seconds to wait for a new connection to be - * established to the data source - * @return wait time in seconds - */ - public int getConnectionLoginTimeout () - { - if (connectionFactory != null) { - return connectionFactory.getLoginTimeout(); -/* - } else if (dataSource != null) { - return dataSource.getLoginTimeout(); -*/ - } else { - return connectionLoginTimeout; - } - } - - - /** - * Sets the LogWriter to which messages should be sent - * @param pw LogWriter - */ - public void setConnectionLogWriter(PrintWriter pw) - { - assertNotConfigured(); - this.connectionLogWriter = pw; - } - - /** - * Returns the LogWriter to which messages should be sent - * @return LogWriter - */ - public PrintWriter getConnectionLogWriter () - { - return connectionLogWriter; - } - - /** - * Sets the queryTimeout for all PersistenceManagers - * @param timeout the timout to be set - */ - public void setQueryTimeout(String timeout) - { - setQueryTimeout(Integer.parseInt(timeout)); - } - - /** - * Sets the number of seconds to wait for a query statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @param timeout new timout value in seconds; zero means unlimited - */ - public void setQueryTimeout (int timeout) - { - assertNotConfigured(); - this.queryTimeout = timeout; - } - - /** - * Gets the number of seconds to wait for a query statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @return timout value in seconds; zero means unlimited - */ - public int getQueryTimeout () - { - return queryTimeout; - } - - /** - * Sets the updateTimeout for all PersistenceManagers - * @param timeout the timout to be set - */ - public void setUpdateTimeout(String timeout) - { - setUpdateTimeout(Integer.parseInt(timeout)); - } - - /** - * Sets the number of seconds to wait for an update statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @param timeout new timout value in seconds; zero means unlimited - */ - public void setUpdateTimeout (int timeout) - { - assertNotConfigured(); - this.updateTimeout = timeout; - } - - /** - * Gets the number of seconds to wait for an update statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @return timout value in seconds; zero means unlimited - */ - public int getUpdateTimeout() - { - return updateTimeout; - } - - - /** - * Sets transaction isolation level for all connections of this PersistenceManagerFactory. - * All validation is done by java.sql.Connection itself, so e.g. while Oracle - * will not allow to set solation level to TRANSACTION_REPEATABLE_READ, this method - * does not have any explicit restrictions - * - * @param level - one of the java.sql.Connection.TRANSACTION_* isolation values - */ - public void setConnectionTransactionIsolation (int level) - { - assertNotConfigured(); - txIsolation = level; - } - - /** - * Returns current transaction isolation level for connections of this PersistenceManagerFactory. - * @return the current transaction isolation mode value as java.sql.Connection.TRANSACTION_* - */ - public int getConnectionTransactionIsolation () - { - if (connectionFactory != null) - return connectionFactory.getTransactionIsolation(); - - return txIsolation; - } - - /** - * Sets the optimistic flag for all PersistenceManagers - * @param flag String optimistic flag - */ - public void setOptimistic (String flag) - { - setOptimistic(Boolean.parseBoolean(flag)); - } - - /** - * Sets the optimistic flag for all PersistenceManagers - * @param flag boolean optimistic flag - */ - public void setOptimistic (boolean flag) - { - assertNotConfigured(); - optimistic = flag; - - // Adjust depending flags - if (flag) - nontransactionalRead = flag; - } - - /** - * Returns the boolean value of the optimistic flag for all PersistenceManagers - * @return boolean optimistic flag - */ - public boolean getOptimistic () - { - return optimistic; - } - - /** - * Sets the RetainValues flag for all PersistenceManagers - * @param flag String RetainValues flag - */ - public void setRetainValues (String flag) - { - setRetainValues(Boolean.parseBoolean(flag)); - } - - /** - * Sets flag that will not cause the eviction of persistent instances after transaction completion. - * @param flag boolean flag passed - */ - public void setRetainValues (boolean flag) - { - assertNotConfigured(); - retainValues = flag; - - // Adjust depending flags - if (flag) { - nontransactionalRead = flag; - } - } - - /** - * Returns the boolean value for the flag that will not cause the eviction of persistent - * instances after transaction completion. - * @return boolean setting for the flag - */ - public boolean getRetainValues () - { - return retainValues; - } - - /** - * Sets the NontransactionalRead flag for all PersistenceManagers - * @param flag String NontransactionalRead flag - */ - public void setNontransactionalRead (String flag) - { - setNontransactionalRead(Boolean.parseBoolean(flag)); - } - - /** - * Sets the flag that allows non-transactional instances to be managed in the cache. - * @param flag boolean flag passed - */ - public void setNontransactionalRead (boolean flag) - { - assertNotConfigured(); - nontransactionalRead = flag; - - // Adjust depending flags - if (flag == false) - { - retainValues = flag; - optimistic = flag; - } - } - - /** - * Returns the boolean value for the flag that allows non-transactional instances - * to be managed in the cache. - * @return boolean setting for the flag - */ - public boolean getNontransactionalRead () - { - return nontransactionalRead; - } - - /** - * Sets the IgnoreCache flag for all PersistenceManagers - * @param flag String IgnoreCache flag - */ - public void setIgnoreCache (String flag) - { - setIgnoreCache(Boolean.parseBoolean(flag)); - } - - /** - * Sets the flag that allows the user to request that queries be optimized to return - * approximate results by ignoring changed values in the cache. - * @param flag boolean flag passed - */ - public void setIgnoreCache (boolean flag) - { - assertNotConfigured(); - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "persistencemanagerfactoryimpl.notsupported")); //NOI18N - //ignoreCache = flag; - } - - /** - * Returns the boolean value for the flag that allows the user to request that queries - * be optimized to return approximate results by ignoring changed values in the cache. - * @return boolean setting for the flag - */ - public boolean getIgnoreCache () - { - return ignoreCache; - } - - - /** - * Returns non-operational properties to be available to the application via a Properties instance. - * @return Properties object - */ - public Properties getProperties () - { - if (pmFactory != null) - { - return pmFactory.getProperties(); - } - return RuntimeVersion.getVendorProperties( - "/com/sun/jdo/spi/persistence/support/sqlstore/sys.properties"); //NOI18N - } - - - - /** - * Creates new PersistenceManager without extra info - * @return the persistence manager - */ - public PersistenceManager getPersistenceManager() { - return getPersistenceManager(null, null); - } - - /** - * Returns the boolean value of the supersedeDeletedInstance flag - * for all PersistenceManagers. If set to true, deleted instances are - * allowed to be replaced with persistent-new instances with the equal - * Object Id. - * @return boolean supersedeDeletedInstance flag - */ - public boolean getSupersedeDeletedInstance () { - return supersedeDeletedInstance; - } - - - /** - * Sets the supersedeDeletedInstance flag for all PersistenceManagers. - * @param flag boolean supersedeDeletedInstance flag - */ - public void setSupersedeDeletedInstance (boolean flag) { - assertNotConfigured(); - supersedeDeletedInstance = flag; - } - - /** - * Returns the default value of the requireCopyObjectId flag - * for this PersistenceManagerFactoryImpl. If set to false, the PersistenceManager - * will not create a copy of an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see PersistenceManager#getObjectId(Object pc) - * @see PersistenceManager#getObjectById(Object oid) - * @return boolean requireCopyObjectId flag - */ - public boolean getRequireCopyObjectId() { - return requireCopyObjectId; - } - - - /** - * Sets the default value of the requireCopyObjectId flag. - * If set to false, by default a PersistenceManager will not create a copy of - * an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see PersistenceManager#getObjectId(Object pc) - * @see PersistenceManager#getObjectById(Object oid) - * @param flag boolean requireCopyObjectId flag - */ - public void setRequireCopyObjectId (boolean flag) { - assertNotConfigured(); - requireCopyObjectId = flag; - } - - /** - * Returns the boolean value of the requireTrackedSCO flag. - * If set to false, by default the PersistenceManager will not create - * tracked SCO instances for new persistent instances at commit with - * retainValues set to true and while retrieving data from a datastore. - * - * @return boolean requireTrackedSCO flag - */ - public boolean getRequireTrackedSCO() { - return requireTrackedSCO; - } - - /** - * Sets the requireTrackedSCO flag for this PersistenceManagerFactory. - * If set to false, by default the PersistenceManager will not create tracked - * SCO instances for new persistent instances at commit with retainValues set to true - * and while retrieving data from a datastore. - * - * @param flag boolean requireTrackedSCO flag - */ - public void setRequireTrackedSCO (boolean flag) { - assertNotConfigured(); - requireTrackedSCO = flag; - } - - - /** - * Creates new PersistenceManager with specific - * username and password. Used to call ConnectionFactory.getConnection(String, String) - * @param username datasource user - * @param passwd datasource user password - * @return the persistence manager - */ - public PersistenceManager getPersistenceManager (String username, char[] passwd){ - synchronized (this) { - - if (pmFactory == null) { - // Nothing there yet. Check and create - if (providedConnectionFactory == NOT_SET) { - - if (connectionFactoryName == null) { - - // Validate that MsWait/MsInterval are correct - assertConnectionWait(); - - // only PMFactory was configured - // Create a default ConnectionFactoryImpl and - // set all the parameters. With 1st connection - // which happens during configuration od SqlStore - // the actaul connectionManager will be created - connectionFactory = new ConnectionFactoryImpl(); - - connectionFactory.setURL(URL); - connectionFactory.setUserName(userName); - connectionFactory.setPassword(password); - connectionFactory.setDriverName(driverName); - connectionFactory.setMinPool(connectionMinPool); - connectionFactory.setMaxPool(connectionMaxPool); - - // MsWait MUST be set BEFORE MsInterval - connectionFactory.setMsWait(this.connectionMsWait); - connectionFactory.setMsInterval(this.connectionMsInterval); - connectionFactory.setLogWriter(this.connectionLogWriter); - connectionFactory.setLoginTimeout(this.connectionLoginTimeout); - if (txIsolation > 0) - connectionFactory.setTransactionIsolation(txIsolation); - } else { - // Do JNDI lookup - try { - javax.naming.InitialContext ctx = - (javax.naming.InitialContext) Class.forName("javax.naming.InitialContext").newInstance(); //NOI18N - Object o = ctx.lookup(connectionFactoryName); - if (EJBHelper.isManaged() || (o instanceof DataSource)) - dataSource = o; - else if (o instanceof ConnectionFactory) - connectionFactory = (ConnectionFactory) o; - else - throw new JDOUserException(I18NHelper.getMessage( - messages, - "persistencemanagerfactoryimpl.wrongtype")); //NOI18N - - } catch (JDOException e) { - throw e; // rethrow it. - - } catch (ClassNotFoundException e) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "persistencemanagerfactoryimpl.initialcontext")); //NOI18N - - } catch (Exception e) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "persistencemanagerfactoryimpl.lookup"), e); //NOI18N - } - } - } - - //If identifier is not yet set, set it to name of connection factory - if(getIdentifier() == null) { - setIdentifier(getConnectionFactoryName()); - } - // create new - pmFactory = new SQLPersistenceManagerFactory(this); - // Check EJBHelper - pmFactory = - (SQLPersistenceManagerFactory)EJBHelper.replaceInternalPersistenceManagerFactory(pmFactory); - - } - } // end synchronized (this) - - // Should not be called - if (username != null && connectionFactory != null) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - return pmFactory.getPersistenceManager(username, passwd); - - } - - /** - * Sets default value of a known boolean property. - * - * @param name the name of the property to be set. - * @param value the default boolean value. - */ - public void setBooleanProperty(String name, boolean value) { - // These if-else statements will be replaced by the JDO implementation... - if (name.equals("optimistic")) { // NOI18N - setOptimistic(value); - - } else if (name.equals("retainValues")) { // NOI18N - setRetainValues(value); - - } else if (name.equals("nontransactionalRead")) { // NOI18N - setNontransactionalRead(value); - - } else if (name.equals("ignoreCache")) { // NOI18N - setIgnoreCache(value); - - } else if (name.equals("supersedeDeletedInstance")) { // NOI18N - setSupersedeDeletedInstance(value); - - } else if (name.equals("requireCopyObjectId")) { // NOI18N - setRequireCopyObjectId(value); - - } else if (name.equals("requireTrackedSCO")) { // NOI18N - setRequireTrackedSCO(value); - - } // else ignore it. - - } - - /** - * Determines whether obj is a PersistenceManagerFactoryImpl with the same configuration - * - * @param obj The possibly null object to check. - * @return true if obj is equal to this PersistenceManagerFactoryImpl; false otherwise. - */ - public boolean equals(Object obj) { - if (!(obj instanceof PersistenceManagerFactoryImpl)) { - return false; - } - PersistenceManagerFactoryImpl pmf = (PersistenceManagerFactoryImpl)obj; - - if (pmf.providedConnectionFactory == this.providedConnectionFactory) { - if (pmf.providedConnectionFactory == SET_AS_CONNECTIONFACTORY) { - return (pmf.connectionFactory.equals(this.connectionFactory) && - equalBooleanProperties(pmf)); - - } else if (pmf.providedConnectionFactory == SET_AS_DATASOURCE) { - return (pmf.dataSource.equals(this.dataSource) && - equalBooleanProperties(pmf)); - - } else if (pmf.connectionFactoryName != null) { - return (pmf.connectionFactoryName.equals(this.connectionFactoryName) && - equalBooleanProperties(pmf)); - - } - return (pmf.URL.equals(this.URL) && pmf.userName.equals(this.userName) && - Arrays.equals(pmf.password, this.password) && - pmf.driverName.equals(this.driverName) && - equalBooleanProperties(pmf)); - } - return false; - } - - /** - * Computes the hash code of this PersistenceManagerFactory. - * - * @return A hash code of the owning PersistenceManagerFactory as an int. - */ - public int hashCode() { - if (providedConnectionFactory == SET_AS_CONNECTIONFACTORY) { - return connectionFactory.hashCode(); - } else if (providedConnectionFactory == SET_AS_DATASOURCE) { - return dataSource.hashCode(); - } else if (connectionFactoryName != null) { - return connectionFactoryName.hashCode(); - } - return URL.hashCode() + userName.hashCode() + Arrays.hashCode(password) + driverName.hashCode(); - } - - /** - * INTERNAL - * Asserts that change to the property is allowed - */ - private void assertNotConfigured() { - if ( pmFactory != null) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "persistencemanagerfactoryimpl.configured")); //NOI18N - } - } - - - /** - * INTERNAL - * Asserts that MsWait and MsInterval are properly configured - */ - private void assertConnectionWait() { - if ( connectionMsWait < 0 ) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "connection.connectionmanager.mswaitvalue")); // NOI18N - } - else if ( connectionMsInterval < 0 || - connectionMsInterval > connectionMsWait || - (connectionMsWait > 0 && connectionMsInterval == 0) ) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "connection.connectionmanager.msintervalvalue")); // NOI18N - } - } - - /** - * Compares boolean setting on 2 PersistenceManagerFactory instances. - * - * @param pmf the PersistenceManagerFactory instance to compare with this instance. - */ - private boolean equalBooleanProperties(PersistenceManagerFactory pmf) { - return (pmf.getOptimistic() == optimistic && - pmf.getRetainValues() == retainValues && - pmf.getNontransactionalRead() == nontransactionalRead && - pmf.getIgnoreCache() == ignoreCache && - pmf.getSupersedeDeletedInstance() == supersedeDeletedInstance && - pmf.getRequireCopyObjectId() == requireCopyObjectId && - pmf.getRequireTrackedSCO() == requireTrackedSCO - ); - - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerImpl.java deleted file mode 100644 index 57c80e1ee8f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerImpl.java +++ /dev/null @@ -1,2701 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018-2021] [Payara Foundation and/or its affiliates] - -/* - * PersistenceManagerimpl.java - * - * Created on March 6, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.impl; - -import com.sun.jdo.api.persistence.support.*; -import com.sun.jdo.api.persistence.support.Transaction; -import com.sun.jdo.spi.persistence.support.sqlstore.*; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManagerFactory; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.query.QueryImpl; -import com.sun.jdo.spi.persistence.utility.NullSemaphore; -import com.sun.jdo.spi.persistence.utility.Semaphore; -import com.sun.jdo.spi.persistence.utility.SemaphoreImpl; -import com.sun.jdo.spi.persistence.utility.logging.Logger; - -import org.glassfish.persistence.common.I18NHelper; -import jakarta.transaction.Status; -import java.io.File; -import java.io.FilenameFilter; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.util.*; - -public class PersistenceManagerImpl implements PersistenceManager { - /** - * True if this PersistenceManager is closed - */ - private boolean _isClosed = true; - - // Current wrapper - private PersistenceManagerWrapper current = null; - - // Reference to the associated JTA Transaction if any - private jakarta.transaction.Transaction _jta = null; - - /** - * Reference to global PersistenceStore - */ - private PersistenceStore _store = null; - - /** - * Associated Transaction - */ - private TransactionImpl _transaction = null; - - /** - * PersistenceManagerFactory that created (and could be pooling) - * this PersistenceManager - */ - private PersistenceManagerFactory persistenceManagerFactory = null; - - - /** - * List of all Persistent instances used - * in this Transaction not yet flushed to the datastore. - */ - private List _txCache; - - /** - * List of all Persistent instances used - * in this Transaction. - */ - private Set _flushedCache; - - /** - * Map of Persistent instances accessed by this PersistenceManager. Ideally it should be - * a weak-value HashMap to allow for garbage collection of instances that are not - * referenced any more. java.util.WeakHashMap is a weak-key HashMap and thus does not - * solve this purpose. - */ - private Map _weakCache; - - /** - * Intended to be set to true if there is an exception during flush in - * {@link #beforeCompletion}. If true, then the Version Consistency cache - * should be have instances removed during - * {@link #afterCompletion}. - */ - private boolean cleanupVersionConsistencyCache = false; - - // - // Properties for controlling construction of caches. - // For the integer properties, we can use Integer.getInteger. There is - // no corresponding method for floats :-( - // - - /** - * Properties with "dirtyCache" in their name apply to the _txCache. - * This initializes the _txCache's initialCapacity. If unspecified, uses - * 20. - */ - private static final int _txCacheInitialCapacity = Integer.getInteger( - "com.sun.jdo.api.persistence.support.PersistenceManager.dirtyCache.initialCapacity", // NOI18N - 20).intValue(); - - /** - * Properties with "transactionalCache" in their name apply to the _flushedCache. - * This initializes the _flushedCache's initialCapacity. If unspecified, - * uses 20. - */ - private static final int _flushedCacheInitialCapacity = Integer.getInteger( - "com.sun.jdo.api.persistence.support.PersistenceManager.transactionalCache.initialCapacity", // NOI18N - 20).intValue(); - - /** - * Properties with "transactionalCache" in their name apply to the _flushedCache. - * This initializes the _flushedCache's loadFactor. If unspecified, uses - * 0.75, which is the default load factor for a HashSet. - */ - private static final float _flushedCacheLoadFactor; - - static { - float f = (float) 0.75; - try { - f = - Float.valueOf( - System.getProperty( - "com.sun.jdo.api.persistence.support.PersistenceManager.transactionalCache.loadFactor", // NOI18N - "0.75")).floatValue(); // NOI18N - } finally { - _flushedCacheLoadFactor = f; - } - } - - /** - * Properties with "globalCache" in their name apply to the _weakCache. - * This initializes the _weakCache's initialCapacity. If unspecified, - * uses 20. - */ - private static final int _weakCacheInitialCapacity = Integer.getInteger( - "com.sun.jdo.api.persistence.support.PersistenceManager.globalCache.initialCapacity", // NOI18N - 20).intValue(); - - /** - * Properties with "globalCache" in their name apply to the _weakCache. - * This initializes the _weakCache's loadFactor. If unspecified, uses - * 0.75, which is the default load factor for a WeakHashMap. - */ - private static final float _weakCacheLoadFactor; - - static { - float f = (float) 0.75; - try { - f = - Float.valueOf( - System.getProperty( - "com.sun.jdo.api.persistence.support.PersistenceManager.globalCache.loadFactor", // NOI18N - "0.75")).floatValue(); // NOI18N - } finally { - _weakCacheLoadFactor = f; - } - } - - /** Collection of Query instances created for this pm. */ - private Collection queries = new ArrayList(); - - /** - * Flag for Query - */ - private boolean _ignoreCache = true; - - /** - * Flag for optimistic transaction - */ - private boolean _optimistic = true; - - /** - * Flag for supersedeDeletedInstance - */ - private boolean _supersedeDeletedInstance = true; - - /** - * Flag for requireCopyObjectId - */ - private boolean _requireCopyObjectId = true; - - /** - * Flag for requireTrackedSCO - */ - private boolean _requireTrackedSCO = true; - - /** - * Flag for nontransactionalRead - */ - private boolean _nontransactionalRead = true; - - /** - * Flag for active transaction - */ - private boolean _activeTransaction = false; - - /** - * User Object - */ - private Object _userObject = null; - - /** - * Flag for commit process - */ - private boolean _insideCommit = false; - - /** - * Flag for flush processing - */ - private boolean _insideFlush = false; - - /** - * Pattern for OID class names - */ - private static final String oidName_OID = "OID";// NOI18N - private static final String oidName_KEY = "KEY";// NOI18N - - /** - * Properies object - */ - private Properties _properties = null; - - /** - * Lock used for synchronizing access to the _txCache and _weakCache - */ - private final Semaphore _cacheLock; - - /** - * Lock used for synchronizing field updates. It should be used - * at the discretion of the StateManager. - */ - private final Semaphore _fieldUpdateLock; - - /** - * Lock used for implementing read-write barrier. - */ - private final Object _readWriteLock = new Object(); - - /** - * The count for the current reader (> 0) or writer (< 0) - * Note that the exclusive lock can go multi-level deep - * as long as the same thread is acquiring it. - */ - private long _readWriteCount = 0; - - /** - * The number of threads that are currently waiting on - * the _readWriteLock. - */ - private long _waiterCount = 0; - - /** - * The thread that has the write (exclusive) lock. - */ - private Thread _exclusiveLockHolder = null; - - /** Indicates if this PM is running in a multithreaded environment, i.e., - * if it has to do locking. - */ - private final boolean _multithreaded; - - /** - * The logger - */ - private static Logger logger = LogHelperPersistenceManager.getLogger(); - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - PersistenceManagerImpl.class.getClassLoader()); - - /** - * Constructor - */ - PersistenceManagerImpl(PersistenceManagerFactory pmf, jakarta.transaction.Transaction t, - String username, char[] password) { - persistenceManagerFactory = pmf; - - // Initialize caches as per property values. - if (logger.isLoggable(Logger.FINEST)) { - Object[] items = new Object[] { new Integer(_txCacheInitialCapacity), - new Integer(_flushedCacheInitialCapacity), - new Float(_flushedCacheLoadFactor), - new Integer(_weakCacheInitialCapacity), - new Float(_weakCacheLoadFactor) }; - logger.finest("sqlstore.persistencemgr.cacheproperties", items); // NOI18N - } - _txCache = new ArrayList(_txCacheInitialCapacity); - _flushedCache = new LinkedHashSet(_flushedCacheInitialCapacity, _flushedCacheLoadFactor); - _weakCache = new HashMap(_weakCacheInitialCapacity, _weakCacheLoadFactor); - - // create new Transaction object and set defaults - - _transaction = new TransactionImpl(this, - username, password, TransactionImpl.TRAN_DEFAULT_TIMEOUT); // VERIFY!!!! - - _ignoreCache = pmf.getIgnoreCache(); - _optimistic = pmf.getOptimistic(); - _nontransactionalRead = pmf.getNontransactionalRead(); - _supersedeDeletedInstance = pmf.getSupersedeDeletedInstance(); - _requireCopyObjectId = pmf.getRequireCopyObjectId(); - _requireTrackedSCO = pmf.getRequireTrackedSCO(); - - this._jta = t; // if null, nothing is changed - _isClosed = false; - - _multithreaded = ( ! EJBHelper.isManaged()); - - if (_multithreaded) { - _cacheLock = - new SemaphoreImpl("PersistenceManagerImpl.cacheLock"); // NOI18N - _fieldUpdateLock = - new SemaphoreImpl("PersistenceManagerImpl.fieldUpdateLock"); // NOI18N - } else { - if (_jta == null) { - // Non-transactional PersistenceManager can be used in a multithreaded - // environment. - _cacheLock = - new SemaphoreImpl("PersistenceManagerImpl.cacheLock"); // NOI18N - } else { - _cacheLock = - new NullSemaphore("PersistenceManagerImpl.cacheLock"); // NOI18N - } - _fieldUpdateLock = - new NullSemaphore("PersistenceManagerImpl.fieldUpdateLock"); // NOI18N - } - } - - /** - * - */ - protected void setStore(PersistenceStore store) { - _store = store; - } - - /** - * - */ - protected PersistenceStore getStore() { - return _store; - } - - /** - * - */ - protected boolean getIgnoreCache() { - return _ignoreCache; - } - - /** - * - */ - protected boolean verify(String username, char[] password) { - return _transaction.verify(username, password); - } - - /** - * - */ - public boolean isClosed() { - return _isClosed; - } - - /** - * Force to close the persistence manager. Called by - * TransactionImpl.afterCompletion in case of the CMT transaction - * and the status value passed to the method cannot be resolved. - */ - public void forceClose() { - - // Return to pool - TBD if we use pooling of free PMs. - //persistenceManagerFactory.returnToPool((com.sun.jdo.api.persistence.support.PersistenceManager)this); - - persistenceManagerFactory.releasePersistenceManager(this, _jta); - - // Closing PMWrappers need isClosed() to return true to avoid - // endless recursion - last PMWrapper tries to close PM. - _isClosed = true; - while (current != null) { - current.close(); - } - - Collection c = _weakCache.values(); - for (Iterator it = c.iterator(); it.hasNext();) { - StateManager sm = (StateManager)it.next(); - - // RESOLVE - do we want to release all references in SM? - // 1 of two calls below should be removed. - - // Only nullify PM reference in SM. - //sm.setPersistenceManager(null); - - // Nullify all references in SM. - sm.release(); // This requires 'release()' to be added to SM interface. - } - - disconnectQueries(); - - persistenceManagerFactory = null; - _jta = null; - - _weakCache.clear(); - _txCache.clear(); - _flushedCache.clear(); - - _flushedCache = null; - _txCache = null; - _weakCache = null; - - _store = null; - _transaction = null; - - _exclusiveLockHolder = null; - } - - /** - * close the persistence manager - */ - public void close() { - - acquireExclusiveLock(); - - try { - if (_jta != null) { - // Called by the transaction completion - deregister. - persistenceManagerFactory.releasePersistenceManager(this, _jta); - _jta = null; - } - - if (current != null && _transaction.getTransactionType() != TransactionImpl.CMT) { - /* - if (_transaction.getTransactionType() == TransactionImpl.BMT_JDO) { - persistenceManagerFactory.releasePersistenceManager(this, _jta); - _jta = null; - } - */ - return; // or throw an exception ??? - } - - if (_activeTransaction || _flushedCache.size() > 0) { - throw new JDOException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.close.activetransaction"));// NOI18N - } - - forceClose(); - - } finally { - releaseExclusiveLock(); - } - } - - - /** - * Returns transaction associated with this persistence manager - * @return transaction current transaction - */ - public Transaction currentTransaction() { - assertIsOpen(); - return _transaction; - } - - - /** Create a new Query with no elements. - * @return a new Query instance with no elements. - */ - public Query newQuery() { - assertIsOpen(); - QueryImpl q = new QueryImpl(this); - registerQuery(q); - return q; - } - - /** Create a new Query using elements from another Query. The other Query - * must have been created by the same JDO implementation. It might be active - * in a different PersistenceManager or might have been serialized and - * restored. - * @return the new Query - * @param compiled another Query from the same JDO implementation - */ - public Query newQuery(Object compiled) { - assertIsOpen(); - QueryImpl q = new QueryImpl(this, compiled); - registerQuery(q); - return q; - } - - /** Create a new Query specifying the Class of the results. - * @param cls the Class of the results - * @return the new Query - */ - public Query newQuery(Class cls) { - assertIsOpen(); - QueryImpl q = new QueryImpl(this, cls); - registerQuery(q); - return q; - } - - /** Create a new Query with the Class of the results and candidate Collection. - * specified. - * @param cls the Class of results - * @param cln the Collection of candidate instances - * @return the new Query - */ - public Query newQuery(Class cls, Collection cln) { - assertIsOpen(); - QueryImpl q = new QueryImpl(this, cls, cln); - registerQuery(q); - return q; - } - - /** Create a new Query with the Class of the results and Filter. - * specified. - * @param cls the Class of results - * @param filter the Filter for candidate instances - * @return the new Query - */ - public Query newQuery(Class cls, String filter) { - assertIsOpen(); - QueryImpl q = new QueryImpl(this, cls, filter); - registerQuery(q); - return q; - } - - /** Create a new Query with the Class of the results, candidate Collection, - * and Filter. - * @param cls the Class of results - * @param cln the Collection of candidate instances - * @param filter the Filter for candidate instances - * @return the new Query - */ - public Query newQuery(Class cls, Collection cln, String filter) { - assertIsOpen(); - QueryImpl q = new QueryImpl(this, cls, cln, filter); - registerQuery(q); - return q; - } - - /** The PersistenceManager may manage a collection of instances in the data - * store based on the class of the instances. This method returns a - * Collection of instances in the data store that might be iterated or - * given to a Query as the Collection of candidate instances. - * @param persistenceCapableClass Class of instances - * @param subclasses whether to include instances of subclasses - * @return a Collection of instances - * @see #newQuery - */ - public Collection getExtent(Class persistenceCapableClass, - boolean subclasses) { - assertIsOpen(); - return new ExtentCollection(this, persistenceCapableClass, subclasses); - } - - /** This method locates a persistent instance in the cache of instances - * managed by this PersistenceManager. If an instance with the same ObjectId - * is found it is returned. Otherwise, a new instance is created and - * associated with the ObjectId. - * - *

    If the instance does not exist in the data store, then this method will - * not fail. However, a request to access fields of the instance will - * throw an exception. - * @see #getObjectById(Object, boolean) - * @param oid an ObjectId - * @return the PersistenceCapable instance with the specified - * ObjectId - */ - public Object getObjectById(Object oid) { - return getObjectById(oid, false); - } - - /** This method locates a persistent instance in the cache of instances - * managed by this PersistenceManager. - * The getObjectByIdInternal method attempts - * to find an instance in the cache with the specified JDO identity. - *

    If the PersistenceManager is unable to resolve the oid parameter - * to an ObjectId instance, then it throws a JDOUserException. - *

    If the validate flag is false, and there is already an instance in the - * cache with the same JDO identity as the oid parameter, then this method - * returns it. There is no change made to the state of the returned - * instance. - *

    If there is not an instance already in the cache with the same JDO - * identity as the oid parameter, then this method creates an instance - * with the specified JDO identity and returns it. If there is no - * transaction in progress, the returned instance will be hollow. - *

    If there is a transaction in progress, the returned instance will - * persistent-nontransactional in an optimistic transaction, or persistent-clean in a - * datastore transaction. - * @return the PersistenceCapable instance with the specified ObjectId - * @param oid an ObjectId - * @param validate if the existence of the instance is to be validated - */ - public Object getObjectById(Object oid, boolean validate) { - boolean debug = logger.isLoggable(Logger.FINEST); - - assertIsOpen(); - assertActiveTransaction(true); - - Object rc = null; - - if (debug) { - Object[] items = new Object[] {oid, this,_jta}; - logger.finest("sqlstore.persistencemgr.getbyobjid", items); // NOI18N - } - - if (oid == null) - return null; - - StateManager sm = lookupObjectById(oid, null); - rc = sm.getPersistent(); - if (!JDOHelper.isTransactional(rc)) { - - // Instance was not found in _weakCache, or the found instance is - // non transactional. Check the version consistency cache. - boolean foundInstance = initializeFromVersionConsistencyCache(sm); - - if (validate && !foundInstance) { - - // Not found in the cache, or non transactional. - try { - sm.reload(); - - } catch (JDOException e) { - if (!sm.isValid()) { - // This StateManager had never been used before. - deregisterInstance(oid); - sm.release(); - } - - throw e; - } catch (Exception e) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.fetchinstance.none"), e);// NOI18N - } - } - } - - sm.setValid(); - return rc; - } - - /** - * Called internally by RetrieveDesc to lookup an instance - * in the cache, or prepare new instance to be populated with values from the datastore. - * @return the StateManager instance with the specified ObjectId - * @param oid an ObjectId - * @param pcClass the Class type of the PersistenceCapable instance to be associated - * with this StateManager. - */ - public StateManager findOrCreateStateManager(Object oid, Class pcClass) { - return lookupObjectById(oid, pcClass); - } - - /** This is the actual implementation of the #getObjectById(Object oid, validate) and - * #getObjectByIdInternal(Object oid, Class pcClass). - * @param oid an ObjectId - * @param classType the Class type of the returned object or null if not known. - */ - private StateManager lookupObjectById(Object oid, Class classType) { - StateManager sm = null; - - // Check the _weakCache for the instance - try { - acquireCacheLock(); - - sm = (StateManager)_weakCache.get(oid); - if (sm == null) { - boolean external = false; - // Do NOT look in DB, but create a Hollow instance: - if (classType == null) { - classType = loadClassForOid(oid); - - if (classType == null) { - // Class not found, report an error - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.getobjectbyid.nometadata"), // NOI18N - new Object[]{oid}); - } - external = true; - } - - try { - // create new instance and register it - sm = createStateManager(classType); - if (external) { - // oid needs to be cloned for extenral cases - // as the user might modify oid - oid = internalCloneOid(oid, sm); - } - sm.setObjectId(oid); - setKeyFields(sm); - - if (external) { - sm.initialize(false); - } else { - // put it in the weak cache only as it is Hollow. - _weakCache.put(oid, sm); - } - } catch (JDOException e) { - throw e; - } catch (Exception e) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.fetchinstance.none"), e);// NOI18N - } - } - } finally { - releaseCacheLock(); - } - - return sm; - } - - /** - * Create a StateManager. - * @param classType Class of the PersistenceCapable. - */ - private StateManager createStateManager(Class classType) { - StateManager rc = _store.getStateManager(classType); - newInstance(rc); - - return rc; - } - - /** The ObjectId returned by this method represents the JDO identity of - * the instance. The ObjectId is a copy (clone) of the internal state - * of the instance, and changing it does not affect the JDO identity of - * the instance. - * Delegates actual execution to the internal method. - * @param pc the PersistenceCapable instance - * @return the ObjectId of the instance - */ - public Object getObjectId(Object pc) { - boolean debug = logger.isLoggable(Logger.FINEST); - - assertIsOpen(); - assertActiveTransaction(true); - - if (debug) { - Object[] items = new Object[] {Thread.currentThread(),pc, this, _jta}; - logger.finest("sqlstore.persistencemgr.getobjid",items); // NOI18N - } - - try { - assertPersistenceCapable(pc); - } catch (Exception e) { - if (debug) { - Object[] items = new Object[] {pc, this}; - logger.finest("sqlstore.persistencemgr.getobjid.notpc",items); // NOI18N - } - - return null; - } - - StateManager sm = ((PersistenceCapable)pc).jdoGetStateManager(); - if (sm == null) { - // Not persistent - return null; - - } else if (sm.getPersistenceManagerInternal() != this) { - if (debug) { - Object[] items = new Object[] {pc, this, _jta}; - logger.finest("sqlstore.persistencemgr.getobjid.notpm",items); // NOI18N - } - - return null; - } - - return internalGetObjectId(sm); - } - - /** This method is used to get a PersistenceCapable instance - * representing the same data store object as the parameter, that is valid - * for this PersistenceManager. - * @param pc a PersistenceCapable instance - * @return the PersistenceCapable instance representing the - * same data store object - */ - public Object getTransactionalInstance(Object pc) { - assertIsOpen(); - assertActiveTransaction(false); - if (!(pc instanceof PersistenceCapable)) { - return pc; - } - - PersistenceCapable mypc = (PersistenceCapable) pc; - - // The PC.jdoGetPersistenceManager() returns PersistenceManagerWrapper: - PersistenceManagerWrapper pmw = (PersistenceManagerWrapper) mypc.jdoGetPersistenceManager(); - PersistenceManagerImpl pm = (PersistenceManagerImpl) pmw.getPersistenceManager(); - - if (pm == null || pm == this) { - return pc; - } - - return getObjectById(pm.internalGetObjectId(mypc.jdoGetStateManager())); - } - - /** Make the transient instance persistent in this PersistenceManager. - * This method must be called in an active transaction. - * The PersistenceManager assigns an ObjectId to the instance and - * transitions it to persistent-new. - * The instance will be managed in the Extent associated with its Class. - * The instance will be put into the data store at commit. - * @param pc a transient instance of a Class that implements - * PersistenceCapable - */ - public void makePersistent(Object pc) { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (debug) - { - Object[] items = new Object[] {Thread.currentThread(), pc, this, _jta}; - logger.finest("sqlstore.persistencemgr.makepersistent",items); // NOI18N - } - - if (pc == null) - return; // ignore - - acquireShareLock(); - try { - assertIsOpen(); - assertActiveTransaction(false); - assertPersistenceCapable(pc); - internalMakePersistent((PersistenceCapable) pc); - if (debug) - { - Object[] items = new Object[] {pc, this, _jta}; - logger.finest("sqlstore.persistencemgr.makepersistent.done",items); // NOI18N - } - - } finally { - releaseShareLock(); - } - } - - /** Make an array of instances persistent. - * @param pcs an array of transient instances - * @see #makePersistent(Object pc) - */ - public void makePersistent(Object[] pcs) { - if (pcs == null) - return; // ignore - - for (int i = 0; i < pcs.length; i++) { - makePersistent(pcs[i]); - } - } - - public void makePersistent(Collection pcs) { - if (pcs == null) - return; // ignore - - makePersistent(pcs.toArray()); - } - - public void deletePersistent(Object pc) { - if (pc == null) - return; // ignore - - acquireShareLock(); - - try { - assertIsOpen(); - assertActiveTransaction(false); - assertPersistenceCapable(pc); - internalDeletePersistent((PersistenceCapable) pc); - } finally { - releaseShareLock(); - } - } - - public void deletePersistent(Object[] pcs) { - if (pcs == null) - return; // ignore - - for (int i = 0; i < pcs.length; i++) { - deletePersistent(pcs[i]); - } - } - - public void deletePersistent(Collection pcs) { - if (pcs == null) - return; // ignore - - deletePersistent(pcs.toArray()); - } - - - /** This method returns the PersistenceManagerFactory used to create - * this PersistenceManager. It returns null if this instance was - * created via a constructor. - * @return the PersistenceManagerFactory that created - * this PersistenceManager - */ - public com.sun.jdo.api.persistence.support.PersistenceManagerFactory getPersistenceManagerFactory() { - return persistenceManagerFactory; - } - - void setPersistenceManagerFactory(PersistenceManagerFactory pmf) { - if (persistenceManagerFactory == null) - persistenceManagerFactory = pmf; - } - - /** The application can manage the PersistenceManager instances - * more easily by having an application object associated with each - * PersistenceManager instance. - * @param o the user instance to be remembered by the PersistenceManager - * @see #getUserObject - */ - public void setUserObject(Object o) { - this._userObject = o; - } - - /** The application can manage the PersistenceManager instances - * more easily by having an application object associated with each - * PersistenceManager instance. - * @return the user object associated with this PersistenceManager - * @see #setUserObject - */ - public Object getUserObject() { - return _userObject; - } - - /** The JDO vendor might store certain non-operational properties and - * make those properties available to applications (for troubleshooting). - * - *

    Standard properties include: - *

  • VendorName
  • - *
  • VersionNumber
  • - * @return the Properties of this PersistenceManager - */ - public Properties getProperties() { - if (_properties == null) { - _properties = RuntimeVersion.getVendorProperties( - "/com/sun/jdo/spi/persistence/support/sqlstore/sys.properties");// NOI18N - } - return _properties; - } - - /** - * Returns the boolean value of the supersedeDeletedInstance flag - * for this PersistenceManager. If set to true, deleted instances are - * allowed to be replaced with persistent-new instances with the equal - * Object Id. - * @return boolean supersedeDeletedInstance flag - */ - public boolean getSupersedeDeletedInstance () { - return _supersedeDeletedInstance; - } - - - /** - * Sets the supersedeDeletedInstance flag for this PersistenceManager. - * @param flag boolean supersedeDeletedInstance flag - */ - public void setSupersedeDeletedInstance (boolean flag) { - // RESOLVE: synchronization - _supersedeDeletedInstance = flag; - } - - /** - * Returns the boolean value of the requireCopyObjectId flag - * for this PersistenceManager. If set to false, the PersistenceManager - * does not create a copy of an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see PersistenceManager#getObjectId(Object pc) - * @see PersistenceManager#getObjectById(Object oid) - * @return boolean requireCopyObjectId flag - */ - public boolean getRequireCopyObjectId() { - return _requireCopyObjectId; - } - - - /** - * Sets the requireCopyObjectId flag for this PersistenceManager. - * If set to false, the PersistenceManager will not create a copy of - * an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see PersistenceManager#getObjectId(Object pc) - * @see PersistenceManager#getObjectById(Object oid) - * @param flag boolean requireCopyObjectId flag - */ - public void setRequireCopyObjectId (boolean flag) { - // RESOLVE: synchronization - _requireCopyObjectId = flag; - } - - /** - * Returns the boolean value of the requireTrackedSCO flag - * for this PersistenceManager. If set to false, this PersistenceManager - * will not create tracked SCO instances for - * new persistent instances at commit with retainValues set to true - * and while retrieving data from a datastore. - * - * @return boolean requireTrackedSCO flag - */ - public boolean getRequireTrackedSCO() { - return _requireTrackedSCO; - } - - /** - * Sets the requireTrackedSCO flag for this PersistenceManager. - * If set to false, this PersistenceManager will not create tracked - * SCO instances for new persistent instances at commit with retainValues - * set to true and while retrieving data from a datastore. - * - * @param flag boolean requireTrackedSCO flag - */ - public void setRequireTrackedSCO (boolean flag) { - // RESOLVE: synchronization - _requireTrackedSCO = flag; - } - - /** In order for the application to construct instance of the ObjectId class - * it needs to know the class being used by the JDO implementation. - * @param cls the PersistenceCapable Class - * @return the Class of the ObjectId of the parameter - */ - public Class getObjectIdClass(Class cls) { - PersistenceConfig config = loadPersistenceConfig(cls); - return config.getOidClass(); - } - - /** - * Returns a new instance of the object defined by the given - * StateManager - * @param sm StateManager - * @return new instance of the object - */ - public Object newInstance(StateManager sm) { - Object o = null; - - PersistenceConfig config = sm.getPersistenceConfig(); - - if (config == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.newinstance.badsm"));// NOI18N - } - - Constructor constr = config.getConstructor(); - try { - if (constr != null) { - o = constr.newInstance(new Object[]{sm}); - - // Initalize the state manager to reference this pm and the newly created instance - sm.setPersistenceManager(this); - sm.setPersistent(o); - } - } catch (Exception e) { - throw new JDOFatalUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.assertpersistencecapable.error", // NOI18N - config.getPersistenceCapableClass().getName()), e); - } - - return o; - } - - /** - * Executes the given retrieve descriptor. The result - * is a collection unless an aggregate query was specified. - * In most cases the query result is a collection of - * persistent objects. In case of a projection - * on a local field the collection holds objects of that - * type. For aggregate queries the result is a - * single object, which type was defined by the caller. - * - * @param action The retrieve descriptor. - * @param parameters The input parameters for the query. - * @return A collection of (persistent) objects unless - * an aggregate query was specified. - */ - public Object retrieve(RetrieveDesc action, ValueFetcher parameters) - { - acquireShareLock(); - - try { - assertActiveTransaction(true); - return _store.retrieve(this, action, parameters); - } finally { - releaseShareLock(); - } - } - - /** - * Executes the given retrieve descriptor. The result - * is a collection unless an aggregate query was specified. - * In most cases the query result is a collection of - * persistent objects. In case of a projection - * on a local field the collection holds objects of that - * type. For aggregate queries the result is a - * single object, which type was defined by the caller. - * - * @param action The retrieve descriptor. - * @return A collection of (persistent) objects unless - * an aggregate query was specified. - */ - public Object retrieve(RetrieveDesc action) { - return retrieve(action, null); - } - - /** - * Return a RetrieveDesc given a Class object. - */ - public RetrieveDesc getRetrieveDesc(Class classType) { - acquireShareLock(); - - try { - loadPersistenceConfig(classType); - return _store.getRetrieveDesc(classType); - } finally { - releaseShareLock(); - } - } - - /** - * Return a RetrieveDesc for a foreign field (relationship) given the - * Class object for the parent class. - */ - public RetrieveDesc getRetrieveDesc(String fieldName, Class classType) { - acquireShareLock(); - - try { - loadPersistenceConfig(classType); - return _store.getRetrieveDesc(fieldName, classType); - } finally { - releaseShareLock(); - } - } - - - /** - * Register instance in the weak cache only. Used to restore persistent instance - * at the rollback if it was replaced during transaction execution with another - * instance with the same object Id. - */ - public void registerInstance(StateManager sm, Object oid) { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) - { - Object[] items = new Object[] {Thread.currentThread(), oid, this, _jta}; - logger.finest("sqlstore.persistencemgr.registerinstance",items); // NOI18N - } - - try { - acquireCacheLock(); - if (debug) - logger.finest("sqlstore.persistencemgr.registerinstancein_wkc"); // NOI18N - - _weakCache.put(oid, sm); - - if (sm.needsRegisterWithVersionConsistencyCache()) { - addToVersionConsistencyCache(sm); - } - } finally { - releaseCacheLock(); - } - } - - /** - * Register instance in the transactional cache - */ - public void registerInstance(StateManager sm, Object oid, - boolean throwDuplicateException, - boolean forceRegister) { - if (oid == null) { - oid = sm.getObjectId(); - } - - boolean debug = logger.isLoggable(); - if (debug) { - Object[] items = new Object[] {Thread.currentThread(), oid, sm, this, _jta}; - logger.finest("sqlstore.persistencemgr.registerinstance",items); // NOI18N - } - - // - // register in all caches - // We do explicit synchronization here using the cacheMutex. Note that for - // performance reason, we only synchronize in the case where the instance - // is not already in the cache. - // - try { - acquireCacheLock(); - if (!_weakCache.containsKey(oid)) { - if (debug) - logger.finest("sqlstore.persistencemgr.registerinstancein_wkc"); // NOI18N - - _weakCache.put(oid, sm); - } else if (throwDuplicateException) { - StateManager old = (StateManager)_weakCache.get(oid); - if (_supersedeDeletedInstance && old.isDeleted()) { - - if (debug) - logger.finer(I18NHelper.getMessage(messages, - "sqlstore.persistencemgr.replacingdeletedinstance", oid)); // NOI18N - - old.markNotRegistered(); - old.markVerifyAtDeregister(); - sm.markVerifyAtDeregister(); - sm.markReplacement(); - - // Add the dependency management, so that delete happens - // before the insert. This operation registers the new instance. - old.addDependency(sm); - - // Now we need to replace the old StateManager with the new - // in the _weakCache, because of the StateManager's dependency - // process. - _weakCache.put(oid, sm); - - // Do not proceed as addDependency registered instance already. - return; - - } else { - throw new JDODuplicateObjectIdException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.internalmakepersistent.dups"), // NOI18N - new Object[]{sm.getPersistent()}); - } - } - - if (_activeTransaction && (sm.isTransactional() || forceRegister)) { - if (debug) { - Object[] items = new Object[] {oid,sm.getPersistent(),this, _jta}; - logger.finest("sqlstore.persistencemgr.registerinstancein_txc",items); // NOI18N - } - - // Need to be carefull not to request registerInstance twice - // for a dirty instance. - if (sm.isDirty()) { - _txCache.add(sm); - } - - // _flushedCache is a Set so it cannot have duplicates. - _flushedCache.add(sm); - - if (sm.needsRegisterWithVersionConsistencyCache()) { - addToVersionConsistencyCache(sm); - } - } - - } finally { - releaseCacheLock(); - } - } - - public void deregisterInstance(Object oid) { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - Object[] items = new Object[] {oid,this,_jta}; - logger.finest("sqlstore.persistencemgr.deregisterinstance",items); // NOI18N - } - - if (oid != null) { - try { - acquireCacheLock(); - StateManager sm = (StateManager) _weakCache.remove(oid); - removeFromCaches(sm); - } finally { - releaseCacheLock(); - } - } - } - - public void deregisterInstance(Object oid, StateManager sm) { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - Object[] items = new Object[] {oid,this,_jta}; - logger.finest("sqlstore.persistencemgr.deregisterinstance.verify",items); // NOI18N - } - - try { - acquireCacheLock(); - Object known = _weakCache.get(oid); - if (known == sm) { - //deregister the instance from weak cache only if it is registered. - _weakCache.remove(oid); - if (debug) - logger.finest("sqlstore.persistencemgr.deregisterinstance.verified"); // NOI18N - } - - removeFromCaches(sm); - } finally { - releaseCacheLock(); - } - } - - /** - * If a transaction is active, removes the given StateManger from all - * caches, otherwise just from the Version Consistency cache. - * @param sm StateManager to remove - */ - private void removeFromCaches(StateManager sm) { - if (sm != null) { - if (_activeTransaction) { - // RESOLVE: Duplicates are not removed! - _txCache.remove(sm); - _flushedCache.remove(sm); - } - removeFromVersionConsistencyCache(sm); - } - } - - - /** - * Called by Transaction commit(). Flushes dirty instances to the store. - * Clean instances registered for Version Consistency are verified with - * the store. - */ - public void beforeCompletion() { - if (logger.isLoggable(Logger.FINEST)) { - logger.finest("sqlstore.persistencemgr.beforecompletion"); // NOI18N - } - - assertIsOpen(); - assertActiveTransaction(false); - _insideCommit = true; - - prepareToUpdate(); - - try { - flushTxCache(); - - // Verify version consistent instances on commit only. - if (!_insideFlush) { - verifyFlushedCache(); - } - } catch (JDODataStoreException ex) { - - // If an instance failed to flush, remember to cleanup the Version - // Consistency cache (see afterCompletion). - cleanupVersionConsistencyCache = true; - throw ex; - } - } - - /** - * Calls the state manager's prepare to update phases I-III. - * Phase II and III are called during commit processing only. - * - * @see StateManager#prepareToUpdatePhaseI - * @see StateManager#prepareToUpdatePhaseII - * @see StateManager#prepareToUpdatePhaseIII - */ - private void prepareToUpdate() { - for (int i = 0; i < _txCache.size(); i++) { - StateManager sm = (StateManager)_txCache.get(i); - // NOTE: prepareToUpdatePhaseI has the side-effect of adding more objects - // to the transaction cache. - - sm.prepareToUpdatePhaseI(); - } - - // We only do phase 2 and 3 during commit only. - if (!_insideFlush) { - HashSet phase3sms = new HashSet(); - - for (Iterator iter = _flushedCache.iterator(); iter.hasNext(); ) { - StateManager sm = (StateManager)iter.next(); - // NOTE: prepareToUpdatePhaseII has the side-effect of adding state managers - // to the phase3sms HashSet which need to have prepareToUpdatePhaseIII() - // called on them - - sm.prepareToUpdatePhaseII(phase3sms); - } - - Iterator iter = phase3sms.iterator(); - - // phase3sms should contain all the non-reachable autopersistence instance. - // We need to call prepareToUpdatePhaseIII on them to make sure we roll - // back any changes that may have been flushed to the datastore. - - while (iter.hasNext()) { - StateManager sm = (StateManager) iter.next(); - sm.prepareToUpdatePhaseIII(); - } - } - } - - /** - * Writes the instances from the transactional cache to the store. - * The transactional cache contains modified instances only. - * - * @exception JDOUserException if instances can't be flushed - * because of circular dependencies. - */ - private void flushTxCache() { - List err = flushToDataStore(_txCache); - - // Try to resolve dependencies. - if (err != null && err.size() > 0) { - Iterator iter = err.iterator(); - while (iter.hasNext()) { - ((StateManager) iter.next()).resolveDependencies(); - } - // Second flush. - err = flushToDataStore(err); - } - - if (err != null && err.size() > 0) { - _transaction.setRollbackOnly(); - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.notprocessed"), // NOI18N - toPCArray(err)); - } - } - - /** - * Loops through flushed cache and calls PersistentStore.verifyPersistent() - * on each instance. The flushed cache contains all instances accessed in - * this transaction. To prevent database deadlocks, it's important to - * iterate the flushed cache in the order the instances were used in the - * transaction, as garanteed by {@link LinkedHashSet}. - * - * @exception JDODataStoreException if a cached instance has been updated - * from outside. - */ - private void verifyFlushedCache() { - Iterator iter = _flushedCache.iterator(); - - while (iter.hasNext()) { - StateManager sm = (StateManager)iter.next(); - - if (sm.hasVersionConsistency() && !sm.verifyPersistent()) { - Object [] items = { sm.getPersistent() }; - - // The instance failed the verification with the data store. - sm.setVerificationFailed(); - throw new JDODataStoreException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.verificationfailed"), items); // NOI18N - } - } - } - - /** - * Writes the instances in flushList to the data store. - * Loops through the list and calls StateManager.updatePersistent() - * on each instance. - * - * @param flushList List of state managers to be flushed. - * @return List containing state managers not flushed - * because of unresolved dependencies, null if all - * instances could be processed. - */ - static private List flushToDataStore(List flushList) { - int size = flushList.size(); - List errorList = null; - - // The connection initialisation is not neccessary. There - // are two conditions in TransactionImpl assuring connections - // are not released in releaseConnections, - // even if the internal reference count on the connection is 0: - // - we are in the commit processing - // - in a non managed environment, connections aquired for queries in pessimistic - // transactions are not released until commit - // Please refer to TransactionImpl.releaseConnection - for (int i = 0; i < size; i++) { - StateManager sm = (StateManager)flushList.get(i); - StateManager smNext = - (i+1 < size)? (StateManager)flushList.get(i+1) : null; - sm.updatePersistent(smNext); - } - - for (int i = 0; i < size; i++) { - StateManager sm = (StateManager)flushList.get(i); - if (!sm.isProcessed()) { - if (errorList == null) { - errorList = new ArrayList(); - } - - // Dependencies have not been resolved. - errorList.add(sm); - } - } - return errorList; - } - - /** - * Converts the list smList of state managers into - * an Array of persistence capable instances. - * - * @param smList List of state managers. - * @return Array of persistence capable instances. - */ - static private Object[] toPCArray(List smList) { - final int size = smList.size(); - if (size > 0) { - List pcList = new ArrayList(size); - - for (int i = 0; i < size; i++) { - StateManager sm = (StateManager)smList.get(i); - pcList.add(sm.getPersistent()); - } - return pcList.toArray(); - } - return null; - } - - /** - * Called by Transaction commit() or rollback() - * cleans up transactional cache - * @param status jakarta.transaction.Status - */ - public void afterCompletion(int status) { - assertIsOpen(); - _insideCommit = true; - boolean abort = ((status == Status.STATUS_ROLLEDBACK) || - (status == Status.STATUS_ROLLING_BACK) || - (status == Status.STATUS_MARKED_ROLLBACK)); - boolean debug = false; - debug = logger.isLoggable(Logger.FINEST); - if (debug) - logger.finest("sqlstore.persistencemgr.aftercompletion",new Boolean(abort)); // NOI18N - - boolean retainValues = _transaction.getRetainValues(); - - for (Iterator iter = _flushedCache.iterator(); iter.hasNext(); ) { - StateManager sm = (StateManager)iter.next(); - if (debug) - logger.finest("sqlstore.persistencemgr.aftercompletion.process",sm.getObjectId()); // NOI18N - - if (abort) { - rollback(sm, retainValues); - } else { - commit(sm, retainValues); - } - } - - // Clear the transactional caches - _txCache.clear(); - _flushedCache.clear(); - - _insideCommit = false; - cleanupVersionConsistencyCache = false; - } - - /** - * Commits the given StateManager instance after first adding it to the - * Version Consistency cache (if necessary). - * @param sm Instance to be comitted and possibly added to the cache. - * @param retainValues as per the current transaction. - */ - private void commit(StateManager sm, boolean retainValues) { - - if (sm.needsUpdateInVersionConsistencyCache()) { - StateManager nonTxSM = lookupFromVersionConsistencyCache(sm); - - if (null != nonTxSM) { - nonTxSM.copyFields(sm); - } else { - addToVersionConsistencyCache(sm); - } - } - sm.commit(retainValues); - } - - /** - * Does a rollback on the given StateManager instance after first removing - * it from the Version Consistency cache (if necessary). - * @param sm Instance to be rolled back and possibly removed from the - * cache. - * @param retainValues as per the current transaction. - */ - private void rollback(StateManager sm, boolean retainValues) { - if (cleanupVersionConsistencyCache && sm.isVerificationFailed()) { - removeFromVersionConsistencyCache(sm); - } - sm.rollback(retainValues); - } - - /** - * Adds given instance to the Version Consistency cache, if the - * instance supports Version Consistency. - * @param sm Instance to be added to the cache. - * @return If an instance was already in the cache for the given - * sm, it is returned; otherwise null. - */ - private StateManager addToVersionConsistencyCache(StateManager sm) { - StateManager rc = null; - - if (null != sm && sm.hasVersionConsistency()) { - Class pcType = sm.getPersistent().getClass(); - Object oid = sm.getObjectId(); - VersionConsistencyCache vcCache = - persistenceManagerFactory.getVersionConsistencyCache(); - - if (vcCache.get(pcType, oid) == null) { - StateManager nonTxSM = createStateManager(pcType); - - nonTxSM.copyFields(sm); - nonTxSM.setPersistenceManager(null); // Disconnect SM from PM - - rc = vcCache.put(pcType, oid, nonTxSM); - } - } - return rc; - } - - /** - * Removes given instance from the Version Consistency cache, if the - * instance supports Version Consistency. - * @param sm Instance to be removed from the cache. - * @return If an instance was already in the cache for the given - * sm, it is returned; otherwise null. - */ - private StateManager removeFromVersionConsistencyCache(StateManager sm) { - StateManager rc = null; - - if (null != sm && sm.hasVersionConsistency()) { - Class pcType = sm.getPersistent().getClass(); - Object oid = sm.getObjectId(); - VersionConsistencyCache vcCache = - persistenceManagerFactory.getVersionConsistencyCache(); - rc = vcCache.remove(pcType, oid); - - if (null == rc) { - // XXX should not happen; throw exception? - } - } - return rc; - } - - /** - * @inheritDoc - */ - public boolean initializeFromVersionConsistencyCache(StateManager sm) { - boolean rc = false; - StateManager nonTxSM = lookupFromVersionConsistencyCache(sm); - - if (null != nonTxSM) { - rc = true; - - // Synchronize so that no other threads change/access the - // cache'd nonTxSm while copying fields. - synchronized (nonTxSM) { - sm.copyFields(nonTxSM); - } - sm.initialize(true); - } - return rc; - } - - /** - * Looks up given instance from the Version Consistency cache, if the - * instance supports Version Consistency. - * @param sm Instance to be looked up from the cache. - * @return If an instance was already in the cache for the given - * sm, it is returned; otherwise null. - */ - private StateManager lookupFromVersionConsistencyCache(StateManager sm) { - StateManager rc = null; - - if (null != sm && sm.hasVersionConsistency()) { - Class pcType = sm.getPersistent().getClass(); - Object oid = sm.getObjectId(); - VersionConsistencyCache vcCache = - persistenceManagerFactory.getVersionConsistencyCache(); - - rc = vcCache.get(pcType, oid); - } - return rc; - } - - public void setStateManager(Object pc, StateManager sm) { - if (pc instanceof PersistenceCapable) { - ((PersistenceCapable) pc).jdoSetStateManager(sm); - } - - //RESOLVE: Otherwise, should throw an exception. - } - - - public void setFlags(Object pc, byte flags) { - if (pc instanceof PersistenceCapable) { - ((PersistenceCapable) pc).jdoSetFlags(flags); - } - - //RESOLVE: Otherwise, should throw an exception. - } - - public byte getFlags(Object pc) { - if (pc instanceof PersistenceCapable) { - return ((PersistenceCapable) pc).jdoGetFlags(); - } - - return 0; - //RESOLVE: Otherwise, should throw an exception. - } - - public StateManager getStateManager(Object pc) { - if (pc instanceof PersistenceCapable) { - return ((PersistenceCapable) pc).jdoGetStateManager(); - } - - return null; - //RESOLVE: Otherwise, should throw an exception. - } - - - public void setField(Object o, int fieldNumber, Object value) { - if (o instanceof PersistenceCapable) { - PersistenceCapable pc = (PersistenceCapable) o; - pc.jdoSetField(fieldNumber, value); - } - - //RESOLVE: Otherwise, should throw an exception. - } - - public Object getField(Object pc, int fieldNumber) { - if (pc instanceof PersistenceCapable) { - return ((PersistenceCapable) pc).jdoGetField(fieldNumber); - } - - //RESOLVE: Otherwise, should throw an exception. - return null; - } - - public void clearFields(Object pc) { - if (pc instanceof PersistenceCapable) { - ((PersistenceCapable) pc).jdoClear(); - } - } - - /** - * Returns a new Second Class Object instance of the type specified, - * with the owner and field name to notify upon changes to the value - * of any of its fields. If a collection class is created, then the - * class does not restrict the element types, and allows nulls to be added as elements. - * - * @param type Class of the new SCO instance - * @param owner the owner to notify upon changes - * @param fieldName the field to notify upon changes - * @return the object of the class type - */ - public Object newSCOInstance(Class type, Object owner, String fieldName) { - Object obj = null; - - if (Collection.class.isAssignableFrom(type)) { - obj = this.newCollectionInstanceInternal(type, owner, fieldName, null, true, 0); - } else { - obj = newSCOInstanceInternal(type, owner, fieldName); - - } - - this.replaceSCO(fieldName, owner, obj); - - - return obj; - } - - /** - * Called by newSCOInstance from the public interface or internally - * by the runtime - * Will not result in marking field as dirty - * - * Returns a new Second Class Object instance of the type specified, - * @param type Class of the new SCO instance - * @param owner the owner to notify upon changes - * @param fieldName the field to notify upon changes - * @return the object of the class type - */ - public Object newSCOInstanceInternal(Class type, Object owner, String fieldName) { - - Object obj = null; - - if (type == java.sql.Date.class - || type == com.sun.jdo.spi.persistence.support.sqlstore.sco.SqlDate.class) { - obj = new com.sun.jdo.spi.persistence.support.sqlstore.sco.SqlDate(owner, fieldName); - - } else if (type == java.sql.Time.class - || type == com.sun.jdo.spi.persistence.support.sqlstore.sco.SqlTime.class) { - obj = new com.sun.jdo.spi.persistence.support.sqlstore.sco.SqlTime(owner, fieldName); - - } else if (type == java.sql.Timestamp.class - || type == com.sun.jdo.spi.persistence.support.sqlstore.sco.SqlTimestamp.class) { - obj = new com.sun.jdo.spi.persistence.support.sqlstore.sco.SqlTimestamp(owner, fieldName); - - } else if (type == com.sun.jdo.spi.persistence.support.sqlstore.sco.Date.class - || Date.class.isAssignableFrom(type)) { - obj = new com.sun.jdo.spi.persistence.support.sqlstore.sco.Date(owner, fieldName); - - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.newscoinstance.wrongclass", // NOI18N - type.getName())); - } - - return obj; - } - - - /** - * Returns a new Collection instance of the type specified, with the - * owner and field name to notify upon changes to the value of any of its fields. - * The collection class restricts the element types allowed to the elementType or - * instances assignable to the elementType, and allows nulls to be added as - * elements based on the setting of allowNulls. The Collection has an initial size - * as specified by the initialSize parameter. - * We choose to use HashSet as a default collection (no specific type is chosen) - * because we do not support duplicate objects in DB - * - * @param type Class of the new SCO instance - * @param owner the owner to notify upon changes - * @param fieldName the field to notify upon changes - * @param elementType the element types allowed - * @param allowNulls true if allowed - * @param initialSize initial size of the Collection - * @return the object of the class type - */ - public Object newCollectionInstance(Class type, Object owner, String fieldName, - Class elementType, boolean allowNulls, int initialSize) { - Object obj = newCollectionInstanceInternal(type, owner, fieldName, - elementType, allowNulls, initialSize); - - this.replaceSCO(fieldName, owner, obj); - - return obj; - } - - /** - * Called by newCollectionInstance from the public interface or internally - * by the runtime - * Will not result in marking field as dirty - * - * @see #newCollectionInstance for more information - * @param type Class of the new SCO instance - * @param owner the owner to notify upon changes - * @param fieldName the field to notify upon changes - * @param elementType the element types allowed - * @param allowNulls true if allowed - * @param initialSize initial size of the Collection - * @return the object of the class type - */ - public Object newCollectionInstanceInternal(Class type, Object owner, String fieldName, - Class elementType, boolean allowNulls, int initialSize) { - Object obj = null; - - // Make sure that the order of type comparison will go from - // narrow to wide: - if (type == HashSet.class - || type == com.sun.jdo.spi.persistence.support.sqlstore.sco.HashSet.class) { - if (initialSize == 0) - initialSize = 101; - obj = new com.sun.jdo.spi.persistence.support.sqlstore.sco.HashSet( - owner, fieldName, elementType, allowNulls, initialSize); -/* - } else if (type == Vector.class - || type == com.sun.jdo.spi.persistence.support.sqlstore.sco.Vector.class) { - newType = com.sun.jdo.spi.persistence.support.sqlstore.sco.Vector.class; - } else if (type == ArrayList.class - || type == com.sun.jdo.spi.persistence.support.sqlstore.sco.ArrayList.class) { - newType = com.sun.jdo.spi.persistence.support.sqlstore.sco.ArrayList.class; - } else if (List.class.isAssignableFrom(type)) { - newType = com.sun.jdo.spi.persistence.support.sqlstore.sco.Vector.class; -*/ - } else if (Set.class.isAssignableFrom(type)) { - if (initialSize == 0) - initialSize = 101; - obj = new com.sun.jdo.spi.persistence.support.sqlstore.sco.HashSet( - owner, fieldName, elementType, allowNulls, initialSize); - - } else if (Collection.class.isAssignableFrom(type)) { - // We choose to use HashSet as a default collection - // because we do not support duplicate objects in DB - if (initialSize == 0) - initialSize = 101; - obj = new com.sun.jdo.spi.persistence.support.sqlstore.sco.HashSet( - owner, fieldName, elementType, allowNulls, initialSize); - - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.newscoinstance.wrongclass", // NOI18N - type.getName())); - } - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) - logger.finest("sqlstore.persistencemgr.newcollection",obj.getClass()); // NOI18N - - return obj; - } - - /** - * Called by Query to flush updates to the database - * in pessimistic transaction. Calls internaly beforeCompletion() to do actual - * flush - * @see #beforeCompletion() - */ - public void internalFlush() { - acquireExclusiveLock(); - - try { - // - // Only flush if we are not in optimistic transaction. - // - if (_optimistic == false) { - // - // Note: no need to lock _cacheLock because we already have - // exclusive using of the _weakCache and _txCache due to - // the exclusive lock. - // - - _insideFlush = true; - beforeCompletion(); - _insideCommit = false; - - int status = _transaction.getStatus(); - - if ((status == Status.STATUS_ROLLEDBACK) || - (status == Status.STATUS_ROLLING_BACK) || - (status == Status.STATUS_MARKED_ROLLBACK)) { - return; // it is user's responsibility to rollback the transaction - //_transaction.rollback(); - } else { - for (int i = 0; i < _txCache.size(); i++) { - StateManager sm = (StateManager)_txCache.get(i); - sm.flushed(); - } - } - _insideFlush = false; - - // Clear the dirty cache - _txCache.clear(); - } - } finally { - releaseExclusiveLock(); - } - } - - /** - * For Transaction to notify PersistenceManager that - * status is changed - */ - public synchronized void notifyStatusChange(boolean isActive) { - _activeTransaction = isActive; - } - - /** - * For Transaction to notify PersistenceManager that - * optimistic flag is changed - */ - public synchronized void notifyOptimistic(boolean optimistic) { - this._optimistic = optimistic; - } - - /** - * Returns true if associated transaction is optimistic - */ - public boolean isOptimisticTransaction() { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) - logger.finest("sqlstore.persistencemgr.isoptimistic", new Boolean(_optimistic)); // NOI18N - - return _optimistic; - } - - - /** - * For Transaction to notify PersistenceManager that - * nontransactionalRead flag is changed - */ - public synchronized void notifyNontransactionalRead(boolean nontransactionalRead) { - this._nontransactionalRead = nontransactionalRead; - } - - /** - * Returns true if associated transaction is optimistic - */ - public boolean isNontransactionalRead() { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - logger.finest("sqlstore.persistencemgr.isnontxread",new Boolean(_nontransactionalRead)); // NOI18N - } - - return _nontransactionalRead; - } - - - /** - * Returns true if associated transaction is active - */ - public boolean isActiveTransaction() { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) - logger.finest("sqlstore.persistencemgr.isactivetx",new Boolean(_activeTransaction)); // NOI18N - - return _activeTransaction; - } - - // Returns current wrapper - public PersistenceManagerWrapper getCurrentWrapper() { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - logger.finest("sqlstore.persistencemgr.getcurrentwrapper",current); // NOI18N - } - - return current; - } - - - - - - // Remember the current wrapper - protected void pushCurrentWrapper(PersistenceManagerWrapper pmw) { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - Object[] items = new Object[] {current,pmw}; - logger.finest("sqlstore.persistencemgr.pushcurrentwrapper",items); // NOI18N - } - - current = pmw; - } - - // Replace current wrapper with the previous - protected void popCurrentWrapper(PersistenceManagerWrapper prev) { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - Object[] items = new Object[] {current,prev}; - logger.finest("sqlstore.persistencemgr.popcurrentwrapper",items); // NOI18N - } - - current = prev; - if (!_isClosed && _jta == null && current == null) { - this.close(); - } - } - - /** - * Assigns reference to jakarta.transaction.Transaction associated - * with the current thread in the managed environment - */ - protected void setJTATransaction(jakarta.transaction.Transaction t) { - if (this._jta != null) { - Object[] items = new Object[] {this._jta, t}; - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.setjtatransaction.notnulljta", // NOI18N - items)); - } - this._jta = t; - } - - /** Add a new created query instance to the queries collection. */ - private void registerQuery(QueryImpl q) - { - acquireExclusiveLock(); - - try { - queries.add(q); - } finally { - releaseExclusiveLock(); - } - } - - /** - * Disconnects all query instances created for this pm and nullifies the - * collection. This is to allow this pm to be gargabe collected. - */ - private void disconnectQueries() - { - for (Iterator i = queries.iterator(); i.hasNext();) - { - QueryImpl q = (QueryImpl)i.next(); - q.clearPersistenceManager(); - } - queries.clear(); - queries = null; - } - - /** --------------Private Methods-------------- */ - - /** - * Replace previous value of the SCO field with the newly created - * - * @param fieldName the field to notify upon changes - * @param owner the owner to notify upon changes - * @param obj new SCO Instance - */ - private void replaceSCO(String fieldName, Object owner, Object obj) { - if (owner instanceof PersistenceCapable) { - acquireShareLock(); - - try { - // Assign this SCO Collection to owner as reference - PersistenceCapable pc = (PersistenceCapable) owner; - StateManager sm = pc.jdoGetStateManager(); - - if (obj instanceof SCOCollection) { - acquireFieldUpdateLock(); - try { - sm.replaceObjectField(fieldName, obj); - } finally { - releaseFieldUpdateLock(); - } - } else { - sm.replaceObjectField(fieldName, obj); - } - } finally { - releaseShareLock(); - } - } - } - - private Object internalGetObjectId(StateManager sm) { - Object oid = sm.getObjectId(); - - // create a copy - return internalCloneOid(oid, sm); - } - - private void internalMakePersistent(PersistenceCapable pc) { - // - // We need to lock _fieldUpdateLock here because of - // the persitence-by-reacheability algorithm that can - // touch other instances. - // RESOLVE: We can optimize here to not have to lock - // _fieldUpdateLock if the instance does not contain any - // relationship field. - // - acquireFieldUpdateLock(); - try { - synchronized (pc) { - StateManager sm = null; - - if (pc.jdoIsPersistent()) { - sm = pc.jdoGetStateManager(); - - if (this != pc.jdoGetStateManager().getPersistenceManagerInternal()) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.another_pm"), // NOI18N - new Object[]{pc}); - } - } else { - Class classType = pc.getClass(); - loadPersistenceConfig(classType); - sm = _store.getStateManager(classType); - } - - sm.makePersistent(this, pc); - } - } finally { - releaseFieldUpdateLock(); - } - } - - private void internalDeletePersistent(PersistenceCapable pc) { - if (!(pc.jdoIsPersistent())) { - throw new JDOException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.internaldeletepersistent.transient"), // NOI18N - new Object[]{pc}); - } - - StateManager sm = pc.jdoGetStateManager(); - PersistenceManager pm = (PersistenceManager) sm.getPersistenceManagerInternal(); - - if (this != pm) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.another_pm"), // NOI18N - new Object[]{pc}); - } - - if (!pc.jdoIsDeleted()) { - // - // Synchronization is done in the state manager. - // - sm.deletePersistent(); - } - } - - /** - * Load metadata for the given OID Object - * @param oid the Oid - * @return classtype for the owning Class - */ - private Class loadClassForOid(Object oid) { - Class oidClass = oid.getClass(); - Class classType = _store.getClassByOidClass(oidClass); - if (classType != null) { - // Found in the DataStore - return classType; - } - - // loadDirectory(oidClass.getName()); - // loadClassByMethod(oid, oidClass); - loadByName(oidClass.getName(), oidClass.getClassLoader()); - - return _store.getClassByOidClass(oidClass); - } - - /** - * Load meta data for Object Class from package info - * - * @param s OID class name as String - * @param classLoader the classLoader of the oid class - */ - private void loadByName(String s, ClassLoader classLoader) { - int l = s.length(); - - if (l < 4) { - // Does not fit the pattern - return; - } - - String s1 = s.substring(l - 3); - - if (s1.equalsIgnoreCase(oidName_OID) && - (s.charAt(l - 4) == '.' || s.charAt(l - 4) == '$')) { - s = s.substring(0, l - 4); - } else if (s1.equalsIgnoreCase(oidName_KEY)) { - s = s.substring(0, l - 3); - } else { - return; - } - - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) - logger.finest("sqlstore.persistencemgr.loadingclass",s); // NOI18N - - - Class oidClass = null; - - try { - // take current class loader if not specified - if (classLoader == null) { - classLoader = getClass().getClassLoader(); - } - oidClass = Class.forName(s, true, classLoader); - - } catch (Exception e) { - throw new JDOFatalUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.loadclassforoid.wrongoidclass"), e);// NOI18N - } - - loadPersistenceConfig(oidClass); - } - - /** - * assert this PM instance is open - */ - private void assertIsOpen() { - if (_isClosed) { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - logger.finest("sqlstore.persistencemgr.assertisopen",this); // NOI18N - } - throw new JDOFatalUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.assertclosed.closed"));// NOI18N - } - } - - /** - * assert that the associated Transaction is active but allows to do commit processing. - */ - private void assertActiveTransaction(boolean insideQuery) { - boolean debug = false; - - debug = logger.isLoggable(Logger.FINEST); - - if (debug) { - logger.finest("sqlstore.persistencemgr.assertactivetx",_transaction); // NOI18N - } - - if (_insideCommit || (insideQuery && _transaction.getNontransactionalRead())) - return; - - if (!_activeTransaction) { - if (debug) { - logger.finest("sqlstore.persistencemgr.assertactivetx.closed",this); // NOI18N - } - throw new JDOException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.assertactivetransaction.error"));// NOI18N - } - } - - /** - * assert Object is PersistenceCapable - */ - private void assertPersistenceCapable(Object pc) { - if (!(pc instanceof PersistenceCapable)) { - throw new JDOException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.assertpersistencecapable.error", // NOI18N - pc.getClass().getName()), new Object[]{pc}); - } - } - - /** - * Set key field values from Oid into the Object - * - * @param sm StateManager of the Object to set key field values to - */ - private void setKeyFields(StateManager sm) { - Object o = sm.getPersistent(); - if (o == null) - return; - - Object oid = sm.getObjectId(); - try { - // Set key field vaues and mark them as present - PersistenceConfig config = sm.getPersistenceConfig(); - Field keyFields[] = config.getKeyFields(); - String keynames[] = config.getKeyFieldNames(); - for (int i = 0; i < keyFields.length; i++) { - Field keyField = keyFields[i]; - sm.makePresent(keynames[i], keyField.get(oid)); - } - - } catch (Exception e) { - //e.printStackTrace(); - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) - logger.finest("sqlstore.persistencemgr.setkeyfields",e); // NOI18N - } - } - - private PersistenceConfig loadPersistenceConfig(Class classType) { - return _store.getPersistenceConfig(classType); - } - - /** - * Creates local copy of an oid object - * @param oid original object - * @param sm StateManager to be used for the field info. - * @return object local copy - */ - private Object internalCloneOid(Object oid, StateManager sm) { - if (oid == null) - return null; - - if (!_requireCopyObjectId) { - return oid; - } - - boolean debug = logger.isLoggable(Logger.FINEST); - - Object newoid = null; - try { - Class oidClass = oid.getClass(); - newoid = oidClass.newInstance(); - PersistenceConfig config = sm.getPersistenceConfig(); - Field keyFields[] = config.getKeyFields(); - - // Copy key field vaues - for (int i = 0; i < keyFields.length; i++) { - Field keyField = keyFields[i]; - keyField.set(newoid, keyField.get(oid)); - } - - } catch (Exception e) { - //e.printStackTrace(); - if (debug) - logger.finest("sqlstore.persistencemgr.internalcloneoid",e); // NOI18N - newoid = null; - } - - if (debug) - { - Object[] items = new Object[] {oid , newoid, new Boolean((oid == newoid))}; - logger.finest("sqlstore.persistencemgr.internalcloneoid.old",items); // NOI18N - } - - return newoid; - } - - - /** - * Acquires a share lock from the persistence manager. This method will - * put the calling thread to sleep if another thread is holding the exclusive lock. - */ - public void acquireShareLock() { - if ( ! _multithreaded) { - return; - } - - boolean debug = logger.isLoggable(Logger.FINEST); - - synchronized (_readWriteLock) { - // - // If the current thread is already holding the exclusive lock, - // we simply grant the share lock without incrementing - // the counter. - // - if ((_readWriteCount < 0) && - (_exclusiveLockHolder == Thread.currentThread())) { - return; - } - - // - // If _readWriteCount is negative, it means a thread is holding the exclusive lock. - // We simply put this thread to sleep and wait for it to be notified by the - // thread releasing the exclusive lock. - // - while (_readWriteCount < 0) { - _waiterCount++; - - try { - if (debug) { - logger.finest("sqlstore.persistencemgr.acquiresharedlock",Thread.currentThread()); // NOI18N - } - - _readWriteLock.wait(); - } catch (InterruptedException e) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.acquiresharelock.interrupted"), e);// NOI18N - } finally { - _waiterCount--; - } - } - - try { - // - // Make sure no one has closed the pm. - // - assertIsOpen(); - - } catch (JDOException ex) { - // - // If _readWriteCount is 0, it means that no thread is holding a share - // or exclusive lock. If there is a thread waiting, we wake it up by - // notifying it. - // - if (_readWriteCount == 0 && _waiterCount > 0) { - _readWriteLock.notifyAll(); - } - throw ex; - } - - _readWriteCount++; - if (debug) { - logger.finest("sqlstore.persistencemgr.acquiresharedlock.rdwrcount", // NOI18N - Thread.currentThread(),new Long(_readWriteCount)); - } - - if (_readWriteCount <= 0) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.acquiresharelock.failed"));// NOI18N - } - } - } - - /** - * Releases the share lock and notify any thread waiting to get an exclusive lock. - * Note that every releaseShareLock() call needs to be preceeded by an acquireShareLock() call. - */ - public void releaseShareLock() { - if ( ! _multithreaded) { - return; - } - - boolean debug = logger.isLoggable(Logger.FINEST); - - - synchronized (_readWriteLock) { - // - // If the current thread is already holding the exclusive lock, - // we simply release the share lock without decrementing - // the counter. - // - if ((_readWriteCount < 0) && - (_exclusiveLockHolder == Thread.currentThread())) { - return; - } - - try { - if (_readWriteCount == 0) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.releasesharelock.failed"));// NOI18N - } - - _readWriteCount--; - } finally { - // - // If _readWriteCount is 0, it means that no thread is holding a share - // or exclusive lock. If there is a thread waiting, we wake it up by - // notifying it. - // - if ((_waiterCount > 0) && (_readWriteCount == 0)) { - _readWriteLock.notifyAll(); - } - - if (debug) { - Object[] items = new Object[] {Thread.currentThread(), _readWriteCount}; - logger.finest("sqlstore.persistencemgr.releasesharedlock",items); // NOI18N - } - } - } - } - - /** - * Acquires an exclusive lock from the persistence manager. By acquiring an - * exclusive lock, a thread is guaranteed to have exclusive right to the persistence - * runtime meaning no other threads can perform any operation in the sqlstore. - * NOTE: This implementation does not detect if a thread holding a share lock - * attempts to acquire an exclusive lock. It is up to the callers to make sure - * this does not happen. - */ - public void acquireExclusiveLock() { - if ( ! _multithreaded) { - return; - } - - boolean debug = logger.isLoggable(Logger.FINEST); - - synchronized (_readWriteLock) { - Thread currentThread = Thread.currentThread(); - - // - // If the current thread already holds the exclusive lock, we simply - // decrement _readWriteCount to indicate the current level of the exclusive - // lock. - // - if (currentThread == _exclusiveLockHolder) { - _readWriteCount--; - } else { - // - // If _readWriteCount is not 0, it means that there is either a share lock - // or an exclusive outstanding. We simply put the current thread to sleep - // any wait for it to be notified by the thread releasing the lock. - // - while (_readWriteCount != 0) { - _waiterCount++; - - try { - - if (debug) { - logger.finest("sqlstore.persistencemgr.acquireexclusivelock",currentThread); // NOI18N - } - - _readWriteLock.wait(); - } catch (InterruptedException e) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.acquireexclusivelock.interrupted"), e);// NOI18N - } finally { - _waiterCount--; - } - } - - try { - // - // Make sure no one has closed the pm. - // - assertIsOpen(); - - } catch (JDOException ex) { - // - // If _readWriteCount is 0 and _waiterCount is greater than 0, - // we need to notify a thread waiting to acquire a lock. - // - if (_readWriteCount == 0 && _waiterCount > 0) { - _readWriteLock.notifyAll(); - } - throw ex; - } - - _readWriteCount = -1; - _exclusiveLockHolder = currentThread; - - if (debug) { - Object[] items = new Object[] {currentThread, _readWriteCount}; - logger.fine("sqlstore.persistencemgr.acquireexclusivelock.count",items); // NOI18N - } - - } - } - } - - /** - * Release the exclusive lock and notify any thread waiting to get an exclusive or - * share lock. Note that every releaseShareLock() call needs to be preceeded by - * an acquireExclusiveLock() call. - */ - public void releaseExclusiveLock() { - if ( ! _multithreaded) { - return; - } - - boolean debug = logger.isLoggable(Logger.FINEST); - - - synchronized (_readWriteLock) { - try { - if (_readWriteCount >= 0) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.releaseexclusivelock.failed"));// NOI18N - } - - _readWriteCount++; - } finally { - if (debug) { - Object[] items = new Object[] {Thread.currentThread(),new Long(_readWriteCount)}; - logger.finest("sqlstore.persistencemgr.releaseexclusivelock",items); // NOI18N - } - - // - // If _readWriteCount is 0 and _waiterCount is greater than 0, - // we need to notify a thread waiting to acquire a lock. - // - if (_readWriteCount == 0) { - if (_waiterCount > 0) { - _readWriteLock.notifyAll(); - } - - _exclusiveLockHolder = null; - } - } - } - } - - /** - * Acquire lock for synchronizing field updates. - */ - public void acquireFieldUpdateLock() { - _fieldUpdateLock.acquire(); - } - - /** - * Release lock for synchronizing field updates. - */ - public void releaseFieldUpdateLock() { - _fieldUpdateLock.release(); - } - - /** - * Lock cache for getObjectById and result processing synchronization. - */ - public void acquireCacheLock() { - _cacheLock.acquire(); - } - - /** Release cache lock. - */ - public void releaseCacheLock() { - _cacheLock.release(); - } - - /** --------------Inner Class-------------- */ - - /** - * Class that implements interface FilenameFilter. - * Used to filter directory listings in the list method of class File. - */ - static class ExtensionFilter implements FilenameFilter { - private String ext; - - public ExtensionFilter(String ext) { - this.ext = ext; - } - - /** - * Tests if a specified file should be included in a file list. - * @param dir the directory in which the file was found - * @param name the name of the file - * @return true if the name should be included in the file list - */ - public boolean accept(File dir, String name) { - return name.endsWith(ext); - } - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerWrapper.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerWrapper.java deleted file mode 100644 index c002bd34645..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/PersistenceManagerWrapper.java +++ /dev/null @@ -1,643 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistenceManagerWrapper.java - * - * Created on January 16, 2001 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.impl; - -import com.sun.jdo.api.persistence.support.*; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.Collection; -import java.util.Properties; -import java.util.ResourceBundle; - -/** PersistenceManagerWrapper is .... - */ - -public class PersistenceManagerWrapper implements PersistenceManager { - - // Previous PersistenceManagerWrapper - private PersistenceManagerWrapper prev = null; - - // Actual PersistenceManager - private PersistenceManagerImpl pm = null; - - // Boolean flag that allows to use this wrapper - private boolean isValid = false; - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - PersistenceManagerWrapper.class.getClassLoader()); - - // Constructed by com.sun.jdo.spi.persistence.support.sqlstore.SQLPersistenceManagerFactory - PersistenceManagerWrapper(PersistenceManagerImpl pm) { - this.pm = pm; - prev = pm.getCurrentWrapper(); - pm.pushCurrentWrapper(this); - isValid = true; - } - - /** A PersistenceManager instance can be used until it is closed. - * @return if this PersistenceManager has been closed - * @see #close() - */ - public boolean isClosed() { - if (isValid) { - return pm.isClosed(); - } else { - return true; - } - } - - /** A PersistenceManager instance can be used until it is closed. - * - *

    This method closes the PersistenceManager, which if pooled, releases it - * to the pool of available PersistenceManagers. - */ - public void close() { - if (isValid) { - isValid = false; - pm.popCurrentWrapper(prev); - pm = null; - prev = null; - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** There is exactly one Transaction associated with a PersistenceManager. - * @return the Transaction associated with this - * PersistenceManager. - */ - public Transaction currentTransaction() { - if (isValid) { - return pm.currentTransaction(); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Create a new Query with no elements. - * @return a new Query instance with no elements. - */ - public Query newQuery() { - if (isValid) { - return pm.newQuery(); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Create a new Query using elements from another Query. The other Query - * must have been created by the same JDO implementation. It might be active - * in a different PersistenceManager or might have been serialized and - * restored. - * @return the new Query - * @param compiled another Query from the same JDO implementation - */ - public Query newQuery(Object compiled) { - if (isValid) { - return pm.newQuery(compiled); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Create a new Query specifying the Class of the results. - * @param cls the Class of the results - * @return the new Query - */ - public Query newQuery(Class cls) { - if (isValid) { - return pm.newQuery(cls); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Create a new Query with the Class of the results and candidate Collection. - * specified. - * @param cls the Class of results - * @param cln the Collection of candidate instances - * @return the new Query - */ - public Query newQuery(Class cls, Collection cln) { - if (isValid) { - return pm.newQuery(cls, cln); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Create a new Query with the Class of the results and Filter. - * specified. - * @param cls the Class of results - * @param filter the Filter for candidate instances - * @return the new Query - */ - public Query newQuery(Class cls, String filter) { - if (isValid) { - return pm.newQuery(cls, filter); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Create a new Query with the Class of the results, candidate Collection, - * and Filter. - * @param cls the Class of results - * @param cln the Collection of candidate instances - * @param filter the Filter for candidate instances - * @return the new Query - */ - public Query newQuery(Class cls, Collection cln, String filter) { - if (isValid) { - return pm.newQuery(cls, cln, filter); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** The PersistenceManager may manage a collection of instances in the data - * store based on the class of the instances. This method returns a - * Collection of instances in the data store that might be iterated or - * given to a Query as the Collection of candidate instances. - * @param persistenceCapableClass Class of instances - * @param subclasses whether to include instances of subclasses - * @return a Collection of instances - * @see Query - */ - public Collection getExtent(Class persistenceCapableClass, boolean subclasses) { - if (isValid) { - return pm.getExtent(persistenceCapableClass, subclasses); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** This method locates a persistent instance in the cache of instances - * managed by this PersistenceManager. If an instance with the same ObjectId - * is found it is returned. Otherwise, a new instance is created and - * associated with the ObjectId. - * - *

    If the instance does not exist in the data store, then this method will - * not fail. However, a request to access fields of the instance will - * throw an exception. - * @param oid an ObjectId - * @return the PersistenceCapable instance with the specified - * ObjectId - */ - public Object getObjectById(Object oid) { - if (isValid) { - return pm.getObjectById(oid); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** This method locates a persistent instance in the cache of instances - * managed by this PersistenceManager. - * The getObjectById method attempts - * to find an instance in the cache with the specified JDO identity. - * The oid parameter object might have been returned by an earlier call - * to getObjectId or might have been constructed by the application. - *

    If the PersistenceManager is unable to resolve the oid parameter - * to an ObjectId instance, then it throws a JDOUserException. - *

    If the validate flag is false, and there is already an instance in the - * cache with the same JDO identity as the oid parameter, then this method - * returns it. There is no change made to the state of the returned - * instance. - *

    If there is not an instance already in the cache with the same JDO - * identity as the oid parameter, then this method creates an instance - * with the specified JDO identity and returns it. If there is no - * transaction in progress, the returned instance will be hollow or - * persistent-nontransactional, at the choice of the implementation. - *

    If there is a transaction in progress, the returned instance will - * be hollow, persistent-nontransactional, or persistent-clean, at the - * choice of the implementation. - * @see #getObjectId(Object pc) - * @return the PersistenceCapable instance with the specified ObjectId - * @param oid an ObjectId - * @param validate if the existence of the instance is to be validated - */ - public Object getObjectById (Object oid, boolean validate) { - if (isValid) { - return pm.getObjectById(oid, validate); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** The ObjectId returned by this method represents the JDO identity of - * the instance. The ObjectId is a copy (clone) of the internal state - * of the instance, and changing it does not affect the JDO identity of - * the instance. - * @param pc the PersistenceCapable instance - * @return the ObjectId of the instance - */ - public Object getObjectId(Object pc) { - if (isValid) { - return pm.getObjectId(pc); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** This method is used to get a PersistenceCapable instance - * representing the same data store object as the parameter, that is valid - * for this PersistenceManager. - * @param pc a PersistenceCapable instance - * @return the PersistenceCapable instance representing the - * same data store object - */ - public Object getTransactionalInstance(Object pc) { - if (isValid) { - return pm.getTransactionalInstance(pc); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Make the transient instance persistent in this PersistenceManager. - * This method must be called in an active transaction. - * The PersistenceManager assigns an ObjectId to the instance and - * transitions it to persistent-new. - * The instance will be managed in the Extent associated with its Class. - * The instance will be put into the data store at commit. - * @param pc a transient instance of a Class that implements - * PersistenceCapable - */ - public void makePersistent(Object pc) { - if (isValid) { - pm.makePersistent(pc); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Make an array of instances persistent. - * @param pcs an array of transient instances - * @see #makePersistent(Object pc) - */ - public void makePersistent(Object[] pcs) { - if (isValid) { - pm.makePersistent(pcs); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Make a Collection of instances persistent. - * @param pcs a Collection of transient instances - * @see #makePersistent(Object pc) - */ - public void makePersistent(Collection pcs) { - if (isValid) { - pm.makePersistent(pcs); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Delete the persistent instance from the data store. - * This method must be called in an active transaction. - * The data store object will be removed at commit. - * Unlike makePersistent, which makes the closure of the instance persistent, - * the closure of the instance is not deleted from the data store. - * This method has no effect if the instance is already deleted in the - * current transaction. - * This method throws an exception if the instance is transient or is managed by another - * PersistenceManager. - * - * @param pc a persistent instance - */ - public void deletePersistent(Object pc) { - if (isValid) { - pm.deletePersistent(pc); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Delete an array of instances from the data store. - * @param pcs a Collection of persistent instances - * @see #deletePersistent(Object pc) - */ - public void deletePersistent(Object[] pcs) { - if (isValid) { - pm.deletePersistent(pcs); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** Delete a Collection of instances from the data store. - * @param pcs a Collection of persistent instances - * @see #deletePersistent(Object pc) - */ - public void deletePersistent(Collection pcs) { - if (isValid) { - pm.deletePersistent(pcs); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** This method returns the PersistenceManagerFactory used to create - * this PersistenceManager. It returns null if this instance was - * created via a constructor. - * @return the PersistenceManagerFactory that created - * this PersistenceManager - */ - public PersistenceManagerFactory getPersistenceManagerFactory() { - if (isValid) { - return pm.getPersistenceManagerFactory(); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** The application can manage the PersistenceManager instances - * more easily by having an application object associated with each - * PersistenceManager instance. - * @param o the user instance to be remembered by the PersistenceManager - * @see #getUserObject - */ - public void setUserObject(Object o) { - if (isValid) { - pm.setUserObject(o); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** The application can manage the PersistenceManager instances - * more easily by having an application object associated with each - * PersistenceManager instance. - * @return the user object associated with this PersistenceManager - * @see #setUserObject - */ - public Object getUserObject() { - if (isValid) { - return pm.getUserObject(); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** The JDO vendor might store certain non-operational properties and - * make those properties available to applications (for troubleshooting). - * - *

    Standard properties include: - *

  • VendorName
  • - *
  • VersionNumber
  • - * @return the Properties of this PersistenceManager - */ - public Properties getProperties() { - if (isValid) { - return pm.getProperties(); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** - * Returns the boolean value of the supersedeDeletedInstance flag - * for this PersistenceManager. If set to true, deleted instances are - * allowed to be replaced with persistent-new instances with the equal - * Object Id. - * @return boolean supersedeDeletedInstance flag - */ - public boolean getSupersedeDeletedInstance () { - if (isValid) { - return pm.getSupersedeDeletedInstance(); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - - /** - * Sets the supersedeDeletedInstance flag for this PersistenceManager. - * @param flag boolean supersedeDeletedInstance flag - */ - public void setSupersedeDeletedInstance (boolean flag) { - if (isValid) { - pm.setSupersedeDeletedInstance(flag); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** - * Returns the boolean value of the requireCopyObjectId flag - * for this PersistenceManager. If set to false, the PersistenceManager - * does not create a copy of an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see PersistenceManager#getObjectId(Object pc) - * @see PersistenceManager#getObjectById(Object oid) - * @return boolean requireCopyObjectId flag - */ - public boolean getRequireCopyObjectId() { - if (isValid) { - return pm.getRequireCopyObjectId(); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - - /** - * Sets the requireCopyObjectId flag for this PersistenceManager. - * If set to false, the PersistenceManager will not create a copy of - * an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see PersistenceManager#getObjectId(Object pc) - * @see PersistenceManager#getObjectById(Object oid) - * @param flag boolean requireCopyObjectId flag - */ - public void setRequireCopyObjectId (boolean flag) { - if (isValid) { - pm.setRequireCopyObjectId(flag); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** - * Returns the boolean value of the requireTrackedSCO flag - * for this PersistenceManager. If set to false, the PersistenceManager - * will not create tracked SCO instances for - * new persistent instances at commit with retainValues set to true - * and while retrieving data from a datastore. - * - * @return boolean requireTrackedSCO flag - */ - public boolean getRequireTrackedSCO() { - if (isValid) { - return pm.getRequireTrackedSCO(); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - /** - * Sets the requireTrackedSCO flag for this PersistenceManager. - * If set to false, the PersistenceManager will not create tracked - * SCO instances for new persistent instances at commit with retainValues - * set to true and while retrieving data from a datastore. - * - * @param flag boolean requireTrackedSCO flag - */ - public void setRequireTrackedSCO (boolean flag) { - if (isValid) { - pm.setRequireTrackedSCO(flag); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - - /** In order for the application to construct instance of the ObjectId class - * it needs to know the class being used by the JDO implementation. - * @param cls the PersistenceCapable Class - * @return the Class of the ObjectId of the parameter - */ - public Class getObjectIdClass(Class cls) { - if (isValid) { - return pm.getObjectIdClass(cls); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - - /** - * Returns a new Second Class Object instance of the type specified, - * with the owner and field name to notify upon changes to the value - * of any of its fields. If a collection class is created, then the - * class does not restrict the element types, and allows nulls to be added as elements. - * - * @param type Class of the new SCO instance - * @param owner the owner to notify upon changes - * @param fieldName the field to notify upon changes - * @return the object of the class type - */ - public Object newSCOInstance(Class type, Object owner, String fieldName) { - if (isValid) { - return pm.newSCOInstance(type, owner, fieldName); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - - /** - * Returns a new Collection instance of the type specified, with the - * owner and field name to notify upon changes to the value of any of its fields. - * The collection class restricts the element types allowed to the elementType or - * instances assignable to the elementType, and allows nulls to be added as - * elements based on the setting of allowNulls. The Collection has an initial size - * as specified by the initialSize parameter. - * - * @param type Class of the new SCO instance - * @param owner the owner to notify upon changes - * @param fieldName the field to notify upon changes - * @param elementType the element types allowed - * @param allowNulls true if allowed - * @param initialSize initial size of the Collection - * @return the object of the class type - */ - public Object newCollectionInstance(Class type, Object owner, String fieldName, - Class elementType, boolean allowNulls, int initialSize) { - if (isValid) { - return pm.newCollectionInstance(type, owner, fieldName, elementType, allowNulls, initialSize); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerwrapper.invalidpm"));// NOI18N - } - } - - - public PersistenceManager getPersistenceManager() { - return (PersistenceManager) pm; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/SQLPersistenceManagerFactory.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/SQLPersistenceManagerFactory.java deleted file mode 100644 index 2989babd726..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/SQLPersistenceManagerFactory.java +++ /dev/null @@ -1,980 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SQLPersistenceManagerFactory.java - * - * Created on March 6, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.impl; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.api.persistence.support.*; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceStore; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager; -import com.sun.jdo.spi.persistence.support.sqlstore.VersionConsistencyCache; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper; -import com.sun.jdo.spi.persistence.utility.BucketizedHashtable; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperPersistenceManager; - -//Remove this once checkLogger() is removed from initialize - -import javax.sql.DataSource; -import java.sql.SQLException; -import java.io.PrintWriter; -import java.sql.Connection; -import java.util.Map; -import java.util.Properties; -import java.util.ResourceBundle; - -/** - * - * @author Marina Vatkina - * @version 0.1 - */ - -public class SQLPersistenceManagerFactory - implements com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManagerFactory { - - private PersistenceStore _store = null; - private ConnectionFactory _connectionFactory = null; - private Object _dataSource = null; - private PersistenceManagerFactory _persistenceManagerFactory = null; - - /** - * PersistenceManager and Transaction default flags - */ - private boolean optimistic = true; - private boolean retainValues = true; - private boolean nontransactionalRead = true; - private boolean ignoreCache = true; - - /** - * sql Statement timeouts - */ - private int queryTimeout = 0; - private int updateTimeout = 0; - - /** Pooling size - */ - private int minPool = 0; - private int maxPool = 0; - - /** - * The logger - */ - private static Logger logger = LogHelperPersistenceManager.getLogger(); - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", //NOI18N - SQLPersistenceManagerFactory.class.getClassLoader()); - - /** - * bucket size for Transactional cache of PersistenceManager instances - */ - private static int pmCacheBucketSize; - - /** - * initial capacity for Transactional cache of PersistenceManager instances - */ - private static int pmCacheInitialCapacity; - - static { - pmCacheBucketSize = Integer.getInteger( - "com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.pmCacheBucketSize", // NOI18N - 11).intValue(); - - pmCacheInitialCapacity = Integer.getInteger( - "com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.pmCacheInitialCapacity", // NOI18N - 11 * pmCacheBucketSize).intValue(); - - if (logger.isLoggable(Logger.FINEST)) { - logger.finest( - "sqlstore.sqlpersistencemgrfactory.pmCacheBucketSize", // NOI18N - String.valueOf(pmCacheBucketSize)); - logger.finest( - "sqlstore.sqlpersistencemgrfactory.pmCacheInitialCapacity", // NOI18N - String.valueOf(pmCacheInitialCapacity)); - } - } - - /** - * Transactional cache of PersistenceManager instances - */ - private Map pmCache = new BucketizedHashtable(pmCacheBucketSize, - pmCacheInitialCapacity); - - /** - * Cache of StateManager instances that support version consistency - */ - private VersionConsistencyCache vcCache = null; - - /** - * Creates new SQLPersistenceManagerFactory without any user info - */ - public SQLPersistenceManagerFactory() { - - } - - /** - * Creates new SQLPersistenceManagerFactory with user info - * @param connectionFactory Connection Factory as java.lang.Object - */ - public SQLPersistenceManagerFactory(Object connectionFactory) { - if (connectionFactory instanceof ConnectionFactory) - _connectionFactory = (ConnectionFactory) connectionFactory; - else - _dataSource = connectionFactory; - - if (this instanceof PersistenceManagerFactory) - _persistenceManagerFactory = this; - - initialize(); - } - - /** - * Creates new SQLPersistenceManagerFactory with user parameters - * @param persistenceManagerFactory PersistenceManagerFactory instance - */ - public SQLPersistenceManagerFactory( - PersistenceManagerFactory persistenceManagerFactory) { - _persistenceManagerFactory = persistenceManagerFactory; - Object cf = _persistenceManagerFactory.getConnectionFactory(); - - if (cf instanceof ConnectionFactory) - _connectionFactory = (ConnectionFactory) cf; - else - _dataSource = cf; - - initialize(); - } - - /** - * Sets database user name - * @param userName user name - */ - public void setConnectionUserName(String userName) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns database user name - * @return current database user name - */ - public String getConnectionUserName() { - return _persistenceManagerFactory.getConnectionUserName(); - } - - /** - * Sets database user password - * @param password user password - */ - public void setConnectionPassword(char[] password) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Sets connection URL - * @param url connection URL - */ - public void setConnectionURL(String url) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns connection URL - * @return connection URL - */ - public String getConnectionURL() { - return _persistenceManagerFactory.getConnectionURL(); - - } - - /** - * Sets JDBC driver name - * @param driverName driver name - */ - public void setConnectionDriverName(String driverName) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns JDBC driver name - * @return driver name - */ - public String getConnectionDriverName() { - return _persistenceManagerFactory.getConnectionDriverName(); - - } - - /** - * Sets ConnectionFactory - * @param cf as java.lang.Object - */ - public void setConnectionFactory(Object cf) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns ConnectionFactory - * @return Connection Factory as java.lang.Object - */ - public Object getConnectionFactory() { - if (_dataSource != null) - return _dataSource; - - return _connectionFactory; - } - - /** - * Sets the optimistic flag for all PersistenceManagers - * @param flag boolean optimistic flag - */ - public void setOptimistic(boolean flag) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns the boolean value of the optimistic flag for all PersistenceManagers - * @return boolean optimistic flag - */ - public boolean getOptimistic() { - return _persistenceManagerFactory.getOptimistic(); - } - - /** - * Sets flag that will not cause the eviction of persistent instances after transaction completion. - * @param flag boolean flag passed - */ - public void setRetainValues(boolean flag) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns the boolean value for the flag that will not cause the eviction of persistent - * instances after transaction completion. - * @return boolean setting for the flag - */ - public boolean getRetainValues() { - return _persistenceManagerFactory.getRetainValues(); - } - - /** - * Sets the flag that allows non-transactional instances to be managed in the cache. - * @param flag boolean flag passed - */ - public void setNontransactionalRead(boolean flag) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns the boolean value for the flag that allows non-transactional instances to be - * managed in the cache. - * @return boolean setting for the flag - */ - public boolean getNontransactionalRead() { - return _persistenceManagerFactory.getNontransactionalRead(); - } - - - /** - * Sets the flag that allows the user to request that queries be optimized to return - * approximate results by ignoring changed values in the cache. - * @param flag boolean flag passed - */ - public void setIgnoreCache(boolean flag) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns the boolean value for the flag that allows the user to request that queries - * be optimized to return approximate results by ignoring changed values in the cache. - * @return boolean setting for the flag - */ - public boolean getIgnoreCache() { - return _persistenceManagerFactory.getIgnoreCache(); - } - - /** - * Sets the number of seconds to wait for a query statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @param timeout new timout value in seconds; zero means unlimited - */ - public void setQueryTimeout(int timeout) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Gets the number of seconds to wait for a query statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @return timout value in seconds; zero means unlimited - */ - public int getQueryTimeout() { - return _persistenceManagerFactory.getQueryTimeout(); - } - - /** - * Sets maximum number of connections in the connection pool - * @param MaxPool maximum number of connections - */ - public void setConnectionMaxPool(int MaxPool) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns maximum number of connections in the connection pool - * @return connectionMaxPool - */ - public int getConnectionMaxPool() { - return _persistenceManagerFactory.getConnectionMaxPool(); - } - - /** - * Sets minimum number of connections in the connection pool - * @param MinPool minimum number of connections - */ - public void setConnectionMinPool(int MinPool) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns minimum number of connections in the connection pool - * @return connectionMinPool - */ - public int getConnectionMinPool() { - return _persistenceManagerFactory.getConnectionMinPool(); - } - - /** - * Sets the number of milliseconds to wait for an available connection - * from the connection pool before throwing an exception - * @param MsWait number in milliseconds - */ - public void setConnectionMsWait(int MsWait) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns the number of milliseconds to wait for an available connection - * from the connection pool before throwing an exception - * @return number in milliseconds - */ - public int getConnectionMsWait() { - return _persistenceManagerFactory.getConnectionMsWait(); - } - - /** - * Sets the amount of time, in milliseconds, between the connection - * manager's attempts to get a pooled connection. - * @param MsInterval the interval between attempts to get a database - * connection, in milliseconds. - * - */ - public void setConnectionMsInterval(int MsInterval) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns the amount of time, in milliseconds, between the connection - * manager's attempts to get a pooled connection. - * @return the length of the interval between tries in milliseconds - */ - public int getConnectionMsInterval() { - return _persistenceManagerFactory.getConnectionMsInterval(); - } - - /** - * Sets the number of seconds to wait for a new connection to be - * established to the data source - * @param LoginTimeout wait time in seconds - */ - public void setConnectionLoginTimeout(int LoginTimeout) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns the number of seconds to wait for a new connection to be - * established to the data source - * @return wait time in seconds - */ - public int getConnectionLoginTimeout() { - return _persistenceManagerFactory.getConnectionLoginTimeout(); - } - - /** - * Sets the LogWriter to which messages should be sent - * @param pw LogWriter - */ - public void setConnectionLogWriter(PrintWriter pw) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns the LogWriter to which messages should be sent - * @return LogWriter - */ - public PrintWriter getConnectionLogWriter() { - return _persistenceManagerFactory.getConnectionLogWriter(); - } - - /** - * Sets transaction isolation level for all connections of this PersistenceManagerFactory. - * All validation is done by java.sql.Connection itself, so e.g. while Oracle - * will not allow to set solation level to TRANSACTION_REPEATABLE_READ, this method - * does not have any explicit restrictions - * - * @param level - one of the java.sql.Connection.TRANSACTION_* isolation values - */ - public void setConnectionTransactionIsolation(int level) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns current transaction isolation level for connections of this PersistenceManagerFactory. - * @return the current transaction isolation mode value as java.sql.Connection.TRANSACTION_* - */ - public int getConnectionTransactionIsolation() { - return _persistenceManagerFactory.getConnectionTransactionIsolation(); - } - - /** - * Sets ConnectionFactory name - * @param connectionFactoryName ConnectionFactory name - */ - public void setConnectionFactoryName(String connectionFactoryName) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns ConnectionFactory name - * @return ConnectionFactoryName - */ - public String getConnectionFactoryName() { - return _persistenceManagerFactory.getConnectionFactoryName(); - } - - /** - * Sets Identifier. - * @param identifier - */ - public void setIdentifier(String identifier) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Gets Identifier. - * @return identifier - */ - public String getIdentifier() { - return _persistenceManagerFactory.getIdentifier(); - } - - /** - * Returns maximum number of PersistenceManager instances in the pool - * @return maxPool - */ - public int getMaxPool() { - return maxPool; - } - - - /** - * Sets maximum number of PersistenceManager instances in the pool - * @param MaxPool maximum number of PersistenceManager instances - */ - public void setMaxPool(int MaxPool) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns minimum number of PersistenceManager instances in the pool - * @return minPool - */ - public int getMinPool() { - return minPool; - } - - - /** - * Sets minimum number of PersistenceManager instances in the pool - * @param MinPool minimum number of PersistenceManager instances - */ - public void setMinPool(int MinPool) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - - /** - * Sets the number of seconds to wait for an update statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @param timeout new timout value in seconds; zero means unlimited - */ - public void setUpdateTimeout(int timeout) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Gets the number of seconds to wait for an update statement - * to execute in the datastore associated with this PersistenceManagerFactory. - * @return timout value in seconds; zero means unlimited - */ - public int getUpdateTimeout() { - return _persistenceManagerFactory.getUpdateTimeout(); - } - - /** - * Returns the boolean value of the supersedeDeletedInstance flag - * for all PersistenceManagers. If set to true, deleted instances are - * allowed to be replaced with persistent-new instances with the equal - * Object Id. - * @return boolean supersedeDeletedInstance flag - */ - public boolean getSupersedeDeletedInstance () { - return _persistenceManagerFactory.getSupersedeDeletedInstance(); - } - - - /** - * Sets the supersedeDeletedInstance flag for all PersistenceManagers. - * @param flag boolean supersedeDeletedInstance flag - */ - public void setSupersedeDeletedInstance (boolean flag) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns the default value of the requireCopyObjectId flag. If set to false, PersistenceManagers - * will not create a copy of an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see PersistenceManager#getObjectId(Object pc) - * @see PersistenceManager#getObjectById(Object oid) - * @return boolean requireCopyObjectId flag - */ - public boolean getRequireCopyObjectId() { - return _persistenceManagerFactory.getRequireCopyObjectId(); - } - - - /** - * Sets the default value of the requireCopyObjectId. - * If set to false, PersistenceManagers will not create a copy of - * an ObjectId for PersistenceManager.getObjectId(Object pc) - * and PersistenceManager.getObjectById(Object oid) requests. - * - * @see PersistenceManager#getObjectId(Object pc) - * @see PersistenceManager#getObjectById(Object oid) - * @param flag boolean requireCopyObjectId flag - */ - public void setRequireCopyObjectId (boolean flag) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Returns the boolean value of the requireTrackedSCO flag - * for this PersistenceManagerFactory. If set to false, by default the - * PersistenceManager will not create tracked SCO instances for - * new persistent instances at commit with retainValues set to true and while - * retrieving data from a datastore. - * - * @return boolean requireTrackedSCO flag - */ - public boolean getRequireTrackedSCO() { - return _persistenceManagerFactory.getRequireTrackedSCO(); - } - - /** - * Sets the requireTrackedSCO flag for this PersistenceManagerFactory. - * If set to false, by default the PersistenceManager will not create tracked - * SCO instances for new persistent instances at commit with retainValues set to true - * requests and while retrieving data from a datastore. - * - * @param flag boolean requireTrackedSCO flag - */ - public void setRequireTrackedSCO (boolean flag) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.notsupported")); //NOI18N - } - - /** - * Creates new PersistenceManager without specific - * info. - * @return the persistence manager - * @exception JDOUserException if data source info is not set - */ - public PersistenceManager getPersistenceManager() { - return getPersistenceManager(null, null); - } - - /** - * Creates new PersistenceManager with specific - * username and password. Used to call ConnectionFactory.getConnection(String, String) - * @param username datasource user - * @param password datasource user password - * @return the persistence manager - * @exception JDOUserException if data source info is not set - */ - public PersistenceManager getPersistenceManager(String username, char[] password) { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (_connectionFactory == null && _dataSource == null) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.getpersistencemanager.notconfigured"));// NOI18N - } - - if (debug) { - logger.finest("sqlstore.sqlpersistencemgrfactory.getpersistencemgr",Thread.currentThread()); // NOI18N - } - - // Check if we are in managed environment and PersistenceManager is cached - PersistenceManagerImpl pm = null; - jakarta.transaction.Transaction t = EJBHelper.getTransaction(); - - if (t != null) { - if (debug) { - Object[] items = new Object[] {Thread.currentThread(),t}; - logger.finest("sqlstore.sqlpersistencemgrfactory.getpersistencemgr.found",items); // NOI18N - } - - pm = (PersistenceManagerImpl) pmCache.get(t); - if (pm == null) { - // Not found - pm = getFromPool(t, username, password); - pmCache.put(t, pm); - } else if(pm.isClosed()) { - if (debug) { - Object[] items = new Object[] {Thread.currentThread(),t}; - logger.finest("sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmclosedfor",items); // NOI18N - } - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.getpersistencemanager.closed", // NOI18N - t)); - } - - // We know we are in the managed environment and - // JTA transaction is active. We need to start - // JDO Transaction internally if it is not active. - - com.sun.jdo.spi.persistence.support.sqlstore.Transaction tx = - (com.sun.jdo.spi.persistence.support.sqlstore.Transaction) pm.currentTransaction(); - if (debug) { - logger.finest("sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx",tx); // NOI18N - } - - if (!tx.isActive()) { - tx.begin(t); - } - - if (!(pm.verify(username, password))) { - ; - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.getpersistencemanager.error")); // NOI18N - } - } else { - if (debug) { - logger.finest("sqlstore.sqlpersistencemgrfactory.getpersistencemgr.jdotx.notfound"); // NOI18N - } - // We don't know if we are in the managed environment or not - // If Yes, it is BMT with JDO Transaction and it will register - // itself at the begin(). - pm = getFromPool(null, username, password); - } - - if (debug) { - Object[] items = new Object[] {Thread.currentThread(),pm,t}; - logger.finest("sqlstore.sqlpersistencemgrfactory.getpersistencemgr.pmt",items); // NOI18N - } - - // Always return a wrapper - return new PersistenceManagerWrapper(pm); - - } - - /** - * Returns non-operational properties to be available to the application via a Properties instance. - * @return Properties object - */ - public Properties getProperties() { - return _persistenceManagerFactory.getProperties(); - } - - /** - * Returns instance of PersistenceManagerFactory - */ - public PersistenceManagerFactory getPersistenceManagerFactory() { - return _persistenceManagerFactory; - } - - /** - * Registers PersistenceManager in the transactional cache in - * managed environment in case of BMT with JDO Transaction. - * There is no jakarta.transaction.Transaction - * available before the user starts the transaction. - */ - public void registerPersistenceManager( - com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager pm, - jakarta.transaction.Transaction t) { - - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - Object[] items = new Object[] {pm,t}; - logger.finest("sqlstore.sqlpersistencemgrfactory.registerpersistencemgr.pmt",items); // NOI18N - } - PersistenceManager pm1 = (PersistenceManager) pmCache.get(t); - // double-check locking has been removed - if (pm1 == null) { - pmCache.put(t, pm); - ((PersistenceManagerImpl) pm).setJTATransaction(t); - return; - } - - if (pm1 != pm) { - Object[] items = new Object[] {t, pm1}; - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.registerpm.registered", // NOI18N - items)); - } else { - // do nothing ??? - } - } - - /** - * Returns an instance of PersistenceManagerImpl from available pool - * or creates a new one - */ - private PersistenceManagerImpl getFromPool(jakarta.transaction.Transaction tx, - String username, char[] password) { - - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - logger.finest("sqlstore.sqlpersistencemgrfactory.getfrompool"); // NOI18N - } - - synchronized (this) { - if (_store == null) { - initializeSQLStoreManager(username, password); - } - } - - // create new PersistenceManager object and set its atributes - PersistenceManagerImpl pm = new PersistenceManagerImpl(this, tx, username, password); - pm.setStore(_store); - if (debug) { - Object[] items = new Object[] {pm,tx}; - logger.finest("sqlstore.sqlpersistencemgrfactory.getfrompool.pmt",items); // NOI18N - } - - return pm; - - } - - /** - * Returns unused PersistenceManager to the free pool - */ - private void returnToPool(PersistenceManager pm) { - // do nothing for now - logger.finest("sqlstore.sqlpersistencemgrfactory.returnToPool"); // NOI18N - } - - /** Releases closed PersistenceManager that is not in use - */ - public void releasePersistenceManager(com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager pm, - jakarta.transaction.Transaction t) { - - - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - Object[] items = new Object[] {pm,t}; - logger.finest("sqlstore.sqlpersistencemgrfactory.releasepm.pmt",items); // NOI18N - - } - - if (t != null) { - // Managed environment - // Deregister only - PersistenceManager pm1 = (PersistenceManager) pmCache.get(t); - if (pm1 == null || pm1 != pm) { - Object[] items = new Object[] {t, pm1}; - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.registerpm.registered", // NOI18N - items)); - } else { - pmCache.remove(t); - } - } else { - returnToPool(pm); - } - } - - private void initialize() { - - logger.finest("sqlstore.sqlpersistencemgrfactory.init"); // NOI18N - optimistic = _persistenceManagerFactory.getOptimistic(); - retainValues = _persistenceManagerFactory.getRetainValues(); - nontransactionalRead = _persistenceManagerFactory.getNontransactionalRead(); - ignoreCache = _persistenceManagerFactory.getIgnoreCache(); - queryTimeout = _persistenceManagerFactory.getQueryTimeout(); - updateTimeout = _persistenceManagerFactory.getUpdateTimeout(); - minPool = _persistenceManagerFactory.getMinPool(); - maxPool = _persistenceManagerFactory.getMaxPool(); - } - - - private void initializeSQLStoreManager(String username, char[] password) { - Connection conn = null; - try { - conn = getConnection(username, password); - if (conn != null) { - _store = new SQLStoreManager(conn.getMetaData(), - getIdentifier() ); - } - } catch(Exception e) { - if (logger.isLoggable(Logger.WARNING)) { - logger.log(Logger.WARNING, "jdo.sqlpersistencemanagerfactory.errorgettingDatabaseInfo", e); //NOI18N - } - - if (e instanceof JDOException) { - throw (JDOException) e; - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.configuration.getvendortypefailed"), e); // NOI18N - } - } finally { - if (conn != null) { - try { - conn.close(); - } catch(Exception ex) {} - } - } - - } - - /** - * Get Database connection for username and password. - */ - private Connection getConnection(String username, char[] password) throws SQLException{ - Connection conn = null; - - if (_connectionFactory != null) { - conn = _connectionFactory.getConnection(); - } else if (EJBHelper.isManaged()) { - conn = EJBHelper.getConnection(_dataSource, username, password); - } else { - if (username == null) { - conn = ((DataSource)_dataSource).getConnection(); - } else { - conn = ((DataSource)_dataSource).getConnection(username, new String(password)); - } - } - - return conn; - } - - /** - * Determines whether obj is a SQLPersistenceManagerFactory with the same configuration - * - * @param obj The possibly null object to check. - * @return true if obj is equal to this SQLPersistenceManagerFactory; false otherwise. - */ - public boolean equals(Object obj) { - if ((obj != null) && (obj instanceof SQLPersistenceManagerFactory)) { - SQLPersistenceManagerFactory pmf = (SQLPersistenceManagerFactory) obj; - return (pmf._persistenceManagerFactory.equals(this._persistenceManagerFactory)); - - } - return false; - } - - /** - * Computes the hash code of this PersistenceManagerFactory. - * - * @return A hash code of the owning PersistenceManagerFactory as an int. - */ - public int hashCode() { - return this._persistenceManagerFactory.hashCode(); - } - - /** - * Creates if necessary, and returns, this PMF's instance of its - * VersionConsistencyCache. - * @return This PMF's VersionConsistencyCache. - */ - public VersionConsistencyCache getVersionConsistencyCache() { - if (null == vcCache) { - if (_store == null) { - // Store should be configured already. - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerfactoryimpl.getversionconsistencycache.nullstore")); // NOI18N - } - vcCache = VersionConsistencyCacheImpl.create(); - _store.getConfigCache().setVersionConsistencyCache(vcCache); - } - return vcCache; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/TransactionImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/TransactionImpl.java deleted file mode 100644 index eed402bd022..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/TransactionImpl.java +++ /dev/null @@ -1,1584 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018-2021] [Payara Foundation and/or its affiliates] - -/* - * TransactionImpl.java - * - * Create on March 3, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.impl; - -import jakarta.transaction.*; - -import java.util.*; -import java.sql.Connection; -import javax.sql.DataSource; - -import com.sun.jdo.api.persistence.support.ConnectionFactory; -import com.sun.jdo.api.persistence.support.JDOException; -import com.sun.jdo.api.persistence.support.JDOUnsupportedOptionException; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.api.persistence.support.JDODataStoreException; - -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManagerFactory; -import org.glassfish.persistence.common.I18NHelper; - -import com.sun.jdo.spi.persistence.support.sqlstore.connection.ConnectionImpl; - -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperTransaction; - -/** - * - * The Transaction interface allows operations to be performed against - * the transaction in the target Transaction object. A Transaction - * object is created corresponding to each global transaction creation. - * The Transaction object can be used for resource enlistment, - * synchronization registration, transaction completion and status - * query operations. - * - * This implementation is completely internal. - * All externally documented methods are on the Transaction interface. - * - * Note on synchronized(this): - * There are a number of places that calls are made outside the - * transaction system. For example, Synchronization.beforeCompletion() - * and XAResource.start(). It is important that no locks are held - * when these callbacks are made. This requires more state checking - * up return from these calls, and the methods are careful to check - * state transitions after release the lock and reacquiring it. - * - * Also be careful NOT to call into a lower method with the lock, if that - * method may call out of the transaction system. - * - * Take care if you make methods "synchronized" because: - * synchronized methodName() - * is not the same lock as a more localized: - * synchronized(this) - * - * This is tested in the regression tests (see "Lock Test") - */ -public class TransactionImpl - implements com.sun.jdo.spi.persistence.support.sqlstore.Transaction { - /** - * Trace level for sh:6. - * - * This is public to this transaction package and referenced: - * if (TransactionImpl.tracing) - * This is reset by calling TransactionImpl.setTrace(). - */ - static boolean tracing; - private static final int TRACE_THREADS = 0x01; - private static final int TRACE_RESOURCES = 0x02; - private static final int TRACE_SYNCHRONIZATIONS = 0x04; - private static final int TRACE_ONE_PHASE = 0x08; - - /** - * Package-visible lock for static attributes. - * - * Note that globalLock can be a higher-level lock, in that it may be - * locked before other lower-level objects are locked (i.e. the - * transaction object). It may NOT be locked the other way round. - */ - private static final Object GLOBAL_LOCK = new Object(); // NOI18N - - /** - * Transaction status (from jakarta.transaction.Status). - */ - private int status; - - /** - * Timeout for this transaction - */ - private int timeout; - public static final int TRAN_DEFAULT_TIMEOUT = 0; // No timeout - - /** - * Query and Update Statement timeouts for the datastore associated - * with this transaction - */ - private int queryTimeout = 0; // No limit - private int updateTimeout = 0; // No limit - - /** - * Number of threads participating in this transaction. - */ - private int threads; - public static final int TRAN_MAX_THREADS = 50; // Public for test - - /** - * The commit process has already begun (even though the status is still - * STATUS_ACTIVE). This is set during before-commit notification. - */ - private boolean startedCommit; - - /** - * During prepare-processing we determine if we can commit this transaction - * in one-phase. See check in commitPrepare(). - */ - private boolean onePhase; - - /** - * Array of registered Synchronization interfaces. - */ - private Synchronization synchronization = null; - - /** - * Array of registered Resource interfaces. - */ - private ArrayList resources; - private static final int RESOURCE_START = 0; - private static final int RESOURCE_END = 1; - - /** - * PersistenceManagerFactory associated with this transaction - */ - private PersistenceManagerFactory pmFactory = null; - - /** - * PersistenceManager associated with this transaction (1-1) - */ - private PersistenceManager persistenceManager = null; - - /** - * Connection Factory from which this transaction gets Connections - */ - private Object connectionFactory = null; - - private jakarta.transaction.Transaction jta = null; - - /** - * Type of the datasource. True if it javax.sql.DataSource - */ - private boolean isDataSource = false; - - /** values for the datasource user and user password to access - * security connections - */ - private String username = null; - private char[] password = null; - - /** - * Associated Connection - */ - private Connection _connection = null; - - /** - * Number of users (or threads) currently using this connection. - */ - private int _connectionReferenceCount = 0; - - /** - * Flag that indicates how to handle objects after commit. - * If true, at commit instances retain their values and the instances - */ - private boolean retainValues = true; - - /** - * Flag that indicates how to handle objects after roolback. - * If true, at rollback instances restore their values and the instances - */ - private boolean restoreValues = false; - - /** - * Flag that indicates type of the transaction. - * Optimistic transactions do not hold data store locks until commit time. - */ - private boolean optimistic = true; - - /** - * Flag that indicates if queries and navigation are allowed - * without an active transaction - */ - private boolean nontransactionalRead = true; - - /** - * Possible values of txType - */ - public static final int NON_MGD = 0; - public static final int CMT = 1; - public static final int BMT_UT = 2; - public static final int BMT_JDO = 3; - - /** - * Flag to indicate usage mode (non-managed vs. managed, etc.) - */ - private int txType = -1; - - /** - * The logger - */ - private static Logger logger = LogHelperTransaction.getLogger(); - - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - TransactionImpl.class); - - /** - * Constructor - */ - public TransactionImpl(PersistenceManager pm, String username, char[] password, int seconds) { - this.status = Status.STATUS_NO_TRANSACTION; - this.timeout = seconds; - this.startedCommit = false; - this.onePhase = false; - this.resources = new ArrayList(); - - persistenceManager = pm; - this.username = username; - this.password = password; - - pmFactory = (PersistenceManagerFactory)pm.getPersistenceManagerFactory(); - connectionFactory = pmFactory.getConnectionFactory(); - if (!(connectionFactory instanceof ConnectionFactory)) { - isDataSource = true; - } - - optimistic = pmFactory.getOptimistic(); - retainValues = pmFactory.getRetainValues(); - nontransactionalRead = pmFactory.getNontransactionalRead(); - queryTimeout = pmFactory.getQueryTimeout(); - updateTimeout = pmFactory.getUpdateTimeout(); - - } - - /** - * Set PersistenceManager - */ - public void setPersistenceManager(PersistenceManager pm) { - } - - /** - * Returns PersistenceManager associated with this transaction - */ - public com.sun.jdo.api.persistence.support.PersistenceManager getPersistenceManager() { - return persistenceManager.getCurrentWrapper(); - } - - public boolean isActive() { - return (this.status == Status.STATUS_ACTIVE || - this.status == Status.STATUS_MARKED_ROLLBACK); - } - - public void setRetainValues(boolean flag) { - // - // First do a quick check to make sure the transaction is active. - // This allows us to throw an exception immediately. - // Cannot change flag to true inside an active pessimistic tx - // - if (isActive() && !optimistic && flag) - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.setoptimistic.notallowed")); // NOI18N - - // - // Now get an exclusive lock so we can modify the retainValues flag. - // - persistenceManager.acquireExclusiveLock(); - - try { - // Cannot change flag to true inside an active pessimistic tx - if (isActive() && !optimistic && flag) - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.setoptimistic.notallowed")); // NOI18N - - this.retainValues = flag; - - // Adjust depending flags - if (flag) { - nontransactionalRead = flag; - persistenceManager.notifyNontransactionalRead(flag); - } - } finally { - persistenceManager.releaseExclusiveLock(); - } - } - - public boolean getRetainValues() { - return retainValues; - } - - public void setRestoreValues(boolean flag) { - // - // First do a quick check to make sure the transaction is active. - // This allows us to throw an exception immediately. - // Cannot change flag to true inside an active tx - // - if (isActive()) - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.setoptimistic.notallowed")); // NOI18N - - // - // Now get an exclusive lock so we can modify the restoreValues flag. - // - persistenceManager.acquireExclusiveLock(); - - try { - // Cannot change flag to true inside an active tx - if (isActive()) - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.setoptimistic.notallowed")); // NOI18N - - this.restoreValues = flag; - - } finally { - persistenceManager.releaseExclusiveLock(); - } - } - - public boolean getRestoreValues() { - return restoreValues; - } - - - public void setNontransactionalRead (boolean flag) { - // - // First do a quick check to make sure the transaction is active. - // This allows us to throw an exception immediately. - // Cannot change flag to false inside an active optimistic tx - // - if (isActive() && optimistic && !flag) - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.setoptimistic.notallowed")); // NOI18N - - // - // Now get an exclusive lock so we can modify the nontransactionalRead flag. - // - persistenceManager.acquireExclusiveLock(); - - try { - // Cannot change flag to false inside an active optimistic tx - if (isActive() && optimistic && !flag) - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.setoptimistic.notallowed")); // NOI18N - - this.nontransactionalRead = flag; - persistenceManager.notifyNontransactionalRead(flag); - - // Adjust depending flags - if (flag == false) { - retainValues = flag; - optimistic = flag; - - // Notify PM about Tx type change - persistenceManager.notifyOptimistic(flag); - } - } finally { - persistenceManager.releaseExclusiveLock(); - } - } - - public boolean getNontransactionalRead() { - return nontransactionalRead; - } - - /** - * Sets the number of seconds to wait for a query statement - * to execute in the datastore associated with this Transaction instance - * @param timeout new timout value in seconds; zero means unlimited - */ - public void setQueryTimeout(int timeout) { - queryTimeout = timeout; - } - - /** - * Gets the number of seconds to wait for a query statement - * to execute in the datastore associated with this Transaction instance - * @return timout value in seconds; zero means unlimited - */ - public int getQueryTimeout() { - return queryTimeout; - } - - /** - * Sets the number of seconds to wait for an update statement - * to execute in the datastore associated with this Transaction instance - * @param timeout new timout value in seconds; zero means unlimited - */ - public void setUpdateTimeout(int timeout) { - updateTimeout = timeout; - } - - /** - * Gets the number of seconds to wait for an update statement - * to execute in the datastore associated with this Transaction instance - * @return timout value in seconds; zero means unlimited - */ - public int getUpdateTimeout() { - return updateTimeout; - } - - public void setOptimistic(boolean flag) { - // - // First do a quick check to make sure the transaction is active. - // This allows us to throw an exception immediately. - // - if (!isTerminated()) { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.setoptimistic.notallowed")); // NOI18N - } - - // - // Now, get an exclusive lock in order to actually modify the optimistic flag. - // - persistenceManager.acquireExclusiveLock(); - - try { - if (isTerminated()) { - this.optimistic = flag; - - // Adjust depending flags - if (flag) { - nontransactionalRead = flag; - persistenceManager.notifyNontransactionalRead(flag); - } - } else { - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.setoptimistic.notallowed")); // NOI18N - } - - // Notify PM about Tx type change - persistenceManager.notifyOptimistic(flag); - } finally { - persistenceManager.releaseExclusiveLock(); - } - } - - public boolean getOptimistic() { - return optimistic; - } - - public void setSynchronization(Synchronization sync) { - if (this.tracing) - this.traceCall("setSynchronization"); // NOI18N - - persistenceManager.acquireExclusiveLock(); - - try { - synchronization = sync; - - if (this.tracing) { - this.traceCallInfo("setSynchronization", // NOI18N - TRACE_SYNCHRONIZATIONS, null); - } - - } finally { - persistenceManager.releaseExclusiveLock(); - } - } - - public Synchronization getSynchronization() { - persistenceManager.acquireShareLock(); - - try { - return synchronization; - } finally { - persistenceManager.releaseShareLock(); - } - } - - public int getTransactionType() { - return txType; - } - - /** Verify that username and password are equal to ones stored before - * - * @param username as String - * @param password as String - * @return true if they are equal - */ - public boolean verify(String username, char[] password) - { - if ((this.username != null && !this.username.equals(username)) || - (this.username == null && username != null) || - (this.password != null && !Arrays.equals(this.password,password)) || - (this.password == null && password != null)) { - return false; - } - return true; - } - - // - // ----- Methods from jakarta.transaction.Transaction interface ------ - // - - /** - * Begin a transaction. - */ - public void begin() { - - persistenceManager.acquireExclusiveLock(); - - try { - - // Check and set status... - beginInternal(); - - // BMT with JDO Transaction - if (EJBHelper.isManaged()) { - txType = BMT_JDO; - try { - TransactionManager tm = EJBHelper.getLocalTransactionManager(); - - tm.begin(); - jta = tm.getTransaction(); - EJBHelper.registerSynchronization(jta, this); - pmFactory.registerPersistenceManager(persistenceManager, jta); - - } catch (JDOException e) { - throw e; // re-throw it. - - } catch (Exception e) { - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "transaction.transactionimpl.begin.failedlocaltx"), e); // NOI18N - } - } else { - txType = NON_MGD; - } - } finally { - persistenceManager.releaseExclusiveLock(); - } - } - - /** - * Status change and validation - */ - private void beginInternal() { - this.setTrace(); - - if (this.tracing) - this.traceCall("begin"); // NOI18N - - // RESOLVE: need to reset to NO_TX - if (this.isActive()) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.begin.notnew", // NOI18N - this.statusString(this.status))); - - } - this.setStatus(Status.STATUS_ACTIVE); - this.threads = 1; - } - - /** - * Begin a transaction in managed environment - */ - public void begin(jakarta.transaction.Transaction t) { - - persistenceManager.acquireExclusiveLock(); - - try { - beginInternal(); - try { - jta = t; - EJBHelper.registerSynchronization(jta, this); - } catch (Exception e) { - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "transaction.transactionimpl.begin.registersynchfailed"), e); // NOI18N - } - - txType = CMT; - } finally { - persistenceManager.releaseExclusiveLock(); - } - } - - /** - * Commit the transaction represented by this Transaction object - * - */ - public void commit() { - - persistenceManager.acquireExclusiveLock(); - - try { - if (txType == CMT || txType == BMT_UT) { - // Error - should not be called - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.mgd", "commit")); //NOI18N - } else if (txType == BMT_JDO) { - // Send request to the container: - try { - EJBHelper.getLocalTransactionManager().commit(); - return; - } catch (Exception e) { - throw new JDOException("", e); // NOI18N - } - } - - this.setTrace(); - - if (this.tracing) - this.traceCall("commit"); // NOI18N - - this.commitBefore(); - this.commitPrepare(); - this.commitComplete(); - this.notifyAfterCompletion(); - } finally { - persistenceManager.releaseExclusiveLock(); - } - } - - /** - * Called in the managed environment only for transaction completion - */ - public void beforeCompletion() { - - if (txType == NON_MGD) { - // Error - should not be called - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.nonmgd", "beforeCompletion")); //NOI18N - } - - Object o = null; - - try { - o = EJBHelper.preInvoke(new Object[] {this, persistenceManager, jta}); - this.commitBefore(); // do actual beforeComplition - this.commitPrepare(); // check internal status - this.commitComplete(); - } finally { - this.closeConnection(); - EJBHelper.postInvoke(o); - } - } - - /** - * Called in the managed environment only for transaction completion - */ - public void afterCompletion(int st) { - - if (txType == NON_MGD) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.nonmgd", "afterCompletion")); //NOI18N - } - st = EJBHelper.translateStatus(st); // translate Status - - if (this.tracing) { - this.traceCallInfo("afterCompletion", TRACE_SYNCHRONIZATIONS, //NOI18N - this.statusString(st)); - } - - if (st == Status.STATUS_ROLLEDBACK) { - this.setStatus(Status.STATUS_ROLLING_BACK); - this.internalRollback(); - } - - if (st != this.status) { - if (synchronization != null) { - // Allow user to do any cleanup. - try { - synchronization.afterCompletion(st); - } catch (Exception ex) { - logger.log(Logger.WARNING, I18NHelper.getMessage( - messages, - "transaction.transactionimpl.syncmanager.aftercompletion", // NOI18N - ex.getMessage())); - } - } - - // Force to close the persistence manager. - persistenceManager.forceClose(); - - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.commitprepare.wrongstatus", // NOI18N - "afterCompletion", this.statusString(this.status), // NOI18N - this.statusString(st))); - } - - this.notifyAfterCompletion(); - } - - /** - * Lower-level before-commit method - phase 0. - * - * This is called before commit processing actually begins. - * State transition: - * STATUS_ACTIVE starting state - * startedCommit set to avoid concurrent commits - * beforeCompletion() called while still active - * STATUS_PREPARING no longer active, about to "really" commit - * - * The startedCommit status is an "internal state" which is still active - * but prevents concurrent commits and some other operations. - * - * For exceptions see commit() method. - */ - private void commitBefore() { - boolean rollbackOnly = false; //marked for rollback - boolean notified = false; - - if (this.tracing) - this.traceCall("commitBefore"); // NOI18N - // - // Validate transaction state before we commit - // - - if ((this.status == Status.STATUS_ROLLING_BACK) - || (this.status == Status.STATUS_ROLLEDBACK)) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.rolledback", // NOI18N - "commit", // NOI18N - this.statusString(this.status))); - } - - if (this.status == Status.STATUS_MARKED_ROLLBACK) { - rollbackOnly = true; - } else if (this.status != Status.STATUS_ACTIVE) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.commit_rollback.notactive", // NOI18N - "commit", // NOI18N - this.statusString(this.status))); - } - - if (this.startedCommit) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.commitbefore.incommit", // NOI18N - "commit")); // NOI18N - } - this.startedCommit = true; - - // - // User notifications done outside of lock - check for concurrent - // rollback or setRollbackOnly during notification. - // - if (!rollbackOnly) { - this.notifyBeforeCompletion(); - notified = true; - - if (this.status == Status.STATUS_ACTIVE) { // All ok - this.setStatus(Status.STATUS_PREPARING); - } else if (this.status == Status.STATUS_MARKED_ROLLBACK) { - rollbackOnly = true; - } else { // Must have been concurrently rolled back - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.commitbefore.rolledback")); // NOI18N - } - } - if (rollbackOnly && txType == NON_MGD) { - this.rollback(); - - throw new JDOUserException(I18NHelper.getMessage(messages, - notified ? - "transaction.transactionimpl.commitbefore.rollbackonly_insync" : // NOI18N - "transaction.transactionimpl.commitbefore.rollbackonly")); // NOI18N - } - } - - /** - * Lower-level prepare-commit method - phase 1. - * - * This is called once we've started "real commit" processing. - * State transition: - * STATUS_PREPARING starting state - * prepareResources() if not one-phase - * STATUS_PREPARED - * - * For exceptions see commit() method. - */ - private void commitPrepare() { - if (this.tracing) - this.traceCall("commitPrepare"); // NOI18N - // - // Once we've reached the Status.STATUS_PREPARING state we do not need - // to check for concurrent state changes. All user-level methods - // (rollback, setRollbackOnly, register, enlist, etc) are no longer - // allowed. - // - - // - // Validate initial state - // - if (this.status != Status.STATUS_PREPARING) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.commitprepare.wrongstatus", // NOI18N - "commitPrepare", // NOI18N - "STATUS_PREPARING", // NOI18N - this.statusString(this.status))); - } - - // - // If there is at most one resource then we can do this in 1-phase. - // - if (this.resources.size() <= 1) - this.onePhase = true; - - /* - // - // Prepare resources if not one-phase - // - if (!this.onePhase) { - int error = this.prepareResources(); - if (error != XAResource.XA_OK) { - this.forceRollback(); - - throw (RollbackException)ErrorManager.createFormatAdd( - RollbackException.class, - ErrorManager.USER, - TransactionMsgCat.SH_ERR_TX_TR_CMT_RB_IN_PREP_XA, - this.XAErrorString(error)); - } - } - */ - - this.setStatus(Status.STATUS_PREPARED); - } - - /** - * Lower-level complete-commit method - phase 2. - * - * State transition: - * STATUS_PREPARED starting state - * STATUS_COMMITTING starting to do final phase - * commitResources() maybe one-phase - * STATUS_COMMITTED - * afterCompletion() no longer active - * - * For exceptions see commit() method. - */ - private void commitComplete() { - if (this.tracing) - this.traceCallInfo("commitComplete", TRACE_ONE_PHASE, null); // NOI18N - - // - // Validate initial state - // - if (this.status == Status.STATUS_ROLLING_BACK) { - this.setStatus(Status.STATUS_ROLLING_BACK); //st); - internalRollback(); - } else if (this.status == Status.STATUS_PREPARED) { - this.setStatus(Status.STATUS_COMMITTING); - internalCommit(); - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.commitprepare.wrongstatus", // NOI18N - "commitComplete", // NOI18N - "STATUS_PREPARED", // NOI18N - this.statusString(this.status))); - } - } - - /** - * Internal method to process commit operation - */ - private void internalCommit() { - /* - * CODE FOR XAResource support - // - // Commit resources. If onePhase then we can expect a rollback - // indication so be prepared to deal with that. - // - int error = this.commitResources(); - if (error != XAResource.XA_OK) { - this.forceRollback(); - - throw (RollbackException)ErrorManager.createFormatAdd( - RollbackException.class, - ErrorManager.USER, - TransactionMsgCat.SH_ERR_TX_TR_CMT_RB_IN_CMT_COMP_XA, - this.XAErrorString(error)); - } - * END CODE FOR XAResource support - */ - - if (txType == NON_MGD) { - int error = this.commitConnection(); - if (error != INTERNAL_OK) { - this.forceRollback(); - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.commitcomplete.error", // NOI18N - "Connection Error")); // NOI18N - } - this.closeConnection(); - } - this.setStatus(Status.STATUS_COMMITTED); - } - - /** - * Rollback the transaction represented by this transaction object. - * - */ - public void rollback() { - - persistenceManager.acquireExclusiveLock(); - - try { - if (txType == CMT || txType == BMT_UT) { - // Error - should not be called - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.mgd", "rollback")); //NOI18N - } - - this.setTrace(); - - if (this.tracing) - this.traceCall("rollback"); // NOI18N - - if ((this.status != Status.STATUS_ACTIVE) - && (this.status != Status.STATUS_MARKED_ROLLBACK)) { - // - // Once commit processing has started (PREPARING, COMMITTING - // or COMITTED) the only way to rollback a transaction is - // via the registered resource interface throwing an - // XAException, which will use a lower-level rollback. - // - - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.commit_rollback.notactive", // NOI18N - "rollback", // NOI18N - this.statusString(this.status))); - } - - this.setStatus(Status.STATUS_ROLLING_BACK); - - this.internalRollback(); - this.closeConnection(); - - if (txType == BMT_JDO) { - // Send request to the container: - try { - EJBHelper.getLocalTransactionManager().rollback(); - } catch (Exception e) { - throw new JDOException("", e); // NOI18N - } - } else { //NON_MGD - //This has effect of rolling back changes also - //which would not happen in case of BMT_JDO - //Is this the desired behavior ? - //TransactionImpl.notifyAfterCompletion() - //PersistenceManagerImp.afterCompletion() - //SQLStateManager.rollback() - this.notifyAfterCompletion(); - } - } finally { - persistenceManager.releaseExclusiveLock(); - } - } - - /** - * Lower-level rollback method. This is expected to be called once - * the caller has confirmed that itself has set the status to - * STATUS_ROLLING_BACK. This is to avoid concurrent rollbacks. - * - */ - private void internalRollback() { - if (this.tracing) - this.traceCall("internalRollback"); // NOI18N - - if (this.status == Status.STATUS_ROLLEDBACK) { - return; - } - - if (this.status != Status.STATUS_ROLLING_BACK) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.commitprepare.wrongstatus", // NOI18N - "internalRollback", // NOI18N - "STATUS_ROLLING_BACK", // NOI18N - this.statusString(this.status))); - } - - if (txType == NON_MGD) { - this.rollbackConnection(); - } - - this.setStatus(Status.STATUS_ROLLEDBACK); - } - - /** - * [package-visible] - * - * Force rollback. This is called when something goes wrong during - * a late state check (i.e. some failure occurred during the prepare - * stage). Unless we're not already rolling back (or rolled back) this - * will blindly change the state of the transaction and complete the - * latter stage of rollback. - * - * @return the final status of the transaction. - * - * See internalRollback() for exceptions - */ - int forceRollback() { - if (this.tracing) - this.traceCall("forceRollback"); // NOI18N - - if ((this.status == Status.STATUS_ROLLING_BACK) // Already - || (this.status == Status.STATUS_ROLLEDBACK) // Done - || (this.status == Status.STATUS_COMMITTED) // Too late - || (this.status == Status.STATUS_NO_TRANSACTION) // Never was - ) { - return this.status; - } - this.internalRollback(); - this.notifyAfterCompletion(); - - return this.status; - } - - /** - * Modify the transaction object such that the only possible outcome of - * the transaction is to roll back. - * - */ - public void setRollbackOnly() { - if (this.tracing) - this.traceCall("setRollbackOnly"); // NOI18N - - if ((this.status == Status.STATUS_ROLLING_BACK) - || (this.status == Status.STATUS_ROLLEDBACK) - || (this.status == Status.STATUS_MARKED_ROLLBACK)) { - // - // Already rolled back, rollback in progress or already marked. - // - return; - } - - if (txType != NON_MGD) { - try { - jta.setRollbackOnly(); - } catch (Exception e) { - throw new JDOException("", e); // NOI18N - } - } else { - this.setStatus(Status.STATUS_MARKED_ROLLBACK); - } - - } - - /** - * Obtain the status of this transaction object. - * - * @return The transaction status. - * - */ - public int getStatus() { - // - // Leave this as "synchronized" as I want to test that from callbacks - // (i.e. beforeCompletion, xaRes.prepare) the lock is released, and - // that other threads can access this object. See note at top of file. - // - synchronized (GLOBAL_LOCK) { - return this.status; - } - } - - // - // ----- Methods introduced in com.forte.transaction.ForteTran ------ - // - - - /** - * Confirm that transaction is terminated. - * - * @return True if transaction is completed. - */ - boolean isTerminated() { - synchronized (this.GLOBAL_LOCK) { - return ((this.status == Status.STATUS_COMMITTED) - || (this.status == Status.STATUS_ROLLEDBACK) - || (this.status == Status.STATUS_NO_TRANSACTION)); - } - } - - // - // ----- Private methods ------ - // - - /** - * Notify registered Synchronization interfaces with beforeCompletion(). - * This method is only called before a commit so we stop iterating if - * we encounter an invalid status. Which could have been set by a - * rollback during (or concurrent with) the notification. - */ - // - // CHANGES - // 18-jan-1999 - // written (ncg) - // - private void notifyBeforeCompletion() { - if (synchronization != null) { - try { - synchronization.beforeCompletion(); - } catch (Exception ex) { - // - // RESOLVE: ignored ? - // - } - } - persistenceManager.beforeCompletion(); - } - - /** - * Notify registered Synchronization interfaces with afterCompletion(). - * We assume that no status changes occur while executing this method. - */ - private void notifyAfterCompletion() { - try { - persistenceManager.afterCompletion(this.status); - - } finally { - if (synchronization != null) { - try { - synchronization.afterCompletion(this.status); - } catch (Exception ex) { - logger.log(Logger.WARNING, I18NHelper.getMessage( - messages, - "transaction.transactionimpl.syncmanager.aftercompletion", // NOI18N - ex.getMessage())); - } - } - } - - this.forget(); - } - - - - /** - * Set status under lock (may be a nested lock which is ok) - */ - // - // CHANGES - // 27-jan-1999 - // created (ncg) - // - private void setStatus(int status) { - synchronized(this.GLOBAL_LOCK) { - if (this.tracing) { - Object[] items= new Object[] {Thread.currentThread(),this.toString(), - this.statusString(this.status), this.statusString(status), persistenceManager}; - logger.finest("sqlstore.transactionimpl.status",items); // NOI18N - } - this.status = status; - persistenceManager.notifyStatusChange(isActive()); - } - } - - /** - * Forget this transaction - */ - private void forget() { - if (this.tracing) - this.traceCall("forget"); // NOI18N - - // - // Do not clear: - // - // .tid -- users can still browse transaction id - // .status -- users can still check status - // .timeout -- users can still check timeout - // .onePhase -- remember if was committed 1-phase - // - this.threads = 0; - this.startedCommit = false; - - // SHOULD BE CLOSED: closeConnection(); - if (_connection != null) { - try { - if (!_connection.isClosed()) { - closeConnection(); - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, - "transaction.transactionimpl.forget.connectionnotclosed")); // NOI18N - } - } catch (Exception e) { - } - _connection = null; - } - _connectionReferenceCount = 0; - - // - // Do we need to invoke forget on the resource? - // - this.resources.clear(); - if (txType != NON_MGD) { - persistenceManager.close(); - } - - jta = null; - txType = NON_MGD; // Restore the flag - - this.setTrace(); - } - - // - // ----- Debugging utilities ----- - // - - /** - * Set the global transaction tracing. - */ - static void setTrace() { - TransactionImpl.tracing = logger.isLoggable(Logger.FINEST); - } - - /** - * Trace method call. - */ - private void traceCall(String call) { - Object[] items = new Object[]{Thread.currentThread(),this.toString(),call, - this.statusString(this.status),txTypeString(), persistenceManager}; - logger.finest("sqlstore.transactionimpl.call",items); // NOI18N - } - - /** - * Trace method call with extra info. - */ - // - // CHANGES - // 11-jan-1999 - // created (ncg) - // - private void traceCallInfo(String call, int info, String s) { - - //TODO : Optimize this when converting to resource budles - StringBuilder logMessage = new StringBuilder(); - logMessage.append("Thread.currentThread()").append("Tran[") // NOI18N - .append(this.toString()).append("].").append(call) // NOI18N - .append(": status = ").append(this.statusString(this.status)); // NOI18N - - if ((info & TRACE_THREADS) != 0) - logMessage.append(", threads = " + this.threads); // NOI18N - if ((info & TRACE_SYNCHRONIZATIONS) != 0) - logMessage.append(", sync = " + this.synchronization); // NOI18N - if ((info & TRACE_RESOURCES) != 0) - logMessage.append(", resources = " + this.resources.size()); // NOI18N - if ((info & TRACE_ONE_PHASE) != 0 && this.onePhase) - logMessage.append(", onePhase = true"); // NOI18N - if (s != null) - logMessage.append(", " + s + " for " + persistenceManager); // NOI18N - - logger.finest("sqlstore.transactionimpl.general",logMessage.toString()); // NOI18N - } - - /** - * Trace method call with extra string. - */ - private void traceCallString(String call, String info) { - Object[] items = new Object[] {Thread.currentThread(),this.toString(),call,info,persistenceManager}; - logger.finest("sqlstore.transactionimpl.call.info",items); // NOI18N - } - - /** - * Translates a txType value into a string. - * - * @return Printable String for a txType value - */ - private String txTypeString() { - switch (txType) { - case NON_MGD: return "NON_MGD"; // NOI18N - case CMT: return "CMT"; // NOI18N - case BMT_UT: return "BMT_UT"; // NOI18N - case BMT_JDO: return "BMT_JDO"; // NOI18N - default: break; - } - return "UNKNOWN"; // NOI18N - } - - /** - * Translates a jakarta.transaction.Status value into a string. - * - * @param status Status object to translate. - * @return Printable String for a Status object. - */ - public static String statusString(int status) { - switch (status) { - case Status.STATUS_ACTIVE: return "STATUS_ACTIVE"; // NOI18N - case Status.STATUS_MARKED_ROLLBACK: return "STATUS_MARKED_ROLLBACK"; // NOI18N - case Status.STATUS_PREPARED: return "STATUS_PREPARED"; // NOI18N - case Status.STATUS_COMMITTED: return "STATUS_COMMITTED"; // NOI18N - case Status.STATUS_ROLLEDBACK: return "STATUS_ROLLEDBACK"; // NOI18N - case Status.STATUS_UNKNOWN: return "STATUS_UNKNOWN"; // NOI18N - case Status.STATUS_NO_TRANSACTION: return "STATUS_NO_TRANSACTION"; // NOI18N - case Status.STATUS_PREPARING: return "STATUS_PREPARING"; // NOI18N - case Status.STATUS_COMMITTING: return "STATUS_COMMITTING"; // NOI18N - case Status.STATUS_ROLLING_BACK: return "STATUS_ROLLING_BACK"; // NOI18N - default: break; - } - return "STATUS_Invalid[" + status + "]"; // NOI18N - } - - /** - * Returns a Connection. If there is no existing one, asks - * ConnectionFactory for a new Connection - */ - public synchronized Connection getConnection() { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (_connection == null) { - // find a new connection - if (connectionFactory == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "transaction.transactionimpl.getconnection.nullcf")); // NOI18N - } - - _connection = this.getConnectionInternal(); - } - - _connectionReferenceCount++; - - if (debug) { - Object[] items = new Object[] {_connection, Boolean.valueOf(optimistic), - Integer.valueOf(_connectionReferenceCount) , persistenceManager}; - logger.finest("sqlstore.transactionimpl.getconnection",items); // NOI18N - } - - // We cannot depend on NON_MGD flag here as this method can be called - // outside of an active transaction. - if (!EJBHelper.isManaged()) { - try { - // - // For active pessimistic transaction or a committing transaction, we need to set - // auto-commit feature off. - // - if ((!optimistic && isActive()) || startedCommit) { - // Set autocommit to false *only* if it's true - // I.e., don't set to false multiple times (Sybase - // throws exception in that case). - if (_connection.getAutoCommit()) { - _connection.setAutoCommit(false); - } - } else { - _connection.setAutoCommit(true); - } - } catch (java.sql.SQLException e) { - logger.log(Logger.WARNING,"sqlstore.exception.log",e); // NOI18N - } - } - - return _connection; - } - - /** - * Replace a connection. Used in a managed environment only. - * In a J2EE RI Connection need to be replaced at the beforeCompletion. - */ - public void replaceConnection() { - if (EJBHelper.isManaged()) { - this.releaseConnection(); - this.closeConnection(); - this.getConnection(); - } - } - - /** - * Close a connection. - * Connection cannot be closed if it is part of the commit/rollback - * operation or inside a pessimistic transaction - */ - public synchronized void releaseConnection() { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (_connectionReferenceCount > 0) { - _connectionReferenceCount--; - } - - if (debug) { - Object[] items = new Object[] {Boolean.valueOf(optimistic), - Boolean.valueOf(startedCommit), - Integer.valueOf(_connectionReferenceCount) , persistenceManager}; - logger.finest("sqlstore.transactionimpl.releaseconnection",items); // NOI18N - } - - // Fix for bug 4479807: Do not keep connection in the managed environment. - if ( (!EJBHelper.isManaged() && optimistic == false) || startedCommit ) { - // keep Connection. Do not close. - return; - } - - if (_connectionReferenceCount == 0) { - // - // For optimistic transaction, we only release the connection when - // no one is using it. - // - closeConnection(); - } - } - - private Connection getConnectionInternal() { - if (isDataSource) { - try { - if (EJBHelper.isManaged()) { - // Delegate to the EJBHelper for details. - if (isActive()) { - return EJBHelper.getConnection(connectionFactory, - username, password); - } else { - return EJBHelper.getNonTransactionalConnection( - connectionFactory, username, password); - } - } else if (username != null) { - return ((DataSource)connectionFactory).getConnection( - username, new String(password)); - } else { - return ((DataSource)connectionFactory).getConnection(); - } - - } catch (java.sql.SQLException e) { - String sqlState = e.getSQLState(); - int errorCode = e.getErrorCode(); - - if (sqlState == null) { - throw new JDODataStoreException( - I18NHelper.getMessage(messages, - "connectionefactoryimpl.sqlexception", // NOI18N - "null", "" + errorCode), e); // NOI18N - } else { - throw new JDODataStoreException( - I18NHelper.getMessage(messages, - "connectionefactoryimpl.sqlexception", // NOI18N - sqlState, "" + errorCode), e); // NOI18N - } - } - } else { - return ((ConnectionFactory)connectionFactory).getConnection(); - } - } - - /** - * Always Close a connection - */ - private void closeConnection() { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - Object[] items = new Object[] {_connection , persistenceManager}; - logger.finest("sqlstore.transactionimpl.closeconnection",items); // NOI18N - } - try { - if (_connection != null) { - _connection.close(); - } - } catch (Exception e) { - // Recover? - } - _connection = null; - } - - /** - * replaces rollbackResources() in ForteTran - */ - private void rollbackConnection() { - boolean debug = logger.isLoggable(Logger.FINEST); - if (debug) { - Object[] items = new Object[] {_connection , persistenceManager}; - logger.finest("sqlstore.transactionimpl.rollbackconnection",items); // NOI18N - } - if (_connection != null) { - try { - if (isDataSource) - _connection.rollback(); - else - ((ConnectionImpl)_connection).internalRollback(); - } catch (Exception e) { - //Recover? - } - } - } - private int INTERNAL_ERROR = 1; - private int INTERNAL_OK = 0; - - /** - * replaces commitResources() in ForteTran - */ - private int commitConnection() { - if (_connection != null) { - try { - if (isDataSource) - _connection.commit(); - else - ((ConnectionImpl)_connection).internalCommit(); - } catch (Exception e) { - return INTERNAL_ERROR; - } - } - return INTERNAL_OK; - } - - - /** - * Returns a string representation of this transaction object. - * - * @return String describing contents of this Transaction object. - */ - public String toString() { - int i; - Object o; - - String s = " Transaction: \n status = " + this.statusString(this.status)+ "\n" // NOI18N - + " Transaction Object = Transaction@" + this.hashCode() + "\n" // NOI18N - + " threads = " + this.threads + "\n"; // NOI18N - - if (this.timeout != 0) - s = s + " timeout = " + this.timeout + "\n"; // NOI18N - if (this.startedCommit) - s = s + " startedCommit = true\n"; // NOI18N - if (this.onePhase) - s = s + " onePhase = true\n"; // NOI18N - - if (synchronization != null) { - s = s + "sync: " + synchronization + "\n"; // NOI18N - } - if (!this.resources.isEmpty()) { - s = s + " # resources = " + this.resources.size() + "\n"; // NOI18N - /* - for (i = 0; i < this.resources.size(); i++) { - XAResource res = (XAResource)this.resources.get(i); - // - // Make be null if vote readonly during commit processing - // Bug 48325: avoid recursive toString() calls - // - if (res != null) { - s = s + " [" + i + "] " + // NOI18N - res.getClass().getName() + "\n"; // NOI18N - } - } - */ - } - return s; - - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/VersionConsistencyCacheImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/VersionConsistencyCacheImpl.java deleted file mode 100644 index 1c48bdaf67d..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/impl/VersionConsistencyCacheImpl.java +++ /dev/null @@ -1,691 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.impl; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.Properties; -import java.util.ResourceBundle; - -import com.sun.appserv.util.cache.Cache; -import com.sun.appserv.util.cache.CacheListener; -import com.sun.appserv.util.cache.LruCache; - -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperPersistenceManager; -import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; -import com.sun.jdo.spi.persistence.support.sqlstore.VersionConsistencyCache; - -import com.sun.jdo.spi.persistence.utility.BucketizedHashtable; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - - -/** - * A 2-level cache of StateManager instances (i.e., a map of maps). The inner - * map is a BucketizedHashtable or a LRU cache, depending on parameter given at - * construction. - * - * @author Dave Bristor - */ -public class VersionConsistencyCacheImpl implements VersionConsistencyCache { - /** The outermost map of the two-level cache. */ - private final Map pcTypeMap = new HashMap(); - - /** Used to create different kinds of caches. */ - // Not final, so that we can create different kinds of caches for testing. - private static CacheFactory cacheFactory; - - private final static ResourceBundle messages = - I18NHelper.loadBundle(VersionConsistencyCacheImpl.class); - - /** Use the PersistenceManager's logger. */ - private static Logger logger = LogHelperPersistenceManager.getLogger(); - - /** Name of implementation class of LRU cache. */ - private static final String LRU_CACHE_CLASSNAME = - "com.sun.appserv.util.cache.LruCache"; // NOI18aN - - - // - // Cache configuration controls - // - - /** Prefix of each property name of configuration item. */ - private static final String PROPERTY_PREFIX = - "com.sun.jdo.spi.persistence.support.sqlstore.impl.VersionConsistency."; // NOI18N - - - /** Determines whether to use LruCache or the default. */ - private static boolean lruCache = false; - - /** Name of property to choose LRU or basic cache. */ - private static final String LRU_CACHE_PROPERTY = PROPERTY_PREFIX + "LruCache"; // NOI18N - - - /** For both LruCache and BucketizedHashtable. */ - private static float loadFactor = 0.75F; - - /** Name of property for specifying loadFactor. */ - private static final String LOAD_FACTOR_PROPERTY = - PROPERTY_PREFIX + "loadFactor"; // NOI18N - - - /** For BucketizedHashtable only. */ - private static int bucketSize = 13; - - /** Name of property for specifying bucketSize. */ - private static final String BUCKET_SIZE_PROPERTY = - PROPERTY_PREFIX + "bucketSize"; // NOI18N - - - /** For BucketizedHashtable only. */ - private static int initialCapacity = 131; - - /** Name of property for specifying initialCapacity. */ - private static final String INITIAL_CAPACITY_PROPERTY = - PROPERTY_PREFIX + "initialCapacity"; // NOI18N - - - /** For LruCache only. */ - private static int maxEntries = 131; - - /** Name of property for specifying maxEntries. */ - private static final String MAX_ENTRIES_PROPERTY = - PROPERTY_PREFIX + "maxEntries"; // NOI18N - - - /** LruCache only, 10 minute timeout */ - private static long timeout = 1000L * 60 * 10; - - /** Name of property for specifying timeout. */ - private static final String TIMEOUT_PROPERTY = - PROPERTY_PREFIX + "timeout"; // NOI18N - - // Create the cache factory - static { - cacheFactory = createCacheFactory(); - } - - - /** Empty default constructor. */ - private VersionConsistencyCacheImpl() { - } - - /** Creates a cache with desired performance. This constructor is - * expected to be used for unit testing ONLY. - * @param highPerf If true, use LruCache, else use BucketizedHashtable. - */ - protected VersionConsistencyCacheImpl(boolean highPerf) { - if (highPerf) { - cacheFactory = new LruCacheFactory(); - } else { - cacheFactory = new BasicCacheFactory(); - } - } - - /** - * Create a cache. The performance characteristics of the cache depends - * on the setting of the runtime properties. If the flag - * com.sun.jdo.spi.persistence.support.sqlstore.impl.VersionConsistency.LruCache - * is true, then the LruCache cache is used. If it has some other value, - * the BucketizedHashtable cache is used. If not set, but we can load - * the LruCache class, the LruCache cache is used. Otherwise, we use - * the BucketizedHashtable cache. Other properties control particulars - * of those two caches. - */ - static VersionConsistencyCache create() { - return new VersionConsistencyCacheImpl(); - } - - /** - * Create a CacheFactory. Uses system properties to determine what kind of - * cache will be returned by the factory. - */ - static CacheFactory createCacheFactory() { - CacheFactory rc = null; - - loadFactor = getFloatValue(LOAD_FACTOR_PROPERTY, loadFactor); - - bucketSize = getIntValue(BUCKET_SIZE_PROPERTY, bucketSize); - - initialCapacity = getIntValue(INITIAL_CAPACITY_PROPERTY, initialCapacity); - - maxEntries = getIntValue(MAX_ENTRIES_PROPERTY, maxEntries); - - timeout = getLongValue(TIMEOUT_PROPERTY, timeout); - - // Determine whether to use LRU cache or not. - boolean lruCache = false; - try { - - // Don't use Boolean.getBoolean, because we want to know if the - // flag is given or not. - String s = System.getProperty(LRU_CACHE_PROPERTY); - if (s != null) { - lruCache = Boolean.valueOf(s).booleanValue(); - if (lruCache) { - - // If user specifies lruCache, but it is not available, - // log a WARNING and use the basic cache. - try { - Class.forName(LRU_CACHE_CLASSNAME); - } catch (Exception ex) { - logger.warning( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.lrucachenotfound")); // NOI18N - lruCache = false; - } - } - - } else { - // No flag given: Try to load LRU cache - try { - Class.forName(LRU_CACHE_CLASSNAME); - lruCache = true; - } catch (Exception ex) { - // LRU cache not found, so use default - } - } - } catch (Exception ex) { - - // This probably should not happen, but fallback to the - // default cache just in case. - lruCache = false; - logger.warning( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.unexpectedduringcreate", ex));// NOI18N - } - - if (lruCache) { - rc = new LruCacheFactory(); - } else { - rc = new BasicCacheFactory(); - } - - if (logger.isLoggable(Logger.FINER)) { - String values = - "\nloadFactor= " + loadFactor // NOI18N - + "\nbucketSize= " + bucketSize // NOI18N - + "\ninitialCapacity=" + initialCapacity // NOI18N - + "\nmaxEntries=" + maxEntries // NOI18N - + "\ntimeout=" + timeout // NOI18N - + "\nlruCache=" + lruCache; // NOI18N - logger.finer( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.created", - values)); // NOI18N - } - - return rc; - } - - /** - * Returns the value for the given property name. If not available, - * returns the default value. If the property's value cannot be parsed as - * an integer, logs a warning. - * @param propName Name of property for value - * @param defaultVal Default value used if property is not set. - * @return value for the property. - */ - private static int getIntValue(String propName, int defaultVal) { - int rc = defaultVal; - String valString = System.getProperty(propName); - if (null != valString && valString.length() > 0) { - try { - rc = Integer.parseInt(valString); - } catch (NumberFormatException ex) { - logBadConfigValue(propName, valString); - } - } - return rc; - } - - /** - * Returns the value for the given property name. If not available, - * returns the default value. If the property's value cannot be parsed as - * a float, logs a warning. - * @param propName Name of property for value - * @param defaultVal Default value used if property is not set. - * @return value for the property. - */ - private static float getFloatValue(String propName, float defaultVal) { - float rc = defaultVal; - String valString = System.getProperty(propName); - if (null != valString && valString.length() > 0) { - try { - rc = Float.parseFloat(valString); - } catch (NumberFormatException ex) { - logBadConfigValue(propName, valString); - } - } - return rc; - } - - /** - * Returns the value for the given property name. If not available, - * returns the default value. If the property's value cannot be parsed as - * a long, logs a warning. - * @param propName Name of property for value - * @param defaultVal Default value used if property is not set. - * @return value for the property. - */ - private static long getLongValue(String propName, long defaultVal) { - long rc = defaultVal; - String valString = System.getProperty(propName); - if (null != valString && valString.length() > 0) { - try { - rc = Long.parseLong(valString); - } catch (NumberFormatException ex) { - logBadConfigValue(propName, valString); - } - } - return rc; - } - - /** - * Logs a warning that the property's value is invalid. - * @param propName Name of property - * @param valString Value of property as a String. - */ - private static void logBadConfigValue(String propName, String valString) { - logger.warning( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.badconfigvalue", // NOI18N - propName, valString)); - } - - /** - * @see VersionConsistencyCache#put - */ - public StateManager put(Class pcType, Object oid, StateManager sm) { - boolean logAtFinest = logger.isLoggable(Logger.FINEST); - - if (logAtFinest) { - logger.finest( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.put.entering", // NOI18N - new Object[] {pcType, oid, sm})); - } - - StateManager rc = null; - VCCache oid2sm = null; - synchronized (pcTypeMap) { - oid2sm = (VCCache) pcTypeMap.get(pcType); - - if (null == oid2sm) { - oid2sm = cacheFactory.create(); - pcTypeMap.put(pcType, oid2sm); - } - } - - rc = oid2sm.put(oid, sm); - - if (logAtFinest) { - logger.finest( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.put.returning", // NOI18N - rc)); - } - - return rc; - } - - /** - * @see VersionConsistencyCache#get - */ - public StateManager get(Class pcType, Object oid) { - boolean logAtFinest = logger.isLoggable(Logger.FINEST); - - if (logAtFinest) { - logger.finest( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.get.entering", // NOI18N - new Object[] {pcType, oid})); - } - StateManager rc = null; - - VCCache oid2sm = null; - synchronized (pcTypeMap) { - oid2sm = (VCCache) pcTypeMap.get(pcType); - } - - if (null != oid2sm) { - rc = oid2sm.get(oid); - } - - if (logAtFinest) { - logger.finest( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.get.returning", // NOI18N - rc)); - } - return rc; - } - - - /** - * @see VersionConsistencyCache#remove - */ - public StateManager remove(Class pcType, Object oid) { - boolean logAtFinest = logger.isLoggable(Logger.FINEST); - - if (logAtFinest) { - logger.finest( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.remove.entering", // NOI18N - new Object[] {pcType, oid})); - } - - StateManager rc = null; - synchronized (pcTypeMap) { - VCCache oid2sm = (VCCache) pcTypeMap.get(pcType); - - if (null != oid2sm) { - rc = (StateManager) oid2sm.remove(oid); - if (oid2sm.isEmpty()) { - pcTypeMap.remove(pcType); - } - } - } - - if (logAtFinest) { - logger.finest( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.remove.returning", // NOI18N - rc)); - } - return rc; - } - - /** - * This implementation does nothing. Instead, we create buckets for each - * pcType as-needed; see {@link #put} - */ - public void addPCType(Class pcType) { - if (logger.isLoggable(Logger.FINEST)) { - logger.finest( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.addpctype", // NOI18N - pcType)); - } - // Intentionally empty - } - - /** - * @see VersionConsistencyCache#removePCType - */ - public void removePCType(Class pcType) { - if (logger.isLoggable(Logger.FINEST)) { - logger.finest( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.removepctype", // NOI18N - pcType)); - } - - synchronized (pcTypeMap) { - VCCache oid2sm = (VCCache) pcTypeMap.get(pcType); - - if (null != oid2sm) { - oid2sm.clear(); - } - pcTypeMap.remove(pcType); - } - } - - /** - * @return the number of elements in the cache. - */ - public int size() { - int rc = 0; - synchronized (pcTypeMap) { - for (Iterator i = pcTypeMap.keySet().iterator(); i.hasNext();) { - VCCache oid2sm = (VCCache) pcTypeMap.get(i.next()); - rc += oid2sm.size(); - } - } - return rc; - } - - /** - * @return true if this cache is based on LRU cache; false otherwise. - */ - public boolean isHighPerf() { - return LruCacheFactory.class.equals(cacheFactory.getClass()); - } - - // - // Support for the inner map. It is either HashMap- or Cache- based. - // - - /** Provides cache operations of put, get, and remove. */ - interface VCCache { - /** @see Map#put */ - public StateManager put(Object key, StateManager value); - - /** @see Map#get */ - public StateManager get(Object key); - - /** @see Map#remove */ - public StateManager remove(Object key); - - /** @see Map#clear */ - public void clear(); - - /** @see Map#isEmpty */ - public boolean isEmpty(); - - /** @see Map#size */ - public int size(); - } - - /** - * VCCache that is HashMap-based. The methods are not synchronized but - * the underlying implemention issynchronized. - */ - static class BasicVCCache implements VCCache { - private final Map cache; - - BasicVCCache() { - if (logger.isLoggable(Logger.FINER)) { - logger.finer( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.usinghashmap", // NOI18N - new Object[] { - new Integer(bucketSize), - new Long(initialCapacity), - new Float(loadFactor)})); - } - - cache = Collections.synchronizedMap( - new BucketizedHashtable( - bucketSize, initialCapacity, loadFactor)); - } - - /** @see Map#put */ - public StateManager put(Object key, StateManager value) { - return (StateManager) cache.put(key, value); - } - - /** @see Map#get */ - public StateManager get(Object key) { - return (StateManager) cache.get(key); - } - - /** @see Map#remove */ - public StateManager remove(Object key) { - return (StateManager) cache.remove(key); - } - - /** @see Map#clear */ - public void clear() { - cache.clear(); - } - - /** @see Map#isEmpty */ - public boolean isEmpty() { - return cache.isEmpty(); - } - - /** @see Map#size */ - public int size() { - return cache.size(); - } - } - - /** - * VCCache that uses LRU cachd. Methods are not synchronized, but - * underlying cache implementation is. - */ - static class LruVCCache implements VCCache { - /** - * We can't use the interface type Cache because we need to be able to - * clear out the cache, which is only supported by the implementation. - */ - private final Cache cache; - - /** - * @param maxEntries maximum number of entries expected in the cache - * @param loadFactor the load factor - * @param timeout to be used to trim the expired entries - */ - LruVCCache(int maxEntries, long timeout, float loadFactor) { - if (logger.isLoggable(Logger.FINER)) { - logger.finer( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.usinglrucache", // NOI18N - new Object[] { - new Integer(maxEntries), - new Long(timeout), - new Float(loadFactor)})); - } - - LruCache c = new LruCache(); - c.init(maxEntries, timeout, loadFactor, (Properties) null); - c.addCacheListener( - new CacheListener() { - public void trimEvent(Object key, Object value) { - cache.remove(key); - if (logger.isLoggable(Logger.FINER)) { - logger.finer( - I18NHelper.getMessage( - messages, - "jdo.versionconsistencycacheimpl.trimevent")); // NOI18N - } - } - }); - cache = c; - } - - /** @see Map#put */ - public StateManager put(Object key, StateManager value) { - return (StateManager) cache.put(key, value); - } - - /** @see Map#get */ - public StateManager get(Object key) { - return (StateManager) cache.get(key); - } - - /** @see Map#remove */ - public StateManager remove(Object key) { - return (StateManager) cache.remove(key); - } - - /** @see Map#clear */ - public void clear() { - cache.clear(); - } - - /** @see Map#isEmpty */ - public boolean isEmpty() { - return cache.isEmpty(); - } - - /** @see Map#size */ - public int size() { - return cache.getEntryCount(); - } - } - - // - // Factory for creating VCCache instances. - // - - /** Provides for creating an instance of a VCCache. */ - interface CacheFactory { - /** @return an instance of a VCCache. */ - public VCCache create(); - } - - /** Provides for creating an instance of a BasicVCCache. */ - static class BasicCacheFactory implements CacheFactory { - - /** @return an instance of a BasicVCCache. */ - public VCCache create() { - return new BasicVCCache(); - } - } - - /** Provides for creating an instance of a LruVCCache. */ - static class LruCacheFactory implements CacheFactory { - - /** @return an instance of a LruVCCache. */ - public VCCache create() { - return new LruVCCache(maxEntries, timeout, loadFactor); - } - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ClassDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ClassDesc.java deleted file mode 100644 index 324dbaf5083..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ClassDesc.java +++ /dev/null @@ -1,1542 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * ClassDesc.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.model; - -import org.netbeans.modules.dbschema.ColumnElement; -import org.netbeans.modules.dbschema.ColumnPairElement; -import org.netbeans.modules.dbschema.TableElement; -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.jdo.ConcurrencyGroupElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceClassElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; -import com.sun.jdo.api.persistence.model.jdo.RelationshipElement; -import com.sun.jdo.api.persistence.model.mapping.MappingClassElement; -import com.sun.jdo.api.persistence.model.mapping.MappingFieldElement; -import com.sun.jdo.api.persistence.model.mapping.MappingRelationshipElement; -import com.sun.jdo.api.persistence.model.mapping.impl.*; -import com.sun.jdo.api.persistence.support.*; -import com.sun.jdo.spi.persistence.support.sqlstore.*; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.RetrieveDescImpl; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.UpdateObjectDescImpl; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.concurrency.*; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.UpdateQueryPlan; -import org.glassfish.common.util.StringHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.util.*; - -/** - * - */ -public class ClassDesc - implements com.sun.jdo.spi.persistence.support.sqlstore.PersistenceConfig { - - private ArrayList fetchGroups; - - private int maxHierarchicalGroupID; - - /** - * Used for batched update check. Set to true if this class has at least one - * local field that does not belong to DFG - */ - private boolean hasLocalNonDFGField; - - /** Contains all local and foreign fields. */ - public ArrayList fields; - - /** Contains all hidden fields. */ - public ArrayList hiddenFields; - - /** Contains all relationship fields. */ - public ArrayList foreignFields; - - /** Contains the fields used for version consistency validation. */ - private LocalFieldDesc[] versionFields; - - private ArrayList tables; - - private Class pcClass; - - private Class oidClass; - - public int maxFields; - - public int maxVisibleFields; - - public int maxHiddenFields; - - private Concurrency optimisticConcurrency; - - private Concurrency checkDirtyConcurrency; - - private Concurrency databaseConcurrency; - - private Concurrency explicitConcurrency; - - private MappingClassElementImpl mdConfig; - - private ClassLoader classLoader; - - private Constructor constructor; - - private PersistenceClassElement pcElement; - - private PersistenceFieldElement[] persistentFields; - - private Field keyFields[]; - private String keyFieldNames[]; - private LocalFieldDesc[] keyFieldDescs; - - /** The logger. */ - private static Logger logger = LogHelperSQLStore.getLogger(); - - /** RetrieveDescriptor cache for navigation and reloading. */ - private final Map retrieveDescCache = new HashMap(); - - /** - * RetrieveDescriptor cache for navigation queries. This cache - * holds foreign RetrieveDescriptors constrained by the relationship - * key values. - */ - private final Map foreignRetrieveDescCache = new HashMap(); - - /** Retrieve descriptor for version consistency verification. */ - private RetrieveDesc retrieveDescForVerification; - private Object retrieveDescForVerificationSynchObj = new Object(); - - /** UpdateQueryPlan cache. */ - private final Map updateQueryPlanCache = new HashMap(); - - /** UpdateQueryPlan for insert. */ - private UpdateQueryPlan updateQueryPlanForInsert; - private Object updateQueryPlanForInsertSynchObj = new Object(); - - /** UpdateQueryPlan for delete. */ - private UpdateQueryPlan updateQueryPlanForDelete; - private Object updateQueryPlanForDeleteSynchObj = new Object(); - - /** I18N message handler. */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - ClassDesc.class.getClassLoader()); - - /** PC Constructor signature. */ - private static final Class[] sigSM = new Class[]{StateManager.class}; - - public ClassDesc(MappingClassElement mdConfig, Class pcClass) { - - this.mdConfig = (MappingClassElementImpl) mdConfig; - pcElement = this.mdConfig.getPersistenceElement(); - this.pcClass = pcClass; - classLoader = pcClass.getClassLoader(); - - try { - constructor = pcClass.getConstructor(sigSM); - } catch (Exception e) { - // Persistence capable classes must provide this constructor - throw new JDOFatalUserException(I18NHelper.getMessage(messages, - "jdo.persistencemanagerimpl.assertpersistencecapable.error", // NOI18N - pcClass.getName()), e); - } - - fields = new ArrayList(); - foreignFields = new ArrayList(); - tables = new ArrayList(); - fetchGroups = new ArrayList(); - } - - public String toString() { - return getName(); - } - - /** - * Creates a new instance of ClassDesc for the given - * pcClass. - * @param pcClass The persistence capable class. - * @return A new instance of ClassDesc. - */ - static ClassDesc newInstance(Class pcClass) { - Model model = Model.RUNTIME; - String className = pcClass.getName(); - ClassLoader classLoader = pcClass.getClassLoader(); - ClassDesc rc = null; - - try { - MappingClassElement mdConfig = - model.getMappingClass(className, classLoader); - - // Validate the model information for this class. - validateModel(model, className, classLoader); - - rc = new ClassDesc(mdConfig, pcClass); - - } catch (JDOException e) { - throw e; - } catch (IllegalArgumentException e) { - throw new JDOFatalUserException(I18NHelper.getMessage(messages, - "core.configuration.loadfailed.class", className), e); // NOI18N - } catch (Exception e) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.configuration.loadfailed.class", className), e); // NOI18N - } - - return rc; - } - - /** - * Validate the mapping for the given class. If the result - * collection returned by validate() is not empty, it means - * it failed the test. After logging all the exceptions, - * throw a JDOUserException and inform the user to go back - * to the mapping tool to fix up the mapping file. The - * JDOUserException contains the validation messages aswell. - * - * @param model Runtime model. - * @param className Persistence capable class' name. - * @param classLoader Persistence capable class' loader. - */ - static private void validateModel(Model model, - String className, - ClassLoader classLoader) { - Collection c = null; - - if (!(c = model.validate(className, classLoader, null)).isEmpty()) { - Iterator iter = c.iterator(); - StringBuilder validationMsgs = new StringBuilder(); - - while (iter.hasNext()) { - Exception ex = (Exception) iter.next(); - String validationMsg = ex.getLocalizedMessage(); - - logger.fine(I18NHelper.getMessage(messages, - "core.configuration.validationproblem", // NOI18N - className, validationMsg)); - validationMsgs.append(validationMsg).append('\n'); // NOI18N - } - throw new JDOFatalUserException(I18NHelper.getMessage(messages, - "core.configuration.validationfailed", // NOI18N - className, validationMsgs.toString())); - } - } - - public void initialize(ConfigCache cache) { - boolean debug = logger.isLoggable(); - if (debug) { - logger.fine("sqlstore.model.classdesc.persistconfiginit", mdConfig); // NOI18N - } - - loadOidClass(); - initializeFields(); - computeTrackedPrimitiveFields(); - - initializeTables(); - initializeJoinTables(); - initializeVersionFields(); - initializeConcurrency(); - - initializeKeyFields(); - initializeFetchGroups(); - - fixupForeignReferences(cache); - fixupFieldProperties(); - computeTrackedRelationshipFields(); - cleanupTrackedFields(); - - // All fields should be initialized at this point. Now calculate - // the total number of hidden fields and fields. - if (hiddenFields != null) { - maxHiddenFields = hiddenFields.size(); - } - maxFields = maxVisibleFields + maxHiddenFields; - - if (debug) { - logger.fine("sqlstore.model.classdesc.persistconfiginit.exit"); // NOI18N - } - } - - private void loadOidClass() { - - if (oidClass != null) return; - - String keyClassName = pcElement.getKeyClass(); - String suffix = keyClassName.substring(keyClassName.length() - 4); - - // First check whether the key class name ends with ".oid". - // If so, we need to convert it '.' to '$' because is it - // an inner class. - if (suffix.compareToIgnoreCase(".oid") == 0) { // NOI18N - StringBuilder buf = new StringBuilder(keyClassName); - - buf.setCharAt(buf.length() - 4, '$'); - keyClassName = buf.toString(); - } - - try { - oidClass = Class.forName(keyClassName, true, classLoader); - } catch (Throwable e) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.configuration.cantloadclass", keyClassName)); // NOI18N - } - - if (logger.isLoggable()) { - logger.fine("sqlstore.model.classdesc.loadedclass", oidClass); // NOI18N - } - } - - /** - * This method maps all the visible fields. It has the side-effect of computing - * the value for maxVisibleFields. - */ - private void initializeFields() { - ArrayList concurrencyGroups = new ArrayList(); - persistentFields = pcElement.getFields(); - - for (int i = 0; i < persistentFields.length; i++) { - PersistenceFieldElement pcf = persistentFields[i]; - MappingFieldElementImpl mdf = (MappingFieldElementImpl) mdConfig.getField(pcf.getName()); - - if (mdf == null) { - throw new JDOFatalUserException(I18NHelper.getMessage(messages, - "core.configuration.fieldnotmapped", // NOI18N - pcf.getName(), pcElement.getName())); - } - - FieldDesc f; - - if (!(mdf instanceof MappingRelationshipElement)) { - f = createLocalField(mdf); - } else { - f = createForeignField((RelationshipElement) pcf, (MappingRelationshipElementImpl) mdf); - } - - initializeFetchAndConcurrencyGroup(f, pcf, mdf, concurrencyGroups); - - if (mdf.isReadOnly()) { - f.sqlProperties |= FieldDesc.PROP_READ_ONLY; - } - - try { - f.setupDesc(pcClass, pcf.getName()); - } catch (JDOException e) { - throw e; - } catch (Exception e) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.configuration.loadfailed.field", // NOI18N - pcf.getName(), pcElement.getName()), e); - } - - f.absoluteID = pcf.getFieldNumber(); - - addField(f); - - if (logger.isLoggable(Logger.FINEST)) { - Object[] items = new Object[] {f.getName(),new Integer(f.absoluteID)}; - logger.finest("sqlstore.model.classdesc.fieldinfo", items); // NOI18N - } - } - - this.maxVisibleFields = fields.size(); - } - - /** - * Creates an instance of LocalFieldDesc. - - * @param mdf Input MappingFieldElementImpl - */ - private LocalFieldDesc createLocalField(MappingFieldElementImpl mdf) { - ArrayList columnDesc = mdf.getColumnObjects(); - - // Make sure this field is properly mapped. - if ((columnDesc == null) || (columnDesc.size() == 0)) { - throw new JDOFatalUserException(I18NHelper.getMessage(messages, - "core.configuration.fieldnotmapped", // NOI18N - mdf.getName(), pcElement.getName())); - } - return new LocalFieldDesc(this, columnDesc); - } - - /** - * Creates an instance of LocalFieldDesc for column - * that corresponds to a hidden field. Adds the newly created field to - * hiddenFields and declaredHiddenFields. - * - * @param column The input column. - * @return New instance of LocalFieldDesc - */ - private LocalFieldDesc createLocalHiddenField(ColumnElement column) { - ArrayList columnDesc = new ArrayList(); - columnDesc.add(column); - LocalFieldDesc lf = new LocalFieldDesc(this, columnDesc); - - if (hiddenFields == null) { - hiddenFields = new ArrayList(); - } - hiddenFields.add(lf); - - // AbsouluteID for hidden fields must be < 0. - lf.absoluteID = -hiddenFields.size(); - - if (logger.isLoggable(Logger.FINEST)) { - Object[] items = new Object[] {pcClass,lf.getName(),column.getName().getFullName()}; - logger.finest("sqlstore.model.classdesc.getlocalfielddesc", items); // NOI18N - } - - return lf; - } - - private FieldDesc createForeignField(RelationshipElement fpcf, - MappingRelationshipElementImpl fmdf) { - - ForeignFieldDesc ff = new ForeignFieldDesc(this); - - addForeignField(ff); - - ff.cardinalityLWB = fpcf.getLowerBound(); - ff.cardinalityUPB = fpcf.getUpperBound(); - ff.deleteAction = fpcf.getDeleteAction(); - - initializeColumnLists(ff, fmdf); - - // This is a workaround to make sure that that cardinalityUPB is not <= 1 - // if the field is of type collection. - if (Model.RUNTIME.isCollection(fpcf.getCollectionClass()) && - (ff.cardinalityUPB <= 1)) { - ff.cardinalityUPB = Integer.MAX_VALUE; - } - - if (ff.cardinalityUPB > 1) { - try { - ff.setComponentType(Class.forName(fpcf.getElementClass(), true, classLoader)); - } catch (Throwable e) { - logger.log(Logger.WARNING, "sqlstore.exception.log", e); - } - } - - return ff; - } - - private void initializeColumnLists(ForeignFieldDesc ff, MappingRelationshipElementImpl fmdf) { - ArrayList assocPairs = fmdf.getAssociatedColumnObjects(); - ArrayList pairs = fmdf.getColumnObjects(); - ArrayList localColumns = new ArrayList(); - ArrayList foreignColumns = new ArrayList(); - - // We need to go through each local column and extract the foreign column. - if ((assocPairs == null) || (assocPairs.size() == 0)) { - for (int i = 0; i < pairs.size(); i++) { - ColumnPairElement fce = (ColumnPairElement) pairs.get(i); - localColumns.add(fce.getLocalColumn()); - foreignColumns.add(fce.getReferencedColumn()); - } - - ff.localColumns = localColumns; - ff.foreignColumns = foreignColumns; - } else { - ArrayList assocLocalColumns = new ArrayList(); - ArrayList assocForeignColumns = new ArrayList(); - - for (int i = 0; i < pairs.size(); i++) { - ColumnPairElement alc = (ColumnPairElement) pairs.get(i); - localColumns.add(alc.getLocalColumn()); - assocLocalColumns.add(alc.getReferencedColumn()); - } - - for (int i = 0; i < assocPairs.size(); i++) { - ColumnPairElement afc = (ColumnPairElement) assocPairs.get(i); - assocForeignColumns.add(afc.getLocalColumn()); - foreignColumns.add(afc.getReferencedColumn()); - } - - ff.localColumns = localColumns; - ff.assocLocalColumns = assocLocalColumns; - ff.assocForeignColumns = assocForeignColumns; - ff.foreignColumns = foreignColumns; - } - } - - private void initializeFetchAndConcurrencyGroup(FieldDesc f, - PersistenceFieldElement pcf, - MappingFieldElementImpl mdf, - ArrayList concurrencyGroups) { - f.fetchGroup = mdf.getFetchGroup(); - - // RESOLVE: For now, we can only handle one concurrency group per field - // MBO: - // I can call method getConcurrencyGroups w/o exception using the latest mapping files. - // Please note the mapping files do not include any concurrency group info, - // thus getConcurrencyGroups returns an empty array. - ConcurrencyGroupElement cgroups[] = pcf.getConcurrencyGroups(); - //ConcurrencyGroupElement cgroups[] = null; - - if ((cgroups == null) || (cgroups.length == 0)) { - if (f.fetchGroup == FieldDesc.GROUP_DEFAULT) { - f.concurrencyGroup = f.fetchGroup; - } - } else { - ConcurrencyGroupElement cge = cgroups[0]; - int index = 0; - - if ((index = concurrencyGroups.indexOf(cge)) == -1) { - index = concurrencyGroups.size(); - concurrencyGroups.add(cge); - } - - f.concurrencyGroup = index; - } - } - - private void createSecondaryTableKey(TableDesc table, MappingReferenceKeyElementImpl mappingSecondaryKey) { - - ColumnPairElement pairs[] = mappingSecondaryKey.getColumnPairs(); - KeyDesc referencingKey = new KeyDesc(); - KeyDesc referencedKey = new KeyDesc(); - TableDesc secondaryTable = findTableDesc(((MappingTableElementImpl) mappingSecondaryKey.getTable()).getTableObject()); - - for (int i = 0; i < pairs.length; i++) { - ColumnPairElement pair = pairs[i]; - - ColumnElement lc = pair.getLocalColumn(); - ColumnElement fc = pair.getReferencedColumn(); - - referencingKey.addColumn(lc); - - FieldDesc lf = getLocalFieldDesc(lc); - referencingKey.addField(lf); - - // We need to force field for the referencing key to be in the DFG - // so it will always be loaded. This is to facilitate updating - // secondary tables that requires this field to be loaded - // for constraint purposes. - lf.fetchGroup = FieldDesc.GROUP_DEFAULT; - - referencedKey.addColumn(fc); - referencedKey.addField(getLocalFieldDesc(fc)); - } - - table.addSecondaryTableKey(new ReferenceKeyDesc(secondaryTable, referencingKey, referencedKey)); - secondaryTable.setPrimaryTableKey(new ReferenceKeyDesc(table, referencedKey, referencingKey)); - } - - /** - * This method maps all the tables. - */ - private void initializeTables() { - ArrayList mdTables = mdConfig.getTables(); - - createTables(mdTables); - processSecondaryTables(mdTables); - } - - private void createTables(ArrayList mdTables) { - for (int i = 0; i < mdTables.size(); i++) { - MappingTableElementImpl mdt = (MappingTableElementImpl) mdTables.get(i); - TableDesc t = new TableDesc(mdt.getTableObject()); - - ArrayList keys = mdt.getKeyObjects(); - KeyDesc key = new KeyDesc(); - t.setKey(key); - key.addColumns(keys); - - for (int j = 0; j < keys.size(); j++) { - ColumnElement c = (ColumnElement) keys.get(j); - - if (c != null) { - key.addField(getLocalFieldDesc(c)); - } - } - - addTableDesc(t); - } - } - - /** - * Validity checks on secondary tables: - * 1) Ensure that every secondary table has a TableDesc - * 2) Every referencing key is the same length as the table's key - * Build the referencing keys. - * NOTE: This method assumes that the entries of mdTables - * and tables are sorted in the same order. - */ - private void processSecondaryTables(ArrayList mdTables) { - - for (int i = 0; i < tables.size(); i++) { - MappingTableElementImpl mdt = (MappingTableElementImpl) mdTables.get(i); - TableDesc t = (TableDesc) tables.get(i); - ArrayList secondaryKeys = mdt.getReferencingKeys(); - - for (int j = 0; j < secondaryKeys.size(); j++) { - MappingReferenceKeyElementImpl mappingSecondaryKey = (MappingReferenceKeyElementImpl) secondaryKeys.get(j); - createSecondaryTableKey(t, mappingSecondaryKey); - } - } - } - - private void initializeJoinTables() { - Iterator iter = foreignFields.iterator(); - - while (iter.hasNext()) { - ForeignFieldDesc ff = (ForeignFieldDesc) iter.next(); - - if (ff.useJoinTable()) { - TableElement joinTable = ((ColumnElement) ff.assocLocalColumns.get(0)).getDeclaringTable(); - TableDesc joinTableDesc = findTableDesc(joinTable); - - if (joinTableDesc == null) { - joinTableDesc = new TableDesc(joinTable); - - // Mark this table as a join table - joinTableDesc.setJoinTable(true); - addTableDesc(joinTableDesc); - } - } - } - } - - /** - * Returns a list of fields in fetchGroup groupID. - * - * @param groupID Fetch group id. - * @return List of fields in fetchGroup groupID. The list - * for FieldDesc.GROUP_NONE is empty. - * @see #initializeFetchGroups - */ - public ArrayList getFetchGroup(int groupID) { - int index = 0; - - if (groupID >= FieldDesc.GROUP_NONE) { - index = groupID; - } else if (groupID < FieldDesc.GROUP_NONE) { - index = -groupID + maxHierarchicalGroupID; - } - - for (int i = fetchGroups.size(); i <= index; i++) { - fetchGroups.add(null); - } - - ArrayList group = (ArrayList) fetchGroups.get(index); - - if (group == null) { - group = new ArrayList(); - fetchGroups.set(index, group); - } - - return group; - } - - private void addField(FieldDesc f) { - fields.add(f); - } - - private void addForeignField(ForeignFieldDesc f) { - foreignFields.add(f); - } - - /** - * Compute the fetch group lists for the declared fields. - * A fetch group lists the fields sharing the same value for - * FieldDesc.fetchGroup. - * Note: Fields that aren't in any fetch group must not be added - * to fetchGroups[FieldDesc.GROUP_NONE]. - * - * @see #getFetchGroup - */ - private void initializeFetchGroups() { - - for (int i = 0; i < 2; i++) { - ArrayList theFields = null; - - if (i == 0) { - theFields = fields; - } else { - // It is possible to have hidden fields in the DFG. - if ((theFields = hiddenFields) == null) - continue; - } - - for (int j = 0; j < theFields.size(); j++) { - FieldDesc f = (FieldDesc) theFields.get(j); - - // Do not add the field to the fetch group for GROUP_NONE. - if (f.fetchGroup > FieldDesc.GROUP_NONE) { - getFetchGroup(f.fetchGroup).add(f); - } - - // Check declared visible fields only. - if (i == 0 && !f.isRelationshipField() - && f.fetchGroup != FieldDesc.GROUP_DEFAULT) { - hasLocalNonDFGField = true; - } - } - } - - this.maxHierarchicalGroupID = fetchGroups.size() - 1; - - for (int i = 0; i < fields.size(); i++) { - FieldDesc f = (FieldDesc) fields.get(i); - - // Do not add the field to the fetch group for GROUP_NONE. - if (f.fetchGroup < FieldDesc.GROUP_NONE) { - getFetchGroup(f.fetchGroup).add(f); - } - } - } - - private void initializeConcurrency() { - optimisticConcurrency = new ConcurrencyOptVerify(); - optimisticConcurrency.configPersistence(this); - checkDirtyConcurrency = new ConcurrencyCheckDirty(); - checkDirtyConcurrency.configPersistence(this); - databaseConcurrency = new ConcurrencyDBNative(); - databaseConcurrency.configPersistence(this); - explicitConcurrency = new ConcurrencyDBExplicit(); - explicitConcurrency.configPersistence(this); - } - - private void initializeKeyFields() { - boolean debug = logger.isLoggable(Logger.FINEST); - if (oidClass == null) - return; - - keyFields = oidClass.getFields(); - keyFieldNames = new String[keyFields.length]; - keyFieldDescs = new LocalFieldDesc[keyFields.length]; - - if (debug) { - logger.finest("sqlstore.model.classdesc.createsqldesc", oidClass); // NOI18N - } - - for (int i = 0; i < keyFields.length; i++) { - Field kf = keyFields[i]; - String name = kf.getName(); - keyFieldNames[i] = name; - - if (name.equals("serialVersionUID")) { // NOI18N - continue; - } - - LocalFieldDesc f = getLocalFieldDesc(name); - - if (f != null) { - if (debug) { - logger.finest("sqlstore.model.classdesc.pkfield", f.getName()); // NOI18N - } - - // The fetch group for pk fields should always be DFG. - f.fetchGroup = FieldDesc.GROUP_DEFAULT; - f.sqlProperties &= ~(FieldDesc.PROP_REF_INTEGRITY_UPDATES); - f.sqlProperties &= ~(FieldDesc.PROP_IN_CONCURRENCY_CHECK); - f.sqlProperties |= FieldDesc.PROP_PRIMARY_KEY_FIELD; - - keyFieldDescs[i] = f; - } else { - throw new JDOFatalUserException(I18NHelper.getMessage(messages, - "core.configuration.noneexistentpkfield", // NOI18N - name, oidClass.getName(), pcClass.getName())); - } - } - } - - /** - * Initialize the list of field descriptors of version consistency fields. - * The names of the version fields are obtained from - * {@link MappingClassElement#getVersionFields}. - */ - private void initializeVersionFields() { - int size = mdConfig.getVersionFields().size(); - Iterator versionFieldIterator = mdConfig.getVersionFields().iterator(); - versionFields = new LocalFieldDesc[size]; - - for (int i = 0; i < size; i++) { - MappingFieldElement mdField = (MappingFieldElement) versionFieldIterator.next(); - LocalFieldDesc f = (LocalFieldDesc) getField(mdField.getName()); - - if (f != null) { - if (logger.isLoggable()) { - logger.finest("sqlstore.model.classdesc.vcfield", f.getName()); // NOI18N - } - - versionFields[i] = f; - registerVersionFieldWithTable(f); - - // The fetch group for version fields should always be DFG. - f.fetchGroup = FieldDesc.GROUP_DEFAULT; - f.sqlProperties &= ~(FieldDesc.PROP_REF_INTEGRITY_UPDATES); - f.sqlProperties |= FieldDesc.PROP_VERSION_FIELD; - } else { - throw new JDOFatalUserException(I18NHelper.getMessage(messages, - "core.configuration.noneexistentvcfield", // NOI18N - mdField.getName(), pcClass.getName())); - } - } - } - - /** - * Registers the version field versionField
    with the - * corresponding table. - * - * @param versionField Field used in version consistency check. - */ - private void registerVersionFieldWithTable(LocalFieldDesc versionField) { - // Version field must be mapped to exactly one column. - ColumnElement ce = (ColumnElement) versionField.getColumnElements().next(); - Iterator iter = tables.iterator(); - - while (iter.hasNext()) { - TableDesc table = (TableDesc) iter.next(); - - if (!table.isJoinTable()) { - if (ce.getDeclaringTable() == table.getTableElement()) { - table.setVersionField(versionField); - break; - } - } - } - } - - /** - * Computes all the primitive tracked fields. - * Primitive fields track each other if they are mapped to same columns. - * One of them is made the primary tracked field as per precedence rules - * on the field types. This field is used to bind values to columns while - * updating the database. - */ - private void computeTrackedPrimitiveFields() { - // Compute the list of primitive fields to track for each primitive field. - for (int i = 0; i < fields.size(); i++) { - FieldDesc f = (FieldDesc) fields.get(i); - - if (!f.isRelationshipField()) { - LocalFieldDesc lf = (LocalFieldDesc) f; - - lf.computeTrackedPrimitiveFields(); - lf.computePrimaryTrackedPrimitiveField(); - } - } - } - - /** - * Computes the tracked relationship fields. Relationships are tracked in - * the following way: - *
      - *
    • A relationship field tracks a local field, if it's mappped - * to the same columns. The relationship will be updated when the - * local field is set.
    • - *
    • Relationship fields track each other if they are mapped to - * the same columns. The first field in the field order is marked - * as primary tracked field. If the foreign key columns are - * explicitly mapped, this field also tracks the local foreign key - * field. The foreign key columns are explicitly mapped in - * overlapping pk/fk situations. The other relationship fields - * mapped to the same columns are updated when the primary tracked - * relationship field is set.
    • - *
    - * @see FieldDesc#PROP_PRIMARY_TRACKED_FIELD - * @see FieldDesc#PROP_SECONDARY_TRACKED_FIELD - */ - private void computeTrackedRelationshipFields() { - // Compute the list of fields to track for each field. - for (int i = 0; i < 2; i++) { - ArrayList theFields = null; - - // We first check all the visible fields and then the hidden fields. - if (i == 0) { - theFields = this.fields; - } else { - if ((theFields = this.hiddenFields) == null) { - continue; - } - } - - for (int j = 0; j < theFields.size(); j++) { - FieldDesc f = (FieldDesc) theFields.get(j); - - f.computeTrackedRelationshipFields(); - } - } - } - - /** - * Remove redundant ForeignFieldDescs from each LocalFieldDesc's tracked field list. - */ - private void cleanupTrackedFields() { - - for (int i = 0; i < fields.size(); i++) { - FieldDesc f = (FieldDesc) fields.get(i); - - if (f instanceof LocalFieldDesc) { - ((LocalFieldDesc) f).cleanupTrackedFields(); - } - } - } - - /** - * The fixupForeignReferences method finds all the references to foreign - * classes in this configuration. It then builds the appropriate run-time - * information (ForeignFieldDesc) for the foreign reference from the - * meta-data. - */ - private void fixupForeignReferences(ConfigCache cache) { - - for (int i = 0; i < foreignFields.size(); i++) { - ForeignFieldDesc ff = (ForeignFieldDesc) foreignFields.get(i); - Class classType = null; - - if ((classType = ff.getComponentType()) == null) { - classType = ff.getType(); - } - - ClassDesc foreignConfig = (ClassDesc) cache.getPersistenceConfig(classType); - - if (foreignConfig == null) continue; - - // Look up the inverse relationship field name if there is any. - String irName = pcElement.getRelationship(ff.getName()).getInverseRelationshipName(); - ForeignFieldDesc inverseField = null; - - if (irName != null) { - inverseField = (ForeignFieldDesc) foreignConfig.getField(irName); - } - - ff.fixupForeignReference(foreignConfig, inverseField); - } - } - - private void fixupFieldProperties() { - - for (int i = 0; i < foreignFields.size(); i++) { - ForeignFieldDesc ff = (ForeignFieldDesc) foreignFields.get(i); - ff.fixupFieldProperties(); - } - } - - LocalFieldDesc getLocalFieldDesc(ColumnElement column) { - LocalFieldDesc result; - - for (int i = 0; i < 2; i++) { - ArrayList theFields = null; - - if (i == 0) { - theFields = fields; - } else { - theFields = hiddenFields; - } - - if (theFields != null) { - for (int j = 0; j < theFields.size(); j++) { - FieldDesc f = (FieldDesc) theFields.get(j); - - if (f instanceof LocalFieldDesc) { - result = (LocalFieldDesc) f; - - for (int k = 0; k < result.columnDescs.size(); k++) { - ColumnElement c = (ColumnElement) result.columnDescs.get(k); - - // if (c.equals(column)) - if (c.getName().getFullName().compareTo(column.getName().getFullName()) == 0) { - // If f is a tracked field and it is not the primary, we continue - // searching. - if ((f.getTrackedFields() != null) && - ((f.sqlProperties & FieldDesc.PROP_PRIMARY_TRACKED_FIELD) == 0)) { - continue; - } - - return result; - } - } - } - } - } - } - - // If we didn't find the field associated with the column, we need to - // create a hidden field and add it to the hiddenFields list. - result = createLocalHiddenField(column); - - return result; - } - - /** - * Returns the local field descriptor for the field name. - * - * @param name Field name. - * @return Local field descriptor for the field name. - * @throws JDOFatalInternalException if the field is not defined for this class. - */ - public LocalFieldDesc getLocalFieldDesc(String name) { - FieldDesc desc = getField(name); - - if (desc == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.unknownfield", // NOI18N - name, getName())); - } - - if (!(desc instanceof LocalFieldDesc)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.notinstanceof", // NOI18N - desc.getClass().getName(), "LocalFieldDesc")); // NOI18N - } - - return ((LocalFieldDesc) desc); - } - - public TableDesc findTableDesc(TableElement mdTable) { - for (int i = 0; i < tables.size(); i++) { - TableDesc t = (TableDesc) tables.get(i); - - if (t.getTableElement().equals(mdTable)) { - return t; - } - } - - return null; - } - - private void addTableDesc(TableDesc t) { - // setConsistencyLevel of this table before adding it to our list - if (!t.isJoinTable()) { - // JoinTables represent relationships instead of "real" objects, - // they should never have a special consistencyLevel. - t.setConsistencyLevel(mdConfig.getConsistencyLevel()); - } - tables.add(t); - } - - public int getTableIndex(TableDesc tableDesc) { - return tables.indexOf(tableDesc); - } - - public FieldDesc getField(String name) { - for (int i = 0; i < fields.size(); i++) { - FieldDesc f = (FieldDesc) fields.get(i); - - if ((f != null) && (f.getName().compareTo(name) == 0)) { - return f; - } - } - - if (hiddenFields != null) { - for (int i = 0; i < hiddenFields.size(); i++) { - FieldDesc f = (FieldDesc) hiddenFields.get(i); - - if (f.getName().compareTo(name) == 0) { - return f; - } - } - } - - return null; - } - - public FieldDesc getField(int index) { - if (index >= 0) { - return (FieldDesc) fields.get(index); - } else { - return (FieldDesc) hiddenFields.get(-(index + 1)); - } - } - - public Constructor getConstructor() { - return constructor; - } - - public Class getPersistenceCapableClass() { - return pcClass; - } - - public Class getOidClass() { - return oidClass; - } - - public String getName() { - return pcClass.getName(); - } - - public Iterator getTables() { - return tables.iterator(); - } - - public TableDesc getPrimaryTable() { - return (TableDesc) tables.get(0); - } - - public boolean isNavigable() { - return mdConfig.isNavigable(); - } - - public boolean hasVersionConsistency() { - return mdConfig.getConsistencyLevel() == MappingClassElement.VERSION_CONSISTENCY; - } - - public LocalFieldDesc[] getVersionFields() { - return versionFields; - } - - public Concurrency getConcurrency(boolean optimistic) { - // Following algo is used to determine which concurrency to return: - // consistency level specified in model(represented by the variable consistencyLevel), - // takes precedence over - // concurrency specified by transaction (represented by parameter 'optimistic' to this method) - - Concurrency concurrency = null; - int consistencyLevel = mdConfig.getConsistencyLevel(); - - if (consistencyLevel == MappingClassElement.NONE_CONSISTENCY) { - // No consistency level specified in model - if (optimistic) { - concurrency = (Concurrency) optimisticConcurrency.clone(); - } else { - concurrency = (Concurrency) databaseConcurrency.clone(); - } - - } else { - // currently, we would not try to interprete consistencyLevel as bitmap - // When we implment consistencyLevel like 2+, 3+, we would have to interprete - // consistencyLevel as bitmap and implement some changes in class hierarchy - // starting with interface Concurrency - switch(consistencyLevel) { - - // We would never reach this code because we are in the else part - // case MappingClassElement.NONE_CONSISTENCY : - // concurrency = (Concurrency) databaseConcurrency.clone(); - // break; - - case MappingClassElement.CHECK_MODIFIED_AT_COMMIT_CONSISTENCY : - concurrency = (Concurrency) checkDirtyConcurrency.clone(); - break; - - case MappingClassElement.LOCK_WHEN_LOADED_CONSISTENCY : - // This consistency level is implemeted inside SelectStatement and - // not by any object implementing Concurrency - concurrency = (Concurrency) explicitConcurrency.clone(); - break; - - case MappingClassElement.VERSION_CONSISTENCY : - // This consistency level is implemented inside ClassDesc and - // UpdateQueryPlan and not by any object implementing Concurrency. - // Selects are handled in ClassDesc, updates/deletes in - // UpdateQueryPlan. - concurrency = (Concurrency) databaseConcurrency.clone(); - break; - - // **Note** - // Plese change text for the exception thrown in default below when - // we start supporting new consistency levels. The text lists currently supported - // consistency level - default : - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "core.configuration.unsupportedconsistencylevel", pcClass));// NOI18N - } - } - - return concurrency; - } - - /** - * Determines whether this classDesc has the - * CHECK_MODIFIED_AT_COMMIT_CONSISTENCY level. - * @return true if this has the - * CHECK_MODIFIED_AT_COMMIT_CONSISTENCY level; - * false otherwise. - */ - public boolean hasModifiedCheckAtCommitConsistency() { - return(mdConfig.getConsistencyLevel() == - MappingClassElement.CHECK_MODIFIED_AT_COMMIT_CONSISTENCY); - } - - public boolean isPKField(int index) { - return persistentFields[index].isKey(); - } - - /** - * Return the key fields as array of java.lang.reflect.Field instances. - * @return The key fields as array of java.lang.reflect.Field instances. - */ - public Field[] getKeyFields() { - return keyFields; - } - - /** - * Returns the key field names as array of String. - * @return The key field names as array of String. - */ - public String[] getKeyFieldNames() { - return keyFieldNames; - } - - /** - * Returns the descriptors for key fields as array of LocalFieldDesc. - * @return The descriptors for key fields as array of LocalFieldDesc. - */ - public LocalFieldDesc[] getKeyFieldDescs() { - return keyFieldDescs; - } - - /** - * Returns a new SQLStateManager instance, - * initialized with passed store manager and this instance of - * the runtime class model. - * - * @param store Store manager, an instance of SQLStoreManager. - * @return A new SQLStateManager instance. - */ - public SQLStateManager newStateManagerInstance(PersistenceStore store) { - return new SQLStateManager(store, this); - } - - /** - * Returns a RetrieveDescriptor which represent a SQL query selecting a pc - * instance by pk-fields. Please note that the RDs are cached, so the method - * first checks the cache. If there is no corresponding RetrieveDescriptor - * in the cache, it creates a new one and stores it in the cache. If the - * additionalField is not null, the method retrieves the field indicated by - * it along with the query. Fetch group fields will be added when the query - * plan is build. - * - * Note, the reason to introduce the RetrieveDesc cache in ClassDesc and not - * in the store manager is, that we can have the cache per class, where - * the store manager could only provide one big cache for all pc classes. - * - * @param additionalField The field to be retrieved in addition to the - * DFG fields. - * @param store The store manager. - * @return A RetrieveDescriptor selecting a pc instance by pk-fields. - * @see #getRetrieveDescForFKQuery - */ - public RetrieveDesc getRetrieveDescForPKQuery(FieldDesc additionalField, PersistenceStore store) { - RetrieveDescImpl rd = null; - String cacheKey = generateRDCacheKey(additionalField); - - synchronized (retrieveDescCache) { - // Cache lookup. - rd = (RetrieveDescImpl) retrieveDescCache.get(cacheKey); - // Generate a new RD if there isn't one be found in the cache. - if (rd == null) { - rd = (RetrieveDescImpl) store.getRetrieveDesc(pcClass); - if (additionalField != null) { - RetrieveDesc frd = null; - String name = additionalField.getName(); - // If the additionalField is not null, we will retrieve - // the field indicated by it along with the query. - if (additionalField instanceof ForeignFieldDesc) { - Class additionalClass = ((ForeignFieldDesc) additionalField). - foreignConfig.getPersistenceCapableClass(); - - frd = store.getRetrieveDesc(additionalClass); - } - - rd.addPrefetchedField(name, frd); - } - - addPKConstraints(rd); - // Cache fillup. - retrieveDescCache.put(cacheKey, rd); - } - } - - return rd; - } - - /** - * Returns a RetrieveDescriptor which represent a SQL query selecting pc - * instances by the relationship key. The relationship key is taken from - * the foreign field foreignField and used as query constraint. - * Please note that the RDs are cached, so the method first checks the cache. - * If there is no corresponding RetrieveDescriptor in the cache, it creates - * a new one and stores it in the cache. FetchGroup fields will be added - * when the query plan is build, see SelectQueryPlan#processFetchGroups. - * - * Note, the reason to introduce the RetrieveDesc cache in ClassDesc and not - * in the store manager is, that we can have the cache per class, where - * the store manager could only provide one big cache for all pc classes. - * - * @param foreignField The relationship field to be retrieved. - * Following is true for this field. - *
      - *
    • It is part of an independent fetch group with only one field in the fetch group. - *

      Or - *

      Not part of any fetch group. - *

    • - *
    • It is not mapped to a join table.
    • - *
    - * @param store The store manager. - * @return A RetrieveDescriptor selecting pc instance(s) corresponding to - * the foreign field - * @see #getRetrieveDescForPKQuery - */ - public RetrieveDesc getRetrieveDescForFKQuery(ForeignFieldDesc foreignField, PersistenceStore store) { - RetrieveDescImpl rd = null; - String cacheKey = generateRDCacheKey(foreignField); - - synchronized (foreignRetrieveDescCache) { - // Cache lookup. - rd = (RetrieveDescImpl) foreignRetrieveDescCache.get(cacheKey); - // Generate a new RD if there isn't one be found in the cache. - if (rd == null) { - rd = (RetrieveDescImpl) store.getRetrieveDesc(foreignField.foreignConfig.getPersistenceCapableClass()); - - addFKConstraints(rd, foreignField); - // Cache fillup. - foreignRetrieveDescCache.put(cacheKey, rd); - } - } - - return rd; - } - - /** - * Gets RetrieveDescriptor(rd) for verifying a VC instance. The returned rd - * is set up to expect constraints for pk followed by constraints for version - * fields. - * @param store - * @return Instance of retrieve Descriptor for verifying a VC instance. - */ - public RetrieveDesc getRetrieveDescForVerificationQuery(PersistenceStore store) { - - assert hasVersionConsistency(); - - synchronized(retrieveDescForVerificationSynchObj) { - if (retrieveDescForVerification == null) { - RetrieveDescImpl rd = (RetrieveDescImpl) store.getRetrieveDesc(pcClass); - - int index = addPKConstraints(rd); - rd.addParameterConstraints(versionFields, index); - rd.setOption(RetrieveDescImpl.OPT_VERIFY); - - retrieveDescForVerification = rd; - } - } - return retrieveDescForVerification; - } - - /** - * Generate for each keyField 'keyfield = ?' in the where clause - * with InputParamValues for later binding of the actual query parameters. - */ - private int addPKConstraints(RetrieveDescImpl rd) { - // PK Constraints are always added first hence startIndex == 0 - rd.addParameterConstraints(keyFieldDescs, 0); - - return keyFieldDescs.length; - } - - /** - * Generate the condition on the relationship key in the where clause - * with InputParamValues for later binding of the actual query parameters. - */ - private void addFKConstraints(RetrieveDescImpl rd, ForeignFieldDesc foreignField) { - for (int i = 0; i < foreignField.foreignFields.size(); i++) { - LocalFieldDesc fff = (LocalFieldDesc) foreignField.foreignFields.get(i); - rd.addParameterConstraint(fff, i); - } - } - - /** - * Generates the key for a RetrieveDescriptor for the cache lookup. - * The key has one of two forms: - *
  • - * Fully qualified classname of the pcclass, if additionalField is null. - *
  • - *
  • - * Fully qualified classname of the pcclass + '/' + additionalFieldName + - * '/' + additionalFieldID, otherwise. - *
  • - * @param additionalField The field to be retrieved in addition to the - * DFG fields. - * @return The generated cache key as a String. - */ - private String generateRDCacheKey(FieldDesc additionalField) - { - StringBuilder key = new StringBuilder(); - - key.append(pcClass.getName()); - - if (additionalField != null) { - // using '/' as separator between class and fieldname - key.append('/'); - key.append(additionalField.getName()); - key.append('/'); - key.append(additionalField.absoluteID); - } - - return key.toString(); - } - - /** - * Returns true, if this class has got local fields not in the default - * fetch group. Because UpdateQueryPlans for updates are cached depending - * on the set of updated fields {@link #getUpdateQueryPlanForUpdate}, we - * might need to compare the updated fields btw. two instances when - * batching is enabled. - * - * @return True, if this class has got local fields not in the default - * fetch group. - * @see SQLStateManager#requiresImmediateFlush - */ - public boolean hasLocalNonDFGFields() { - // All instances with modified DFG fields can be batched with - // the same statement. If there's a primitive field outside - // the DFG, we need to compare modified fields to check if the - // same statement can be used. - return hasLocalNonDFGField; - } - - /** - * Retrieves the update query plan for the specified descriptor. - * @param desc the descriptor - * @param store the store manager - * @return Instance of update query plan for the specified descriptor. - */ - public UpdateQueryPlan getUpdateQueryPlan( - UpdateObjectDescImpl desc, SQLStoreManager store) - { - switch (desc.getUpdateAction()) { - case ActionDesc.LOG_CREATE: - return getUpdateQueryPlanForInsert(desc, store); - case ActionDesc.LOG_DESTROY: - return getUpdateQueryPlanForDelete(desc, store); - case ActionDesc.LOG_UPDATE: - return getUpdateQueryPlanForUpdate(desc, store); - default: - // TBD: error message + I18N - // error unknown action - return null; - } - } - - /** */ - private UpdateQueryPlan getUpdateQueryPlanForInsert( - UpdateObjectDescImpl desc, SQLStoreManager store) - { - synchronized(updateQueryPlanForInsertSynchObj) { - if (updateQueryPlanForInsert == null) { - updateQueryPlanForInsert = buildQueryPlan(store, desc); - } - } - return updateQueryPlanForInsert; - } - - /** */ - private UpdateQueryPlan getUpdateQueryPlanForDelete( - UpdateObjectDescImpl desc, SQLStoreManager store) - { - synchronized(updateQueryPlanForDeleteSynchObj) { - if (updateQueryPlanForDelete == null) { - updateQueryPlanForDelete = buildQueryPlan(store, desc); - } - } - return updateQueryPlanForDelete; - } - - /** */ - private UpdateQueryPlan getUpdateQueryPlanForUpdate( - UpdateObjectDescImpl desc, SQLStoreManager store) - { - String key = getSortedFieldNumbers(desc.getUpdatedFields()); - UpdateQueryPlan plan; - synchronized(updateQueryPlanCache) { - plan = (UpdateQueryPlan)updateQueryPlanCache.get(key); - if (plan == null) { - plan = buildQueryPlan(store, desc); - updateQueryPlanCache.put(key, plan); - } - } - return plan; - } - - /** - * Builds and initializes a new query plan based on the information - * passed with the desc parameter. The returned plan - * and its related data structures will be readonly. - * - * @param store Store manager - * @param desc Update information, including the update action and - * modified fields as appropriate. - * - * @return A new query plan. The returned plan will be readonly. - */ - private UpdateQueryPlan buildQueryPlan(SQLStoreManager store, - UpdateObjectDescImpl desc) { - UpdateQueryPlan plan; - - plan = new UpdateQueryPlan(desc, store); - plan.build(true); - - // Initialize the text for all statements. After this point, - // the plan and its related data structures will be readonly. - plan.getStatements(); - - return plan; - } - - /** - * The methods returns the string representation of the sorted field numbers - * of the FieldDescs. - * The key is the string representation of the sorted field number list - * of updated fields. - * @param fields the list of FieldDescs - * @return the sorted field number string - */ - private String getSortedFieldNumbers(List fields) - { - // Use the array of field numbers of the updated fields as the key - int size = fields.size(); - int [] fieldNos = new int[size]; - for (int i = 0; i < size; i++) { - FieldDesc f = (FieldDesc)fields.get(i); - fieldNos[i] = f.absoluteID; - } - Arrays.sort(fieldNos); - return StringHelper.intArrayToSeparatedList(fieldNos, ","); //NOI18N - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ConfigCacheImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ConfigCacheImpl.java deleted file mode 100644 index b2ea424aaf7..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ConfigCacheImpl.java +++ /dev/null @@ -1,224 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.model; - -import com.sun.jdo.spi.persistence.support.sqlstore.ConfigCache; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperSQLStore; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceConfig; -import com.sun.jdo.spi.persistence.support.sqlstore.VersionConsistencyCache; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.ApplicationLifeCycleEventListener; -import com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.TypeTable; -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.spi.persistence.utility.logging.Logger; - -import java.util.*; - -/** - * Caches SQLStore config information. - * - * @author Mitesh Meswani - */ -public class ConfigCacheImpl - implements ConfigCache, ApplicationLifeCycleEventListener { - - /** - * Map of class types to PersistenceConfig. - */ - private Map classConfigs; - - /** - * Map of OID classes to PersistenceCapable classes. - */ - private Map oidClassToClassType; - - /** - * This cache should be notified every time a VC class - * is loaded or unloaded. - */ - private VersionConsistencyCache vcCache; - - /** - * Map of class loaders to a list of PersistenceCapable - * classes loaded by the classloader. - */ - private Map classLoaderToClassType; - - /** The logger. */ - protected final static Logger logger = LogHelperSQLStore.getLogger(); - - public ConfigCacheImpl() { - classConfigs = new HashMap(); - classLoaderToClassType = new HashMap(); - oidClassToClassType = new HashMap(); - - // Register for call backs on application loader events. - EJBHelper.registerApplicationLifeCycleEventListener(this); - } - - /** - * Get the PersistenceConfig for given pcClass. The config is looked up - * from a cache. If a config can not be found in cache, a new - * instance is created and returned. - * - * @param pcClass The input pcClass. - * @return PersistenceConfig for given pcClass. - */ - public synchronized PersistenceConfig getPersistenceConfig(Class pcClass) { - ClassDesc sqlConfig = - (ClassDesc) classConfigs.get(pcClass); - if (sqlConfig == null) { - // The order of the below operations is important. - // Initialize is called after puting sqlConfig into the - // cache so that ClassDesc#fixupForeignReferences does not - // cause infinite recursion. - // After the initialisation, oidClassToClassType.put is - // called so that sqlConfig.getOidClass() returns correct - // value. - - sqlConfig = ClassDesc.newInstance(pcClass); - classConfigs.put(pcClass, sqlConfig); - sqlConfig.initialize(this); - oidClassToClassType.put(sqlConfig.getOidClass(), pcClass); - addToClassLoaderMap(pcClass); - } - return sqlConfig; - } - - /** - * Gets the Class instance corresponding to given oidType. - * - * @param oidType The input oidType. - * @return The Class instance corresponding to given oidType. - */ - public Class getClassByOidClass(Class oidType) { - return (Class) oidClassToClassType.get(oidType); - } - - /** - * @inheritDoc - */ - public void notifyApplicationUnloaded(ClassLoader classLoader) { - boolean debug = logger.isLoggable(Logger.FINEST); - - // Clean up classConfigs and oidClassToClassType for the given - // classLoader. - synchronized (this) { - if (debug) { - Object[] items = new Object[] {"classLoaderToClassType", classLoaderToClassType.size()}; - logger.finest("sqlstore.model.configcacheimpl.size_before",items); // NOI18N - } - - List pcClasses = (List) classLoaderToClassType.get(classLoader); - if (pcClasses != null) { - if (debug) { - Object[] items = new Object[] {"classConfigs", classConfigs.size()}; - logger.finest("sqlstore.model.configcacheimpl.size_before",items); // NOI18N - - items = new Object[] {"oidClassToClassType", oidClassToClassType.size()}; - logger.finest("sqlstore.model.configcacheimpl.size_before",items); // NOI18N - } - - Iterator it = pcClasses.iterator(); - while (it.hasNext()) { - Class classType = (Class) it.next(); - ClassDesc config = - (ClassDesc) classConfigs.remove(classType); - Class oidClass = config.getOidClass(); - oidClassToClassType.remove(oidClass); - if (config.hasVersionConsistency() && vcCache != null) { - vcCache.removePCType(classType); - } - } - if (debug) { - Object[] items = new Object[] {"classConfigs", classConfigs.size()}; - logger.finest("sqlstore.model.configcacheimpl.size_after",items); // NOI18N - - items = new Object[] {"oidClassToClassType", oidClassToClassType.size()}; - logger.finest("sqlstore.model.configcacheimpl.size_after",items); // NOI18N - } - - // Data about this classLoader is no longer needed. - // Remove it from cache. - classLoaderToClassType.remove(classLoader); - if (debug) { - Object[] items = new Object[] {"classLoaderToClassType", classLoaderToClassType.size()}; - logger.finest("sqlstore.model.configcacheimpl.size_after",items); // NOI18N - } - - } - } - - // Notify others to cleanup - TypeTable.removeInstance(classLoader); - Model model = Model.RUNTIME; - model.removeResourcesFromCaches(classLoader); - - } - - /** - * Sets VersionConsistencyCache field. - * - * @param vcCache the VersionConsistencyCache instance. - */ - public synchronized void setVersionConsistencyCache( - VersionConsistencyCache vcCache) { - this.vcCache = vcCache; - } - - /** - * Add pcClass to a classLoaderToClassType map. The only call to - * this private method is from getPersistenceConfig(). As that method is - * synchronized we don't need to synchronize here. - * - * @param pcClass The pcClass to be added. - */ - private void addToClassLoaderMap(Class pcClass) { - ClassLoader classLoader = pcClass.getClassLoader(); - List classes = (List) classLoaderToClassType.get(classLoader); - if (classes == null) { - // First entry for a given ClassLoader, initialize the ArrayList. - classes = new ArrayList(); - classLoaderToClassType.put(classLoader, classes); - } - classes.add(pcClass); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/FieldDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/FieldDesc.java deleted file mode 100644 index ee80a077e91..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/FieldDesc.java +++ /dev/null @@ -1,847 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * FieldDesc.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.model; - - -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.api.persistence.support.JDOFatalUserException; -import com.sun.jdo.spi.persistence.support.sqlstore.*; -import com.sun.jdo.spi.persistence.support.sqlstore.sco.SqlTimestamp; -import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.netbeans.modules.dbschema.ColumnElement; -import org.glassfish.persistence.common.I18NHelper; - -import java.lang.reflect.Field; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.Date; -import java.util.ResourceBundle; - -/** - * - */ -public abstract class FieldDesc implements java.io.Serializable { - - public static final int GROUP_DEFAULT = 1; - - public static final int GROUP_NONE = 0; - - /** This field is used for concurrency check */ - public static final int PROP_IN_CONCURRENCY_CHECK = 0x1; - - /** Update before image when this field is updated. This property is always set */ - public static final int PROP_LOG_ON_UPDATE = 0x2; - - /** This field is read only */ - public static final int PROP_READ_ONLY = 0x4; - - /** Record updates on this field to DB. This property is always set for primitive fields. */ - public static final int PROP_RECORD_ON_UPDATE = 0x8; - - /** Relationship updates are processed from the side containing this field. */ - public static final int PROP_REF_INTEGRITY_UPDATES = 0x10; - - /** - * This field is the primary tracked field. - *

    - * Primitive fields track each other if they are mapped to same columns. - * One of them is made the primary tracked field as per precedence rules - * on the field types. This field is used to bind values to columns while - * updating the database. - *

    - * RESOLVE: - * Investigate the runtime behaviour for relationship fields marked primary. - * - * @see #PROP_SECONDARY_TRACKED_FIELD - * @see ClassDesc#computeTrackedPrimitiveFields - * @see ClassDesc#computeTrackedRelationshipFields - */ - public static final int PROP_PRIMARY_TRACKED_FIELD = 0x20; - - /** - * This field is a secondary tracked field. - *

    - * Seconday tracked primitive fields are not used for updates to the database - * or for concurrency checking. - *

    - * RESOLVE: - * Investigate the runtime behaviour for secondary tracked relationship fields. - * - * @see #PROP_PRIMARY_TRACKED_FIELD - * @see ClassDesc#computeTrackedPrimitiveFields - * @see ClassDesc#computeTrackedRelationshipFields - */ - public static final int PROP_SECONDARY_TRACKED_FIELD = 0x40; - - /** - * This field tracks a relationship field. - * Only primitive fields can have this property set. - */ - public static final int PROP_TRACK_RELATIONSHIP_FIELD = 0x80; - - /** This field is part of a primary key. */ - public static final int PROP_PRIMARY_KEY_FIELD = 0x100; - - /** This field is used for version consistency validation. */ - public static final int PROP_VERSION_FIELD = 0x200; - - /** This field is part of a foreign key. */ - public static final int PROP_FOREIGN_KEY_FIELD = 0x400; - - private static final BigDecimal LONG_MIN_VALUE = - new BigDecimal(String.valueOf(Long.MIN_VALUE)); - - private static final BigDecimal LONG_MAX_VALUE = - new BigDecimal(String.valueOf(Long.MAX_VALUE)); - - public int absoluteID; - - public int fetchGroup; - - public int concurrencyGroup; - - public int sqlProperties; - - private Field field; - - private Class fieldType; - - /** - * Contains a translation from the field type class to int constants. - * These constants can be used in switch statements on the field type. - */ - private int enumFieldType; - - private String fieldName; - - private Class declaringClass; - - // Should be moved to ForeignFieldDesc. - private Class componentType; - - private ArrayList trackedFields; - - /** Back pointer to declaring class descriptor. */ - protected final ClassDesc classDesc; - - /** The logger. */ - protected final static Logger logger = LogHelperSQLStore.getLogger(); - - /** I18N message handler. */ - protected final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - FieldDesc.class.getClassLoader()); - - FieldDesc(ClassDesc classDesc) { - // Set the default properties - sqlProperties |= FieldDesc.PROP_REF_INTEGRITY_UPDATES; - sqlProperties |= FieldDesc.PROP_IN_CONCURRENCY_CHECK; - sqlProperties |= FieldDesc.PROP_LOG_ON_UPDATE; - - // For Boston, by default, a field is in group -1 which means that - // it is in its own group. - concurrencyGroup = -1; - - this.classDesc = classDesc; - } - - public String toString() { - return classDesc.getName() + "." + getName(); // NOI18N - } - - public Class getComponentType() { - return componentType; - } - - public Class getDeclaringClass() { - return declaringClass; - } - - public Class getType() { - if (fieldType != null) return fieldType; - - return Object.class; - } - - public int getEnumType() { - return enumFieldType; - } - - public String getName() { - if (fieldName == null) - fieldName = "hidden" + -absoluteID; // NOI18N - - return fieldName; - } - - public Object getValue(StateManager sm) { - if (sm == null) return null; - - if (absoluteID >= 0) { - return ((PersistenceCapable) sm.getPersistent()).jdoGetField(absoluteID); - } else { - return sm.getHiddenValue(absoluteID); - } - } - - public void setValue(StateManager sm, Object value) { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (sm == null) return; - - if (absoluteID >= 0) { - if (debug) { - if ((value != null) && - ((value instanceof com.sun.jdo.api.persistence.support.PersistenceCapable) || - (value instanceof java.util.Collection))) { - Object[] items = new Object[] {field.getName(),value.getClass()}; - logger.finest("sqlstore.model.fielddesc.fieldname",items); // NOI18N - } else { - Object[] items = new Object[] {field.getName(),value}; - logger.finest("sqlstore.model.fielddesc.fieldname",items); // NOI18N - } - } - - // If the given value is null, and the field type is primitive - // scalar, we need to convert it to some default value. The following - // table shows the mapping: - // primitive number types (int, long, etc) --> 0 - // boolean --> false - // char --> '\0' - if (value == null) { - switch (enumFieldType) { - case FieldTypeEnumeration.BOOLEAN_PRIMITIVE: - value = new Boolean(false); - break; - case FieldTypeEnumeration.CHARACTER_PRIMITIVE: - value = new Character('\0'); - break; - case FieldTypeEnumeration.BYTE_PRIMITIVE: - case FieldTypeEnumeration.SHORT_PRIMITIVE: - case FieldTypeEnumeration.INTEGER_PRIMITIVE: - case FieldTypeEnumeration.LONG_PRIMITIVE: - case FieldTypeEnumeration.FLOAT_PRIMITIVE: - case FieldTypeEnumeration.DOUBLE_PRIMITIVE: - // Replace value type if necessary - value = convertValue(new Integer(0), sm); - break; - } - } - - // We've tried our best to convert the value to the proper type. - // (convertValue() was called outside this class if necessary) - // Here is where we actually set the value. Anything that didn't - // get converted will get a ClassCastException. - ((PersistenceCapable) sm.getPersistent()).jdoSetField(absoluteID, value); - } else { - if (debug) { - Object[] items = new Object[] {getName(),value}; - logger.finest("sqlstore.model.fielddesc.fieldname",items); // NOI18N - } - - sm.setHiddenValue(absoluteID, value); - } - } - - public ArrayList getTrackedFields() { - return trackedFields; - } - - /** - * Returns true if this field is a primary key field. - */ - public boolean isKeyField() { - return ((sqlProperties & PROP_PRIMARY_KEY_FIELD) > 0); - } - - /** - * Returns true if this field is a foreign key field. - */ - public boolean isForeignKeyField() { - return ((sqlProperties & PROP_FOREIGN_KEY_FIELD) > 0); - } - - /** - * Returns true if this field is a relationship field. - */ - public boolean isRelationshipField() { - return false; - } - - public Object convertValue(Object value, StateManager sm) { - boolean debug = logger.isLoggable(Logger.FINEST); - if (value == null) { - if (debug) - logger.finest("sqlstore.model.fielddesc.convertvalue"); // NOI18N - return value; - } - - if (absoluteID < 0) { - // Hidden field nothing to convert - if (debug) - logger.finest("sqlstore.model.fielddesc.convertvalue.hidden",Integer.valueOf(absoluteID)); // NOI18N - return value; - } - - if (debug) { - Object[] items = new Object[] {value,value.getClass().getName(),fieldType}; - logger.finest("sqlstore.model.fielddesc.convertvalue.from_to",items); // NOI18N - } - - // Here, we'll try our best to convert the given value to the - // proper type before setting the value using reflection. - if (value instanceof Number) { - Number number = (Number) value; - - switch (enumFieldType) { - case FieldTypeEnumeration.BOOLEAN_PRIMITIVE: - case FieldTypeEnumeration.BOOLEAN: - // Well, boolean in java is not really a number, - // but we'll try to convert it anyway. The algorithm is - // if the number is 0, set the field to false, otherwise - // set it to true. - // The easiest way to do this is to convert the number to - // a double before comparing it to 0. - if (number.doubleValue() == 0) { - value = new Boolean(false); - } else { - value = new Boolean(true); - } - break; - case FieldTypeEnumeration.BYTE_PRIMITIVE: - case FieldTypeEnumeration.BYTE: - if (!(value instanceof Byte)) { - assertIsValid(number, Byte.MIN_VALUE, Byte.MAX_VALUE); - value = new Byte(number.byteValue()); - } - break; - case FieldTypeEnumeration.SHORT_PRIMITIVE: - case FieldTypeEnumeration.SHORT: - if (!(value instanceof Short)) { - assertIsValid(number, Short.MIN_VALUE, Short.MAX_VALUE); - value = new Short(number.shortValue()); - } - break; - case FieldTypeEnumeration.INTEGER_PRIMITIVE: - case FieldTypeEnumeration.INTEGER: - if (!(value instanceof Integer)) { - assertIsValid(number, Integer.MIN_VALUE, Integer.MAX_VALUE); - value = new Integer(number.intValue()); - } - break; - case FieldTypeEnumeration.LONG_PRIMITIVE: - case FieldTypeEnumeration.LONG: - if (!(value instanceof Long)) { - assertIsValidLong(number); - value = new Long(number.longValue()); - } - break; - case FieldTypeEnumeration.FLOAT_PRIMITIVE: - case FieldTypeEnumeration.FLOAT: - if (!(value instanceof Float)) - value = new Float(number.floatValue()); - break; - case FieldTypeEnumeration.DOUBLE_PRIMITIVE: - case FieldTypeEnumeration.DOUBLE: - if (!(value instanceof Double)) { - // FIX FOR CONVERT FROM FLOAT. - if (value instanceof Float) - value = new Double(number.toString()); - else - value = new Double(number.doubleValue()); - } - break; - case FieldTypeEnumeration.BIGDECIMAL: - if (!(value instanceof BigDecimal)) { - if (value instanceof Double) - value = BigDecimal.valueOf(number.doubleValue()); - else if (value instanceof BigInteger) - value = new BigDecimal((java.math.BigInteger) value); - else - value = new BigDecimal(number.toString()); - } - break; - case FieldTypeEnumeration.BIGINTEGER: - if (!(value instanceof BigInteger)) { - if (value instanceof BigDecimal) - value = ((BigDecimal) value).toBigInteger(); - else - value = new BigInteger(number.toString()); - } - break; - } - } else { - - switch (enumFieldType) { - case FieldTypeEnumeration.STRING: - // If the value is not a String, we take the string representation - // of the value. - if (!(value instanceof String)) { - value = value.toString(); - } - break; - - case FieldTypeEnumeration.UTIL_DATE: - case FieldTypeEnumeration.SQL_DATE: - case FieldTypeEnumeration.SQL_TIME: - case FieldTypeEnumeration.SQL_TIMESTAMP: - value = convertToDateFieldType(value, sm); - break; - - case FieldTypeEnumeration.CHARACTER_PRIMITIVE: - case FieldTypeEnumeration.CHARACTER: - // If the value is not a character, we take the first character - // of the string representation. - if (!(value instanceof Character)) { - String str = value.toString(); - value = getCharFromString(str); - } - break; - - case FieldTypeEnumeration.BOOLEAN_PRIMITIVE: - case FieldTypeEnumeration.BOOLEAN: - // If the value is not a boolean, we construct a boolean - // using its string value. - if (!(value instanceof Boolean)) { - if ((value instanceof String) && - (value).equals("1")) // NOI18N - value = "true"; // NOI18N - - value = new Boolean(value.toString()); - } - break; - } - } - - return value; - } - - /** - * Creates a new SCO instance. Therefore checks if PersistenceManager - * settings require SCO creation. SCOs will typically be created - * in a non managed environment. - * - * @param value Value being converted. - * @param sm StateManager of the persistent object being bound. - * @return New SCO instance according to enumFieldType - * of this field. Returns null if no SCO was created. - */ - public Object createSCO(Object value, StateManager sm) { - Object retVal = null; - - PersistenceManager pm = null; - if (sm != null) { - pm = (PersistenceManager) sm.getPersistenceManagerInternal(); - } - - if (pm != null && pm.getRequireTrackedSCO()) { - // Create a SCO instance and set values. - retVal = pm.newSCOInstanceInternal(fieldType, - sm.getPersistent(), - getName()); - - initializeSCO(retVal, value); - } - - return retVal; - } - - public static Character getCharFromString(String str) { - Character retVal = null; - if (str.length() == 0) { - retVal = new Character('\0'); - } else { - retVal = new Character(str.charAt(0)); - } - return retVal; - } - - /** - * Converts value to the type given by enumFieldType. - * Creates a new SCO instance if the PersistenceManager settings require SCO - * creation. - * - * @param value Value being converted. - * @param sm StateManager associated to the persistent object being bound. - * @return Converted object. If no convertion is nessessary the original - * value is returned. - */ - private Object convertToDateFieldType(Object value, StateManager sm) { - if (value instanceof SCO) { - ((SCO) value).unsetOwner(); - } - - Object retVal = createSCO(value, sm); - - if (retVal == null) { - // We didn't create a SCO. This might be because we're running - // in a managed environment where we don't need to manage mutable - // objects as SCO. Simply convert value to the field type for - // this field. - retVal = convertToDateFieldType(value); - } - - return retVal; - } - - /** - * Returns an unmanaged Date instance. Converts value - * to the field type for this field according to enumFieldType. - * - * @param value Value being converted. - * @return Date instance according to enumFieldType of this field. - * If value is already of the correct type, it's instantly - * returned. Otherwise a new Date instance of the correct type is created. - */ - private Object convertToDateFieldType(Object value) { - Object retVal = value; - - if (!fieldType.equals(value.getClass())) { - // Convert to the new fieldType only. - - if (value instanceof Date) { - switch (enumFieldType) { - case FieldTypeEnumeration.UTIL_DATE: - retVal = new java.util.Date(((Date) value).getTime()); - break; - case FieldTypeEnumeration.SQL_DATE: - retVal = new java.sql.Date(((Date) value).getTime()); - break; - case FieldTypeEnumeration.SQL_TIME: - retVal = new java.sql.Time(((Date) value).getTime()); - break; - case FieldTypeEnumeration.SQL_TIMESTAMP: - retVal = new java.sql.Timestamp(((Date) value).getTime()); - - // Adjust nano second information for Timestamps. - // NOTE: The constructor java.sql.Timestamp(long) calculates nano - // seconds. If the old and new instance both represent Timestamps, - // the calculation truncates nano second information from the - // original object, see java.sql.Timestamp#getTime(). - if (value instanceof java.sql.Timestamp) { - // Overwrite nano second information with the original value. - ((java.sql.Timestamp) retVal).setNanos(((java.sql.Timestamp) value).getNanos()); - } - break; - default: - } - } - } - - return retVal; - } - - /** - * Initializes the SCO instance scoVal corresponding - * to value. Currently only used for dates. - * - * @param scoVal SCO instance being populated. - * @param value Instance used for initialisation. - */ - private void initializeSCO(Object scoVal, Object value) { - switch(enumFieldType) { - case FieldTypeEnumeration.UTIL_DATE: - case FieldTypeEnumeration.SQL_DATE: - case FieldTypeEnumeration.SQL_TIME: - case FieldTypeEnumeration.SQL_TIMESTAMP: - // Initializing SCODate - if (value instanceof Date) { - // Set milliseconds information - ((SCODate) scoVal).setTimeInternal(((Date) value).getTime()); - - // Adjust nano second information for Timestamps. - // NOTE: java.sql.Timestamp#setTime(long) recalculates nano - // seconds. If old and new instance both represent Timestamps, - // the recalculation truncates nano second information from the - // original object, see java.sql.Timestamp#getTime(). - if (enumFieldType == FieldTypeEnumeration.SQL_TIMESTAMP - && value instanceof java.sql.Timestamp) { - // Overwrite nano second information with original value - ((SqlTimestamp) scoVal).setNanosInternal(((java.sql.Timestamp) value).getNanos()); - } - } - break; - default: - } - } - - private void assertIsValid(Number number, double min_value, double max_value) { - double x = number.doubleValue(); - if (x < min_value) - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.fielddesc.minvalue", // NOI18N - new Object[]{number, String.valueOf(min_value), fieldType.getName()})); - if (x > max_value) - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.fielddesc.maxvalue", // NOI18N - new Object[]{number, String.valueOf(max_value), fieldType.getName()})); - } - - private void assertIsValidLong(Number number) { - BigDecimal bd = null; - if (number instanceof BigDecimal) { - bd = (BigDecimal) number; - } else { - bd = new BigDecimal(number.toString()); - } - if (bd.compareTo(LONG_MIN_VALUE) < 0) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.fielddesc.minvalue", // NOI18N - new Object[]{number, String.valueOf(Long.MIN_VALUE), - fieldType.getName()})); - - } else if (bd.compareTo(LONG_MAX_VALUE) > 0) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.fielddesc.maxvalue", // NOI18N - new Object[]{number, String.valueOf(Long.MAX_VALUE), - fieldType.getName()})); - } - } - - // - // ------------ Initialisation methods ------------ - // - - void setupDesc(final Class classType, final String name) { - - Field f = (Field) java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { - public Object run() { - try { - return classType.getDeclaredField(name); - } catch (NoSuchFieldException e) { - throw new JDOFatalUserException(I18NHelper.getMessage(messages, - "core.configuration.loadfailed.field", // NOI18N - name, classType.getName()), e); - } - } - }); - - setupDesc(f); - } - - protected void setupDesc(Field f) { - field = f; - fieldName = f.getName(); - declaringClass = field.getDeclaringClass(); - - fieldType = field.getType(); - enumFieldType = translateToEnumType(fieldType); - - if (logger.isLoggable(Logger.FINEST)) { - Object[] items= new Object[] {fieldName,fieldType}; - logger.finest("sqlstore.model.fielddesc.setupdesc",items); // NOI18N - } - } - - private static int translateToEnumType(Class fldType) { - - int retVal = FieldTypeEnumeration.NOT_ENUMERATED; - - if(fldType == Boolean.TYPE ) retVal = FieldTypeEnumeration.BOOLEAN_PRIMITIVE; - else if(fldType == Character.TYPE ) retVal = FieldTypeEnumeration.CHARACTER_PRIMITIVE; - else if(fldType == Byte.TYPE ) retVal = FieldTypeEnumeration.BYTE_PRIMITIVE; - else if(fldType == Short.TYPE ) retVal = FieldTypeEnumeration.SHORT_PRIMITIVE; - else if(fldType == Integer.TYPE ) retVal = FieldTypeEnumeration.INTEGER_PRIMITIVE; - else if(fldType == Long.TYPE ) retVal = FieldTypeEnumeration.LONG_PRIMITIVE ; - else if(fldType == Float.TYPE ) retVal = FieldTypeEnumeration.FLOAT_PRIMITIVE; - else if(fldType == Double.TYPE ) retVal = FieldTypeEnumeration.DOUBLE_PRIMITIVE; - else if(fldType == Boolean.class ) retVal = FieldTypeEnumeration.BOOLEAN; - else if(fldType == Character.class ) retVal = FieldTypeEnumeration.CHARACTER; - else if(fldType == Byte.class ) retVal = FieldTypeEnumeration.BYTE; - else if(fldType == Short.class ) retVal = FieldTypeEnumeration.SHORT; - else if(fldType == Integer.class ) retVal = FieldTypeEnumeration.INTEGER; - else if(fldType == Long.class ) retVal = FieldTypeEnumeration.LONG; - else if(fldType == Float.class ) retVal = FieldTypeEnumeration.FLOAT; - else if(fldType == Double.class ) retVal = FieldTypeEnumeration.DOUBLE; - else if(fldType == java.math.BigDecimal.class) retVal = FieldTypeEnumeration.BIGDECIMAL; - else if(fldType == java.math.BigInteger.class) retVal = FieldTypeEnumeration.BIGINTEGER; - else if(fldType == String.class ) retVal = FieldTypeEnumeration.STRING; - else if(fldType == java.util.Date.class ) retVal = FieldTypeEnumeration.UTIL_DATE; - else if(fldType == java.sql.Date.class ) retVal = FieldTypeEnumeration.SQL_DATE; - else if(fldType == java.sql.Time.class ) retVal = FieldTypeEnumeration.SQL_TIME; - else if(fldType == java.sql.Timestamp.class ) retVal = FieldTypeEnumeration.SQL_TIMESTAMP; - else if(fldType.isArray()) { - if(fldType.getComponentType() == Byte.TYPE) { - retVal = FieldTypeEnumeration.ARRAY_BYTE_PRIMITIVE; - } - } - - return retVal; - } - - void setComponentType(Class type) { - this.componentType = type; - } - - protected void addTrackedField(FieldDesc f) { - if (trackedFields == null) - trackedFields = new ArrayList(); - - if (logger.isLoggable(Logger.FINEST)) { - Object[] items = new Object[] {f.getName(),getName()}; - logger.finest("sqlstore.model.fielddesc.addingfield",items); // NOI18N - } - - trackedFields.add(f); - } - - abstract void computeTrackedRelationshipFields(); - - /** - * This method compares the column lists between to fields to see if they match. - * If f1 and f2 are both primitive fields, we do an exact match. - * If f1 is primitve and f2 is a relationship field, we do an at-least-one match. - * If both f1 and f2 are relationship fields, we do an exact match. - * @return true if there is a match, false, otherwise. - */ - static boolean compareColumns(FieldDesc f1, FieldDesc f2) { - ArrayList columnList1 = null; - ArrayList columnList2 = null; - ArrayList columnList3 = null; - ArrayList columnList4 = null; - boolean exactMatch = false; - - // For LocalFieldDesc, we use columnDescs for comparison. - // Otherwise, we use localColumns for comparison. - if (f1 instanceof LocalFieldDesc) { - columnList1 = ((LocalFieldDesc) f1).columnDescs; - - if (f2 instanceof LocalFieldDesc) { - columnList2 = ((LocalFieldDesc) f2).columnDescs; - - // Not sure yet whether we need to a exact match - // here yet. - exactMatch = true; - } else { - // We are comparing LocalFieldDesc and ForeignFieldDesc. - // We do not need an exact match. The relationship must change, - // if one of the LocalFieldDesc's columns is changed. - columnList2 = ((ForeignFieldDesc) f2).localColumns; - } - } else { - if (f2 instanceof LocalFieldDesc) { - return false; - } else { - ForeignFieldDesc ff1 = (ForeignFieldDesc) f1; - ForeignFieldDesc ff2 = (ForeignFieldDesc) f2; - - if (ff1.useJoinTable() && ff2.useJoinTable()) { - columnList1 = ff1.assocLocalColumns; - columnList2 = ff2.assocLocalColumns; - columnList3 = ff1.assocForeignColumns; - columnList4 = ff2.assocForeignColumns; - } else if (!ff1.useJoinTable() && !ff2.useJoinTable()) { - columnList1 = ff1.localColumns; - columnList2 = ff2.localColumns; - columnList3 = ff1.foreignColumns; - columnList4 = ff2.foreignColumns; - } else { - return false; - } - - exactMatch = true; - } - } - - boolean found = false; - - for (int k = 0; k < 2; k++) { - if (k == 1) { - if (columnList3 != null) { - columnList1 = columnList3; - columnList2 = columnList4; - } else { - break; - } - } - - int size1 = columnList1.size(); - int size2 = columnList2.size(); - - if (exactMatch && (size1 != size2)) { - return false; - } - - for (int i = 0; i < size1; i++) { - found = false; - - ColumnElement c1 = (ColumnElement) columnList1.get(i); - - // Find if any column of columnList2 matches with c1. - for (int j = 0; j < size2; j++) { - ColumnElement c2 = (ColumnElement) columnList2.get(j); - - if (c1.getName().getFullName().equals(c2.getName().getFullName())) { - found = true; - } - } - - // If we are doing an exact match, and no match is found, - // we return false. - if (exactMatch && !found) { - return false; - } - - // If we are not doing an exact match and a match is found, - // we return true; - if (!exactMatch && found) { - return true; - } - } - } - - // If found is true, that means we got here because the two column lists match - // exactly. Otherwise, the two column lists don't match at all. - return found; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ForeignFieldDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ForeignFieldDesc.java deleted file mode 100644 index fd472571915..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ForeignFieldDesc.java +++ /dev/null @@ -1,827 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ForeignFieldDesc.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.model; - -import org.netbeans.modules.dbschema.ColumnElement; -import org.netbeans.modules.dbschema.TableElement; -import com.sun.jdo.api.persistence.model.jdo.RelationshipElement; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager; -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.spi.persistence.utility.logging.Logger; - -import java.lang.reflect.Field; -import java.util.ArrayList; - -/** - * - */ -public class ForeignFieldDesc extends FieldDesc { - - // Values for deleteAction - /** - * When the parent object is deleted from db, - * delete the relationship object described by this object also. - */ - public static final int ACT_CASCADE = RelationshipElement.CASCADE_ACTION; - - /** - * When the parent object is deleted, - * no action is required for the relationship object described by this object. - */ - public static final int ACT_NONE = RelationshipElement.NONE_ACTION; - - /** Currently runtime code does not interprete this action. */ - public static final int ACT_NULLIFY = RelationshipElement.NULLIFY_ACTION; - - /** Currently runtime code does not interprete this action. */ - public static final int ACT_RESTRICT = RelationshipElement.RESTRICT_ACTION; - - /** Currently runtime code does not interprete this action. */ - public static final int ACT_AGGREGATE = RelationshipElement.AGGREGATE_ACTION; - - /** Class descriptor for the class of this relationship field. */ - public ClassDesc foreignConfig; - - public int cardinalityLWB; - - public int cardinalityUPB; - - // Takes one of the following values. - public int deleteAction; - - /** Array of LocalFieldDesc. */ - public ArrayList foreignFields; - - /** Array of ColumnElement. */ - public ArrayList foreignColumns; - - /** Array of LocalFieldDesc. */ - public ArrayList localFields; - - /** Array of ColumnElement. */ - public ArrayList localColumns; - - /** Array of LocalFieldDesc. */ - public ArrayList assocForeignFields; - - /** Array of ColumnElement. */ - public ArrayList assocForeignColumns; - - /** Array of LocalFieldDesc. */ - public ArrayList assocLocalFields; - - /** Array of ColumnElement. */ - public ArrayList assocLocalColumns; - - /** - * If inverseRelationshipField is not null, it means this field is - * under managed relationship. Otherwise, this is a one-way relationship. - */ - private ForeignFieldDesc inverseRelationshipField; - - /** - * True, if the relationship is mapped to primary key fields - * on the other relationship side. - */ - private boolean isMappedToPk; - - ForeignFieldDesc(ClassDesc config) { - super(config); - } - - /** - * Returns true. - */ - public boolean isRelationshipField() { - return true; - } - - /** - * Returns true, if the relationship is mapped to a join table. - * - * @return True, if the relationship is mapped to a join table, false otherwise. - */ - public boolean useJoinTable() { - return (assocLocalColumns != null && assocLocalColumns.size() > 0); - } - - /** - * Checks the conditions that guarantee, that we have the foreign - * key on this side. - * - * @return True, if this relationship is mapped to foreign keys and the - * foreign key is on the local side. False otherwise. - */ - public boolean hasForeignKey() { - boolean result = false; - - // RESOLVE: Can't check PROP_REF_INTEGRITY_UPDATES for 1 way mappings. - // See #checkReferentialIntegrityUpdatesForObjectField. - if (inverseRelationshipField != null) { - result = cardinalityUPB == 1 && !useJoinTable() && - (sqlProperties & FieldDesc.PROP_REF_INTEGRITY_UPDATES) > 0; - } - return result; - } - - /** - * Returns true, if the relationship is mapped to primary key fields - * on the other relationship side. - * - * @return True, if the relationship is mapped to primary key fields - * on the other relationship side, false otherwise. - * @see #initializeIsMappedToPk - */ - public boolean isMappedToPk() { - return isMappedToPk; - } - - public ArrayList getLocalFields() { - if (localFields == null) { - localFields = new ArrayList(); - } - - return localFields; - } - - public ArrayList getForeignFields() { - if (foreignFields == null) { - foreignFields = new ArrayList(); - } - - return foreignFields; - } - - public ArrayList getAssocLocalFields() { - // Only create assocLocalFields if there is a corresponding - // assocLocalColumns to save space. - if (assocLocalFields == null && assocLocalColumns != null) { - assocLocalFields = new ArrayList(); - } - - return assocLocalFields; - } - - public ArrayList getAssocForeignFields() { - // Only create assocForeignFields if there is a corresponding - // assocForeignColumns to save space. - if (assocForeignFields == null && assocForeignColumns != null) { - assocForeignFields = new ArrayList(); - } - - return assocForeignFields; - } - - public ForeignFieldDesc getInverseRelationshipField() { - return inverseRelationshipField; - } - - /** - * Constructs the oid of a related instance. If called by {@link - * SQLStateManager#updateTrackedFields}, the new value for the - * local field fieldDesc is not yet set and passed as - * parameter value. If called for navigation by - * {@link SQLStateManager#populateForeignField}, values of updated - * local fields must be retrieved from the before image. In both - * cases, the actual call to this method is in {@link - * SQLStateManager#getObjectById}.

    - * For tracked field usage, see - * {@link SQLStateManager#setForeignKey} and - * {@link SQLStateManager#updateTrackedFields}. - * For navigation usage, see - * {@link SQLStateManager#realizeForeignField}. - * - * @param sm State manager on the local side. - * @param fieldDesc Local field being set. - * @param value New value of the field being set. - * @return The object id for the related instance. This id is used - * to lookup the instance from the persistence manager cache. The - * construced oid is invalid, if one of the oid fields is - * null. In this case the returned value is null. - */ - public Object createObjectId(SQLStateManager sm, LocalFieldDesc fieldDesc, Object value) { - - assert isMappedToPk(); - - Class oidClass = foreignConfig.getOidClass(); - Object oid = null; - - try { - oid = oidClass.newInstance(); - } catch (Exception e) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.cantnewoid", oidClass.getName()), e); // NOI18N - } - - Field keyFields[] = foreignConfig.getKeyFields(); - String keyFieldNames[] = foreignConfig.getKeyFieldNames(); - for (int i = 0; i < keyFields.length && oid != null; i++) { - Field keyField = keyFields[i]; - - for (int j = 0; j < foreignFields.size() && oid != null; j++) { - LocalFieldDesc fa = (LocalFieldDesc) foreignFields.get(j); - - if (fa.getName().compareTo(keyFieldNames[i]) == 0) { - LocalFieldDesc la = (LocalFieldDesc) localFields.get(j); - Object keyFieldValue = null; - - if (la == fieldDesc) { - keyFieldValue = value; - } else if (sm.getSetMaskBit(la.absoluteID) && !sm.getSetMaskBit(absoluteID)) { - keyFieldValue = la.getValue(sm.getBeforeImage()); - } else { - keyFieldValue = la.getValue(sm); - } - - if (keyFieldValue != null) { - try { - // We need to convert the keyFieldValue to the proper type before - // setting it. - keyField.set(oid, fa.convertValue(keyFieldValue, sm)); - } catch (IllegalAccessException e) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.statemanager.cantsetkeyfield", keyField.getName()), e); // NOI18N - } - } else { - oid = null; - } - } - } - } - - return oid; - } - - // - // ------------ Initialisation methods ------------ - // - - // TODO: Should be removed, once computeTrackeRelationshipFields is removed. - private void setInverseRelationshipField(ForeignFieldDesc f) { - inverseRelationshipField = f; - } - - void computeTrackedRelationshipFields() { - // If the field is a ForeignFieldDesc, we only need - // to compare against other ForeignFieldDesc. The reason - // is that ForeignFieldDesc implicitly tracks a LocalFieldDesc - // (foreign key field) via relationship updates. - - ForeignFieldDesc inverseField = getInverseRelationshipField(); - - for (int k = 0; k < classDesc.foreignFields.size(); k++) { - ForeignFieldDesc tf = (ForeignFieldDesc) classDesc.foreignFields.get(k); - - if ((this != tf) && (getType() == tf.getType()) && (compareColumns(this, tf) == true)) { - if ((inverseField != null) && - (tf.getInverseRelationshipField() == null)) { - tf.setInverseRelationshipField(inverseField); - } - - // Mark the relationship field tracking the foreign key as primary. - if ((sqlProperties & FieldDesc.PROP_SECONDARY_TRACKED_FIELD) == 0) { - sqlProperties |= FieldDesc.PROP_PRIMARY_TRACKED_FIELD; - } - - if ((tf.sqlProperties & FieldDesc.PROP_PRIMARY_TRACKED_FIELD) == 0) { - tf.sqlProperties |= FieldDesc.PROP_SECONDARY_TRACKED_FIELD; - } - - addTrackedField(tf); - } - } - } - - /** - * Initializes relationship field information. - * - * @param foreignConfig Class descriptor of the foreign class. - * @param inverseField The inverse relationship field. - */ - void fixupForeignReference(ClassDesc foreignConfig, - ForeignFieldDesc inverseField) { - - registerForeignConfig(foreignConfig, inverseField); - initializeFieldLists(); - initializeIsMappedToPk(); - addForeignKeyFieldsToDFG(); - } - - /** - * Registers the relationship information about the foreign class. - * - * @param foreignConfig Class descriptor of the foreign class. - * @param inverseField The inverse relationship field. - */ - private void registerForeignConfig(ClassDesc foreignConfig, - ForeignFieldDesc inverseField) { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (debug) { - Object[] items = new Object[] {classDesc, this, foreignConfig}; - logger.finest("sqlstore.model.classdesc.general", items); // NOI18N - } - - // Remember the class descriptor for the foreign class. - this.foreignConfig = foreignConfig; - - if (debug && inverseField != null) { - logger.finest("sqlstore.model.classdesc.assocrelatedfield", inverseField); //NOI18N - } - - setInverseRelationshipField(inverseField); - } - - /** - * Initialize the field lists based on column list information. - */ - private void initializeFieldLists() { - ClassDesc theConfig = classDesc; - - for (int i = 0; i < 4; i++) { - ArrayList fields = null; - ArrayList columns = null; - - switch (i) { - case 0: - columns = localColumns; - fields = getLocalFields(); - break; - case 1: - columns = assocLocalColumns; - fields = getAssocLocalFields(); - break; - case 2: - columns = assocForeignColumns; - fields = getAssocForeignFields(); - break; - case 3: - columns = foreignColumns; - fields = getForeignFields(); - theConfig = foreignConfig; - break; - } - - if (columns == null) continue; - - for (int j = 0; j < columns.size(); j++) { - ColumnElement ce = (ColumnElement) columns.get(j); - TableElement te = ce.getDeclaringTable(); - - if (te == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.configuration.columnnotable")); // NOI18N - } - - fields.add(theConfig.getLocalFieldDesc(ce)); - } - } - } - - /** - * Checks, if the relationship is mapped to primary key fields - * on the other relationship side and sets the property - * isMappedToPk. - */ - private void initializeIsMappedToPk() { - int count = foreignFields.size(); - - isMappedToPk = !useJoinTable() && - foreignConfig.getKeyFields().length == count; - - for (int i = 0; i < count && isMappedToPk; i++) { - isMappedToPk = ((LocalFieldDesc) foreignFields.get(i)).isKeyField(); - } - } - - /** - * Silently adding hidden (local foreign key) fields to the DFG. - */ - private void addForeignKeyFieldsToDFG() { - for (int i = 0; i < localFields.size(); i++) { - LocalFieldDesc lf = (LocalFieldDesc) localFields.get(i); - - if (lf.absoluteID < 0 && !useJoinTable()) { - classDesc.getFetchGroup(GROUP_DEFAULT).add(lf); - } - } - } - - /** - * Determines the relationship side to be updated. Foreign key relationships - * must always be updated on the side having the foreign key. Jointable - * relationships can be handled from either side. To have unified - * dependency management for foreign key _and_ jointable relationships, - * it's essential that we apply the same rules defining the updated side - * for foreign key and jointable relationships. We also need to always - * update the same relationship side. - */ - void fixupFieldProperties() { - boolean refIntegrityUpdate = true; - - if (cardinalityUPB > 1) { - // Collection side - if (!(refIntegrityUpdate = checkReferentialIntegrityUpdatesForCollectionField())) { - unsetReferentialIntegrityUpdateProperty(); - - // We also unset the IN_CONCURRENCY_CHECK property because we can't - // detect concurrency violation for changes made to a Collection - sqlProperties &= ~(FieldDesc.PROP_IN_CONCURRENCY_CHECK); - } - } else { - // Object side - if (!(refIntegrityUpdate = checkReferentialIntegrityUpdatesForObjectField())) { - unsetReferentialIntegrityUpdateProperty(); - - sqlProperties &= ~(FieldDesc.PROP_IN_CONCURRENCY_CHECK); - } else if (!useJoinTable()) { - // This side will write relationship updates to the database. - // Mark the local fields as part of the foreign key. - for (int i = 0; i < localFields.size(); i++) { - ((LocalFieldDesc)localFields.get(i)).sqlProperties |= FieldDesc.PROP_FOREIGN_KEY_FIELD; - } - } - } - - if (!refIntegrityUpdate) { - unsetConcurrencyCheckProperty(); - } - } - - /** - * Checks, if datastore updates will be scheduled locally or on - * the opposite relationship side. - * - * @return True, if datastore updates for this relationship will - * be scheduled locally, false otherwise. - */ - private boolean checkReferentialIntegrityUpdatesForCollectionField() { - boolean refIntegrityUpdate; - ForeignFieldDesc inverseFieldDesc = getInverseRelationshipField(); - - if (inverseFieldDesc == null) { - refIntegrityUpdate = defineUpdatedSideXToM(); - } else { - if (inverseFieldDesc.cardinalityUPB <= 1) { - // For 1:N relationships, we always update the relationship side - // which includes jointables. We indicate this by unsetting the - // REF_INTEGRITY_UPDATES property which means that integrity updates - // cannot be done locally. - refIntegrityUpdate = false; - } else { - // For N:M relationships, we choose the updated relationship side - // depending on the alphabethical order of the related class names. - // N:M relationships must be mapped to a jointable. As jointable - // entries can be created from each side, we just define the side. - refIntegrityUpdate = defineUpdatedSideNToM(inverseFieldDesc); - } - } - return refIntegrityUpdate; - } - - /** - * Checks, if datastore updates will be scheduled locally or on - * the opposite relationship side. - * - * @return True, if datastore updates for this relationship will - * be scheduled locally, false otherwise. - */ - private boolean checkReferentialIntegrityUpdatesForObjectField() { - boolean refIntegrityUpdate; - ForeignFieldDesc inverseFieldDesc = getInverseRelationshipField(); - - if (inverseFieldDesc == null) { - // Update the local side for one-way relationships. - refIntegrityUpdate = true; - } else { - if (inverseFieldDesc.cardinalityUPB > 1) { - // For 1:N relationships, we always update the local side - // which includes jointables. We indicate this by setting the - // REF_INTEGRITY_UPDATES property which means that integrity updates - // are done locally. - refIntegrityUpdate = true; - } else { - // For 1:1 relationships, we choose the updated relationship side - // depending on the side having the foreign key. If the relationship - // is mapped to primary key fields only, we consider if one side - // is marked for cascade delete. Otherwise, we choose the updatable - // side depending on the alphabethical order of the related class names. - refIntegrityUpdate = defineUpdatedSide1To1(inverseFieldDesc); - } - } - return refIntegrityUpdate; - } - - /** - * Defines the updated side for a collection relationship - * mapped one-way. - * - * @return True, if datastore updates for this relationship will - * be scheduled locally, false otherwise. - */ - private boolean defineUpdatedSideXToM() { - boolean refIntegrityUpdate; - if (!useJoinTable()) { - // As this is a foreign key relationship, the other side must - // be the one side. Foreign key relationships can be updated - // from either side, even if the inverse side is unknown. - refIntegrityUpdate = false; - } else { - // Update the local side for one-way relationships mapped to jointables. - refIntegrityUpdate = true; - } - return refIntegrityUpdate; - } - - /** - * Defines the updated side for many-to-many relationships. As jointable - * entries can be created from either side, we just define the side. The updated - * side is chosen based on the alphabethical order of the related class names. - * - * @param inverseFieldDesc Inverse relationship field. - * Is guaranteed to be not null! - * @return True, if datastore updates for this relationship will - * be scheduled locally, false otherwise. - */ - private boolean defineUpdatedSideNToM(ForeignFieldDesc inverseFieldDesc) { - boolean refIntegrityUpdate; - final boolean updateOtherSide = (inverseFieldDesc.sqlProperties & FieldDesc.PROP_REF_INTEGRITY_UPDATES) > 0; - - if (!updateOtherSide) { - // The opposite side has already been identified not to be updated. - refIntegrityUpdate = true; - } else { - refIntegrityUpdate = chooseUpdatedSide(inverseFieldDesc); - } - return refIntegrityUpdate; - } - - /** - * Defines the updated side for one-to-one relationships. The updated side - * is either defined by: - * - *

      - *
    1. The relationship side mapped to non-key columns.
    2. - *
    3. The relationship side is identified as dependent side, or
    4. - *
      • - *
      • Mark both sides updatable for foreign key relationships.
      • - *
      • Choose a side for jointable relationships.
      • - *
    5. - *
    - * - * @param inverseFieldDesc Inverse relationship field. - * Is guaranteed to be not null! - * @return True, if datastore updates for this relationship will - * be scheduled locally, false otherwise. - */ - private boolean defineUpdatedSide1To1(ForeignFieldDesc inverseFieldDesc) { - boolean refIntegrityUpdate; - final boolean updateOtherSide = (inverseFieldDesc.sqlProperties & FieldDesc.PROP_REF_INTEGRITY_UPDATES) > 0; - - if (!updateOtherSide) { - // The opposite side has already been identified not to be updated. - refIntegrityUpdate = true; - } else if (!useJoinTable()) { - // Check foreign key constraints and the dependent side. - refIntegrityUpdate = checkForeignKeysAndDependentSide(inverseFieldDesc); - } else { - // Just check the dependent side. - refIntegrityUpdate = checkDependentSide(inverseFieldDesc); - } - - if (!refIntegrityUpdate && cardinalityLWB == 1) { - // Lower bound should not be 1 in this case. - // We silently set it to 0 for now. - // RESOLVE: Shall we throw an exception here? - cardinalityLWB = 0; - } - - return refIntegrityUpdate; - } - - /** - * Checks, if one relationship side isn't mapped to primary key fields - * (i.e. foreign key side). Based on the assumption, that jointable - * relationships are always mapped to the primary key columns, - * this method is called for foreign relationships only. - * - * @param inverseFieldDesc Inverse relationship field. - * Is guaranteed to be not null! - * @return True, if datastore updates for this relationship will - * be scheduled locally, false otherwise. - */ - private boolean checkForeignKeysAndDependentSide(ForeignFieldDesc inverseFieldDesc) { - boolean refIntegrityUpdate; - - // Check the foreign keys. - if (checkForeignKey(getLocalFields())) { - // The foreign key is on the local side. - refIntegrityUpdate = true; - } else if (checkForeignKey(getForeignFields())) { - // The foreign key is on the other side. - refIntegrityUpdate = false; - } else { - // The relationship is mapped to primary key columns on either side. - refIntegrityUpdate = checkDependentSide(inverseFieldDesc); - } - return refIntegrityUpdate; - } - - /** - * Marks the dependent side as identified by jdo meta-data for update. - * If no side is marked dependent, the following rules apply: - * - *
      - *
    • Foreign key relationships can be handled from both sides, - * because it must be an 1:1 relationship mapped to primary key - * fields.
    • - *
    • Jointable relationships need to be updated from exactly one - * side to implement unified dependency management. It's important to - * check the dependency on both relationship sides before the responsible - * side is chosen.
    • - *
    - * - * @param inverseFieldDesc Inverse relationship field. - * Is guaranteed to be not null! - * @return True, if datastore updates for this relationship will - * be scheduled locally, false otherwise. - * @see #isDependentOn - * @see SQLStateManager#manageDependencyForObjectField - */ - private boolean checkDependentSide(ForeignFieldDesc inverseFieldDesc) { - boolean refIntegrityUpdate; - - // Check if meta data identifies the dependent relationship side. - if (this.isDependentOn(inverseFieldDesc)) { - // This side is marked dependent and will be updated. - refIntegrityUpdate = true; - } else if (inverseFieldDesc.isDependentOn(this)) { - // This side is marked as primary, the other side will be updated. - refIntegrityUpdate = false; - } else { - if (!useJoinTable()) { - // No information about the dependent side can be obtained and the - // relationship is mapped to the primary key fields on both sides. - // Relationship updates can be done from either side, but only during - // instance creation/deletion. - refIntegrityUpdate = true; - } else { - // No information about the dependent side can be obtained. If - // the Employee-Insurance relationship is mapped to a jointable, - // the dependent side can't be determinated. Identifying the - // updated side is essential to provide unified dependency - // management for the database updates, see - // SQLStateManager#manageDependencyForObjectField - refIntegrityUpdate = chooseUpdatedSide(inverseFieldDesc); - } - } - return refIntegrityUpdate; - } - - /** - * Checks if at least one of the fields in fieldList - * is updatable. In this case fieldList makes up a - * foreign key. This is based on the assumption, that key fields - * referred in relationships must not be updated. Not updatable fields - * have property REF_INTEGRITY_UPDATES unset. - * - * @param fieldList Fields corresponding to datastore columns. - * The fields are either a ForeignFieldDesc's local or foreign fields. - * @return True, if fieldList is a foreign key, false otherwise. - */ - private static boolean checkForeignKey(ArrayList fieldList) { - for (int i = 0; i < fieldList.size(); i++) { - FieldDesc lf = (FieldDesc) fieldList.get(i); - - if ((lf.sqlProperties & FieldDesc.PROP_REF_INTEGRITY_UPDATES) > 0) { - // Based on the assumption, that referred key fields - // have property REF_INTEGRITY_UPDATES unset, at least - // one of the fields is not part of the key. - return true; - } - } - return false; - } - - /** - * Checks, if this relationship side is dependent - * on the inverse side inverseFieldDesc. The - * dependent side can be identified by the following criteria: - * - *
      - *
    • This side has cardinalityLWB == 1.
    • - *
    • The inverse side is marked for cascade delete.
    • - *
    - * - * @param inverseFieldDesc Inverse relationship field. - * Is guaranteed to be not null! - * @return true, if this relationship side is dependent - * on inverseFieldDesc, false otherwise. - */ - private boolean isDependentOn(ForeignFieldDesc inverseFieldDesc) { - return (this.cardinalityLWB == 1 || - inverseFieldDesc.deleteAction == ForeignFieldDesc.ACT_CASCADE); - } - - /** - * Choose the updated relationship side based on the alphabethical - * order of the related class names. For self relationships, the - * field names itself are compared, too. - * - * @param inverseFieldDesc Inverse relationship field. - * Is guaranteed to be not null! - * @return This method is guaranteed to identify the relationship - * side that will not be updated. - */ - private boolean chooseUpdatedSide(ForeignFieldDesc inverseFieldDesc) { - int comparison = classDesc.getName().compareTo(foreignConfig.getName()); - - if (comparison == 0) { - comparison = getName().compareTo(inverseFieldDesc.getName()); - } - return comparison < 0; - } - - /** - * Unsets the REF_INTEGRITY_UPDATES property for this relationship field. - * Datastore updates will be scheduled on the opposite relationship side. - */ - private void unsetReferentialIntegrityUpdateProperty() { - if (logger.isLoggable(Logger.FINEST)) { - logger.finest("sqlstore.model.classdesc.unsetrefintegrityupdate", getName()); // NOI18N - } - - sqlProperties &= ~(FieldDesc.PROP_REF_INTEGRITY_UPDATES); - } - - /** - * Unsets the IN_CONCURRENCY_CHECK property for all the - * (hidden) local fields involved in this relationship. - */ - private void unsetConcurrencyCheckProperty() { - // Copy the field list temporarily. - ArrayList fieldList = (ArrayList) getLocalFields().clone(); - - if (useJoinTable()) { - fieldList.addAll(getAssocLocalFields()); - } - - for (int j = 0; j < fieldList.size(); j++) { - FieldDesc lf = (FieldDesc) fieldList.get(j); - - if (lf.absoluteID < 0) { - if (logger.isLoggable(Logger.FINEST)) { - logger.finest("sqlstore.model.classdesc.unsetconcurrencychk", lf.getName()); // NOI18N - } - lf.sqlProperties &= ~(FieldDesc.PROP_IN_CONCURRENCY_CHECK); - } - } - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/KeyDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/KeyDesc.java deleted file mode 100644 index 517c5420a5f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/KeyDesc.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * KeyDesc.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.model; - -import org.netbeans.modules.dbschema.ColumnElement; -import java.util.ArrayList; - -/** - * This class is used to encapsulate an association between - * key fields and key columns. - */ -public class KeyDesc { - - /** Array of LocalFieldDesc */ - private ArrayList fields; - - /** Array of ColumnElements */ - private ArrayList columns; - - /** Initialize the columns ArrayList. */ - void addColumns(ArrayList columns) { - this.columns = columns; - } - - /** Add a field to the KeyDesc. - * @param f - FieldDesc to be added - */ - void addField(FieldDesc f) { - if (fields == null) - fields = new ArrayList(); - - fields.add(f); - } - - /** Add a column to this KeyDesc. - * @param c - ColumnElement to be added - */ - void addColumn(ColumnElement c) { - if (columns == null) - columns = new ArrayList(); - - columns.add(c); - } - - /** Return all key columns. - * @return an ArrayList of ColumnElements - */ - public ArrayList getColumns() { - return columns; - } - - /** Return all key fields. - * @return an ArrayList of FieldDescs - */ - public ArrayList getFields() { - return fields; - } -} - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/LocalFieldDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/LocalFieldDesc.java deleted file mode 100644 index a644f365375..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/LocalFieldDesc.java +++ /dev/null @@ -1,498 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * LocalFieldDesc.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.model; - -import org.netbeans.modules.dbschema.ColumnElement; -import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; - -import java.util.ArrayList; -import java.util.Iterator; -import java.lang.reflect.Field; -import java.sql.Types; -import java.math.BigInteger; -import java.math.BigDecimal; - - -/** - * - */ -public class LocalFieldDesc extends FieldDesc { - - /** Array of ColumnElement. */ - final ArrayList columnDescs; - - /** Stores this special mapping information. */ - private Boolean primitiveMappedToNullableColumn; - - /** SQL Column type for primary column. */ - private final int primaryColumnType; - - LocalFieldDesc(ClassDesc config, ArrayList columnDescs) { - super(config); - this.columnDescs = columnDescs; - - //Initialize primary column's type. - primaryColumnType = getPrimaryColumn().getType(); - - sqlProperties |= FieldDesc.PROP_RECORD_ON_UPDATE; - } - - public boolean isPrimitiveMappedToNullableColumn() { - if (primitiveMappedToNullableColumn == null) { - boolean rc = getType().isPrimitive(); - - for (Iterator iter = columnDescs.iterator(); iter.hasNext() && rc; ) { - ColumnElement c = (ColumnElement) iter.next(); - rc = c.isNullable(); - } - primitiveMappedToNullableColumn = Boolean.valueOf(rc); - } - - return primitiveMappedToNullableColumn.booleanValue(); - } - - /** - * Determines if this field is mapped to a LOB column type. It is assumed that - * lob fields are mapped to only one columns and UI and model verifications enforce it. - * @return true if field is mapped to LOB column type. false - * otherwise. - */ - public boolean isMappedToLob() { - return - primaryColumnType == Types.BLOB || - - //primaryColumnType == Types.BINARY || - //primaryColumnType == Types.VARBINARY || - //primaryColumnType == Types.LONGVARBINARY || - - isCharLobType(primaryColumnType) || - // If none of above, check if the field is mapped to byte[]. - // We should treat any field mapped to byte[] as mapped to a LOB. - getEnumType() == FieldTypeEnumeration.ARRAY_BYTE_PRIMITIVE; - } - - /** - * Determines if sqltype passed to this method is to be considered a character - * LOB type. - * @return true if field is mapped to character LOB column type. false - * otherwise. - */ - public static boolean isCharLobType(int sqlType) { - //Resolve : Need to check for all supported datbases all possible LOB types - return - sqlType == Types.LONGVARCHAR || - sqlType == Types.CLOB; - } - - /** - * Determines if the sqlType passed to this method corresponds to - * a fixed char type. - * - * @param sqlType The input sqlType. - * @return true if field is mapped to Types.CHAR - * false otherwise. - */ - public static boolean isFixedCharType(int sqlType) { - return sqlType == Types.CHAR; - } - - /** - * Gets the ColumnElement for the primary column of this field. - * @return The ColumnElement for the primary column of this field. - */ - public ColumnElement getPrimaryColumn() { - return ((ColumnElement) columnDescs.get(0)); - } - - /** - * Returns an iterator on the mapped column elements. - * @return An iterator on the mapped column elements. - */ - public Iterator getColumnElements() { - return columnDescs.iterator(); - } - - /** - * Returns true if this field is a version field. - */ - public boolean isVersion() { - return ((sqlProperties & FieldDesc.PROP_VERSION_FIELD) > 0); - } - - /** - * Increments this field in the instance managed by state manager - * sm by one. - * - * @param sm State manager to be modified. - */ - public void incrementValue(StateManager sm) { - assert isVersion(); - - Long val = (Long) getValue(sm); - long value = (val != null) ? val.longValue() : 0; - - setValue(sm, new Long(++value)); - } - - // - // ------------ Initialisation methods ------------ - // - - /** - * Calls the superclass method and disables concurrency checking - * for certain field types. - */ - protected void setupDesc(Field f) { - super.setupDesc(f); - - // Disables concurrency check for fields mapped to LOB columns. - if (isMappedToLob() ) { - sqlProperties = sqlProperties & ~PROP_IN_CONCURRENCY_CHECK; - } - - // Disables the concurrency check for scaled numeric fields. - switch (getEnumType()) { - case FieldTypeEnumeration.FLOAT_PRIMITIVE: - case FieldTypeEnumeration.FLOAT: - case FieldTypeEnumeration.DOUBLE_PRIMITIVE: - case FieldTypeEnumeration.DOUBLE: - case FieldTypeEnumeration.BIGDECIMAL: - sqlProperties &= ~PROP_IN_CONCURRENCY_CHECK; - } - } - - /** - * This array specifies the precedence of Java types that are mapped - * to non-nullable database types without scale. - * The primitive type long has the highest precedence and the type - * Float has the lowest. - */ - private static final Class[] nonNullableNonScaledTypes = - { - Long.TYPE, Integer.TYPE, Short.TYPE, Byte.TYPE, Double.TYPE, - Float.TYPE, BigInteger.class, BigDecimal.class, Long.class, - Integer.class, Short.class, Byte.class, Double.class, Float.class - }; - - /** - * This array specifies the precedence of Java types that are mapped - * to nullable SQL types without scale. - * The type BigDecimal has the highest precedence and the primitive - * type float has the lowest. - */ - private static final Class[] nullableNonScaledTypes = - { - BigInteger.class, BigDecimal.class, Long.class, Integer.class, Short.class, - Byte.class, Double.class, Float.class, Long.TYPE, Integer.TYPE, - Short.TYPE, Byte.TYPE, Double.TYPE, Float.TYPE - }; - - /** - * This array specifies the precedence of Java types that are mapped - * to non-nullable SQL types with scale. - * The primitive type double has the highest precedence and the primitive - * type byte has the lowest. - */ - private static final Class[] nonNullableScaledTypes = - { - Double.TYPE, Float.TYPE, Long.TYPE, Integer.TYPE, Short.TYPE, - Byte.TYPE, BigDecimal.class, Double.class, BigInteger.class, - Long.class, Integer.class, Short.class, Byte.class - }; - - /** - * This array specifies the precedence of Java types that are mapped - * to non-nullable SQL types without scale. - * The primitive type BigDecimal has the highest precedence and the primitive - * type float has the lowest. - */ - private static final Class[] nullableScaledTypes = - { - BigDecimal.class, Double.class, Float.class, BigInteger.class, - Long.class, Integer.class, Short.class, Byte.class, Double.TYPE, - Float.TYPE, Long.TYPE, Integer.TYPE, Short.TYPE, Byte.TYPE - }; - - /** - * This method looks up the type precedence given a typePrecedence array. - * @param type the class type whose precedence we want to look up - * @param typePrecedence an array of types. Possible values are: - * @see #nonNullableNonScaledTypes - * @see #nullableNonScaledTypes - * @see #nonNullableScaledTypes - * @see #nullableScaledTypes - * @return an integer value indicating the precedence - */ - private static int lookupTypePrecedence(Class type, Class typePrecedence[]) { - for (int i = 0; i < typePrecedence.length; i++) { - if (type == typePrecedence[i]) { - return i; - } - } - - return Integer.MAX_VALUE; - } - - /** - * This method computes the type precedence for the given field f. - * @return an integer value indicating the precedence. 0 indicates - * highest precedence and Integer.MAX_VALUE indicates lowest. - */ - private int computeTypePrecedence() { - ColumnElement c = (ColumnElement) columnDescs.get(0); - int sqlType = c.getType(); - Class type = getType(); - boolean isNullable = c.isNullable(); - int precedence = Integer.MAX_VALUE; - - switch (sqlType) { - case Types.TINYINT: - case Types.SMALLINT: - case Types.INTEGER: - case Types.BIGINT: - if (isNullable) { - precedence = lookupTypePrecedence(type, nullableNonScaledTypes); - } else { - precedence = lookupTypePrecedence(type, nonNullableNonScaledTypes); - } - break; - case Types.REAL: - case Types.FLOAT: - case Types.DOUBLE: - if (isNullable) { - precedence = lookupTypePrecedence(type, nullableScaledTypes); - } else { - precedence = lookupTypePrecedence(type, nonNullableScaledTypes); - } - break; - case Types.NUMERIC: - case Types.DECIMAL: - int scale = -1; - if ((scale = c.getScale().intValue()) == 0) { - // non scaled type - if (isNullable) { - precedence = lookupTypePrecedence(type, nullableNonScaledTypes); - } else { - precedence = lookupTypePrecedence(type, nonNullableNonScaledTypes); - } - } else if (scale > 0) { - // scaled type - if (isNullable) { - precedence = lookupTypePrecedence(type, nullableScaledTypes); - } else { - precedence = lookupTypePrecedence(type, nonNullableScaledTypes); - } - } - break; - case Types.CHAR: - case Types.VARCHAR: - case Types.LONGVARCHAR: - if (type == String.class) { - precedence = 0; - } - break; - case Types.DATE: - case Types.TIMESTAMP: - if (java.util.Date.class.isAssignableFrom(type)) { - precedence = 0; - } - break; - case Types.BIT: - if (type == Boolean.class) { - if (isNullable) { - precedence = 0; - } else { - precedence = 1; - } - } else if (type == Boolean.TYPE) { - if (isNullable) { - precedence = 1; - } else { - precedence = 0; - } - } - break; - } - - return precedence; - } - - void computeTrackedPrimitiveFields() { - for (int i = 0; i < classDesc.fields.size(); i++) { - FieldDesc tf = (FieldDesc) classDesc.fields.get(i); - - if ((tf instanceof LocalFieldDesc) && (this != tf) && (compareColumns(this, tf) == true)) { - addTrackedField(tf); - } - } - } - - /** - * Compute the primary tracked field. - */ - void computePrimaryTrackedPrimitiveField() { - ArrayList trackedFields = null; - - // We need to skip fields that are read-only. - if (((trackedFields = getTrackedFields()) == null) || - (sqlProperties & (FieldDesc.PROP_PRIMARY_TRACKED_FIELD | - FieldDesc.PROP_SECONDARY_TRACKED_FIELD | - FieldDesc.PROP_READ_ONLY)) > 0) { - return; - } - - // We don't know which field is the primary field yet, so we set this field - // to be secondary. Once we know that this field is primary, we can unset it. - sqlProperties |= FieldDesc.PROP_SECONDARY_TRACKED_FIELD; - - FieldDesc primaryTrackedField = null; - int currentPrecedence = Integer.MAX_VALUE; - int precedence = 0; - - if ((precedence = computeTypePrecedence()) < currentPrecedence) { - primaryTrackedField = this; - currentPrecedence = precedence; - } - - for (int j = 0; j < trackedFields.size(); j++) { - FieldDesc tf = (FieldDesc) trackedFields.get(j); - - // We don't need to assign primary or secondary status for ForeignFieldDesc - // because we don't write it to the disk. - if (tf instanceof ForeignFieldDesc) { - continue; - } - - // We don't know which field is the primary field yet, so we set this field - // to be secondary. Once we know the which field is primary, we can unset it. - tf.sqlProperties |= FieldDesc.PROP_SECONDARY_TRACKED_FIELD; - - if ((precedence = ((LocalFieldDesc) tf).computeTypePrecedence()) < currentPrecedence) { - primaryTrackedField = tf; - currentPrecedence = precedence; - } - } - - // If we didn't find any candidate for the primary tracked field, - // we pick f as the one. - if (primaryTrackedField == null) { - primaryTrackedField = this; - } - - if (logger.isLoggable(Logger.FINEST)) { - logger.finest("sqlstore.model.classdesc.primarytrackedfield", primaryTrackedField.getName()); // NOI18N - } - - primaryTrackedField.sqlProperties |= FieldDesc.PROP_PRIMARY_TRACKED_FIELD; - primaryTrackedField.sqlProperties &= ~FieldDesc.PROP_SECONDARY_TRACKED_FIELD; - } - - void computeTrackedRelationshipFields() { - - if (((sqlProperties & FieldDesc.PROP_REF_INTEGRITY_UPDATES) == 0) && - ((sqlProperties & FieldDesc.PROP_PRIMARY_KEY_FIELD) == 0)) { - return; - } - - for (int k = 0; k < classDesc.foreignFields.size(); k++) { - ForeignFieldDesc tf = (ForeignFieldDesc) classDesc.foreignFields.get(k); - - if (compareColumns(this, tf) == true) { - // In the case where the relationship has cardinality LWB and UPB - // both equal to 1, it is possible for the relationship field to - // be mapped to same column as the primary key field. We will - // allow this relationship field to be tracked by the primary key field. - if (((sqlProperties & FieldDesc.PROP_PRIMARY_KEY_FIELD) > 0) && - ((tf.cardinalityUPB > 1) || (tf.cardinalityLWB == 0))) { - continue; - } - - // If f does not track other primitive fields, we need to - // make it the primary tracked field because it was skipped - // in computeTrackedPrimitiveFields(). - if (getTrackedFields() == null) { - sqlProperties |= FieldDesc.PROP_PRIMARY_TRACKED_FIELD; - } - - addTrackedField(tf); - - // Mark f to indicate that it is tracking a relationship field. - sqlProperties |= FieldDesc.PROP_TRACK_RELATIONSHIP_FIELD; - } - } - } - - void cleanupTrackedFields() { - ArrayList trackedFields = getTrackedFields(); - - if (trackedFields != null) { - for (int j = 1; ; j++) { - int index = trackedFields.size() - j; - - if (index < 0) { - break; - } - - FieldDesc tf = (FieldDesc) trackedFields.get(index); - - if (tf instanceof LocalFieldDesc) { - break; - } - - ArrayList foreignTrackedFields = tf.getTrackedFields(); - - if (foreignTrackedFields != null) { - trackedFields.removeAll(foreignTrackedFields); - } - } - } - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ReferenceKeyDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ReferenceKeyDesc.java deleted file mode 100644 index cb334505ea0..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/ReferenceKeyDesc.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ReferenceKeyDesc.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.model; - - - -/** - * This class encapsulate the association of two KeyDescs. - * It can be used to represent the inheritance key or - * the reference key between primary and secondary tables. - */ -public class ReferenceKeyDesc extends Object { - private KeyDesc referencingKey; - - private KeyDesc referencedKey; - - private TableDesc table; - - public ReferenceKeyDesc(TableDesc table, - KeyDesc referencingKey, - KeyDesc referencedKey) { - this.referencingKey = referencingKey; - this.referencedKey = referencedKey; - this.table = table; - } - - public KeyDesc getReferencingKey() { - return referencingKey; - } - - public KeyDesc getReferencedKey() { - return referencedKey; - } - - public TableDesc getTableDesc() { - return table; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/TableDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/TableDesc.java deleted file mode 100644 index ab6a0f206c4..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/model/TableDesc.java +++ /dev/null @@ -1,195 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * TableDesc.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.model; - -import org.netbeans.modules.dbschema.TableElement; -import com.sun.jdo.api.persistence.model.mapping.MappingClassElement; -import java.util.ArrayList; - -/** - * This class is used to represent a database table. - */ -public class TableDesc { - - /** primary key for the table */ - private KeyDesc key; - - /** array of ReferenceKeyDescs referencing secondary tables */ - private ArrayList secondaryTableKeys; - - /** ReferenceKeyDesc referencing the primary table */ - private ReferenceKeyDesc primaryTableKey; - - /** actual TableElement from the dbmodel */ - private TableElement tableElement; - - /** Consistency level for this table defined in the model */ - private int consistencyLevel; - - /** indicates this table is a join table */ - private boolean isJoinTable; - - /** Name of the table */ - private String name; - - /** Version field used for version consistency */ - private LocalFieldDesc versionField; - - public TableDesc(TableElement tableElement) { - this.tableElement = tableElement; - - name = tableElement.getName().getName(); - consistencyLevel = MappingClassElement.NONE_CONSISTENCY; - } - - /** Return all secondary table keys. - * @return an ArrayList of ReferenceKeyDescs for secondary tables - */ - public ArrayList getSecondaryTableKeys() { - return secondaryTableKeys; - } - - /** Add a new reference key to the list of secondary table keys. - * @param key - ReferenceKeyDesc to be added - */ - void addSecondaryTableKey(ReferenceKeyDesc key) { - if (secondaryTableKeys == null) - secondaryTableKeys = new ArrayList(); - - secondaryTableKeys.add(key); - } - - /** Return the reference key referencing the primary table. - * @return the ReferenceKeyDesc referencing the primary table - */ - public ReferenceKeyDesc getPrimaryTableKey() { - return primaryTableKey; - } - - /** Set the reference key referencing the primary table. - * @param key - ReferenceKeyDesc to be added - */ - void setPrimaryTableKey(ReferenceKeyDesc key) { - this.primaryTableKey = key; - } - - /** Return the primary key for the table. - * @return the KeyDesc representing the primary key for the table - */ - public KeyDesc getKey() { - return key; - } - - /** Set the primary key for the table. - * @param key - KeyDesc to be set as the primary key - */ - void setKey(KeyDesc key) { - this.key = key; - } - - /** Return the actual dbmodel TableElement for this table. - * @return TableElement associated with this table - */ - public TableElement getTableElement() { - return tableElement; - } - - /** Return the name of the table. - * @return the name of the table. - */ - public String getName() { - return name; - } - - /** Return true if this table is a join table. */ - public boolean isJoinTable() { - return isJoinTable; - } - - /** Set consistencyLevel to value. */ - void setConsistencyLevel(int value) { - consistencyLevel = value; - //TODO : - //if(isUpdateLockRequired() ) - //Check for DBVendorType.isUpdateLockSupported() - //Log to trace if !DBVendorType.isUpdateLockSupported() - //If this table is ever used, user would get an exception - - } - - /** Determins if an update lock is required on this table. */ - public boolean isUpdateLockRequired() { - return consistencyLevel == MappingClassElement.LOCK_WHEN_LOADED_CONSISTENCY; - } - - /** Set isJoinTable to value */ - void setJoinTable(boolean value) { - isJoinTable = value; - } - - void setVersionField(LocalFieldDesc field) { - versionField = field; - } - - /** - * Returns the field representing the version column for this - * table. The version column is used for verification with version - * consistency. Each table can have only one version column. - * - * @return Version field. - */ - public LocalFieldDesc getVersionField() { - return versionField; - } - -} - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle.properties deleted file mode 100644 index eadbb1266d0..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/Bundle.properties +++ /dev/null @@ -1,97 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The Message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 78. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO78000 - JDO78999 -############################################################################### -query.queryimpl.init.compiledquery.invalidtype=JDO78000: Invalid compiled query of type {0}. -query.queryimpl.init.compiledquery.isnull=JDO78001: Compiled query is null. -query.queryimpl.doexecute.pmclosed=JDO78002: PersistenceManager is closed. -query.queryimpl.doexecute.notboundtopm=JDO78003: Query is not bound to a PersistenceManager. - -# {0} - query identity -LOG_CreateNewQuery=JDO78004: QueryImpl create new query {0} -# {0} - query identity -# {1} - compiled query -LOG_CreateNewQueryFromCompiled=JDO78005: QueryImpl create new query {0} from {1} -# {0} - query -LOG_CompileQuery=JDO78006: QueryImpl compile query {0} -# {0} - query -# {1} - query parameter values -LOG_ExecuteQuery=JDO78007: QueryImpl execute query {0} with parameters {1} - - -############################################################################### -# -############################################################################### -# -# -# -# {0} - invalid field no -# {1} - field name -query.util.type.fieldinfo.getfieldnumber.invalidfieldno=FieldInfo.getFieldNumber: invalid field number {0} for field ''{1}''. -# {0} - field name -query.util.type.fieldinfo.getfieldnumber.missingfieldelement=FieldInfo.getFieldNumber: missing PersistenceFieldElement for field ''{0}''. - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/LogHelperQueryExecute.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/LogHelperQueryExecute.java deleted file mode 100644 index e5061ff4bff..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/LogHelperQueryExecute.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Michael Bouschen - */ -public class LogHelperQueryExecute { - - /** The component name for this component - */ - protected static final String componentName = "query.execute"; // NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = - LogHelperQueryExecute.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = - "com.sun.jdo.spi.persistence.support.sqlstore.query.Bundle"; // NOI18N - - /** Return the logger for the sqlstore component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/QueryImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/QueryImpl.java deleted file mode 100644 index 13c1600e6b9..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/QueryImpl.java +++ /dev/null @@ -1,798 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * QueryImpl.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Map; -import java.util.ResourceBundle; - -import com.sun.jdo.api.persistence.support.Query; -import com.sun.jdo.api.persistence.support.Transaction; -import com.sun.jdo.api.persistence.support.JDOException; -import com.sun.jdo.api.persistence.support.JDOQueryException; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; -import com.sun.jdo.spi.persistence.support.sqlstore.RetrieveDesc; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc.JQLC; -import com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc.ParameterTable; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author Michael Bouschen - * @version 0.1 - */ -public class QueryImpl - implements Query -{ - /** - * - */ - private Class candidateClass; - - /** - * - */ - private String filterExpression; - - /** - * - */ - private String importDeclarations; - - /** - * - */ - private String parameterDeclarations; - - /** - * - */ - private String variableDeclarations; - - /** - * - */ - private String orderingSpecification; - - /** - * - */ - private String resultExpression; - - /** - * - */ - private boolean compiled = false; - - /** - * - */ - private transient PersistenceManager pm; - - /** - * - */ - private transient Collection candidateCollection; - - /** - * - */ - private transient boolean ignoreCache; - - /** - * Enable relationship fields prefetch for this query. - */ - private transient boolean prefetchEnabled = true; - - /** - * - */ - private transient JQLC jqlc; - - /** - * - */ - private transient ParameterTable paramtab; - - /** - * Flag indicating whtehr this instance was created by serialization. - */ - private transient boolean createdBySerialization = false; - - /** - * I18N support - */ - protected final static ResourceBundle messages = - I18NHelper.loadBundle(QueryImpl.class); - - /** The logger */ - private static Logger logger = LogHelperQueryExecute.getLogger(); - - /** - * Create an empty query instance with no elements. - */ - public QueryImpl(PersistenceManager pm) - { - if (logger.isLoggable(Logger.FINER)) - logger.finer("LOG_CreateNewQuery", identity()); //NOI18N - this.pm = pm; - this.paramtab = new ParameterTable(); - this.ignoreCache = pm.getPersistenceManagerFactory().getIgnoreCache(); - } - - /** - * Create a new Query using elements from another Query. The other Query - * must have been created by the same JDO implementation. It might be active - * in a different PersistenceManager or might have been serialized and restored. - * @param compiled another Query from the same JDO implementation - */ - public QueryImpl (PersistenceManager pm, Object compiled) - { - if (logger.isLoggable(Logger.FINER)) - logger.finer("LOG_CreateNewQueryFromCompiled", identity(), compiled); //NOI18N - this.pm = pm; - if (compiled == null) - { - JDOException ex = new JDOQueryException(I18NHelper.getMessage( - messages, "query.queryimpl.init.compiledquery.isnull")); //NOI18N - logger.throwing("query.QueryImpl", "", ex); //NOI18N - throw ex; - } - - if (!(compiled instanceof QueryImpl)) - { - JDOException ex = new JDOQueryException(I18NHelper.getMessage( - messages, "query.queryimpl.init.compiledquery.invalidtype", //NOI18N - compiled.getClass().getName())); - logger.throwing("query.QueryImpl", "", ex); //NOI18N - throw ex; - } - - QueryImpl other = (QueryImpl)compiled; - this.candidateClass = other.candidateClass; - this.filterExpression = other.filterExpression; - this.importDeclarations = other.importDeclarations; - this.parameterDeclarations = other.parameterDeclarations; - this.variableDeclarations = other.variableDeclarations; - this.orderingSpecification = other.orderingSpecification; - this.resultExpression = other.resultExpression; - this.ignoreCache = other.ignoreCache; - this.prefetchEnabled = other.prefetchEnabled; - this.candidateCollection = null; - - // initialize paramtab, jqlc and compiled - if (other.paramtab != null) - { - this.jqlc = other.jqlc; - this.paramtab = new ParameterTable(other.paramtab); - this.compiled = other.compiled; - } - else - { - // other.paramtab == null means deserialized query => - // - parameter table - // - set compiled = false - this.jqlc = null; - this.paramtab = new ParameterTable(); - this.compiled = false; - } - } - - /** - * Create a query instance with the candidate class specified. - * @param candidateClass the Class of the candidate instances. - */ - public QueryImpl(PersistenceManager pm, Class candidateClass) - { - this(pm); - setClass(candidateClass); - } - - /** - * Create a query instance with the candidate class and - * candidate collection specified. - * @param candidateClass the Class of the candidate instances. - * @param candidateCollection the Collection of candidate instances. - */ - public QueryImpl(PersistenceManager pm, Class candidateClass, Collection candidateCollection) - { - this(pm); - setClass(candidateClass); - setCandidates(candidateCollection); - } - - /** - * Create a query instance with the candidate class and - * filter specified. - * @param candidateClass the Class of the candidate instances. - * @param filter the Filter for candidate instances. - */ - public QueryImpl(PersistenceManager pm, Class candidateClass, String filter) - { - this(pm); - setClass(candidateClass); - setFilter(filter); - } - - /** - * Create a query instance with the candidate class, - * the candidate collection, and filter specified. - * @param candidateClass the Class of the candidate instances. - * @param candidateCollection the Collection of candidate instances. - * @param filter the Filter for candidate instances - */ - public QueryImpl(PersistenceManager pm, Class candidateClass, Collection candidateCollection, String filter) - { - this(pm); - setClass(candidateClass); - setCandidates(candidateCollection); - setFilter(filter); - } - - /** - * Bind the candidate class to the query instance. - * - * The class is used to scope the names in the query filter. - * All of the candidate instances will be of this class or subclass. - * - * @param candidateClass the Class of the candidate instances. - */ - public void setClass(Class candidateClass) - { - synchronized (this.paramtab) - { - this.candidateClass = candidateClass; - this.compiled = false; - } - } - - /** - * Bind the candidate Collection to the query instance. - * - * @param candidateCollection the Candidate collection. - */ - public void setCandidates(Collection candidateCollection) - { - synchronized (this.paramtab) - { - this.candidateCollection = candidateCollection; - // candidateCollection is not part of query compilation => - // do not change compiled flag - } - } - - /** - * Bind the query filter to the query instance. - * - * The query filter is a Java boolean expression, which tells whether - * instances in the candidate collection are to be returned in the result. - * - * @param filter the query filter. - */ - public void setFilter(String filter) - { - synchronized (this.paramtab) - { - this.filterExpression = filter; - this.compiled = false; - } - } - - /** - * Bind the import statements to the query instance. - * All imports must be declared in the same method call, - * and the imports must be separated by semicolons. - * The syntax is the same as in the Java language import statement. - * - * Parameters and unbound variables might come from a different class - * from the candidate class, and the names might need to be declared in an - * import statement to eliminate ambiguity. - * - * @param imports import statements separated by semicolons. - */ - public void declareImports(String imports) - { - synchronized (this.paramtab) - { - this.importDeclarations = imports; - this.compiled = false; - } - } - - /** - * Bind the parameter statements to the query instance. - * This method defines the parameter types and names - * which will be used by a subsequent execute method. - * - * The parameter declaration is a String containing one or - * more query parameter declarations separated with commas. - * It follows the syntax for formal parameters in the Java language. - * Each parameter named in the parameter declaration must be bound - * to a value when the query is executed. - * - * @param parameters the list of parameters separated by commas. - */ - public void declareParameters(String parameters) - { - synchronized (this.paramtab) - { - this.parameterDeclarations = parameters; - this.compiled = false; - } - } - - /** - * Bind the unbound variable statements to the query instance. - * This method defines the types and names of variables that will be used - * in the filter but not provided as values by the execute method. - * - * Variables might be used in the filter, and these variables must be - * declared with their type. The unbound variable declaration is a - * String containing one or more unbound variable declarations separated with - * semicolons. It follows the syntax for local variables in the Java language. - * - * @param variables the variables separated by semicolons. - */ - public void declareVariables(String variables) - { - synchronized (this.paramtab) - { - this.variableDeclarations = variables; - this.compiled = false; - } - } - - /** - * Bind the ordering statements to the query instance. - * - * The ordering specification includes a list of expressions - * with the ascending/descending indicator. - */ - public void setOrdering(String ordering) - { - synchronized (this.paramtab) - { - this.orderingSpecification = ordering; - this.compiled = false; - } - } - - /** - * Set the result of the query. - *

    - * The query result is an optional keyword distinct followed by a Java - * expression, which tells what values are to be returned by the JDO query. - * If the result is not specified, then it defaults to "distinct this", - * which has the effect of returning the elements of the candidates - * that match the filter. - */ - public void setResult(String result) - { - synchronized (this.paramtab) - { - this.resultExpression = result; - this.compiled = false; - } - } - - /** - * Set the ignoreCache option. - * - * The ignoreCache option setting specifies whether the query should execute - * entirely in the back end, instead of in the cache. - * @param ignoreCache the setting of the ignoreCache option. - */ - public void setIgnoreCache(boolean ignoreCache) - { - synchronized (this.paramtab) - { - this.ignoreCache = ignoreCache; - } - } - - /** - * Get the ignoreCache option setting. - * @return the ignoreCache option setting. - * @see #setIgnoreCache - */ - public boolean getIgnoreCache() - { - return ignoreCache; - } - - /** Sets the prefetchEnabled option. - * - * The prefetchEnabled option specifies whether prefetch of relationship - * fields should be enabled for this query. The prefetch is enabled by - * default if such fields are part of DFG. A user needs to explicitely - * disable prefetch for any particular query if the related instances - * will not be used in this transaction. - * - * @param prefetchEnabled the setting of the prefetchEnabled option. - */ - public void setPrefetchEnabled(boolean prefetchEnabled) - { - synchronized (this.paramtab) - { - this.prefetchEnabled = prefetchEnabled; - this.compiled = false; - } - } - - /** - * Verify the elements of the query and provide a hint to the query to - * prepare and optimize an execution plan. - */ - public void compile() - { - synchronized (this.paramtab) - { - if (!this.compiled) - { - if (logger.isLoggable(Logger.FINER)) - logger.finer("LOG_CompileQuery", this); //NOI18N - // create new query compiler instance - jqlc = new JQLC(); - // define the query parts including syntax checks - jqlc.setClass(candidateClass); - jqlc.declareImports(importDeclarations); - jqlc.declareParameters(parameterDeclarations); - jqlc.declareVariables(variableDeclarations); - jqlc.setOrdering(orderingSpecification); - jqlc.setResult(resultExpression); - jqlc.setFilter(filterExpression); - jqlc.setPrefetchEnabled(prefetchEnabled); - - // semantic analysis - jqlc.semanticCheck(paramtab); - this.compiled = true; - } - } - } - - /** - * Execute the query and return the filtered Collection. - * @return the filtered Collection. - * @see #executeWithArray (Object[] parameters) - */ - public Object execute() - { - synchronized (this.paramtab) - { - compile(); - ParameterTable params = new ParameterTable(paramtab); - params.initValueHandling(); - params.checkUnboundParams(); - return doExecute(params); - } - } - - /** - * Execute the query and return the filtered Collection. - * @return the filtered Collection. - * @see #executeWithArray (Object[] parameters) - * @param p1 the value of the first parameter declared. - */ - public Object execute(Object p1) - { - Object [] params = new Object[1]; - params[0] = p1; - return executeWithArray(params); - } - - /** - * Execute the query and return the filtered Collection. - * @return the filtered Collection. - * @see #executeWithArray (Object[] parameters) - * @param p1 the value of the first parameter declared. - * @param p2 the value of the second parameter declared. - */ - public Object execute(Object p1, Object p2) - { - Object [] params = new Object[2]; - params[0] = p1; - params[1] = p2; - return executeWithArray(params); - } - - /** - * Execute the query and return the filtered Collection. - * @return the filtered Collection. - * @see #executeWithArray (Object[] parameters) - * @param p1 the value of the first parameter declared. - * @param p2 the value of the second parameter declared. - * @param p3 the value of the third parameter declared. - */ - public Object execute(Object p1, Object p2, Object p3) - { - Object [] params = new Object[3]; - params[0] = p1; - params[1] = p2; - params[2] = p3; - return executeWithArray(params); - } - - /** - * Execute the query and return the filtered Collection. - * @return the filtered Collection. - * @see #executeWithArray (Object[] parameters) - * @param parameters the Map containing all of the parameters. - */ - public Object executeWithMap (Map parameters) - { - synchronized (this.paramtab) - { - compile(); - ParameterTable params = new ParameterTable(paramtab); - params.initValueHandling(); - params.setValues(parameters); - params.checkUnboundParams(); - return doExecute(params); - } - } - - /** - * Execute the query and return the filtered Collection. - * - *

    The execution of the query obtains the values of the parameters and - * matches them against the declared parameters in order. The type of - * the declared parameters must match the type of the passed parameters, - * except that the passed parameters might need to be unwrapped to get - * their primitive values. - * - *

    The filter, import, declared parameters, declared variables, and - * ordering statements are verified for consistency. - * - *

    Each element in the candidate Collection is examined to see that it - * is assignment compatible to the Class of the query. It is then evaluated - * by the boolean expression of the filter. The element passes the filter - * if there exist unique values for all variables for which the filter - * expression evaluates to true. - * @return the filtered Collection. - * @param parameters the Object array with all of the parameters. - */ - public Object executeWithArray (Object[] parameters) - { - synchronized (this.paramtab) - { - compile(); - ParameterTable params = new ParameterTable(paramtab); - params.initValueHandling(); - params.setValues(parameters); - params.checkUnboundParams(); - return doExecute(params); - } - - } - - /** - * Get the PersistenceManager associated with this Query. - * - *

    If this Query has no PersistenceManager return null. - * @return the PersistenceManager associated with this Query. - */ - public com.sun.jdo.api.persistence.support.PersistenceManager getPersistenceManager() - { - return (pm == null)? null : pm.getCurrentWrapper(); - } - - /** - * This method clears the PersistenceManager and the candidateCollection fields. - * Then this query instance cannot be executed anymore, but it might be used to - * create a new equivalent query instance by passing this query instance to - * PersistenceManager newQuery method taking a compiled query. - *

    - * This method effectively disconnects the PersistenceManager allowing it to be - * garbage collected. - */ - public void clearPersistenceManager() - { - this.pm = null; - this.candidateCollection = null; - } - - /** - * Internal method called by execute, executeWithArray, executeWithMap. - * - calls the code generation of the query compiler - * - flushes updates - * - executes the RetrieveDesc returned by the code generation - * - resets the compiler - */ - private Object doExecute(ParameterTable params) - { - Object result = null; - RetrieveDesc rd = null; - - try - { - // We need to make sure that no parallel thread closes the pm => - // try to get a shared lock for the pm. Today, the pm impl does - // not allow to promote a shared lock into a exclusive lock. Thus - // we need to get an exclusive lock here. Otherwise pm.internalFlush - // runs into a deadlock, because it tries to get a exclusive lock. - // This code need to be changed to get a ahared lock as soon as - - // The next line might result in a NPE, if pm is closed or if the - // query instance was deserialized. Please note, I cannot check the - // pm and then get the lock, because the pm might be closed in - // parallel. Then subsequent uses of pm in doexecute would fail. - pm.acquireExclusiveLock(); - } - catch (NullPointerException npe) - { - // NPE means pm is closed or query instance was serialized. - String key = (createdBySerialization ? - "query.queryimpl.doexecute.notboundtopm" : //NOI18N - "query.queryimpl.doexecute.pmclosed"); //NOI18N - JDOException ex = new JDOQueryException( - I18NHelper.getMessage(messages, key)); - logger.throwing("query.QueryImpl", "compile", ex); //NOI18N - throw ex; - } - - try - { - checkCandidates(); - // call the code generation - rd = jqlc.codeGen(pm, params); - // flush changes (inserts, updates, deletes) to the datastore - flush(); - if (logger.isLoggable(Logger.FINER)) - logger.finer("LOG_ExecuteQuery", this, params.getValues()); //NOI18N - // Note, the RetrieveDesc returned by the code generation is null - // in the case of a query having a false filter => - // do not go to the datastore, but return an emtpy collection - result = (rd != null) ? pm.retrieve(rd, params.getValueFetcher()) : new ArrayList(); - } - finally - { - // Note, the following stmt needs to be replaced by - // pm.releaseSharedLock, as soon as the pm supports promoting a - // shared lock into an exclusive lock. - pm.releaseExclusiveLock(); - } - - return result; - } - - /** - * This method checks a valid candidates setting for this query. - */ - private void checkCandidates() - { - if ((candidateCollection == null) && (candidateClass != null)) - { - // Set candidateCollection to the extent of the candidate class, if - // candidateCollection is not specified. Note, the JDO spec defines - // subclasses=true as the default, but since this is not supported - // right now, I set it to subclasses=false. - candidateCollection = pm.getExtent(candidateClass, false); - } - else { - jqlc.checkCandidates(candidateClass, candidateCollection); - } - } - - /** - * - */ - private void flush() - { - Transaction tx = pm.currentTransaction(); - // flush updates to the database, - // - if the is a transaction active and - // - if transaction is not optimistic - // - if ignoreCache is false - if ((tx != null) && tx.isActive() && - !tx.getOptimistic() && !this.ignoreCache) - { - pm.internalFlush(); - } - } - - /** Returns a string representation of the object. */ - public String toString() - { - StringBuilder repr = new StringBuilder(); - repr.append("QueryImpl("); //NOI18N - repr.append("candidateClass: "); //NOI18N - repr.append(candidateClass); - if (importDeclarations != null) { - repr.append(", imports: "); //NOI18N - repr.append(importDeclarations); - } - if (parameterDeclarations != null) { - repr.append(", parameters: "); //NOI18N - repr.append(parameterDeclarations); - } - if (variableDeclarations != null) { - repr.append(", variables: "); //NOI18N - repr.append(variableDeclarations); - } - if (filterExpression != null) { - repr.append(", filter: "); //NOI18N - repr.append(filterExpression); - } - if (orderingSpecification != null) { - repr.append(", ordering: "); //NOI18N - repr.append(orderingSpecification); - } - if (resultExpression != null) { - repr.append(", result: "); //NOI18N - repr.append(resultExpression); - } - repr.append(", prefetchEnabled: "); //NOI18N - repr.append(prefetchEnabled); - repr.append(", identity: "); //NOI18N - repr.append(identity()); - repr.append(")"); //NOI18N - return repr.toString(); - } - - /** */ - private String identity() - { - return "QueryImpl@" + System.identityHashCode(this); //NOI18N - } - - - /** - * Define readObject to initialize the transient field paramtab after deserialization. - * This object is used for synchronization, thus it cannot be null. - */ - private void readObject(java.io.ObjectInputStream in) - throws java.io.IOException, ClassNotFoundException - { - in.defaultReadObject(); - this.paramtab = new ParameterTable(); - this.createdBySerialization = true; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle.properties deleted file mode 100644 index e7fa35237ff..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/Bundle.properties +++ /dev/null @@ -1,235 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 79. -# -# This file is divided into following sections. -# 1. main compiler class -# 2. error message helper class -# 3. syntax error messages -# 4. semantic error messages -# 5. optimizer -# 6. code generation -# 7. Miscellaneous -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of appropriate section. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in a section + 1. -# 4. Please do not change the message ID for existing messages. These -# numbers are potentially mapped to more explanation about the message for -# the end user. -# - -############################################################################## -#

    -# Message ID Range: JDO79000 - JDO79099 -############################################################################# - -jqlc.jqlc.generic.nocandidateclass=JDO79000: Missing candidate class specification. -jqlc.jqlc.checkcandidates.memorycollection=JDO79001: Queries over non-extent collections not supported. -jqlc.jqlc.checkcandidates.mismatch=JDO79002: Candidate collection does not match candidate class ''{0}''. -# {0} - name of the compiler pass -LOG_JQLCStartPass=JDO79003: JQLC start {0} -# {0} - name of the compiler pass -LOG_JQLCDumpTree=JDO79004: JQLC dump tree {0} -LOG_JQLCReuseRetrieveDesc=JDO79005: JQLC reuse cached RetrieveDesc - -############################################################################# -# -# it is the last arg for each of them that contains the -# actual message. -############################################################################# -jqlc.errormsg.generic.msg={0}: {1} -jqlc.errormsg.generic.msgcolumn={0} column({1}): {2} -jqlc.errormsg.generic.msglinecolumn={0} line({1}) column({2}): {3} - -############################################################################# -# -# Message ID Range: JDO79100 - JDO79199 -############################################################################# - -jqlc.parser.syntaxerror=JDO79100: Syntax error. -jqlc.parser.syntaxerrorattoken=JDO79101: Syntax error at ''{0}''. -jqlc.parser.unexpectedtoken=JDO79102: Syntax error unexpected token ''{0}''. -jqlc.parser.unexpectedchar=JDO79103: Syntax error unexpected char ''{0}''. -jqlc.parser.expectedfoundchar=JDO79104: Syntax error expected char ''{0}'', found ''{1}''. -jqlc.parser.unexpectedEOF=JDO79105: Syntax error unexpected end of text. - -############################################################################# -# -# Message ID Range: JDO7109200 - JDO79399 -############################################################################# - -# semantic error messages (unsupported operations) - -jqlc.semantic.analysebitwiseexpr.exclusiveorop=JDO79200: Exclusive or operator ^ not supported. -jqlc.semantic.analysebitwiseexpr.integerbitwiseop=JDO79201: Integer bitwise operator {0} not supported. -jqlc.semantic.analysecollectioncall.unsupportedcollectionexpr=JDO79202: Unsupported collection expression ''{0}''. -jqlc.semantic.analysecollectioncall.nonvariable=JDO79203: Variable expected - non variable contains arguments not supported. -jqlc.semantic.generic.unsupportedconstraintop=JDO79204: Unsupported operation ''{0}'' for variable constraint clause. -jqlc.semantic.candidateclass.nonpc=JDO79205: The class ''{0}'' is not persistence-capable. Non-persistence-capable candidate classes are not supported for Query. -jqlc.semantic.checkvalidorderingexpr.invalidordering=JDO79206: Unsupported expression ''{0}'' in ordering specification. -jqlc.semantic.checkvalidresultexpr.invalidresult=JDO79207: Unsupported expression ''{0}'' in result specification. - -# semantic error messages (user errors) - -jqlc.semantic.analysecollectioncall.typemismatch=JDO79208: Collection element type ''{0}'' and variable type ''{1}'' not compatible. -jqlc.semantic.analysecollectioncall.relationshipexpected=JDO79209: Relationship field expected ''{0}''. -jqlc.semantic.analysedotexpr.classexprexpected=JDO79210: Expression of class type expected. -jqlc.semantic.analysefieldaccess.nonperistentfield=JDO79211: Cannot access non-persistent field ''{0}'' of persistence-capable class ''{1}''. -jqlc.semantic.analysefieldaccess.nonpublicfield=JDO79212: Cannot access non-public field ''{0}'' of non-persistence-capable class ''{1}''. -jqlc.semantic.analysestaticfieldaccess.staticreference=JDO79213: Cannot make a static reference to non-static variable ''{0}'' of class ''{1}''. -jqlc.semantic.analysestaticfieldaccess.nonpublicfield=JDO79214: Cannot access non-public static field ''{0}'' of class ''{1}''. -jqlc.semantic.analyserelationalexpr.notorderable=JDO79215: Operand type ''{0}'' of {1} is not sortable. -jqlc.semantic.expression.undefined=JDO79216: Undefined expression ''{0}''. -jqlc.semantic.filter.booleanexpected=JDO79217: Boolean expression expected, filter expression has type ''{0}''. -jqlc.semantic.generic.alreadydeclared=JDO79218: ''{0}'' already declared as {1}. -jqlc.semantic.generic.arguments.numbermismatch=JDO79219: Wrong number of arguments. -jqlc.semantic.generic.arguments.typemismatch=JDO79220: Incompatible type of actual parameter. Cannot convert ''{0}'' to ''{1}''. -jqlc.semantic.generic.arguments.invalid=JDO79221: Invalid argument(s) for ''{0}''. -jqlc.semantic.generic.invalidmethodcall=JDO79222: Invalid method call. -jqlc.semantic.generic.unknownfield=JDO79223: Field ''{0}'' not defined for class ''{1}''. -jqlc.semantic.generic.unknowntype=JDO79224: Unknown type ''{0}''. -jqlc.semantic.identifier.undefined=JDO79225: Undefined identifier ''{0}''. -jqlc.semantic.primary.invalidcast=JDO79226: Cannot cast expression of type ''{0}'' to type ''{1}''. -jqlc.semantic.type.notype=JDO79227: Type expected, ''{0}'' is defined as {1}. -jqlc.semantic.analyseorderingexpression.notorderable=JDO79228: Type ''{0}'' of ordering expression is not sortable. -jqlc.semantic.checkvalidresultexpr.invalidavgsumexpr=JDO79229: Type ''{0}'' of ''{1}'' aggregate expression is not a number or char type. -jqlc.semantic.checkvalidresultexpr.invalidminmaxexpr=JDO79230: Type ''{0}'' of ''{1}'' aggregate expression is not sortable. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresultfield=JDO79231: The distinct result field expression ''{0}'' and the ordering expression ''{1}'' are not compatible. They must be the same field. -jqlc.semantic.checkresultordering.invalidorderingfordistinctresult=JDO79232: The result expression ''distinct {0}'' and the ordering expression ''{1}'' are not compatible. They must be fields in the same class using the same navigation expression to the class. - -# query parameter table - -jqlc.parametertable.checkunboundparams.unboundparam=JDO79233: Unbound query parameter ''{0}''. -jqlc.parametertable.definevaluebyname.undefinedparam=JDO79234: Undefined query parameter ''{0}''. -jqlc.parametertable.definevaluebyindex.wrongnumberofargs=JDO79235: Wrong number of arguments. -jqlc.parametertable.definevaluebyindex.typemismatch=JDO79236: Incompatible type of actual parameter. Cannot convert ''{0}'' to ''{1}''. - -############################################################################# -# -# Message ID Range: JDO79400 - JDO79499 -############################################################################# - -jqlc.optimizer.staticfieldaccess.illegal=JDO79400: Cannot access static field ''{0}'' of class ''{1}''. -jqlc.optimizer.literal.invalid=JDO79401: Invalid {0} literal ''{1}''. - -############################################################################# -# -# Message ID Range: JDO79500 - JDO79599 -############################################################################# - -jqlc.codegeneration.fieldaccess.illegal=JDO79500: Cannot access field ''{0}'' of object ''{1}''. -jqlc.codegeneration.collectioncomparison.nonnull=JDO79501: Unsupported comparison of collection with non null value. -jqlc.codegeneration.generic.unsupportedop=JDO79502: Unsupported operation ''{0}'' -jqlc.codegeneration.substring.beginnegative=JDO79503: Begin index ''{0}'' of substring method is negative. -jqlc.codegeneration.substring.beginlargerend=JDO79504: Begin index ''{0}''of substring method is larger than end index ''{1}''. -jqlc.codegeneration.resultExpr.missingpkfields=JDO79505: Unsupported COUNT expression. The expression type ''{0}'' is a persistence-capable class without primary key fields. - -############################################################################# -# -# Message ID Range: JDO79600 - JDO79699 -############################################################################# -# {0} - RetrieveDesc info -LOG_JQLCDumpRD=JDO79600: JQLC dump RetrieveDesc {0} - -# variable table - -jqlc.variabletable.markconstraint.multiple=JDO79601: Multiple constraints for variable ''{0}''. -jqlc.variabletable.checkconstraint.unused=JDO79602: Variable ''{0}'' defined but not used. -jqlc.variabletable.checkconstraint.cycle=JDO79603: Unsupported cyclic constraint definition for variable ''{0}''. -jqlc.variabletable.merge.different=JDO79604: Different constraints for the same variable ''{0}''. - - -############################################################################### -# -############################################################################### -# -# -# -jqlc.jqlc.checkcandidates.nullpc=Persistence capable class of extent collection is null. - -jqlc.parser.invalidunicodestr=JQLLexer.UNICODE_STR - -jqlc.parametertable.getvaluebyname.undefined=ParameterTable.getValueByName: undefined parameter {0}. -jqlc.parametertable.getvaluebyindex.wrongindex=ParameterTable.getValueByIndex: wrong index {0}. -jqlc.parametertable.definevaluebyindex.wrongindex=ParameterTable.defineValueByIndex: wrong index {0}. - -jqlc.semantic.checkcandidateclass.unknowntype=Semantic.checkCandidateClass: unknown type {0}. -jqlc.semantic.analysedefinedidentifier.illegalident=Semantic.analyseDefinedIdentifier: illegal identifier definition {0}. -jqlc.semantic.getcollectionfield.missingchildren=Semantic.getCollectionField: invalid node structure children missing. - -jqlc.optimizer.checkbinaryplusop.invalidtype=Optimizer.checkBinaryPlusOp: invalid type {0}. -jqlc.optimizer.checkbinaryminusop.invalidtype=Optimizer.checkBinaryMinusOp: invalid type {0}. -jqlc.optimizer.checkmultiplicationop.invalidtype=Optimizer.checkMultiplicationOp: invalid type {0}. -jqlc.optimizer.checkdivisionop.invalidtype=Optimizer.checkDivisionOp: invalid type {0}. -jqlc.optimizer.checkmodop.invalidtype=Optimizer.checkModOp: invalid type {0}. -jqlc.optimizer.checkunaryminusop.invalidtype=Optimizer.checkUnaryMinusOp: invalid type {0}. -jqlc.optimizer.getbigdecimalvalue.notnumber=Optimizer.getBigDecimalValue: expected number value {0}. -jqlc.optimizer.getbigintegervalue.notnumber=Optimizer.getBigIntegerValue: expected number value {0}. -jqlc.optimizer.isempty.requirecollection=Optimizer.isEmpty: requires collection value. - -jqlc.codegeneration.generatesimplefieldvaluecomparison.invalidvalue=CodeGeneration.generateSimpleFieldValueComparison: invalid null value in relational operation. -jqlc.codegeneration.generateparametervaluecomparison.invalidvalue=CodeGeneration.generateParameterValueComparison: invalid null value in relational operation. -jqlc.codegeneration.getkeyfieldscomparisonbooleanop.invalidobj=CodeGeneration.getKeyFieldsComparisonBooleanOp: invalid object comparison operation {0}. -jqlc.codegeneration.filter.nonbooleanvalue=CodeGeneration.filter: invalid non boolean value {0}. -jqlc.codegeneration.primary.null=CodeGeneration.primary: invalid null value. - -jqlc.variabletable.markused.varnotfound=VariableTable.markUsed variable {0} not found. -jqlc.variabletable.markused.multidep=VariableTable.markUsed multiple dependencies for variable {0} old: {1}, new: {2}. -jqlc.variabletable.markconstraint.varnotfound=VariableTable.markConstraint variable {0} not found. - -jqlc.jdoqlparameterdeclarationparser.next.wrongtoken=ParameterDeclarationHelper.ParameterTypeIterator.next: wrong token type {0} expected PARAMETER_DEF node. - -jqlc.queryvaluefetcher.getvalue.invalidparam=Invalid parameter index {0} parameter array has length {1}. diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/ErrorMsg.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/ErrorMsg.java deleted file mode 100644 index df455ac9af8..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/ErrorMsg.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ErrorMsg.java - * - * Created on April 3, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - -import java.util.ResourceBundle; - -import com.sun.jdo.api.persistence.support.JDOQueryException; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.api.persistence.support.JDOUnsupportedOptionException; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author Michael Bouschen - * @version 0.1 - */ -public class ErrorMsg -{ - /** - * - */ - protected String context = null; - - /** - * I18N support - */ - protected final static ResourceBundle messages = - I18NHelper.loadBundle(ErrorMsg.class); - - /** The logger */ - private static Logger logger = LogHelperQueryCompilerJDO.getLogger(); - - /** - * - */ - public String getContext() - { - return context; - } - - /** - * - */ - public void setContext(String name) - { - context = name; - } - - /** - * Indicates an error situation. - * @param line line number - * @param col column number - * @param msg error message - */ - public void error(int line, int col, String msg) - throws JDOQueryException - { - JDOQueryException ex; - if (line > 1) - { - // include line and column info - Object args[] = {context, line, col, msg}; - ex = new JDOQueryException(I18NHelper.getMessage( - messages, "jqlc.errormsg.generic.msglinecolumn", args)); //NOI18N - } - else if (col > 0) - { - // include column info - Object args[] = {context, col, msg}; - ex = new JDOQueryException(I18NHelper.getMessage( - messages, "jqlc.errormsg.generic.msgcolumn", args)); //NOI18N - } - else - { - Object args[] = {context, msg}; - ex = new JDOQueryException(I18NHelper.getMessage( - messages, "jqlc.errormsg.generic.msg", args)); //NOI18N - } - logger.throwing("jqlc.ErrorMsg", "error", ex); - throw ex; - } - - /** - * Indicates that a feature is not supported by the current release. - * @param line line number - * @param col column number - * @param msg message - */ - public void unsupported(int line, int col, String msg) - throws JDOUnsupportedOptionException - { - JDOUnsupportedOptionException ex; - if (line > 1) - { - // include line and column info - Object args[] = {context, line, col, msg}; - ex = new JDOUnsupportedOptionException(I18NHelper.getMessage( - messages, "jqlc.errormsg.generic.msglinecolumn", args)); //NOI18N - } - else if (col > 0) - { - // include column info - Object args[] = {context, col, msg}; - ex = new JDOUnsupportedOptionException(I18NHelper.getMessage( - messages, "jqlc.errormsg.generic.msgcolumn", args)); //NOI18N - - } - else - { - Object args[] = {context, msg}; - ex = new JDOUnsupportedOptionException(I18NHelper.getMessage( - messages, "jqlc.errormsg.generic.msg", args)); //NOI18N - } - logger.throwing("jqlc.ErrorMsg", "unsupported", ex); - throw ex; - } - - /** - * Indicates a fatal situation (implementation error). - * @param msg error message - */ - public void fatal(String msg) - throws JDOFatalInternalException - { - JDOFatalInternalException ex = new JDOFatalInternalException(msg); - logger.throwing("jqlc.ErrorMsg", "fatal", ex); - throw ex; - } - - /** - * Indicates a fatal situation (implementation error). - * @param msg error message - */ - public void fatal(String msg, Exception nested) - throws JDOFatalInternalException - { - JDOFatalInternalException ex = new JDOFatalInternalException(msg, nested); - logger.throwing("jqlc.ErrorMsg", "fatal", ex); - throw ex; - } -} - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JDOQLParameterDeclarationParser.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JDOQLParameterDeclarationParser.java deleted file mode 100644 index 7c55a6f37b3..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JDOQLParameterDeclarationParser.java +++ /dev/null @@ -1,235 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - -import java.util.Iterator; -import java.util.NoSuchElementException; -import java.util.ResourceBundle; - -import antlr.ANTLRException; -import antlr.collections.AST; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import org.glassfish.ejb.deployment.descriptor.QueryParser; -import org.glassfish.persistence.common.I18NHelper; - -/** Helper class to support parsing of JDOQL parameter declarations. - * - * Created on October 16, 2002 - * @author Michael Bouschen - */ -public class JDOQLParameterDeclarationParser - implements QueryParser -{ - /** - * I18N support - */ - protected final static ResourceBundle messages = I18NHelper.loadBundle( - JDOQLParameterDeclarationParser.class); - - /** - * Returns an iterator over the parameter types of the specified JDOQL - * parameter declartion. The types are represented by their name, thus - * the Iterator's next method returns Strings. - * @param text the JDOQL parameter declaration - * @return an iterator over parameter types - * @exception JDOQueryException indicates a parse error - */ - public Iterator parameterTypeIterator(String text) - { - return new ParameterTypeIterator(parse(text)); - } - - /** - * Internal method parsing the JDOQL parameter declaration. - * @param text the JDOQL parameter declaration - * @return an AST representing the parameter declarations - */ - private AST parse(String text) - { - if (text == null) { - return null; - } - - // return value - AST paramsAST = null; - - // error message helper - ErrorMsg errorMsg = new ErrorMsg(); - - // create parser - JQLParser parser = JQLC.createStringParser(text, errorMsg); - - try { - // start parsing - parser.parseParameters(); - // get the AST representation - paramsAST = parser.getAST(); - } - catch (ANTLRException ex) { - // handle any exceptions thrown by lexer or parser - JQLParser.handleANTLRException(ex, errorMsg); - } - - return paramsAST; - } - - /** - * Iterator over the parameter types. The next method returns the type - * of the next parameter represented as String. - */ - private static class ParameterTypeIterator - implements Iterator - { - // current parameter declaration node - private AST current; - - /** - * The constructor takes the parameter declarations AST. A - * parameter declaration node must have a PARAMETER_DEF node as - * root. The first child is the type, the next child is the name of - * the parameter. All subsequent parameter declarations as siblings - * of the specified ast node. - * @param ast the list of parameter declarations nodes - */ - ParameterTypeIterator(AST ast) - { - current = ast; - } - - /** - * Returns true if the iteration has more elements. - * @return true if the iterator has more elements. - */ - public boolean hasNext() - { - return (current != null); - } - - /** - * Returns the next element in the iteration. For this Iterator it - * returns the String representation of the type of the next - * parameter declaration. - * @return the type of the next parameter declaration. - * @exception NoSuchElementException iteration has no more elements. - */ - public Object next() - { - // check whether iteration has no more elements - if (current == null) - throw new NoSuchElementException(); - - // Check whether the current node has the token type - // PARAMETER_DEF => throw exception if not. - if (current.getType() != JQLParser.PARAMETER_DEF) - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, - "jqlc.jdoqlparameterdeclarationparser.next.wrongtoken", //NOI18N - current.getType())); - - // get string repr of parameter type node - String typeRepr = getTypeRepr(current.getFirstChild()); - - // advance current ast node to next parameter declaration node - current = current.getNextSibling(); - - return typeRepr; - } - - /** - * Not supported. - * @exception UnsupportedOperationException remove is not supported - * by this Iterator - */ - public void remove() { throw new UnsupportedOperationException(); } - - /** - * Internal method to calculate the string representation of a type - * node. - * @param ast the type node - * @return the string representation - */ - private String getTypeRepr(AST ast) - { - if (ast == null) - return ""; - - // Check for DOT nodes #(DOT left right) - // They are represented as left.right - if (ast.getType() == JQLParser.DOT) { - AST left = ast.getFirstChild(); - AST right = left.getNextSibling(); - return getTypeRepr(left) + "." + getTypeRepr(right); - } - - // For all other nodes return the token text - return ast.getText(); - } - } - - /** - * Method main for testing purposes. Parameter args is expected to a - * an array of parameter declaration String. One parameter declaration - * may declare multiple parameters according to the JDOQL parameter - * declaration syntax. Calling - * java com...jqlc.ParameterDeclarationHelper "int a, String b" - * will print - *
    - * Parameter types for >int a, String b< - *
    - * int - *
    - * String
    - *
    - */ - public static void main(String[] args) - { - QueryParser helper = new JDOQLParameterDeclarationParser(); - for (int i = 0; i < args.length; i++) { - String text = args[i]; - System.out.println("Parameter types for >" + text + "<"); - for (Iterator types = helper.parameterTypeIterator(text); - types.hasNext();) { - System.out.println(" " + types.next()); - } - } - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JQLAST.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JQLAST.java deleted file mode 100644 index f87697be756..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JQLAST.java +++ /dev/null @@ -1,336 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * JQLAST.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - -import antlr.Token; -import antlr.CommonAST; -import antlr.collections.AST; -import antlr.ASTFactory; - -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type; -import com.sun.jdo.spi.persistence.support.sqlstore.RetrieveDesc; - -/** - * This class represents a node in the intermediate representation (AST) - * used by the query compiler. - * It provides - * - line info - * - column info - * - type info (object of class util.type.Type): the semantic analysis calculates - * the type of an expression and adds this info to each node. - * - RetrieveDesc info - * - value: this allows to add an arbitrary value to a node. - * This is used in compile time calulation of constant expression. - * @author Michael Bouschen - * @version 0.1 - */ -public class JQLAST - extends CommonAST -{ - /** */ - private static char SEPARATOR = '\n'; - - /** */ - private static String INDENT = " "; //NOI18N - - protected int line = 0; - protected int column = 0; - protected Type jqlType; - protected RetrieveDesc rd; - protected Object value; - - public JQLAST() - { - } - - public JQLAST(int type, String text, Type jqlType) - { - initialize(type, text, jqlType); - } - - public JQLAST(int type, String text, Type jqlType, Object value) - { - initialize(type, text, jqlType, value); - } - - public JQLAST(Token t) - { - initialize(t); - } - - public JQLAST(JQLAST ast) - { - initialize(ast); - } - - public void initialize(int type) - { - setType(type); - } - - public void initialize(int type, String text) - { - setType(type); - setText(text); - } - - public void initialize(Token t) - { - setType(t.getType()); - setText(t.getText()); - setLine(t.getLine()); - setColumn(t.getColumn()); - } - - public void initialize(int type, String text, Type jqlType) - { - setType(type); - setText(text); - setJQLType(jqlType); - } - - public void initialize(int type, String text, Type jqlType, Object value) - { - setType(type); - setText(text); - setJQLType(jqlType); - setValue(value); - } - - public void initialize(AST ast) - { - initialize((JQLAST)ast); - } - - public void initialize(JQLAST ast) - { - setType(ast.getType()); - setText(ast.getText()); - setLine(ast.getLine()); - setColumn(ast.getColumn()); - setJQLType(ast.getJQLType()); - setValue(ast.getValue()); - setRetrieveDesc(ast.getRetrieveDesc()); - setValue(ast.getValue()); - } - - public void setLine(int line) - { - this.line = line; - } - - public int getLine() - { - return line; - } - - public void setColumn(int column) - { - this.column = column; - } - - public int getColumn() - { - return column; - } - - public void setJQLType(Type jqlType) - { - this.jqlType = jqlType; - } - - public Type getJQLType() - { - return jqlType; - } - - public void setRetrieveDesc(RetrieveDesc rd) - { - this.rd = rd; - } - - public RetrieveDesc getRetrieveDesc() - { - return rd; - } - - public void setValue(Object value) - { - this.value = value; - } - - public Object getValue() - { - return value; - } - - /** - * Returns a string representation of this JQLAST w/o child nodes. - * @return a string representation of the object. - */ - public String toString() - { - StringBuilder repr = new StringBuilder(); - Object jqlType = getJQLType(); - RetrieveDesc rd = getRetrieveDesc(); - // token text - repr.append((getText() == null ? "null" : getText())); //NOI18N - repr.append(" ["); //NOI18N - // token type - repr.append(getType()); - // line/column info - repr.append(", ("); //NOI18N - repr.append(getLine() + "/" + getColumn()); //NOI18N - repr.append(")"); //NOI18N - // type info - repr.append(", "); //NOI18N - repr.append(jqlType); - // RetrieveDesc info - repr.append(", "); //NOI18N - repr.append(getRetrieveDescRepr(rd)); - repr.append("]"); //NOI18N - return repr.toString(); - } - - /** - * Returns a full string representation of this JQLAST. - * The returned string starts with the specified title string, - * followed by the string representation of this ast, - * followed by the string representation of the child ast nodes of this ast. - * The method dumps each ast node on a separate line. - * Child ast nodes are indented. - * The method calls toString to dump a single node w/o children. - * @return string representation of this ast including children. - */ - public String getTreeRepr(String title) - { - return title + this.getTreeRepr(0); - } - - /** Helper method for getTreeRepr. */ - private String getTreeRepr(int level) - { - StringBuilder repr = new StringBuilder(); - // current node - repr.append(SEPARATOR); - repr.append(getIndent(level)); - repr.append(this.toString()); - // handle children - for (JQLAST node = (JQLAST)this.getFirstChild(); - node != null; - node = (JQLAST)node.getNextSibling()) { - repr.append(node.getTreeRepr(level+1)); - } - return repr.toString(); - } - - /** Returns a string representation of the spceified RetrieveDesc. */ - public static String getRetrieveDescRepr(RetrieveDesc rd) - { - StringBuilder buf = new StringBuilder(); - buf.append("RD:"); //NOI18N - if (rd == null) - { - buf.append("null"); //NOI18N - } - else - { - String pcClassName = rd.getPersistenceCapableClass().toString(); - if (pcClassName.startsWith("class ")) //NOI18N - buf.append(pcClassName.substring(6)); - else - buf.append(pcClassName); - buf.append("@"); //NOI18N - buf.append(System.identityHashCode(rd)); - } - return buf.toString(); - } - - /** Returns the indent specified by level. */ - private String getIndent(int level) - { - StringBuilder buf = new StringBuilder(); - for (int i = 0; i < level; i++) { - buf.append(INDENT); - } - return buf.toString(); - } - - /** - * Factory to create and connect JQLAST nodes. - */ - public static class Factory - extends ASTFactory - { - /** The singleton Factory instance. */ - private static Factory factory = new Factory(); - - /** - * Get an instance of Factory. - * @return an instance of Factory - */ - public static Factory getInstance() - { - return factory; - } - - /** */ - protected Factory() - { - this.theASTNodeTypeClass = JQLAST.class; - this.theASTNodeType = this.theASTNodeTypeClass.getName(); - } - - /** */ - public AST create() - { - return new JQLAST(); - } - } -} - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JQLC.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JQLC.java deleted file mode 100644 index fb00d1cd259..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/JQLC.java +++ /dev/null @@ -1,446 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * JQLC.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - -import java.io.Reader; -import java.io.StringReader; -import java.util.*; - -import antlr.TokenBuffer; -import antlr.ANTLRException; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.api.persistence.support.JDOQueryException; -import com.sun.jdo.api.persistence.support.JDOUnsupportedOptionException; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import org.glassfish.common.util.StringHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; -import com.sun.jdo.spi.persistence.support.sqlstore.RetrieveDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.ExtentCollection; -import com.sun.jdo.spi.persistence.utility.logging.Logger; - -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.TypeTable; - -/** - * - * @author Michael Bouschen - * @version 0.1 - * - * Note: this class allows to override its fields even after all the processing - * is done via the corresponding setXXX methods. This is not expected behavior. - * A better solution would be to change all setters to be private and have use - * a constructor to populate all the values. The constructor will call private - * setters to process the arguments. - */ -public class JQLC -{ - /** */ - protected TypeTable typetab; - - /** */ - protected ErrorMsg errorMsg; - - /** */ - protected Class candidateClass; - - /** */ - protected JQLAST filterAST = null; - - /** */ - protected JQLAST importsAST = null; - - /** */ - protected JQLAST varsAST = null; - - /** */ - protected JQLAST paramsAST = null; - - /** */ - protected JQLAST orderingAST = null; - - /** */ - protected JQLAST resultAST = null; - - /** */ - protected JQLAST queryAST = null; - - /** */ - private boolean prefetchEnabled; - - /** - * RD cache, key is a string build from actual param values - * (see ParameterTable.getKeyForRetrieveDescCache). - * It's ok to use WeakHashMap from java.util, because the key is a string - * which is not referenced by the RD. - */ - protected Map retrieveDescCache = new HashMap(); - - /** I18N support */ - protected final static ResourceBundle messages = - I18NHelper.loadBundle(JQLC.class); - - /** The logger */ - private static Logger logger = LogHelperQueryCompilerJDO.getLogger(); - - /** - * - */ - public JQLC() - { - this.errorMsg = new ErrorMsg(); - } - - /** - * - */ - public void setClass(Class candidateClass) - { - // check valid candidate class definition - if (candidateClass == null) - { - JDOQueryException ex = new JDOQueryException(I18NHelper.getMessage( - messages, "jqlc.jqlc.generic.nocandidateclass")); //NOI18N - logger.throwing("jqlc.JQLC", "setClass", ex); //NOI18N - throw ex; - } - this.candidateClass = candidateClass; - } - - /** - * - */ - public void declareImports(String imports) - { - if (imports == null) - { - importsAST = null; - return; - } - - try - { - JQLParser parser = createStringParser(imports); - parser.parseImports(); - importsAST = (JQLAST)parser.getAST(); - } - catch (ANTLRException ex) - { - JQLParser.handleANTLRException(ex, errorMsg); - } - } - - /** - * - */ - public void declareParameters(String parameters) - { - if (parameters == null) - { - paramsAST = null; - return; - } - - try - { - JQLParser parser = createStringParser(parameters); - parser.parseParameters(); - paramsAST = (JQLAST)parser.getAST(); - } - catch (ANTLRException ex) - { - JQLParser.handleANTLRException(ex, errorMsg); - } - } - - /** - * - */ - public void declareVariables(String variables) - { - if (variables == null) - { - varsAST = null; - return; - } - - try - { - JQLParser parser = createStringParser(variables); - parser.parseVariables(); - varsAST = (JQLAST)parser.getAST(); - } - catch (ANTLRException ex) - { - JQLParser.handleANTLRException(ex, errorMsg); - } - } - - /** - * - */ - public void setOrdering(String ordering) - { - if (ordering == null) - { - orderingAST = null; - return; - } - - try - { - JQLParser parser = createStringParser(ordering); - parser.parseOrdering(); - orderingAST = (JQLAST)parser.getAST(); - } - catch (ANTLRException ex) - { - JQLParser.handleANTLRException(ex, errorMsg); - } - } - - /** - * - */ - public void setResult(String result) - { - if (result == null) - { - resultAST = null; - return; - } - - try - { - JQLParser parser = createStringParser(result); - parser.parseResult(); - resultAST = (JQLAST)parser.getAST(); - } - catch (ANTLRException ex) - { - JQLParser.handleANTLRException(ex, errorMsg); - } - } - - /** - * - */ - public void setFilter(String filter) - { - if (StringHelper.isEmpty(filter)) - { - // If there is no filter specified use "true" as filter. - // This is the case if - // - setFilter is not called at all (filter == null) - // - the filter is empty or contians whitespecace only. - // Internally the filter has to be specified, - // otherwise semantic analysis has problems with empty AST. - filter = "true"; //NOI18N - } - - try - { - JQLParser parser = createStringParser(filter); - parser.parseFilter(); - filterAST = (JQLAST)parser.getAST(); - } - catch (ANTLRException ex) - { - JQLParser.handleANTLRException(ex, errorMsg); - } - } - - /** - * - */ - public void setPrefetchEnabled(boolean prefetchEnabled) - { - this.prefetchEnabled = prefetchEnabled; - } - - /** - * - */ - public void semanticCheck(ParameterTable paramtab) - { - boolean finer = logger.isLoggable(Logger.FINER); - boolean finest = logger.isLoggable(Logger.FINEST); - this.typetab = TypeTable.getInstance(candidateClass.getClassLoader()); - paramtab.init(); - Semantic semantic = new Semantic(); - semantic.init(typetab, paramtab, errorMsg); - semantic.setASTFactory(JQLAST.Factory.getInstance()); - - // create complete tree representation - JQLAST classAST = semantic.checkCandidateClass(candidateClass); - queryAST = semantic.createQueryAST(classAST, importsAST, paramsAST, varsAST, - orderingAST, resultAST, filterAST); - - if (finest) logger.finest("LOG_JQLCDumpTree", queryAST.getTreeRepr("(AST)")); //NOI18N - - // start semantic check - try - { - if (finer) logger.finer("LOG_JQLCStartPass", "semantic analysis"); //NOI18N - semantic.query(queryAST); - queryAST = (JQLAST)semantic.getAST(); - if (finest) logger.finest("LOG_JQLCDumpTree", queryAST.getTreeRepr("(typed AST)")); //NOI18N - } - catch (ANTLRException ex) - { - errorMsg.fatal("JQLC.semanticCheck unexpected exception", ex); //NOI18N - } - } - - /** - * - */ - public RetrieveDesc codeGen(PersistenceManager pm, ParameterTable paramtab) - { - boolean finer = logger.isLoggable(Logger.FINER); - boolean finest = logger.isLoggable(Logger.FINEST); - RetrieveDesc rd = null; - - // check if a RetrieveDescriptor for the actual parameter constellation - // is already available in the cache - String key = paramtab.getKeyForRetrieveDescCache(); - - synchronized(retrieveDescCache) - { - if (key != null) - rd = (RetrieveDesc)retrieveDescCache.get(key); - - if (rd == null) { - Optimizer optimizer = new Optimizer(); - optimizer.init(typetab, paramtab, errorMsg); - optimizer.setASTFactory(JQLAST.Factory.getInstance()); - - CodeGeneration codeGen = new CodeGeneration(); - codeGen.init(pm, typetab, paramtab, errorMsg, prefetchEnabled); - codeGen.setASTFactory(JQLAST.Factory.getInstance()); - - try - { - JQLAST ast = queryAST; - - // The optimizer should treat query parameters as constant values, - // so I cannot call the optimzer before the query parameter values - // are known. That's why optimization is part of codeGen which is - // called by Query.execute and not called by Query.compile. - if (finer) logger.finer("LOG_JQLCStartPass", "optimizer"); //NOI18N - optimizer.query(ast); - // Do not store the optimizer result in the instance variable queryAST, - // it cannot be reused by the next execution of this query. The next execute - // might have different query parameter values, so the optimized AST is different. - ast = (JQLAST)optimizer.getAST(); - if (finest) logger.finest("LOG_JQLCDumpTree", ast.getTreeRepr("(optimized AST)")); //NOI18N - - if (finer) logger.finer("LOG_JQLCStartPass", "code generation"); //NOI18N - codeGen.query(ast); - rd = codeGen.getRetrieveDesc(); - // add the current RetrieveDescriptor to the cache, - // if the key is not null - if (key != null) - retrieveDescCache.put(key, rd); - } - catch (ANTLRException ex) - { - errorMsg.fatal("JQLC.codeGen unexpected exception", ex); //NOI18N - } - } - else { - if (finer) logger.finest("LOG_JQLCReuseRetrieveDesc"); //NOI18N - } - } - - return rd; - } - - /** - * - */ - public void checkCandidates(Class candidateClass, Collection candidateCollection) - { - if (candidateClass == null) - throw new JDOQueryException( - I18NHelper.getMessage(messages, "jqlc.jqlc.generic.nocandidateclass")); //NOI18N - if (!(candidateCollection instanceof ExtentCollection)) - throw new JDOUnsupportedOptionException( - I18NHelper.getMessage(messages, "jqlc.jqlc.checkcandidates.memorycollection")); //NOI18N - - Class candidatePCClass = ((ExtentCollection)candidateCollection).getPersistenceCapableClass(); - if (candidatePCClass == null) - throw new JDOFatalInternalException( - I18NHelper.getMessage(messages, "jqlc.jqlc.checkcandidates.nullpc")); //NOI18N - - if (!candidateClass.getName().equals(candidatePCClass.getName())) - throw new JDOQueryException( - I18NHelper.getMessage(messages, "jqlc.jqlc.checkcandidates.mismatch", candidateClass.getName())); //NOI18N - } - - /** */ - private JQLParser createStringParser(String text) - { - return createStringParser(text, errorMsg); - } - - /** - * Returns a JQLParser instance parsing the specified text. - */ - public static JQLParser createStringParser(String text, ErrorMsg errorMsg) - { - Reader in = new StringReader(text); - JQLLexer lexer = new JQLLexer(in); - lexer.init(errorMsg); - TokenBuffer buffer = new TokenBuffer(lexer); - JQLParser parser = new JQLParser(buffer); - parser.init(errorMsg); - parser.setASTFactory(JQLAST.Factory.getInstance()); - return parser; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/LogHelperQueryCompilerJDO.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/LogHelperQueryCompilerJDO.java deleted file mode 100644 index 28eb0e9fc15..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/LogHelperQueryCompilerJDO.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** - * - * @author Michael Bouschen - */ -public class LogHelperQueryCompilerJDO { - - /** The component name for this component - */ - protected static final String componentName = "query.compiler.jdo"; // NOI18N - - /** The class loader for this component - */ - protected static final ClassLoader loader = - LogHelperQueryCompilerJDO.class.getClassLoader(); - - /** The bundle name for this component - */ - protected static final String bundleName = - "com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc.Bundle"; // NOI18N - - /** Return the logger for the sqlstore component - */ - public static Logger getLogger() { - return LogHelper.getLogger (componentName, bundleName, loader); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/ParameterTable.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/ParameterTable.java deleted file mode 100644 index 242ec09abb0..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/ParameterTable.java +++ /dev/null @@ -1,462 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * ParameterTable.java - * - * Created on April 12, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.ResourceBundle; - -import com.sun.jdo.api.persistence.support.JDOQueryException; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type; -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.StringType; -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.PrimitiveType; -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.WrapperClassType; -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.MathType; -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.DateType; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ValueFetcher; -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; -import com.sun.jdo.spi.persistence.utility.ParameterInfo; - -/** - * The query parameter table - * - * @author Michael Bouschen - * @version 0.1 - */ -public class ParameterTable -{ - /** Query parameter names */ - List names = null; - - /** Query parameter types */ - List types = null; - - /** Query Parameter values */ - transient List values = null; - - /** null key */ - private static final String NULL_ = "null"; //NOI18N - - /** true key */ - private static final String TRUE_ = "true"; //NOI18N - - /** false key */ - private static final String FALSE_ = "false"; //NOI18N - - /** other key */ - private static final String OTHER_ = "other"; //NOI18N - - /** noparams key */ - private static final String NOPARAMS_ = "noparams"; //NOI18N - - /** key parameter separator */ - private static final char PARAMKEY_SEPARATOR = '/'; - - /** - * Objects of this class represent the value for an unbound query parameter - */ - static class Unbound { } - - /** - * Singleton representing the value for an unbound query parameter - */ - static final Unbound unbound = new Unbound(); - - /** I18N support */ - protected final static ResourceBundle messages = - I18NHelper.loadBundle(ParameterTable.class); - - /** - * - */ - public ParameterTable() - {} - - /** - * Copy constructor. - * @param other the ParameterTable to be copied - */ - public ParameterTable(ParameterTable other) - { - this.names = other.names; - this.types = other.types; - this.values = other.values; - } - - /** - * Adds a new query parameter with the specified type to the query - * parameter table. - */ - public void add(String name, Type type) - { - names.add(name); - types.add(type); - } - - /** - * Initializes the parameter declarations (names and types list). - * Needs to be called prior to any add call. - */ - public void init() - { - this.names = new ArrayList(); - this.types = new ArrayList(); - } - - /** - * Initializes the parameter values. This methods sets the values for all - * declared parameters to unbound. - */ - public void initValueHandling() - { - values = new ArrayList(names.size()); - final int size = names.size(); - for (int i = 0; i < size; i++) { - values.add(unbound); - } - } - - /** - * Check actual query parameters specified as array and return the - * ValueFetcher for the inputparameters. - * @param actualParams - */ - public void setValues(Object[] actualParams) - { - if (actualParams != null) - { - for (int i = 0; i < actualParams.length; i++) - { - Object value = actualParams[i]; - defineValueByIndex(i, value); - } - } - } - - /** - * Checks whether all parameters have an actual value. - */ - public void checkUnboundParams() - { - final int size = values.size(); - for (int i = 0; i < size; i++) - { - if (values.get(i) == unbound) - { - throw new JDOQueryException( - I18NHelper.getMessage(messages, "jqlc.parametertable.checkunboundparams.unboundparam", //NOI18N - names.get(i))); - } - } - } - - /** - * Check actual query parameters specified as map and return the - * ValueFetcher for the inputparameters. - * @param actualParams - */ - public void setValues(Map actualParams) - { - if (actualParams != null) - { - for (Iterator i = actualParams.entrySet().iterator(); i.hasNext();) - { - Map.Entry actualParam = (Map.Entry)i.next(); - String name = (String)actualParam.getKey(); - Object value = actualParam.getValue(); - defineValueByName(name, value); - } - } - } - - /** - * Returns the value of the parameter with the specified name. - */ - public Object getValueByName(String name) - { - int index = names.indexOf(name); - if (index == -1) - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, - "jqlc.parametertable.getvaluebyname.undefined", //NOI18N - name)); - - return getValueByIndex(index); - } - - /** - * Returns the value of the parameter with the specified index. - */ - public Object getValueByIndex(int index) - { - if ((index < 0) || (index >= values.size())) - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, - "jqlc.parametertable.getvaluebyindex.wrongindex", //NOI18N - String.valueOf(index))); - - return values.get(index); - } - - /** Returns the list of parameter values. */ - public List getValues() - { - return values; - } - - /** - * Wraps the actual parameter array into a ValueFetcher instnace. - * @return Instance of ValueFetcher - */ - public ValueFetcher getValueFetcher() - { - return new QueryValueFetcher(values.toArray(new Object[values.size()])); - } - - /** - * Calculates and returns the key for the RetrieveDesc cache based, - * on the actual parameter values. - * A null return means, the RetrieveDesc should not be - * cached. - * Note, this method needs to be in sync with method inline. - */ - public String getKeyForRetrieveDescCache() - { - StringBuilder key = new StringBuilder(); - final int size = values.size(); - for (int i = 0; i < size; i++) { - // Do not cache RetrieveDesc if the parameter type is pc class - // or java.lang.Object => return null - if (isInlineType(types.get(i))) - return null; - - Object item = values.get(i); - if (item == null) { - key.append(ParameterTable.NULL_); - } - else if (item instanceof Boolean) { - if (((Boolean)item).booleanValue()) { - key.append(ParameterTable.TRUE_); - } else { - key.append(ParameterTable.FALSE_); - } - } else { - key.append(ParameterTable.OTHER_); - } - key.append(ParameterTable.PARAMKEY_SEPARATOR); - } - - // If the key is 0 in length, the Query does not use any parameters. - // But nevertheless we want cache the RD, thus we return a key for - // no-parameter-queries - if (key.length() == 0) { - key.append(ParameterTable.NOPARAMS_); - } - - return key.toString(); - } - - /** - * Returns true if the parameter with the specified index should be inlined - * by the optimizer. - * Note, this method needs to be in sync with method - * getKeyForRetrieveDescCache. - * @param paramName the parameter - * @return true if the specified parameter should be inlined. - */ - public boolean inline(String paramName) - { - int index = names.indexOf(paramName); - Object value = values.get(index); - - if (isInlineType(types.get(index))) return true; - - if (value == null) return true; - - if (value instanceof Boolean) return true; - - return false; - } - - /** - * Returns true if the specified parameter denotes a type - * whose values should be inlined by the query optimizer if a query - * parameter s is declared with such a type. - */ - private boolean isInlineType(Object type) - { - // Check for types that are supported by JDBC, such that the - // parameter can be mapped to a JDBC parameter, these are: - // - String - // - primitive types (int, float, etc.) - // - wrapper class types (Integer, Float, etc.) - // - BigDecimal, BigInteger - // - Date class types - // All other types including pc classes, java.lang.Object, etc. - // should be inlined. - if ((type instanceof StringType) || - (type instanceof PrimitiveType) || - (type instanceof WrapperClassType) || - (type instanceof MathType) || - (type instanceof DateType)) - return false; - return true; - } - - /** - * Returns the parameter index for the specified parameter name. - * @deprecated - */ - public Integer getIndexForParamName(String paramName) - { - return new Integer(names.indexOf(paramName)); - } - - /** - * Returns the parameter info for the specified parameter name. - * @param paramName - * @return corresponding parameterInfo - */ - public ParameterInfo getParameterInfoForParamName(String paramName) - { - return getParameterInfoForParamName(paramName, null); - } - - /** - * Returns the parameter info for the specified parameter name - * and associated field. - * If the associated field is not known, then null is used as - * input parameter. - * @param paramName - * @param associatedField - * @return corresponding parameterInfo - */ - public ParameterInfo getParameterInfoForParamName(String paramName, - String associatedField) - { - int index = names.indexOf(paramName); - Type type = (Type)types.get(index); - return new ParameterInfo(index, type.getEnumType(), associatedField); - } - - /** - * - */ - private void defineValueByName(String name, Object value) - { - int index = names.indexOf(name); - if (index == -1) - throw new JDOQueryException( - I18NHelper.getMessage(messages, "jqlc.parametertable.definevaluebyname.undefinedparam", name)); //NOI18N - defineValueByIndex(index, value); - } - - /** - * - */ - private void defineValueByIndex(int index, Object value) - { - // index < 0 => implementation error - if (index < 0) - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, - "jqlc.parametertable.definevaluebyindex.wrongindex", //NOI18N - String.valueOf(index))); - - // index > type.size => too many actual parameters - if (index >= types.size()) - throw new JDOQueryException( - I18NHelper.getMessage(messages, "jqlc.parametertable.definevaluebyindex.wrongnumberofargs")); //NOI18N - - // check type compatibility of actual and formal parameter - Class formalType = ((Type)types.get(index)).getJavaClass(); - if (!isCompatibleValue(formalType, value)) - { - String actualTypeName = ((value==null) ? "" : value.getClass().getName()); - throw new JDOQueryException( - I18NHelper.getMessage(messages, "jqlc.parametertable.definevaluebyindex.typemismatch", //NOI18N - actualTypeName, formalType.getName())); - } - - // everything is ok => set the actual parameters's value - values.set(index, value); - } - - /** - * Checks whether the type of the specified value is compatible with the - * specified formal type. - * @param name the formal type. - * @param the value to be checked - * @return true if the type of the value is compatible with the - * formal type; false otherwise. - */ - private boolean isCompatibleValue(Class formalType, Object value) - { - boolean isCompatible = true; - - // handle value == null - if (value == null) { - isCompatible = !formalType.isPrimitive(); - } - else { - Class actualType = value.getClass(); - if (formalType.isPrimitive()) - formalType = JavaTypeHelper.getWrapperClass(formalType); - - isCompatible = formalType.isAssignableFrom(actualType); - } - return isCompatible; - } - -} - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/QueryValueFetcher.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/QueryValueFetcher.java deleted file mode 100644 index c0da42eeb78..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/QueryValueFetcher.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * QueryValueFetcher.java - * - * Created on March 15, 2002 - * @author Daniel Tonn - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - -import java.util.ResourceBundle; - -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.spi.persistence.support.sqlstore.ValueFetcher; -import org.glassfish.persistence.common.I18NHelper; - -/** - * Class wrapping the actual query parameters to make them - * accessible through the ValueFetcher interface. - */ -public class QueryValueFetcher implements ValueFetcher -{ - /** I18N support */ - protected final static ResourceBundle messages = - I18NHelper.loadBundle(QueryValueFetcher.class); - - /** The actual parameter values. */ - private Object[] parameters; - - /** - * Constructor. - * @param parameters the actual parameter values. - */ - public QueryValueFetcher(Object[] parameters) - { - this.parameters = parameters; - } - - /** - * Returns the parameter value for the specified parameter index - * @param whichOne the parameter index - * @return the parameter value - */ - public Object getValue(int whichOne) - { - if (parameters == null || whichOne >= parameters.length) - { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jqlc.queryvaluefetcher.getvalue.invalidparam", //NOI18N - String.valueOf(whichOne), - String.valueOf((parameters == null) ? 0 : parameters.length))); - } - return parameters[whichOne]; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/VariableTable.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/VariableTable.java deleted file mode 100644 index afbceb1e6f6..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/jqlc/VariableTable.java +++ /dev/null @@ -1,327 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * VariableTable.java - * - * Created on April 12, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.jqlc; - -import java.util.*; - -import org.glassfish.persistence.common.I18NHelper; - -import com.sun.jdo.api.persistence.support.JDOQueryException; -import com.sun.jdo.api.persistence.support.JDOUnsupportedOptionException; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; - -/** - * The variable table - * - * @author Michael Bouschen - * @version 0.1 - */ -public class VariableTable -{ - /** - * I18N support - */ - protected final static ResourceBundle messages = - I18NHelper.loadBundle(VariableTable.class); - - /** - * A VarInfo consists of two info fields: - * - constraint: the variable is constraint with the specified expr - * - used: the variable is used - */ - static class VarInfo - { - /** - * The constraint expression. - */ - JQLAST constraint; - - /** - * Set of JQLAST nodes denoting an access of this variable. - */ - Set used; - - /** - * Dependency for this variable. - * The constraint for this variable may use another variable. - */ - String dependsOn; - - /** - * Flag whether this varInfo is checked already (see checkConstraints) - */ - int status; - - static final int UNCHECKED = 0; - static final int IN_PROGRESS = 1; - static final int CHECKED = 2; - - VarInfo() - { - this.constraint = null; - this.used = new HashSet(); - this.dependsOn = null; - this.status = UNCHECKED; - } - - VarInfo(VarInfo other) - { - this.constraint = other.constraint; - this.used = new HashSet(other.used); - this.dependsOn = other.dependsOn; - this.status = other.status; - } - } - - /** */ - private ErrorMsg errorMsg; - - /** List of names of declared variables. */ - private List declaredVars; - - /** Map of variable infos. */ - private Map varInfos; - - /** - * Create an empty variable table - */ - public VariableTable(ErrorMsg errorMsg) - { - this.errorMsg = errorMsg; - declaredVars = new ArrayList(); - varInfos = new HashMap(); - } - - /** - * Create a variable table initialized with the entries of the other variable table. - * The constructor creates copies of the values stored in the map (instances of class VarInfo). - */ - public VariableTable(VariableTable other) - { - errorMsg = other.errorMsg; - declaredVars = other.declaredVars; - varInfos = new HashMap(); - for (Iterator i = other.varInfos.entrySet().iterator(); i.hasNext();) - { - Map.Entry entry = (Map.Entry)i.next(); - varInfos.put(entry.getKey(), new VarInfo((VarInfo)entry.getValue())); - } - } - - /** - * Creates a new entry in the variable table with the specified name as key and - * an empty value. - */ - public void add(String name) - { - declaredVars.add(name); - // init var entry as not constraint and unused - varInfos.put(name, new VarInfo()); - } - - /** - * Mark the specified variable as used. - * The method sets the info field of the VarInfo object to true. - */ - public void markUsed(JQLAST variable, String dependendVar) - { - String name = variable.getText(); - VarInfo entry = (VarInfo)varInfos.get(name); - if (entry == null) - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "jqlc.variabletable.markused.varnotfound", //NOI18N - name)); - entry.used.add(variable); - if (dependendVar != null) - { - VarInfo dependendVarInfo = (VarInfo)varInfos.get(dependendVar); - if (dependendVarInfo.dependsOn != null) - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, - "jqlc.variabletable.markused.multidep", //NOI18N - dependendVar, dependendVarInfo.dependsOn, name)); - dependendVarInfo.dependsOn = name; - } - } - - /** - * Mark the specified variable as constaint with the specified expr. - * The method sets the constraint field of the VarInfo object to true. - */ - public void markConstraint(JQLAST variable, JQLAST expr) - { - String name = variable.getText(); - VarInfo entry = (VarInfo)varInfos.get(name); - if (entry == null) - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, - "jqlc.variabletable.markconstraint.varnotfound", //NOI18N - name)); - String old = (entry.constraint==null ? null : entry.constraint.getText()); - if ((old != null) && !old.equals(expr.getText())) - { - errorMsg.unsupported(variable.getLine(), variable.getColumn(), - I18NHelper.getMessage(messages, "jqlc.variabletable.markconstraint.multiple", //NOI18N - name)); - } - entry.constraint = expr; - } - - /** - * Merges the specified variable table (other) into this variable table. - */ - public void merge(VariableTable other) - { - for (Iterator i = declaredVars.iterator(); i.hasNext();) - { - String name = (String)i.next(); - VarInfo info = (VarInfo)varInfos.get(name); - VarInfo otherInfo = (VarInfo)other.varInfos.get(name); - - // copy other info if this info is empty - if ((info.constraint == null) && (info.used.size() == 0)) - { - info.constraint = otherInfo.constraint; - info.used = otherInfo.used; - info.dependsOn = otherInfo.dependsOn; - info.status = otherInfo.status; - continue; - } - - // do nothing if otherInfo is empty - if ((otherInfo.constraint == null) && (otherInfo.used.size() == 0)) - { - continue; - } - - // constraint check - // If both variables tables include constraints they have to be the same - if ((info.constraint != null) && (otherInfo.constraint != null)) - { - if (!otherInfo.constraint.getText().equals(info.constraint.getText())) - { - throw new JDOUnsupportedOptionException( - I18NHelper.getMessage(messages, "jqlc.variabletable.merge.different", name)); //NOI18N - } - } - // If at least one variable table does not define constraint, - // nullify the constaint in this variable table - else - { - info.constraint = null; - info.dependsOn = null; - info.status = VarInfo.UNCHECKED; - } - - // copy otherInfo.used to this used list - info.used.addAll(otherInfo.used); - } - } - - /** - * - */ - public void checkConstraints() - { - // iterate declaredVars to check the variables in the order they are declared - for (Iterator i = declaredVars.iterator(); i.hasNext();) - { - String name = (String)i.next(); - VarInfo info = (VarInfo)varInfos.get(name); - checkConstraint(name, info); - } - } - - protected void checkConstraint(String variable, VarInfo info) - { - switch (info.status) - { - case VarInfo.UNCHECKED: - // if unchecked, start checking - info.status = VarInfo.IN_PROGRESS; - break; - case VarInfo.IN_PROGRESS: - // if this VarInfo is currently processed we have a cyclic dependency - throw new JDOUnsupportedOptionException( - I18NHelper.getMessage(messages, "jqlc.variabletable.checkconstraint.cycle", // NOI18N - variable)); - case VarInfo.CHECKED: - // if alreday checked just return - return; - } - - if (info.dependsOn != null) - { - VarInfo dependendVarInfo = (VarInfo)varInfos.get(info.dependsOn); - checkConstraint(info.dependsOn, dependendVarInfo); - } - - if ((info.constraint != null) && (info.used.size() == 0)) - { - throw new JDOUnsupportedOptionException( - I18NHelper.getMessage(messages, "jqlc.variabletable.checkconstraint.unused", //NOI18N - variable)); - } - - attachConstraintToUsedAST(info); - info.status = VarInfo.CHECKED; - } - - /** - * - */ - protected void attachConstraintToUsedAST(VarInfo info) - { - for (Iterator i = info.used.iterator(); i.hasNext();) - { - JQLAST varNode = (JQLAST)i.next(); - if (varNode.getFirstChild() == null) - varNode.setFirstChild(JQLAST.Factory.getInstance().dupTree(info.constraint)); - } - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle.properties deleted file mode 100644 index 12fde84f746..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Bundle.properties +++ /dev/null @@ -1,52 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase - -scope.classname.getname.name=type name -scope.parameter.getname.name=parameter -scope.variable.getname.name=variable -scope.field.getname.name=field diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Definition.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Definition.java deleted file mode 100644 index e67c2a18ab9..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Definition.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * Definition.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope; - -import java.util.ResourceBundle; - -import org.glassfish.persistence.common.I18NHelper; - -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type; - -/** - * Super class of all possible identifier definitions - * - * @author Michael Bouschen - * @version 0.1 - */ -public abstract class Definition -{ - /** - * I18N support - */ - protected final static ResourceBundle messages = - I18NHelper.loadBundle(Definition.class); - - /** - * Scope level of the definition - */ - protected int scope; - - /** - * Type of the identifier - */ - protected Type type; - - /** - * Creates a new definition. - * A definition contains at least the type of the identifier. - * @param type type of the declared identifier - */ - public Definition (Type type) - { - this.type = type; - } - - /** - * Set the scope of the identifier's definition. - */ - public void setScope(int scope) - { - this.scope = scope; - } - - /** - * Returns the scope of the identifier's definition. - */ - public int getScope() - { - return scope; - } - - /** - * Returns the type of the identifiers's definition. - */ - public Type getType() - { - return type; - } - - /** - * Returns the name of the definition. - */ - public abstract String getName(); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Field.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Field.java deleted file mode 100644 index d1848fa8594..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Field.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * Field.java - * - * Created on March 21, 2001 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope; - -import org.glassfish.persistence.common.I18NHelper; - -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.FieldInfo; - -/** - * An object of class Field is used if an identifier - * denotes a field. - * - * @author Michael Bouschen - * @version 0.1 - */ -public class Field - extends Definition -{ - /** - * The corresponding field info. - */ - protected FieldInfo fieldInfo; - - /** - * - */ - public Field(FieldInfo fieldInfo) - { - super(fieldInfo.getType()); - this.fieldInfo = fieldInfo; - } - - /** - * - */ - public String getName() - { - return I18NHelper.getMessage(messages, "scope.field.getname.name"); //NOI18N - } - - /** - * Returns the corresponding field info. - */ - public FieldInfo getFieldInfo() - { - return fieldInfo; - } - - /** - * - */ - public String toString() - { - StringBuilder buf = new StringBuilder(); - buf.append("Field("); //NOI18N - buf.append(scope); - buf.append(", "); //NOI18N - buf.append(type); - buf.append(")"); //NOI18N - return buf.toString(); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Nesting.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Nesting.java deleted file mode 100644 index afec8d56a54..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Nesting.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * Nesting.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -/** - * This class is used to handle the hidden definition - * of an identifier. If an identifier is declared its old - * definition is hidden and stored in the actual nesting. - * - * @author Michael Bouschen - * @version 0.1 - */ -public class Nesting -{ - /** - * List of idents with hidden definitions in the actual scope. - */ - protected List idents; - - /** - * List of hidden definitions; each definition in this list - * corresponds to an identifier of the list idents. - */ - protected List hiddenDefs; - - /** - * Creates an new nesting. - */ - public Nesting() - { - this.idents = new ArrayList(); - this.hiddenDefs = new ArrayList(); - } - - /** - * Adds a hidden definition to this. - * @param ident name of the identifier - * @param hidden the hidden definition of ident - */ - public void add(String ident, Definition hidden) - { - idents.add(ident); - hiddenDefs.add(hidden); - } - - /** - * Returns an enumeration of idents with hidden definitions. - */ - public Iterator getIdents() - { - return idents.iterator(); - } - - /** - * Returns an enumeration of hidden definitions. - */ - public Iterator getHiddenDefinitions() - { - return hiddenDefs.iterator(); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Parameter.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Parameter.java deleted file mode 100644 index 9291ce5e71e..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Parameter.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * Parameter.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope; - -import org.glassfish.persistence.common.I18NHelper; - -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type; - -/** - * An object of class Parameter is used if an identifier - * is declared as variable. - * - * @author Michael Bouschen - * @version 0.1 - */ -public class Parameter - extends Definition -{ - /** - * - */ - public Parameter(Type type) - { - super(type); - } - - /** - * - */ - public String getName() - { - return I18NHelper.getMessage(messages, "scope.parameter.getname.name"); //NOI18N - } - - /** - * - */ - public String toString() - { - StringBuilder buf = new StringBuilder(); - buf.append("Parameter("); //NOI18N - buf.append(scope); - buf.append(", "); //NOI18N - buf.append(type); - buf.append(")"); //NOI18N - return buf.toString(); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/SymbolTable.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/SymbolTable.java deleted file mode 100644 index aa642a659b7..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/SymbolTable.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SymbolTable.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope; - -import java.util.Hashtable; -import java.util.Iterator; -import java.util.Stack; - -/** - * The symbol table handling declared identifies. - * - * @author Michael Bouschen - * @version 0.1 - */ -public class SymbolTable -{ - /** - * The actual scope level. - */ - protected int actualScope = 0; - - /** - * Stack of old definitions. - */ - protected Stack nestings = new Stack(); - - /** - * The table of declared identifier (symbols). - */ - protected Hashtable symbols = new Hashtable(); - - /** - * Opens a new scope. - * Prepare everything to handle old definitions when - * a identifier declaration is hidden. - */ - public void enterScope() - { - actualScope++; - nestings.push(new Nesting()); - } - - /** - * Closes the actual scope. - * Hidden definitions are reinstalled. - */ - public void leaveScope() - { - forgetNesting((Nesting)nestings.pop()); - actualScope--; - } - - /** - * Returns the level of the actual scope. - * @return actual scope level. - */ - public int getActualScope() - { - return actualScope; - } - - /** - * Add identifier to the actual scope. - * If the identifier was already declared in the actual - * scope the symbol table is NOT changed and the old definition - * is returned. Otherwise a possible definition of a lower - * level scope is saved in the actual nesting and the new definition - * is stored in the symbol table. This allows to reinstall the old - * definition when the sctaul scope is closed. - * @param ident identifier to be declared - * @param def new definition of identifier - * @return the old definition if the identifier was already declared - * in the actual scope; null otherwise - */ - public Definition declare(String ident, Definition def) - { - Definition old = (Definition)symbols.get(ident); - def.setScope(actualScope); - if ((old == null) || (old.getScope() < actualScope)) - { - Nesting nest = (Nesting)nestings.peek(); - nest.add(ident, old); // save old definition in nesting - symbols.put(ident, def); // install new definition as actual definition - return null; - } - else - { - return old; - } - } - - /** - * Checks whether the specified identifier is declared. - * @param ident the name of identifier to be tested - * @return true if the identifier is declared; - * false otherwise. - */ - public boolean isDeclared(String ident) - { - return (getDefinition(ident) != null); - } - - /** - * Checks the symbol table for the actual definition - * of the specified identifier. If the identifier is - * declared the definition is returned, otherwise null. - * @param ident the name of identifier - * @return the actual definition of ident is declared; - * null otherise. - */ - public Definition getDefinition(String ident) - { - return (Definition)symbols.get(ident); - } - - /** - * Internal method to reinstall the old definitions. - * The method is called when a scope is closed. - * For all identifier that were declared in the - * closed scope their former definition (that was hidden) - * is reinstalled. - * @param nesting list of hidden definitions - */ - protected void forgetNesting(Nesting nesting) - { - String ident = null; - Definition hidden = null; - - Iterator idents = nesting.getIdents(); - Iterator hiddenDefs = nesting.getHiddenDefinitions(); - - while (idents.hasNext()) - { - ident = (String) idents.next(); - hidden = (Definition) hiddenDefs.next(); - if (hidden == null) - { - symbols.remove(ident); - } - else - { - symbols.put(ident, hidden); - } - } - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/TypeName.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/TypeName.java deleted file mode 100644 index 7d90122e9be..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/TypeName.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * TypeName.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope; - -import org.glassfish.persistence.common.I18NHelper; - -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type; - -/** - * An object of class TypeName is used if an identifier - * is declared as class name (using an import statement). - * - * @author Michael Bouschen - * @version 0.1 - */ -public class TypeName - extends Definition -{ - /** - * The full qualified name of the class. - */ - protected String qualifiedName; - - /** - * - */ - public TypeName(Type type, String qualifiedName) - { - super(type); - this.qualifiedName = qualifiedName; - } - - /** - * - */ - public String getName() - { - return I18NHelper.getMessage(messages, "scope.classname.getname.name"); //NOI18N - } - - /** - * - */ - public String getQualifiedName() - { - return qualifiedName; - } - - /** - * - */ - public String toString() - { - StringBuilder buf = new StringBuilder(); - buf.append("TypeName("); //NOI18N - buf.append(scope); - buf.append(", "); //NOI18N - buf.append(type); - buf.append(", "); //NOI18N - buf.append(qualifiedName); - buf.append(")"); //NOI18N - return buf.toString(); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Variable.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Variable.java deleted file mode 100644 index 907d1835c0f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/scope/Variable.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * Variable.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.scope; - -import org.glassfish.persistence.common.I18NHelper; - -import com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type; - -/** - * An object of class Variable is used if an identifier - * is declared as variable. - * - * @author Michael Bouschen - * @version 0.1 - */ -public class Variable - extends Definition -{ - /** - * - */ - public Variable(Type type) - { - super(type); - } - - /** - * - */ - public String getName() - { - return I18NHelper.getMessage(messages, "scope.variable.getname.name"); //NOI18N - } - - /** - * - */ - public String toString() - { - StringBuilder buf = new StringBuilder(); - buf.append("Variable("); //NOI18N - buf.append(scope); - buf.append(", "); //NOI18N - buf.append(type); - buf.append(")"); //NOI18N - return buf.toString(); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/BooleanType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/BooleanType.java deleted file mode 100644 index 044b40a9e02..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/BooleanType.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * BooleanType.java - * - * Created on April 5, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; - -/** - * This class represents the type boolean - * - * @author Michael Bouschen - * @version 0.1 - */ -public class BooleanType - extends PrimitiveType -{ - /** - * - */ - public BooleanType() - { - super("boolean", boolean.class, FieldTypeEnumeration.BOOLEAN_PRIMITIVE); //NOI18N - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/ClassType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/ClassType.java deleted file mode 100644 index 79363769925..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/ClassType.java +++ /dev/null @@ -1,251 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ClassType.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -import java.util.Map; -import java.util.HashMap; -import java.util.List; -import java.util.ArrayList; - -import java.lang.reflect.Field; -import java.security.AccessController; -import java.security.PrivilegedAction; - -import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; -import com.sun.jdo.api.persistence.support.JDOFatalUserException; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.api.persistence.model.jdo.PersistenceClassElement; -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; - -/** - * - * @author Michael Bouschen - * @version 0.1 - */ -public class ClassType - extends Type -{ - /** - * The associated type table. - */ - protected TypeTable typetab; - - /** - * - */ - protected Map fieldInfos; - - /** - * - */ - protected PersistenceClassElement pce; - - /** - * - */ - public ClassType(String name, Class clazz, int enumType, TypeTable typetab) - { - super(name, clazz, enumType); - this.typetab = typetab; - this.fieldInfos = new HashMap(); - // get JDO model element if available - ClassLoader classLoader = clazz.getClassLoader(); - if (classLoader != null) - { - try - { - this.pce = typetab.model.getPersistenceClass(name, classLoader); - } - catch (IllegalArgumentException ex) - { - // IllegalArgumentException indicates class loader problem - throw new JDOFatalUserException(ex.getMessage()); - } - } - } - - /** - * - */ - public ClassType(String name, Class clazz, TypeTable typetab) - { - this(name, clazz, FieldTypeEnumeration.NOT_ENUMERATED, typetab); - } - - /** - * Checks the compatibility of this with the specified type. - * A ClassType object is compatible to - * errorType, to the type of null (NullType), to itself - * and to a super class (direct or indirect). - * @param type type for compatibility check - * @return true if this is compatible with type; - * false otherwise. - * @see Type#isCompatibleWith(Type) - */ - public boolean isCompatibleWith(Type type) - { - boolean result = false; - if (type instanceof ClassType) - { - result = ((ClassType)type).clazz.isAssignableFrom(clazz); - } - return result; - } - - /** - * Returns whether this represents a type with an - * defined order. - * @return true if an order is defined for this; - * false otherwise. - */ - public boolean isOrderable() - { - Type comparable = typetab.checkType("java.lang.Comparable"); //NOI18N - return isCompatibleWith(comparable); - } - - /** - * Returns true if this is defined as persistence capable class. - * @return true if this is a persistence capable class; - * false otherwise. - */ - public boolean isPersistenceCapable() - { - return (pce != null); - } - - // -------------------- - // Field handling - // -------------------- - - /** - * Returns an array of fieldInfos for all declared fields. - */ - public FieldInfo[] getFieldInfos() - { - // Initialize the fieldInfos map with the field declared for this class. - // NOTE, this code does not work for inheritance! - //Field[] fields = clazz.getDeclaredFields(); - - final Class cl = clazz; - - Field[] fields = (Field[]) AccessController.doPrivileged(new PrivilegedAction() { - public Object run () { - return cl.getDeclaredFields(); - } - }); - - synchronized(fieldInfos) { - for (int i = 0; i < fields.length; i++) - { - String fieldName = fields[i].getName(); - FieldInfo fieldInfo = (FieldInfo)fieldInfos.get(fieldName); - if (fieldInfo == null) - fieldInfos.put(fieldName, new FieldInfo(fields[i], this)); - } - } - return (FieldInfo[])fieldInfos.values().toArray(new FieldInfo[0]); - } - - /** - * Return FieldInfo object for the field with the specified name. - */ - public FieldInfo getFieldInfo(final String fieldName) - { - synchronized(fieldInfos) { - FieldInfo fieldInfo = (FieldInfo)fieldInfos.get(fieldName); - if (fieldInfo == null) - { - // NOTE, no inheritance! - final Class cl = clazz; - Field field = (Field) AccessController.doPrivileged(new PrivilegedAction() - { - public Object run () - { - try - { - return cl.getDeclaredField(fieldName); - } - catch (NoSuchFieldException ex) - { - return null; // do nothing, just return null - } - } - }); - - if (field != null) - { - fieldInfo = new FieldInfo(field, this); - fieldInfos.put(fieldName, fieldInfo); - } - } - return fieldInfo; - } - } - - /** - * Return the list of key field names - */ - public List getKeyFieldNames() - { - if (pce != null) - { - PersistenceFieldElement[] persistentFields = pce.getFields(); - List names = new ArrayList(); - for (int i = 0; i < persistentFields.length; i++) - { - if (persistentFields[i].isKey()) - names.add(persistentFields[i].getName()); - } - return names; - } - return null; - } - -} - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/DateType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/DateType.java deleted file mode 100644 index c7c14ccaa7c..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/DateType.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * DateType.java - * - * Created on April 14, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -/** - * Instances of this type represent the types java.util.Date, - * java.sql.Date, java.sql.Time or java.sql.Timestamp. - * - * @author Michael Bouschen - */ -public class DateType - extends ClassType -{ - /** - * - */ - public DateType(String name, Class clazz, int enumType, TypeTable typetab) - { - super(name, clazz, enumType, typetab); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/ErrorType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/ErrorType.java deleted file mode 100644 index 87dc005f98a..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/ErrorType.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ErrorType.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -/** - * This class represents the internal error type used during semantic analysis. - * - * @author Michael Bouschen - * @version 0.1 - */ -public class ErrorType - extends Type -{ - /** - * - */ - ErrorType() - { - super("jdoErrorType", void.class); //NOI18N - } - - /** - * - */ - public boolean isCompatibleWith(Type type) - { - return true; - } - - /** - * - */ - public boolean isOrderable() - { - return true; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/FieldInfo.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/FieldInfo.java deleted file mode 100644 index b9e630a3a43..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/FieldInfo.java +++ /dev/null @@ -1,211 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * FieldInfo.java - * - * Created on May 2, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; -import java.util.ResourceBundle; - -import com.sun.jdo.api.persistence.model.jdo.PersistenceFieldElement; -import com.sun.jdo.api.persistence.model.jdo.RelationshipElement; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - */ -public class FieldInfo -{ - /** - * The name of the field. - */ - protected String name; - - /** - * The corresponding classType object. - */ - protected ClassType classType; - - /** - * The reflection representation of the field. - */ - protected Field field; - - /** - * JDO model representation - */ - protected PersistenceFieldElement pfe; - - /** - * I18N support - */ - protected final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.query.Bundle", // NOI18N - FieldInfo.class.getClassLoader()); - - /** - * - */ - public FieldInfo (Field field, ClassType classType) - { - this.name = field.getName(); - this.classType = classType; - this.field = field; - this.pfe = (classType.pce != null) ? classType.pce.getField(this.name) : null; - } - - /** - * Checks whether this field is defined as persistent field. - * @return true if the field is defined as persistent; - * false otherwise. - */ - public boolean isPersistent() - { - if (pfe != null) - { - return pfe.getPersistenceType() == PersistenceFieldElement.PERSISTENT; - } - return false; - } - - /** - * Checks whether this field is defined with the public modifier. - * @return true if the field is defined as public; - * false otherwise. - */ - public boolean isPublic() - { - return (field != null) && Modifier.isPublic(field.getModifiers()); - } - /** - * Checks whether this field is defined with the static modifier. - * @return true if the field is defined as static; - * false otherwise. - */ - public boolean isStatic() - { - return (field != null) && Modifier.isStatic(field.getModifiers()); - } - - /** - * - */ - public Field getField () - { - return field; - } - - /** - * - */ - public String getName () - { - return name; - } - - /** - * Returns the Type representation of the type of the field. - * @return field type - */ - public Type getType() - { - if (field == null) - return classType.typetab.errorType; - - Type ret = classType.typetab.checkType(field.getType()); - if (ret == null) - ret = classType.typetab.errorType; - return ret; - - } - - /** - * Return the field number in the case of a field of a persistence capable class. - */ - public int getFieldNumber() - { - if (pfe != null) - { - int index = pfe.getFieldNumber(); - if (index < 0) - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "query.util.type.fieldinfo.getfieldnumber.invalidfieldno", //NO18N - String.valueOf(index), name)); - return index; - } - else - { - throw new JDOFatalInternalException(I18NHelper.getMessage( - messages, "query.util.type.fieldinfo.getfieldnumber.missingfieldelement", //NO18N - name)); - } - } - - /** - * @return true if the field is a relationship field - */ - public boolean isRelationship() - { - return ((pfe != null) && (pfe instanceof RelationshipElement)); - } - - /** - * @return the associated class (meaning the "other side") of the relationship; - * or null if this does not denote a relationship field. - */ - public Type getAssociatedClass() - { - Type associatedClass = null; - if ((pfe != null) && (pfe instanceof RelationshipElement)) - { - String className = ((RelationshipElement)pfe).getElementClass(); - associatedClass = classType.typetab.checkType(className); - } - return associatedClass; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/FloatingPointType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/FloatingPointType.java deleted file mode 100644 index 32da6b4f297..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/FloatingPointType.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * FloatingPointType.java - * - * Created on April 5, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -/** - * This class represents the types float and double. - * - * @author Michael Bouschen - * @version 0.1 - */ -public class FloatingPointType - extends NumericType -{ - /** - * - */ - public FloatingPointType(String name, Class clazz, int enumType) - { - super(name, clazz, enumType); - } - - /** - * Converts the specified value into a value of this numeric type. - * E.g. an Integer is converted into a Double, if this represents - * the numeric type double. - * @param value value to be converted - * @return converted value - */ - public Number getValue(Number value) - { - Number ret = null; - - if (value == null) - ret = null; - else if ("double".equals(getName())) - ret = new Double(value.doubleValue()); - else if ("float".equals(getName())) - ret = new Float(value.floatValue()); - - return ret; - } - - /** - * Returns -value. - * @param value value to be negated - * @return -value - */ - public Number negate(Number value) - { - Number ret = null; - - if (value == null) - ret = null; - else if ("double".equals(getName())) - ret = new Double(-value.doubleValue()); - else if ("float".equals(getName())) - ret = new Float(-value.floatValue()); - - return ret; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/IntegralType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/IntegralType.java deleted file mode 100644 index 296a5f8af3f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/IntegralType.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * NumericType.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -/** - * This class represents the types - * byte, short int, long and char - * - * @author Michael Bouschen - * @version 0.1 - */ -public class IntegralType - extends NumericType -{ - /** - * - */ - public IntegralType(String name, Class clazz, int enumType) - { - super(name, clazz, enumType); - } - - /** - * Converts the specified value into a value of this numeric type. - * E.g. an Integer is converted into a Long, if this represents - * the numeric type long. - * @param value value to be converted - * @return converted value - */ - public Number getValue(Number value) - { - Number ret = null; - - if (value == null) - ret = null; - else if ("int".equals(getName())) - ret = new Integer(value.intValue()); - else if ("long".equals(getName())) - ret = new Long(value.longValue()); - else if ("byte".equals(getName())) - ret = new Byte(value.byteValue()); - else if ("short".equals(getName())) - ret = new Short(value.shortValue()); - - return ret; - } - - /** - * Returns -value. - * @param value value to be negated - * @return -value - */ - public Number negate(Number value) - { - Number ret = null; - - if (value == null) - ret = null; - else if ("int".equals(getName())) - ret = new Integer(-value.intValue()); - else if ("long".equals(getName())) - ret = new Long(-value.longValue()); - else if ("byte".equals(getName())) - ret = new Byte((byte)-value.byteValue()); - else if ("short".equals(getName())) - ret = new Short((short)-value.shortValue()); - - return ret; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/MathType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/MathType.java deleted file mode 100644 index 2ea97e60f5e..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/MathType.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MathType.java - * - * Created on August 24, 2001 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -import java.math.BigDecimal; -import java.math.BigInteger; - -/** - * This class represents the types java.math.BigDecimal and java.math.BigInteger. - * - * - * @author Michael Bouschen - * @version 0.1 - */ -public class MathType - extends ClassType - implements NumberType -{ - /** - * - */ - public MathType(String name, Class clazz, int enumType, TypeTable typetab) - { - super(name, clazz, enumType, typetab); - } - - /** - * A numeric wrapper class type defines an ordering. - */ - public boolean isOrderable() - { - return true; - } - - /** - * Converts the specified value into a value of this numeric type. - * E.g. an Integer is converted into a BigDecimal, if this represents - * the type BigDecimal. - * @param value value to be converted - * @return converted value - */ - public Number getValue(Number value) - { - Number ret = null; - - if (value == null) - ret = null; - else if ("java.math.BigDecimal".equals(getName())) - { - if (value instanceof BigDecimal) - ret = value; - else if (value instanceof BigInteger) - ret = new BigDecimal((BigInteger)value); - else if (value instanceof Double) - ret = new BigDecimal(((Double)value).toString()); - else if (value instanceof Float) - ret = new BigDecimal(((Float)value).toString()); - else if (value instanceof Number) - ret = BigDecimal.valueOf(((Number)value).longValue()); - } - else if ("java.math.BigInteger".equals(getName())) - { - if (value instanceof BigInteger) - ret = value; - else if (value instanceof Double) - ret = (new BigDecimal(((Double)value).toString())).toBigInteger(); - else if (value instanceof Float) - ret = (new BigDecimal(((Float)value).toString())).toBigInteger(); - else if (value instanceof Number) - ret = BigInteger.valueOf(((Number)value).longValue()); - } - - return ret; - } - - /** - * Returns -value. - * @param value value to be negated - * @return -value - */ - public Number negate(Number value) - { - Number ret = null; - - if (value == null) - ret = null; - else if ("java.math.BigDecimal".equals(getName())) - { - if (value instanceof BigDecimal) - ret = ((BigDecimal)value).negate(); - else if (value instanceof BigInteger) - ret = new BigDecimal(((BigInteger)value).negate()); - else if (value instanceof Double) - ret = (new BigDecimal(((Double)value).toString())).negate(); - else if (value instanceof Float) - ret = (new BigDecimal(((Float)value).toString())).negate(); - else if (value instanceof Number) - ret = BigDecimal.valueOf(-((Number)value).longValue()); - } - else if ("java.math.BigInteger".equals(getName())) - { - if (value instanceof BigInteger) - ret = ((BigInteger)value).negate(); - else if (value instanceof Double) - ret = (new BigDecimal(((Double)value).toString())).negate().toBigInteger(); - else if (value instanceof Float) - ret = (new BigDecimal(((Float)value).toString())).negate().toBigInteger(); - else if (value instanceof Number) - ret = BigInteger.valueOf(-((Number)value).longValue()); - } - - return ret; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NullType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NullType.java deleted file mode 100644 index 2ad75ee8333..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NullType.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * NullType.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -/** - * This class represents the type of null. - * - * @author Michael Bouschen - * @version 0.1 - */ -public class NullType - extends Type -{ - /** - * - */ - NullType() - { - super("null", void.class); //NOI18N - } - - /** - * An NullType object is compatible to - * - the errorType object - * - an object of type NullType (to itself) - * - an object of type ClassType - */ - public boolean isCompatibleWith(Type type) - { - return (type.equals(TypeTable.errorType) || - (type instanceof NullType) || - (type instanceof ClassType)); - } - - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumberType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumberType.java deleted file mode 100644 index 22f0bbd8621..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumberType.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * NumberType.java - * - * Created on August 24, 2001 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -/** - * This class is the super class for all integral and floating point types. - * - * @author Michael Bouschen - * @version 0.1 - */ -public interface NumberType -{ - /** - * Converts the specified value into a value of this numeric type. - * E.g. an Integer is converted into a Double, if this represents - * the numeric type double. - * @param value value to be converted - * @return converted value - */ - public Number getValue(Number value); - - /** - * Returns -value. - * @param value value to be negated - * @return -value - */ - public Number negate(Number value); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumericType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumericType.java deleted file mode 100644 index d9714409019..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumericType.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * NumericType.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -/** - * This class is the super class for all integral and floating point types. - * - * @author Michael Bouschen - * @version 0.1 - */ -public abstract class NumericType - extends PrimitiveType - implements NumberType -{ - /** - * - */ - public NumericType(String name, Class clazz, int enumType) - { - super(name, clazz, enumType); - } - - /** - * A numeric type defines an ordering. - */ - public boolean isOrderable() - { - return true; - } - - /** - * Converts the specified value into a value of this numeric type. - * E.g. an Integer is converted into a Double, if this represents - * the numeric type double. - * @param value value to be converted - * @return converted value - */ - public abstract Number getValue(Number value); - - /** - * Returns -value. - * @param value value to be negated - * @return -value - */ - public abstract Number negate(Number value); - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumericWrapperClassType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumericWrapperClassType.java deleted file mode 100644 index 4fa45f767a4..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/NumericWrapperClassType.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * NumericWrapperClassType.java - * - * Created on April 14, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -/** - * - * @author Michael Bouschen - * @version 0.1 - */ -public class NumericWrapperClassType - extends WrapperClassType - implements NumberType -{ - /** - * - */ - public NumericWrapperClassType(String name, Class clazz, int enumType, - PrimitiveType primitiveType, TypeTable typetab) - { - super(name, clazz, enumType, primitiveType, typetab); - } - - /** - * A numeric wrapper class type defines an ordering. - */ - public boolean isOrderable() - { - return true; - } - - /** - * Converts the specified value into a value of this numeric type. - * E.g. an Integer is converted into a Double, if this represents - * the numeric type double. - * @param value value to be converted - * @return converted value - */ - public Number getValue(Number value) - { - return ((NumericType)primitiveType).getValue(value); - } - - /** - * Returns -value. - * @param value value to be negated - * @return -value - */ - public Number negate(Number value) - { - return ((NumericType)primitiveType).negate(value); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/PrimitiveType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/PrimitiveType.java deleted file mode 100644 index 44a24d8a43d..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/PrimitiveType.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PrimitiveType.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -/** - * Super class for boolean type, char type, - * and all numeric types. - * - * @author Michael Bouschen - * @version 0.1 - */ -public class PrimitiveType - extends Type -{ - /** - * - */ - protected WrapperClassType wrapper; - - /** - * - */ - public PrimitiveType(String name, Class clazz, int enumType) - { - super(name, clazz, enumType); - } - - /** - * - */ - public boolean isCompatibleWith(Type type) - { - if (type instanceof PrimitiveType) - return ((PrimitiveType)type).clazz.isAssignableFrom(clazz); - else - return false; - } - - /** - * - */ - public WrapperClassType getWrapper() - { - return wrapper; - } - - /** - * - */ - public void setWrapper(WrapperClassType wrapper) - { - this.wrapper = wrapper; - } - - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/StringType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/StringType.java deleted file mode 100644 index ce9c24a2a52..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/StringType.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * StringType.java - * - * Created on April 19, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; - -/** - * - * @author Michael Bouschen - * @version 0.1 - */ -public class StringType - extends ClassType -{ - /** - * - */ - public StringType(TypeTable typetab) - { - super("java.lang.String", String.class, FieldTypeEnumeration.STRING, typetab); //NOI18N - } - - /** - * String defines an ordering. - */ - public boolean isOrderable() - { - return true; - } -} - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/Type.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/Type.java deleted file mode 100644 index 63ad0e52aea..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/Type.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * Type.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; - -/** - * - * @author Michael Bouschen - * @version 0.1 - */ -public abstract class Type -{ - /** - * The name of the type represented by this object. - */ - protected String name; - - /** - * The corresponding class object. - */ - protected Class clazz; - - /** - * The FieldTypeEnumeration constant for this Type. - */ - protected int enumType; - - /** - * Creates a new Type object with the specified name. - * @param name name of the type represented by this - * @param clazz the class object for this type - */ - public Type(String name, Class clazz) - { - this(name, clazz, FieldTypeEnumeration.NOT_ENUMERATED); - } - - /** - * Creates a new Type object with the specified name. - * @param name name of the type represented by this - * @param clazz the class object for this type - * @param enumType the FieldTypeEnumeration value for this type - */ - public Type(String name, Class clazz, int enumType) - { - this.name = name; - this.clazz = clazz; - this.enumType = enumType; - } - - /** - * Returns the name of the type. - */ - public String getName() - { - return name; - } - - /** - * Returns the corresponding class object. - */ - public Class getJavaClass() { - return this.clazz; - } - - /** - * Checks type compatibility. - * @param type the type this is checked with. - * @return true if this is compatible with type; - * false otherwise. - */ - public abstract boolean isCompatibleWith(Type type); - - /** - * Returns whether this represents a type with an - * defined order. - * @return true if an order is defined for this; - * false otherwise. - */ - public boolean isOrderable() - { - return false; - } - - /** - * Returns the FieldTypeEnumeration value for this type. - */ - public int getEnumType() - { - return enumType; - } - - /** - * Representation of this type as a string. - */ - public String toString() - { - return getName(); - } - - /** - * Indicates whether some other object is "equal to" this one. - * - * Two types are equal if their names are equal. - */ - public boolean equals(Object obj) - { - if (obj == this) - return true; - else if (obj instanceof Type) - return this.name.equals(((Type)obj).name); - else - return false; - } - - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/TypeTable.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/TypeTable.java deleted file mode 100644 index 71e6619e51d..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/TypeTable.java +++ /dev/null @@ -1,516 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * TypeTable.java - * - * Created on March 8, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -import java.util.*; -import java.math.*; - -import com.sun.jdo.api.persistence.model.Model; -import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; - -/** - * - * @author Michael Bouschen - * @author Shing Wai Chan - * @version 0.1 - */ -public class TypeTable -{ - /** - * Represents the type of null - */ - public static final NullType nullType = new NullType(); - - /** - * Represents the internal error type. - */ - public static final ErrorType errorType = new ErrorType(); - - /** - * Represents the type boolean. - */ - public BooleanType booleanType; - - /** - * Represents the type char. - */ - public IntegralType charType; - - /** - * Represents the type byte. - */ - public IntegralType byteType; - - /** - * Represents the type short. - */ - public IntegralType shortType; - - /** - * Represents the type int. - */ - public IntegralType intType; - - /** - * Represents the type long. - */ - public IntegralType longType; - - /** - * Represents the type float. - */ - public FloatingPointType floatType; - - /** - * Represents the type double. - */ - public FloatingPointType doubleType; - - /** - * Represents the type java.lang.String. - */ - public StringType stringType; - - /** - * Represents the type java.math.BigDecimal - */ - public MathType bigDecimalType; - - /** - * Represents the type java.math.BigInteger - */ - public MathType bigIntegerType; - - /** - * The model used to access class meta info - */ - protected Model model; - - /** - * Store class loader for Class.forName lookup - */ - protected ClassLoader classLoader; - - /** - * The list of actual known types. - */ - protected Map types = new HashMap(); - - /** Map of TypeTable instances. Key is a classLoader. */ - private static Map typeTables = new HashMap(); - - /** */ - public static TypeTable getInstance(ClassLoader classLoader) - { - synchronized (typeTables) { - TypeTable typeTable = (TypeTable)typeTables.get(classLoader); - if (typeTable == null) { - typeTable = new TypeTable(classLoader); - typeTables.put(classLoader, typeTable); - } - return typeTable; - } - } - - /** */ - public static void removeInstance(ClassLoader classLoader) - { - synchronized (typeTables) { - typeTables.remove(classLoader); - } - } - - /** - * - */ - private TypeTable(ClassLoader classLoader) - { - // init model - // JQLC is only used at runtime => use runtime model - this.model = Model.RUNTIME; - - this.classLoader = classLoader; - - booleanType = new BooleanType(); - types.put(booleanType.getName(), booleanType); - charType = new IntegralType("char", char.class, FieldTypeEnumeration.CHARACTER_PRIMITIVE); //NOI18N - types.put(charType.getName(), charType); - byteType = new IntegralType("byte", byte.class, FieldTypeEnumeration.BYTE_PRIMITIVE); //NOI18N - types.put(byteType.getName(), byteType); - shortType = new IntegralType("short", short.class, FieldTypeEnumeration.SHORT_PRIMITIVE); //NOI18N - types.put(shortType.getName(), shortType); - intType = new IntegralType("int", int.class, FieldTypeEnumeration.INTEGER_PRIMITIVE); //NOI18N - types.put(intType.getName(), intType); - longType = new IntegralType("long", long.class, FieldTypeEnumeration.LONG_PRIMITIVE); //NOI18N - types.put(longType.getName(), longType); - floatType = new FloatingPointType("float", float.class, FieldTypeEnumeration.FLOAT_PRIMITIVE); //NOI18N - types.put(floatType.getName(), floatType); - doubleType = new FloatingPointType("double", double.class, FieldTypeEnumeration.DOUBLE_PRIMITIVE); //NOI18N - types.put(doubleType.getName(), doubleType); - - stringType = new StringType(this); - types.put(stringType.getName(), stringType); - - WrapperClassType booleanClassType = - new WrapperClassType("java.lang.Boolean", Boolean.class, FieldTypeEnumeration.BOOLEAN, booleanType, this); //NOI18N - types.put(booleanClassType.getName(), booleanClassType); - NumericWrapperClassType byteClassType = - new NumericWrapperClassType("java.lang.Byte", Byte.class, FieldTypeEnumeration.BYTE, byteType, this); //NOI18N - types.put(byteClassType.getName(), byteClassType); - NumericWrapperClassType shortClassType = - new NumericWrapperClassType("java.lang.Short", Short.class, FieldTypeEnumeration.SHORT, shortType, this); //NOI18N - types.put(shortClassType.getName(), shortClassType); - NumericWrapperClassType intClassType = - new NumericWrapperClassType("java.lang.Integer", Integer.class, FieldTypeEnumeration.INTEGER, intType, this); //NOI18N - types.put(intClassType.getName(), intClassType); - NumericWrapperClassType longClassType = - new NumericWrapperClassType("java.lang.Long", Long.class, FieldTypeEnumeration.LONG, longType, this); //NOI18N - types.put(longClassType.getName(), longClassType); - NumericWrapperClassType charClassType = - new NumericWrapperClassType("java.lang.Character", Character.class, FieldTypeEnumeration.CHARACTER, charType, this); //NOI18N - types.put(charClassType.getName(), charClassType); - NumericWrapperClassType floatClassType = - new NumericWrapperClassType("java.lang.Float", Float.class, FieldTypeEnumeration.FLOAT, floatType, this); //NOI18N - types.put(floatClassType.getName(), floatClassType); - NumericWrapperClassType doubleClassType = - new NumericWrapperClassType("java.lang.Double", Double.class, FieldTypeEnumeration.DOUBLE, doubleType, this); //NOI18N - types.put(doubleClassType.getName(), doubleClassType); - - booleanType.setWrapper(booleanClassType); - byteType.setWrapper(byteClassType); - shortType.setWrapper(shortClassType); - intType.setWrapper(intClassType); - longType.setWrapper(longClassType); - charType.setWrapper(charClassType); - floatType.setWrapper(floatClassType); - doubleType.setWrapper(doubleClassType); - - bigDecimalType = new MathType("java.math.BigDecimal", BigDecimal.class, FieldTypeEnumeration.BIGDECIMAL, this); //NOI18N - types.put(bigDecimalType.getName(), bigDecimalType); - bigIntegerType = new MathType("java.math.BigInteger", BigInteger.class, FieldTypeEnumeration.BIGINTEGER, this); //NOI18N - types.put(bigIntegerType.getName(), bigIntegerType); - - // Date types - DateType dateType = new DateType("java.util.Date", java.util.Date.class, FieldTypeEnumeration.UTIL_DATE, this); - types.put(dateType.getName(), dateType); - DateType sqldateType = new DateType("java.sql.Date", java.sql.Date.class, FieldTypeEnumeration.SQL_DATE, this); - types.put(sqldateType.getName(), sqldateType); - DateType sqlTimeType = new DateType("java.sql.Time", java.sql.Time.class, FieldTypeEnumeration.SQL_TIME, this); - types.put(sqlTimeType.getName(), sqlTimeType); - DateType sqlTimestampType = new DateType("java.sql.Timestamp", java.sql.Timestamp.class, FieldTypeEnumeration.SQL_TIMESTAMP, this); - types.put(sqlTimestampType.getName(), sqlTimestampType); - } - - /** - * Checks for the type with the specified name. - * First the internal type table is checked. - * If the type is not found it checks Class.forName. - * If the type is found the internal type table is updated - * (optimization for further access). - * If the type is neither in the type table nor found by forName - * null is returned and the type table is not changed. - * Otherwise the Type representation of the type is returned. - * @param name the name of the type to be checked. - * @return the Type object representing the type with the - * specified name or null when the type was not found. - */ - public Type checkType(String name) - { - synchronized(types) - { - Type result = (Type)types.get(name); - if (result == null) - { - // type not found => check repository - try - { - Class clazz = Class.forName(name, true, classLoader); - result = new ClassType(name, clazz, this); - types.put(name, result); - } - catch (ClassNotFoundException ex) - { - // unknown class -> error message? - } - } - return result; - } - } - - /** - * Checks for the type with the specified name. - * First the internal type table is checked. - * If the type is not found it checks Class.forName. - * If the type is found the internal type table is updated - * (optimization for further access). - * If the type is neither in the type table nor found by forName - * null is returned and the type table is not changed. - * Otherwise the Type representation of the type is returned. - * @param clazz the name of the type to be checked. - * @return the Type object representing the type with the - * specified name or null when the type was not found. - */ - public Type checkType(Class clazz) - { - if (clazz == null) - return null; - String name = clazz.getName(); - synchronized (types) - { - Type result = (Type)types.get(name); - - if (result == null) - { - // type not found - result = new ClassType(name, clazz, this); - types.put(name, result); - } - return result; - } - } - - /** - * Implements binary numeric promotion as defined in the Java Language Specification section 5.6.2 - */ - public Type binaryNumericPromotion(Type left, Type right) - { - if ((left instanceof NumericType) && (right instanceof NumericType)) - { - if (left.equals(doubleType) || right.equals(doubleType)) - return doubleType; - else if (left.equals(floatType) || right.equals(floatType)) - return floatType; - else if (left.equals(longType) || right.equals(longType)) - return longType; - else - return intType; - } - else - { - return errorType; - } - } - - /** - * Implements unray numeric promotion as defined in the Java Language Specification section 5.6.1 - */ - public Type unaryNumericPromotion(Type type) - { - if (type instanceof NumericType) - { - if (type.equals(byteType) || type.equals(shortType) || type.equals(charType)) - { - return intType; - } - else - { - return type; - } - } - else - { - return errorType; - } - } - - /** - * Returns true if type is a NumericType or compatible to java.lang.Number - */ - public boolean isNumberType(Type type) - { - Type numberType = checkType("java.lang.Number"); //NOI18N - Type characterType = checkType("java.lang.Character"); //NOI18N - return (type instanceof NumericType) || - (type.isCompatibleWith(numberType)) || - (type.isCompatibleWith(characterType)); - } - - /** - * Returns true if type is an integral type or a Java wrapper class - * type wrapping an integral type. - */ - public boolean isIntegralType(Type type) - { - if (type instanceof IntegralType) - return true; - else if (type instanceof NumericWrapperClassType) - return ((NumericWrapperClassType)type).getPrimitiveType() instanceof IntegralType; - return false; - } - - /** - * Returns true if type is a floating point type or a Java wrapper - * class type wrapping a floating point integral type. - */ - public boolean isFloatingPointType(Type type) - { - if (type instanceof FloatingPointType) - return true; - else if (type instanceof NumericWrapperClassType) - return ((NumericWrapperClassType)type).getPrimitiveType() instanceof FloatingPointType; - return false; - } - - /** - * Returns true if type is double or java.lang.Double - */ - public boolean isDoubleType(Type type) - { - return (type.equals(doubleType) || type.equals(doubleType.getWrapper())); - } - - /** - * Returns true if type is int or java.lang.Integer - */ - public boolean isIntType(Type type) - { - return (type.equals(intType) || type.equals(intType.getWrapper())); - } - - /** - * Returns true if type is char or java.lang.Character - */ - public boolean isCharType(Type type) - { - return (type.equals(charType) || type.equals(charType.getWrapper())); - } - - /** - * Returns true if type is boolean or java.lang.Boolean - */ - public boolean isBooleanType(Type type) - { - return (type.equals(booleanType) || type.equals(booleanType.getWrapper())); - } - - /** - * Returns true if type denotes a pertsistence capable class - * Note, it returns false for non ClassType values, especially for - * NullType and ErrorType. - */ - public boolean isPersistenceCapableType(Type type) - { - return ((type instanceof ClassType) && - ((ClassType)type).isPersistenceCapable()); - } - - /** - * Returns true if type denotes a collection type. - * Note, it returns false for non ClassType values, especially for - * NullType and ErrorType. - */ - public boolean isCollectionType(Type type) - { - Type collectionType = checkType("java.util.Collection"); //NOI18N - return (type instanceof ClassType) && type.isCompatibleWith(collectionType); - } - - /** - * Returns true if type denotes a collection type. - * Note, it returns false for non ClassType values, especially for - * NullType and ErrorType. - */ - public boolean isJavaLangMathType(Type type) - { - Type mathType = checkType("java.lang.Math"); //NOI18N - return (type instanceof ClassType) && type.isCompatibleWith(mathType); - } - - /** - * Return JDO QL return type for Sum function for a given type. - * @param type is a number data type - */ - public Type getSumReturnType(Type type) { - if (isFloatingPointType(type)) { - return doubleType.getWrapper(); - } else if (bigDecimalType.equals(type)) { - return bigDecimalType; - } else if (bigIntegerType.equals(type)) { - return bigIntegerType; - } else if (isNumberType(type)) { - return longType.getWrapper(); - } else { - return type; - } - } - - /** - * Return JDO QL return type for Avg function for a given type. - * @param type is a number data type - */ - public Type getAvgReturnType(Type type) { - if (bigDecimalType.equals(type)) { - return bigDecimalType; - } else if (bigIntegerType.equals(type)) { - return bigIntegerType; - } else if (isNumberType(type)) { - return doubleType.getWrapper(); - } else { - return type; - } - } - - /** - * Return JDO QL return type for Min/Max function for a given type. - * @param type is an orderable data type - */ - public Type getMinMaxReturnType(Type type) { - if (isFloatingPointType(type)) { - return doubleType.getWrapper(); - } else if (isCharType(type)) { - return charType.getWrapper(); - } else if (bigDecimalType.equals(type)) { - return bigDecimalType; - } else if (bigIntegerType.equals(type)) { - return bigIntegerType; - } else if (isNumberType(type)) { - return longType.getWrapper(); - } else { - return type; - } - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/WrapperClassType.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/WrapperClassType.java deleted file mode 100644 index 2c9d4345b4f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/query/util/type/WrapperClassType.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * WrapperClassType.java - * - * Created on April 14, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.query.util.type; - -/** - * - * @author Michael Bouschen - * @version 0.1 - */ -public class WrapperClassType - extends ClassType -{ - - /** - * - */ - protected PrimitiveType primitiveType; - - /** - * - */ - public WrapperClassType(String name, Class clazz, int enumType, - PrimitiveType primitiveType, TypeTable typetab) - { - super(name, clazz, enumType, typetab); - this.primitiveType = primitiveType; - } - - /** - * - */ - public PrimitiveType getPrimitiveType() - { - return primitiveType; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/ArrayList.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/ArrayList.java deleted file mode 100644 index cf33ae367f6..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/ArrayList.java +++ /dev/null @@ -1,735 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * sco.ArrayList.java - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sco; - -import java.util.Collection; -import java.util.Iterator; -import java.util.ResourceBundle; - -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.api.persistence.support.JDOUnsupportedOptionException; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable; -import com.sun.jdo.spi.persistence.support.sqlstore.SCOCollection; -import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; -import org.glassfish.persistence.common.I18NHelper; - - -/** - * A mutable 2nd class object date. - * @author Marina Vatkina - * @version 1.0 - * @see java.util.ArrayList - */ -public class ArrayList - extends java.util.ArrayList - implements SCOCollection -{ - - private transient PersistenceCapable owner; - - private transient String fieldName; - - private transient Class elementType; - - private transient boolean allowNulls; - - private transient java.util.Vector added = new java.util.Vector(); - - private transient java.util.Vector removed = new java.util.Vector(); - - /** - * I18N message handlers - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.impl.Bundle", // NOI18N - ArrayList.class.getClassLoader()); - - private final static ResourceBundle messages1 = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - ArrayList.class.getClassLoader()); - - - /** - * Constructs an empty vector so that its internal data array - * has size 10 and its standard capacity increment is - * zero. Assigns owning object and field name - * @param owner the owning object - * @param fieldName the owning field name - * @param elementType the element types allowed - * @param allowNulls true if nulls are allowed - */ - public ArrayList(Object owner, String fieldName, Class elementType, boolean allowNulls) - { - super(); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - this.elementType = elementType; - this.allowNulls = allowNulls; - } - - /** - * Constructs an empty vector with the specified initial capacity and - * with its capacity increment equal to zero. Assigns owning object and field name - * - * @param owner the owning object - * @param fieldName the owning field name - * @param elementType the element types allowed - * @param allowNulls true if nulls are allowed - * @param initialCapacity the initial capacity of the vector. - * @exception IllegalArgumentException if the specified initial capacity - * is negative - */ - public ArrayList(Object owner, String fieldName, - Class elementType, boolean allowNulls, int initialCapacity) - { - super(initialCapacity); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - this.elementType = elementType; - this.allowNulls = allowNulls; - } - - /** ------------------Public Methods----------------*/ - - /** - * Replaces the element at the specified position in this ArrayList with the - * specified element. - * - * @param index index of element to replace. - * @param element element to be stored at the specified position. - * @return the element previously at the specified position. - * @exception IndexOutOfBoundsException index out of range - * (index < 0 || index >= size()). - * @exception IllegalArgumentException fromIndex > toIndex. - * @see java.util.ArrayList - */ - public Object set(int index, Object element) { - - throwUnsupportedOption(); - - if (element == null) - { - if (allowNulls == false) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - // It is actualy remove - return this.remove(index); - } - - if (elementType == null || elementType.isAssignableFrom(element.getClass())) - { - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - Object o = super.set(index, element); - - if (added.remove(o) == false) - removed.add(o); - - if (removed.remove(element) == false) - added.add(element); - - // Apply updates - this.applyUpdates(stateManager, true); - - return o; - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", elementType.getName()), // NOI18N - new ClassCastException(), new Object[] {element}); - } - - } - - - /** - * Appends the specified element to the end of this ArrayList. - * - * @param o element to be appended to this ArrayList. - * @return true (as per the general contract of Collection.add). - * @see java.util.ArrayList - */ - public boolean add(Object o) { - if (allowNulls == false && o == null) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - - if (elementType == null || elementType.isAssignableFrom(o.getClass())) - { - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - if (removed.remove(o) == false) - added.add(o); - - boolean modified = super.add(o); - - // Apply updates - this.applyUpdates(stateManager, modified); - - return modified; - - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", elementType.getName()), // NOI18N - new ClassCastException(), new Object[] {o}); - } - } - - /** - * Removes the first occurrence of the specified element in this ArrayList - * If the ArrayList does not contain the element, it is unchanged. - * - * @param o element to be removed from this ArrayList, if present. - * @return true if the ArrayList contained the specified element. - * @see java.util.ArrayList - */ - public boolean remove(Object o) { - - // Because java.util.AbstractCollection.remove(Object) delegates remove() to remove(int) - // which is not supported, we cannot rely on jdk. We need to process remove here. - - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - int i = super.indexOf(o); - Object obj = null; - if (i > -1) { - obj = super.remove(i); - - if (added.remove(obj) == false) - removed.add(obj); - - // Apply updates - this.applyUpdates(stateManager, true); - return true; - } - return false; - } - - /** - * Inserts the specified element at the specified position in this ArrayList. - * - * @param index index at which the specified element is to be inserted. - * @param element element to be inserted. - * @exception IndexOutOfBoundsException index is out of range - * (index < 0 || index > size()). - * @see java.util.ArrayList - */ - public void add(int index, Object element) { - if (allowNulls == false && element == null) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - - if (elementType == null || elementType.isAssignableFrom(element.getClass())) - { - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - super.add(index, element); - if (removed.remove(element) == false) - added.add(element); - - // Apply updates - this.applyUpdates(stateManager, true); - - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", elementType.getName()), // NOI18N - new ClassCastException(), new Object[] {element}); - } - - } - - /** - * Removes the element at the specified position in this ArrayList. - * shifts any subsequent elements to the left (subtracts one from their - * indices). Returns the element that was removed from the ArrayList. - * - * @param index the index of the element to removed. - * @exception IndexOutOfBoundsException index out of range (index - * < 0 || index >= size()). - * @see java.util.ArrayList - */ - public Object remove(int index) { - - throwUnsupportedOption(); - - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - Object obj = super.remove(index); - - if (added.remove(obj) == false) - removed.add(obj); - - // Apply updates - this.applyUpdates(stateManager, true); - - return obj; - } - - /** - * Removes all of the elements from this ArrayList. The ArrayList will - * be empty after this call returns (unless it throws an exception). - * - * @see java.util.ArrayList - */ - public void clear() { - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - for (Iterator iter = super.iterator(); iter.hasNext();) { - Object o = iter.next(); - if (added.remove(o) == false) - removed.add(o); - } - added.clear(); - super.clear(); - - // Apply updates - this.applyUpdates(stateManager, true); - } - - /** - * Appends all of the elements in the specified Collection to the end of - * this ArrayList, in the order that they are returned by the specified - * Collection's Iterator. - * - * @param c elements to be inserted into this ArrayList. - * @exception IndexOutOfBoundsException index out of range (index - * < 0 || index > size()). - * @see java.util.ArrayList - */ - public boolean addAll(Collection c) { - if (!allowNulls && c.contains(null)) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - - java.util.Vector errc = new java.util.Vector(); - if (elementType != null) - { - // iterate the collection and make a list of wrong elements. - Iterator i = c.iterator(); - while (i.hasNext()) - { - Object o = i.next(); - if (!elementType.isAssignableFrom(o.getClass())) - errc.add(o); - } - } - if (!errc.isEmpty()) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", (elementType != null ? elementType.getName() : "")), // NOI18N - new ClassCastException(), errc.toArray()); - } - - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - removed.removeAll(c); - added.addAll(c); - - boolean modified = super.addAll(c); - - // Apply updates - this.applyUpdates(stateManager, modified); - - return modified; - } - - /** - * Removes from this ArrayList all of its elements that are contained in the - * specified Collection. - * - * @return true if this ArrayList changed as a result of the call. - * @see java.util.ArrayList - */ - public boolean removeAll(Collection c) { - boolean modified = false; - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - Iterator e = c.iterator(); - while (e.hasNext()) { - Object o = e.next(); - if(super.contains(o)) { - removeInternal(o); - if (added.remove(o) == false) - removed.add(o); - modified = true; - } - } - - // Apply updates - this.applyUpdates(stateManager, modified); - - return modified; - } - - /** - * Inserts all of the elements in in the specified Collection into this - * ArrayList at the specified position. Shifts the element currently at - * that position (if any) and any subsequent elements to the right - * (increases their indices). The new elements will appear in the ArrayList - * in the order that they are returned by the specified Collection's - * iterator. - * - * @param index index at which to insert first element - * from the specified collection. - * @param c elements to be inserted into this ArrayList. - * @exception IndexOutOfBoundsException index out of range (index - * < 0 || index > size()). - * @see java.util.ArrayList - */ - public boolean addAll(int index, Collection c) { - if (!allowNulls && c.contains(null)) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - - java.util.Vector errc = new java.util.Vector(); - if (elementType != null) - { - // iterate the collection and make a list of wrong elements. - Iterator i = c.iterator(); - while (i.hasNext()) - { - Object o = i.next(); - if (!elementType.isAssignableFrom(o.getClass())) - errc.add(o); - } - } - if (!errc.isEmpty()) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", (elementType != null ? elementType.getName() : "")), // NOI18N - new ClassCastException(), errc.toArray()); - } - - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - removed.removeAll(c); - added.addAll(c); - - boolean modified = super.addAll(index, c); - - // Apply updates - this.applyUpdates(stateManager, modified); - - return modified; - } - - /** - * Retains only the elements in this ArrayList that are contained in the - * specified Collection. - * - * @return true if this ArrayList changed as a result of the call. - * @see java.util.ArrayList - */ - public boolean retainAll(Collection c) - { - boolean modified = false; - java.util.Vector v = new java.util.Vector(); - - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - for (Iterator iter = super.iterator(); iter.hasNext();) - { - Object o = iter.next(); - if (!c.contains(o)) - { - v.add(o); - if (added.remove(o) == false) - removed.add(o); - - modified = true; - } - } - - // Now remove the rest (stored in "v") - for (Iterator iter = v.iterator(); iter.hasNext();) - { - removeInternal(iter.next()); - } - - // Apply updates - this.applyUpdates(stateManager, modified); - - return modified; - } - - /** - * Creates and returns a copy of this object. - * - *

    Mutable Second Class Objects are required to provide a public - * clone method in order to allow for copying PersistenceCapable - * objects. In contrast to Object.clone(), this method must not throw a - * CloneNotSupportedException. - */ - public Object clone() - { - ArrayList obj = (ArrayList)super.clone(); - obj.unsetOwner(); - - return obj; - } - - /** - * Creates and returns a copy of this object without resetting the owner and field value. - * - */ - public Object cloneInternal() - { - return super.clone(); - } - - /** - * Cleans removed and added lists - */ - public void reset() - { - added.clear(); - removed.clear(); - } - - public void markDeferred() - { - } - - public boolean isDeferred() - { - return false; - } - - public void applyDeferredUpdates(Collection c) - { - super.addAll(c); - } - - /** - * Adds an object to the list without recording changes - */ - public void addInternal(Object o) - { - super.add(o); - } - - /** - * Adds a Collection to the list without recording changes - */ - public void addAllInternal(Collection c) - { - super.addAll(c); - } - - /** - * @inheritDoc - */ - public void addToBaseCollection(Object o) - { - super.add(o); - } - - /** - * Removes from this collection without recording changes - */ - public void removeAllInternal(Collection c) - { - super.removeAll(c); - } - - /** - * Returns added collection - * - * @return added collection of added elements - */ - public Collection getAdded() - { - return (Collection)added; - } - - /** - * Returns removed collection - * - * @return removed collection of removed elements - */ - public Collection getRemoved() - { - return (Collection)removed; - } - - - /** - * Clears Collection without notifing the owner - */ - public void clearInternal() - { - super.clear(); - this.reset(); - } - - /** - * Removes an element without notifing the owner - */ - public void removeInternal(Object o) - { - int i = super.indexOf(o); - super.remove(i); - } - - /** - * Nullifies references to the owner Object and Field - */ - public void unsetOwner() - { - this.owner = null; - this.fieldName = null; - this.elementType = null; - added.clear(); - removed.clear(); - } - - /** - * Returns the owner object of the SCO instance - * - * @return owner object - */ - public Object getOwner() - { - return this.owner; - } - - /** - * Returns the field name - * - * @return field name as java.lang.String - */ - public String getFieldName() - { - return this.fieldName; - } - - /** - * Marks object dirty - */ - public StateManager makeDirty() - { - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - if (stateManager != null) - { - stateManager.makeDirty(fieldName); - } - - return stateManager; - } - return null; - } - /** - * Apply changes (can be a no-op) - */ - public void applyUpdates(StateManager sm, boolean modified) - { - - if (modified && sm != null) - { - sm.applyUpdates(fieldName, this); - } - } - - /** - * Throw JDOUnsupportedOptionException - */ - private void throwUnsupportedOption() - { - // Index operation that changes the underline collection - // is not supported in 2_beta. Bug 4370474 - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "sco.not_supported")); //NOI18N - } - - /** - * Set the owner if this instance is not owned. - * @see SCOCollection#setOwner - * @param owner the new owner. - * @param fieldName the new field name. - * @param elementType the new element type as Class, or null if type - * is not to be checked. - */ - public void setOwner(Object owner, String fieldName, Class elementType) { - - if (this.owner != null) { - throw new JDOUserException(I18NHelper.getMessage( - messages1, "core.statemanager.anotherowner"), // NOI18N - new Object[]{this.owner, this.fieldName}); - } - if (owner instanceof PersistenceCapable) { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - this.elementType = elementType; - } - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/Date.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/Date.java deleted file mode 100644 index 7f58b1d8f93..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/Date.java +++ /dev/null @@ -1,333 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sco; - -import java.io.ObjectStreamException; - -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable; -import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; -import com.sun.jdo.spi.persistence.support.sqlstore.SCO; -import com.sun.jdo.spi.persistence.support.sqlstore.SCODate; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; - -/** - * A mutable 2nd class object date. - * @author Marina Vatkina - * @version 1.0 - * @see java.util.Date - */ -public class Date - extends java.util.Date - implements SCODate -{ - - private transient PersistenceCapable owner; - - private transient String fieldName; - - /** - * Creates a Date object that represents the time at which - * it was allocated. Assigns owning object and field name - * @param owner the owning object - * @param fieldName the owning field name - */ - public Date(Object owner, String fieldName) - { - super(); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - } - - /** - * Creates a Date object that represents the given time - * in milliseconds. Assigns owning object and field name - * @param owner the owning object - * @param fieldName the owning field name - * @param date the number of milliseconds - */ - public Date(Object owner, String fieldName, long date) - { - super(date); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - } - - /** - * Sets the Date object to represent a point in time that is - * time milliseconds after January 1, 1970 00:00:00 GMT. - * - * @param time the number of milliseconds. - * @see java.util.Date - */ - public void setTime(long time) { - this.makeDirty(); - super.setTime(time); - } - - /** - * Creates and returns a copy of this object. - * - *

    Mutable Second Class Objects are required to provide a public - * clone method in order to allow for copying PersistenceCapable - * objects. In contrast to Object.clone(), this method must not throw a - * CloneNotSupportedException. - */ - public Object clone() - { - Date obj = (Date) super.clone(); - - obj.owner = null; - obj.fieldName = null; - - return obj; - } - - /** -----------Depricated Methods------------------*/ - - /** - * Sets the year of this Date object to be the specified - * value plus 1900. - * - * @param year the year value. - * @see java.util.Calendar - * @see java.util.Date - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.YEAR, year + 1900). - */ - public void setYear(int year) { - this.makeDirty(); - super.setYear(year); - } - - /** - * Sets the month of this date to the specified value. - * @param month the month value between 0-11. - * @see java.util.Calendar - * @see java.util.Date - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.MONTH, int month). - */ - public void setMonth(int month) { - this.makeDirty(); - super.setMonth(month); - } - - /** - * Sets the day of the month of this Date object to the - * specified value. - * - * @param date the day of the month value between 1-31. - * @see java.util.Calendar - * @see java.util.Date - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.DAY_OF_MONTH, int date). - */ - public void setDate(int date) { - this.makeDirty(); - super.setDate(date); - } - - /** - * Sets the hour of this Date object to the specified value. - * - * @param hours the hour value. - * @see java.util.Calendar - * @see java.util.Date - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.HOUR_OF_DAY, int hours). - */ - public void setHours(int hours) { - this.makeDirty(); - super.setHours(hours); - } - - /** - * Sets the minutes of this Date object to the specified value. - * - * @param minutes the value of the minutes. - * @see java.util.Calendar - * @see java.util.Date - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.MINUTE, int minutes). - */ - public void setMinutes(int minutes) { - this.makeDirty(); - super.setMinutes(minutes); - } - - /** - * Sets the seconds of this Date to the specified value. - * - * @param seconds the seconds value. - * @see java.util.Calendar - * @see java.util.Date - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.SECOND, int seconds). - */ - public void setSeconds(int seconds) { - this.makeDirty(); - super.setSeconds(seconds); - } - - /** ---------------- internal methods ------------------- */ - - /** - * Creates and returns a copy of this object without resetting the owner and field value. - * - */ - public Object cloneInternal() - { - return super.clone(); - } - - /** - * Sets the Date object without notification of the Owner - * field. Used internaly to populate date from DB - * - * @param time the number of milliseconds. - * @see java.util.Date - */ - public void setTimeInternal(long time) { - super.setTime(time); - } - - /** - * Nullifies references to the owner Object and Field - * NOTE: This method should be called under the locking of - * the owener' state manager. - */ - public void unsetOwner() - { - this.owner = null; - this.fieldName = null; - } - - /** - * Returns the owner object of the SCO instance - * - * @return owner object - */ - public Object getOwner() - { - return this.owner; - } - - /** - * Returns the field name - * - * @return field name as java.lang.String - */ - public String getFieldName() - { - return this.fieldName; - } - - /** - * Marks object dirty - */ - public StateManager makeDirty() - { - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - - if (stateManager != null) - { - PersistenceManager pm = (PersistenceManager) stateManager.getPersistenceManagerInternal(); - - pm.acquireShareLock(); - - try - { - synchronized (stateManager) - { - // - // Need to recheck owner because it could be set to - // null before we lock the stateManager. - // - if (owner != null) - { - stateManager.makeDirty(fieldName); - return stateManager; - } - } - } - finally - { - pm.releaseShareLock(); - } - } - - } - - return null; - } - - /** - * Apply changes (no-op) - */ - public void applyUpdates(StateManager sm, boolean modified) - { - } - - - /** - * Use java.util.Date as the designated object to be used when writing - * this object to the stream. - * - * @return java.util.Date that represents the same value. - * @throws ObjectStreamException. - */ - Object writeReplace() throws ObjectStreamException - { - return new java.util.Date(getTime()); - } - -} - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/HashSet.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/HashSet.java deleted file mode 100644 index 8772148f33d..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/HashSet.java +++ /dev/null @@ -1,970 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * sco.HashSet.java - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sco; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.ResourceBundle; - -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable; -import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; -import com.sun.jdo.spi.persistence.support.sqlstore.SCOCollection; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; -import org.glassfish.persistence.common.I18NHelper; - - -/** - * A mutable 2nd class object date. - * @author Marina Vatkina - * @version 1.0 - * @see java.util.HashSet - */ -public class HashSet - extends java.util.HashSet - implements SCOCollection -{ - - private transient PersistenceCapable owner; - - private transient String fieldName; - - private transient Class elementType; - - private transient boolean allowNulls; - - private transient java.util.HashSet added = new java.util.HashSet(); - - private transient java.util.HashSet removed = new java.util.HashSet(); - - private transient boolean isDeferred; - - /** - * I18N message handlers - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.impl.Bundle", // NOI18N - HashSet.class.getClassLoader()); - - private final static ResourceBundle messages1 = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - HashSet.class.getClassLoader()); - - - /** - * Creates a new empty HashSet object. - * Assigns owning object and field name. - * - * @param owner the owning object - * @param fieldName the owning field name - * @param elementType the element types allowed - * @param allowNulls true if nulls are allowed - */ - public HashSet(Object owner, String fieldName, Class elementType, boolean allowNulls) - { - super(); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - this.elementType = elementType; - this.allowNulls = allowNulls; - } - - /** - * Creates a new empty HashSet object that has - * the specified initial capacity.Assigns owning object and field name. - * - * @param owner the owning object - * @param fieldName the owning field name - * @param elementType the element types allowed - * @param allowNulls true if nulls are allowed - * @param initialCapacity the initial capacity of the hash map. - * @throws IllegalArgumentException if the initial capacity is less - * than zero. - * @see java.util.HashSet - */ - public HashSet(Object owner, String fieldName, - Class elementType, boolean allowNulls, - int initialCapacity) - { - super(initialCapacity); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - this.elementType = elementType; - this.allowNulls = allowNulls; - } - - // -------------------------Public Methods------------------ - - /** - * Adds the specified element to this set if it is not already - * present. - * - * @param o element to be added to this set. - * @return true if the set did not already contain the specified - * element. - * @see java.util.HashSet - */ - public boolean add(Object o) - { - if (allowNulls == false && o == null) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - - if (elementType != null && !elementType.isAssignableFrom(o.getClass())) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", elementType.getName()), // NOI18N - new ClassCastException(), new Object[] {o}); - } - - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - - if (stateManager != null) - { - PersistenceManager pm = (PersistenceManager) stateManager.getPersistenceManagerInternal(); - - pm.acquireShareLock(); - - boolean modified = false; - - try - { - pm.acquireFieldUpdateLock(); - try - { - // Mark the field as dirty - stateManager.makeDirty(fieldName); - - modified = super.add(o); - - if (modified) - { - if (removed.remove(o) == false) - { - added.add(o); - } - stateManager.applyUpdates(fieldName, this); - } - return modified; - } - finally - { - pm.releaseFieldUpdateLock(); - } - - } - catch (JDOUserException e) - { - Object[] failedObjects = e.getFailedObjectArray(); - - if (modified && (failedObjects != null)) - { - // - // The failedObjects array may contain objects other - // than the one added. We iterate through it to find - // the one added and remove it from the collection. - // - for (int i = 0; i < failedObjects.length; i++) - { - Object failedObject = failedObjects[i]; - - if (failedObject == o) - { - super.remove(failedObject); - break; - } - } - } - - throw e; - } - finally - { - pm.releaseShareLock(); - } - } - } - - return super.add(o); - } - - /** - * Adds all of the elements in the specified collection to this collection - * - * @param c collection whose elements are to be added to this collection. - * @return true if this collection changed as a result of the - * call. - * @throws UnsupportedOperationException if the addAll method is - * not supported by this collection. - * - * @see java.util.AbstractCollection - * @see java.util.HashSet - */ - public boolean addAll(Collection c) - { - if (allowNulls == false && c.contains(null)) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - - ArrayList errc = new ArrayList(); - - if (elementType != null) - { - // iterate the collection and make a list of wrong elements. - Iterator i = c.iterator(); - while (i.hasNext()) - { - Object o = i.next(); - if (!elementType.isAssignableFrom(o.getClass())) - errc.add(o); - } - } - - if (errc != null && errc.size() > 0) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", elementType.getName()), // NOI18N - new ClassCastException(), errc.toArray()); - } - - boolean modified = false; - - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - - if (stateManager != null) - { - PersistenceManager pm = (PersistenceManager) stateManager.getPersistenceManagerInternal(); - - pm.acquireShareLock(); - - try - { - pm.acquireFieldUpdateLock(); - try - { - // Mark the field as dirty - stateManager.makeDirty(fieldName); - - for (Iterator iter = c.iterator(); iter.hasNext();) - { - Object o = iter.next(); - if (!super.contains(o)) - { - if (removed.remove(o) == false) - { - added.add(o); - } - - super.add(o); - modified = true; - } - } - - // Apply updates - if (modified) - { - stateManager.applyUpdates(fieldName, this); - } - return modified; - } - finally - { - pm.releaseFieldUpdateLock(); - } - } - catch (JDOUserException e) - { - Object[] failedObjects = e.getFailedObjectArray(); - - if (modified && (failedObjects != null)) - { - for (int i = 0; i < failedObjects.length; i++) - { - super.remove(failedObjects[i]); - } - } - - throw e; - } - finally - { - pm.releaseShareLock(); - } - } - } - - return super.addAll(c); - } - - /** - * Removes the given element from this set if it is present. - * - * @param o object to be removed from this set, if present. - * @return true if the set contained the specified element. - * @see java.util.HashSet - */ - public boolean remove(Object o) - { - // Mark the field as dirty - - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - - if (stateManager != null) - { - PersistenceManager pm = (PersistenceManager) stateManager.getPersistenceManagerInternal(); - - pm.acquireShareLock(); - - try - { - pm.acquireFieldUpdateLock(); - try - { - stateManager.makeDirty(fieldName); - - boolean modified = super.remove(o); - - if (modified) - { - if (added.remove(o) == false) - { - removed.add(o); - } - - stateManager.applyUpdates(fieldName, this); - } - - return modified; - } - finally - { - pm.releaseFieldUpdateLock(); - } - } - finally - { - pm.releaseShareLock(); - } - } - } - - return super.remove(o); - } - - - /** - * Removes from this collection all of its elements that are contained in - * the specified collection (optional operation).

    - * - * - * @param c elements to be removed from this collection. - * @return true if this collection changed as a result of the - * call. - * - * @throws UnsupportedOperationException removeAll is not supported - * by this collection. - * - * @see java.util.HashSet - * @see java.util.AbstractCollection - */ - public boolean removeAll(Collection c) - { - // Mark the field as dirty - - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - - if (stateManager != null) - { - PersistenceManager pm = (PersistenceManager) stateManager.getPersistenceManagerInternal(); - - pm.acquireShareLock(); - - try - { - pm.acquireFieldUpdateLock(); - try - { - stateManager.makeDirty(fieldName); - - for (Iterator iter = c.iterator(); iter.hasNext();) - { - Object o = iter.next(); - if (super.contains(o)) - { - if (added.remove(o) == false) - { - removed.add(o); - } - } - } - - boolean modified = super.removeAll(c); - - // Apply updates - if (modified) - { - stateManager.applyUpdates(fieldName, this); - } - - return modified; - } - finally - { - pm.releaseFieldUpdateLock(); - } - } - finally - { - pm.releaseShareLock(); - } - } - } - - return super.removeAll(c); - } - - /** - * Retains only the elements in this collection that are contained in the - * specified collection (optional operation). - * - * @return true if this collection changed as a result of the - * call. - * - * @throws UnsupportedOperationException if the retainAll method - * is not supported by this collection. - * - * @see java.util.HashSet - * @see java.util.AbstractCollection - */ - public boolean retainAll(Collection c) - { - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - - if (stateManager != null) - { - PersistenceManager pm = (PersistenceManager) stateManager.getPersistenceManagerInternal(); - - pm.acquireShareLock(); - - try - { - pm.acquireFieldUpdateLock(); - try - { - // Mark the field as dirty - stateManager.makeDirty(fieldName); - - for (Iterator iter = super.iterator(); iter.hasNext();) - { - Object o = iter.next(); - if (!c.contains(o)) - { - if (added.remove(o) == false) - { - removed.add(o); - } - } - } - - boolean modified = super.retainAll(c); - - // Apply updates - - if (modified) - { - stateManager.applyUpdates(fieldName, this); - } - - return modified; - } - finally - { - pm.releaseFieldUpdateLock(); - } - } - finally - { - pm.releaseShareLock(); - } - } - } - - return super.retainAll(c); - } - - /** - * Removes all of the elements from this set. - * @see java.util.HashSet - */ - public void clear() - { - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - - if (stateManager != null) - { - PersistenceManager pm = (PersistenceManager) stateManager.getPersistenceManagerInternal(); - - pm.acquireShareLock(); - - try - { - pm.acquireFieldUpdateLock(); - try - { - // Mark the field as dirty - stateManager.makeDirty(fieldName); - - removed.clear(); - added.clear(); - - for (Iterator iter = super.iterator(); iter.hasNext();) - { - removed.add(iter.next()); - } - - super.clear(); - - // Apply updates - stateManager.applyUpdates(fieldName, this); - return; - } - finally - { - pm.releaseFieldUpdateLock(); - } - } - finally - { - pm.releaseShareLock(); - } - } - } - - super.clear(); - } - - /** - * Creates and returns a copy of this object. - * - *

    Mutable Second Class Objects are required to provide a public - * clone method in order to allow for copying PersistenceCapable - * objects. In contrast to Object.clone(), this method must not throw a - * CloneNotSupportedException. - */ - public Object clone() - { - HashSet obj = (HashSet) super.clone(); - - // RESOLVE: check if added/removed should not be cleared - // for a deferred collection, but applyDeferredUpdates logic - // be used? - obj.unsetOwner(); - - return obj; - } - - /** - * Returns an iterator over the elements in this set. The elements - * are returned in no particular order. - * - * @return an Iterator over the elements in this set. - * @see java.util.ConcurrentModificationException - */ - public Iterator iterator() { - return new SCOHashIterator(super.iterator(), this); - } - - private class SCOHashIterator implements Iterator { - Iterator _iterator = null; - HashSet _caller = null; - Object lastReturned = null; - - SCOHashIterator(Iterator it, HashSet cl) { - _iterator = it; - _caller = cl; - } - - public boolean hasNext() { - return _iterator.hasNext(); - } - - public Object next() { - lastReturned = _iterator.next(); - return lastReturned; - } - - public void remove() { - // Check if called twice. - if (lastReturned == null) - throw new IllegalStateException(); - - if (_caller.owner != null) { - // Mark the field as dirty - StateManager stateManager = _caller.owner.jdoGetStateManager(); - - if (stateManager != null) { - PersistenceManager pm = (PersistenceManager) stateManager.getPersistenceManagerInternal(); - - pm.acquireShareLock(); - - try { - pm.acquireFieldUpdateLock(); - try - { - stateManager.makeDirty(_caller.fieldName); - - _iterator.remove(); - - if (added.remove(lastReturned) == false) { - removed.add(lastReturned); - } - - stateManager.applyUpdates(_caller.fieldName, _caller); - - } finally { - pm.releaseFieldUpdateLock(); - } - } - finally - { - pm.releaseShareLock(); - } - } - } else { - // No owner - regular HashSet operation. - _iterator.remove(); - } - lastReturned = null; - } - } - - // - // The following internal methods should be called under an outer lock such - // as fieldUpdateLock. There is no need to synchronize them. - // - - /** - * Creates and returns a copy of this object without resetting the owner and field value. - * - */ - public Object cloneInternal() - { - return super.clone(); - } - - /** - * Cleans removed and added lists - */ - public void reset() - { - // RESOLVE: do we need to synchronize this?? - if (added != null) - added.clear(); - - if (removed != null) - removed.clear(); - } - - /** - * Mark this HashSet as deferred. - */ - public void markDeferred() - { - isDeferred = true; - } - - /** - * Return true is this HashSet is deferred, false otherwise. - */ - public boolean isDeferred() - { - return isDeferred; - } - - /** - * If the HashSet is deferred, we first initialize the internal collection - * with c and they apply any deferred updates specified by the added and - * removed lists. - */ - public void applyDeferredUpdates(Collection c) - { - if (!isDeferred) - { - // should throw an exception?? - return; - } - - isDeferred = false; - addAllInternal(c); - - addAllInternal(added); - removeAllInternal(removed); - added.clear(); - removed.clear(); - } - - /** - * Adds an object to the list without recording changes if the HashSet is - * not deferred. Otherwise, add o to the added list. - */ - public void addInternal(Object o) - { - if (isDeferred) - { - if (removed.remove(o) == false) - { - added.add(o); - } - } - else - { - super.add(o); - } - } - - - /** - * Adds a Collection to the list without recording changes if the HashSet is - * not deferred. Otherwise, add o to the removed list. - */ - public void addAllInternal(Collection c) - { - if (c == null) - { - return; - } - - Iterator iter = c.iterator(); - - while (iter.hasNext()) - { - addInternal(iter.next()); - } - } - - /** - * @inheritDoc - */ - public void addToBaseCollection(Object o) - { - super.add(o); - } - - /* - * Remove c from the list if the HashSet is not deferred. - * Otherwise, add c to the removed list. - */ - public void removeAllInternal(Collection c) - { - if (c == null) - { - return; - } - - Iterator iter = c.iterator(); - - while (iter.hasNext()) - { - removeInternal(iter.next()); - } - } - - /** - * Returns added collection - * - * @return added collection of added elements - */ - public Collection getAdded() - { - return (Collection)added; - } - - /** - * Returns removed collection - * - * @return removed collection of removed elements - */ - public Collection getRemoved() - { - return (Collection)removed; - } - - - /** - * Clears Collection without notifing the owner - */ - public void clearInternal() - { - super.clear(); - this.reset(); - } - - /** - * Removes an element without notifing the owner - */ - public void removeInternal(Object o) - { - if (isDeferred) - { - if (added.remove(o) == false) - { - removed.add(o); - } - - } - else - { - super.remove(o); - } - } - - /** - * Nullifies references to the owner Object and Field - */ - public void unsetOwner() - { - this.owner = null; - this.fieldName = null; - this.elementType = null; - added.clear(); - removed.clear(); - } - - /** - * Returns the owner object of the SCO instance - * - * @return owner object - */ - public Object getOwner() - { - return this.owner; - } - - /** - * Returns the field name - * - * @return field name as java.lang.String - */ - public String getFieldName() - { - return this.fieldName; - } - - /** - * Marks object dirty - */ - public StateManager makeDirty() - { - StateManager stateManager = owner.jdoGetStateManager(); - - if (stateManager != null) - { - stateManager.makeDirty(fieldName); - } - - return stateManager; - } - - - /** - * Apply changes (can be a no-op) - */ - public void applyUpdates(StateManager sm, boolean modified) - { - if (modified && sm != null) - { - sm.applyUpdates(fieldName, this); - } - } - - /** - * Set the owner if this instance is not owned. - * @see SCOCollection#setOwner - * @param owner the new owner. - * @param fieldName the new field name. - * @param elementType the new element type as Class, or null if type - * is not checked or not supported. - */ - public void setOwner(Object owner, String fieldName, Class elementType) { - - if (this.owner != null) { - throw new JDOUserException(I18NHelper.getMessage( - messages1, "core.statemanager.anotherowner"), // NOI18N - new Object[]{this.owner, this.fieldName}); - } - if (owner instanceof PersistenceCapable) { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - this.elementType = elementType; - } - } - } - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlDate.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlDate.java deleted file mode 100644 index 2bfd8b2b1f4..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlDate.java +++ /dev/null @@ -1,288 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SqlDate.java - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sco; - -import java.io.ObjectStreamException; - -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable; -import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; -import com.sun.jdo.spi.persistence.support.sqlstore.SCO; -import com.sun.jdo.spi.persistence.support.sqlstore.SCODate; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; - -/** - * A mutable 2nd class object date. - * @author Marina Vatkina - * @version 1.0 - * @see java.sql.Date - */ -public class SqlDate - extends java.sql.Date - implements SCODate -{ - private transient PersistenceCapable owner; - - private transient String fieldName; - - /** - * Creates a SqlDate object that represents the time at which - * it was allocated. Assigns owning object and field name - * @param owner the owning object - * @param fieldName the owning field name - */ - public SqlDate(Object owner, String fieldName) - { - super(0); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - } - - /** - * Creates a SqlDate object that represents the given time - * in milliseconds. Assigns owning object and field name - * @param owner the owning object - * @param fieldName the owning field name - * @param date the number of milliseconds - */ - public SqlDate(Object owner, String fieldName, long date) - { - super(date); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - } - - /** - * Sets the SqlDate object to represent a point in time that is - * time milliseconds after January 1, 1970 00:00:00 GMT. - * - * @param time the number of milliseconds. - * @see java.sql.Date - */ - public void setTime(long time) { - this.makeDirty(); - super.setTime(time); - } - - /** - * Creates and returns a copy of this object. - * - *

    Mutable Second Class Objects are required to provide a public - * clone method in order to allow for copying PersistenceCapable - * objects. In contrast to Object.clone(), this method must not throw a - * CloneNotSupportedException. - */ - public Object clone() - { - SqlDate obj = (SqlDate) super.clone(); - - obj.owner = null; - obj.fieldName = null; - - return obj; - } - - /** -----------Depricated Methods------------------*/ - - /** - * Sets the year of this SqlDate object to be the specified - * value plus 1900. - * - * @param year the year value. - * @see java.util.Calendar - * @see java.sql.Date - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.YEAR, year + 1900). - */ - public void setYear(int year) { - this.makeDirty(); - super.setYear(year); - } - - /** - * Sets the month of this date to the specified value. - * @param month the month value between 0-11. - * @see java.util.Calendar - * @see java.sql.Date - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.MONTH, int month). - */ - public void setMonth(int month) { - this.makeDirty(); - super.setMonth(month); - } - - /** - * Sets the day of the month of this SqlDate object to the - * specified value. - * - * @param date the day of the month value between 1-31. - * @see java.util.Calendar - * @see java.sql.Date - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.DAY_OF_MONTH, int date). - */ - public void setDate(int date) { - this.makeDirty(); - super.setDate(date); - } - - /** ---------------- internal methods ------------------- */ - - /** - * Creates and returns a copy of this object without resetting the owner and field value. - * - */ - public Object cloneInternal() - { - return super.clone(); - } - - /** - * Sets the SqlDate object without notification of the Owner - * field. Used internaly to populate date from DB - * - * @param time the number of milliseconds. - * @see java.sql.Date - */ - public void setTimeInternal(long time) { - super.setTime(time); - } - - /** - * Nullifies references to the owner Object and Field - * NOTE: This method should be called under the locking of - * the owener' state manager. - */ - public void unsetOwner() - { - this.owner = null; - this.fieldName = null; - } - - /** - * Returns the owner object of the SCO instance - * - * @return owner object - */ - public Object getOwner() - { - return this.owner; - } - - /** - * Returns the field name - * - * @return field name as java.lang.String - */ - public String getFieldName() - { - return this.fieldName; - } - - /** - * Marks object dirty - */ - public StateManager makeDirty() - { - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - - if (stateManager != null) - { - PersistenceManager pm = (PersistenceManager) stateManager.getPersistenceManagerInternal(); - - pm.acquireShareLock(); - - try - { - synchronized (stateManager) - { - // - // Need to recheck owner because it could be set to - // null before we lock the stateManager. - // - if (owner != null) - { - stateManager.makeDirty(fieldName); - return stateManager; - } - } - } - finally - { - pm.releaseShareLock(); - } - } - } - return null; - } - /** - * Apply changes (no-op) - */ - public void applyUpdates(StateManager sm, boolean modified) - { - } - - /** - * Use java.sql.Date as the designated object to be used when writing - * this object to the stream. - * - * @return java.sql.Date that represents the same value. - * @throws ObjectStreamException. - */ - Object writeReplace() throws ObjectStreamException - { - return new java.sql.Date(getTime()); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlTime.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlTime.java deleted file mode 100644 index 15fad03b2de..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlTime.java +++ /dev/null @@ -1,287 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/** - * SqlTime.java - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sco; - -import java.io.ObjectStreamException; - -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable; -import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; -import com.sun.jdo.spi.persistence.support.sqlstore.SCO; -import com.sun.jdo.spi.persistence.support.sqlstore.SCODate; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; - -/** - * A mutable 2nd class object date. - * @author Marina Vatkina - * @version 1.0 - * @see java.sql.Time - */ -public class SqlTime - extends java.sql.Time - implements SCODate -{ - private transient PersistenceCapable owner; - - private transient String fieldName; - - /** - * Creates a SqlTime object that represents the time at which - * it was allocated. Assigns owning object and field name - * @param owner the owning object - * @param fieldName the owning field name - */ - public SqlTime(Object owner, String fieldName) - { - super(0); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - } - - /** - * Creates a SqlTime object that represents the given time - * in milliseconds. Assigns owning object and field name - * @param owner the owning object - * @param fieldName the owning field name - * @param date the number of milliseconds - */ - public SqlTime(Object owner, String fieldName, long date) - { - super(date); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - } - - /** - * Sets the SqlTime object to represent a point in time that is - * time milliseconds after January 1, 1970 00:00:00 GMT. - * - * @param time the number of milliseconds. - * @see java.sql.Time - */ - public void setTime(long time) { - this.makeDirty(); - super.setTime(time); - } - - /** - * Creates and returns a copy of this object. - * - *

    Mutable Second Class Objects are required to provide a public - * clone method in order to allow for copying PersistenceCapable - * objects. In contrast to Object.clone(), this method must not throw a - * CloneNotSupportedException. - */ - public Object clone() - { - SqlTime obj = (SqlTime) super.clone(); - - obj.owner = null; - obj.fieldName = null; - - return obj; - } - - /** -----------Depricated Methods------------------*/ - - /** - * Sets the hour of this SqlTime object to the specified value. - * - * @param hours the hour value. - * @see java.util.Calendar - * @see java.sql.Time - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.HOUR_OF_DAY, int hours). - */ - public void setHours(int hours) { - this.makeDirty(); - super.setHours(hours); - } - - /** - * Sets the minutes of this SqlTime object to the specified value. - * - * @param minutes the value of the minutes. - * @see java.util.Calendar - * @see java.sql.Time - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.MINUTE, int minutes). - */ - public void setMinutes(int minutes) { - this.makeDirty(); - super.setMinutes(minutes); - } - - /** - * Sets the seconds of this SqlTime to the specified value. - * - * @param seconds the seconds value. - * @see java.util.Calendar - * @see java.sql.Time - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.SECOND, int seconds). - */ - public void setSeconds(int seconds) { - this.makeDirty(); - super.setSeconds(seconds); - } - - /** ---------------- internal methods ------------------- */ - - /** - * Creates and returns a copy of this object without resetting the owner and field value. - * - */ - public Object cloneInternal() - { - return super.clone(); - } - - /** - * Sets the SqlTime object without notification of the Owner - * field. Used internaly to populate date from DB - * - * @param time the number of milliseconds. - * @see java.sql.Time - */ - public void setTimeInternal(long time) { - super.setTime(time); - } - - /** - * Nullifies references to the owner Object and Field - * NOTE: This method should be called under the locking of - * the owener' state manager. - */ - public void unsetOwner() - { - this.owner = null; - this.fieldName = null; - } - - /** - * Returns the owner object of the SCO instance - * - * @return owner object - */ - public Object getOwner() - { - return this.owner; - } - - /** - * Returns the field name - * - * @return field name as java.lang.String - */ - public String getFieldName() - { - return this.fieldName; - } - - /** - * Marks object dirty - */ - public StateManager makeDirty() - { - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - - if (stateManager != null) - { - PersistenceManager pm = (PersistenceManager) stateManager.getPersistenceManagerInternal(); - - pm.acquireShareLock(); - - try - { - synchronized (stateManager) - { - // - // Need to recheck owner because it could be set to - // null before we lock the stateManager. - // - if (owner != null) - { - stateManager.makeDirty(fieldName); - return stateManager; - } - } - } - finally - { - pm.releaseShareLock(); - } - } - } - return null; - } - - /** - * Apply changes (no-op) - */ - public void applyUpdates(StateManager sm, boolean modified) - { - } - - /** - * Use java.sql.Time as the designated object to be used when writing - * this object to the stream. - * - * @return java.sql.Time that represents the same value. - * @throws ObjectStreamException. - */ - Object writeReplace() throws ObjectStreamException - { - return new java.sql.Time(getTime()); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlTimestamp.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlTimestamp.java deleted file mode 100644 index 9f309620ea1..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/SqlTimestamp.java +++ /dev/null @@ -1,366 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/** - * SqlTimestamp.java - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sco; - -import java.io.ObjectStreamException; - -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable; -import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; -import com.sun.jdo.spi.persistence.support.sqlstore.SCO; -import com.sun.jdo.spi.persistence.support.sqlstore.SCODate; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; - -/** - * A mutable 2nd class object date. - * @author Marina Vatkina - * @version 1.0 - * @see java.sql.Timestamp - */ -public class SqlTimestamp - extends java.sql.Timestamp - implements SCODate -{ - - private transient PersistenceCapable owner; - - private transient String fieldName; - - /** - * Creates a SqlTimestamp object that represents the time at which - * it was allocated. Assigns owning object and field name - * @param owner the owning object - * @param fieldName the owning field name - */ - public SqlTimestamp(Object owner, String fieldName) - { - super(0); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - } - - /** - * Creates a SqlTimestamp object that represents the given time - * in milliseconds. Assigns owning object and field name - * @param owner the owning object - * @param fieldName the owning field name - * @param date the number of milliseconds - */ - public SqlTimestamp(Object owner, String fieldName, long date) - { - super(date); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - } - - /** - * Sets the SqlTimestamp object to represent a point in time that is - * time milliseconds after January 1, 1970 00:00:00 GMT. - * - * @param time the number of milliseconds. - * @see java.sql.Timestamp - */ - public void setTime(long time) { - this.makeDirty(); - super.setTime(time); - } - - /** - * Sets this Timestamp object's nanos value - * to the given value. - * - * @param n the new fractional seconds component - * @exception java.lang.IllegalArgumentException if the given argument - * is greater than 999999999 or less than 0 - * @see java.sql.Timestamp - */ - public void setNanos(int n) { - this.makeDirty(); - try { - super.setNanos(n); - } catch (IllegalArgumentException e) { - throw e; - } - } - - - /** - * Creates and returns a copy of this object. - * - *

    Mutable Second Class Objects are required to provide a public - * clone method in order to allow for copying PersistenceCapable - * objects. In contrast to Object.clone(), this method must not throw a - * CloneNotSupportedException. - */ - public Object clone() - { - SqlTimestamp obj = (SqlTimestamp) super.clone(); - - obj.owner = null; - obj.fieldName = null; - - return obj; - } - - /** -----------Depricated Methods------------------*/ - - /** - * Sets the year of this SqlTimestamp object to be the specified - * value plus 1900. - * - * @param year the year value. - * @see java.util.Calendar - * @see java.sql.Timestamp - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.YEAR, year + 1900). - */ - public void setYear(int year) { - this.makeDirty(); - super.setYear(year); - } - - /** - * Sets the month of this date to the specified value. - * @param month the month value between 0-11. - * @see java.util.Calendar - * @see java.sql.Timestamp - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.MONTH, int month). - */ - public void setMonth(int month) { - this.makeDirty(); - super.setMonth(month); - } - - /** - * Sets the day of the month of this SqlTimestamp object to the - * specified value. - * - * @param date the day of the month value between 1-31. - * @see java.util.Calendar - * @see java.sql.Timestamp - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.DAY_OF_MONTH, int date). - */ - public void setDate(int date) { - this.makeDirty(); - super.setDate(date); - } - - - /** - * Sets the hour of this SqlTimestamp object to the specified value. - * - * @param hours the hour value. - * @see java.util.Calendar - * @see java.sql.Timestamp - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.HOUR_OF_DAY, int hours). - */ - public void setHours(int hours) { - this.makeDirty(); - super.setHours(hours); - } - - /** - * Sets the minutes of this SqlTimestamp object to the specified value. - * - * @param minutes the value of the minutes. - * @see java.util.Calendar - * @see java.sql.Timestamp - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.MINUTE, int minutes). - */ - public void setMinutes(int minutes) { - this.makeDirty(); - super.setMinutes(minutes); - } - - /** - * Sets the seconds of this SqlTimestamp to the specified value. - * - * @param seconds the seconds value. - * @see java.util.Calendar - * @see java.sql.Timestamp - * @deprecated As of JDK version 1.1, - * replaced by Calendar.set(Calendar.SECOND, int seconds). - */ - public void setSeconds(int seconds) { - this.makeDirty(); - super.setSeconds(seconds); - } - - /** ---------------- internal methods ------------------- */ - - /** - * Creates and returns a copy of this object without resetting the owner and field value. - * - */ - public Object cloneInternal() - { - return super.clone(); - } - - /** - * Sets the SqlTimestamp object without notification of the Owner - * field. Used internaly to populate date from DB - * - * @param time the number of milliseconds. - * @see java.sql.Timestamp - */ - public void setTimeInternal(long time) { - super.setTime(time); - } - - /** - * Sets the SqlTimestamp object's nanos value without - * notification of the Owner field. Used internaly to populate date from DB - * - * @param n the new fractional seconds component - * @exception java.lang.IllegalArgumentException if the given argument - * is greater than 999999999 or less than 0 - * @see java.sql.Timestamp - */ - public void setNanosInternal(int n) { - super.setNanos(n); - } - - /** - * Nullifies references to the owner Object and Field - * NOTE: This method should be called under the locking of - * the owener' state manager. - */ - public void unsetOwner() - { - this.owner = null; - this.fieldName = null; - } - - /** - * Returns the owner object of the SCO instance - * - * @return owner object - */ - public Object getOwner() - { - return this.owner; - } - - /** - * Returns the field name - * - * @return field name as java.lang.String - */ - public String getFieldName() - { - return this.fieldName; - } - - /** - * Marks object dirty - */ - public StateManager makeDirty() - { - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - - if (stateManager != null) - { - PersistenceManager pm = (PersistenceManager) stateManager.getPersistenceManagerInternal(); - - pm.acquireShareLock(); - - try - { - synchronized (stateManager) - { - // - // Need to recheck owner because it could be set to - // null before we lock the stateManager. - // - if (owner != null) - { - stateManager.makeDirty(fieldName); - return stateManager; - } - } - } - finally - { - pm.releaseShareLock(); - } - } - } - return null; - } - - /** - * Apply changes (no-op) - */ - public void applyUpdates(StateManager sm, boolean modified) - { - } - - /** - * Use java.sql.Timestamp as the designated object to be used when writing - * this object to the stream. - * - * @return java.sql.Timestamp that represents the same value. - * @throws ObjectStreamException. - */ - Object writeReplace() throws ObjectStreamException - { - java.sql.Timestamp t = new java.sql.Timestamp(getTime()); - t.setNanos(this.getNanos()); - return t; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/Vector.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/Vector.java deleted file mode 100644 index c4c5ab8fc0c..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sco/Vector.java +++ /dev/null @@ -1,892 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * sco.Vector.java - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sco; - -import java.util.Collection; -import java.util.Iterator; -import java.util.ResourceBundle; - -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.api.persistence.support.JDOUnsupportedOptionException; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable; -import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; -import com.sun.jdo.spi.persistence.support.sqlstore.SCOCollection; -import org.glassfish.persistence.common.I18NHelper; - - -/** - * A mutable 2nd class object date. - * @author Marina Vatkina - * @version 1.0 - * @see java.util.Vector - */ -public class Vector - extends java.util.Vector - implements SCOCollection -{ - - private transient PersistenceCapable owner; - - private transient String fieldName; - - private transient Class elementType; - - private transient boolean allowNulls; - - private transient java.util.Vector added = new java.util.Vector(); - - private transient java.util.Vector removed = new java.util.Vector(); - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.impl.Bundle", // NOI18N - Vector.class.getClassLoader()); - - private final static ResourceBundle messages1 = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - Vector.class.getClassLoader()); - - /** - * Constructs an empty vector so that its internal data array - * has size 10 and its standard capacity increment is - * zero. Assigns owning object and field name - * @param owner the owning object - * @param fieldName the owning field name - * @param elementType the element types allowed - * @param allowNulls true if nulls are allowed - */ - public Vector(Object owner, String fieldName, Class elementType, boolean allowNulls) - { - super(); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - this.elementType = elementType; - this.allowNulls = allowNulls; - } - - /** - * Constructs an empty vector with the specified initial capacity and - * with its capacity increment equal to zero. Assigns owning object and field name - * - * @param owner the owning object - * @param fieldName the owning field name - * @param elementType the element types allowed - * @param allowNulls true if nulls are allowed - * @param initialCapacity the initial capacity of the vector. - * @exception IllegalArgumentException if the specified initial capacity - * is negative - */ - public Vector(Object owner, String fieldName, - Class elementType, boolean allowNulls, int initialCapacity) - { - super(initialCapacity); - if (owner instanceof PersistenceCapable) - { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - } - this.elementType = elementType; - this.allowNulls = allowNulls; - } - - /** ------------------Public Methods----------------*/ - - /** - * Sets the component at the specified index of this - * vector to be the specified object. The previous component at that - * position is discarded.

    - * - * @param obj what the component is to be set to. - * @param index the specified index. - * @exception ArrayIndexOutOfBoundsException if the index was invalid. - * @see java.util.Vector - */ - public synchronized void setElementAt(Object obj, int index) { - - throwUnsupportedOption(); - - if (obj == null) - { - if (allowNulls == false) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - // It is actualy remove - this.removeElementAt(index); - } - - if (elementType == null || elementType.isAssignableFrom(obj.getClass())) - { - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - Object o = super.elementAt(index); - super.setElementAt(obj, index); - - if (added.remove(o) == false) - removed.add(o); - - if (removed.remove(obj) == false) - added.add(obj); - - // Apply updates - this.applyUpdates(stateManager, true); - - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", elementType.getName()), // NOI18N - new ClassCastException(), new Object[] {obj}); - } - - } - - - /** - * Deletes the component at the specified index. - * - * @param index the index of the object to remove. - * @exception ArrayIndexOutOfBoundsException if the index was invalid. - * @see java.util.Vector - */ - public synchronized void removeElementAt(int index) { - - throwUnsupportedOption(); - - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - Object obj = super.elementAt(index); - super.removeElementAt(index); - if (added.remove(obj) == false) - removed.add(obj); - - // Apply updates - this.applyUpdates(stateManager, true); - - } - - /** - * Inserts the specified object as a component in this vector at the - * specified index. - * - * @param obj the component to insert. - * @param index where to insert the new component. - * @exception ArrayIndexOutOfBoundsException if the index was invalid. - * @see java.util.Vector - */ - public synchronized void insertElementAt(Object obj, int index) { - if (allowNulls == false && obj == null) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - - if (elementType == null || elementType.isAssignableFrom(obj.getClass())) - { - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - super.insertElementAt(obj, index); - if (removed.remove(obj) == false) - added.add(obj); - - // Apply updates - this.applyUpdates(stateManager, true); - - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", elementType.getName()), // NOI18N - new ClassCastException(), new Object[] {obj}); - } - - } - - /** - * Adds the specified component to the end of this vector, - * increasing its size by one. - * - * @param obj the component to be added. - * @see java.util.Vector - */ - public synchronized void addElement(Object obj) { - if (allowNulls == false && obj == null) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - - if (elementType == null || elementType.isAssignableFrom(obj.getClass())) - { - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - super.addElement(obj); - if (removed.remove(obj) == false) - added.add(obj); - - // Apply updates - this.applyUpdates(stateManager, true); - - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", elementType.getName()), // NOI18N - new ClassCastException(), new Object[] {obj}); - } - - } - - /** - * Removes the first (lowest-indexed) occurrence of the argument - * from this vector. - * - * @param obj the component to be removed. - * @return true if the argument was a component of this - * vector; false otherwise. - * @see java.util.Vector - */ - public synchronized boolean removeElement(Object obj) { - - // Because java.util.Vector.removeElement(Object) calls internally removeElementAt(int) - // which is not supported, we cannot rely on jdk. We need to process remove here. - - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - int i = super.indexOf(obj); - if (i > -1) { - super.removeElementAt(i); - - if (added.remove(obj) == false) - removed.add(obj); - - // Apply updates - this.applyUpdates(stateManager, true); - return true; - } - return false; - - } - - /** - * Removes all components from this vector and sets its size to zero.

    - * - * @see java.util.Vector - */ - public synchronized void removeAllElements() { - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - for (Iterator iter = super.iterator(); iter.hasNext();) { - Object o = iter.next(); - if (added.remove(o) == false) - removed.add(o); - } - added.clear(); - - super.removeAllElements(); - - // Apply updates - this.applyUpdates(stateManager, true); - - } - - - - /** - * Replaces the element at the specified position in this Vector with the - * specified element. - * - * @param index index of element to replace. - * @param element element to be stored at the specified position. - * @return the element previously at the specified position. - * @exception ArrayIndexOutOfBoundsException index out of range - * (index < 0 || index >= size()). - * @exception IllegalArgumentException fromIndex > toIndex. - * @see java.util.Vector - */ - public synchronized Object set(int index, Object element) { - - throwUnsupportedOption(); - - if (element == null) - { - if (allowNulls == false) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - // It is actualy remove - return this.remove(index); - } - if (elementType == null || elementType.isAssignableFrom(element.getClass())) - { - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - Object o = super.set(index, element); - - if (added.remove(o) == false) - removed.add(o); - - if (removed.remove(element) == false) - added.add(element); - - // Apply updates - this.applyUpdates(stateManager, true); - - return o; - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", elementType.getName()), // NOI18N - new ClassCastException(), new Object[] {element}); - } - - } - - - /** - * Appends the specified element to the end of this Vector. - * - * @param o element to be appended to this Vector. - * @return true (as per the general contract of Collection.add). - * @see java.util.Vector - */ - public synchronized boolean add(Object o) { - if (allowNulls == false && o == null) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - - if (elementType == null || elementType.isAssignableFrom(o.getClass())) - { - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - if (removed.remove(o) == false) - added.add(o); - - boolean modified = super.add(o); - - // Apply updates - this.applyUpdates(stateManager, modified); - - return modified; - - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", elementType.getName()), // NOI18N - new ClassCastException(), new Object[] {o}); - } - - } - - /** - * Removes the first occurrence of the specified element in this Vector - * If the Vector does not contain the element, it is unchanged. - * - * @param o element to be removed from this Vector, if present. - * @return true if the Vector contained the specified element. - * @see java.util.Vector - */ - public boolean remove(Object o) { - return this.removeElement(o); - } - - /** - * Inserts the specified element at the specified position in this Vector. - * - * @param index index at which the specified element is to be inserted. - * @param element element to be inserted. - * @exception ArrayIndexOutOfBoundsException index is out of range - * (index < 0 || index > size()). - * @see java.util.Vector - */ - public void add(int index, Object element) { - this.insertElementAt(element, index); - } - - /** - * Removes the element at the specified position in this Vector. - * shifts any subsequent elements to the left (subtracts one from their - * indices). Returns the element that was removed from the Vector. - * - * @param index the index of the element to removed. - * @exception ArrayIndexOutOfBoundsException index out of range (index - * < 0 || index >= size()). - * @see java.util.Vector - */ - public synchronized Object remove(int index) { - - throwUnsupportedOption(); - - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - Object obj = super.remove(index); - - if (added.remove(obj) == false) - removed.add(obj); - - // Apply updates - this.applyUpdates(stateManager, true); - - return obj; - } - - /** - * Removes all of the elements from this Vector. The Vector will - * be empty after this call returns (unless it throws an exception). - * - * @see java.util.Vector - */ - public void clear() { - this.removeAllElements(); - } - - /** - * Appends all of the elements in the specified Collection to the end of - * this Vector, in the order that they are returned by the specified - * Collection's Iterator. - * - * @param c elements to be inserted into this Vector. - * @see java.util.Vector - */ - public synchronized boolean addAll(Collection c) { - if (!allowNulls && c.contains(null)) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - - java.util.Vector errc = new java.util.Vector(); - if (elementType != null) - { - // iterate the collection and make a list of wrong elements. - Iterator i = c.iterator(); - while (i.hasNext()) - { - Object o = i.next(); - if (!elementType.isAssignableFrom(o.getClass())) - errc.add(o); - } - } - if (!errc.isEmpty()) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", (elementType != null ? elementType.getName() : "")), // NOI18N - new ClassCastException(), errc.toArray()); - } - - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - removed.removeAll(c); - added.addAll(c); - - boolean modified = super.addAll(c); - - // Apply updates - this.applyUpdates(stateManager, modified); - - return modified; - } - - /** - * Removes from this Vector all of its elements that are contained in the - * specified Collection. - * - * @return true if this Vector changed as a result of the call. - * @see java.util.Vector - */ - public synchronized boolean removeAll(Collection c) { - boolean modified = false; - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - Iterator e = c.iterator(); - while (e.hasNext()) { - Object o = e.next(); - if(super.contains(o)) { - removeInternal(o); - if (added.remove(o) == false) - removed.add(o); - modified = true; - } - } - - // Apply updates - this.applyUpdates(stateManager, modified); - - return modified; - } - - /** - * Inserts all of the elements in in the specified Collection into this - * Vector at the specified position. Shifts the element currently at - * that position (if any) and any subsequent elements to the right - * (increases their indices). The new elements will appear in the Vector - * in the order that they are returned by the specified Collection's - * iterator. - * - * @param index index at which to insert first element - * from the specified collection. - * @param c elements to be inserted into this Vector. - * @exception ArrayIndexOutOfBoundsException index out of range (index - * < 0 || index > size()). - * @see java.util.Vector - */ - public synchronized boolean addAll(int index, Collection c) { - if (!allowNulls && c.contains(null)) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.nulls_not_allowed")); // NOI18N - } - - java.util.Vector errc = new java.util.Vector(); - if (elementType != null) - { - // iterate the collection and make a list of wrong elements. - Iterator i = c.iterator(); - while (i.hasNext()) - { - Object o = i.next(); - if (!elementType.isAssignableFrom(o.getClass())) - errc.add(o); - } - } - if (!errc.isEmpty()) - { - throw new JDOUserException(I18NHelper.getMessage(messages, - "sco.classcastexception", (elementType != null ? elementType.getName() : "")), // NOI18N - new ClassCastException(), errc.toArray()); - } - - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - removed.removeAll(c); - added.addAll(c); - - boolean modified = super.addAll(index, c); - - // Apply updates - this.applyUpdates(stateManager, modified); - - return modified; - } - - /** - * Retains only the elements in this Vector that are contained in the - * specified Collection. - * - * @return true if this Vector changed as a result of the call. - * @see java.util.Vector - */ - public synchronized boolean retainAll(Collection c) { - boolean modified = false; - java.util.Vector v = new java.util.Vector(); - - // Mark the field as dirty - StateManager stateManager = this.makeDirty(); - - for (Iterator iter = super.iterator(); iter.hasNext();) - { - Object o = iter.next(); - if (!c.contains(o)) - { - v.add(o); - if (added.remove(o) == false) - removed.add(o); - - modified = true; - } - } - - // Now remove the rest (stored in "v") - for (Iterator iter = v.iterator(); iter.hasNext();) - { - removeInternal(iter.next()); - } - - // Apply updates - this.applyUpdates(stateManager, modified); - - - return modified; - } - - /** - * Creates and returns a copy of this object. - * - *

    Mutable Second Class Objects are required to provide a public - * clone method in order to allow for copying PersistenceCapable - * objects. In contrast to Object.clone(), this method must not throw a - * CloneNotSupportedException. - */ - public Object clone() - { - Vector obj = (Vector)super.clone(); - obj.unsetOwner(); - - return obj; - } - - /** - * Creates and returns a copy of this object without resetting the owner and field value. - * - */ - public Object cloneInternal() - { - return super.clone(); - } - - /** - * Cleans removed and added lists - */ - public void reset() - { - added.clear(); - removed.clear(); - } - - - public void markDeferred() - { - } - - public boolean isDeferred() - { - return false; - } - - public void applyDeferredUpdates(Collection c) - { - super.addAll(c); - } - - /** - * Adds an object to the list without recording changes - */ - public void addInternal(Object o) - { - super.addElement(o); - } - - - /** - * Adds a Collection to the list without recording changes - */ - public void addAllInternal(Collection c) - { - super.addAll(c); - } - - /** - * @inheritDoc - */ - public void addToBaseCollection(Object o) - { - super.add(o); - } - - /** - * Removes from this collection without recording changes - */ - public void removeAllInternal(Collection c) - { - super.removeAll(c); - } - - /** - * Returns added collection - * - * @return added collection of added elements - */ - public Collection getAdded() - { - return (Collection)added; - } - - /** - * Returns removed collection - * - * @return removed collection of removed elements - */ - public Collection getRemoved() - { - return (Collection)removed; - } - - /** - * Clears Collection without notifing the owner - */ - public void clearInternal() - { - //Cannot call super.clear() as it internally calls removeAllElements() - // which causes marking field as dirty. - - int s = super.size() - 1; - - // Need to loop backwards to avoid resetting size of the collection - for (int i = s; i > -1; i--) - { - super.removeElementAt(i); - } - - this.reset(); - } - - - /** - * Removes an element without notifing the owner - */ - public void removeInternal(Object o) - { - int i = super.indexOf(o); - super.remove(i); - } - - /** - * Nullifies references to the owner Object and Field - */ - public void unsetOwner() - { - this.owner = null; - this.fieldName = null; - this.elementType = null; - added.clear(); - removed.clear(); - } - - /** - * Returns the owner object of the SCO instance - * - * @return owner object - */ - public Object getOwner() - { - return this.owner; - } - - /** - * Returns the field name - * - * @return field name as java.lang.String - */ - public String getFieldName() - { - return this.fieldName; - } - - /** - * Marks object dirty - */ - public StateManager makeDirty() - { - if (owner != null) - { - StateManager stateManager = owner.jdoGetStateManager(); - if (stateManager != null) - { - stateManager.makeDirty(fieldName); - } - - return stateManager; - } - return null; - } - /** - * Apply changes (can be a no-op) - */ - public void applyUpdates(StateManager sm, boolean modified) - { - - if (modified && sm != null) - { - sm.applyUpdates(fieldName, this); - } - } - - /** - * Throw JDOUnsupportedOptionException - */ - private void throwUnsupportedOption() - { - // Index operation that changes the underline collection - // is not supported in 2_beta. Bug 4370474 - throw new JDOUnsupportedOptionException(I18NHelper.getMessage(messages, - "sco.not_supported")); //NOI18N - } - - /** - * Set the owner if this instance is not owned. - * @see SCOCollection#setOwner - * @param owner the new owner. - * @param fieldName the new field name. - * @param elementType the new element type as Class, or null if type - * is not to be checked. - */ - public void setOwner(Object owner, String fieldName, Class elementType) { - - if (this.owner != null) { - throw new JDOUserException(I18NHelper.getMessage( - messages1, "core.statemanager.anotherowner"), // NOI18N - new Object[]{this.owner, this.fieldName}); - } - if (owner instanceof PersistenceCapable) { - this.owner = (PersistenceCapable)owner; - this.fieldName = fieldName; - this.elementType = elementType; - } - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/ResultDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/ResultDesc.java deleted file mode 100644 index 822583f8528..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/ResultDesc.java +++ /dev/null @@ -1,807 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018] Payara Foundation and/or affiliates - -/* - * ResultDesc.java - * - * Created on March 3, 2000 - * - */ - - -package com.sun.jdo.spi.persistence.support.sqlstore.sql; - -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.spi.persistence.support.sqlstore.*; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ClassDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.FieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ForeignFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.ColumnRef; -import org.glassfish.common.util.StringHelper; -import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -import java.io.*; -import java.lang.reflect.Field; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Timestamp; -import java.sql.Types; -import java.util.*; - - -/** - * This class is used by the store to materialize objects from a - * JDBC resultset. Each ResultDesc binds values from the ResultSet - * to instances of a persistence capable class. - */ -public class ResultDesc { - - /** List of ResultFieldDesc/ResultDesc. */ - private List fields; - - /** List of field names corresponding to fields. */ - private List fieldNames; - - /** Class descriptor. */ - private ClassDesc config; - - /** Indicates whether this ResultDesc is prefetching relationship fields. */ - private boolean prefetching; - - /** - * Maps ForeignFieldDesc to ResultDesc. The ForeignFieldDesc correspond to - * prefetched collection relationship fields. The ResultDesc is the - * associated result descriptor. - */ - private Map prefetchedCollectionFields; - - /** The field that is the recipient of the value from this ResultDesc. */ - private ForeignFieldDesc parentField; - - /** Holds the projected local field. */ - private ResultFieldDesc fieldProjection; - - /** Result type for aggregate queries. */ - private int aggregateResultType = FieldTypeEnumeration.NOT_ENUMERATED; - - /** The logger. */ - private static Logger logger = LogHelperSQLStore.getLogger(); - - /** I18N message handler. */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - ResultDesc.class.getClassLoader()); - - private boolean debug; - - public ResultDesc(ClassDesc config, int aggregateResultType) { - fields = new ArrayList(); - fieldNames = new ArrayList(); - this.config = config; - this.aggregateResultType = aggregateResultType; - } - - /** Create and add a ResultFieldDesc for the given fieldDesc and columnRef. - * @param fieldDesc - the field descriptor for the field that is the recipient of - * the result value indicated by the columnRef. - * @param columnRef - indicates which column in the resultset contains the value. - * @param projection - indicates whether the column is a projection - */ - public void addField(LocalFieldDesc fieldDesc, ColumnRef columnRef, - boolean projection) { - - ResultFieldDesc rfd = new ResultFieldDesc(fieldDesc, columnRef); - // remember the projection - if (projection) { - this.fieldProjection = rfd; - } - fields.add(rfd); - fieldNames.add(fieldDesc.getName()); - } - - private void addField(ResultDesc rs) { - if (rs != null) { - fields.add(rs); - fieldNames.add(null); - } - } - - public void setPrefetching() { - prefetching = true; - } - - /** Set the field that is the recipient of the result of this ResultDesc. - * @param parentField - field descriptor for the recipient field of the value - * of this ResultDesc. - */ - public void setParentField(ForeignFieldDesc parentField) { - this.parentField = parentField; - } - - /** - * Get the value to be bound to the field described by fieldDesc - * from the result set. The conversion to the correct field type might be done - * by the driver. If we can't get the correct type from the driver, the - * conversion in done in FieldDesc::convertValue. - * - * @param resultData Result set from the database. - * @param columnRef columnRef for the field. - * @param fieldDesc Field descriptor of the field to be bound. - * @param sm State manager for the persistent object being bound. - * @return - * Object with the correct type defined in fieldDesc. - */ - private static Object getConvertedObject(ResultSet resultData, - ColumnRef columnRef, - FieldDesc fieldDesc, - StateManager sm) { - Object retVal = null; - try { - retVal = getValueFromResultSet(resultData, columnRef, fieldDesc.getEnumType()); - // Create an SCO object in case we want to populate a pc. - if (retVal != null) { - // Create a SCO instance in case we want to populate a pc. - Object scoVal = createSCO(retVal, sm, fieldDesc); - if (scoVal != null) { - retVal = scoVal; - } - } - } catch (SQLException sqlException) { - //The driver is not able to convert for us - //We would use resultData.getObject(index) below - //and let FieldDesc::convertValue() do the conversion - //Nothing to do here - try { - // Get the generic object and let FieldDesc::convertValue() deal with it. - // This will return an SCO as needed. - retVal = fieldDesc.convertValue(resultData.getObject(columnRef.getIndex()), sm); - } - catch (Exception e) { - //Resolve : The original code was returning null and not throwing any - //exception in this case. Should we also do that???? - logger.log(Logger.WARNING,"sqlstore.exception.log",e); - } - } - - return retVal; - } - - /** - * Gets value at index from resultData. resultData is queried for passed resultType. - * @param resultData The resultset object. - * @param columnRef columnRef for the field. - * @param resultType Type of expected result. - * @return value from resultData at index. - */ - private static Object getValueFromResultSet(ResultSet resultData, - ColumnRef columnRef, - int resultType) throws SQLException { - int index = columnRef.getIndex(); - int columnType = columnRef.getColumnType(); - - return getValueFromResultSet(resultData, index, resultType, columnType); - } - - /** - * Gets value at index from resultData.resultData - * is queried for passed resultType. - * - * @param resultData The resultset object. - * @param index Index at which result needs to be obtained. - * @param resultType Type of expected result. - * @return value from resultData at index. - */ - private static Object getValueFromResultSet(ResultSet resultData, - int index, - int resultType) throws SQLException { - - // Types.OTHER is passed as a placeholder here. - // It implies don't care for columnType. - return getValueFromResultSet(resultData, index, resultType, Types.OTHER); - } - - - /** - * Gets value at index from resultData. resultData is queried for passed resultType. - * @param resultData The resultset object. - * @param index Index at which result needs to be obtained. - * @param resultType Type of expected result. - * @param columnType Types of column at index index as represented by - * java.sql.Types. - * @return value from resultData at index. - */ - private static Object getValueFromResultSet(ResultSet resultData, - int index, - int resultType, - int columnType) throws SQLException { - - Object retVal = null; - try { - switch(resultType) { - case FieldTypeEnumeration.BOOLEAN_PRIMITIVE : - case FieldTypeEnumeration.BOOLEAN : - boolean booleanValue = resultData.getBoolean(index); - if(!resultData.wasNull() ) - retVal = Boolean.valueOf(booleanValue); - break; - case FieldTypeEnumeration.CHARACTER_PRIMITIVE : - case FieldTypeEnumeration.CHARACTER : - String strValue = resultData.getString(index); - if(strValue != null) - retVal = FieldDesc.getCharFromString(strValue); - break; - case FieldTypeEnumeration.BYTE_PRIMITIVE : - case FieldTypeEnumeration.BYTE : - byte byteValue = resultData.getByte(index); - if(!resultData.wasNull() ) - retVal = Byte.valueOf(byteValue); - break; - case FieldTypeEnumeration.SHORT_PRIMITIVE : - case FieldTypeEnumeration.SHORT : - short shortValue = resultData.getShort(index); - if(!resultData.wasNull() ) - retVal = Short.valueOf(shortValue); - break; - case FieldTypeEnumeration.INTEGER_PRIMITIVE : - case FieldTypeEnumeration.INTEGER : - int intValue = resultData.getInt(index); - if(!resultData.wasNull() ) - retVal = Integer.valueOf(intValue); - break; - case FieldTypeEnumeration.LONG_PRIMITIVE : - case FieldTypeEnumeration.LONG : - long longValue = resultData.getLong(index); - if(!resultData.wasNull() ) - retVal = Long.valueOf(longValue); - break; - case FieldTypeEnumeration.FLOAT_PRIMITIVE : - case FieldTypeEnumeration.FLOAT : - float floatValue = resultData.getFloat(index); - if(!resultData.wasNull() ) - retVal = Float.valueOf(floatValue); - break; - case FieldTypeEnumeration.DOUBLE_PRIMITIVE : - case FieldTypeEnumeration.DOUBLE : - double doubleValue = resultData.getDouble(index); - if(!resultData.wasNull() ) - retVal = Double.valueOf(doubleValue); - break; - case FieldTypeEnumeration.BIGDECIMAL : - case FieldTypeEnumeration.BIGINTEGER : - retVal = resultData.getBigDecimal(index); - if ((resultType == FieldTypeEnumeration.BIGINTEGER) && (retVal != null)) { - retVal = ( (java.math.BigDecimal) retVal).toBigInteger(); - } - break; - case FieldTypeEnumeration.STRING : - if(LocalFieldDesc.isCharLobType(columnType) ) { - Reader reader = resultData.getCharacterStream(index); - retVal = readCharacterStreamToString(reader); - } else { - retVal = resultData.getString(index); - } - break; - case FieldTypeEnumeration.SQL_DATE : - retVal = resultData.getDate(index); - break; - case FieldTypeEnumeration.SQL_TIME : - retVal = resultData.getTime(index); - break; - case FieldTypeEnumeration.UTIL_DATE : - case FieldTypeEnumeration.SQL_TIMESTAMP : - //Variable ts is introduced to avoid cast - Timestamp ts; - ts = resultData.getTimestamp(index); - if (resultType == FieldTypeEnumeration.UTIL_DATE && ts != null) { - retVal = new Date(ts.getTime()); - } else { - retVal = ts; - } - break; - case FieldTypeEnumeration.ARRAY_BYTE_PRIMITIVE : - InputStream is = resultData.getBinaryStream(index); - retVal = readInputStreamToByteArray(is); - break; - case FieldTypeEnumeration.NOT_ENUMERATED : - //RESOLVE: - //We should only get here for getting values for hidden fields. - //hiddenFields does not have their java type initialized. Its sort of difficult - //to initialize java type without major re-org of the code in ClassDesc :(. - //But once it is done, we should throw an exception if we reach here. - // - //For now retrieve value for hidden fields as object as they are any way - //stored as Object in SQLStatemanager. - retVal = resultData.getObject(index); - break; - default : - //If we reach here, a new type has been added to FieldTypeEnumeration. - //Please update this method to handle new type. - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "sqlstore.resultdesc.unknownfieldtype",resultType) ); - } //switch - } catch (SQLException e) { - if(logger.isLoggable(Logger.WARNING) ) { - Object items[] = - { index, resultType, columnType, e}; - logger.log(Logger.WARNING,"sqlstore.resultdesc.errorgettingvalefromresulset",items); - } - throw e; - } - - // RESOLVE: Following is a workaround till we are able to initialize java type for hidden fields. - // When we are able to determine java type of hidden fields, this code should go back - // to case FieldTypeEnumeration.String - if (LocalFieldDesc.isFixedCharType(columnType) - // For Character fields, this method is expected to return - // Character. Do not convert them to String. - && resultType != FieldTypeEnumeration.CHARACTER_PRIMITIVE - && resultType != FieldTypeEnumeration.CHARACTER - && retVal != null) { - // To support char columns, we rtrim fields mapped to fixedchar. - retVal = StringHelper.rtrim(retVal.toString()); - } - - return retVal; - } - - /** - * Creates a SCO corresponding to value. - * Currently used for dates. The actual SCO conversion for dates is done in - * {@link com.sun.jdo.spi.persistence.support.sqlstore.model.FieldDesc#createSCO(java.lang.Object, com.sun.jdo.spi.persistence.support.sqlstore.StateManager)}. - * - * @param value Value to be converted. - * @param sm StateManager of the persistent object being populated. - * @param fieldDesc Field being bound. - * @return New SCO instance, null if no SCO was created. - */ - private static Object createSCO(Object value, StateManager sm, FieldDesc fieldDesc) { - Object retVal = null; - - if (fieldDesc != null) { - int enumType = fieldDesc.getEnumType(); - - // Need to convert Date fields into their SCO equivalents - switch(enumType) { - case FieldTypeEnumeration.UTIL_DATE: - case FieldTypeEnumeration.SQL_DATE: - case FieldTypeEnumeration.SQL_TIME: - case FieldTypeEnumeration.SQL_TIMESTAMP: - - retVal = fieldDesc.createSCO(value, sm); - break; - default: - } - } - - return retVal; - } - - /** - * Reads from input stream is into a byte array. - * - * @param is Input stream obtained from the database. - * @return A byte array read from the input stream. - * @see java.sql.ResultSet#getBinaryStream(int) - */ - private static byte[] readInputStreamToByteArray(InputStream is) { - byte[] byteArray = null; - if (is != null) { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - byte[] chunk = new byte[2000]; - int read = 0; - - try { - while ((read = is.read(chunk)) != -1) { - bos.write(chunk, 0, read); - } - byteArray = bos.toByteArray(); - } catch (IOException e) { - // log the exception and don't return any value - // Eating the exception here. As the caller also does not - // know how to deal with this exception. - logger.log(Logger.WARNING,"sqlstore.exception.log",e); - } - } - return byteArray; - } - - /** - * Reads from the character stream reader into a String. - * - * @param reader Reader obtained from the database. - * @return A String read from the reader. - * @see java.sql.ResultSet#getCharacterStream(int) - */ - private static String readCharacterStreamToString(Reader reader) { - String retVal = null; - if(reader != null) { - BufferedReader buffReader = new BufferedReader(reader); - StringBuilder buff = new StringBuilder(); - try { - int charRead; - while( (charRead = buffReader.read() ) != -1) { - buff.append( (char)charRead ); - } - } catch (IOException e) { - // log the exception and don't return any value - // Eating the exception here. As the caller also does not - // know how to deal with this exception. - logger.log(Logger.WARNING,"sqlstore.exception.log",e); - } - retVal = buff.toString(); - } - return retVal; - } - - /** - * Materialize data from the result set into objects. - * - * @param pm - the PersistenceManager responsible for instantiating objects - * @param resultData - JDBC ResultSet containing the data to be materialized - * @return - * Collection containing the resulting objects. For aggregate queries, - * the returned object type is specified by the caller. - */ - public Object getResult(PersistenceManager pm, ResultSet resultData) throws SQLException { - Object result = null; - - debug = logger.isLoggable(Logger.FINEST); - - if (!isAggregate()) { - Collection resultCollection = new ArrayList(); - - // Fill in the data from the current row of resultData. - while (resultData.next()) { - Object resultObject = null; - - if (fieldProjection != null) { - resultObject = getProjectedField(resultData); - } else { - resultObject = setFields(pm, resultData); - } - // resultCollection might contain resultObject if prefetch - // is enabled. Do not add duplicates. Duplicates are required - // for projection queries - if (!prefetching || !resultCollection.contains(resultObject)) { - resultCollection.add(resultObject); - } - } - - //Iterate over the results obtained and handle deferred collection updates. - applyDeferredUpdatesToPrefetchedCollections(resultCollection); - result = resultCollection; - } else { - // Aggregate functions return an object instead of a collection. - result = getAggregateResult(resultData); - } - - return result; - } - - /** - * Iterate the result collection applying updates to deferred collections. - * @param resultCollection Result collection. - */ - private void applyDeferredUpdatesToPrefetchedCollections(Collection resultCollection) { - if (prefetching && prefetchedCollectionFields != null && prefetchedCollectionFields.size() > 0) { - for (Iterator resultItr = resultCollection.iterator(); resultItr.hasNext(); ) { - // each result object is guaranteed to be instance of PersistenceCapable - PersistenceCapable pc = (PersistenceCapable) resultItr.next(); - - // pc can be null if this is a projection query - if (pc != null) { - applyDeferredUpdatesToPrefetchedCollections(pc); - } - } - } - } - - /** - * Process deferred updates for the prefetched collection fields. - * @param pc Instance from the query result. - */ - private void applyDeferredUpdatesToPrefetchedCollections(PersistenceCapable pc) { - if (prefetchedCollectionFields != null) { - StateManager sm = pc.jdoGetStateManager(); - Iterator prefetchedCollectionFieldsIter = prefetchedCollectionFields.keySet().iterator(); - - while (prefetchedCollectionFieldsIter.hasNext()) { - ForeignFieldDesc prefetchedCollectionField = - (ForeignFieldDesc) prefetchedCollectionFieldsIter.next(); - ResultDesc prefetchedResultDesc = - (ResultDesc) prefetchedCollectionFields.get(prefetchedCollectionField); - - // process deferred updates for prefetched collection relationships - if (prefetchedCollectionField.cardinalityUPB > 1) { - Collection relationshipValue = - (Collection) prefetchedCollectionField.getValue(sm); - - if (relationshipValue instanceof SCOCollection && ((SCOCollection) relationshipValue).isDeferred()){ - ((SCOCollection) relationshipValue).applyDeferredUpdates(null); - } - - // recursion into the next level - for (Iterator iter = relationshipValue.iterator(); iter.hasNext(); ) { - PersistenceCapable persistenceCapable = (PersistenceCapable) iter.next(); - prefetchedResultDesc.applyDeferredUpdatesToPrefetchedCollections(persistenceCapable); - } - } - } - } - } - - /** - * Get result for Aggregates. Since resultset containing result for aggregates would not - * contain any other columns, it is assumed that the result is available at index == 1. - * @param resultData The resultset from which result is to be extracted. - */ - private Object getAggregateResult(ResultSet resultData) throws SQLException { - Object result = null; - - if (resultData.next() ) { - //Aggregate results are always at index 1; - result = getValueFromResultSet(resultData, 1, aggregateResultType); - } - return result; - } - - - /** - * Returns the projected field from the result set. This field is - * always a local field. Foreign fields are handled in setFields. - * - * We return the database value for projections on local fields. - * Unless we flush for queries in optimistic transactions the value - * from the database might be different from the value in memory. - * - * @param resultData The SQL result set. - * @return - * The projected value from the result set. This might be a local field - * or the result of an aggregate query. - * @see com.sun.jdo.spi.persistence.support.sqlstore.sql.ResultDesc#setFields(PersistenceManager, ResultSet) - */ - private Object getProjectedField(ResultSet resultData) { - //Field projection can never be null if this method gets called. - FieldDesc f = fieldProjection.getFieldDesc(); - - if (debug) { - logger.finest("sqlstore.resultdesc.returning_field", f.getName()); // NOI18N - } - return getConvertedObject(resultData, fieldProjection.getColumnRef(), f, null); - } - - /** - * Bind the columns from this ResultSet row to the persistent object described - * by this ResultDesc. External queries always return only one type of objects - * and don't have nested ResultDescs. Internal queries can have nested ResultDescs. - * Run through all the fields of the field list and bind the values in - * that order. Nested ResultDescs are processed by recursive calls. - * - * @param pm The PersistenceManager responsible for instantiating objects. - * @param resultData JDBC ResultSet containing the data to be materialized. - * @return - * Persistent object corresponding to values from ResultSet row, can be null. - */ - private Object setFields(PersistenceManager pm, ResultSet resultData) { - Object pcObj = null; - // Get the Statemanager corresponding to the current row - SQLStateManager sm = (SQLStateManager) findOrCreateStateManager(resultData, pm); - if (sm != null) { - pcObj = sm.getPersistent(); - sm.getLock(); - try { - // Fields are read in the order in which they were placed in - // the sql select statement. This ordering is important while reading - // from streams corresponding to LONG columns on Oracle. - for (int i = 0; i < fields.size(); i++) { - Object temp = fields.get(i); - - if (temp instanceof ResultFieldDesc) { - ResultFieldDesc rfd = (ResultFieldDesc) temp; - LocalFieldDesc f = rfd.getFieldDesc(); - - if (!sm.getPresenceMaskBit(f.absoluteID)) { - Object value = getConvertedObject(resultData, rfd.getColumnRef(), f, sm); - - if (debug) { - logger.finest("sqlstore.resultdesc.marking_field", f.getName()); // NOI18N - } - - // Set the field value and presence mask bit. - setFieldValue(sm, f, value); - } - } else { - ResultDesc frd = (ResultDesc) temp; - ForeignFieldDesc parentField = frd.parentField; - - // Only try to fetch the field if it is not already present. - // If the field is already present, it should be in - // consistent state w.r.t. this transaction. Overwriting - // it with the value from database might corrupt consistency of data. - if (!sm.getPresenceMaskBit(parentField.absoluteID) || parentField.cardinalityUPB > 1) { - Object fobj = frd.setFields(pm, resultData); - - if (parentField.cardinalityUPB > 1) { // parentField is a collection. - // Add the value and set the presence mask bit if necessary - addCollectionValue(sm, parentField, fobj); - } else { // parentField is an object. - // Set the field value and presence mask bit. - setFieldValue(sm, parentField, fobj); - } - } - if (debug) { - logger.finest("sqlstore.resultdesc.marking_foreign_field", // NOI18N - parentField.getName()); - } - } - } - - sm.initialize(true); - } finally { - // Always release the lock. - sm.releaseLock(); - } - } else { - // sm can be null if we can not find or create a statemanager from the result data. - // This is possible if we are projecting on a foreignfield and there is no - // result returned. - } - - return pcObj; - } - - /** - * Adds value to the collection for the given field f - * and statemanager sm. - * Also sets presence mask bit for the field in given sm, if not already set. - * @param sm Given StateManager, is always a SQLStateManager - * @param f Given field - * @param value Given value. - */ - private static void addCollectionValue(SQLStateManager sm, ForeignFieldDesc f, Object value) { - Collection collection = (Collection) f.getValue(sm); - if (collection == null) { - // Initialize the collection. - sm.replaceCollection(f, null); - // Get the newly created SCOCollection back. - collection = (Collection) f.getValue(sm); - } - - // Set the presence mask if necessary. - // SCOCollections might be != null and presence mask not set. - if (!sm.getPresenceMaskBit(f.absoluteID)) { - sm.setPresenceMaskBit(f.absoluteID); - } - - if (value != null) { - if (collection instanceof SCOCollection) { - ((SCOCollection) collection).addToBaseCollection(value); - } else { - // Should never happen. - collection.add(value); - } - } - } - - /** - * Sets value for the given field f - * and statemanager sm. - * Also sets presence mask bit for the field in given sm. - * @param sm Given StateManager - * @param f Given field - * @param value Given value. - */ - private static void setFieldValue(StateManager sm, FieldDesc f, Object value) { - f.setValue(sm, value); - sm.setPresenceMaskBit(f.absoluteID); - } - - /** - * Specifies, if this was an aggregate query. - */ - private boolean isAggregate() { - return aggregateResultType != FieldTypeEnumeration.NOT_ENUMERATED; - } - - /** - * Returns a StateManager which PC instance to be populated with the values. - * If such instance exists in this PersistenceManager cache, - * it is returned, otherwise a new instance is created. - */ - private StateManager findOrCreateStateManager(ResultSet resultData, - PersistenceManager pm) { - try { - Class oidClass = config.getOidClass(); - Object oid = oidClass.newInstance(); - - // Copy key field values - Field keyFields[] = config.getKeyFields(); - String keyNames[] = config.getKeyFieldNames(); - for (int i = 0; i < keyFields.length; i++) { - Field keyField = keyFields[i]; - String keyName = keyNames[i]; - FieldDesc fd = config.getField(keyName); - int index = fieldNames.indexOf(keyName); - - ResultFieldDesc rfd = (ResultFieldDesc)fields.get(index); - - Object v = getConvertedObject(resultData, rfd.getColumnRef(), fd, null); - - if (debug) { - logger.finest("sqlstore.resultdesc.marking_key_field",keyName); // NOI18N - } - - if (v == null ) { - return null; - } - keyField.set(oid, v); - } - return pm.findOrCreateStateManager(oid, config.getPersistenceCapableClass()); - - } catch (Exception e) { - // RESOLVE... - throw new JDOFatalInternalException(e.getMessage()); - } - } - - /** - * Joins foreignResult with this resultDesc - * @param foreignResult the foreign ResultDesc - * @param parentField parentField for the foreind ResultDesc - */ - public void doJoin(ResultDesc foreignResult, ForeignFieldDesc parentField) { - addField(foreignResult); - foreignResult.parentField = parentField; - - // if foreign result correponds to a collection relationship being - // prefetched, remember it. - if(parentField.cardinalityUPB > 1) { - if (prefetchedCollectionFields == null) { - prefetchedCollectionFields = new HashMap(); - } - prefetchedCollectionFields.put(parentField, foreignResult); - } - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/ResultFieldDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/ResultFieldDesc.java deleted file mode 100644 index b672f0233c5..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/ResultFieldDesc.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ResultFieldDesc.java - * - * Created on October 15, 2001 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql; - -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.ColumnRef; - -/** - * This class is used to associated a field to the position of a column - * in a JDBC resultset. - */ -public class ResultFieldDesc extends Object { - /** - * field descriptor for the field that is the recipient of the column value - * from the resultset - */ - private LocalFieldDesc fieldDesc; - - /** holds the index to the column in the resultset. */ - private ColumnRef columnRef; - - public ResultFieldDesc(LocalFieldDesc fieldDesc, ColumnRef columnRef) { - this.fieldDesc = fieldDesc; - this.columnRef = columnRef; - //this.projection = projection; - } - - /** Return the field descriptor. - * @return the field descriptor - */ - public LocalFieldDesc getFieldDesc() { - return fieldDesc; - } - - /** Return the column reference - * @return the column reference - */ - public ColumnRef getColumnRef() { - return columnRef; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/RetrieveDescImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/RetrieveDescImpl.java deleted file mode 100644 index 8fd35b656ca..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/RetrieveDescImpl.java +++ /dev/null @@ -1,864 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * RetrieveDescImpl.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql; - -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.RetrieveDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ClassDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.concurrency.Concurrency; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.Constraint; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.ConstraintFieldName; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.SelectQueryPlan; -import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; -import com.sun.jdo.spi.persistence.utility.ParameterInfo; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.ResourceBundle; - -/** - */ -public class RetrieveDescImpl extends Object implements RetrieveDesc, Cloneable { - - private static final int OPINFO_FIELD_DISALLOWED = 0x01; // 1 - - private static final int OPINFO_FIELD_REQUIRED = 0x02; // 2 - - private static final int OPINFO_VAL_DISALLOWED = 0x04; // 4 - - private static final int OPINFO_VAL_REQUIRED = 0x08; // 8 - - private static final int OPINFO_VAL_IS_PCOUNT = 0x10; // 16 - - private static final int OPINFO_ILLEGAL = 0x20; // 32 - - private static final int OPINFO_NO_OPERATION = 0x40; // 64 - - /** Indicates, that the query projects on this RD. */ - public static final int OPT_PROJECTION = 0x1; // 1 - - /** Indicates, that a distinct query should be run. */ - public static final int OPT_DISTINCT = 0x2; // 2 - - /** Indicates, that the selected rows should be locked for update. */ - public static final int OPT_FOR_UPDATE = 0x4; // 4 - - /** Indicates, that an avg aggregate query should be run. */ - public static final int OPT_AVG = 0x08; // 8 - - /** Indicates, that a min aggregate query should be run. */ - public static final int OPT_MIN = 0x10; // 16 - - /** Indicates, that a max aggregate query should be run. */ - public static final int OPT_MAX = 0x20; // 32 - - /** Indicates, that a sum aggregate query should be run. */ - public static final int OPT_SUM = 0x40; // 64 - - /** Indicates, that a count aggregate query should be run. */ - public static final int OPT_COUNT = 0x80; // 128 - - /** Special treatment for count on persistent capable objects. */ - public static final int OPT_COUNT_PC = 0x100; // 256 - - /** Sum of all aggregate options. */ - public static final int OPT_AGGREGATE = OPT_AVG + OPT_MIN + OPT_MAX + - OPT_SUM + OPT_COUNT + OPT_COUNT_PC; - - /** Sum of all aggregate options excluding count on persistent capable objects. */ - public static final int OPT_AGGREGATE_NON_COUNT_PC = OPT_AGGREGATE - OPT_COUNT_PC; - - /** Indicates, that fetch group fields should be added. */ - public static final int OPT_ADD_FETCHGROUPS = 0x200; // 512 - - /** - * Indicates, that only key fields should be added. When this option is set, - * it modifies meaning of OPT_ADD_FETCHGROUPS. It is assumed that - * only key fieldes from the fetch group will be added. - */ - public static final int OPT_ADD_KEYS_ONLY = 0x400; // 1024 - - /** - * Indicates, that even if relationship fields are in DFG, they should not - * be prefetched. The runtime will attempt to fetch relationhip fields only - * when OPT_ADD_FETCH_GROUPS is set. - * @see #OPT_ADD_FETCHGROUPS - * @see #OPT_ADD_KEYS_ONLY - */ - public static final int OPT_DISABLE_RELATIONSHIP_PREFETCH = 0x800; // 2048 - - /** Indicates special treatment for version consistency verifications. */ - public static final int OPT_VERIFY = 0x1000; // 4024 - - /** Array of ConstraintFieldName. */ - private ArrayList fields; - - /** The constraint stack */ - private Constraint constraint; - - /** Bitmask of options for this instance as specified by the OPT_* constants */ - private int options; - - /** Candidate class of this instance */ - private Class pcClass; - - /** Config for candidate class of this instance */ - private ClassDesc config; - - /** SelectQueryPlan for this instance */ - private SelectQueryPlan plan; - - /** - * Discriminates different retrieve descriptors which use the same - * navigational field. - */ - private Object navigationalId; - - /** Result type for an aggregate query. */ - private int aggregateResultType = FieldTypeEnumeration.NOT_ENUMERATED; - - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - RetrieveDescImpl.class.getClassLoader()); - - public RetrieveDescImpl(Class pcClass, ClassDesc config) { - super(); - - this.pcClass = pcClass; - this.config = config; - fields = new ArrayList(); - constraint = new Constraint(); - } - - /** - * The addResult method is used to specify which fields should be - * returned in a persistent object. If the field requested is a - * reference to another persistent object then a RetrieveDesc may be - * provided which describes which fields of the referenced object - * should be returned and, optionally, constraints on it. - * If the parameter projection is true, the field - * specified by name should be projected. - * - * @param name The name of the field to return. - * @param foreignConstraint - * RetrieveDesc describing fields and constraints for a referenced object. - * @param projection Specifies, if this is a projection. - */ - public void addResult(String name, - RetrieveDesc foreignConstraint, - boolean projection) { - ConstraintFieldName cfName = new ConstraintFieldName(name, foreignConstraint); - - if (projection) { - if ((options & OPT_PROJECTION) > 0) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "sqlstore.retrievedesc.toomanyprojections")); // NOI18N - } - - // For projections on foreign fields, mark the foreign constraint. - // For local fields, set the property on the field constraint. - if (foreignConstraint != null) { - ((RetrieveDescImpl) foreignConstraint).options |= OPT_PROJECTION; - } else { - cfName.setProjection(); - - // Set this property if you want to have DFG fields added for - // projections on local fields. - // options = options | OPT_PROJECTION; - } - } - fields.add(cfName); - } - - /** - * The addResult method can be used to specify global - * query attributes that don't end up in the where clause. - * Aggregate functions and the distinct op code are examples for - * those query options. The result type defines the object to be - * returned by an aggregate query. In case of distinct the result - * type should be FieldTypeEnumeration.NOT_ENUMERATED. The method - * might be called twice, in case of a JDOQL query having both an - * aggregate and distinct: - * query.setResult("avg (distinct salary)"); - * -> - * retrieveDesc.addResult(OP_AVG, FieldTypeEnumeration.DOUBLE); - * retrieveDesc.addResult(OP_DISTINCT, FieldTypeEnumeration.NOT_ENUMERATED); - * retrieveDesc.addResult("salary", null, true); - * - * @param opCode The operation code. - * @param aggregateResultType The object type returned by aggregate queries. - * @see com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration - */ - public void addResult(int opCode, int aggregateResultType) { - switch (opCode) { - case ActionDesc.OP_DISTINCT: - options = options | OPT_DISTINCT; - break; - case ActionDesc.OP_AVG: - options = options | OPT_AVG; - break; - case ActionDesc.OP_MIN: - options = options | OPT_MIN; - break; - case ActionDesc.OP_MAX: - options = options | OPT_MAX; - break; - case ActionDesc.OP_SUM: - options = options | OPT_SUM; - break; - case ActionDesc.OP_COUNT: - options = options | OPT_COUNT; - break; - case ActionDesc.OP_COUNT_PC: - options = options | OPT_COUNT_PC; - break; - default: - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", "" + opCode)); // NOI18N - } - - if (aggregateResultType != FieldTypeEnumeration.NOT_ENUMERATED) { - if (this.aggregateResultType == FieldTypeEnumeration.NOT_ENUMERATED) { - this.aggregateResultType = aggregateResultType; - } else { - // aggregate result type has already been set - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "sqlstore.retrievedesc.toomanyresulttypes")); // NOI18N - } - } - } - - /** - * Add a field specified by name to the list of fields to be prefetched. - * @param name Name of the field to be prefetched. - * @param foreignConstraint This parameter is null if the field is a local field. - * If the field is a foreign field, this parameter should be not null and must refer - * to an instance of RetrieveDesc correpsonding to the config of the foreign field. - */ - public void addPrefetchedField(String name, RetrieveDesc foreignConstraint) { - fields.add(new ConstraintFieldName(name, foreignConstraint, true)); - } - - /** - * {@inheritDoc} - */ - public void setPrefetchEnabled(boolean prefetchEnabled) { - if (!prefetchEnabled) { - options |= OPT_DISABLE_RELATIONSHIP_PREFETCH; - } else { - // options has the flag OPT_DISABLE_RELATIONSHIP_PREFETCH unset by default - } - } - - /** - *

    Adds a constraint on the foreign field specified by - * name. This method is used to specify a relationship - * navigation on field name to the class represented by - * the retrieve descriptor foreignConstraint. - * If name is null, an unrelated constraint is added. - * A constraint is unrelated, if there is neither a foreign field - * nor a local field connecting to the retrieve descriptor - * foreignConstraint. - */ - public void addConstraint(String name, - RetrieveDesc foreignConstraint) { - if (name == null) { - constraint.addField(null, foreignConstraint); - } else { - constraint.addForeignField(name, foreignConstraint); - } - } - - /** - *

    Adds a constraint on the relationship field specified by - * name. - * This method is useful e.g. for comparisons of local fields with field of a related object: - * emp.addConstraint("lastName", ActionDesc.OP_EQ, mgr, lastName"); - * compares the employee's lastName field with the lastName field of the related manager. - */ - public void addConstraint(String name, int operation, - RetrieveDesc foreignConstraint, String foreignName) { - constraint.addField(foreignName, foreignConstraint); - constraint.addField(name, null); - constraint.addOperation(operation); - } - - /** - * The addConstraint method is used to limit the values of fields for - * objects being selected. - * addConstraint pushes the value, name, and operation onto the - * Constraint stack. The constraints are anded together by default. - * Arbitrarily complex relationships on the Constraint stack are supported. - * The Constraint stack can be manipulated directly if necessary. - * - * @param name - * The name parameter specifies the field whose value - * should be limited. - * @param operation - * The operation parameter specifies the relationship the field - * should bear to the value. Values for operation are defined in - * the ActionDesc interface. - * @param value - * The value parameter usually specifies the value to which the - * field should be limited, however it is sometimes used to - * hold a parameter count as for the OP_IN operation. - */ - public void addConstraint(String name, - int operation, - Object value) { - int info = getOperationInfo(operation); - - if ((info & OPINFO_ILLEGAL) > 0) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", "" + operation)); // NOI18N - } else if ((info & OPINFO_FIELD_REQUIRED) > 0 && name == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.fieldrequired", "" + operation)); // NOI18N - } else if ((info & OPINFO_FIELD_DISALLOWED) > 0 && name != null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.fielddisallowed", "" + operation)); // NOI18N - } else if ((info & OPINFO_VAL_REQUIRED) > 0 && value == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.valrequired", "" + operation)); // NOI18N - } else if ((info & OPINFO_VAL_DISALLOWED) > 0 && value != null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.valdisallowed", "" + operation)); // NOI18N - } - if ((info & OPINFO_VAL_IS_PCOUNT) > 0) { - if (name != null) { - constraint.addField(name, null); - } - addValueConstraint(name, value); - } else { - switch (operation) { - case RetrieveDescImpl.OP_PARAMETER: - addParameterConstraint(value); - break; - case ActionDesc.OP_IN: - case ActionDesc.OP_NOTIN: - constraint.addConstraintFieldSubQuery(name,(ActionDesc) value); - break; - default: - if (value != null) { - addValueConstraint(name, value); - } - if (name != null) { - constraint.addField(name, null); - } - break; - } - } - if ((info & OPINFO_NO_OPERATION) == 0) { - constraint.addOperation(operation); - } - } - - /** - * Add Constraints corresponding to given fields. - * The constraints are added as Parameter Constraints. - * index of the parameter starts at given startIndex - * @param fields fields for which constraints are to be added. - * @param startIndex starting Index for the parameter. - */ - public void addParameterConstraints(LocalFieldDesc[] fields, int startIndex) { - for (int i = 0; i < fields.length; i++) { - LocalFieldDesc field = fields[i]; - addParameterConstraint(field, i + startIndex); - } - } - - /** - * Add ParameterConstraint corresponding to given field - * at given index. - * @param field The field for which constraints are to be added. - * @param index Index at which the ParameterConstraint is to be inserted. - */ - public void addParameterConstraint(LocalFieldDesc field, int index) { - // Generate parameter info for this parameter. - String fieldName = field.getName(); - int type = field.getEnumType(); - - addConstraint(null, ActionDesc.OP_PARAMETER,new ParameterInfo(index, type, fieldName)); - addConstraint(fieldName, ActionDesc.OP_FIELD, null); - addConstraint(null, ActionDesc.OP_EQ, null); - } - - /** - * Adds information about value on the constraint stack. - * @param name Name of the field to which the specified value is bound. - * The query compiler can detect the correct value for name only in - * case of simple expressions in the filter. A simple expression is - * fieldName op value. If the compiler is not able to detect - * correct value for name it will pass null. - * @param value value to which the field's value is constrained. - */ - private void addValueConstraint(String name, Object value) { - constraint.addValue(value, getLocalFieldDesc(name)); - } - - /** - * Adds information about parameter on the constraint stack. - * @param value Instance of - * com.sun.jdo.spi.persistence.utility.ParameterInfo. - * Contains index, type and name of the field to which - * this parameter is bound. The field name is used when binding - * the parameter to the sql statement. - * name can be null for complex expressions in a filter as described in - * addValueConstraint. - * @see #addValueConstraint - */ - private void addParameterConstraint(Object value) { - if (value instanceof ParameterInfo) { - ParameterInfo parameterInfo = (ParameterInfo)value; - constraint.addParamIndex(parameterInfo.getIndex(), parameterInfo.getType(), - getLocalFieldDesc(parameterInfo.getAssociatedField())); - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.illegalParameterInfo")); // NOI18N - } - } - - /** - * Returns the local field descriptor for the field name. - * Delegates to ClassDesc#getLocalFieldDesc(String). - * - * @param name Field name. - * @return null if the name is null. - * LocalFieldDesc for the field name otherwise. - */ - private LocalFieldDesc getLocalFieldDesc(String name) { - return name == null ? null : config.getLocalFieldDesc(name); - } - - /** - * The getOperationInfo method returns information about the operation - * requested. The following constants define different properties of - * an operation and can be or'd together: - * OPINFO_FIELD_DISALLOWED A field parameter cannot be specified - * with this operation - * OPINFO_FIELD_REQUIRED A field parameter must be specified - * with this operation - * OPINFO_VAL_DISALLOWED A value parameter cannot be specified - * with this operation - * OPINFO_VAL_REQUIRED A value parameter must be specified - * with this operation - * OPINFO_NULL This operation is a "null" type operation - * (i.e. "is null", or "is not null") - * OPINFO_ILLEGAL This operation is illegal - * OPINFO_NO_OPERATION This isn't an operation at all, - * it is some other specifier. - * OPINFO_VAL_IS_PCOUNT This operation has a value which is the - * parameter count of following parameter - * nodes - * - * @param operation - * The operation parameter specifies the operation for which - * information is desired. - */ - private static int getOperationInfo(int operation) { - int info; - switch (operation) { - case ActionDesc.OP_ABS: - info = OPINFO_VAL_DISALLOWED; - break; - case ActionDesc.OP_ADD: - info = 0; - break; - case ActionDesc.OP_AND: - info = 0; - break; - case ActionDesc.OP_FIELD: - info = OPINFO_FIELD_REQUIRED | OPINFO_VAL_DISALLOWED | OPINFO_NO_OPERATION; - break; - case ActionDesc.OP_BETWEEN: - info = 0; - break; - case ActionDesc.OP_DIV: - info = 0; - break; - case ActionDesc.OP_EQ: - info = 0; - break; - case ActionDesc.OP_NE: - info = 0; - break; - case ActionDesc.OP_EQUIJOIN: - info = 0; - break; - case ActionDesc.OP_NOT: - info = OPINFO_FIELD_DISALLOWED | OPINFO_VAL_DISALLOWED; - break; - case ActionDesc.OP_GE: - info = 0; - break; - case ActionDesc.OP_GT: - info = 0; - break; - case ActionDesc.OP_IN: - case ActionDesc.OP_NOTIN: - info = OPINFO_FIELD_REQUIRED | OPINFO_VAL_REQUIRED; - break; - case ActionDesc.OP_LE: - info = 0; - break; - case ActionDesc.OP_LEFTJOIN: - info = 0; - break; - case ActionDesc.OP_LENGTH: - info = OPINFO_VAL_DISALLOWED; - break; - case ActionDesc.OP_LIKE: - info = 0; - break; - case ActionDesc.OP_LIKE_ESCAPE: - info = 0; - break; - case ActionDesc.OP_LT: - info = 0; - break; - case ActionDesc.OP_LTRIM: - info = OPINFO_VAL_DISALLOWED; - break; - case ActionDesc.OP_MUL: - info = 0; - break; - case ActionDesc.OP_OR: - info = 0; - break; - case ActionDesc.OP_ORDERBY: - info = 0; - break; - case ActionDesc.OP_ORDERBY_DESC: - info = 0; - break; - case ActionDesc.OP_PARAMETER_COUNT: - info = OPINFO_FIELD_DISALLOWED | OPINFO_VAL_REQUIRED | OPINFO_VAL_IS_PCOUNT | OPINFO_NO_OPERATION; - break; - case ActionDesc.OP_RIGHTJOIN: - info = 0; - break; - case ActionDesc.OP_RTRIM: - info = OPINFO_VAL_DISALLOWED; - break; - case ActionDesc.OP_SQRT: - info = OPINFO_VAL_DISALLOWED; - break; - case ActionDesc.OP_SUB: - info = 0; - break; - case ActionDesc.OP_SUBSTRING: - info = 0; - break; - case ActionDesc.OP_POSITION: - info = 0; - break; - case ActionDesc.OP_POSITION_START: - info = 0; - break; - case ActionDesc.OP_MAYBE_NULL: - info = OPINFO_FIELD_REQUIRED; - break; - case ActionDesc.OP_CONCAT: - info = 0; - break; - case ActionDesc.OP_VALUE: - info = OPINFO_FIELD_DISALLOWED | OPINFO_VAL_REQUIRED | OPINFO_NO_OPERATION; - break; - case ActionDesc.OP_PARAMETER: - info = OPINFO_FIELD_DISALLOWED | OPINFO_VAL_REQUIRED | OPINFO_NO_OPERATION; - break; - case OP_NULL: - case OP_NOTNULL: - info = 0; - break; - case ActionDesc.OP_MOD: - info = 0; - break; - default: - info = OPINFO_ILLEGAL; - break; - } - return info; - } - - /** - * Builds the internal query plan and initializes the select statements. - * Projections on collection fields will not be resolved until the actual - * retrieval in {@link SQLStoreManager#retrieve( - * com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager, - * RetrieveDesc, com.sun.jdo.spi.persistence.support.sqlstore.ValueFetcher)}. - */ - public synchronized SelectQueryPlan buildQueryPlan(SQLStoreManager store, - Concurrency concurrency) { - - if (plan == null) { - - handleProjection(); - - plan = SelectQueryPlan.newInstance(this, store, concurrency); - - plan.build(); - - // Generate the text for the select statements. - ArrayList statements = plan.getStatements(); - - // Sanity check. - if (statements.size() > 1) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "sqlstore.retrievedesc.stmntsnotjoined")); // NOI18N - } - } - return plan; - } - - /** - * Sets the fetch group options for all retrieve descriptors in the - * retrieve descriptor hierarchy. This is important for projection and - * aggregate queries, as we don't want to select additional fields - * from the data store. This is also important for queries where relationship - * prefetch is involved, as we want to propagate user's choice to disable - * relationship prefetch for a finder to all the retrieve descriptors in - * the projection tree. - * Also sets the projection on the candidate class in case of queries without - * user projection. - */ - private void handleProjection() { - // Prepare all the query options that need to be distributed to all the - // RetrieveDescs involved in the projection tree. - final int queryOptions = options & (OPT_AGGREGATE | OPT_DISABLE_RELATIONSHIP_PREFETCH); - RetrieveDescImpl projectedDesc = distributeQueryOptions( - queryOptions, aggregateResultType); - - if (projectedDesc == null) { - // Set the default projection on the candidate retrieve descriptor. - options |= OPT_PROJECTION; - // Prepare fetch group options again after default projection has been set. - setFetchGroupOptions(queryOptions); - } - } - - /** - * Marks each descriptor with the options queryOptions and - * finds the projection in the retrieve descriptor hierarchy. - * The query options have to be known for each descriptor, because we don't want to - * generate outer joins for OPT_COUNT_PC and we want to propagate users - * choice to disable prefetch for a finder to projected RetrieveDesc. - * This method relies on the fact, that each query can have only - * one projection. - * - * @param queryOptions The options that need to be set on all - * retrieve descriptors. This helps identify aggregate queries, see - * {@link SelectQueryPlan#processJoins()}. - * This also helps propagate user's choice to disable prefetch to the - * projected RetrieveDesc, see - * {@link SelectQueryPlan#addFetchGroup(int, java.util.ArrayList, java.util.ArrayList)}. - * @param aggregateResultType The aggregate result type has to - * be set on the projected retrieve descriptor. - * @return The projected retrieve descriptor, or null there is - * no projection. - */ - private RetrieveDescImpl distributeQueryOptions(int queryOptions, - int aggregateResultType) { - RetrieveDescImpl projectedDesc = null; - - if ((options & OPT_PROJECTION) > 0) { - // This is a foreign field projection. - // Set the fetch group properties. - setFetchGroupOptions(queryOptions); - this.aggregateResultType = aggregateResultType; - projectedDesc = this; - } - - // Distribute the aggregate option to all retrieve descriptors. - options |= queryOptions; - - // Loop through all dependent retrieve descriptors in the field list. - for (int i = 0; i < fields.size(); i++) { - ConstraintFieldName cfn = (ConstraintFieldName) fields.get(i); - - if (cfn.isProjection()) { - // This is a local field projection. - // No fetch groups are added. - this.aggregateResultType = aggregateResultType; - projectedDesc = this; - } else if (cfn.desc != null) { - projectedDesc = ((RetrieveDescImpl) cfn.desc).distributeQueryOptions( - queryOptions, aggregateResultType); - } - } - - return projectedDesc; - } - - /** - * Sets the fetch group policy for the projected retrieve descriptor. - * The policy is based on the following rules: - * - *

      - *
    • Fetchgroups are added for a projection w/o aggregates.
    • - *
    • Only keys are added for count(*) queries.
    • - *
    - * - * @param queryOptions The quey options that needs to be set for ******** - * queryOptions Aggregate queries impose - * special restrictions on which fields to be selected. All aggregate - * queries except count(*) operate on exactly one field. Count(*) - * queries operate on persistence capable objects. - * @see SelectQueryPlan#processFetchGroups(ArrayList, ArrayList) - */ - private void setFetchGroupOptions(int queryOptions) { - - if ((queryOptions & OPT_AGGREGATE_NON_COUNT_PC) == 0) { - // Don't add fetch groups except for projections - // w/o aggregates or counts on persistence capable objects. - options |= OPT_ADD_FETCHGROUPS; - - if (queryOptions == OPT_COUNT_PC) { - options |= OPT_ADD_KEYS_ONLY; - } - } - } - - /** - * Sets a navigational id on the retrieve descriptor. This id - * will be used to discriminate different retrieve descriptors which - * use the same navigational field. If not set, the field name is used. - * - * @param navigationalId Tag to discriminate different retrieve - * descriptors that use the same navigational field. - */ - public void setNavigationalId(Object navigationalId) { - this.navigationalId = navigationalId; - } - - /** - * Returns the navigational id of this retrieve descriptor. This id - * will be used to discriminate different retrieve descriptors which - * use the same navigational field. If not set, the field name is used. - * - * @return Tag to discriminate different retrieve descriptors that - * use the same navigational field. - */ - public Object getNavigationalId() { - return navigationalId; - } - - /** - * Sets option option. Only used to mark this - * retrieve descriptor as internal. All valid options are defined - * in this class. - * - * @param option Option being set. - */ - public void setOption(int option) { - this.options |= option; - } - - /** - * Returns the result type for aggregate queries. - */ - public int getAggregateResultType() { - return aggregateResultType; - } - - /** - * Returns the options of this retrieve descriptor. - * - * @return The options of this retrieve descriptor. - */ - public int getOptions() { - return options; - } - - public SelectQueryPlan getPlan() { - return plan; - } - - public ClassDesc getConfig() { - return config; - } - - public void setPlan(SelectQueryPlan plan) { - this.plan = plan; - } - - public Class getPersistenceCapableClass() { - return pcClass; - } - - public Constraint getConstraint() { - return constraint; - } - - public Iterator getFields() { - return fields.iterator(); - } - - public Object clone() { - try { - RetrieveDescImpl clone = (RetrieveDescImpl) super.clone(); - clone.fields = new ArrayList(); - clone.constraint = new Constraint(); - - return clone; - } catch (CloneNotSupportedException e) { - // - // shouldn't happen. - // - return null; - } - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/UpdateJoinTableDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/UpdateJoinTableDesc.java deleted file mode 100644 index d367d364bcd..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/UpdateJoinTableDesc.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * UpdateJoinTableDesc.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql; - -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager; - -/** - * - */ -public class UpdateJoinTableDesc extends Object { - - private SQLStateManager parentSM; - - private SQLStateManager foreignSM; - - private int action; - - public UpdateJoinTableDesc(SQLStateManager parentSM, SQLStateManager foreignSM, int action) { - super(); - - this.parentSM = parentSM; - this.foreignSM = foreignSM; - this.action = action; - } - - public SQLStateManager getForeignStateManager() { - return foreignSM; - } - - public SQLStateManager getParentStateManager() { - return parentSM; - } - - public int getAction() { - return action; - } - -} - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/UpdateObjectDescImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/UpdateObjectDescImpl.java deleted file mode 100644 index 5bd15be5a76..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/UpdateObjectDescImpl.java +++ /dev/null @@ -1,471 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * UpdateObjectDescImpl.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql; - -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.spi.persistence.support.sqlstore.*; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ClassDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.FieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ForeignFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.concurrency.Concurrency; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.*; - -/** - * Stores the update information for the associated state manager. - */ -public class UpdateObjectDescImpl implements UpdateObjectDesc { - - /** Array of Object. */ - private List afterHiddenValues; - - private SQLStateManager afterImage; - - /** Array of Object. */ - private List beforeHiddenValues; - - private SQLStateManager beforeImage; - - private Concurrency concurrency; - - private Class pcClass; - - private int updateAction; - - /** - * Array of LocalFieldDesc. - * Fields contained in this array are written to the database. - */ - private List updatedFields; - - private Map updatedJoinTableRelationships; - - /** Marker for fast relationship update check. */ - private boolean relationshipChanged = false; - - /** The logger. */ - private static Logger logger = LogHelperSQLStore.getLogger(); - - /** I18N message handler. */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - UpdateObjectDescImpl.class.getClassLoader()); - - public UpdateObjectDescImpl(Class pcClass) { - this.pcClass = pcClass; - updatedFields = new ArrayList(); - } - - public Class getPersistenceCapableClass() { - return pcClass; - } - - public void reset() { - updatedFields.clear(); - - if (updatedJoinTableRelationships != null) { - updatedJoinTableRelationships.clear(); - } - - relationshipChanged = false; - concurrency = null; - } - - public boolean hasUpdatedFields() { - return (updatedFields.size() > 0); - } - - public Collection getUpdatedJoinTableFields() { - if (updatedJoinTableRelationships == null) { - return null; - } - - return updatedJoinTableRelationships.keySet(); - } - - // RESOLVE: Should return _all_ join table descs, not separatly by field. - public Collection getUpdateJoinTableDescs(FieldDesc fieldDesc) { - HashMap updateJoinTableDescs = (HashMap) updatedJoinTableRelationships.get(fieldDesc); - - if (updateJoinTableDescs != null) { - return updateJoinTableDescs.values(); - } - - return null; - } - - public boolean hasUpdatedJoinTableRelationships() { - return (updatedJoinTableRelationships != null && - updatedJoinTableRelationships.size() > 0); - } - - /** - * Returns true if any of the changed fields is byte[]. - */ - public boolean hasModifiedLobField() { - - if (updatedFields != null) { - for (Iterator i = updatedFields.iterator(); i.hasNext(); ) { - - // The list updatedFields only contains LocalFieldDesc. - // Thus it's safe to cast to LocalFieldDesc below. - LocalFieldDesc field = (LocalFieldDesc)i.next(); - if (field.isMappedToLob()) { - return true; - } - } - } - - return false; - } - - /** - * Marks the relationship change property for this instance, if the - * updated field is a relationship field or a hidden field tracing a - * foreign key column in the database. - * - * @param fieldDesc Updated field. - */ - public void markRelationshipChange(FieldDesc fieldDesc) { - if (fieldDesc.isRelationshipField() || fieldDesc.isForeignKeyField()) { - if (logger.isLoggable(Logger.FINEST)) { - logger.finest("sqlstore.sql.updateobjdescimpl.markrelationshipchange"); // NOI18N - } - // MARK THE RELATIONSHIP CHANGE for this instance. - relationshipChanged = true; - } - } - - /** - * Returns true, if this state manager has a changed - * relationship field. - * @return True, if this state manager has a changed relationship field. - */ - public boolean hasChangedRelationships() { - // If the relationship is set before the makePersistent call, - // this condition might be false for INSERTs. - if (relationshipChanged) { - return true; - } - - // Check for updated join table relationships. - if (hasUpdatedJoinTableRelationships()) { - return true; - } - - // Check for updated foreign key relationships. - if (updatedFields != null) { - for (Iterator iter = updatedFields.iterator(); iter.hasNext(); ) { - LocalFieldDesc field = (LocalFieldDesc) iter.next(); - if (field.isForeignKeyField()) { - return true; - } - } - } - - return false; - } - - /** - * Removes a previously scheduled jointable entry for relationship - * field fieldDesc. The action - * parameter specifies, if the entry to be removed is - * scheduled for creation or removal. - * - * @param fieldDesc Updated relationship field. - * @param foreignSM Associated state manager on the opposite side. - * @param action The action is either CREATE or REMOVE. - * @return True, if the specified jointable entry was found and removed, false otherwise. - * @see #recordUpdatedJoinTableRelationship - */ - public boolean removeUpdatedJoinTableRelationship(ForeignFieldDesc fieldDesc, - SQLStateManager foreignSM, - int action) { - HashMap updateJoinTableDescs = null; - - if ((updatedJoinTableRelationships == null) || - ((updateJoinTableDescs = (HashMap) updatedJoinTableRelationships.get(fieldDesc)) == null)) { - return false; - } - - UpdateJoinTableDesc desc = (UpdateJoinTableDesc) updateJoinTableDescs.get(foreignSM); - if (desc != null && desc.getAction() == action) { - return (updateJoinTableDescs.remove(foreignSM) != null); - } - - return false; - } - - /** - * Schedules a jointable entry for relationship field - * fieldDesc. The scheduled jointable entry is - * uniquely identified by the relationship field and the two - * associated state managers. The action parameter - * specifies, if the jointable entry should be created or removed. - * - * @param fieldDesc Updated relationship field. - * @param parentSM State manager responsible for fieldDesc's defining class. - * @param foreignSM State manager responsible for the other side. - * @param action The action is either CREATE or REMOVE. - * @see #removeUpdatedJoinTableRelationship - */ - public void recordUpdatedJoinTableRelationship(ForeignFieldDesc fieldDesc, - SQLStateManager parentSM, - SQLStateManager foreignSM, - int action) { - if (updatedJoinTableRelationships == null) { - updatedJoinTableRelationships = new HashMap(); - } - - HashMap updateJoinTableDescs = null; - - if ((updateJoinTableDescs = (HashMap) updatedJoinTableRelationships.get(fieldDesc)) == null) { - updateJoinTableDescs = new HashMap(); - updatedJoinTableRelationships.put(fieldDesc, updateJoinTableDescs); - } - - UpdateJoinTableDesc desc = null; - - if ((desc = (UpdateJoinTableDesc) updateJoinTableDescs.get(foreignSM)) == null) { - desc = new UpdateJoinTableDesc(parentSM, foreignSM, action); - updateJoinTableDescs.put(foreignSM, desc); - } - } - - public void clearUpdatedJoinTableRelationships() { - updatedJoinTableRelationships = null; - } - - public void recordUpdatedField(LocalFieldDesc fieldDesc) { - if (!updatedFields.contains(fieldDesc)) - updatedFields.add(fieldDesc); - } - - public List getUpdatedFields() { - return updatedFields; - } - - public Object getAfterValue(FieldDesc f) { - if (afterImage == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "sqlstore.sql.updateobjdescimpl.afterimagenull")); //NOI18N - } - - if (f.absoluteID < 0) { - return afterHiddenValues.get(-(f.absoluteID + 1)); - } else { - return f.getValue(afterImage); - } - } - - public Object getBeforeValue(FieldDesc f) { - if (beforeImage == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "sqlstore.sql.updateobjdescimpl.beforeimagenull")); //NOI18N - } - - if (f.absoluteID < 0) { - return beforeHiddenValues.get(-(f.absoluteID + 1)); - } else { - return f.getValue(beforeImage); - } - } - - public int getUpdateAction() { - return updateAction; - } - - public ClassDesc getConfig() { - return (ClassDesc) afterImage.getPersistenceConfig(); - } - - public SQLStateManager getAfterImage() { - return afterImage; - } - - public boolean isBeforeImageRequired() { - return afterImage.isBeforeImageRequired(); - } - - public Concurrency getConcurrency() { - return concurrency; - } - - public void setConcurrency(Concurrency concurrency) { - this.concurrency = concurrency; - } - - /** - * We send the AfterImage for updates and inserts - * but for updates it will only hold values for updated attributes (unless - * the class is configured to send the whole AfterImage, also we'll let the - * concurrency interface affect the sent AfterImage (and the sent - * BeforeImage)). For deletes the AfterImage will be NIL, for inserts the - * BeforeImage will be NIL. For deletes the BeforeImage will contain values - * for all key attributes. Also for deletes and updates we'll send the - * HiddenValues array from the paladin (although we can set to NIL any - * values in the array not needed by this particular update). - * - * UpdatedAttributes will contain indexes into the PersistentDesc.Attributes - * array for new or updated values. - * - * Initially we'll probably just send the whole BeforeImage and AfterImage - * (except that we won't have an AfterImage for Deletes and we won't have - * a BeforeImage for updates). - */ - public void setObjectInfo(StateManager biStateManager, - StateManager aiStateManager, - int action) { - - this.beforeImage = (SQLStateManager) biStateManager; - this.afterImage = (SQLStateManager) aiStateManager; - ClassDesc config = (ClassDesc) afterImage.getPersistenceConfig(); - updateAction = action; - - this.afterHiddenValues = afterImage.hiddenValues; - - if (beforeImage != null) { - this.beforeHiddenValues = beforeImage.hiddenValues; - } - - // This pass through attributes we are only going to look at local attributes. - // These are attributes that are stored in this object and are not references - // to other persistent objects. - - boolean debug = logger.isLoggable(Logger.FINER); - - for (int i = 0; i < config.fields.size(); i++) { - FieldDesc f = (FieldDesc) config.fields.get(i); - LocalFieldDesc lf = null; - boolean updated = false; - - if (f instanceof LocalFieldDesc) { - lf = (LocalFieldDesc) f; - } else { - continue; - } - - if ((updateAction == LOG_DESTROY) || - ((lf.sqlProperties & FieldDesc.PROP_RECORD_ON_UPDATE) > 0)) { - continue; - } else if (lf.absoluteID < 0) { - if ((beforeImage == null) || - (beforeImage.getHiddenValue(lf.absoluteID) != - afterImage.getHiddenValue(lf.absoluteID))) { - updated = true; - } - } else if (lf.getType().isPrimitive() || - String.class == lf.getType() || - java.util.Date.class == lf.getType()) { - Object afterVal = lf.getValue(afterImage); - Object beforeVal = null; - - if (beforeImage != null) { - beforeVal = lf.getValue(beforeImage); - } - - if ((beforeVal != null) && (afterVal != null)) { - if (!beforeVal.equals(afterVal)) { - updated = true; - } - } else { - updated = true; - } - } else { - // What else?? - } - - if (updated) { - if (debug) { - logger.finer("sqlstore.sql.updateobjdescimpl.updated", f.getName()); // NOI18N - } - - updatedFields.add(lf); - } - } - - if (concurrency != null) { - concurrency.commit(this, beforeImage, afterImage, updateAction); - } - } - - /** - * Triggers the version update if the associated state manager is - * registered for version consistency and database fields have been - * modified. The version is incremented, if - *
      - *
    • The associated instance is version consistent.
    • - *
    • The associated instance has updated database fields.
    • - *
    - * Note: The version is not incremented, if a relationship - * mapped to a join table was updated. - */ - public void incrementVersion() { - - if (afterImage.hasVersionConsistency() - && updateAction == ActionDesc.LOG_UPDATE - && hasUpdatedFields()) { - - afterImage.incrementVersion(); - } - } - - /** - * Marks the associated state manager as failed. - */ - public void setVerificationFailed() { - afterImage.setVerificationFailed(); - } - - public boolean hasVersionConsistency() { - return afterImage.hasVersionConsistency(); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/Concurrency.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/Concurrency.java deleted file mode 100644 index 7442b1818b8..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/Concurrency.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * Concurrency.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.concurrency; - -import com.sun.jdo.spi.persistence.support.sqlstore.Transaction; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager; -import com.sun.jdo.spi.persistence.support.sqlstore.UpdateObjectDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ClassDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.UpdateQueryPlan; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.SelectQueryPlan; - -/** - */ -public interface Concurrency { - public static final int CUSTOM = 16; - - public static final int DB_EXPLICIT = 2; - - public static final int DB_NATIVE = 1; - - public static final int NONE = 0; - - public static final int OPT_MASK = 1; - - public static final int OPT_UNIQUE_ID = 4; - - public static final int OPT_VERIFY = 3; - - public Transaction suspend(); - - public void resume(Transaction t); - - public void commit(UpdateObjectDesc updateDesc, - SQLStateManager beforeImage, - SQLStateManager afterImage, - int logReason); - - public void configPersistence(ClassDesc config); - - public void select(SelectQueryPlan plan); - - public void update(UpdateQueryPlan plan); - - public Object clone(); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyCheckDirty.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyCheckDirty.java deleted file mode 100644 index 6cde8431bad..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyCheckDirty.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConcurrencyCheckDirty.java - * - * Created on March 19, 2002 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.concurrency; - -import org.netbeans.modules.dbschema.ColumnElement; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager; -import com.sun.jdo.spi.persistence.support.sqlstore.UpdateObjectDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.FieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.QueryTable; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.Statement; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.UpdateQueryPlan; - -import java.util.ArrayList; -import java.util.BitSet; -import java.util.Iterator; - -/** - */ -public class ConcurrencyCheckDirty extends ConcurrencyDBNative { - - public void commit(UpdateObjectDesc updateDesc, - SQLStateManager beforeImage, - SQLStateManager afterImage, - int logReason) { - this.beforeImage = beforeImage; - this.afterImage = afterImage; - } - - public void update(UpdateQueryPlan plan) { - boolean debug = logger.isLoggable(); - - if (debug) { - logger.fine("sqlstore.sql.concurrency.concurrencychkdirty", beforeImage); // NOI18N - } - - if (beforeImage != null) { - ArrayList fields = plan.getConfig().fields; - BitSet verifyGroupMask = prepareVerifyGroupMask(plan); - - for (int i = 0; i < 2; i++) { - - if (i == 0) { - fields = plan.getConfig().fields; - } else if (i == 1) { - fields = plan.getConfig().hiddenFields; - } - - if (fields == null) { - continue; - } - - for (int j = 0; j < fields.size(); j++) { - FieldDesc f = (FieldDesc) fields.get(j); - - if (f instanceof LocalFieldDesc) { - LocalFieldDesc lf = (LocalFieldDesc) f; - - // Make sure the field is marked for concurrency check and is present - // Also, skip all fields that are marked as secondary tracked fields. - // - // RESOLVE: we need to fetch the fields that are not present. - if (((lf.sqlProperties & FieldDesc.PROP_IN_CONCURRENCY_CHECK) > 0) && - ((lf.sqlProperties & FieldDesc.PROP_SECONDARY_TRACKED_FIELD) == 0) && - beforeImage.getPresenceMaskBit(lf.absoluteID)) { - - if (isFieldVerificationRequired(lf, verifyGroupMask)) { - Object val = null; - val = lf.getValue(this.beforeImage); - addConstraint(plan, lf, val); - } - } - } - } - } - } - - if (debug) { - logger.fine("sqlstore.sql.concurrency.concurrencychkdirty.exit"); // NOI18N - } - } - - protected BitSet prepareVerifyGroupMask(UpdateQueryPlan plan) { - return null; - } - - protected boolean isFieldVerificationRequired(LocalFieldDesc lf, - BitSet verifyGroupMask) { - return true; - } - - /** - * Adds a comparison for local field lf and value val - * to the corresponding statements in UpdateQueryPlan plan. - */ - private static void addConstraint(UpdateQueryPlan plan, LocalFieldDesc lf, Object val) { - for (Iterator iter = lf.getColumnElements(); iter.hasNext(); ) { - ColumnElement c = (ColumnElement) iter.next(); - - for (int i = 0; i < plan.statements.size(); i++) { - Statement s = (Statement) plan.statements.get(i); - - for (int j = 0; j < s.tableList.size(); j++) { - QueryTable t = (QueryTable) s.tableList.get(j); - - if (t.getTableDesc().getTableElement() == c.getDeclaringTable()) { - s.addConstraint(lf, val); - } - } - } - } - } - - public Object clone() { - return new ConcurrencyCheckDirty(); - } -} - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyDBExplicit.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyDBExplicit.java deleted file mode 100644 index 03178ec08a5..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyDBExplicit.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConcurrencyDBExplicit.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.concurrency; - -import com.sun.jdo.spi.persistence.support.sqlstore.sql.RetrieveDescImpl; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.SelectQueryPlan; - -/** - */ -public class ConcurrencyDBExplicit extends ConcurrencyDBNative { - - public void select(SelectQueryPlan plan) { - // Save the info that update lock is required in the queryplan. - // This info would be used by SQLStoreManger::retrieve() - // to process distinct manually if required. - plan.options = plan.options | RetrieveDescImpl.OPT_FOR_UPDATE; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyDBNative.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyDBNative.java deleted file mode 100644 index de5772738c1..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyDBNative.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConcurrencyDBNative.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.concurrency; - -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperSQLStore; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager; -import com.sun.jdo.spi.persistence.support.sqlstore.Transaction; -import com.sun.jdo.spi.persistence.support.sqlstore.UpdateObjectDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ClassDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.SelectQueryPlan; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.UpdateQueryPlan; -import com.sun.jdo.spi.persistence.utility.logging.Logger; - -/** - */ -public class ConcurrencyDBNative implements Concurrency { - - SQLStateManager beforeImage; - - SQLStateManager afterImage; - - /** The logger */ - protected static final Logger logger = LogHelperSQLStore.getLogger(); - - public void commit(UpdateObjectDesc updateDesc, - SQLStateManager beforeImage, - SQLStateManager afterImage, - int logReason) { - } - - public void configPersistence(ClassDesc config) { - // RESOLVE: Need to check field properties so that we get the before - // images at update time. - } - - public Transaction suspend() { - return null; - } - - public void resume(Transaction t) { - } - - public void select(SelectQueryPlan plan) { - } - - public void update(UpdateQueryPlan plan) { - } - - public Object clone() { - return this; - } -} - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyOptVerify.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyOptVerify.java deleted file mode 100644 index c06c00e5bfa..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/concurrency/ConcurrencyOptVerify.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConcurrencyOptVerify.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.concurrency; - -import com.sun.jdo.spi.persistence.support.sqlstore.model.FieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.QueryPlan; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.UpdateQueryPlan; - -import java.util.ArrayList; -import java.util.BitSet; - -/** - */ -public class ConcurrencyOptVerify extends ConcurrencyCheckDirty { - - /** - * Find all the local fields that have been updated - * and use their concurrencyGroup to set the verifyGroupMask. - */ - protected BitSet prepareVerifyGroupMask(UpdateQueryPlan plan) { - ArrayList fields; - BitSet verifyGroupMask = new BitSet(); - int action = plan.getAction(); - - for (int i = 0; i <= 1; i++) { - if (i == 0) { - fields = plan.getConfig().fields; - } else { - fields = plan.getConfig().hiddenFields; - } - - if (fields == null) { - continue; - } - - for (int j = 0; j < fields.size(); j++) { - FieldDesc f = (FieldDesc) fields.get(j); - - if ((f instanceof LocalFieldDesc) && - (f.sqlProperties & FieldDesc.PROP_IN_CONCURRENCY_CHECK) > 0) { - - // In the case of a deleted instance with no modified fields - // we use the present fields in the before image to perform - // the concurrency check. - if (afterImage.getSetMaskBit(f.absoluteID) || - ((action == QueryPlan.ACT_DELETE) && - beforeImage.getPresenceMaskBit(f.absoluteID))) { - if (f.concurrencyGroup != -1) { - verifyGroupMask.set(f.concurrencyGroup); - } - } - } - } - } - - return verifyGroupMask; - } - - protected boolean isFieldVerificationRequired(LocalFieldDesc lf, - BitSet verifyGroupMask) { - boolean fieldVerificationRequired = true; - - if (lf.concurrencyGroup == -1) { - if (!afterImage.getSetMaskBit(lf.absoluteID)) { - fieldVerificationRequired = false; - } - } else { - if (!verifyGroupMask.get(lf.concurrencyGroup)) { - fieldVerificationRequired = false; - } - } - - return fieldVerificationRequired; - } - - public Object clone() { - return new ConcurrencyOptVerify(); - } -} - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/Constraint.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/Constraint.java deleted file mode 100644 index 3055411a5c8..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/Constraint.java +++ /dev/null @@ -1,314 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * Constraint.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.QueryPlan; - -import java.util.ArrayList; -import java.util.List; - - -/** - */ -public class Constraint extends Object { - /** - * The stack that contains all constraints beside join constraints. - * Join constraints are handled by a separate stack. - */ - public List stack; - - /** - * The stack that contains outer join constraints. All the elements of this stack - * are instance of {@link ConstraintJoin}. Outer join constraints can be appended - * to the query w/o changing the semantic. - */ - private List outerJoinStack; - - /** - * The stack that contains order by constraints. We would like to - * separate Order By constraints from the main stack, but they must - * be merged with all other constraints to preserve the order of - * constraints from different stacks. E.g. - * "order by firstname ascending, department.name ascending" - * - * @see #isEmptyOrOrderBy - */ -// private List orderByStack; - - /** - * Adds a field to the constraint stack. - * - * AddField creates a ConstraintField node for the indicated - * named field, optionally including an operation descriptor - * and adds it to the constraint stack. - * - * @param name - * The name parameter specifies the name of the field to be - * added to the constrant stack. - * - * @param desc - * The desc parameter specifies an operation descriptor describing - * what is to be done with the field named by the name parameter. - */ - public void addField(String name, ActionDesc desc) { - stack.add(new ConstraintFieldName(name, desc)); - } - - /** - * Adds a field to the constraint stack. - * - * AddField creates a ConstraintFieldDesc node for the indicated - * field descriptor and adds it to the constraint stack. - * - * @param desc - * The Desc parameter is the field descriptor to be - * added to the constrant stack. - */ - public void addField(LocalFieldDesc desc) { - stack.add(new ConstraintFieldDesc(desc)); - } - - /** - * Adds a field to the constraint stack. - * - * AddField creates a ConstraintFieldDesc node for the indicated - * field descriptor and adds it to the constraint stack. - * - * @param desc - * The Desc parameter is the field descriptor to be - * added to the constrant stack. - * - * @param plan - * The query plan to which this desc belongs - */ - public void addField(LocalFieldDesc desc, QueryPlan plan) { - stack.add(new ConstraintFieldDesc(desc, plan)); - } - - public void addField(ConstraintFieldDesc constraintDesc) { - stack.add(constraintDesc); - } - - public void addForeignField(String name, ActionDesc desc) { - stack.add(new ConstraintForeignFieldName(name, desc)); - } - - /** - * Adds an operation to the constraint stack. - * - * AddOperation creates a ConstraintOperation node whose operation is - * operation and adds it to the constraint stack. - * - * @param operation - * The operation parameter specifies the operation to be added to - * the constrant stack. - */ - public void addOperation(int operation) { - stack.add(new ConstraintOperation(operation)); - } - - /** - * Adds a data value to the constraint stack. Creates a ConstraintValue - * node whose value is value and adds it to the constraint stack. - * @param value The value to be added to the constrant stack. - * @param localField The localField to which this value is bound. - * Please note that localField can be null for values involved in - * complex expressions in a query. - */ - public void addValue(Object value, LocalFieldDesc localField) { - stack.add(new ConstraintValue(value, localField)); - } - - /** - * Adds a subquery constraint on the stack. - * @param field The field on which subquery constraint is added. - * @param rd Retrieve descriptor corresponding to the subquery. - */ - public void addConstraintFieldSubQuery(String field, ActionDesc rd) { - stack.add(new ConstraintFieldNameSubQuery(field, rd)); - } - - /** - * Adds the index of a parameter to the stack. - * @param index the parameter index. - * @param enumType the type for this parameter. - * @param localField the localField to which this parameter is bound. - */ - public void addParamIndex(int index, int enumType, - LocalFieldDesc localField) { - stack.add(new ConstraintParamIndex(index,enumType, localField)); - } - - /** - * Adds specified join constraint. Equi joins are added to the - * constraint stack, outer joins are added to a separate stack, the - * outerJoinStack. - * - * @param join The join constraint to be added. - */ - public void addJoinConstraint(ConstraintJoin join) { - if (join.operation == ActionDesc.OP_EQUIJOIN) { - stack.add(join); - } else { - // The current logic is written with the assumption that a join - // that is not an equi join is always a left join - assert join.operation == ActionDesc.OP_LEFTJOIN; - outerJoinStack.add(join); - } - } - - /** - * Merges the stack with the specified foreign constraint stack. - * @param foreignConstraint The constraint to be merged. - * @param joinOp Join operation as defined in {@link ActionDesc}. - * @return True, if we need to add an additional "AND" constraint. - */ - public boolean mergeConstraint(Constraint foreignConstraint, int joinOp) { - - stack.addAll(foreignConstraint.stack); - outerJoinStack.addAll(foreignConstraint.outerJoinStack); - - return addAnd(foreignConstraint, joinOp); - } - - /** - * Decides, if we need to add an additional "AND" constraint to - * the stack after merging the foreign stack. - * - * @param foreignConstraint Constraint to be joined. - * @param joinOp Join operator. - * @return True, if we need to add an additional "AND" constraint. - */ - private boolean addAnd(Constraint foreignConstraint, int joinOp) { - // Add "AND" constraints for equi-joins only. - // * Don't add an "AND" constraint for outer joins. Outer joins - // don't contribute to the "where"-clause in ANSI-case. In the - // non-ANSI case, outer joins can be appended to the query w/o - // changing the semantic. - // * Don't add an "AND" constaint for non-relationship joins, - // as no additional join constraint is added in this case. - return (joinOp == ActionDesc.OP_EQUIJOIN) - - // Never add an "AND" constraint, if the foreign stack is - // empty or contains "ORDER_BY" constraints only, as "ORDER_BY" - // constraints don't contribute to the "where"-clause. - && !foreignConstraint.isEmptyOrOrderBy(); - } - - /** - * Checks, if the constraint stack is empty or contains "ORDER_BY" - * constraints only. "ORDER_BY" constraints are recognized as an - * ORDER_BY operation followed by a field name constraint, and - * an optional Value constraint giving the position of the Order - * By constraint. - * NOTE: The value constraints giving the position for - * the order by constraints are currently not generated by the - * query compiler. Order by constraints stay in the correct order - * because of two reasons - *
      - *
    • the way, constraints are processed by the query compiler
    • - *
    • the way constraint stacks are joined in - * {@link com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.SelectQueryPlan#processForeignConstraints}. - *
    • - *
    - */ - private boolean isEmptyOrOrderBy() { - boolean rc = true; - // Abort the loop at first possible opportunity. - for (int i = stack.size() - 1; i >= 0 && rc; ) { - ConstraintNode node = (ConstraintNode) stack.get(i); - - if ((node instanceof ConstraintOperation) - && ((((ConstraintOperation) node).operation == ActionDesc.OP_ORDERBY) || - (((ConstraintOperation) node).operation == ActionDesc.OP_ORDERBY_DESC))) { - if ((i > 0) && ( - stack.get(i - 1) instanceof ConstraintFieldName || - stack.get(i - 1) instanceof ConstraintFieldDesc)) { - // Order By constraint. - i--; - if ((i > 0) && (stack.get(i - 1) instanceof ConstraintValue)) { - // Optional Value constraint. - i--; - } - } else { - rc = false; - } - } else { - rc = false; - } - - // Check the next constraint if any. - i--; - } - return rc; - } - - /** - * Gets the where clause constraints for this Constraint - * @return The where clause constraints for this Constraint - */ - public List getConstraints() { - return stack; - } - - /** - * Gets the outer join constraints for this Constraint - * @return The outer join constraints for this Constraint - */ - public List getOuterJoinConstraints() { - return outerJoinStack; - } - - public Constraint() { - stack = new ArrayList(); - outerJoinStack = new ArrayList(); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintConstant.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintConstant.java deleted file mode 100644 index 6e024996209..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintConstant.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintConstant.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - - -/** - */ -public class ConstraintConstant extends ConstraintNode { - public Object value; - - public ConstraintConstant(Object value) { - super(); - - this.value = value; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintField.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintField.java deleted file mode 100644 index 77917540690..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintField.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintField.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.QueryPlan; - -/** - */ -public class ConstraintField extends ConstraintNode { - public QueryPlan originalPlan; - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldDesc.java deleted file mode 100644 index 3c964bf84d9..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldDesc.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintFieldDesc.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.QueryPlan; - - -/** - */ -public class ConstraintFieldDesc extends ConstraintField { - public LocalFieldDesc desc; - - public int ordering; - - public ConstraintFieldDesc(LocalFieldDesc desc) { - super(); - - this.desc = desc; - this.ordering = 0; - } - - public ConstraintFieldDesc(LocalFieldDesc desc, - int ordering) { - super(); - - this.desc = desc; - this.ordering = ordering; - } - - public ConstraintFieldDesc(LocalFieldDesc desc, - QueryPlan plan) { - super(); - - this.desc = desc; - this.originalPlan = plan; - this.ordering = 0; - } - - - public ConstraintFieldDesc(LocalFieldDesc desc, - QueryPlan plan, - int ordering) { - super(); - - this.desc = desc; - this.originalPlan = plan; - this.ordering = ordering; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldName.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldName.java deleted file mode 100644 index 8617fbc31d8..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldName.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintFieldName.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -/** - */ -public class ConstraintFieldName extends ConstraintField { - - public ActionDesc desc; - - public String name; - - private boolean projection; - - private final boolean prefetched; - - public ConstraintFieldName(String name, - ActionDesc desc) { - super(); - this.name = name; - this.desc = desc; - this.prefetched = false; - } - - public ConstraintFieldName(String name, ActionDesc desc, boolean prefetched) { - super(); - this.name = name; - this.desc = desc; - // Resolve: This constructor should always be called with parameter prefetched - // set to true. Ideally, we should have an inheritance hierachy as follows - // ConstraintFieldName - // | - // ---------------------------------- - // | | - // ProjectionFieldName PrefetchedFieldName - // then isPrefetched and isProjection can be turned into abstract methods - // Till we do the cleanup, parameter prefetched will just serve as a - // marker and its value will always be ignored. - assert prefetched == true; - this.prefetched = prefetched; - } - - public boolean isProjection() { - return projection; - } - - public void setProjection() { - this.projection = true; - } - - public boolean isPrefetched() { - return prefetched; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldNameSubQuery.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldNameSubQuery.java deleted file mode 100644 index 6500840ab1b..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintFieldNameSubQuery.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintFieldNameSubQuery.java - * - * Create on May 23, 2002 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -/** - *

    This class represents a constrint on field that is represented by - * a subquery - */ -public class ConstraintFieldNameSubQuery extends ConstraintField { - - public ActionDesc desc; - public String fieldName; - - - public ConstraintFieldNameSubQuery(String name, - ActionDesc desc) { - super(); - this.fieldName = name; - this.desc = desc; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintForeignFieldName.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintForeignFieldName.java deleted file mode 100644 index f0f4b7600fb..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintForeignFieldName.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintForeignFieldDesc.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -/** - * This constraint is used to represent a foreign constraint. - */ -public class ConstraintForeignFieldName extends ConstraintField { - public ActionDesc desc; - - public String name; - - public ConstraintForeignFieldName(String name, - ActionDesc desc) { - super(); - this.name = name; - this.desc = desc; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintJoin.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintJoin.java deleted file mode 100644 index fb6151b3296..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintJoin.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintJoin.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.QueryPlan; - -import java.util.ArrayList; - -/** - */ -public class ConstraintJoin extends ConstraintOperation { - public ArrayList fromColumns; - - public QueryPlan fromPlan; - - public ArrayList toColumns; - - public QueryPlan toPlan; - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintNode.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintNode.java deleted file mode 100644 index 04308d180ff..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintNode.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintNode.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - - -/** - */ -public class ConstraintNode extends Object { - public static final int PROP_FALSE = 0; - - public static final int PROP_TRUE = 1; - - public static final int PROP_UNKNOWN = -1; - - public int hasProperty(int propertyKey) { - return PROP_UNKNOWN; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintOperation.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintOperation.java deleted file mode 100644 index 305bbe50d5a..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintOperation.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintOperation.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -/** - */ -public class ConstraintOperation extends ConstraintNode { - public static final int PROP_ORDERBY = 1; - - public static final int PROP_ORDERBY_DESC = 2; - - public int operation; - - public ConstraintOperation() { - super(); - } - - public ConstraintOperation(int operation) { - super(); - - this.operation = operation; - } - - - public int hasProperty(int propertyKey) { - // RESOLVE: We should probably get rid of this and standardize on the - // SqlRetrieveDesc.GetOperationInfo method. - if (propertyKey == PROP_ORDERBY) { - if (operation == ActionDesc.OP_ORDERBY - || operation == ActionDesc.OP_ORDERBY_DESC) { - return ConstraintNode.PROP_TRUE; - } else { - return ConstraintNode.PROP_FALSE; - } - } - return ConstraintNode.PROP_UNKNOWN; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintOrder.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintOrder.java deleted file mode 100644 index 73be90c06a7..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintOrder.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintOrder.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -/** - */ -public class ConstraintOrder extends ConstraintNode { - public ConstraintField ConstraintField; - - public ConstraintOperation ConstraintOperation; - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintParamIndex.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintParamIndex.java deleted file mode 100644 index 513e29b8c5f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintParamIndex.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintParamIndex.java - * - * Created on March 12, 2002 - * @author Daniel Tonn - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; - -/** - * Constraint which represent an index of a query parameter. - * This index is put to the stack and used - * to bind the real value of the parameter to the query. - */ -public class ConstraintParamIndex extends ConstraintValue -{ - - /** - * com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration constant - * for type of this parameter. - * - */ - int enumType; - - /** - * Constructor. - * @param index parameter index - * @param enumType type of this parameter - * @param localField the localField to which this parameter is bound. - */ - public ConstraintParamIndex(int index, int enumType, LocalFieldDesc localField) { - super(new Integer(index), localField); - this.enumType = enumType; - } - - /** - * Get type of this parameter. - */ - public int getType() { - return enumType; - } - - public Integer getIndex() { - return (Integer) getValue(); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintSubquery.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintSubquery.java deleted file mode 100644 index d7a56880ee0..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintSubquery.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintSubquery.java - * - * Create on Feb 22, 2001 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -import com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.QueryPlan; - -/** - */ -public class ConstraintSubquery extends ConstraintOperation { - /** - * SqlQueryPlan for the subquery. - */ - public QueryPlan plan; -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintValue.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintValue.java deleted file mode 100644 index 3c7915bd83d..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/constraint/ConstraintValue.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConstraintValue.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint; - -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; - - -/** - */ -public class ConstraintValue extends ConstraintNode { - private Object value; - - /** The local field to which this value constraint is bound. Please note - * that we have this information only for constraints that corresponds to simple - * expressions ( like ) in query filter. - * Do not rely on this information to be always present for any optimizations. - */ - private LocalFieldDesc localField; - - public ConstraintValue(Object value, LocalFieldDesc localField) { - super(); - - this.value = value; - this.localField = localField; - } - - public Object getValue() { - return value; - } - - public LocalFieldDesc getLocalField() { - return localField; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/ColumnRef.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/ColumnRef.java deleted file mode 100644 index 05b4b44c1cf..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/ColumnRef.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ColumnRef.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import org.netbeans.modules.dbschema.ColumnElement; -import com.sun.jdo.api.persistence.support.FieldMapping; - -/** - */ -public class ColumnRef extends Object implements FieldMapping { - // - // actual ColumnElement from the dbmodel - // - private ColumnElement columnElement; - - // - // the table this column belongs to - // - private QueryTable table; - - // - // input value for this column for update statements. - // This field contains LocalFieldDesc for the corresponding field when - // an UpdateStatement using batching uses this field. - // - private Object value; - - // - // the position of this column in the SQL statement - // - private int index; - - // - // the name of this column - // - private String name; - - public ColumnRef(ColumnElement columnElement, - QueryTable table) { - this.columnElement = columnElement; - name = columnElement.getName().getName(); - this.table = table; - } - - public ColumnRef(ColumnElement columnElement, - Object value) { - this.columnElement = columnElement; - name = columnElement.getName().getName(); - this.value = value; - } - - /** Return the actual ColumnElement associated with this column. - * @return the ColumnElement associated with this - */ - public ColumnElement getColumnElement() { - return columnElement; - } - - /** Return the position of this column in the SQL statement. - * @return the position of this column in the SQL statement - */ - public int getIndex() { - return index; - } - - /** Set the position of this column in the SQL statement. - * @param value - the new position - */ - public void setIndex(int value) { - this.index = value; - } - - /** Return the input value for this column. - * @return the input value for this column - */ - public Object getValue() { - return value; - } - - /** Return the QueryTable associated with this column. - * @return the QueryTable associated with this column. - */ - public QueryTable getQueryTable() { - return table; - } - - /** Return the name of this column. - * @return the name of this column. - */ - public String getName() { - return name; - } - - //---- implementing FieldMapping ------------------------------// - /** - * This method return int corresponding to java.sql.Types. - */ - public int getColumnType() { - return columnElement.getType(); - } - - /** - * This method return the name of the column. - */ - public String getColumnName() { - return name; - } - - /** - * This method return the length of the column and -1 if unknown. - */ - public int getColumnLength() { - Integer len = columnElement.getLength(); - return (len != null) ? len.intValue(): -1; - } - - //---- end of implementing FieldMapping -----------------------// -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedExistSelectPlan.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedExistSelectPlan.java deleted file mode 100644 index bbd25bba412..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedExistSelectPlan.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.RetrieveDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ForeignFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.ConstraintFieldDesc; - -import java.util.ArrayList; - -/** - * Implements the select plan for Exist-Subqueries. - * - * @author Mitesh Meswani - * @author Markus Fuchs - */ -public class CorrelatedExistSelectPlan extends CorrelatedSelectPlan { - - public CorrelatedExistSelectPlan(RetrieveDesc desc, - SQLStoreManager store, - ForeignFieldDesc parentField, - SelectQueryPlan parentPlan) { - - super(desc, store, parentField, parentPlan); - } - - /** - * There are no real fields to be selected for an (NOT)EXIST query. - * This method just adds the table for the nested select. - * The statement for nested select is created as a side effect. - */ - protected void processFields() { - for (int i = 0; i < parentField.foreignFields.size(); i++) { - LocalFieldDesc field = (LocalFieldDesc) parentField.foreignFields.get(i); - addTable(field); - } - } - - /** - * The correlated constraint joining this subquery with the parent field. - * The joined table is added as a side-effect. - */ - protected void doCorrelatedJoin() { - ArrayList foreignFields = null; - - if (parentField.useJoinTable()) { - foreignFields = parentField.assocLocalFields; - // The join table is included in #processJoinTable - } else { - foreignFields = parentField.foreignFields; - } - - ArrayList localFields = parentField.localFields; - // Add the constraint linking the parent query with the subquery. - for (int i = 0; i < localFields.size(); i++) { - LocalFieldDesc la = (LocalFieldDesc) localFields.get(i); - LocalFieldDesc fa = (LocalFieldDesc) foreignFields.get(i); - - ConstraintFieldDesc lcfd = new ConstraintFieldDesc(la, parentPlan); - ConstraintFieldDesc fcfd = new ConstraintFieldDesc(fa, this); - - constraint.addField(lcfd); - constraint.addField(fcfd); - // Subqueries always join via equijoin. - constraint.addOperation(ActionDesc.OP_EQ); - } - } - - protected Statement newStatement() { - return new SelectOneStatement(store.getVendorType(), this); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedInSelectPlan.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedInSelectPlan.java deleted file mode 100644 index 3bd55fafb91..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedInSelectPlan.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import com.sun.jdo.spi.persistence.support.sqlstore.RetrieveDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ForeignFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; - -import java.util.List; - -/** - * Implements the select plan for In-Subqueries. - * - * @author Markus Fuchs - * @author Mitesh Meswani - */ -public class CorrelatedInSelectPlan extends CorrelatedSelectPlan { - - public CorrelatedInSelectPlan(RetrieveDesc desc, - SQLStoreManager store, - ForeignFieldDesc parentField, - SelectQueryPlan parentPlan) { - - super(desc, store, parentField, parentPlan); - } - - /** - * Add the fields joining the subquery to the list of selected fields. - * The joined table is added as a side-effect. - */ - protected void processFields() { - List subqueryFieldsToSelect; - - if (parentField.useJoinTable()) { - subqueryFieldsToSelect = parentField.getAssocLocalFields(); - } else { - subqueryFieldsToSelect = parentField.getForeignFields(); - } - - // Add the columns and tables to be selected in the subquery - for (int i = 0; i < subqueryFieldsToSelect.size(); i++) { - addColumn((LocalFieldDesc) subqueryFieldsToSelect.get(i)); - } - } - - /** - * No-Op. No join condition is added for correlated in selects, - * as the queries are joined on the selected fields. - */ - protected void doCorrelatedJoin() {} - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedSelectPlan.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedSelectPlan.java deleted file mode 100644 index 0620b94faec..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/CorrelatedSelectPlan.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import com.sun.jdo.spi.persistence.support.sqlstore.RetrieveDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ForeignFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ClassDesc; -import org.netbeans.modules.dbschema.ColumnElement; - -import java.util.ArrayList; - -/** - * Implements the select plan for correlated subqueries. - * - * @author Mitesh Meswani - * @author Markus Fuchs - */ -public abstract class CorrelatedSelectPlan extends SelectQueryPlan { - /** The parent plan for this subquery */ - protected SelectQueryPlan parentPlan; - - public CorrelatedSelectPlan(RetrieveDesc desc, - SQLStoreManager store, - ForeignFieldDesc parentField, - SelectQueryPlan parentPlan) { - - super(desc, store, null); - this.parentField = parentField; - this.parentPlan = parentPlan; - } - - /** - * The constraints for correlated subqueries are added here. - * The constraints are: - *

      - *
    • The correlated constraint joining this subquery with the parent plan
    • - *
    • A join constraint if the parent field uses join table
    • - *
    - */ - protected void processConstraints() { - - // Process the constraint on the stack.` - super.processConstraints(); - - doCorrelatedJoin(); - - processJoinTable(); - - // Process any extra statement added as the result of #addTable. - processStatements(); - } - - /** - * Must be implemented by the sub classes. - */ - protected abstract void doCorrelatedJoin(); - - /** - * Enhance the select statement to include the join table if the - * relationship is mapped via a join table. - */ - private void processJoinTable() { - - if (parentField.useJoinTable()) { - addQueryTables(parentField.assocForeignColumns, config); - - // Put in a join for the association table. - // Subqueries always join via equijoin. - addJoinConstraint(this, this, - parentField.assocForeignColumns, - parentField.foreignColumns, ActionDesc.OP_EQUIJOIN); - } - } - - /** - * Adds the query tables corresponding to the columns in columnList. - * - * @param columnList List of columns. - * @param config Class configuration corresponding to columns. - */ - protected void addQueryTables(ArrayList columnList, ClassDesc config) { - for (int i = 0; i < columnList.size(); i++) { - ColumnElement col = (ColumnElement) columnList.get(i); - addQueryTable(col.getDeclaringTable(), config); - } - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/DBStatement.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/DBStatement.java deleted file mode 100644 index b7dd698d552..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/DBStatement.java +++ /dev/null @@ -1,322 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * DBStatement.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import org.netbeans.modules.dbschema.ColumnElement; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperSQLStore; -import com.sun.jdo.spi.persistence.support.sqlstore.database.DBVendorType; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.utility.logging.Logger; - -import java.io.ByteArrayInputStream; -import java.io.StringReader; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.sql.*; - -/** - */ -public class DBStatement extends Object { - - /** Name of the batch threshold property. */ - public static final String BATCH_THRESHOLD_PROPERTY = - "com.sun.jdo.spi.persistence.support.sqlstore.BATCH_THRESHOLD"; - - /** - * Batch threshold. Set the value from the system property named by - * this class followed by "BATCH_THRESHOLD". Default is 100. - */ - private static final int BATCH_THRESHOLD = - Integer.getInteger(BATCH_THRESHOLD_PROPERTY, 100).intValue(); - - /** The wrapped PreparedStatement. */ - private PreparedStatement preparedStmt; - - /** Current number of batched commands. */ - private int batchCounter = 0; - - /** The SQL text. */ - private String statementText; - - /** The logger */ - private static Logger logger = LogHelperSQLStore.getLogger(); - - /** - * This constructor is used for batched updates. - * @param conn the connection - * @param statementText the statement text - * @param timeout the query timeout - */ - public DBStatement(Connection conn, String statementText, int timeout) - throws SQLException - { - this.statementText = statementText; - preparedStmt = conn.prepareStatement(statementText); - // Set SELECT/INSERT/UPDATE/DELETE Statement timeout - if(timeout != -1) { - // Avoid calling setQueryTimeOut when user has specified it as -1 - // This can be used as a mechanism to prevent calling setQueryTimeOut - // for drivers that do not support this call - // for example, look at bug 6561160 - preparedStmt.setQueryTimeout(timeout); - } - } - - /** Returns the SQL text. */ - public String getStatementText() - { - return statementText; - } - - /** Returns the wrapped PreparedStatement. */ - public PreparedStatement getPreparedStatement() - { - return preparedStmt; - } - - /** - * Checks whether the current number of batched commands exceeds the - * batch threshold defined by {@link #BATCH_THRESHOLD}. - */ - public boolean exceedsBatchThreshold() - { - return batchCounter >= BATCH_THRESHOLD; - } - - /** - * Increases the batch counter and delegates the addBatch call to the - * PreparedStatement wrapped by this DBStatement. - */ - public void addBatch() - throws SQLException - { - batchCounter++; - if (logger.isLoggable(Logger.FINER)) { - logger.finer("sqlstore.sql.generator.dbstatement.addbatch", // NOI18N - Integer.valueOf(batchCounter)); - } - preparedStmt.addBatch(); - } - - /** - * Delegates the executeBatch call to the PreparedStatement wrapped by - * this DBStatement and resets the batch counter. - */ - public int[] executeBatch() - throws SQLException - { - if (logger.isLoggable(Logger.FINER)) { - logger.finer("sqlstore.sql.generator.dbstatement.executebatch", // NOI18N - Integer.valueOf(batchCounter)); - } - batchCounter = 0; - return preparedStmt.executeBatch(); - } - - /** - * Delegates the executeUpdate call to the PreparedStatement wrapped by - * this DBStatement. - */ - public int executeUpdate() - throws SQLException - { - return preparedStmt.executeUpdate(); - } - - /** - * Delegates the executeQuery call to the PreparedStatement wrapped by - * this DBStatement. - */ - public ResultSet executeQuery() - throws SQLException - { - return preparedStmt.executeQuery(); - } - - /** - * Delegates the close call to the PreparedStatement wrapped by - * this DBStatement. - */ - public void close() - throws SQLException - { - if (preparedStmt != null) { - preparedStmt.close(); - } - } - - /** - * Binds the specified value to the column corresponding with - * the specified index reference. - * @param index the index - * @param val the value - * @param columnElement the columnElement corresponding to the parameter - * marker at specified index. This parameter will always contain correct - * value when called for sql statements corresponding to insert and update - * For select statements this parameter can be null if query compiler is not - * able to detect java field for a parameter or value passed to the query. - * Please see RetrieveDescImpl#addValueConstraint for more information - * - * @param vendorType the vendor type - * @throws SQLException thrown by setter methods on java.sql.PreparedStatement - * @see com.sun.jdo.spi.persistence.support.sqlstore.sql.RetrieveDescImpl#addValueConstraint - */ - public void bindInputColumn(int index, Object val, ColumnElement columnElement, DBVendorType vendorType) - throws SQLException - { - int sqlType = getSqlType(columnElement); - if (logger.isLoggable(Logger.FINER)) { - Object[] items = {index, val, sqlType}; - logger.finer("sqlstore.sql.generator.dbstatement.bindinputcolumn", items); // NOI18N - } - - if (val == null) { - //setNull is called only for insert and update statement to set a column - //to null value. We will always have valid sqlType in this case - preparedStmt.setNull(index, sqlType); - } else { - if (val instanceof Number) { - Number number = (Number) val; - if (number instanceof Integer) { - preparedStmt.setInt(index, number.intValue()); - } else if (number instanceof Long) { - preparedStmt.setLong(index, number.longValue()); - } else if (number instanceof Short) { - preparedStmt.setShort(index, number.shortValue()); - } else if (number instanceof Byte) { - preparedStmt.setByte(index, number.byteValue()); - } else if (number instanceof Double) { - preparedStmt.setDouble(index, number.doubleValue()); - } else if (number instanceof Float) { - preparedStmt.setFloat(index, number.floatValue()); - } else if (number instanceof BigDecimal) { - preparedStmt.setBigDecimal(index, (BigDecimal) number); - } else if (number instanceof BigInteger) { - preparedStmt.setBigDecimal(index, new BigDecimal((BigInteger) number)); - } - } else if (val instanceof String) { - bindStringValue(index, (String)val, columnElement, vendorType); - } else if (val instanceof Boolean) { - preparedStmt.setBoolean(index, ((Boolean) val).booleanValue()); - } else if (val instanceof java.util.Date) { - if (val instanceof java.sql.Date) { - preparedStmt.setDate(index, (java.sql.Date) val); - } else if (val instanceof Time) { - preparedStmt.setTime(index, (Time) val); - } else if (val instanceof Timestamp) { - preparedStmt.setTimestamp(index, (Timestamp) val); - } else { - Timestamp timestamp = new Timestamp(((java.util.Date) val).getTime()); - preparedStmt.setTimestamp(index, timestamp); - } - } else if (val instanceof Character) { - bindStringValue(index, val.toString(), columnElement, vendorType); - } else if (val instanceof byte[]) { - // - // We use setBinaryStream() because of a limit on the maximum - // array size that can be bound using the - // PreparedStatement class setBytes() method on Oracle. - // - //preparedStmt.setBytes(index, (byte[]) val); - byte[] ba = (byte[]) val; - preparedStmt.setBinaryStream(index, new ByteArrayInputStream(ba), ba.length); - } else if (val instanceof Blob) { - preparedStmt.setBlob(index, (Blob) val); - } else if (val instanceof Clob) { - preparedStmt.setClob(index, (Clob) val); - } else { - preparedStmt.setObject(index, val); - } - } - } - - /** - * Binds the specified value to the column corresponding with - * the specified index reference. - * @param index the index - * @param strVal the value - * @param columnElement Descripion of the database column. - * @param vendorType the vendor type - * @throws SQLException thrown by setter methods on java.sql.PreparedStatement - */ - private void bindStringValue(int index, String strVal, ColumnElement columnElement, DBVendorType vendorType) - throws SQLException { - - int sqlType = getSqlType(columnElement); - if(LocalFieldDesc.isCharLobType(sqlType) ) { - //Correct sqlType is passed for parameter markers which do not belong to where clause - //So for insert and update statement we can safely detect binding to character LOB here. - // - //For parameter markers belonging to where clause, we do not always receive correct sqlType. - //It is not allowed by any db to have a Character LOB type in where clause except - //for null comparison. Let the db report an error if user puts a field mapped - //to character LOB column in where clause. - preparedStmt.setCharacterStream(index, new StringReader(strVal), strVal.length()); - } else if(LocalFieldDesc.isFixedCharType(sqlType) ) { - vendorType.getSpecialDBOperation().bindFixedCharColumn(preparedStmt, index, - strVal, getLength(columnElement) ); - } else { - preparedStmt.setString(index, strVal); - } - } - - private static int getSqlType(ColumnElement columnElement) { - return (columnElement != null) ? columnElement.getType() : Types.OTHER; - } - - private static int getLength(ColumnElement columnElement) { - int length = -1; - if(columnElement != null) { - Integer l = columnElement.getLength(); - if(l != null) { - length = l.intValue(); - } - } - return length; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputDesc.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputDesc.java deleted file mode 100644 index 1877f76cf27..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputDesc.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SqlQuerySelectStatement.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import java.util.ArrayList; - -/** - */ -public class InputDesc extends Object { - // - // array of InputValue - // - public ArrayList values; - - public InputDesc() { - super(); - values = new ArrayList(); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputParamValue.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputParamValue.java deleted file mode 100644 index 80c15c0302f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputParamValue.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * InputParamValue.java - * - * Created on March 13, 2002 - * @author Daniel Tonn - */ -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import org.netbeans.modules.dbschema.ColumnElement; - -/** - * An extended InputValue which represents a query input parameter value. - * This class holds the index of the parameter, which is used - * to get the real value for binding the input parameter. - */ -public class InputParamValue extends InputValue -{ - /** - * Constructor. - * @param index parameter index - * @param columnElement The ColumnElment to which this parameter will be - * bound - */ - public InputParamValue(Integer index, ColumnElement columnElement) { - super(index, columnElement); - } - - public Integer getParamIndex() { - return (Integer) getValue(); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputValue.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputValue.java deleted file mode 100644 index afe639c54a0..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/InputValue.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * InputValue.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import org.netbeans.modules.dbschema.ColumnElement; - -/** - */ -public class InputValue extends Object { - private Object value; - - private ColumnElement columnElement; - - public InputValue(Object value, ColumnElement columnElement) { - this.value = value; - this.columnElement = columnElement; - } - - public Object getValue() { - return value; - } - - public void setValue(Object value) { - this.value = value; - } - - public ColumnElement getColumnElement() { - return columnElement; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/QueryPlan.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/QueryPlan.java deleted file mode 100644 index 0e0263e7b66..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/QueryPlan.java +++ /dev/null @@ -1,280 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * QueryPlan.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import org.netbeans.modules.dbschema.TableElement; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ClassDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ReferenceKeyDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.TableDesc; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.ArrayList; -import java.util.ResourceBundle; - - -/** - * This class is used to generate SQL statements. - */ -public abstract class QueryPlan { - public static final int ACT_UPDATE = 1; - - public static final int ACT_INSERT = 2; - - public static final int ACT_DELETE = 3; - - public static final int ACT_SELECT = 4; - - public static final int ACT_NOOP = 5; - - protected static final int ST_BUILT = 0x1; - - /** Array of Statement. */ - public ArrayList statements; - - protected ClassDesc config; - - /** - * Bitmask containing one of {@link QueryPlan#ST_BUILT}, - * {@link SelectQueryPlan#ST_C_BUILT}, {@link SelectQueryPlan#ST_OC_BUILT}, - * {@link SelectQueryPlan#ST_JOINED} - */ - protected int status; - - protected int action; - - protected SQLStoreManager store; - - /** Array of QueryTable. */ - protected ArrayList tables; - - /** I18N message handler. */ - protected final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - QueryPlan.class.getClassLoader()); - - public QueryPlan(ActionDesc desc, SQLStoreManager store) { - this.tables = new ArrayList(); - this.statements = new ArrayList(); - this.store = store; - this.config = (ClassDesc) store.getPersistenceConfig(desc.getPersistenceCapableClass()); - } - - public QueryTable addQueryTable(TableDesc tableDesc) { - QueryTable table = new QueryTable(tableDesc); - tables.add(table); - table.setTableIndex(new TableIndex(tables.size() - 1)); - return table; - } - - /** - * Identifies a database table which will become part of this - * query plan. We will build a QueryTable object describing its - * use and return it. - * - * Note: No join is constructed at this point for the table added. - * - * @param tableElement Identifies which table is being added. - * @param persistenceConfig - * If we are adding a foreign table the persistenceConfig parameter - * holds the PersistenceConfig for the foreign Persistence Class. - */ - public QueryTable addQueryTable(TableElement tableElement, - ClassDesc persistenceConfig) { - - ClassDesc _config = (persistenceConfig == null) ? this.config : persistenceConfig; - TableDesc tableDesc = _config.findTableDesc(tableElement); - - if (tableDesc == null) { - - if (tableElement != null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.configuration.classnotmappedtotable", // NOI18N - _config.getPersistenceCapableClass().getName(), - tableElement.getName().getName())); - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.configuration.classnotmapped", // NOI18N - _config.getPersistenceCapableClass().getName())); - - } - } - - return addQueryTable(tableDesc); - } - - /** - * Add all the tables from queryTables to the current - * query plan. Useful when transfering tables when joining query plans - * together. - * - * @param queryTables Query tables from the foreign plan to be added. - */ - public void addQueryTables(ArrayList queryTables) { - - for (int i = 0; i < queryTables.size(); i++) { - QueryTable t = (QueryTable) queryTables.get(i); - - if (tables.indexOf(t) == -1) { - tables.add(t); - t.getTableIndex().setValue(tables.size() - 1); - } - } - } - - /** - * Finds the QueryTable object that this query plan is using - * to describe the TableElement indicated by the tableElement parameter. - */ - public QueryTable findQueryTable(TableElement tableElement) { - for (int i = 0; i < tables.size(); i++) { - QueryTable t = (QueryTable) tables.get(i); - - if (t.getTableDesc().getTableElement() == tableElement) { - //if (t.getTableDesc().getTableElement().equals(tableElement)) { - return t; - } - } - - return null; - } - - /** - * Finds the QueryTable object that this query plan is using - * to describe the TableDesc indicated by the tableDesc parameter. - */ - public QueryTable findQueryTable(TableDesc tableDesc) { - for (int i = 0; i < tables.size(); i++) { - QueryTable t = (QueryTable) tables.get(i); - - if (t.getTableDesc() == tableDesc) return t; - } - - return null; - } - - public ArrayList getStatements() { - for (int i = 0; i < statements.size(); i++) { - Statement s = (Statement) statements.get(i); - //Initialize sql text of the statement - s.getText(); - } - - return statements; - } - - protected Statement addStatement(QueryTable t) { - Statement s = createStatement(t); - statements.add(s); - - return s; - } - - protected abstract Statement newStatement(); - - protected Statement createStatement(QueryTable t) { - Statement statement = newStatement(); - - statement.action = action; - statement.addQueryTable(t); - - return statement; - } - - protected Statement getStatement(QueryTable t) { - if (t == null) return null; - - for (int i = 0; i < statements.size(); i++) { - Statement s = (Statement) statements.get(i); - - if (s.tableList.indexOf(t) != -1) - return s; - } - - return null; - } - - public abstract void build(); - - /** - * This method goes through the statement list and tries to set up relationship - * between statements based on secondary table keys. - */ - protected void processStatements() { - for (int i = 0; i < statements.size(); i++) { - Statement s = (Statement) statements.get(i); - - QueryTable qt = (QueryTable) s.getQueryTables().get(0); - - ArrayList secondaryTableKeys = qt.getTableDesc().getSecondaryTableKeys(); - - if (secondaryTableKeys != null) { - for (int j = 0; j < secondaryTableKeys.size(); j++) { - ReferenceKeyDesc secondaryTableKey = (ReferenceKeyDesc) secondaryTableKeys.get(j); - s.addSecondaryTableStatement(getStatement(findQueryTable(secondaryTableKey.getTableDesc()))); - } - } - } - } - - public int getAction() { - return action; - } - - public ClassDesc getConfig() { - return config; - } - -} - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/QueryTable.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/QueryTable.java deleted file mode 100644 index b9c420d421f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/QueryTable.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * SqlQueryTable.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import com.sun.jdo.spi.persistence.support.sqlstore.model.TableDesc; - -import java.util.ArrayList; - - -/** - */ -public class QueryTable extends Object { - public int joinOp; - - // - // array of SqlQueryTable - // - public ArrayList nextTable; - - public StringBuilder onClause; - - public QueryTable prevTable; - - private TableDesc tableDesc; - - private TableIndex tableIndex; - - public QueryTable(TableDesc tableDesc) { - this.tableDesc = tableDesc; - } - - public TableDesc getTableDesc() { - return tableDesc; - } - - public TableIndex getTableIndex() { - return tableIndex; - } - - public void setTableIndex(TableIndex index) { - this.tableIndex = index; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectOneStatement.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectOneStatement.java deleted file mode 100644 index 4506e988cdc..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectOneStatement.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import com.sun.jdo.spi.persistence.support.sqlstore.database.DBVendorType; - -/** - * This statement checks the existance of a certain row in the - * database, as no columns are selected. - * - * @author Mitesh Meswani - */ -public class SelectOneStatement extends SelectStatement { - - private static final StringBuilder ONE = new StringBuilder("1"); // NOI18N - - public SelectOneStatement(DBVendorType vendorType, - SelectQueryPlan selectPlan) { - super(vendorType, selectPlan); - } - - protected StringBuilder generateColumnText() { - // No columns selected. - return ONE; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectQueryPlan.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectQueryPlan.java deleted file mode 100644 index 3c94c4097b7..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectQueryPlan.java +++ /dev/null @@ -1,1583 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SelectQueryPlan.java - * - * Created on October 3, 2001 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import org.netbeans.modules.dbschema.ColumnElement; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperSQLStore; -import com.sun.jdo.spi.persistence.support.sqlstore.RetrieveDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceManager; -import com.sun.jdo.spi.persistence.support.sqlstore.model.*; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.ResultDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.RetrieveDescImpl; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.concurrency.Concurrency; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.*; -import com.sun.jdo.spi.persistence.utility.FieldTypeEnumeration; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.*; -import java.sql.ResultSet; -import java.sql.SQLException; - - -/** - * This class prepares the generation of select statements, - * by joining the constaint stacks of all retrieve descriptors - * into one stack. - */ -public class SelectQueryPlan extends QueryPlan { - - /** This plan is joined with the parent plan. Used only for dependent plan. */ - private static final int ST_JOINED = 0x2; - - /** This plans's constraints are already processed. */ - public static final int ST_C_BUILT = 0x4; - - /** This plans's order by constraints are already processed. */ - public static final int ST_OC_BUILT = 0x10; - - /** - * Pointer to the retrieve descriptor's constraint stack. - * NOTE: The retrieve descriptor's stack will be modified - * building the query plan! - */ - protected Constraint constraint; - - /** Bitmask constaining OPT_* Constants defined in {@link RetrieveDescImpl } */ - public int options; - - /** Iterator for the retrieve descriptor's list of fields to be retrieved. */ - private Iterator fieldIterator; - - /** - * Aggregate result type from the retrieve descriptor as defined by - * {@link FieldTypeEnumeration} - */ - private int aggregateResultType; - - /** - * List of SelectQueryPlan. After this plan is completely built, this field - * contains all the foreign plans that could not be joined with this plan. - */ - private ArrayList foreignPlans; - - /** - * This foreign field joins this plan to the parent plan. The field is from - * config of the parent plan. Used only for dependent plan. - */ - protected ForeignFieldDesc parentField; - - /** - * This plan corresponds to prefetched values for parentField. - * Used only for dependent plan. - */ - private boolean prefetched; - - private Concurrency concurrency; - - /** BitSet containing the hierarchical fetch groups to be retrieved for this plan. */ - private BitSet hierarchicalGroupMask; - - /** BitSet containing the independent fetch groups to be retrieved for this plan. */ - private BitSet independentGroupMask; - - /** BitSet containing the fields to be retrieved for this plan */ - private BitSet fieldMask; - - private Map foreignConstraintPlans; - - private ResultDesc resultDesc; - - /** - * Takes care of adding an "And" constraint for unbound constraints, e.g. - * "empid == department.deptid". As the foreign constraint stack is empty, - * we would not add the necessary "And" constraint otherwise. - */ - // See navigation033 for an example - private boolean appendAndOp; - - /** The logger. */ - private final static Logger logger = LogHelperSQLStore.getLogger(); - - /** Name of the MULTILEVEL_PREFETCH property. */ - public static final String MULTILEVEL_PREFETCH_PROPERTY = - "com.sun.jdo.spi.persistence.support.sqlstore.MULTILEVEL_PREFETCH"; // NOI18N - - /** - * Property to switch on multilevel prefetch. Note, that the default - * is false, meaning that multilevel prefetch is disabled by default. - */ - private static final boolean MULTILEVEL_PREFETCH = Boolean.valueOf( - System.getProperty(MULTILEVEL_PREFETCH_PROPERTY, "false")).booleanValue(); // NOI18N - - /** - * Creates a new instance of SelectQueryPlan depending on the retrieve - * descriptor options. - * @param desc The retrieve descriptor - * @param store The store - * @param concurrency The concurrency for the plan. - * @return An instance of SelectQueryPlan depending on the retrieve - * descriptor options. - */ - public static SelectQueryPlan newInstance(RetrieveDescImpl desc, - SQLStoreManager store, - Concurrency concurrency) { - SelectQueryPlan plan = null; - - if ( (desc.getOptions() & RetrieveDescImpl.OPT_VERIFY) > 0) { - plan = new VerificationSelectPlan(desc, store); - } else { - plan = new SelectQueryPlan(desc, store, concurrency); - } - - return plan; - } - - /** - * Creates a new SelectQueryPlan. - * - * @param desc Retrieve descriptor holding the query information - * from the query compiler. This information includes selected - * fields and the query constraints. desc must be an - * instance of RetrieveDescImpl. - * @param store Store manager executing the query. - * @param concurrency Query concurrency. - */ - public SelectQueryPlan(ActionDesc desc, - SQLStoreManager store, - Concurrency concurrency) { - - super(desc, store); - action = ACT_SELECT; - - // Initialize internal fields. - fieldMask = new BitSet(); - hierarchicalGroupMask = new BitSet(); - independentGroupMask = new BitSet(); - this.concurrency = concurrency; - //excludeSubclasses = true; - - if (desc instanceof RetrieveDescImpl) { - RetrieveDescImpl retrieveDesc = (RetrieveDescImpl) desc; - retrieveDesc.setPlan(this); - - // Get the information from the retrieve descriptor. - constraint = retrieveDesc.getConstraint(); - options = retrieveDesc.getOptions(); - fieldIterator = retrieveDesc.getFields(); - aggregateResultType = retrieveDesc.getAggregateResultType(); - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.notinstanceof", desc.getClass().getName(), "RetrieveDescImpl")); // NOI18N - } - } - - public Constraint getConstraint() { - return constraint; - } - - private void setFieldMask(int index) { - if (index < 0) { - index = config.fields.size() - index; - } - - fieldMask.set(index); - } - - private boolean getFieldMask(int index) { - if (index < 0) { - index = config.fields.size() - index; - } - - return fieldMask.get(index); - } - - /** - * The addTable method is used to add tables correponding to a field to the plan. - * No columns corresponding the field are added to the plan. - * - * @param fieldDesc The field for which we need to add table - */ - protected void addTable(LocalFieldDesc fieldDesc) { - addColumn(fieldDesc, false, false); - } - - /** - * The addColumn method is used to specify a field for which data needs - * to be retrieved and therefore for which we need to select a column. - * - * @param fieldDesc The field for which we need to retrieve data and therefore - * for which we need to select a column. - */ - protected void addColumn(LocalFieldDesc fieldDesc) { - addColumn(fieldDesc, true, false); - } - - /** - * The addColumn method is used to specify a field for which data needs to - * be retrieved and therefore for which we need to select a column. - * - * @param fieldDesc The field for which we need to retrieve data and therefore - * for which we need to select a column. - * @param add Specifies if the field will be added to {@link ResultDesc}. - * @param projection Pass the projection information for this field - * to {@link ResultDesc}. - */ - private void addColumn(LocalFieldDesc fieldDesc, boolean add, boolean projection) { - - // We first search to see if any of the tables to which the requested - // field is mapped is being used by this query plan. Initially - // there is a select statement for each table so we just append this - // request as a column to the found statement. If none of the tables - // are being used in this query plan then we create a new statement. - // - for (Iterator iter = fieldDesc.getColumnElements(); iter.hasNext(); ) { - ColumnElement columnElement = (ColumnElement) iter.next(); - QueryTable table = findQueryTable(columnElement.getDeclaringTable()); - - if (table == null) - table = addQueryTable(columnElement.getDeclaringTable(), null); - - SelectStatement statement = (SelectStatement) getStatement(table); - - if (statement == null) - statement = (SelectStatement) addStatement(table); - - if (add) { - ColumnRef columnRef = statement.addColumn(columnElement, table); - // initialize the resultDesc - if (resultDesc == null) { - resultDesc = new ResultDesc(config, aggregateResultType); - } - resultDesc.addField(fieldDesc, columnRef, projection); - } - } - } - - /** - * Create and build the query plans for foreign fields that have been - * added by {@link RetrieveDesc#addResult(String, RetrieveDesc, boolean)}. - * If there is no projection, add the foreign key fields to the list - * of fields to be selected. - * - * @param foreignFields List of local fields. - * @param localFields List of fields to be selected. - * @see RetrieveDescImpl - */ - private void processForeignFields(ArrayList foreignFields, - ArrayList localFields) { - if (foreignFields.size() == 0) { - return; - } - - boolean debug = logger.isLoggable(Logger.FINEST); - - if (debug) { - logger.finest("sqlstore.sql.generator.selectqueryplan.processforeignfield", // NOI18N - config.getPersistenceCapableClass().getName()); - } - - foreignPlans = new ArrayList(); - - for (int i = 0; i < foreignFields.size(); i++) { - processForeignField((ConstraintFieldName) foreignFields.get(i), localFields); - } - - if (debug) { - logger.finest("sqlstore.sql.generator.selectqueryplan.processforeignfield.exit"); // NOI18N - } - } - - /** - * Process the projected foreign field at index index. - * Initializes and builds a new SelectQueryPlan for this field and - * adds selected columns to the result descriptor. If the field is - * navigated only, just adds the statement and table alias. - * - * @param cfn - * @param localFields - */ - private void processForeignField(ConstraintFieldName cfn, - ArrayList localFields) { - - SelectQueryPlan fp = new SelectQueryPlan(cfn.desc, store, concurrency); - - fp.prefetched = cfn.isPrefetched(); - if (fp.prefetched) { - // Add fetch groups to the foreign plan if we are prefetching. - fp.options |= RetrieveDescImpl.OPT_ADD_FETCHGROUPS; - } - - fp.processParentField(config, cfn.name); - fp.build(); - - // For navigational queries, add in any additional local fields which - // may be needed by this foreign field (typically the foreign keys). - // For external (user) queries, we just make sure we include the - // corresponding table into the table list. - for (int i = 0; i < fp.parentField.localFields.size(); i++) { - LocalFieldDesc la = (LocalFieldDesc) fp.parentField.localFields.get(i); - - if (!getFieldMask(la.absoluteID)) { - if ((options & RetrieveDescImpl.OPT_ADD_FETCHGROUPS) > 0) { - // Add the field to localFields only if this plan corresponds - // to a candidate. - localFields.add(la); - } else { - // This plan is participating in a projection. - // Add the table and a corresponding statement to the plan. - addTable(la); - } - } - } - foreignPlans.add(fp); - } - - private boolean getGroupMask(int groupID) { - if (groupID >= FieldDesc.GROUP_DEFAULT) - return hierarchicalGroupMask.get(groupID); - else if (groupID < FieldDesc.GROUP_NONE) - return independentGroupMask.get(-(groupID + 1)); - - return true; - } - - private void setGroupMask(int groupID) { - if (groupID >= FieldDesc.GROUP_DEFAULT) - hierarchicalGroupMask.set(groupID); - else if (groupID < FieldDesc.GROUP_NONE) - independentGroupMask.set(-(groupID + 1)); - } - - /** - * Add the fields from the fetch group specified by groupID - * to the list of selected fields. The decision which fields are - * added is based on the following rules: - * - *
      - *
    1. Local fields are added for all the queries and user - * projections, that aren't aggregates.
    2. - *
    3. Only key fields are added for aggregate queries counting persistence capable objects.
    4. - *
    5. Foreign fields are added only for the projected retrieve descriptor and for - * queries that do not have relationsip prefetch disabled.
    6. - *
    - * - * @param groupID Fetch group id. - * @param localFields List of fields to be selected. - * @param foreignFields List of foreign fields connecting to foreign plans. - */ - private void addFetchGroup(int groupID, - ArrayList localFields, - ArrayList foreignFields) { - // We should enter this method only if OPT_ADD_FETCHGROUPS is set. - assert (options & RetrieveDescImpl.OPT_ADD_FETCHGROUPS) > 0; - - ArrayList group = config.getFetchGroup(groupID); - setGroupMask(groupID); - - if (group != null) { - for (int i = 0; i < group.size() ; i++) { - FieldDesc f = (FieldDesc) group.get(i); - - if (!getFieldMask(f.absoluteID)) { - final boolean isLocalField = f instanceof LocalFieldDesc; - // Prevent testing field again. - setFieldMask(f.absoluteID); - - if (isLocalField) { - if ((options & RetrieveDescImpl.OPT_ADD_KEYS_ONLY) == 0 || f.isKeyField()) { - // pk fields are added before any other fields already - // present in localFields. This is because pk fields - // are the first to be read when resultset is processed. - // Please see IN=8852 for more details. - // All other fields are appended to the list. - int indexToInsert = ( f.isKeyField() ? 0 : localFields.size() ); - localFields.add(indexToInsert, f); - } - } else { - // Add foreign fields only if this plan corresponds to the - // projected RD and relationship prefetch is not explicitly - // disabled by the user. - if ( ((options & RetrieveDescImpl.OPT_PROJECTION) > 0 || MULTILEVEL_PREFETCH) && - (options & RetrieveDescImpl.OPT_ADD_KEYS_ONLY) == 0 && - (options & RetrieveDescImpl.OPT_DISABLE_RELATIONSHIP_PREFETCH) == 0 ) { - // Add current field to foreignFields as ConstraintFieldName - ForeignFieldDesc ff = (ForeignFieldDesc) f; - RetrieveDescImpl desc = (RetrieveDescImpl) - store.getRetrieveDesc(ff.foreignConfig.getPersistenceCapableClass()); - foreignFields.add(new ConstraintFieldName(ff.getName(), desc, true)); - } - } - } - } - } - } - - /** - * Add the fields from the fetch group specified by groupID - * to the list of selected fields. For hierarchical groups, we add all the - * groups from GROUP_DEFAULT up to groupID. For independent - * groups, we only add the default and the group indicated by - * groupID. - * - * @param groupID Fetch group id. - * @param localFields List of fields to be selected. - * @param foreignFields List of foreign fields. - */ - private void addFetchGroups(int groupID, - ArrayList localFields, - ArrayList foreignFields) { - - if (groupID >= FieldDesc.GROUP_DEFAULT) { - //Hierachical fetch group - for (int i = FieldDesc.GROUP_DEFAULT; i <= groupID; i++) { - if (!getGroupMask(i)) { - addFetchGroup(i, localFields, foreignFields); - } - } - } else if (groupID < FieldDesc.GROUP_NONE) { - if (!getGroupMask(FieldDesc.GROUP_DEFAULT)) { - //Independent fetch group - addFetchGroup(FieldDesc.GROUP_DEFAULT, localFields, foreignFields); - } - - if (!getGroupMask(groupID)) { - addFetchGroup(groupID, localFields, foreignFields); - } - } - } - - /** - * Add the fetch group fields to the list of selected fields. - * The decision if fetch groups are added is based on the following rules: - * - *
      - *
    • Always add fetch groups for internal queries.
    • - *
    • For external queries, add fetch groups to the projected retrieve - * descriptor as marked in RetrieveDescImpl#setFetchGroupOptions(int)
    • - *
    - * - * @param localFields List of fields to be selected. - * @param foreignFields List of foreign fields. - * @see RetrieveDescImpl#setFetchGroupOptions(int) - */ - private void processFetchGroups(ArrayList localFields, ArrayList foreignFields) { - - if ((options & RetrieveDescImpl.OPT_ADD_FETCHGROUPS) > 0) { - int requestedItems = localFields.size() + foreignFields.size(); - - // Add the default fetch group. - if (!getGroupMask(FieldDesc.GROUP_DEFAULT)) { - addFetchGroups(FieldDesc.GROUP_DEFAULT, localFields, foreignFields); - } - - if (requestedItems > 0) { - for (int i = 0; i < localFields.size(); i++) { - FieldDesc f = (FieldDesc) localFields.get(i); - - setFieldMask(f.absoluteID); - - if (f.fetchGroup != FieldDesc.GROUP_NONE) { - if (!getGroupMask(f.fetchGroup)) { - addFetchGroups(f.fetchGroup, localFields, foreignFields); - } - } - } - - for (int i = 0; i < foreignFields.size(); i++) { - ConstraintFieldName cfn = (ConstraintFieldName) foreignFields.get(i); - FieldDesc f = config.getField(cfn.name); - - setFieldMask(f.absoluteID); - - if (f.fetchGroup != FieldDesc.GROUP_NONE) { - if (!getGroupMask(f.fetchGroup)) { - addFetchGroups(f.fetchGroup, localFields, foreignFields); - } - } - } - } - } - } - - /** - * Add all requested local fields to {@link ResultDesc}. - * - * @param localFields List of local fields to be selected. - * @param projectionField The projected field. - */ - private void processLocalFields(ArrayList localFields, LocalFieldDesc projectionField) { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (debug) { - logger.finest("sqlstore.sql.generator.selectqueryplan.processlocalfield", // NOI18N - config.getPersistenceCapableClass().getName()); - } - - for (int i = 0; i < localFields.size(); i++) { - LocalFieldDesc lf = (LocalFieldDesc) localFields.get(i); - addColumn(lf, true, (projectionField == lf)); - } - - if (debug) { - logger.finest("sqlstore.sql.generator.selectqueryplan.processlocalfield.exit"); // NOI18N - } - } - - private void joinSecondaryTableStatement(SelectStatement statement, - SelectStatement secondaryTableStatement) { - statement.copyColumns(secondaryTableStatement); - - QueryTable secondaryTable = (QueryTable) secondaryTableStatement.getQueryTables().get(0); - ReferenceKeyDesc key = secondaryTable.getTableDesc().getPrimaryTableKey(); - - addJoinConstraint(this, this, - key.getReferencedKey().getColumns(), - key.getReferencingKey().getColumns(), ActionDesc.OP_LEFTJOIN); - - secondaryTableStatement.markJoined(); - } - - private void processRelatedStatements(SelectStatement statement) { - ArrayList secondaryTableStatements = statement.getSecondaryTableStatements(); - - if (secondaryTableStatements != null) { - for (int i = 0; i < secondaryTableStatements.size(); i++) { - SelectStatement secondaryTableStatement = (SelectStatement) secondaryTableStatements.get(i); - - if (!secondaryTableStatement.isJoined()) { - processRelatedStatements(secondaryTableStatement); - joinSecondaryTableStatement(statement, secondaryTableStatement); - } - } - - secondaryTableStatements.clear(); - } - } - - protected void processStatements() { - boolean debug = logger.isLoggable(Logger.FINEST); - - if (debug) { - Object[] items = new Object[] {config.getPersistenceCapableClass().getName(), - new Integer(statements.size())}; - logger.finest("sqlstore.sql.generator.selectqueryplan.processstmts",items); // NOI18N - } - - if (concurrency != null) { - concurrency.select(this); - } - - int size = statements.size(); - - if (size > 1) { - super.processStatements(); - - for (int i = 0; i < size; i++) { - SelectStatement s = (SelectStatement) statements.get(i); - - if (!s.isJoined()) - processRelatedStatements(s); - } - - // Remove all the statements that have been joined. - for (int i = 0; i < statements.size(); i++) { - SelectStatement s = (SelectStatement) statements.get(i); - - if (s.isJoined()) { - statements.remove(i); - i--; - continue; - } - } - } - - if (debug) { - logger.finest("sqlstore.sql.generator.selectqueryplan.processstmts.exit"); // NOI18N - } - } - - - /** - * Asociates every local constraint on the stack with it's original plan - * and include any table that hasn't been added to the table list of the - * corresponding original plan. - * - * @see ConstraintFieldName#originalPlan - */ - private void processLocalConstraints() { - List stack = constraint.getConstraints(); - - for (int i = 0; i < stack.size(); i++) { - ConstraintNode node = (ConstraintNode) stack.get(i); - - if (node instanceof ConstraintFieldName) { - ConstraintFieldName fieldNode = (ConstraintFieldName) node; - - if (fieldNode.originalPlan == null) { - // The field has not been processed before - SelectQueryPlan thePlan = null; - - if (fieldNode.desc == null) { - thePlan = this; - } else { - // If the field belongs to a different RetrieveDesc, we need - // to use the query plan associated with that RetrieveDesc. - RetrieveDescImpl rd = (RetrieveDescImpl) fieldNode.desc; - thePlan = newForeignConstraintPlan(rd, fieldNode.name); - } - - fieldNode.originalPlan = thePlan; - - // The name field is null for unrelated constraints. - if (fieldNode.name != null) { - FieldDesc field = thePlan.config.getField(fieldNode.name); - - if (field instanceof LocalFieldDesc) { - // Adds the statement and table for the field. - // This is only required to process plans corresponding - // to query filters containing unbound variables - // e.g. setFilter("empid == d.deptid") on an employee query. - - thePlan.addTable((LocalFieldDesc) field); - } - } - } - } - } - } - - /** - * Returns the plan for {@link RetrieveDesc} rd. If there is no - * plan associated with rd, a new plan is created. - * If fieldName is not null, the returned plan will be matched - * with the first plan that was registered for a navigation on the field - * or the plan's navigational id. The navigational id is used to discriminate - * several navigations on the same field. - * - * @param rd Foreign retrieve descriptor. - * @param fieldName Parent field name. - * @return The plan for {@link RetrieveDesc} rd. - * @see RetrieveDescImpl - */ - private SelectQueryPlan newForeignConstraintPlan(RetrieveDescImpl rd, - String fieldName) { - - SelectQueryPlan fcp = rd.getPlan(); - - if (fcp == null) { - fcp = new SelectQueryPlan(rd, store, null); - } - // If fieldName is null, it means that we don't know what the relationship - // field name is yet and this query plan is a place holder. - if (fieldName == null) { - return fcp; - } - - if (foreignConstraintPlans == null) { - foreignConstraintPlans = new HashMap(); - } - - SelectQueryPlan masterPlan = null; - - Object tag = (rd.getNavigationalId() != null) ? rd.getNavigationalId() : fieldName; - - if ((masterPlan = (SelectQueryPlan) foreignConstraintPlans.get(tag)) != null) { - // Share the tables with the master plan. - fcp.tables = masterPlan.tables; - fcp.foreignConstraintPlans = masterPlan.foreignConstraintPlans; - } else { - foreignConstraintPlans.put(tag, fcp); - fcp.foreignConstraintPlans = new HashMap(); - } - - return fcp; - } - - /** - * Adds a subquery constraint for a correlated exists query to the - * constraint stack. Also add the table alias from the subquery - * to the local table aliases. - * - * @param ff The relationship field for the subquery - * @param operation {@link ActionDesc#OP_NOTEXISTS} - * or {@link ActionDesc#OP_EXISTS}. - */ - private void addCorrelatedExistsQuery(ForeignFieldDesc ff, int operation) { - - Class classType = (ff.cardinalityUPB > 1) ? ff.getComponentType() : ff.getType(); - RetrieveDescImpl rd = (RetrieveDescImpl) store.getRetrieveDesc(classType); - - SelectQueryPlan subqueryPlan = new CorrelatedExistSelectPlan(rd, store, ff, this); - subqueryPlan.build(); - - // Make the tables involved in the subquery known to the parent query. - addQueryTables(subqueryPlan.tables); - - ConstraintSubquery subqueryConstraint = new ConstraintSubquery(); - subqueryConstraint.operation = operation; - subqueryConstraint.plan = subqueryPlan; - - constraint.stack.add(subqueryConstraint); - } - - /** - * Builds the constraint plan for foreign constraints on the constraint - * stack. This method joins the current plan with all plans - * related by foreign constraints found in the plan hierarchy. - * - * @see RetrieveDescImpl - */ - private void processForeignConstraints() { - List currentStack = constraint.getConstraints(); - constraint.stack = new ArrayList(); - int index = 0; - - while (index < currentStack.size()) { - ConstraintNode node = (ConstraintNode) currentStack.get(index); - - if (node instanceof ConstraintForeignFieldName) { - processForeignFieldConstraint((ConstraintForeignFieldName) node); - - } else if (node instanceof ConstraintFieldName) { - index = processLocalFieldConstraint((ConstraintFieldName) node, currentStack, index); - - } else if (node instanceof ConstraintFieldNameSubQuery) { - addCorrelatedInQuery((ConstraintFieldNameSubQuery) node); - - } else { - constraint.stack.add(node); - } - - index++; - } - } - - /** - * Joins the current plan with the constraint node. The constraint - * includes the name of the parent field and the retrieve descriptor for the - * related class. The plans will be joined with OP_EQUIJOIN. - * The constraints processed here have been added by - * {@link RetrieveDesc#addConstraint(String, RetrieveDesc)}. - * - * @param node Join constraint. - */ - private void processForeignFieldConstraint(ConstraintForeignFieldName node) { - RetrieveDescImpl rd = (RetrieveDescImpl) node.desc; - - if (rd == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "sqlstore.constraint.noretrievedesc", // NOI18N - node.name, config.getPersistenceCapableClass().getName())); - } - - SelectQueryPlan fcp = newForeignConstraintPlan(rd, node.name); - - if ((fcp.status & ST_JOINED) == 0) { - fcp.processParentField(config, node.name); - // Joins on constraints always join as equijoin - processJoin(fcp, ActionDesc.OP_EQUIJOIN); - fcp.appendAndOp = true; - } else { - fcp.appendAndOp = false; - } - } - - /** - * Joins unrelated constraints that have been added by - * {@link RetrieveDesc#addConstraint(String, RetrieveDesc)} where the - * name of the foreign field is null. Other constraints have been added by - * {@link RetrieveDesc#addConstraint(String, int, RetrieveDesc, String)} - * - * @param node Join constraint. - * @param currentStack Current (old) constraint stack. - * @param index Index in current stack. - */ - private int processLocalFieldConstraint(ConstraintFieldName node, - List currentStack, - int index) { - if (node.desc != null) { - SelectQueryPlan fcp = ((RetrieveDescImpl) node.desc).getPlan(); - - constraint.stack.add(node); - - if ((fcp.status & ST_JOINED) == 0) { - fcp.appendAndOp = true; - // Local fields connecting to foreign plans - // (non relationship constraints) are not processed here - // because we want to join on all foreign fields first. - } else { - // The foreign plan has already been joined. We need - // to add another And-constraint for - // FieldName-constraints using the same retrieve - // descriptor. This is only required for query filters - // comparing local fields from different tables, - // e.g. setFilter("empid == department.deptid") on an - // employee query. - - // Push the remaining operand and the operator onto the stack. - constraint.stack.add(currentStack.get(++index)); - constraint.stack.add(currentStack.get(++index)); - if (fcp.appendAndOp) { - constraint.addOperation(ActionDesc.OP_AND); - fcp.appendAndOp = false; - } - } - } else { - index = processForeignFieldNullComparision(node, currentStack, index); - } - return index; - } - - /** - * Processes a null comparision on a foreign field. - * - * @param node Current node.. - * @param currentStack Current (old) constraint stack. - * @param index Index in current stack. - */ - private int processForeignFieldNullComparision(ConstraintFieldName node, - List currentStack, - int index) { - boolean addCurrentNode = true; - if (node.name != null) { - // The name entry is null for unbound constraints. - FieldDesc f = config.getField(node.name); - - if (f instanceof ForeignFieldDesc && (index + 1 < currentStack.size())) { - ConstraintNode nextNode = (ConstraintNode) currentStack.get(++index); - if ((nextNode instanceof ConstraintOperation) && - ((((ConstraintOperation) nextNode).operation == ActionDesc.OP_NULL) || - (((ConstraintOperation) nextNode).operation == ActionDesc.OP_NOTNULL))) { - - processNullConstraint((ForeignFieldDesc) f, nextNode); - } else { - constraint.stack.add(node); - constraint.stack.add(nextNode); - } - // Current node has been processed above. - addCurrentNode = false; - } - } - if (addCurrentNode) { - constraint.stack.add(node); - } - return index; - } - - /** - * Handles the comparison of a relationship field with (non-) null. - * Comparisons for non-collection relationships not mapped to jointables can be - * optimized to comparing the foreign key columns being (non-) null. All other - * cases lead to a nested (NOT-) EXISTS query. - * - * @param ff Relationship field. - * @param nextNode Constraint operation, either for null or non-null comparison. - */ - private void processNullConstraint(ForeignFieldDesc ff, ConstraintNode nextNode) { - - if (ff.hasForeignKey()) { - // Optimize the query to compare the foreign key fields with null. - ArrayList localFields = ff.getLocalFields(); - - for (int j = 0; j < localFields.size(); j++) { - constraint.stack.add(new ConstraintFieldDesc((LocalFieldDesc) localFields.get(j))); - constraint.stack.add(nextNode); - } - } else { - // Otherwise, generate a nested (NOT-) EXISTS sub query. - int subOp = ActionDesc.OP_NOTEXISTS; - - if (((ConstraintOperation) nextNode).operation == ActionDesc.OP_NOTNULL) { - subOp = ActionDesc.OP_EXISTS; - } - - // Add a subquery constraint for this field - addCorrelatedExistsQuery(ff, subOp); - } - } - - /** - * Creates and builds a correlated "In" subquery. - * Merges tables from the subquery plan to the current plan and adds - * the local fields corresponding to the subquery to the constaints. - * The subquery is added to the constraint stack. - * - * @param node subquery constraint. - */ - private void addCorrelatedInQuery(ConstraintFieldNameSubQuery node) { - FieldDesc field = config.getField(node.fieldName); - RetrieveDescImpl rd = (RetrieveDescImpl) node.desc; - - if (field != null && field instanceof ForeignFieldDesc) { - ForeignFieldDesc ff = (ForeignFieldDesc) field; - - if (ff.getComponentType() != rd.getPersistenceCapableClass() ) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.unknownfield", // NOI18N - node.fieldName, rd.getPersistenceCapableClass().getName())); - } - - SelectQueryPlan subqueryPlan = new CorrelatedInSelectPlan(rd, store, ff, this); - subqueryPlan.build(); - - // Make the tables involved in the subquery known to the parent query. - addQueryTables(subqueryPlan.tables); - - // Push a new subquery constraint on the stack - ConstraintSubquery subqueryConstraint = new ConstraintSubquery(); - subqueryConstraint.plan = subqueryPlan; - constraint.stack.add(subqueryConstraint); - - ArrayList localFields = ff.getLocalFields(); - // Add the local fields corresponding to the subquery to the stack. - for (int i = 0; i < localFields.size(); i++) { - constraint.addField((LocalFieldDesc) localFields.get(i), this); - } - } else { - // We didn't get a ForeignFieldDesc from config, - // or the field is not present in the config. - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.unknownfield", // NOI18N - node.fieldName, rd.getPersistenceCapableClass().getName())); - } - } - - /** - * Builds the constraint plan for unbound contraints between - * different retrieve descriptors. Unbound constraints - * do not navigate a relationship, i.e. there isn't a {@link - * ConstraintForeignFieldName} connecting the two retrieve - * descriptors. This method handles filters like setFilter("empid == - * d.deptid") on an employee query, where d is - * the unbound variable. These constraints have been added by - * {@link RetrieveDesc#addConstraint(String, int, RetrieveDesc, String)}. - */ - private void processUnboundConstraints() { - List currentStack = constraint.getConstraints(); - constraint.stack = new ArrayList(); - - for (int i = 0; i < currentStack.size(); i++) { - ConstraintNode node = (ConstraintNode) currentStack.get(i); - - if (node instanceof ConstraintFieldName) { - ConstraintFieldName fieldNode = (ConstraintFieldName) node; - - if (fieldNode.name != null) { - constraint.stack.add(fieldNode); - } else if (fieldNode.desc != null) { - SelectQueryPlan fcp = ((RetrieveDescImpl) fieldNode.desc).getPlan(); - - // Do the join. - if ((fcp.status & ST_JOINED) == 0) { - // As this is a "real" non-relationship join, - // do not force the addition of an and constraint. - fcp.appendAndOp = false; - - processJoin(fcp, ActionDesc.OP_NONREL_JOIN); - } - } - } else { - constraint.stack.add(node); - } - } - } - - /** - * Builds the foreign constraint plan fcp without - * adding any new fields to {@link ResultDesc} and joins - * the plans with the join operation joinOp. - * - * @param fcp Foreign constraint plan. - * @param joinOp Join operation. - */ - private void processJoin(SelectQueryPlan fcp, int joinOp) { - fcp.processConstraints(); - doJoin(fcp, joinOp); - } - - /** - * Sets the plan's parent field and adds the tables for the join columns - * to the table list. The parent field is identified by fieldName - * and defined in the model information of the parent class - * parentConfig. - * - * @see ClassDesc - */ - private void processParentField(ClassDesc parentConfig, String fieldName) { - if (parentField == null) { - // The plan has not been processed before - FieldDesc f = parentConfig.getField(fieldName); - - if (f == null || !(f instanceof ForeignFieldDesc)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.unknownfield", // NOI18N - fieldName, parentConfig.getPersistenceCapableClass().getName())); - } - parentField = (ForeignFieldDesc) f; - - // Add the join table, if neccessary. - if (parentField.useJoinTable()) { - // It is important to add the join table here so that this table does not - // get lost behind the same join table in parentPlan's table list - // See collection38 - // - for (int i = 0; i < parentField.assocLocalColumns.size(); i++) { - ColumnElement col = (ColumnElement) parentField.assocLocalColumns.get(i); - addQueryTable(col.getDeclaringTable(), config); - } - } - - // Add the joined tables. - // This is required for cases where no fields from this plan are selected - // The side-effect for this is to create statements with no columns. - for (int i = 0; i < parentField.foreignColumns.size(); i++) { - ColumnElement col = (ColumnElement) parentField.foreignColumns.get(i); - addQueryTable(col.getDeclaringTable(), config); - } - } - } - - /** - * Builds the query plan for a select type - * {@link ActionDesc} (i.e. a {@link RetrieveDesc}). - */ - public void build() { - // Plan must be build only once. - if ((status & ST_BUILT) > 0) { - return; - } - - processFields(); - - processConstraints(); - - processJoins(); - - processOrderConstraints(); - - status |= ST_BUILT; - } - - /** - * Process the fields from the retrieve descriptor's field list. - * Must be overwritten by subquery plans! - */ - protected void processFields() { - ArrayList foreignFields = new ArrayList(); - ArrayList localFields = new ArrayList(); - - LocalFieldDesc projectionField = separateFieldList(localFields, foreignFields); - - // Because of a problem with BLOB columns on SQLServer - // fetch group fields are added to the beginning of localFields. - processFetchGroups(localFields, foreignFields); - - // For internal queries, processForeignFields might add additional - // fields to localFields, so we call it first. - processForeignFields(foreignFields, localFields); - processLocalFields(localFields, projectionField); - } - - /** - * Separates the retrieve descriptor's field list. Cull out the - * foreign field constraints into foreignFields. Get - * the field descriptors of local fields and put them into - * localFields. - * - * @param localFields List of LocalFieldDesc. - * @param foreignFields List of ConstraintFieldName. - * @return LocalFieldDesc of the projected field. - */ - private LocalFieldDesc separateFieldList(ArrayList localFields, - ArrayList foreignFields) { - - LocalFieldDesc projectionField = null; - - while (fieldIterator.hasNext()) { - ConstraintFieldName cfn = (ConstraintFieldName) fieldIterator.next(); - FieldDesc f = config.getField(cfn.name); - - if (f == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.unknownfield", // NOI18N - cfn.name, config.getPersistenceCapableClass().getName())); - } - - setFieldMask(f.absoluteID); - - if (cfn.desc != null) { - foreignFields.add(cfn); - } else { - localFields.add(f); - if (cfn.isProjection()) { - projectionField = (LocalFieldDesc) f; - } - } - } - - return projectionField; - } - - protected void processConstraints() { - // Constraints must be build only once. - if ((status & ST_BUILT) > 0 || (status & ST_C_BUILT) > 0) { - return; - } - - processLocalConstraints(); - - // Join all the statements. - processStatements(); - - processForeignConstraints(); - - // Joins over unbound variables. - processUnboundConstraints(); - - status |= ST_C_BUILT; - } - - /** - * Joins the current plan with foreignPlan. - * The join operation joinOperation - * will be added to the constraint stack. - * - * @param foreignPlan Query plan to be joined. - * @param joinOperation Join operation. No join constaint is - * added for non relationship joins. - */ - private void doJoin(SelectQueryPlan foreignPlan, int joinOperation) { - if ((foreignPlan.status & ST_JOINED) > 0) { - return; - } - - mergeConstraints(foreignPlan, joinOperation); - - mergeStatements(foreignPlan, joinOperation); - - if (foreignPlan.tables != null) { - addQueryTables(foreignPlan.tables); - } - - foreignPlan.status = foreignPlan.status | ST_JOINED; - } - - /** - * Merge the foreign statement with us.
    - * If there is no foreign statement, - * this method just returns. - * - * @param foreignPlan Foreign plan to be joined. - * @param joinOperation Join operator. - */ - private void mergeStatements(SelectQueryPlan foreignPlan, int joinOperation) { - SelectStatement fromStatement; - SelectStatement toStatement; - - if (foreignPlan.statements.size() > 0) { - toStatement = (SelectStatement) foreignPlan.statements.get(0); - - // Merge the foreign query with us. - if (statements.size() > 0) { - fromStatement = (SelectStatement) statements.get(0); - - // Copy projected columns - fromStatement.copyColumns(toStatement); - - // For a non relationship join, we need to add all tables from the - // foreign statement. In any other case, the tables will be added - // when the join operation is processed by the statement. - if (joinOperation == ActionDesc.OP_NONREL_JOIN) { - fromStatement.tableList.addAll(toStatement.tableList); - } - - mergeResultDesc(foreignPlan); - if (foreignPlan.prefetched) { - // If the foreign plan is marked as a prefetched plan, - // propagate this information to its resultDesc. - resultDesc.setPrefetching(); - } - - this.options |= foreignPlan.options; - } - } - } - - /** - * Merge the foreign constraints with us.
    - * Adds the appropriate Join-constraint to the stack and merges - * the constraint stacks. Adds an And-constraint, if neccessary, - * see {@link com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.Constraint#mergeConstraint}. - * - * @param foreignPlan Foreign plan to be joined. - * @param joinOperation Join operator. - */ - private void mergeConstraints(SelectQueryPlan foreignPlan, int joinOperation) { - - if (joinOperation != ActionDesc.OP_NONREL_JOIN) { - // Add the join constraint. - if (foreignPlan.parentField.useJoinTable()) { - // The join table is added to the foreign plan while processing - // parent field - addJoinConstraint(this, foreignPlan, - foreignPlan.parentField.localColumns, - foreignPlan.parentField.assocLocalColumns, joinOperation); - - addJoinConstraint(foreignPlan, foreignPlan, - foreignPlan.parentField.assocForeignColumns, - foreignPlan.parentField.foreignColumns, joinOperation); - - // Except for oracle, the outer join condition will end up in - // from clause. Hence, add OP_AND for Equijoin only - if (joinOperation == ActionDesc.OP_EQUIJOIN) { - constraint.addOperation(ActionDesc.OP_AND); - } - } else { - addJoinConstraint(this, foreignPlan, - foreignPlan.parentField.localColumns, - foreignPlan.parentField.foreignColumns, joinOperation); - } - } - - // Copy the constraints from the toStack. - boolean addAnd = constraint.mergeConstraint(foreignPlan.constraint, joinOperation); - - if (addAnd || foreignPlan.appendAndOp) { - constraint.addOperation(ActionDesc.OP_AND); - } - } - - /** - * Joins foreignPlan's result - * descriptor with the current plan. - * - * @param foreignPlan Query plan to be joined. - */ - private void mergeResultDesc(SelectQueryPlan foreignPlan) { - ResultDesc foreignResult = foreignPlan.resultDesc; - - if (resultDesc != null && foreignResult != null) { - resultDesc.doJoin(foreignResult, foreignPlan.parentField); - } else if (resultDesc == null) { - resultDesc = foreignResult; - } - } - - /** - * Put in a join constraint to the foreign table. - * - * @param fromPlan The plan for fromColumns - * @param toPlan The plan for toColumns - * @param fromColumns List of local columns. - * @param toColumns List of foreign columns. - * @param joinOp Join operation. This operation is never a non relationship join. - */ - protected void addJoinConstraint(SelectQueryPlan fromPlan, - SelectQueryPlan toPlan, - ArrayList fromColumns, - ArrayList toColumns, - int joinOp) { - - ConstraintJoin join = new ConstraintJoin(); - - join.operation = joinOp; - join.fromColumns = fromColumns; - join.fromPlan = fromPlan; - join.toColumns = toColumns; - join.toPlan = toPlan; - - constraint.addJoinConstraint(join); - } - - /** - * Compares the statements generated for the current plan - * against the statements generated for foreign query plans - * and joins any statements together which it can. This method - * joins query plans on foreign fields that have been added by - * {@link RetrieveDesc#addResult(String,RetrieveDesc,boolean)}. - * - * @see RetrieveDescImpl#buildQueryPlan(SQLStoreManager, Concurrency) - */ - private void processJoins() { - - if (foreignPlans == null) { - return; - } - - for (Iterator iter = foreignPlans.iterator(); iter.hasNext(); ) { - SelectQueryPlan fp = (SelectQueryPlan) iter.next(); - - if ((fp.status & ST_JOINED) == 0) { - // Recursively join foreign plans of the foreign plan. - fp.processJoins(); - - // TODO: We only join to foreign query plans that involve one statement. - if (statements.size() == 1 && fp.statements.size() == 1) { - doJoin(fp, getJoinOperator(fp)); - } - } - - if ((fp.status & ST_JOINED) > 0) { - // Foreign plan has been joined - iter.remove(); - } - } - - // Sanity check. - if (foreignPlans != null && foreignPlans.size() > 0) { - - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "sqlstore.sql.generator.selectqueryplan.plansnotjoined")); // NOI18N - } else { - foreignPlans = null; - } - } - - /** - * Defines the join operator based on the projection property (and - * the navigated relationship). Depending on the relationship - * cardinality the plans are joined with OP_EQUIJOIN - * or OP_LEFTJOIN. Projection queries are always - * joined with OP_LEFTJOIN.) - * - * @param dependentPlan The dependent plan - * @return Join Operator. - */ - private int getJoinOperator(SelectQueryPlan dependentPlan) { - int joinOperator; - ForeignFieldDesc parentField = null; - - if (isProjection(this)) { - parentField = dependentPlan.parentField; - } else if (isProjection(dependentPlan)) { - parentField = dependentPlan.parentField.getInverseRelationshipField(); - } - - if (parentField != null) { - - joinOperator = ActionDesc.OP_LEFTJOIN; - // TODO: Check the parentField's cardinality? -// if (parentField.cardinalityUPB == 1) { -// // Join "to one" associations. -// // There are two kinds of "to one" associations: -// if (parentField.cardinalityLWB == 1) { -// // 1-1 associations: (fp.parentField.cardinalityLWB == 1) -// joinOperator = ActionDesc.OP_EQUIJOIN; -// } else { -// // Optional associations: (fp.parentField.cardinalityLWB == 0) -// // The query should return an object, even if the navigated -// // relationship isn't set. -// joinOperator = ActionDesc.OP_LEFTJOIN; -// } -// } else { // parentField.cardinalityUPB > 1 -// // To-Many associations are always optional. -// joinOperator = ActionDesc.OP_LEFTJOIN; -// } - } else { - joinOperator = ActionDesc.OP_EQUIJOIN; - } - - return joinOperator; - } - - private boolean isProjection(SelectQueryPlan plan) { - return(prefetched - || (plan.options & RetrieveDescImpl.OPT_PROJECTION) > 0 - && (plan.options & RetrieveDescImpl.OPT_AGGREGATE) == 0); - } - - /** - * Converts ConstraintFieldName used in Order by constraints into - * ConstraintFieldDesc using ConstraintFieldName#originalPlan.
    - * - * Currently unused functionality:
    - * Gets all the "order by" constraints from the the current stack. - * The constraints are ordered such that any "order by" constraint - * with position N is placed before any "order by" constraint with - * position N+m, where m > 0. Also any "order by" constraint with - * no position (i.e. position < 0) are placed immediately - * following the previous "order by" constraint with a position. - * The order of the "order by" constraints on the constraint stack - * is changed to effect this ordering. - * NOTE: The value constraints giving the position for - * the order by constraints is currently not generated by the - * query compiler. - */ - public void processOrderConstraints() { - - if ((status & ST_BUILT) > 0 || (status & ST_OC_BUILT) > 0) { - return; - } - - ArrayList orderByArray = new ArrayList(); - - int i, pos; - int insertAt = 0; - - // Now pull out all "order by" constraints and convert - // ConstraintFieldName to ConstraintFieldDesc expected - // by SelectStatement. - if (constraint != null) { - i = 0; - while (i < constraint.stack.size()) { - ConstraintNode opNode = (ConstraintNode) constraint.stack.get(i); - - if ((opNode instanceof ConstraintOperation) - && ((((ConstraintOperation) opNode).operation == ActionDesc.OP_ORDERBY) || - (((ConstraintOperation) opNode).operation == ActionDesc.OP_ORDERBY_DESC))) { - pos = -1; - if ((i > 1) && (constraint.stack.get(i - 2) instanceof ConstraintValue)) { - pos = ((Integer) ((ConstraintValue) constraint.stack.get(i - 2)).getValue() ).intValue(); - constraint.stack.remove(i - 2); - i = i - 1; - } - - if (pos > 0) { - insertAt = pos; - } - - for (int k = orderByArray.size(); k <= insertAt; k++) { - orderByArray.add(null); - } - - if (orderByArray.get(insertAt) == null) { - orderByArray.set(insertAt, new ArrayList()); - } - - ConstraintNode fieldNode = (ConstraintNode) constraint.stack.get(i - 1); - ConstraintFieldDesc consFieldDesc = null; - - if (fieldNode instanceof ConstraintFieldName) { - QueryPlan originalPlan = this; - - if (((ConstraintField) fieldNode).originalPlan != null) { - originalPlan = ((ConstraintField) fieldNode).originalPlan; - } - - FieldDesc fieldDesc = originalPlan.config. - getField(((ConstraintFieldName) fieldNode).name); - - if (!(fieldDesc instanceof LocalFieldDesc)) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.generic.notinstanceof", // NOI18N - fieldDesc.getClass().getName(), - "LocalFieldDesc")); // NOI18N - } - - consFieldDesc = new ConstraintFieldDesc((LocalFieldDesc) fieldDesc, - originalPlan, 1); - } else if (fieldNode instanceof ConstraintFieldDesc) { - consFieldDesc = (ConstraintFieldDesc) fieldNode; - } else { - throw new JDOUserException(I18NHelper.getMessage(messages, - "core.generic.notinstanceof", // NOI18N - fieldNode.getClass().getName(), - "ConstraintFieldName/ConstraintFieldDesc")); // NOI18N - } - - if (((ConstraintOperation) opNode).operation == ActionDesc.OP_ORDERBY_DESC) { - consFieldDesc.ordering = -1; - } - - // Remember constraint in orderByArray. - ArrayList temp = (ArrayList) (orderByArray.get(insertAt)); - temp.add(consFieldDesc); - - constraint.stack.remove(i); - constraint.stack.remove(i - 1); - i = i - 2 + 1; - } - i = i + 1; - } - } - - for (int j = 0, size = orderByArray.size(); j < size; j++) { - ArrayList oa = (ArrayList) orderByArray.get(j); - - if (constraint == null) { - constraint = new Constraint(); - } - - for (int k = 0, sizeK = oa.size(); k < sizeK; k++) { - ConstraintFieldDesc ob = (ConstraintFieldDesc) oa.get(k); - - if (ob.ordering < 0) { - constraint.addField(ob); - constraint.addOperation(ActionDesc.OP_ORDERBY_DESC); - } else { - constraint.addField(ob); - constraint.addOperation(ActionDesc.OP_ORDERBY); - } - } - } - - status |= ST_OC_BUILT; - } - - protected Statement newStatement() { - return new SelectStatement(store.getVendorType(), this); - } - - /** - * Extract data from given resultData - * @param pm The PersistenceManager. - * @param resultData The result set from which data is to be extracted. - * @return Result from the given resultData - * @throws SQLException - */ - public Object getResult(PersistenceManager pm, ResultSet resultData) - throws SQLException{ - return resultDesc.getResult(pm, resultData); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectStatement.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectStatement.java deleted file mode 100644 index 3a0b02a00b5..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/SelectStatement.java +++ /dev/null @@ -1,883 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * SelectStatement.java - * - * Created on October 3, 2001 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import org.netbeans.modules.dbschema.ColumnElement; - -import com.sun.jdo.api.persistence.support.JDOFatalDataStoreException; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.ValueFetcher; -import com.sun.jdo.spi.persistence.support.sqlstore.database.DBVendorType; -import com.sun.jdo.spi.persistence.support.sqlstore.model.TableDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.RetrieveDescImpl; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.ConstraintField; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.ConstraintFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.ConstraintNode; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.ConstraintOperation; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.ConstraintJoin; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.ArrayList; -import java.util.List; -import java.sql.SQLException; - - -/** - * This class generates select statements. - */ -public class SelectStatement extends Statement { - - /** Flag indicating if this statement has been joined. */ - private boolean isJoined; - - private StringBuilder orderClause = new StringBuilder(); - - /** SelectQueryplan */ - SelectQueryPlan plan; - - public SelectStatement(DBVendorType vendorType, SelectQueryPlan plan) { - super(vendorType); - this.plan = plan; - constraint = plan.getConstraint(); - } - - public boolean isJoined() { - return isJoined; - } - - public void markJoined() { - isJoined = true; - } - - public ColumnRef addColumn(ColumnElement columnElement, - QueryTable queryTable) { - - ColumnRef columnRef = null; - - if ((columnRef = getColumnRef(columnElement)) == null) { - columnRef = new ColumnRef(columnElement, queryTable); - addColumnRef(columnRef); - } - - return columnRef; - } - - public void copyColumns(SelectStatement sourceStatement) { - ArrayList columnRefs = sourceStatement.getColumnRefs(); - - int index = columns.size() + 1; - - for (int i = 0; i < columnRefs.size(); i++) { - //addColumnRef((ColumnRef) columnRefs.get(i)); - ColumnRef cref = (ColumnRef) columnRefs.get(i); - cref.setIndex(index + i); - columns.add(cref); - } - } - - protected boolean isUpdateLockRequired(QueryTable table) { - return (plan.options & RetrieveDescImpl.OPT_AGGREGATE) == 0 - && table.getTableDesc().isUpdateLockRequired(); - } - - public void appendTableText(StringBuilder text, QueryTable table) { - super.appendTableText(text, table); - - if (isUpdateLockRequired(table)) { - //Append eqivalent of "with (updlock)" to the table text - text.append(vendorType.getHoldlock() ); - - //For efficiency, the test whether a database is capable of supporting - //holdlock would be made in method getText() where we generate - //text corresponding to vendorType.getForUpdate() - } - } - - /** - * Determines if Column Type definition is needed for this statement. - * Column Type definition is a performance optimization that allows defining - * Column Type for the resultset. - * If the query to be executed is counting pc instances, the column used - * inside COUNT() is one of the pk columns. If the pk column happens to be - * not convertable to an int (for example timestamp), database will throw an - * exception. To prevent this situation, column type definition should not - * be performed on such queries. - * - * @return true if column type definition is needed, false otherwise. - */ - public boolean isColumnTypeDefinitionNeeded() { - return (plan.options & RetrieveDescImpl.OPT_COUNT_PC ) == 0; - } - - /** @inheritDoc */ - public QueryPlan getQueryPlan() { - return plan; - } - - /** - * @inheritDoc - */ - protected void generateStatementText() { - // Because join conditions for ANSI outer joins end up in the - // from clause, the constraint stack has to be processed before we - // generate the from clause. - StringBuilder constraints = processConstraints(); - StringBuilder outerJoinText = processOuterJoinConstraints(); - - if (outerJoinText != null && outerJoinText.length() > 0) { - if (constraints.length() > 0 ) { - constraints.append(" and "); - } - constraints.append(outerJoinText); - } - - StringBuilder whereClause = new StringBuilder(); - - if (constraints.length() > 0 ) { - whereClause.append(" where ").append(constraints); - } - - if ((plan.options & RetrieveDescImpl.OPT_COUNT_PC) == 0) { - generateRegularStatementText(whereClause); - } else { - generateCountStatementText(whereClause); - } - } - - /** - * Generates the statement text for a "regular" select query. - * Count queries have to get special attention in case of objects - * with composite primary key. - * - * @param whereClause Query's where clause. - * @see #generateCountStatementText - */ - private void generateRegularStatementText(StringBuilder whereClause) { - - statementText = new StringBuilder(); - - StringBuilder columnText = generateColumnText(); - String tableListText = generateTableListText(); - String aggregateText = getAggregateText(); - String aggregateEnd = (aggregateText.length() > 0) ? ")" : ""; // NOI18N - - if (orderClause.length() > 0) { - orderClause.insert(0, " order by "); - } - - final boolean updateLockRequired = isUpdateLockRequired(); - StringBuilder forUpdateClause = generateForUpdateClause(updateLockRequired); - String distinctText = getDistinctText(updateLockRequired); - - // Create the query filling in the column list, table name, etc. - statementText.append("select "). // NOI18N - append(aggregateText).append(distinctText).append(columnText).append(aggregateEnd). - append(" from ").append(tableListText). // NOI18N - append(whereClause).append(orderClause).append(forUpdateClause); - } - - /** - * Generates the statement text for a count query. Count queries - * on persistence capable objects have been mapped to selecting the - * primary key columns in - * {@link SelectQueryPlan#addFetchGroups(int, ArrayList, ArrayList)}. - * Queries w/o a distinct restriction can be relaxed to select only - * one of the primary key columns. Distinct queries on objects with - * composite primary key have to be treated special to avoid duplicates. - * - * @param whereClause Query's where clause. - * @see #generateCorrelatedExistsText - */ - private void generateCountStatementText(StringBuilder whereClause) { - - final int selectedColumns = columns.size(); - - if (selectedColumns == 1) { - // Single PK. Call regular statement generation. - generateRegularStatementText(whereClause); - } else { - boolean oneTable = tableList.size() == 1; - - if ((plan.options & RetrieveDescImpl.OPT_DISTINCT) == 0 - || oneTable) { - // Without DISTINCT or when querying just one table, we can - // select only one of the pk columns and get the correct result. - // Remove the rest. - for (int i = selectedColumns; i > 1; ) { columns.remove(--i); } - if (oneTable) { - // When selecting only one table, remove the DISTINCT - // contraint from the query options to get all rows. - plan.options &= ~RetrieveDescImpl.OPT_DISTINCT; - } - // Now call regular statement generation. - generateRegularStatementText(whereClause); - } else { - // This is a distinct count on objects having a composite pk and the query - // includes join constraints. We map this to a correlated exists query. - // Note: columns can only be cleared after this call. - generateCorrelatedExistsText(whereClause); - - // Since we're not selecting any columns in this query, remove all column - // information. Oracle's special DB operation code gets confused otherwise. - // See OracleSpecialDBOperation#defineColumnTypeForResult(Statement, List) - columns.clear(); - } - } - } - - /** - * Generates the text for a correlated exists query. Count distinct queries on - * objects with composite primary key are mapped to a correlated exists query. - * The "outer" select on the primary table to is correlated - * to the "inner" select by the already generated where clause. - * - * @param whereClause Query's where clause. - */ - private void generateCorrelatedExistsText(StringBuilder whereClause) { - - statementText = new StringBuilder(); - - // TODO: Use correlated exists subquery in SelectQueryPlan? - // - Do we handle secondary tables correctly? - // - Do we need order by and for update clauses? - - // Generate for update clause while we still have all tables in tableList - boolean updateLockRequired = isUpdateLockRequired(); - StringBuilder forUpdateClause = generateForUpdateClause(updateLockRequired); - - StringBuilder primaryTableText = new StringBuilder(); - QueryTable primaryTable = generatePrimaryTableText(primaryTableText); - - // Prepare the generation of the correlated "inner" select clause by - // removing the primary table from the table list. - // As count queries are never generated internally, we're preparing - // a user query here. User queries never have outer joins. It's safe - // remove the table from tableList. - tableList.remove(primaryTable); - String tableListText = generateTableListText(); - - // Create the query with the previous generated parts. - statementText.append("select count(*) from "). // NOI18N - append(primaryTableText). - append(" where exists (select * from "). // NOI18N - append(tableListText).append(whereClause).append(")"). //NOI18N - append(forUpdateClause); - } - - /** - * Generates the table text for the first column of the column list. - * - * @param primaryTableText Takes the resulting statement text. - * @return The table from the first selected column. - */ - private QueryTable generatePrimaryTableText(StringBuilder primaryTableText) { - // Get the primary table from the first selected column. - // TODO: Is the first column always mapped to the primary table? - QueryTable primaryTable = ((ColumnRef)columns.get(0)).getQueryTable(); - - // Generate the table text. - appendTableText(primaryTableText, primaryTable); - - return primaryTable; - } - - protected StringBuilder generateColumnText() { - StringBuilder columnText = new StringBuilder(); - - for (int i = 0; i < columns.size(); i++) { - ColumnRef cr = (ColumnRef) columns.get(i); - - columnText.append("t").append(cr.getQueryTable().getTableIndex()).append("."); // NOI18N - appendQuotedText(columnText, cr.getName()); - columnText.append(", "); // NOI18N - } - columnText.delete(columnText.length() - 2, columnText.length()); - return columnText; - } - - private String getAggregateText() { - int aggregateOption = plan.options & RetrieveDescImpl.OPT_AGGREGATE; - - switch (aggregateOption) { - case RetrieveDescImpl.OPT_AVG: - return "AVG( "; // NOI18N - case RetrieveDescImpl.OPT_MIN: - return "MIN("; // NOI18N - case RetrieveDescImpl.OPT_MAX: - return "MAX("; // NOI18N - case RetrieveDescImpl.OPT_SUM: - return "SUM("; // NOI18N - case RetrieveDescImpl.OPT_COUNT: - case RetrieveDescImpl.OPT_COUNT_PC: - return "COUNT("; // NOI18N - default: - return ""; // NOI18N - } - } - - private StringBuilder generateForUpdateClause(boolean updateLockRequired) { - StringBuilder forUpdateClause = new StringBuilder(); - - if (updateLockRequired) { - // Check if vendor actually supports updatelock - if (!vendorType.isUpdateLockSupported() ) { - // Throw an exception user wanted to have update lock - // But vendor is not supporting it. Do not allow user to proceed - throw new JDOFatalDataStoreException(I18NHelper.getMessage(messages, - "sqlstore.selectstatement.noupdatelocksupport"));// NOI18N - } - - // generating the ForUpdate Clause - String vendorForUpdate = vendorType.getForUpdate().trim(); - boolean vendorHasForUpdateClause = (vendorForUpdate.length() != 0); - - if (vendorHasForUpdateClause) { - forUpdateClause.append(" ").append(vendorForUpdate).append(" "); - - if (vendorType.isLockColumnListSupported()) { - for (int i = 0; i < tableList.size(); i++) { - QueryTable queryTable = (QueryTable) tableList.get(i); - if (isUpdateLockRequired(queryTable)) { - TableDesc tableDesc = queryTable.getTableDesc(); - //Get the first column of primary key - ColumnElement ce = (ColumnElement) tableDesc.getKey().getColumns().get(0); - forUpdateClause.append("t").append(i).append("."); // NOI18N - appendQuotedText(forUpdateClause, ce.getName().getName()); - forUpdateClause.append(", "); // NOI18N - } - } - // Remove trailing ", " - forUpdateClause.delete(forUpdateClause.length() - 2, forUpdateClause.length()); - } - } - } - - return forUpdateClause; - } - - private String getDistinctText(boolean updateLockRequired) { - String distinctText = ""; // NOI18N - - if ((plan.options & RetrieveDescImpl.OPT_DISTINCT) > 0) { - if( !updateLockRequired || vendorType.isDistinctSupportedWithUpdateLock()) { - //Include DISTINCT only if update lock is not required - //If update lock is required, include DISTINCT only if vendor supports update lock with DISTINCT - //(e.g. ORACLE throws ORA-01786 if DISTINCT and FOR UPDATE are used in same query - - //For the case where update lock is required and vendor does not support DISTINCT/ - //with update lock, we would do DISTINCT in our code after retrieving the data - //see SQLStoreManger::retrieve() - distinctText = "distinct "; // NOI18N - } - } - return distinctText; - } - - /** - * Determines if an update lock is required while executing this query. - * - * @return True if any of the tables invloved in this query requires - * update lock - */ - private boolean isUpdateLockRequired() { - boolean updateLockRequired = false; - - // TODO: We can optimize this by storing the value in a member variable - for (int i = 0; i < tableList.size() && !updateLockRequired; i++) { - QueryTable queryTable = (QueryTable) tableList.get(i); - updateLockRequired = isUpdateLockRequired(queryTable); - } - - return updateLockRequired; - } - - /** - * Processes Order By constraints and calls the super class - * method for all other constrains. - */ - protected void processRootConstraint(ConstraintOperation opNode, - List stack, - StringBuilder whereText) { - int op = opNode.operation; - int opInfo = operationFormat(op); - - if ((opInfo & OP_ORDERBY_MASK) > 0) { - stack.remove(stack.size() - 1); - ConstraintNode node = (ConstraintNode) stack.get(stack.size() - 1); - - if (!(node instanceof ConstraintField)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.needfieldnode")); // NOI18N - } else { - processOrderByField((ConstraintFieldDesc) node, op); - stack.remove(stack.size() - 1); - } - } else { - super.processRootConstraint(opNode, stack, whereText); - } - } - - protected void processIrregularOperation(ConstraintOperation opNode, - int opCode, - List stack, - StringBuilder result) { - switch (opCode) { - case ActionDesc.OP_EQUIJOIN: - processJoinOperation((ConstraintJoin)opNode, result); - break; - default: - super.processIrregularOperation(opNode, opCode, stack, result); - } - } - - /** - * Process outer join constraints for this statement. - * - * @return A string buffer representing outer join conditions for this - * statement. Please note that the returned string buffer will have text - * only for Oracle - */ - private StringBuilder processOuterJoinConstraints() { - StringBuilder joinCondition = null; - final List joinStack = constraint.getOuterJoinConstraints(); - final int joinStackSize = joinStack.size(); - - if (joinStackSize > 0) { - joinCondition = new StringBuilder(); - for (int i = 0; i < joinStackSize; i++) { - ConstraintJoin joinNode = (ConstraintJoin) joinStack.get(i); - processJoinOperation(joinNode, joinCondition); - } - } - return joinCondition; - } - - /** - * Generates a join condition for specified jnode. Equi joins and native - * outer joins end up in the where clause. Ansi compliant outer join - * conditions end up in the from clause. - * - * @param jnode Join constraint. - * @param whereText String buffer taking the join condition. Generated - * join condition is appended to this string buffer. - */ - private void processJoinOperation(ConstraintJoin jnode, - StringBuilder whereText) { - int opCode = jnode.operation; - // Generate ANSI outer joins if doAnsiJoin == true, - // i.e. the vendor has no "native" outer join semantics. - boolean doAnsiJoin = opCode != ActionDesc.OP_EQUIJOIN - && !vendorType.isNativeOuterJoin(); - - if (doAnsiJoin) { - generateAnsiJoin(jnode, opCode); - } else { - generateJoin(jnode, whereText, opCode); - } - } - - /** - * Generate a "regular" join. The columns for the join condition - * end up in the where clause. The corresponding tables are added - * directly to the member variable tableList. - * Note that this method is normally called to process EQUI- joins - * only. For databases that are marked for native join sematics, - * this method will be called to process both EQUI- and OUTER- joins. - * - * @param jnode Join constraint. - * @param whereText String buffer taking the join condition. Generated - * join condition is appended to this string buffer. - * @param opCode Join operation. - */ - private void generateJoin(ConstraintJoin jnode, - StringBuilder whereText, - int opCode) { - - for (int i = 0; i < jnode.fromColumns.size(); i++) { - ColumnElement fromColumn = (ColumnElement)jnode.fromColumns.get(i); - ColumnElement toColumn = (ColumnElement)jnode.toColumns.get(i); - QueryTable fromTable = findQueryTable(jnode.fromPlan, fromColumn); - QueryTable toTable = findQueryTable(jnode.toPlan, toColumn); - - if (toTable == null) throw new IllegalStateException("Target QueryTable is NULL."); - - addQueryTable(fromTable); - addQueryTable(toTable); - toTable.prevTable = null; - - appendJoinCondition(whereText, - fromTable, toTable, fromColumn, toColumn, - getJoinOperator(opCode)); - - if (opCode == ActionDesc.OP_LEFTJOIN ) { - // Append oracle style (+) or similar. - whereText.append(vendorType.getLeftJoinPost()); - } - } - } - - /** - * Generates an ANSI compliant join. The columns for the join - * condition end up in the from clause. The joined tables - * are added indirectly to the member variable tableList by - * being added to {@link QueryTable#nextTable} associated with - * the "from-" table. - * - * @param jnode Join constraint. - * @param opCode Join operation. - * @see #processFromClause - */ - private void generateAnsiJoin(ConstraintJoin jnode, int opCode) { - - for (int i = 0; i < jnode.fromColumns.size(); i++) { - ColumnElement fromColumn = (ColumnElement)jnode.fromColumns.get(i); - ColumnElement toColumn = (ColumnElement)jnode.toColumns.get(i); - QueryTable fromTable = findQueryTable(jnode.fromPlan, fromColumn); - QueryTable toTable = findQueryTable(jnode.toPlan, toColumn); - - if (fromTable == null) throw new IllegalStateException("Join source QueryTable is NULL"); - - // Process the from clause - processFromClause(fromTable, toTable); - - // Process the on clause. - if (toTable.onClause == null) { - toTable.onClause = new StringBuilder(); - } - - appendJoinCondition(toTable.onClause, fromTable, toTable, fromColumn, toColumn, "="); //NOI18N - - fromTable.joinOp = opCode; - } - } - - /** - * Processes specified fromTable and toTable to generate appropriate from - * clause when table text is generated. - * toTable is added to fromTable.nextTable if not already present. See - * {@link #appendAnsiJoinTableText(StringBuilder,QueryTable)} for - * details on how this is used to generate table text. - * - * @param fromTable The from table - * @param toTable The to table. - */ - private static void processFromClause(QueryTable fromTable, QueryTable toTable) { - - if (toTable.prevTable != null && toTable.prevTable != fromTable) { - // TODO - } - - // TODO: - // Check that these tables aren't already participating in - // a join (except to each other). If either of them are - // then we will have to make a new table alias for that - // table and put in an addtional equijoin between the old - // alias and the new based, of course, on the key columns. - - if (fromTable.nextTable == null) { - fromTable.nextTable = new ArrayList(); - fromTable.nextTable.add(toTable); - toTable.prevTable = fromTable; - } else { - // Make sure we don't add the same table twice. - if (!fromTable.nextTable.contains(toTable)) { - fromTable.nextTable.add(toTable); - toTable.prevTable = fromTable; - } - } - } - - /** - * Appends join condition corresponding to specified fromTable, toTable, - * fromColumn, toColumn, joinOp to result. If result is not empty " and " - * will be appended to it before appending the join condition. - * - * @param result The string buffer to which the condition will be appended. - * @param fromTable The from table. - * @param toTable The to table. - * @param fromColumn The from column. - * @param toColumn The to column. - * @param joinOp Join operation. - */ - private void appendJoinCondition(StringBuilder result, - QueryTable fromTable, QueryTable toTable, - ColumnElement fromColumn, ColumnElement toColumn, - String joinOp) { - if (result.length() > 0) { - // Composite fk. - result.append(" and "); - } - - result.append("t").append(fromTable.getTableIndex()).append("."); // NOI18N - appendQuotedText(result, fromColumn.getName().getName()); - result.append(" ").append(joinOp). // NOI18N - append(" t").append(toTable.getTableIndex()).append("."); // NOI18N - appendQuotedText(result, toColumn.getName().getName()); - } - - /** - * Returns join operator for specified operation. - * - * @param operation The join operation. Should be one of - * ActionDesc.OP_EQUIJOIN, ActionDesc.OP_LEFTJOIN or ActionDesc.OP_RIGHTJOIN. - * @return join operator for specified operation. - */ - protected String getJoinOperator(int operation) { - String result = null; - - switch (operation) { - case ActionDesc.OP_EQUIJOIN: - result = " = "; // NOI18N - break; - case ActionDesc.OP_LEFTJOIN: - result = vendorType.getLeftJoin(); - break; - case ActionDesc.OP_RIGHTJOIN: - result = vendorType.getRightJoin(); - break; - default: - throw new JDOFatalInternalException( - I18NHelper.getMessage(messages, - "core.constraint.illegalop", operation)); // NOI18N - } - return result; - } - - private static QueryTable findQueryTable(QueryPlan plan, ColumnElement ce) { - QueryTable table = plan.findQueryTable(ce.getDeclaringTable()); - - if (table == null) { - // TODO: throw exception - } - - return table; - } - - private String generateTableListText() { - StringBuilder str = new StringBuilder(); - - for (int i = 0; i < tableList.size(); i++) { - QueryTable t = (QueryTable) tableList.get(i); - - if (t.prevTable == null && t.nextTable == null) { - appendTableText(str, t); - str.append(", "); // NOI18N - } else { - // Table is part of an outer join list. - - if (t.prevTable == null) { - // Beginning of the list. - - appendAnsiJoinText(str, t); - } else { - // The table is in the "middle" of the list. - - while (t.prevTable != null) { - t = t.prevTable; - } - - if (!tableList.contains(t)) { - // Outer join list starts with a join table. - // Because join tables aren't in the table list, - // they wouldn't be included in the table text. - - appendAnsiJoinText(str, t); - } - } - } - } - - str.delete(str.length() - 2, str.length()); - - return str.toString(); - } - - private void appendAnsiJoinText(StringBuilder str, QueryTable t) { - // TODO: getTableListStart() and getTableListEnd() returns "" - // for all the databases. Do we need it ? - str.append(vendorType.getTableListStart()); - appendAnsiJoinTableText(str, t); - str.append(vendorType.getTableListEnd()); - str.append(", "); // NOI18N - } - - /** - * Appends sql text corresponding to specified table to specified text. - * The linked list starting with table.nextTable is walked recursively - * to generate join text. - * - * @param text The string buffer receiving sql text. - * @param table Table to be joined. - */ - private void appendAnsiJoinTableText(StringBuilder text, QueryTable table) { - - if (table.joinOp == ActionDesc.OP_RIGHTJOIN) { - text.append(vendorType.getRightJoinPre()); - } - - if (table.prevTable == null) { - appendTableText(text, table); - } - - for (int i = 0; i < table.nextTable.size(); i++) { - QueryTable toTable = (QueryTable) table.nextTable.get(i); - text.append(getJoinOperator(table.joinOp)).append(" "); // NOI18N - - appendTableText(text, toTable); - - if (toTable.onClause != null) { - text.append(" on "); // NOI18N - text.append(toTable.onClause); - } - - if (toTable.nextTable != null) { - appendAnsiJoinTableText(text, toTable); - } - - // Note: Since this method is called only for ANSI joins, - // and only oracle has getLeftJoinPost() defined, we will never - // append any text through following code. - if (table.joinOp == ActionDesc.OP_LEFTJOIN) { - text.append(vendorType.getLeftJoinPost()); - } - } - } - - /** - * Adds a column corresponding to field fieldNode and - * order operation op to the order constraint. - * - * @param fieldNode Constraint on a field name of a persistence capable class. - * @param op Order operation. - */ - private void processOrderByField(ConstraintFieldDesc fieldNode, int op) { - QueryPlan thePlan = getOriginalPlan(fieldNode); - StringBuilder orderText = new StringBuilder(); - - generateColumnText(fieldNode.desc, thePlan, orderText); - - if (op == ActionDesc.OP_ORDERBY_DESC) { - orderText.append(" desc"); // NOI18N - } - - if (orderClause.length() > 0) { - orderText.append(", "); // NOI18N - orderText.append(orderClause); - } - orderClause = orderText; - } - - /** - * Binds input valus corrsponding to this Statement object to - * database statement s. - * @param s The database statement. - * @param parameters If an InputValue to be bound is a parameter, the actual - * value is contained in this. - * @throws SQLException - */ - public void bindInputValues(DBStatement s, ValueFetcher parameters) - throws SQLException { - for (int i = 0, size = inputDesc.values.size(); i < size; i++) { - InputValue inputVal = (InputValue) inputDesc.values.get(i); - s.bindInputColumn(i + 1, getInputValue(inputVal, parameters), - inputVal.getColumnElement(), vendorType); - } - } - - /** - * Get Input values to be bound to this statement. - * @param parameters If an InputValue to be bound is a parameter, the actual - * value is contained in this. - * @return An Object array containing input values to be bound to this statement. - */ - private Object[] getInputValues(ValueFetcher parameters) { - final int size = inputDesc.values.size(); - Object[] inputValues = new Object[size]; - for (int i = 0; i < size; i++) { - InputValue inputValue = (InputValue) inputDesc.values.get(i); - inputValues[i] = getInputValue(inputValue, parameters); - } - return inputValues; - } - - /** - * Gets formatted sql text corrsponding to this statement object. The text - * also contains values for input to the statement. - * @param parameters The input paramters to this statement. - * @return formatted sql text corrsponding to this statement object. - */ - public String getFormattedSQLText(ValueFetcher parameters) { - return formatSqlText(getText(), getInputValues(parameters)) ; - } - - /** - * Gets actual value corresponding to inputVal. If - * inputVal is an instanceof InputValue then value contained - * in inputVal is returned. If inputVal is an instanceof - * InputParamValue then value returned is obtained from parameters - * . - * @param inputVal The input value. - * @param parameters The parameters. - * @return Appropriate value as described above. - */ - private static Object getInputValue(InputValue inputVal, - ValueFetcher parameters) { - Object val; - if (inputVal instanceof InputParamValue) { - int paramIndex = ((InputParamValue) inputVal).getParamIndex().intValue(); - val = parameters.getValue(paramIndex); - } - else { - val = inputVal.getValue(); - } - return val; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/Statement.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/Statement.java deleted file mode 100644 index 1c99e6d2bb0..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/Statement.java +++ /dev/null @@ -1,1305 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * Statement.java - * - * Created on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import org.netbeans.modules.dbschema.ColumnElement; -import org.netbeans.modules.dbschema.TableElement; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.database.DBVendorType; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.*; -import org.glassfish.persistence.common.I18NHelper; - -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.ResourceBundle; - -/** - * This class is used to represent a SQL statement. - */ -public abstract class Statement extends Object implements Cloneable { - - private static final Integer ONE = 1; - - protected static final int OP_PREFIX_MASK = 0x001; // 1 - - protected static final int OP_INFIX_MASK = 0x002; // 2 - - protected static final int OP_POSTFIX_MASK = 0x004; // 4 - - protected static final int OP_PAREN_MASK = 0x008; // 8 - - protected static final int OP_ORDERBY_MASK = 0x010; // 16 - - protected static final int OP_WHERE_MASK = 0x020; // 32 - - protected static final int OP_IRREGULAR_MASK = 0x040; // 64 - - protected static final int OP_OTHER_MASK = 0x080; // 128 - - protected static final int OP_PARAM_MASK = 0x100; // 256 - - protected static final int OP_BINOP_MASK = 2 * OP_PARAM_MASK | OP_WHERE_MASK | OP_INFIX_MASK; // 546 - - protected static final int OP_FUNC_MASK = OP_PARAM_MASK | OP_PREFIX_MASK | OP_PAREN_MASK | OP_WHERE_MASK; // 297 - - protected static final int OP_PCOUNT_MASK = 3 * OP_PARAM_MASK; // 768 - - protected StringBuilder statementText; - - private String quoteCharStart; - - private String quoteCharEnd; - - /** array of ColumnRef */ - protected ArrayList columns; - - Constraint constraint; - - protected InputDesc inputDesc; - - int action; - - /** array of QueryTable */ - public ArrayList tableList; - - protected DBVendorType vendorType; - - protected ArrayList secondaryTableStatements; - - /** - * I18N message handler - */ - protected final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - Statement.class.getClassLoader()); - - - public Statement(DBVendorType vendorType) { - - inputDesc = new InputDesc(); - columns = new ArrayList(); - constraint = new Constraint(); - tableList = new ArrayList(); - this.vendorType = vendorType; - - if (!vendorType.getQuoteSpecialOnly()) { - // DO NOT SUPPORT QUOTING OTHERWISE - this.quoteCharStart = vendorType.getQuoteCharStart(); - this.quoteCharEnd = vendorType.getQuoteCharEnd(); - } - } - - public void addQueryTable(QueryTable table) { - // - // First check to make sure this is not a duplicate. - // - if (tableList.indexOf(table) == -1) { - tableList.add(table); - } - } - - protected ColumnRef getColumnRef(ColumnElement columnElement) { - // - // Check whether this column has already been added. - // If so, simply return. - // - int size = columns.size(); - - for (int i = 0; i < size; i++) { - ColumnRef cref = (ColumnRef) columns.get(i); - - if (cref.getColumnElement() == columnElement) return cref; - } - - return null; - } - - protected void addColumnRef(ColumnRef columnRef) { - columnRef.setIndex(columns.size()+1); - columns.add(columnRef); - } - - /** - * Adds a comparison on local field lf and value value. - */ - public void addConstraint(LocalFieldDesc lf, Object value) { - int operation; - if (value == null) { - operation = ActionDesc.OP_NULL; - } else { - constraint.addValue(value, lf); - if (lf.isPrimitiveMappedToNullableColumn() || - (vendorType.mapEmptyStringToNull() && lf.getType() == String.class)) { - // Primitive fields mapped to nullable columns might hold - // a default value indicting that the actual db column is null. - // Databases might treat zero length Strings as null. - operation = ActionDesc.OP_MAYBE_NULL; - } else { - // Object type fields or primitive fields - // mapped to non nullable columns are compared exactly - operation = ActionDesc.OP_EQ; - } - } - constraint.addField(lf); - constraint.addOperation(operation); - } - - public DBVendorType getVendorType() { - return vendorType; - } - - public void appendTableText(StringBuilder text, QueryTable table) { - appendQuotedText(text, table.getTableDesc().getName()); - text.append(" t"); // NOI18N - text.append(table.getTableIndex()); - } - - /** - * Append text surrounded by quote char to buffer - * @param buffer The given buffer - * @param text The given text - */ - protected void appendQuotedText(StringBuilder buffer, String text) { - buffer.append(quoteCharStart); - buffer.append(text); - buffer.append(quoteCharEnd); - } - - /** - * Returns the SQL text for the query described by this object. - * - * @return The text of the SQL query described by this object. - */ - public String getText() { - - if (statementText == null) { - generateStatementText(); - } - - - return statementText.toString(); - } - - /** - * Generates the SQL text for the query described by this object. - */ - protected abstract void generateStatementText(); - - /** - * Processes the constraint stack and adds it to the query. - * This means turning the constraint stack into SQL text and - * adding it to the where clause. - * - * @return Where clause based on the constraint stack. - */ - public StringBuilder processConstraints() { - StringBuilder whereText = new StringBuilder(); - List stack = constraint.getConstraints(); - - while (stack.size() > 0) { - ConstraintNode node = (ConstraintNode) stack.get(stack.size() - 1); - - if (!(node instanceof ConstraintOperation)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.notinstanceof", // NOI18N - node.getClass().getName(), "ConstraintOperation")); // NOI18N - } - - processRootConstraint((ConstraintOperation) node, stack, whereText); - } - - return whereText; - } - - protected void processRootConstraint(ConstraintOperation opNode, - List stack, - StringBuilder whereText) { - int op = opNode.operation; - int opInfo = operationFormat(op); - - if ((opInfo & OP_WHERE_MASK) > 0) { - String constraint = getWhereText(stack); - if (whereText.length() > 0 && constraint.length() > 0) { - // This is neccessary, if the constraint stack is "un-balanced", - // see OrderingTest#ordering006 for an example. - whereText.append(" and "); - } - whereText.append(constraint); - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "sqlstore.sql.generator.statement.unexpectedconstraint", op)); // NOI18N - } - } - - /** - * Get QueryPlan for this statement - * @return QueryPlan for this statement - */ - public abstract QueryPlan getQueryPlan(); - - /** - * Constructs the where clause for the statement from - * the constraint stack. - * - * @param stack - * The stack parameter holds the constraint stack to be decoded. - * - * RESOLVE: We don't support constraints on multiple statements yet. - * We would need to sort constraints out by statement and do something - * about constraints that span statements (e.g. t1.c1 = t2.c2). - */ - protected String getWhereText(List stack) { - - StringBuilder result = new StringBuilder(); - ConstraintNode node; - - if (stack.size() == 0) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.stackempty")); // NOI18N - } - - node = (ConstraintNode) stack.get(stack.size() - 1); - stack.remove(stack.size() - 1); - - if (node instanceof ConstraintParamIndex) { - processConstraintParamIndex((ConstraintParamIndex) node, result); - } else if (node instanceof ConstraintValue) { - processConstraintValue((ConstraintValue) node, result); - } else if (node instanceof ConstraintField) { - processConstraintField((ConstraintField) node, result); - } else if (node instanceof ConstraintConstant) { - result.append(((ConstraintConstant) node).value.toString()); - } else if (node instanceof ConstraintOperation) { - processConstraintOperation((ConstraintOperation) node, stack, result); - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.illegalnode", // NOI18N - node.getClass().getName())); - } - - return result.toString(); - } - - protected void processConstraintParamIndex(ConstraintParamIndex node, StringBuilder result) { - // DB2 requires cast for parameter markers involved in numeric expressions. - result.append(vendorType.getParameterMarker(node.getType())); - Integer index = node.getIndex(); - inputDesc.values.add(new InputParamValue(index, getColumnElementForValueNode(node) )); - } - - protected void processConstraintValue(ConstraintValue node, StringBuilder result) { - boolean generateValueInSQLStatement = false; - String strToAppend = "?"; // NOI18N - - // DB2 requires cast for parameter markers involved in numeric expressions. - // For DB2, do not generate parameter markers, but inline values in generated SQL. - // TODO: Inline numerics for all the databases not just DB2. - - if (vendorType.isInlineNumeric()) { - // TODO: Ask Michael to pass on type for values also as enums. - // Suggestion : Convert FieldTypeEnumeration to a class. Implement methods like - // isNumeric(int type) for following if condition - Object value = node.getValue(); - if (value != null && value instanceof Number) { - generateValueInSQLStatement = true; - strToAppend = value.toString(); - } - } - result.append(strToAppend); - - if(!generateValueInSQLStatement) { - // We have added a "?" to sql. Add value to inputDesc - generateInputValueForConstraintValueNode(node); - } - } - - protected QueryPlan getOriginalPlan(ConstraintField fieldNode) { - return (fieldNode.originalPlan != null) ? fieldNode.originalPlan : getQueryPlan(); - } - - private void processConstraintField(ConstraintField fieldNode, StringBuilder result) { - LocalFieldDesc desc = null; - - QueryPlan thePlan = getOriginalPlan(fieldNode); - - if (fieldNode instanceof ConstraintFieldDesc) { - desc = ((ConstraintFieldDesc) fieldNode).desc; - } else if (fieldNode instanceof ConstraintFieldName) { - desc = thePlan.config.getLocalFieldDesc(((ConstraintFieldName) fieldNode).name); - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.notinstanceof", // NOI18N - fieldNode.getClass().getName(), - "ConstraintFieldDesc/ConstraintFieldName")); // NOI18N - } - generateColumnText(desc, thePlan, result); - } - - /** - * Generates the column text for field desc. - * The column has to be associated to the corresponding query table - * from the list tableList. - * For fields mapped to multiple columns choose one column to be included, - * as all mapped columns should have the same value. - * - * @param desc Local field descriptor to be included in the constraint text. - * @param thePlan Query plan corresponding to desc. - * @param sb String buffer taking the resulting text. - */ - protected void generateColumnText(LocalFieldDesc desc, QueryPlan thePlan, - StringBuilder sb) { - QueryTable table = null; - ColumnElement column = null; - Iterator iter = desc.getColumnElements(); - - while (iter.hasNext() && table == null) { - column = (ColumnElement) iter.next(); - - // For updates, the member variable tableList is complete - // at this point and includes only the table being updated. - // For selects, new tables are still added to tableList - // when join constraints are processed. Take the table list - // from the query plan to find the table matching the column. - if (action == QueryPlan.ACT_SELECT) { - table = thePlan.findQueryTable(column.getDeclaringTable()); - } else { - table = findQueryTable(column.getDeclaringTable()); - } - } - - if (table == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.configuration.fieldnotable", // NOI18N - desc.getName())); - } - - // Select statements might include columns from several tables. - // Qualify the column with the table index. - if (action == QueryPlan.ACT_SELECT) { - sb.append("t").append(table.getTableIndex()).append("."); // NOI18N - } - - appendQuotedText(sb, column.getName().getName()); - } - - /** - * Matches the table element tableElement to the - * corresponding query table from the list tableList. - * - * @param tableElement Table element to be found. - * @return Query table object corresponding to table element. - * @see QueryPlan#findQueryTable(TableElement) - */ - protected QueryTable findQueryTable(TableElement tableElement) { - QueryTable table = null; - - for (Iterator iter = tableList.iterator(); iter.hasNext() && table == null; ) { - QueryTable t = (QueryTable) iter.next(); - if (t.getTableDesc().getTableElement() == tableElement) { - // if (t.getTableDesc().getTableElement().equals(tableElement)) { - table = t; - } - } - - return table; - } - - private void processConstraintOperation(ConstraintOperation opNode, - List stack, - StringBuilder result) { - int opCode = opNode.operation; - int format = operationFormat(opCode); - - if ((format & OP_IRREGULAR_MASK) == 0) { - processFunctionOrBinaryOperation(format, opCode, stack, result); - } else { - processIrregularOperation(opNode, opCode, stack, result); - } - } - - private void processFunctionOrBinaryOperation(int format, - int opCode, - List stack, - StringBuilder result) { - - if ((format & OP_PREFIX_MASK) > 0) { - result.append(prefixOperator(opCode)); - } - - if ((format & OP_PCOUNT_MASK) > 0) { - if ((format & OP_PAREN_MASK) > 0) { - result.append("("); // NOI18N - } - - result.append(getWhereText(stack)); - - for (int i = 0; i < ((format & OP_PCOUNT_MASK) / OP_PARAM_MASK) - 1; i++) { - if ((format & OP_INFIX_MASK) > 0) { - // opCode for which OP_BINOP_MASK is set - result.append(infixOperator(opCode, i - 1)); - } else { - // opCode for which OP_FUNC_MASK is set - result.append(", "); // NOI18N - } - - result.append(getWhereText(stack)); - } - - if ((format & OP_PAREN_MASK) > 0) { - result.append(")"); // NOI18N - } - } - - if ((format & OP_POSTFIX_MASK) > 0) { - result.append(postfixOperator(opCode)); - } - } - - protected void processIrregularOperation(ConstraintOperation opNode, - int opCode, - List stack, - StringBuilder result) { - switch (opCode) { - case ActionDesc.OP_NULL: - case ActionDesc.OP_NOTNULL: - processNullOperation(opCode, stack, result); - break; - case ActionDesc.OP_BETWEEN: - if (stack.size() < 3) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.stackempty")); // NOI18N - } - - if (!(stack.get(stack.size() - 1) instanceof ConstraintField)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.needfieldnode")); // NOI18N - } else { - result.append(getWhereText(stack)); - result.append(" between "); // NOI18N - } - result.append(getWhereText(stack)); - result.append(" and "); - result.append(getWhereText(stack)); - break; - case ActionDesc.OP_IN: - case ActionDesc.OP_NOTIN: - processInOperation(opCode, stack, result); - break; - case ActionDesc.OP_NOTEXISTS: - case ActionDesc.OP_EXISTS: - if (!(opNode instanceof ConstraintSubquery)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.notinstanceof", // NOI18N - opNode.getClass().getName(), "ConstraintSubquery")); // NOI18N - } - - ConstraintSubquery sqNode = (ConstraintSubquery) opNode; - - result.append(prefixOperator(opCode)); - result.append("("); // NOI18N - - Statement sqstmt = (Statement) sqNode.plan.statements.get(0); - - result.append(sqstmt.getText()); - - result.append(")"); // NOI18N - break; - case ActionDesc.OP_LIKE_ESCAPE: - if (stack.size() < 3) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.stackempty")); // NOI18N - } - - if (vendorType.supportsLikeEscape()) { - if (!(stack.get(stack.size() - 1) instanceof ConstraintField)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.needfieldnode")); // NOI18N - } else { - result.append(getWhereText(stack)); - result.append(" LIKE "); // NOI18N - } - result.append(getWhereText(stack)); - result.append(vendorType.getLeftLikeEscape()); - result.append(" ESCAPE "); // NOI18N - result.append(getWhereText(stack)); - result.append(vendorType.getRightLikeEscape()); - } else { - throw new JDOFatalInternalException( - I18NHelper.getMessage(messages, - "sqlstore.sql.generator.statement.likeescapenotsupported")); //NOI18N - } - - break; - case ActionDesc.OP_SUBSTRING: - if (stack.size() < 3) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.stackempty")); // NOI18N - } - - result.append(vendorType.getSubstring()); - result.append("("); // NOI18N - result.append(getWhereText(stack)); - result.append(vendorType.getSubstringFrom()); - result.append(getWhereText(stack)); - result.append(vendorType.getSubstringFor()); - result.append(getWhereText(stack)); - result.append(")"); // NOI18N - break; - case ActionDesc.OP_POSITION: - if (stack.size() < 2) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.stackempty")); // NOI18N - } - - result.append(vendorType.getPosition()); - result.append("("); // NOI18N - boolean swap = vendorType.isPositionSearchSource(); - if (swap) { - ConstraintNode expr = - (ConstraintNode)stack.remove(stack.size() - 1); - ConstraintNode pattern = - (ConstraintNode)stack.remove(stack.size() - 1); - stack.add(expr); - stack.add(pattern); - } - - result.append(getWhereText(stack)); - result.append(vendorType.getPositionSep()); - result.append(" ").append(getWhereText(stack)); // NOI18N - result.append(")"); // NOI18N - break; - case ActionDesc.OP_POSITION_START: - if (stack.size() < 3) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.stackempty")); // NOI18N - } - - boolean swapArgs = vendorType.isPositionSearchSource(); - boolean threeArgs = vendorType.isPositionThreeArgs(); - - if (threeArgs) { - if (swapArgs) { - ConstraintNode expr = - (ConstraintNode)stack.remove(stack.size() - 1); - ConstraintNode pattern = - (ConstraintNode)stack.remove(stack.size() - 1); - stack.add(expr); - stack.add(pattern); - } - result.append(vendorType.getPosition()); - result.append("("); // NOI18N - result.append(getWhereText(stack)); - result.append(vendorType.getPositionSep()); - result.append(" ").append(getWhereText(stack)); // NOI18N - result.append(vendorType.getPositionSep()); - result.append(" ").append(getWhereText(stack)); // NOI18N - result.append(")"); // NOI18N - } else { //twoArgs - ConstraintValue valueNode = - (ConstraintValue)stack.remove(stack.size() - 3); - if (valueNode != null && ONE.equals(valueNode.getValue())) { - stack.add(new ConstraintOperation(ActionDesc.OP_POSITION)); - result.append(getWhereText(stack)); - } else { - throw new JDOFatalInternalException( - I18NHelper.getMessage(messages, - "sqlstore.sql.generator.statement.positionthreeargsnotsupported")); // NOI18N - } - } - break; - case ActionDesc.OP_MAYBE_NULL: - processMaybeNullOperation(stack, result); - break; - case ActionDesc.OP_MOD: - if (stack.size() < 2) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.stackempty")); // NOI18N - } - result.append(prefixOperator(opCode)); - result.append("("); // NOI18N - result.append(getWhereText(stack)); - result.append(", "); // NOI18N - result.append(getWhereText(stack)); - result.append(")"); // NOI18N - break; - case ActionDesc.OP_CONCAT: - processConcatOperation(opCode, stack, result); - break; - - default: - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - "" + opCode)); // NOI18N - } - } - - private void processConcatOperation(int opCode, List stack, - StringBuilder result) { - - if (stack.size() < 2) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.stackempty")); // NOI18N - } - String concatCast = vendorType.getConcatCast(); - if (concatCast.length() != 0) { - result.append(concatCast); - //Opening brace for concat cast - result.append("( "); // NOI18N - } - // Concat is a binary infix operator. Process it manually here. - // Resolve: Why should CONCAT operation be inside braces. - // Opening brace around CONCAT operation - result.append("( "); // NOI18N - result.append(getWhereText(stack)); - result.append(infixOperator(opCode, 0)); - result.append(getWhereText(stack)); - // Closing brace around CONCAT operation - result.append(" ) "); // NOI18N - - if (concatCast.length() != 0) { - // Closing brace for concat cast - result.append(" ) "); // NOI18N - } - } - - private void processMaybeNullOperation(List stack, StringBuilder result) { - ConstraintValue valueNode = null; - ConstraintField fieldNode = null; - - if (stack.size() < 2) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.stackempty")); // NOI18N - } - - if (!(stack.get(stack.size() - 1) instanceof ConstraintField)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.needfieldnode")); // NOI18N - } else { - fieldNode = (ConstraintField) stack.get(stack.size() - 1); - stack.remove(stack.size() - 1); - } - - if (!(stack.get(stack.size() - 1) instanceof ConstraintValue)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.needvalnode")); // NOI18N - } else { - valueNode = (ConstraintValue) stack.get(stack.size() - 1); - stack.remove(stack.size() - 1); - } - - Object value = valueNode.getValue(); - if (value instanceof String) { - String v = (String) value; - - if (v.length() == 0) { - stack.add(fieldNode); - stack.add(new ConstraintOperation(ActionDesc.OP_NULL)); - } else { - stack.add(valueNode); - stack.add(fieldNode); - stack.add(new ConstraintOperation(ActionDesc.OP_EQ)); - } - } else { - stack.add(valueNode); - stack.add(fieldNode); - stack.add(new ConstraintOperation(ActionDesc.OP_EQ)); - - // - // This takes care of the case where a nullable database column - // is mapped to a primitive field. - // This check adds a "OR numericColumn IS NULL" to the constraint. - // See FieldDesc#setValue(StateManager, Object) for the conversions - // done on binding a primitive field from the store. - // - // RESOLVE: Don't we have to do this in each OP_EQ comparison - // involving primitive Fields? - // - boolean maybeNull = false; - - if ((value instanceof Number) && - ((Number) value).doubleValue() == 0) { - maybeNull = true; - } else if ((value instanceof Boolean) && - ((Boolean) value).booleanValue() == false) { - maybeNull = true; - } else if ((value instanceof Character) && - ((Character) value).charValue() == '\0') { - maybeNull = true; - } - - if (maybeNull) { - stack.add(fieldNode); - stack.add(new ConstraintOperation(ActionDesc.OP_NULL)); - stack.add(new ConstraintOperation(ActionDesc.OP_OR)); - } - } - - if (stack.size() > 0) { - result.append(getWhereText(stack)); - } - } - - private void processNullOperation(int opCode, List stack, StringBuilder result) { - String nullComparisionFunctionName = - vendorType.getNullComparisonFunctionName(); - if( nullComparisionFunctionName.length() != 0) { - // Null comparision for LOB type fields is - // through function for this DB - Object nextNode = stack.get(stack.size() - 1); - if( nextNode != null) { - if ( nextNode instanceof ConstraintFieldName) { - ConstraintFieldName fieldNode = - (ConstraintFieldName) nextNode; - QueryPlan originalPlan = getQueryPlan(); - if (fieldNode.originalPlan != null) { - originalPlan = fieldNode.originalPlan; - } - LocalFieldDesc desc = (LocalFieldDesc) originalPlan.config.getField(fieldNode.name); - if ( desc.isMappedToLob() ) { - // Add a dummy ConstraintOperation Node corresponding - // to null comparision func. - stack.add (new ConstraintOperation( - ActionDesc.OP_NULL_COMPARISION_FUNCTION) ); - } - } - } else { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.stackempty")); // NOI18N - } - } - result.append (getWhereText(stack)); - String str = (opCode == ActionDesc.OP_NULL) ? vendorType.getIsNull() : vendorType.getIsNotNull(); - result.append(str); - } - - private void processInOperation(int opCode, List stack, StringBuilder result) { - //We are trying to construct a where clause like following in the quotes here - // where "(t0.field1, t0.field2, t0.field3,...) in - // ( select t1.fld1, t1.fld2, t2.fld3,...where ....)" - - StringBuilder c = new StringBuilder(); - - if (stack.size() < 2) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.stackempty")); // NOI18N - } - - //Append the first bracket "(" to the result - result.append("("); // NOI18N - - if (!(stack.get(stack.size() - 1) instanceof ConstraintField)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.needfieldnode")); // NOI18N - } else { - //append "t0.field1" to c - c.append(getWhereText(stack)); - } - - //Append ", t0.field2, t0fld3,...." - while (stack.size() > 1 && (stack.get(stack.size() - 1) instanceof ConstraintField)) { - c.replace(0, 0, ", "); // NOI18N - c.replace(0, 0, getWhereText(stack)); - } - result.append(c.toString()); - result.append(") "); // NOI18N - if (opCode == ActionDesc.OP_NOTIN) { - result.append("not "); // NOI18N - } - result.append("in ("); // NOI18N - - - ConstraintNode currentNode = (ConstraintNode)stack.remove(stack.size() - 1); - if ( ! ( currentNode instanceof ConstraintSubquery)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.generic.notinstanceof", // NOI18N - currentNode.getClass().getName(), "ConstraintSubquery")); // NOI18N - } else { - - ConstraintSubquery sqnode = (ConstraintSubquery) currentNode; - - Statement sqstmt = (Statement) sqnode.plan.statements.get(0); - //Append the subquery i.e. "select t1.fld1, t1.fld2, t2.fld3,...where ...." - result.append(sqstmt.getText()); - - //Close the final bracket - result.append(")"); // NOI18N - - //Append the Input values to the InputDesc of current statement - inputDesc.values.addAll(sqstmt.inputDesc.values); - } - - /* - //This is old code that takes care of case when we just have a list of values - //as the parameter to the IN clause. We might uncomment and enhance this code - //when we implement the functionality to have list of values inside IN clause. - if (!(stack.get(stack.size() - 1) instanceof ConstraintValue)) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.needvalnode")); // NOI18N - } else { - result.append(((ConstraintValue) stack.get(stack.size() - 1)).value.toString()); - stack.remove(stack.size() - 1); - } - - result.append(")"); // NOI18N - */ - } - - /** - * Gets the column information for the field to which node - * is bound. - * @param node The input node. - * @return Returns null if the node isn't bound to a field. Otherwise - * returns ColumnElement for the primary column of the field to which the - * node is bound. - */ - private static ColumnElement getColumnElementForValueNode(ConstraintValue node) { - ColumnElement columnElement = null; - LocalFieldDesc field = node.getLocalField(); - if(field != null) { - //For fields mapped to multiple columns, we assume - //that all the columns have the same value in the database. - //Hence we only use the primary column in where clause. - columnElement = field.getPrimaryColumn(); - } - return columnElement; - } - - /** - * Generates InputValue for node. - * @param node The input node. - */ - protected void generateInputValueForConstraintValueNode(ConstraintValue node) { - inputDesc.values.add(new InputValue(node.getValue(), getColumnElementForValueNode(node) )); - } - - //only operations end with ")" or nothing can be here, cf. getWhereText - protected String infixOperator(int operation, int position) { - // - // InfixOperator - // The InfixOperator method returns the SQL text for the operator specified - // by the operation parameter. - // - // operation - // The operation parameter specifies which operation for which to return - // SQL text. Legal values are defined by the ConstraintOperation class. - // - StringBuilder result = new StringBuilder(); - - switch (operation) { - case ActionDesc.OP_ADD: - result.append(" + "); // NOI18N - break; - case ActionDesc.OP_AND: - result.append(" and "); - break; - case ActionDesc.OP_DIV: - result.append(" / "); // NOI18N - break; - case ActionDesc.OP_EQ: - result.append(" = "); // NOI18N - break; - case ActionDesc.OP_GE: - result.append(" >= "); // NOI18N - break; - case ActionDesc.OP_GT: - result.append(" > "); // NOI18N - break; - case ActionDesc.OP_LE: - result.append(" <= "); // NOI18N - break; - case ActionDesc.OP_LT: - result.append(" < "); // NOI18N - break; - case ActionDesc.OP_NE: - result.append(" "); - result.append(vendorType.getNotEqual()); - result.append(" "); - break; - case ActionDesc.OP_OR: - result.append(" or "); // NOI18N - break; - case ActionDesc.OP_LIKE: - result.append(" like "); // NOI18N - break; - case ActionDesc.OP_MUL: - result.append(" * "); // NOI18N - break; - case ActionDesc.OP_SUB: - result.append(" - "); // NOI1N8 - break; - case ActionDesc.OP_MOD: - result.append(" % "); // NOI1N8 - break; - case ActionDesc.OP_BETWEEN: - if (position == 1) { - result.append(" between "); // NOI18N - } else { - result.append(" and "); - } - break; - case ActionDesc.OP_CONCAT: - result.append(vendorType.getStringConcat()); - break; - default: - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - "" + operation)); // NOI18N - } - - return result.toString(); - } - - - protected int operationFormat(int operation) { - int format = 0; - switch (operation) { - // Binary operators - case ActionDesc.OP_EQ: - case ActionDesc.OP_NE: - case ActionDesc.OP_GT: - case ActionDesc.OP_GE: - case ActionDesc.OP_LT: - case ActionDesc.OP_LE: - case ActionDesc.OP_AND: - case ActionDesc.OP_MUL: - case ActionDesc.OP_LIKE: - format = OP_BINOP_MASK; - break; - - // Binary operators that require Parenthesis - case ActionDesc.OP_ADD: - case ActionDesc.OP_SUB: - case ActionDesc.OP_DIV: - case ActionDesc.OP_OR: - format = OP_BINOP_MASK | OP_PAREN_MASK; - break; - - // Functions - case ActionDesc.OP_ABS: - case ActionDesc.OP_SQRT: - case ActionDesc.OP_LENGTH: - case ActionDesc.OP_LTRIM: - case ActionDesc.OP_NOT: - case ActionDesc.OP_NULL_COMPARISION_FUNCTION: - format = OP_FUNC_MASK; - break; - - // Irregular operators - case ActionDesc.OP_BETWEEN: - case ActionDesc.OP_LIKE_ESCAPE: - case ActionDesc.OP_IN: - case ActionDesc.OP_NOTIN: - case ActionDesc.OP_NULL: - case ActionDesc.OP_NOTNULL: - case ActionDesc.OP_MAYBE_NULL: - case ActionDesc.OP_CONCAT: - case ActionDesc.OP_EQUIJOIN: - format = OP_IRREGULAR_MASK | OP_WHERE_MASK; - break; - - // Irregular operators that can never be at the root of a where clause. - // Hence they do not have OP_WHERE_MASK set. - case ActionDesc.OP_SUBSTRING: - case ActionDesc.OP_POSITION: - case ActionDesc.OP_POSITION_START: - format = OP_IRREGULAR_MASK; - break; - - case ActionDesc.OP_NOTEXISTS: - case ActionDesc.OP_EXISTS: - format = OP_IRREGULAR_MASK | OP_WHERE_MASK | OP_PREFIX_MASK; - break; - - case ActionDesc.OP_MOD: - format = vendorType.isModOperationUsingFunction() ? - OP_IRREGULAR_MASK : OP_BINOP_MASK | OP_PAREN_MASK; - break; - - case ActionDesc.OP_DISTINCT: - format = OP_OTHER_MASK; - break; - - case ActionDesc.OP_ORDERBY: - case ActionDesc.OP_ORDERBY_DESC: - format = OP_ORDERBY_MASK; - break; - - case ActionDesc.OP_RTRIM: - case ActionDesc.OP_RTRIMFIXED: - if (vendorType.isAnsiTrim()) { - format = OP_WHERE_MASK | OP_PREFIX_MASK | OP_POSTFIX_MASK | OP_PARAM_MASK; - } else { - format = OP_FUNC_MASK; - } - break; - - //TODO: Check how can this masks be optimized - case ActionDesc.OP_LEFTJOIN: - format = OP_IRREGULAR_MASK | OP_WHERE_MASK | OP_INFIX_MASK; - format = format | OP_POSTFIX_MASK; - break; - case ActionDesc.OP_RIGHTJOIN: - format = OP_IRREGULAR_MASK | OP_WHERE_MASK | OP_INFIX_MASK; - format = format | OP_PREFIX_MASK; - break; - - default: - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - "" + operation)); // NOI18N - } - - return format; - } - - protected String postfixOperator(int operation) { - // - // PostfixOperator - // The PostfixOperator method returns the SQL text for the operator specified - // by the operation parameter. - // - // operation - // The operation parameter specifies which operation for which to return - // SQL text. Legal values are defined by the ConstraintOperation class. - // - StringBuilder result = new StringBuilder(); - - switch (operation) { - case ActionDesc.OP_RTRIM: - result.append(vendorType.getRtrimPost()); - break; - case ActionDesc.OP_RTRIMFIXED: - result.append(postfixOperator(ActionDesc.OP_RTRIM)); - break; - case ActionDesc.OP_LEFTJOIN: - result.append(vendorType.getLeftJoinPost()); - break; - default: - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", // NOI18N - "" + operation)); // NOI18N - } - - return result.toString(); - } - - protected String prefixOperator(int operation) { - // - // PrefixOperator - // The PrefixOperator method returns the SQL text for the operator specified - // by the operation parameter. - // - // operation - // The operation parameter specifies which operation for which to return - // SQL text. Legal values are defined by the ConstraintOperation class. - // - StringBuilder result = new StringBuilder(); - - switch (operation) { - case ActionDesc.OP_ABS: - result.append(vendorType.getAbs()); // NOI18N - break; - case ActionDesc.OP_LENGTH: - result.append(vendorType.getCharLength()); // NOI18N - break; - case ActionDesc.OP_RTRIM: - result.append(vendorType.getRtrim()); - break; - case ActionDesc.OP_RTRIMFIXED: - result.append(prefixOperator(ActionDesc.OP_RTRIM)); - break; - case ActionDesc.OP_NOT: - result.append("not "); // NOI18N - break; - case ActionDesc.OP_SQRT: - result.append(vendorType.getSqrt()); - break; - case ActionDesc.OP_NOTEXISTS: - result.append("not exists "); // NOI18N - break; - case ActionDesc.OP_EXISTS: - result.append("exists "); // NOI18N - break; - case ActionDesc.OP_NULL_COMPARISION_FUNCTION: - result.append(vendorType.getNullComparisonFunctionName()); - break; - case ActionDesc.OP_MOD: - result.append(vendorType.getModFunctionName()); // NOI18N - break; - - default: - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.constraint.illegalop", "" + operation)); // NOI18N - } - - return result.toString(); - } - - public void addSecondaryTableStatement(Statement s) { - if (s == null) return; - - if (secondaryTableStatements == null) - secondaryTableStatements = new ArrayList(); - - secondaryTableStatements.add(s); - } - - public ArrayList getSecondaryTableStatements() { - return secondaryTableStatements; - } - - public ArrayList getQueryTables() { - return tableList; - } - - public ArrayList getColumnRefs() { - return columns; - } - - public void setAction(int action) { - this.action = action; - } - - public int getAction() { - return action; - } - - public Object clone() { - try { - return super.clone(); - } catch (CloneNotSupportedException e) { - // - // shouldn't happen. - // - return null; - } - } - - /** - * Binds input valus corrsponding to this Statement object to - * database statement s. - * @param s The database statement - * @throws SQLException - */ - public void bindInputValues(DBStatement s) throws SQLException { - for (int i = 0, size = inputDesc.values.size(); i < size; i++) { - InputValue inputVal = (InputValue) inputDesc.values.get(i); - s.bindInputColumn(i + 1, inputVal.getValue(), - inputVal.getColumnElement(), vendorType); - } - } - - /** - * Gets input values corrsponding to this Statement. - * @return An Object array containing input values. - */ - private Object[] getInputValues() { - final int size = inputDesc.values.size(); - Object[] inputValues = new Object[size]; - for (int i = 0; i < size; i++) { - InputValue inputValue = (InputValue) inputDesc.values.get(i); - inputValues[i] = inputValue.getValue(); - } - return inputValues; - } - - /** - * Gets formatted sql text corrsponding to this statement object. The text - * also contains values for input to the statement. - * @return formatted sql text corrsponding to this statement object. - */ - public String getFormattedSQLText() { - return formatSqlText(getText(), getInputValues()); - } - - /** - * The formatSqlText method returns a string containing the text of - * the SQL statement about to be executed and the input values for the - * placeholders. - * @param sqlText Specifies the text of the SQL statement to be executed. - * @param input Holds the input values used for the SQL statement. - * @return The SQL text and the input values formatted into a printable - * string. - */ - static protected String formatSqlText(String sqlText, Object[] input) { - StringBuilder str = new StringBuilder(); - - str.append(I18NHelper.getMessage(messages, - "sqlstore.sql.generator.statement.sqlStatement") ); //NOI18N - str.append("<").append(sqlText).append("> "); // NOI18N - - if (input != null && input.length > 0) { - str.append(I18NHelper.getMessage(messages, - "sqlstore.sql.generator.statement.withinputvalues")); // NOI18N - for (int i = 0; i < input.length; i++) { - if (i > 0) { - str.append(", "); // NOI18N - } - Object inputValue = input[i]; - if (inputValue == null) { - str.append(""); // NOI18N - } else { - str.append(inputValue.getClass().getName()); - str.append(":"); // NOI18N - str.append(inputValue.toString()); - } - } - } else { - str.append(I18NHelper.getMessage(messages, - "sqlstore.sql.generator.statement.withnoinputvalues")); // NOI18N - } - - return str.toString(); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/TableIndex.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/TableIndex.java deleted file mode 100644 index 99d53c043cb..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/TableIndex.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * SqlTableIndex.java - * - * Create on March 3, 2000 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -/** - */ -public class TableIndex extends Object { - private int index; - - public TableIndex(int index) { - this.index = index; - } - - public int intValue() { - return index; - } - - public String toString() { - return Integer.toString(index); - } - - public void setValue(int index) { - this.index = index; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/UpdateQueryPlan.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/UpdateQueryPlan.java deleted file mode 100644 index 0cb185b6c47..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/UpdateQueryPlan.java +++ /dev/null @@ -1,408 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * UpdateQueryPlan.java - * - * Created on October 3, 2001 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import org.netbeans.modules.dbschema.ColumnElement; -import org.netbeans.modules.dbschema.TableElement; -import com.sun.jdo.api.persistence.support.JDOFatalInternalException; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager; -import com.sun.jdo.spi.persistence.support.sqlstore.Transaction; -import com.sun.jdo.spi.persistence.support.sqlstore.model.*; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.UpdateJoinTableDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.UpdateObjectDescImpl; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - - -/** - * This class is used to generated update/insert/delete statements. - */ -public class UpdateQueryPlan extends QueryPlan { - - /** Flag indicating whether we use batch update. */ - private boolean batch = false; - - private UpdateObjectDescImpl updateDesc; - - public UpdateQueryPlan(ActionDesc desc, SQLStoreManager store) { - super(desc, store); - this.updateDesc = (UpdateObjectDescImpl) desc; - this.action = getAction(updateDesc.getUpdateAction()); - } - - private static int getAction(int updateAction) { - if (updateAction == ActionDesc.LOG_CREATE) { - return ACT_INSERT; - } else if (updateAction == ActionDesc.LOG_DESTROY) { - return ACT_DELETE; - } else if (updateAction == ActionDesc.LOG_UPDATE) { - return ACT_UPDATE; - } else { - return ACT_NOOP; - } - } - - /** - * Specifies an field the data for which needs to be updated, - * and the mapped columns for which therefor need to be updated. - * For update queries the column will be put in the set lists, - * and for insert queries the column will be put into the - * insert values lists. - * - * @param fieldDesc Updated field corresponding to a column in the database. - * @param value New value. - */ - private void addColumn(LocalFieldDesc fieldDesc, Object value) { - - // Ignore secondary tracked fields. - if ((fieldDesc.sqlProperties & FieldDesc.PROP_SECONDARY_TRACKED_FIELD) > 0) { - return; - } - - for (Iterator iter = fieldDesc.getColumnElements(); iter.hasNext(); ) { - ColumnElement columnElement = (ColumnElement) iter.next(); - TableElement tableElement = columnElement.getDeclaringTable(); - - if (tableElement == null) { - throw new JDOFatalInternalException(I18NHelper.getMessage(messages, - "core.configuration.fieldnotable", // NOI18N - fieldDesc.getName())); - } - - QueryTable t = findQueryTable(tableElement); - UpdateStatement s = null; - - if (t == null) { - t = addQueryTable(tableElement, null); - s = (UpdateStatement) addStatement(t); - } else { - s = (UpdateStatement) getStatement(t); - } - - if (fieldDesc.isVersion() && action == ACT_UPDATE) { - // For update, version columns will be flagged specially. - s.addVersionColumn(columnElement); - } else { - s.addColumn(columnElement, value); - } - - } - } - - public void build() { - build(false); - } - - /** - * Builds a UpdateQueryPlan for an object based update - * type (i.e. insert, update, delete) ActionDesc. - * - * @param batch Flag indicating whether we use batch update. - */ - public void build(boolean batch) { - - if ((status & ST_BUILT) > 0) return; - - this.batch = batch; - - generateStatements(); - - addColumns(); - - if (statements.size() > 0) { - processStatements(); - } - - processJoinTables(); - - status = status | ST_BUILT; - } - - private void generateStatements() { - // For insert and delete we build a statement for each table - if ((action == ACT_DELETE) || (action == ACT_INSERT)) { - Iterator iter = config.getTables(); - while (iter.hasNext()) { - TableDesc t = (TableDesc) iter.next(); - - // Skip join tables - if (!t.isJoinTable()) { - if (findQueryTable(t.getTableElement()) == null) - addStatement(addQueryTable(t)); - } - } - - // For insert statements, we need to reverse the order. - if (action == ACT_INSERT) { - int i = 0; - int j = statements.size() - 1; - - while (i < j) { - Statement s = (Statement) statements.get(i); - statements.set(i, statements.get(j)); - statements.set(j, s); - i++; - j--; - } - } - } - } - - /** - * For inserts and updates we figure out values (they might be hidden) - * and add the columns necessary. addColumn will figure out - * which tables need to be included. - */ - private void addColumns() { - if ((action == ACT_UPDATE) || (action == ACT_INSERT)) { - List updatedFields = updateDesc.getUpdatedFields(); - int size = (updatedFields != null) ? updatedFields.size() : 0; - for (int i = 0; i < size; i++) { - LocalFieldDesc f = (LocalFieldDesc) updatedFields.get(i); - Object value = batch ? f : updateDesc.getAfterValue(f); - addColumn(f, value); - } - } - } - - private void addConstraints(UpdateStatement statement, - ArrayList localFields, - ArrayList foreignFields, - ArrayList columns) { - - boolean isBeforeImageRequired = updateDesc.isBeforeImageRequired(); - for (int i = 0; i < localFields.size(); i++) { - LocalFieldDesc lf = (LocalFieldDesc) localFields.get(i); - LocalFieldDesc ff = (LocalFieldDesc) foreignFields.get(i); - ColumnElement ce = (ColumnElement) columns.get(i); - - addConstraint(statement, lf, ff, ce, isBeforeImageRequired); - } - - // Add the constraint on the version field if needed. - if (getConfig().hasVersionConsistency() && action != ACT_INSERT) { - QueryTable table = (QueryTable) statement.getQueryTables().get(0); - LocalFieldDesc versionField = table.getTableDesc().getVersionField(); - ColumnElement ce = (ColumnElement) versionField.getColumnElements().next(); - - addConstraint(statement, versionField, versionField, ce, false); - } - - statement.markConstraintAdded(); - } - - private void addConstraint(UpdateStatement statement, - LocalFieldDesc lf, - LocalFieldDesc ff, - ColumnElement ce, - boolean isBeforeImageRequired) { - - if (action != ACT_INSERT) { - if (batch) { - statement.addConstraint(ce, lf, ff); - } - else { - Object value = isBeforeImageRequired ? - updateDesc.getBeforeValue(ff) : updateDesc.getAfterValue(ff); - statement.addConstraint(lf, value); - } - } else { - Object value = batch ? ff : updateDesc.getAfterValue(ff); - statement.addColumn(ce, value); - } - } - - private void addSecondaryTableConstraint(UpdateStatement statement) { - QueryTable table = (QueryTable) statement.getQueryTables().get(0); - ReferenceKeyDesc key = table.getTableDesc().getPrimaryTableKey(); - - ArrayList localFields = key.getReferencingKey().getFields(); - ArrayList foreignFields = key.getReferencedKey().getFields(); - ArrayList columns = key.getReferencingKey().getColumns(); - - addConstraints(statement, localFields, foreignFields, columns); - } - - private void addBasetableConstraint(UpdateStatement statement) { - QueryTable table = (QueryTable) statement.getQueryTables().get(0); - KeyDesc key = table.getTableDesc().getKey(); - - ArrayList localFields = key.getFields(); - ArrayList columns = key.getColumns(); - - addConstraints(statement, localFields, localFields, columns); - } - - private void processRelatedStatements(UpdateStatement statement) { - ArrayList secondaryTableStatements = statement.getSecondaryTableStatements(); - - if (secondaryTableStatements != null) { - for (int i = 0; i < secondaryTableStatements.size(); i++) { - UpdateStatement secondaryTableStatement = (UpdateStatement) secondaryTableStatements.get(i); - - if (!secondaryTableStatement.isConstraintAdded()) { - processRelatedStatements(secondaryTableStatement); - - addSecondaryTableConstraint(secondaryTableStatement); - } - } - } - } - - protected void processStatements() { - int size = statements.size(); - - if (size > 1) { - super.processStatements(); - - for (int i = 0; i < size; i++) { - UpdateStatement statement = (UpdateStatement) statements.get(i); - - if (!statement.isConstraintAdded()) - processRelatedStatements(statement); - } - } - - UpdateStatement masterStatement = null; - - if (size == 1) - masterStatement = (UpdateStatement) statements.get(0); - else { - // Look for the master statement. It should be the one - // with no constraints added. - for (int i = 0; i < size; i++) { - masterStatement = (UpdateStatement) statements.get(i); - - if (!masterStatement.isConstraintAdded()) break; - } - } - - if (action != ACT_INSERT) - addBasetableConstraint(masterStatement); - - if ((action != ACT_INSERT) && (updateDesc.getConcurrency() != null)) - updateDesc.getConcurrency().update(this); - } - - private void processJoinTables() { - Collection fields = updateDesc.getUpdatedJoinTableFields(); - - if (fields == null) return; - - Iterator fieldIter = fields.iterator(); - - ArrayList deleteStatements = new ArrayList(); - ArrayList insertStatements = new ArrayList(); - - while (fieldIter.hasNext()) { - ForeignFieldDesc f = (ForeignFieldDesc) fieldIter.next(); - Collection descs = updateDesc.getUpdateJoinTableDescs(f); - Iterator descIter = descs.iterator(); - - ColumnElement c = (ColumnElement) f.assocLocalColumns.get(0); - QueryTable t = addQueryTable(config.findTableDesc(c.getDeclaringTable())); - - while (descIter.hasNext()) { - UpdateJoinTableDesc desc = (UpdateJoinTableDesc) descIter.next(); - int action = getAction(desc.getAction()); - - UpdateStatement s = (UpdateStatement) createStatement(t); - s.setAction(action); - - if (action == ACT_INSERT) { - insertStatements.add(s); - } else if (action == ACT_DELETE) { - - // RESOLVE: There are redundant deletes from join tables that causes - // update to fail with no rows affected. To work around this problem - // for now, we set the minAffectedRows to 0. - // We need to figure out why there are redundant deletes. - - s.minAffectedRows = 0; - deleteStatements.add(s); - } - - s.addLocalConstraints(action, f, desc.getParentStateManager()); - s.addForeignConstraints(action, f, desc.getForeignStateManager()); - } - } - - // All join table delete statements have to go first and all - // join table insert statements have to go last. - - ArrayList oldStatements = statements; - statements = deleteStatements; - statements.addAll(oldStatements); - statements.addAll(insertStatements); - } - - protected Statement newStatement() { - return new UpdateStatement(store.getVendorType(), this, batch); - } - - /** - * Determines if the amount of batched operations exceeded a threshold. - * @param tran the transaction - * @return true if the amount of batched operations exceeded a threshold - */ - public boolean checkBatchThreshold(Transaction tran) - { - for (int i = 0, size = statements.size(); i < size; i++) { - UpdateStatement updateStatement = (UpdateStatement) statements.get(i); - if (updateStatement.exceedsBatchThreshold(tran)) - return true; - } - return false; - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/UpdateStatement.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/UpdateStatement.java deleted file mode 100644 index 4deb69813ac..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/UpdateStatement.java +++ /dev/null @@ -1,456 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * UpdateStatement.java - * - * Created on October 3, 2001 - * - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import org.netbeans.modules.dbschema.ColumnElement; -import com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager; -import com.sun.jdo.spi.persistence.support.sqlstore.Transaction; -import com.sun.jdo.spi.persistence.support.sqlstore.database.DBVendorType; -import com.sun.jdo.spi.persistence.support.sqlstore.model.ForeignFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.UpdateObjectDescImpl; -import com.sun.jdo.spi.persistence.support.sqlstore.sql.constraint.ConstraintValue; - -import java.sql.Connection; -import java.sql.SQLException; -import java.util.*; - -/** - * This class is used to generate update/insert/delete statements. - */ -public class UpdateStatement extends Statement implements Cloneable { - - public int minAffectedRows; - - private Map dbStatementCache = new HashMap(); - - /** The UpdateQueryplan */ - UpdateQueryPlan plan; - - /** List of ColumnRef for the where clause used during batch. */ - private List columnRefsForWhereClause; - - /** List of version columns */ - private List versionColumns; - - /** Flag indicating whether we use batch. */ - private boolean batch = false; - - /** Insert values for INSERT statements. */ - private StringBuilder values; - - /** */ - private boolean isConstraintAdded; - - /** Name of the USE_BATCH property. */ - public static final String UPDATE_VERSION_COL_PROPERTY = - "com.sun.jdo.spi.persistence.support.sqlstore.sql.generator.UPDATE_VERSION_COL"; // NOI18N - - /** - * Property to swich on/off updating of version col. - * Note, the default is true, meaning we try to update version col if the - * property is not specified. - */ - private static final boolean UPDATE_VERSION_COL = Boolean.valueOf( - System.getProperty(UPDATE_VERSION_COL_PROPERTY, "true")).booleanValue(); // NOI18N - - - public UpdateStatement(DBVendorType vendorType, UpdateQueryPlan plan, boolean batch) { - super(vendorType); - this.plan = plan; - columnRefsForWhereClause = new ArrayList(); - this.batch = batch; - minAffectedRows = 1; - } - - public void addColumn(ColumnElement columnElement, Object value) { - addColumnRef(new ColumnRef(columnElement, value)); - } - - /** - * Batch helper method. Adds the columnElement to the list of - * ColumnRefs for the where clause and then calls addConstraint. - */ - protected void addConstraint(ColumnElement columnElement, - LocalFieldDesc lf, Object value) { - columnRefsForWhereClause.add(new ColumnRef(columnElement, value)); - addConstraint(lf, value); - } - - /** Calculates the index of the where clause ColumnRefs */ - private void calculateWhereClauseColumnRefIndexes() { - // calculate where clause column ref indexes - // NOTE, the sqlstore processes the constraints in reverse order, - // so start with the last index and decrement - int nextIndex = columns.size() + columnRefsForWhereClause.size(); - for (Iterator i = columnRefsForWhereClause.iterator(); i.hasNext(); ) { - ColumnRef columnRef = (ColumnRef)i.next(); - columnRef.setIndex(nextIndex--); - } - } - - public boolean isConstraintAdded() { - return isConstraintAdded; - } - - public void markConstraintAdded() { - isConstraintAdded = true; - } - - /** @inheritDoc */ - public QueryPlan getQueryPlan() { - return plan; - } - - /** - * @inheritDoc - */ - protected void generateStatementText() { - - statementText = new StringBuilder(); - - StringBuilder columnList = generateColumnText(); - StringBuilder constraint = processConstraints(); - String tableName = ((QueryTable) tableList.get(0)).getTableDesc().getName(); - - // Create the query filling in the column list, table name, etc. - switch (action) { - case QueryPlan.ACT_UPDATE: - statementText.append("update ");// NOI18N - appendQuotedText(statementText, tableName); - statementText.append(" set ").append(columnList).append(" where ").append(constraint); // NOI18N - break; - - case QueryPlan.ACT_DELETE: - statementText.append("delete from ");// NOI18N - appendQuotedText(statementText, tableName); - statementText.append(" where ").append(constraint); // NOI18N - break; - - case QueryPlan.ACT_INSERT: - statementText.append("insert into ");// NOI18N - appendQuotedText(statementText, tableName); - statementText.append("(").append(columnList).// NOI18N - append(") values ").append("(").append(values).append(")"); // NOI18N - break; - } - - calculateWhereClauseColumnRefIndexes(); - } - - private StringBuilder generateColumnText() { - StringBuilder columnList = new StringBuilder(); - int numValues = -1; - - for (int i = 0; i < columns.size(); i++) { - ColumnRef c = (ColumnRef) columns.get(i); - - if (columnList.length() > 0) { - columnList.append(", "); // NOI18N - } - switch (action) { - case QueryPlan.ACT_UPDATE: - appendQuotedText(columnList, c.getName()); - columnList.append("= ?"); // NOI18N - break; - - case QueryPlan.ACT_INSERT: - appendQuotedText(columnList, c.getName()); - if (i == 0) { - values = new StringBuilder().append(" ?"); // NOI18N - } else { - values.append(", ?"); // NOI18N - } - break; - } - - // Do not create an InputValue in the case of batch update. - // Method bindInputValues will get the value using the ColumnRef. - if (!batch && - ((action == QueryPlan.ACT_UPDATE) || - (action == QueryPlan.ACT_INSERT))) { - numValues = numValues + 1; - InputValue val = new InputValue(c.getValue(), c.getColumnElement()); - inputDesc.values.add(numValues, val); - } - } - - appendVersionColumnUpdateClause(columnList); - - return columnList; - } - - /** - * Appends clause to update version column. The generated clause will be of - * the following form - * versionColumnName = versionColumnNane + 1 - * @param setClause Text for the set clause of update statement - */ - private void appendVersionColumnUpdateClause(StringBuilder setClause) { - if(UPDATE_VERSION_COL) { - if (versionColumns != null) - { - for (int i = 0; i < versionColumns.size(); i++) { - ColumnElement columnElement = (ColumnElement) versionColumns.get(i); - String columnName = columnElement.getName().getName(); - setClause.append(", "); - appendQuotedText(setClause, columnName); - setClause.append(" = "); - appendQuotedText(setClause, columnName); - setClause.append(" + "); - setClause.append("1"); - } - } - } - } - - - public void addLocalConstraints(int action, ForeignFieldDesc f, SQLStateManager sm) { - for (int i = 0; i < f.localFields.size(); i++) { - LocalFieldDesc lf = (LocalFieldDesc) f.localFields.get(i); - - if (action == QueryPlan.ACT_INSERT) { - // For inserts into the join table, we get the values we are inserting - // for the parent object and the added object. - ColumnElement lc = (ColumnElement) f.assocLocalColumns.get(i); - - addColumn(lc, lf.getValue(sm)); - } else if (action == QueryPlan.ACT_DELETE) { - LocalFieldDesc alf = (LocalFieldDesc) f.assocLocalFields.get(i); - - // For deletes from the join table, we get the constraint values - // from the parent object and the remove object. - addConstraint(alf, lf.getValue(sm)); - } - } - } - - public void addForeignConstraints(int action, ForeignFieldDesc f, SQLStateManager sm) { - for (int i = 0; i < f.foreignFields.size(); i++) { - LocalFieldDesc ff = (LocalFieldDesc) f.foreignFields.get(i); - - if (action == QueryPlan.ACT_INSERT) { - // For inserts into the join table, we get the values we are inserting - // for the parent object and the added object. - ColumnElement fc = (ColumnElement) f.assocForeignColumns.get(i); - - addColumn(fc, ff.getValue(sm)); - } else if (action == QueryPlan.ACT_DELETE) { - LocalFieldDesc aff = (LocalFieldDesc) f.assocForeignFields.get(i); - - // For deletes from the join table, we get the constraint values - // from the parent object and the remove object. - addConstraint(aff, ff.getValue(sm)); - } - } - } - - /** - * Redefines processConstraintValue in order to skip the creation of - * an InputValue in the case of batch. - */ - protected void processConstraintValue(ConstraintValue node, StringBuilder result) { - result.append("?"); // NOI18N - if (!batch) - generateInputValueForConstraintValueNode(node); - } - - /** - * Returns the cached db statement for the specified connection. - * If there is not any statement for this connection in the cache, - * then a new statement is created. - * @param tran the transaction - * @param conn the connection - * @return the statement - */ - public DBStatement getDBStatement(Transaction tran, Connection conn) - throws SQLException - { - DBStatement dbStatement = null; - - synchronized (dbStatementCache) - { - // dbStatement cachelookup - dbStatement = (DBStatement)dbStatementCache.get(tran); - - if (dbStatement == null) { - dbStatement = new DBStatement(conn, getText(), - tran.getUpdateTimeout()); - // put dbStatement in cache - dbStatementCache.put(tran, dbStatement); - } - } - - return dbStatement; - } - - /** */ - public boolean exceedsBatchThreshold(Transaction tran) - { - synchronized (dbStatementCache) - { - DBStatement dbStatement = (DBStatement)dbStatementCache.get(tran); - return (dbStatement != null) && dbStatement.exceedsBatchThreshold(); - } - } - - /** - * Removes the db statement for the specified connection from the cache - * and closes this statement. - * @param tran the transaction - */ - public DBStatement removeDBStatement(Transaction tran) - { - synchronized (dbStatementCache) - { - DBStatement s = (DBStatement)dbStatementCache.remove(tran); - return s; - } - } - - public void bindInputColumns(DBStatement s, - UpdateObjectDescImpl updateDesc) - throws SQLException { - - // bind set clause (if necessary) - for (Iterator i = getColumnRefs().iterator(); i.hasNext(); ) { - bindInputColumn(s, (ColumnRef)i.next(), updateDesc, false ); - } - // bind where clause (if necessary) - for (Iterator i = columnRefsForWhereClause.iterator(); i.hasNext(); ) { - bindInputColumn(s, (ColumnRef) i.next(), updateDesc, - updateDesc.isBeforeImageRequired()); - } - - } - - /** - * Binds the value in the specified update descriptor corresponding - * with the specified column reference to the specified statement. - * @param stmt the statement - * @param columnRef the column reference - * @param updateDesc the update descriptor - * @throws SQLException thrown by setter methods on java.sql.PreparedStatement - */ - private void bindInputColumn(DBStatement stmt, - ColumnRef columnRef, - UpdateObjectDescImpl updateDesc, - boolean getBeforeValue) throws SQLException { - - Object inputValue = getInputValue(updateDesc, columnRef, getBeforeValue); - stmt.bindInputColumn(columnRef.getIndex(), inputValue, - columnRef.getColumnElement(), vendorType); - } - - /** - * Get Input values to be bound to this statement. - * @param updateDesc The update descriptor. - * @return An Object array containing input values to be bound to this statement. - */ - private Object[] getInputValues(UpdateObjectDescImpl updateDesc) { - Object[] inputValues = - new Object[getColumnRefs().size() + columnRefsForWhereClause.size()]; - for (Iterator i = getColumnRefs().iterator(); i.hasNext(); ) { - ColumnRef columnRef = (ColumnRef)i.next(); - // columnRef's index are 1 based. - inputValues[columnRef.getIndex() - 1] = getInputValue(updateDesc, columnRef, false); - } - final boolean getBeforeValue = updateDesc.isBeforeImageRequired(); - for (Iterator i = columnRefsForWhereClause.iterator(); i.hasNext(); ) { - ColumnRef columnRef = (ColumnRef)i.next(); - inputValues[columnRef.getIndex() - 1] = getInputValue(updateDesc, columnRef, getBeforeValue); - } - return inputValues; - } - - /** - * Gets formatted sql text corrsponding to this statement object. The text - * also contains values for input to the statement. - * @param updateDesc the updateDesc. - * @return formatted sql text corrsponding to this statement object. - */ - public String getFormattedSQLText(UpdateObjectDescImpl updateDesc) { - return formatSqlText(getText(), getInputValues(updateDesc)); - } - - /** - * Gets input value corrsponding to given columnRef from given updateDesc - * @param updateDesc updateDesc pointing to the input values - * @param columnRef The columnRef. It always contains - * the LocalFieldDesc for the field. - * @param getBeforeValue If true, value returned is fetched from beforeImage - * if false, the value returned is fetched from afterImage. - * @return input value corrsponding to given columnRef from given updateDesc. - */ - private static Object getInputValue(UpdateObjectDescImpl updateDesc, - ColumnRef columnRef, - boolean getBeforeValue) { - Object value; - LocalFieldDesc field = (LocalFieldDesc) columnRef.getValue(); - - if (field.isVersion()) { - // Bind the value from the after image for version fields, - // as they're incremented internally after each flush. - // Version fields must not be modified from "outside". - value = updateDesc.getAfterValue(field); - } else { - value = getBeforeValue ? updateDesc.getBeforeValue(field) : - updateDesc.getAfterValue(field); - } - - return value; - } - - public void addVersionColumn(ColumnElement versionColumn) { - if (versionColumns == null) { - versionColumns = new ArrayList(); - } - versionColumns.add(versionColumn); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/VerificationSelectPlan.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/VerificationSelectPlan.java deleted file mode 100644 index 7a69683bef9..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sql/generator/VerificationSelectPlan.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.sql.generator; - -import com.sun.jdo.spi.persistence.support.sqlstore.*; -import com.sun.jdo.spi.persistence.support.sqlstore.model.LocalFieldDesc; - -import java.sql.ResultSet; -import java.sql.SQLException; - - -/** - * Implements Select Plan for verifying clean VC instanses. - * @author Mitesh Meswani - */ -public class VerificationSelectPlan extends SelectQueryPlan { - - /** - * Creates a new VerificationSelectQueryPlan. - * - * @param desc The Retrieve descriptor holding constraints - * @param store Store manager executing the query. - */ - public VerificationSelectPlan(RetrieveDesc desc, SQLStoreManager store) { - super(desc, store, null); - } - - /** - * There are no real fields to be selected for verification query. - * This method just adds the tables for the version field. - */ - protected void processFields() { - LocalFieldDesc[] versionFields = config.getVersionFields(); - for (int i = 0; i < versionFields.length; i++) { - LocalFieldDesc versionField = versionFields[i]; - addTable(versionField); - } - } - - protected Statement newStatement() { - return new SelectOneStatement(store.getVendorType(), this); - } - - /** - * Checks whether the resultset from a verification query contains atleast - * one row. - * @param pm This parameter is not used. - * @param resultData The resultset containing result from the verification query - * @return true if the resultset contains atleast one row false otherwise. - * @throws SQLException - */ - public Object getResult(PersistenceManager pm, ResultSet resultData) - throws SQLException{ - boolean verificationSuccessfull = resultData.next(); - return Boolean.valueOf(verificationSuccessfull); - } - -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNew.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNew.java deleted file mode 100644 index 67e73e970d7..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNew.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * AutoPersistentNew.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -import java.util.ResourceBundle; - -public class AutoPersistentNew extends LifeCycleState { - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - AutoPersistentNew.class.getClassLoader()); - - public AutoPersistentNew() { - // these flags are set only in the constructor - // and shouldn't be changed afterwards - // (cannot make them final since they are declared in superclass - // but their values are specific to subclasses) - isPersistent = true; - isPersistentInDataStore = false; - isAutoPersistent = true; - isTransactional = true; - isDirty = true; - isNew = true; - isDeleted = false; - isNavigable = false; - isRefreshable = false; - isBeforeImageUpdatable = false; - needsRegister = true; - needsReload = false; - needsRestoreOnRollback = true; - updateAction = ActionDesc.LOG_CREATE; - - stateType = AP_NEW; - } - - public LifeCycleState transitionMakePersistent() { - return changeState(P_NEW); - } - - public LifeCycleState transitionDeletePersistent() { - return changeState(AP_NEW_DELETED); - } - - public LifeCycleState transitionFlushed() { - return changeState(AP_NEW_FLUSHED); - } - - public LifeCycleState transitionCommit(boolean retainValues) { - return changeState(TRANSIENT); - } - - public LifeCycleState transitionRollback(boolean retainValues) { - return changeState(TRANSIENT); - } - - public LifeCycleState transitionMakePending() { - return changeState(AP_NEW_PENDING); - } - - public boolean needsRestoreOnRollback(boolean retainValues) { - // - // This is a special case where retores doesn't depend on - // retainValues. - // - return needsRestoreOnRollback; - } -} - - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewDeleted.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewDeleted.java deleted file mode 100644 index 542cce8f6e7..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewDeleted.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * AutoPersistentNewDeleted.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.api.persistence.support.JDOUserException; -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -import java.util.ResourceBundle; - -public class AutoPersistentNewDeleted extends LifeCycleState { - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - AutoPersistentNewDeleted.class.getClassLoader()); - - public AutoPersistentNewDeleted() { - // these flags are set only in the constructor - // and shouldn't be changed afterwards - // (cannot make them final since they are declared in superclass - // but their values are specific to subclasses) - isPersistent = true; - isPersistentInDataStore = false; - isAutoPersistent = true; - isTransactional = true; - isDirty = true; - isNew = true; - isDeleted = true; - isNavigable = false; - isRefreshable = false; - isBeforeImageUpdatable = false; - needsRegister = true; - needsReload = false; - needsRestoreOnRollback = true; - updateAction = ActionDesc.LOG_NOOP; - - // The following flag allows merge - needMerge = false; - - stateType = AP_NEW_DELETED; - } - - public LifeCycleState transitionMakePersistent() { - return changeState(P_NEW_DELETED); - } - - public LifeCycleState transitionCommit(boolean retainValues) { - return changeState(TRANSIENT); - } - - public LifeCycleState transitionRollback(boolean retainValues) { - return changeState(TRANSIENT); - } - - public LifeCycleState transitionReadField(boolean optimisitic, boolean nontransactonalRead, - boolean transactionActive) { - // Cannot read a deleted object - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.lifecycle.deleted.accessField")); // NOI18N - } - - public LifeCycleState transitionWriteField(boolean transactionActive) { - // Cannot update a deleted object - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.lifecycle.deleted.accessField")); // NOI18N - } - - public boolean needsRestoreOnRollback(boolean retainValues) { - // - // This is a special case where retores doesn't depend on - // retainValues. - // - return needsRestoreOnRollback; - } -} - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushed.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushed.java deleted file mode 100644 index 4f6f358ff7b..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushed.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * AutoPersistentNewFlushed.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -public class AutoPersistentNewFlushed extends AutoPersistentNew { - public AutoPersistentNewFlushed() { - super(); - isPersistentInDataStore = true; - updateAction = ActionDesc.LOG_UPDATE; - stateType = AP_NEW_FLUSHED; - } - - public LifeCycleState transitionMakePersistent() { - return changeState(P_NEW_FLUSHED); - } - - public LifeCycleState transitionMakePending() { - return changeState(AP_NEW_FLUSHED_PENDING); - } - - public LifeCycleState transitionDeletePersistent() { - return changeState(AP_NEW_FLUSHED_DELETED); - } -} - - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushedDeleted.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushedDeleted.java deleted file mode 100644 index 5a21b651873..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushedDeleted.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * AutoPersistentNewFlushedDeleted.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -public class AutoPersistentNewFlushedDeleted extends AutoPersistentNewDeleted { - public AutoPersistentNewFlushedDeleted() { - super(); - isPersistentInDataStore = true; - updateAction = ActionDesc.LOG_DESTROY; - stateType = AP_NEW_FLUSHED_DELETED; - } - - public LifeCycleState transitionMakePersistent() { - return changeState(P_NEW_FLUSHED_DELETED); - } - - public LifeCycleState transitionFlushed() { - return changeState(AP_NEW_DELETED); - } -} - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushedPending.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushedPending.java deleted file mode 100644 index f9ec4b6b811..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewFlushedPending.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * AutoPersistentNewFlushedPending.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.ResourceBundle; - -public class AutoPersistentNewFlushedPending extends AutoPersistentNewFlushed { - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - AutoPersistentNewFlushedPending.class.getClassLoader()); - - public AutoPersistentNewFlushedPending() { - super(); - updateAction = ActionDesc.LOG_DESTROY; - stateType = AP_NEW_FLUSHED_PENDING; - } - - public LifeCycleState transitionDeletePersistent() { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.lifecycle.deleted.accessField")); // NOI18N - } -} - - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewPending.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewPending.java deleted file mode 100644 index 033abe6ccff..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/AutoPersistentNewPending.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * AutoPersistentNewPending.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.ResourceBundle; - -public class AutoPersistentNewPending extends AutoPersistentNew { - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - AutoPersistentNewPending.class.getClassLoader()); - - public AutoPersistentNewPending() { - super(); - - updateAction = ActionDesc.LOG_NOOP; - - stateType = AP_NEW_PENDING; - } - - public LifeCycleState transitionDeletePersistent() { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.lifecycle.deleted.accessField")); // NOI18N - } -} - - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/Hollow.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/Hollow.java deleted file mode 100644 index 9ac6efde68b..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/Hollow.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * Hollow.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -import java.util.ResourceBundle; - - -public class Hollow extends LifeCycleState { - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - Hollow.class.getClassLoader()); - - public Hollow() { - // these flags are set only in the constructor - // and shouldn't be changed afterwards - // (cannot make them final since they are declared in superclass - // but their values are specific to subclasses) - isPersistent = true; - isPersistentInDataStore = true; - isTransactional = false; - isDirty = false; - isNew = false; - isDeleted = false; - isBeforeImageUpdatable = false; - isRefreshable = false; - needsRegister = false; - needsReload = true; - needsRestoreOnRollback = false; - updateAction = ActionDesc.LOG_NOOP; - - stateType = HOLLOW; - } - - /** - * Operations that cause life cycle state transitions - */ - public LifeCycleState transitionDeletePersistent() { - return changeState(P_DELETED); - } - - public LifeCycleState transitionReadField(boolean optimistic, boolean nontransactionalRead, - boolean transactionActive) { - if (!nontransactionalRead) { - assertTransaction(transactionActive); - } - - if (optimistic || (nontransactionalRead && !transactionActive)) { - return changeState(P_NON_TX); - } else { - return changeState(P_CLEAN); - } - } - - public LifeCycleState transitionWriteField(boolean transactionActive) { - assertTransaction(transactionActive); - return changeState(P_DIRTY); - } - - public boolean needsReload(boolean optimistic, - boolean nontransactionalRead, - boolean transactionActive) { - // - // Don't allow reload in the transaction is not active - // and nontransactionalRead is false. - // - if (!transactionActive && !nontransactionalRead) { - return false; - } - - return true; - } - -} - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/LifeCycleState.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/LifeCycleState.java deleted file mode 100644 index 5e171b74cc8..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/LifeCycleState.java +++ /dev/null @@ -1,451 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * LifeCycleState.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.support.sqlstore.LogHelperStateManager; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.ResourceBundle; - - -public abstract class LifeCycleState { - - /** - * I18N message handler - */ - protected final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - LifeCycleState.class.getClassLoader()); - - protected boolean isPersistent; - protected boolean isAutoPersistent; - protected boolean isPersistentInDataStore; - protected boolean isTransactional; - protected boolean isDirty; - protected boolean isNew; - protected boolean isDeleted; - protected boolean isFlushed; - protected boolean isNavigable; - protected boolean isRefreshable; - protected boolean isBeforeImageUpdatable; - - // The following flags need to be checked after state transition. - protected boolean needsRegister; - - // The following flags need to be checked before state transition. - protected boolean needsReload; - - // The following flag determine whether the original state of the object - // needs to be restored on rollback (my depend on retainValues) - protected boolean needsRestoreOnRollback; - - - // The following flag states that merge is needed - protected boolean needMerge = true; - - protected int updateAction; - protected int stateType; - - - /** - * Constants to specify database operation to be executed - */ - final static protected int - NO_OP = 0, - INSERT_OP = 1, - UPDATE_OP = 2, - DELETE_OP = 3; - - /** - * Constants to specify the life cycle state type - */ - final static public int - HOLLOW = 0, - P_NON_TX = 1, - P_CLEAN = 2, - P_DIRTY = 3, - P_NEW = 4, - P_NEW_FLUSHED = 5, - P_NEW_FLUSHED_DELETED = 6, - P_NEW_DELETED = 7, - P_DELETED = 8, - P_DELETED_FLUSHED = 9, - AP_NEW = 10, - AP_NEW_PENDING = 11, - AP_NEW_FLUSHED = 12, - AP_NEW_FLUSHED_PENDING = 13, - AP_NEW_FLUSHED_DELETED = 14, - AP_NEW_DELETED = 15, - TRANSIENT = 16, - TOTAL = 17; - - private static LifeCycleState stateTypes[]; - - //The logger - private static Logger logger = LogHelperStateManager.getLogger(); - - // ****************************************************************** - // Initialisation stuff - // ****************************************************************** - - /** - * Static initialiser. - * Initialises the life cycle. - */ - static { - initLifeCycleState(); - } - - /** - * Initialises the objects. This class implements the "state pattern". - */ - - // This method is called (through the static initializer) - // when the LifeCycleState class or any of its subclasses is loaded. - - // It is extremely important that this method is called before any of isNew etc is called, - // and before stateType() is called !!! - - protected static void initLifeCycleState() { - stateTypes = new LifeCycleState[TOTAL]; - stateTypes[HOLLOW] = new Hollow(); - stateTypes[P_NON_TX] = new PersistentNonTransactional(); - stateTypes[P_CLEAN] = new PersistentClean(); - stateTypes[P_DIRTY] = new PersistentDirty(); - stateTypes[P_NEW] = new PersistentNew(); - stateTypes[P_NEW_FLUSHED] = new PersistentNewFlushed(); - stateTypes[P_NEW_DELETED] = new PersistentNewDeleted(); - stateTypes[P_NEW_FLUSHED_DELETED] = new PersistentNewFlushedDeleted(); - stateTypes[P_DELETED] = new PersistentDeleted(); - stateTypes[P_DELETED_FLUSHED] = new PersistentDeletedFlushed(); - stateTypes[AP_NEW] = new AutoPersistentNew(); - stateTypes[AP_NEW_PENDING] = new AutoPersistentNewPending(); - stateTypes[AP_NEW_FLUSHED] = new AutoPersistentNewFlushed(); - stateTypes[AP_NEW_FLUSHED_PENDING] = new AutoPersistentNewFlushedPending(); - stateTypes[AP_NEW_FLUSHED_DELETED] = new AutoPersistentNewFlushedDeleted(); - stateTypes[AP_NEW_DELETED] = new AutoPersistentNewDeleted(); - stateTypes[TRANSIENT] = null; - } - - /** - * | Trans | PNew | PClean | PDirty | Hollow | PNewDel | PDel | PNonTx - *----------------------------------------------------------------------------------- - * makeP | PNew | unch. | unch. | unch. | unch. | unch. | unch. | unch. - *----------------------------------------------------------------------------------- - * delP | Error | PNewDel| PDel | PDel | PDel | unch. | unch. | PDel - *----------------------------------------------------------------------------------- - * readF.| unch. | unch. | unch. | unch. | PClean | Error | Error |!unl.:unch. - * opt=f | | | | | | | | unl.:PClean - *----------------------------------------------------------------------------------- - * readF.| unch. | unch. | unch. | unch. | PNonTx | Error | Error | unch. - * opt=t | | | | | | | | - *----------------------------------------------------------------------------------- - * writeF| unch. | unch. | PDirty | unch. | PDirty | Error | Error | PDirty - *----------------------------------------------------------------------------------- - * commit| unch. | Hollow | Hollow | Hollow | unch. | Trans | Trans | unch. - *----------------------------------------------------------------------------------- - * commit| unch. | PNonTx | PNonTx | PNonTx | unch. | Trans | Trans | unch. - * rt=t | | | | | | | | - *----------------------------------------------------------------------------------- - * rollb.| unch. | Trans | Hollow | Hollow | unch. | Trans | Hollow| unch. - *----------------------------------------------------------------------------------- - * rollb.| unch. | Trans | PNonTx | PNonTx | unch. | Trans | PNonTx| unch. - * rt=t | | | | | | | | - *----------------------------------------------------------------------------------- - * evict | n/a | n/a | Hollow | n/a | unch. | n/a | n/a | Hollow - *----------------------------------------------------------------------------------- - */ - - - /** - * Returns the LifeCycleState for the state constant. - * - * @param state the type as integer - * @return the type as LifeCycleState object - */ - public static LifeCycleState getLifeCycleState(int state) { - if (logger.isLoggable(Logger.FINER)) { - logger.finer("sqlstore.state.lifecyclestate.initial",stateTypes[state]); // NOI18N - } - - return stateTypes[state]; - } - - /** - * Returns the type of the life cycle state - * - * @return the type of this life cycle state - * - */ - public int stateType() { - return stateType; - } - - - public LifeCycleState transitionMakePersistent() { - return this; - } - - public LifeCycleState transitionDeletePersistent() { - return this; - } - - public LifeCycleState transitionRefreshPersistent() { - return this; - } - - public LifeCycleState transitionReload(boolean transactionActive) { - return this; - } - - public LifeCycleState transitionCommit(boolean retainValues) { - return this; - } - - public LifeCycleState transitionRollback(boolean retainValues) { - return this; - } - - public LifeCycleState transitionFlushed() { - return this; - } - - public LifeCycleState transitionMakePending() { - return this; - } - - public LifeCycleState transitionReadField(boolean optimisitic, - boolean nontransactionalRead, - boolean transactionActive) { - if (!nontransactionalRead) { - assertTransaction(transactionActive); - } - - return this; - } - - public LifeCycleState transitionWriteField(boolean transactionActive) { - assertTransaction(transactionActive); - return this; - } - - protected void assertTransaction(boolean transactionActive) { - if (!transactionActive) { - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.lifecycle.xactnotactive")); // NOI18N - } - } - - - /***************************************************************/ - /************** State interrogation methods ********************/ - /***************************************************************/ - - /** - * Return whether the object is persistent. - */ - public boolean isPersistent() { - return isPersistent; - } - - /** - * Return whether the object is auto-persistent. - */ - public boolean isAutoPersistent() { - return isAutoPersistent; - } - - /** - * Return whether the object is persistent in data store. - */ - public boolean isPersistentInDataStore() { - return isPersistentInDataStore; - } - - - /** - * Return whether the object is transactional. - */ - public boolean isTransactional() { - return isTransactional; - } - - /** - * Return whether the object is dirty, i.e. has been changed - * (created, updated, deleted) in this Tx. - */ - public boolean isDirty() { - return isDirty; - } - - /** - * Return whether the object was newly created. - */ - public boolean isNew() { - return isNew; - } - - /** - * Return whether the object is deleted. - */ - public boolean isDeleted() { - return isDeleted; - } - - /** - * Return whether the object is registered with the persistence manager. - */ - public boolean needsRegister() { - return needsRegister; - } - - /** - * Return whether the object can dynamically navigate to fields that are - * not present. - */ - public boolean isNavigable() { - return isNavigable; - } - - /** - * Return whether the object can be refreshed from the database. - */ - public boolean isRefreshable() { - return isRefreshable; - } - - public boolean isBeforeImageUpdatable() { - return isBeforeImageUpdatable; - } - - - public boolean needsReload(boolean optimistic, - boolean nontransactionalRead, - boolean transactionActive) { - return needsReload; - } - - public boolean needsRestoreOnRollback(boolean retainValues) { - // - // The default behavior is if retainValues is true, we always - // restore the state. Otherwise, the behavior is determined - // by needsRetoreOnRollback. - // - if (retainValues) { - return true; - } - - return needsRestoreOnRollback; - } - - public boolean needMerge() { - return needMerge; - } - - public int getUpdateAction() { - return updateAction; - } - - /*************************************************************/ - /********************* Helper methods ************************/ - /********* Called only internally by life cycle classes ******/ - /*************************************************************/ - - /** - * Life Cycle State change - */ - public LifeCycleState changeState(int newStateType) { - if (logger.isLoggable(Logger.FINER)) { - Object[] items = new Object[] {this,stateTypes[newStateType]}; - logger.finer("sqlstore.state.lifecyclestate.changestate",items); // NOI18N - } - - return (stateTypes[newStateType]); - } - - public String toString() { - switch (stateType) { - case HOLLOW: - return "HOLLOW"; // NOI18N - case P_NON_TX: - return "P_NON_TX"; // NOI18N - case P_CLEAN: - return "P_CLEAN"; // NOI18N - case P_DIRTY: - return "P_DIRTY"; // NOI18N - case P_NEW: - return "P_NEW"; // NOI18N - case P_NEW_FLUSHED: - return "P_NEW_FLUSHED"; // NOI18N - case P_NEW_FLUSHED_DELETED: - return "P_NEW_FLUSHED_DELETED"; // NOI18N - case P_NEW_DELETED: - return "P_NEW_DELETED"; // NOI18N - case P_DELETED: - return "P_DELETED"; // NOI18N - case P_DELETED_FLUSHED: - return "P_DELETED_FLUSHED"; // NOI18N - case AP_NEW: - return "AP_NEW"; // NOI18N - case AP_NEW_PENDING: - return "AP_NEW_PENDING"; // NOI18N - case AP_NEW_FLUSHED: - return "AP_NEW_FLUSHED"; // NOI18N - case AP_NEW_FLUSHED_PENDING: - return "AP_NEW_FLUSHED_PENDING"; // NOI18N - case AP_NEW_FLUSHED_DELETED: - return "AP_NEW_FLUSHED_DELETED"; // NOI18N - case AP_NEW_DELETED: - return "AP_NEW_DELETED"; //NOI18N - } - - return null; - } - -} - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentClean.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentClean.java deleted file mode 100644 index e99f4294635..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentClean.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistentClean.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -import java.util.ResourceBundle; - -public class PersistentClean extends LifeCycleState { - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - PersistentClean.class.getClassLoader()); - - public PersistentClean() { - // these flags are set only in the constructor - // and shouldn't be changed afterwards - // (cannot make them final since they are declared in superclass - // but their values are specific to subclasses) - isPersistent = true; - isPersistentInDataStore = true; - isTransactional = true; - isDirty = false; - isNew = false; - isDeleted = false; - isNavigable = true; - isRefreshable = true; - isBeforeImageUpdatable = false; - needsRegister = true; - needsReload = false; - needsRestoreOnRollback = false; - updateAction = ActionDesc.LOG_NOOP; - - stateType = P_CLEAN; - } - - /** - * Operations that cause life cycle state transitions - */ - public LifeCycleState transitionDeletePersistent() { - return changeState(P_DELETED); - } - - - public LifeCycleState transitionCommit(boolean retainValues) { - if (retainValues) { - return changeState(P_NON_TX); - } else { - return changeState(HOLLOW); - } - } - - public LifeCycleState transitionRollback(boolean retainValues) { - if (retainValues) { - return changeState(P_NON_TX); - } else { - return changeState(HOLLOW); - } - } - - public LifeCycleState transitionWriteField(boolean transactionActive) { - assertTransaction(transactionActive); - return changeState(P_DIRTY); - } -} - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDeleted.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDeleted.java deleted file mode 100644 index 16ddf7d19a1..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDeleted.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistentDeleted.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.ResourceBundle; - -public class PersistentDeleted extends LifeCycleState { - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - PersistentDeleted.class.getClassLoader()); - - public PersistentDeleted() { - // these flags are set only in the constructor - // and shouldn't be changed afterwards - // (cannot make them final since they are declared in superclass - // but their values are specific to subclasses) - isPersistent = true; - isPersistentInDataStore = true; - isTransactional = true; - isDirty = true; - isNew = false; - isDeleted = true; - isNavigable = false; - isRefreshable = true; - isBeforeImageUpdatable = false; - needsRegister = true; - needsReload = false; - needsRestoreOnRollback = false; - updateAction = ActionDesc.LOG_DESTROY; - - // The following flag does not allow merge - needMerge = false; - - stateType = P_DELETED; - } - - public LifeCycleState transitionCommit(boolean retainValues) { - return changeState(TRANSIENT); - } - - public LifeCycleState transitionFlushed() { - return changeState(P_DELETED_FLUSHED); - } - - public LifeCycleState transitionRefreshPersistent() { - return changeState(P_CLEAN); - } - - public LifeCycleState transitionRollback(boolean retainValues) { - if (retainValues) { - return changeState(P_NON_TX); - } else { - return changeState(HOLLOW); - } - } - - public LifeCycleState transitionReadField(boolean optimisitic, boolean nontransactionalRead, - boolean transactionActive) { - // Cannot read a deleted object - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.lifecycle.deleted.accessField")); // NOI18N - } - - public LifeCycleState transitionWriteField(boolean transactionActive) { - // Cannot update a deleted object - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.lifecycle.deleted.accessField")); // NOI18N - } - - public LifeCycleState transitionRefresh() { - return changeState(P_CLEAN); - } -} - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDeletedFlushed.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDeletedFlushed.java deleted file mode 100644 index d941f284f3d..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDeletedFlushed.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistentDeletedFlushed.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -public class PersistentDeletedFlushed extends PersistentDeleted { - public PersistentDeletedFlushed() { - super(); - isPersistentInDataStore = false; - updateAction = ActionDesc.LOG_NOOP; - stateType = P_DELETED_FLUSHED; - } -} - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDirty.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDirty.java deleted file mode 100644 index 547714e1a03..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentDirty.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistentDirty.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -public class PersistentDirty extends LifeCycleState { - public PersistentDirty() { - // these flags are set only in the constructor - // and shouldn't be changed afterwards - // (cannot make them final since they are declared in superclass - // but their values are specific to subclasses) - isPersistent = true; - isPersistentInDataStore = true; - isTransactional = true; - isDirty = true; - isNew = false; - isDeleted = false; - isNavigable = true; - isRefreshable = true; - isBeforeImageUpdatable = true; - needsRegister = true; - needsReload = false; - needsRestoreOnRollback = false; - updateAction = ActionDesc.LOG_UPDATE; - - stateType = P_DIRTY; - } - - public LifeCycleState transitionDeletePersistent() { - return changeState(P_DELETED); - } - - public LifeCycleState transitionRefreshPersistent() { - return changeState(P_CLEAN); - } - - public LifeCycleState transitionCommit(boolean retainValues) { - if (retainValues) { - return changeState(P_NON_TX); - } else { - return changeState(HOLLOW); - } - } - - public LifeCycleState transitionRollback(boolean retainValues) { - if (retainValues) { - return changeState(P_NON_TX); - } else { - return changeState(HOLLOW); - } - } - - public LifeCycleState transitionRefresh() { - return changeState(P_CLEAN); - } -} - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNew.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNew.java deleted file mode 100644 index 2f116dff254..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNew.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistentNew.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -import java.util.ResourceBundle; - -public class PersistentNew extends LifeCycleState { - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - PersistentNew.class.getClassLoader()); - - public PersistentNew() { - // these flags are set only in the constructor - // and shouldn't be changed afterwards - // (cannot make them final since they are declared in superclass - // but their values are specific to subclasses) - isPersistent = true; - isPersistentInDataStore = false; - isTransactional = true; - isDirty = true; - isNew = true; - isDeleted = false; - isNavigable = false; - isRefreshable = false; - isBeforeImageUpdatable = false; - needsRegister = true; - needsReload = false; - needsRestoreOnRollback = true; - updateAction = ActionDesc.LOG_CREATE; - - stateType = P_NEW; - } - - - public LifeCycleState transitionDeletePersistent() { - return changeState(P_NEW_DELETED); - } - - - public LifeCycleState transitionFlushed() { - return changeState(P_NEW_FLUSHED); - } - - public LifeCycleState transitionCommit(boolean retainValues) { - if (retainValues) { - return changeState(P_NON_TX); - } else { - return changeState(HOLLOW); - } - } - - public LifeCycleState transitionRollback(boolean retainValues) { - return changeState(TRANSIENT); - } - - public boolean needsRestoreOnRollback(boolean retainValues) { - // - // This is a special case where retores doesn't depend on - // retainValues. - // - return needsRestoreOnRollback; - } -} - - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewDeleted.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewDeleted.java deleted file mode 100644 index aadf04e11fc..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewDeleted.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistentNewDeleted.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.api.persistence.support.JDOUserException; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; -import org.glassfish.persistence.common.I18NHelper; - -import java.util.ResourceBundle; - -public class PersistentNewDeleted extends LifeCycleState { - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - PersistentNewDeleted.class.getClassLoader()); - - public PersistentNewDeleted() { - // these flags are set only in the constructor - // and shouldn't be changed afterwards - // (cannot make them final since they are declared in superclass - // but their values are specific to subclasses) - isPersistent = true; - isPersistentInDataStore = false; - isTransactional = true; - isDirty = true; - isNew = true; - isDeleted = true; - isNavigable = false; - isRefreshable = false; - isBeforeImageUpdatable = false; - needsRegister = true; - needsReload = false; - needsRestoreOnRollback = true; - updateAction = ActionDesc.LOG_NOOP; - - // The following flag allows merge - needMerge = false; - - stateType = P_NEW_DELETED; - } - - public LifeCycleState transitionCommit(boolean retainValues) { - return changeState(TRANSIENT); - } - - public LifeCycleState transitionRollback(boolean retainValues) { - return changeState(TRANSIENT); - } - - public LifeCycleState transitionReadField(boolean optimisitic, boolean nontransactonalRead, - boolean transactionActive) { - // Cannot read a deleted object - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.lifecycle.deleted.accessField")); // NOI18N - } - - public LifeCycleState transitionWriteField(boolean transactionActive) { - // Cannot update a deleted object - throw new JDOUserException(I18NHelper.getMessage(messages, - "jdo.lifecycle.deleted.accessField")); // NOI18N - } - - - public boolean needsRestoreOnRollback(boolean retainValues) { - // - // This is a special case where retores doesn't depend on - // retainValues. - // - return needsRestoreOnRollback; - } -} - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewFlushed.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewFlushed.java deleted file mode 100644 index 6779bfe9b8f..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewFlushed.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistentNewFlushed.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -public class PersistentNewFlushed extends PersistentNew { - - public PersistentNewFlushed() { - super(); - isPersistentInDataStore = true; - updateAction = ActionDesc.LOG_UPDATE; - stateType = P_NEW_FLUSHED; - } - - public LifeCycleState transitionDeletePersistent() { - return changeState(P_NEW_FLUSHED_DELETED); - } -} - - - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewFlushedDeleted.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewFlushedDeleted.java deleted file mode 100644 index 723e471f5f9..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNewFlushedDeleted.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistentNewFlushedDeleted.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -public class PersistentNewFlushedDeleted extends PersistentNewDeleted { - public PersistentNewFlushedDeleted() { - super(); - isPersistentInDataStore = true; - updateAction = ActionDesc.LOG_DESTROY; - stateType = P_NEW_FLUSHED_DELETED; - } - - public LifeCycleState transitionFlushed() { - return changeState(P_NEW_DELETED); - } -} - - - - - - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNonTransactional.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNonTransactional.java deleted file mode 100644 index 7d98f29afbc..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/state/PersistentNonTransactional.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * PersistentNonTransactional.java March 10, 2000 Steffi Rauschenbach - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.state; - -import org.glassfish.persistence.common.I18NHelper; -import com.sun.jdo.spi.persistence.support.sqlstore.ActionDesc; - -import java.util.ResourceBundle; - -public class PersistentNonTransactional extends LifeCycleState { - /** - * I18N message handler - */ - private final static ResourceBundle messages = I18NHelper.loadBundle( - "com.sun.jdo.spi.persistence.support.sqlstore.Bundle", // NOI18N - PersistentNonTransactional.class.getClassLoader()); - - public PersistentNonTransactional() { - // these flags are set only in the constructor - // and shouldn't be changed afterwards - // (cannot make them final since they are declared in superclass - // but their values are specific to subclasses) - isPersistent = true; - isPersistentInDataStore = true; - isTransactional = false; - isDirty = false; - isNew = false; - isDeleted = false; - isNavigable = true; - isRefreshable = false; - isBeforeImageUpdatable = false; - needsRegister = false; - needsReload = false; - needsRestoreOnRollback = false; - updateAction = ActionDesc.LOG_NOOP; - stateType = P_NON_TX; - } - - /** - * Operations that cause life cycle state transitions - */ - public LifeCycleState transitionDeletePersistent() { - return changeState(P_DELETED); - } - - public LifeCycleState transitionWriteField(boolean transactionActive) { - if (transactionActive) { - return changeState(P_DIRTY); - } else { - return this; - } - } - - public LifeCycleState transitionReload(boolean transactionActive) { - if (!transactionActive) { - return this; - } else { - return changeState(P_CLEAN); - } - } - - public boolean needsReload(boolean optimistic, - boolean nontransactionalRead, - boolean transactionActive) { - // - // Don't allow reload if the transaction is optimistic or not active - // - if (optimistic || !transactionActive) { - return false; - } - - return true; - } - -} - - - diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sys.properties b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sys.properties deleted file mode 100644 index c01aadb0841..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/sys.properties +++ /dev/null @@ -1,47 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2003-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -product.version.number=${project.version} -product.build.time=@BUILD_TIME_SUBST@ -runtime.version.number=0 -enhancer.version.number=0 -query.version.number=0 -model.version.number=0 -ui.version.number=0 diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/AugmentationTest.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/AugmentationTest.java deleted file mode 100644 index 7f6521b4da1..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/AugmentationTest.java +++ /dev/null @@ -1,754 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * AugmentationTest.java - * - * Create on April 19, 2001 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.utility; - - -import java.lang.reflect.*; -import java.util.List; -import java.util.ArrayList; -import java.io.PrintStream; - -// note the use of the public vs. the internal interfaces by this class -import com.sun.jdo.api.persistence.support.PersistenceManager; -import com.sun.jdo.spi.persistence.support.sqlstore.PersistenceCapable; -import com.sun.jdo.spi.persistence.support.sqlstore.StateManager; - -/** - * Utility class for testing a class file for correct augmentation. - */ -public class AugmentationTest -{ - static boolean debug = false; - static final PrintStream out = System.out; - - static final void affirm(boolean cond) - { - if (debug && !cond) - throw new RuntimeException("affirmion failed."); - } - - static final void affirm(Object obj) - { - if (debug && obj == null) - throw new RuntimeException("affirmion failed: obj = null"); - } - - static String toString(int mods, - Class type, - String name) - { - final StringBuilder s = new StringBuilder(); - s.append(Modifier.toString(mods)); - s.append(" "); - s.append(type.getName()); - s.append(" "); - s.append(name); - return s.toString(); - } - - static String toString(int mods, - String name, - Class[] params) - { - final StringBuilder s = new StringBuilder(); - s.append(Modifier.toString(mods)); - s.append(" "); - s.append(name); - s.append("("); - final int j = params.length - 1; - for (int i = 0; i <= j; i++) { - s.append(params[i].getName()); - if (i < j) - s.append(","); - } - s.append(")"); - return s.toString(); - } - - static String toString(int mods, - Class result, - String name, - Class[] params) - { - final StringBuilder s = new StringBuilder(); - s.append(Modifier.toString(mods)); - s.append(" "); - s.append(result.getName()); - s.append(" "); - s.append(name); - s.append("("); - final int j = params.length - 1; - for (int i = 0; i <= j; i++) { - s.append(params[i].getName()); - if (i < j) - s.append(","); - } - s.append(")"); - return s.toString(); - } - - public final int AFFIRMATIVE = 1; - public final int NEGATIVE = 0; - public final int ERROR = -1; - - boolean verbose; - boolean requirePC; - List classes; - String className; - Class classClass; - - public AugmentationTest() - {} - - final void println() - { - out.println(); - } - - final void println(String msg) - { - out.println(msg); - } - - final void verbose() - { - if (verbose) - out.println(); - } - - final void verbose(String msg) - { - if (verbose) - out.println(msg); - } - - public int testLoadingClass() - { - verbose(); - verbose("Test loading class: " + className + " ..."); - - try { - classClass = Class.forName(className); - verbose("+++ loaded class"); - return AFFIRMATIVE; - } catch (LinkageError err) { - println("!!! ERROR: linkage error when loading class: " - + className); - println(" error: " + err); - println("!!! failed loading class"); - return ERROR; - } catch (ClassNotFoundException ex) { - println("!!! ERROR: class not found: " + className); - println(" exception: " + ex); - println("!!! failed loading class"); - return ERROR; - } - } - - int implementsInterface(Class intf) - { - final Class[] interfaces = classClass.getInterfaces(); - for (int i = interfaces.length - 1; i >= 0; i--) { - if (interfaces[i].equals(intf)) { - verbose("+++ implements interface: " + intf.getName()); - return AFFIRMATIVE; - } - } - verbose("--- not implementing interface: " + intf.getName()); - return NEGATIVE; - } - - int hasField(int mods, - Class type, - String name) - { - try { - final Field field = classClass.getField(name); - - if (field.getModifiers() != mods - || !field.getType().equals(type)) { - println("!!! ERROR: field declaration: "); - println(" expected: " + toString(mods, type, name)); - println(" found: " + field.toString()); - return ERROR; - } - - verbose("+++ has field: " + field.toString()); - return AFFIRMATIVE; - - } catch (NoSuchFieldException ex) { - verbose("--- no field: " + toString(mods, type, name)); - return NEGATIVE; - } - } - - int hasConstructor(int mods, - Class[] params) - { - try { - final Constructor ctor = classClass.getConstructor(params); - - if (ctor.getModifiers() != mods) { - println("!!! ERROR: constructor declaration: "); - println(" expected: " + toString(mods, className, params)); - println(" found: " + ctor.toString()); - return ERROR; - } - - verbose("+++ has constructor: " + ctor.toString()); - return AFFIRMATIVE; - - } catch (NoSuchMethodException ex) { - verbose("--- no constructor: " - + toString(mods, className, params)); - return NEGATIVE; - } - } - - int hasMethod(int mods, - Class result, - String name, - Class[] params) - { - try { - final Method method = classClass.getMethod(name, params); - - if (method.getModifiers() != mods - || !method.getReturnType().equals(result)) { - println("!!! ERROR: method declaration: "); - println(" expected: " + toString(mods, result, name, params)); - println(" found: " + method.toString()); - return ERROR; - } - - verbose("+++ has method: " + method.toString()); - return AFFIRMATIVE; - - } catch (NoSuchMethodException ex) { - verbose("--- no method: " - + toString(mods, result, name, params)); - return NEGATIVE; - } - } - - public int hasGenericAugmentation() - { - affirm(ERROR < NEGATIVE && NEGATIVE < AFFIRMATIVE); - - verbose(); - verbose("Check for \"generic\" augmentation ..."); - affirm(classClass); - - final int nofFeatures = 15; - final int[] r = new int[nofFeatures]; - { - int i = 0; - r[i++] = implementsInterface(PersistenceCapable.class); - - r[i++] = hasField(Modifier.PUBLIC | Modifier.TRANSIENT, - StateManager.class, - "jdoStateManager"); - r[i++] = hasField(Modifier.PUBLIC | Modifier.TRANSIENT, - byte.class, - "jdoFlags"); - - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - StateManager.class, - "jdoGetStateManager", - new Class[]{}); - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - void.class, - "jdoSetStateManager", - new Class[]{StateManager.class}); - - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - byte.class, - "jdoGetFlags", - new Class[]{}); - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - void.class, - "jdoSetFlags", - new Class[]{byte.class}); - - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - PersistenceManager.class, - "jdoGetPersistenceManager", - new Class[]{}); - - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - Object.class, - "jdoGetObjectId", - new Class[]{}); - - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - boolean.class, - "jdoIsDirty", - new Class[]{}); - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - boolean.class, - "jdoIsTransactional", - new Class[]{}); - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - boolean.class, - "jdoIsPersistent", - new Class[]{}); - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - boolean.class, - "jdoIsNew", - new Class[]{}); - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - boolean.class, - "jdoIsDeleted", - new Class[]{}); - - r[i++] = hasMethod(Modifier.PUBLIC | Modifier.FINAL, - void.class, - "jdoMakeDirty", - new Class[]{String.class}); - affirm(i == nofFeatures); - } - - int res = 0; - for (int i = 0; i < nofFeatures; i ++) { - final int j = r[i]; - affirm(ERROR <= j && j <= AFFIRMATIVE); - - if (j < res) { - println("!!! ERROR: inconsistent \"generic\" augmentation of class: " - + className); - return ERROR; - } - - if (j > NEGATIVE) - res = j; - } - - if (res > NEGATIVE) { - verbose("+++ has \"generic\" augmentation"); - return AFFIRMATIVE; - } - - verbose("--- no \"generic\" augmentation"); - return NEGATIVE; - } - - public int hasSpecificAugmentation() - { - affirm(ERROR < NEGATIVE && NEGATIVE < AFFIRMATIVE); - - verbose(); - verbose("Check for \"class-specific\" augmentation ..."); - affirm(classClass); - - final int nofFeatures = 5; - final int[] r = new int[nofFeatures]; - { - int i = 0; - r[i++] = hasConstructor(Modifier.PUBLIC, - new Class[]{StateManager.class}); - r[i++] = hasMethod(Modifier.PUBLIC, - Object.class, - "jdoGetField", - new Class[]{int.class}); - r[i++] = hasMethod(Modifier.PUBLIC, - void.class, - "jdoSetField", - new Class[]{int.class, Object.class}); - - r[i++] = hasMethod(Modifier.PUBLIC, - void.class, - "jdoClear", - new Class[]{}); - r[i++] = hasMethod(Modifier.PUBLIC, - Object.class, - "jdoNewInstance", - new Class[]{StateManager.class}); - affirm(i == nofFeatures); - } - - //@olsen: todo - // + clone() - - int res = 0; - for (int i = 0; i < nofFeatures; i++) { - final int j = r[i]; - affirm(ERROR <= j && j <= AFFIRMATIVE); - - if (j < res) { - println("!!! ERROR: inconsistent \"class-specific\" augmentation of class: " - + className); - return ERROR; - } - - if (j > NEGATIVE) - res = j; - } - - if (res > NEGATIVE) { - verbose("+++ has \"class-specific\" augmentation"); - return AFFIRMATIVE; - } - - verbose("--- no \"class-specific\" augmentation"); - return NEGATIVE; - } - - static private final String[] transientPrefixes - = {"java.", - "javax.", - "com.sun.jdo."}; - - public int testPCFeasibility() - { - verbose(); - verbose("Test feasibility of class: " + className + " ..."); - - int status = AFFIRMATIVE; - - final int mods = classClass.getModifiers(); - - if (classClass.isPrimitive()) { - println("!!! ERROR: specified class is primitive type"); - status = ERROR; - } - - if (classClass.isArray()) { - println("!!! ERROR: specified class is array"); - status = ERROR; - } - - if (classClass.isInterface()) { - println("!!! ERROR: specified class is interface"); - status = ERROR; - } - - if (Modifier.isAbstract(mods)) { - println("!!! ERROR: specified class is abstract"); - status = ERROR; - } - - if (!Modifier.isPublic(mods)) { - println("!!! ERROR: specified class is not public"); - status = ERROR; - } - - //if (classClass.getDeclaringClass() != null - // && !isStatic(classClass.getModifiers())) { - if (classClass.getDeclaringClass() != null) { - println("!!! ERROR: specified class is inner class"); - status = ERROR; - } - - if (Throwable.class.isAssignableFrom(classClass)) { - println("!!! ERROR: specified class extends Throwable"); - status = ERROR; - } - - // check for transient package prefixes - // precludes SCO types from lang.*, math.*, util.*, sql.* - for (int i = 0; i < transientPrefixes.length; i++) { - final String typePrefix = transientPrefixes[i]; - if (className.startsWith(typePrefix)) { - println("!!! ERROR: specified class starts with package prefix: " - + typePrefix); - status = ERROR; - } - } - - //verbose("get superclass ..."); - final Class superClass = classClass.getSuperclass(); - if (superClass == null) { - println("!!! ERROR: specified class doesn't have super class"); - status = ERROR; - } else { - try { - //verbose("get superclass' default constructor ..."); - final Class[] params = new Class[]{}; - Constructor sctor = superClass.getConstructor(params); - } catch (NoSuchMethodException ex) { - println("!!! ERROR: super class '" + superClass.getName() - + "' doesn't provide default constructor"); - status = ERROR; - } - } - - verbose(status == AFFIRMATIVE - ? "+++ is feasible for persistence-capability" - : "!!! not feasible for persistence-capability"); - return status; - } - - public int testJdoConstructor() - { - verbose(); - verbose("Test JDO constructor ..."); - affirm(classClass); - - try { - //verbose("get jdo constructor ..."); - final Class[] params = new Class[]{StateManager.class}; - final Constructor ctor = classClass.getConstructor(params); - - //verbose("create new instance by jdo constructor ..."); - final Object[] args = new Object[]{null}; - final Object instance = ctor.newInstance(args); - - //verbose("cast instance to PersistenceCapable ..."); - PersistenceCapable pc = (PersistenceCapable)instance; - - //verbose("check jdoStateManager ..."); - if (pc.jdoGetStateManager() != null) { - println("!!! ERROR: invokation of JDO constructor:"); - println(" pc.jdoStateManager != null"); - println("!!! failed testing JDO constructor"); - return ERROR; - } - - //verbose("check jdoFlags ..."); - if (pc.jdoGetFlags() != 1) { - println("!!! ERROR: invokation of JDO constructor:"); - println(" pc.jdoFlags != 0"); - println("!!! failed testing JDO constructor"); - return ERROR; - } - } catch (NoSuchMethodException ex) { - println("!!! ERROR: no JDO constructor"); - println("!!! failed testing JDO constructor"); - return ERROR; - } catch (InstantiationException ex) { - println("!!! ERROR: invokation of JDO constructor:"); - println(" exception: " + ex); - println("!!! failed testing JDO constructor"); - return ERROR; - } catch (IllegalAccessException ex) { - println("!!! ERROR: invokation of JDO constructor:"); - println(" exception: " + ex); - println("!!! failed testing JDO constructor"); - return ERROR; - } catch (InvocationTargetException ex) { - println("!!! ERROR: invokation of JDO constructor:"); - println(" exception: " + ex); - println(" nested: " + ex.getTargetException()); - println("!!! failed testing JDO constructor"); - return ERROR; - } - - verbose("+++ tested JDO constructor"); - return AFFIRMATIVE; - } - - public int test(String className) - { - affirm(className); - this.className = className; - - verbose(); - verbose("-------------------------------------------------------------------------------"); - verbose(); - verbose("Test class for augmentation: " - + className + " ..."); - - if (testLoadingClass() < AFFIRMATIVE) { - return ERROR; - } - - final int r0 = hasGenericAugmentation(); - final int r1 = hasSpecificAugmentation(); - - if (r1 < NEGATIVE || r0 < NEGATIVE) { - return ERROR; - } - affirm(r1 >= NEGATIVE && r0 >= NEGATIVE); - - if (r1 == NEGATIVE && r0 == NEGATIVE) { - if (requirePC) { - println(); - println("!!! ERROR: class not augmented: " + className); - return ERROR; - } - - println(); - println("--- not augmented: " + className); - return NEGATIVE; - } - - if (r0 == NEGATIVE) { - println(); - println("!!! ERROR: class lacking \"generic\" augmentation: " - + className); - return ERROR; - } - - if (r1 == NEGATIVE) { - println(); - println("!!! ERROR: class lacking \"class-specific\" augmentation: " - + className); - return ERROR; - } - affirm(r1 > NEGATIVE && r0 > NEGATIVE); - - final int r2 = testPCFeasibility(); - if (r2 < AFFIRMATIVE) { - return ERROR; - } - - final int r3 = testJdoConstructor(); - if (r3 < AFFIRMATIVE) { - return ERROR; - } - - println(); - println("+++ augmented: " + className); - return AFFIRMATIVE; - } - - public int test(boolean verbose, - boolean requirePC, - List classes) - { - affirm(classes); - this.verbose = verbose; - this.requirePC = requirePC; - - final int all = classes.size(); - - println(); - println("AugmentationTest: Testing classes for being enhanced for persistence-capability"); - - int failed = 0; - for (int i = 0; i < all; i++) { - if (test((String)classes.get(i)) < NEGATIVE) { - failed++; - } - } - final int passed = all - failed; - - println(); - println("AugmentationTest: Summary: TESTED: " + all - + " PASSED: " + passed - + " FAILED: " + failed); - return failed; - } - - - /** - * Prints usage message. - */ - static void usage() - { - out.println(); - out.println("Usage: AugmentationTest ..."); - out.println(); - out.println("This class tests if classes have been correctly enhanced"); - out.println("for persistence-capability (\"augmented\")."); - out.println(); - out.println("Options include:"); - out.println(" -h, --help print usage"); - out.println(" -v, --verbose enable verbose output"); - out.println(" -pc, --requirePC require all classes to be augmented"); - out.println(); - out.println("A non-zero value is returned in case of any errors."); - out.println(); - } - - static public void main(String[] argv) - { - // parse args - boolean verbose = false; - boolean requirePC = false; - List classes = new ArrayList(); - for (int i = 0; i < argv.length; i++) { - String arg = argv[i]; - if (arg.equals("-h") || arg.equals("--help")) { - usage(); - return; - } - if (arg.equals("-v") || arg.equals("--verbose")) { - verbose = true; - continue; - } - if (arg.equals("-pc") || arg.equals("--requirePC")) { - requirePC = true; - continue; - } - if (arg.equals("--debug")) { - debug = true; - continue; - } - if (arg.startsWith("-")) { - out.println(); - out.println("Unrecognized option: " + arg); - usage(); - return; - } - classes.add(arg); - } - - // check arguments - if (classes.isEmpty()) { - out.println(); - out.println("Missing classes argument"); - usage(); - return; - } - - if (debug) { - out.println("options:"); - out.println(" verbose = " + verbose); - out.println(" requirePC = " + requirePC); - out.print(" classes ="); - for (int i = 0; i < classes.size(); i++) - out.print(" " + classes.get(i)); - out.println(); - } - - final AugmentationTest test = new AugmentationTest(); - final int r = test.test(verbose, requirePC, classes); - System.exit(r); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverter.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverter.java deleted file mode 100644 index 936a5f48684..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverter.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * NumericConverter.java - * - * Created on March 21, 2003 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.utility; - -import java.math.BigDecimal; -import java.math.BigInteger; - -/** - * This is a interface for numeric conversion to BigDecimal or BigInteger. - * - * @author Shing Wai Chan - */ -public interface NumericConverter { - /** - * The default policy for NumericConverter. - */ - static final int DEFAULT_POLICY = 0; - - /** - * To convert BigInteger to BigDecimal. - * @param bInteger the BigInteger to be converted - * @return converted BigDecimal - */ - BigDecimal toBigDecimal(BigInteger bInteger); - - /** - * To convert Double to BigDecimal. - * @param d the Double to be converted - * @return converted BigDecimal - */ - BigDecimal toBigDecimal(Double d); - - /** - * To convert Float to BigDecimal. - * @param f the Float to be converted - * @return converted BigDecimal - */ - BigDecimal toBigDecimal(Float f); - - /** - * To convert Number other than BigInteger, Double and Float to BigDecimal. - * @param n the Number to be converted - * @return converted BigDecimal - */ - BigDecimal toBigDecimal(Number n); - - /** - * To convert BigDecimal to BigInteger. - * @param bDecimal the BigDecimal to be converted - * @return converted BigInteger - */ - BigInteger toBigInteger(BigDecimal bDecimal); - - /** - * To convert Double to BigInteger. - * @param d the Double to be converted - * @return converted BigInteger - */ - BigInteger toBigInteger(Double d); - - /** - * To convert Float to BigInteger. - * @param f the Float to be converted - * @return converted BigInteger - */ - BigInteger toBigInteger(Float f); - - /** - * To convert Number other than BigDecimal, Double and Float to BigInteger. - * @param n the Number to be converted - * @return converted BigInteger - */ - BigInteger toBigInteger(Number n); -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverterFactory.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverterFactory.java deleted file mode 100644 index dd7a87e73af..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverterFactory.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * NumericConverterFactory.java - * - * Created on March 21, 2003 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.utility; - -import java.math.BigDecimal; -import java.math.BigInteger; - -/** - * This is a factory class for NumericConverter. - * - * @author Shing Wai Chan - */ -public class NumericConverterFactory { - private static NumericConverter defaultConverter = new NumericConverterImpl(); - - /** - */ - protected NumericConverterFactory() { - } - - /** - * This method returns an instance of NumericConverter for a given policy. - * @param policy for determining mechanism for conversion from - * inexact type to exact type. - * @return NumericConverter corresponds to a policy - */ - public static NumericConverter getNumericConverter(int policy) { - return defaultConverter; - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverterImpl.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverterImpl.java deleted file mode 100644 index 49d9d0bd7bd..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/NumericConverterImpl.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * NumericConverterImpl.java - * - * Created on March 21, 2003 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.utility; - -import java.math.BigDecimal; -import java.math.BigInteger; - -/** - * This is a concrete implementation class for numeric conversion to BigDecimal - * or BigInteger. For conversion to BigInteger, we truncate the fraction - * part of the number. - * - * @author Shing Wai Chan - */ -public class NumericConverterImpl implements NumericConverter { - /** - * - */ - public NumericConverterImpl() { - } - - /** - * To convert BigInteger to BigDecimal. - * @param bInteger the BigInteger to be converted - * @return converted BigDecimal - */ - public BigDecimal toBigDecimal(BigInteger bInteger) { - return (bInteger == null) ? null : new BigDecimal(bInteger); - } - - /** - * To convert Double to BigDecimal. - * @param d the Double to be converted - * @return converted BigDecimal - */ - public BigDecimal toBigDecimal(Double d) { - return (d == null) ? null : new BigDecimal(d.toString()); - } - - /** - * To convert Float to BigDecimal. - * @param f the Float to be converted - * @return converted BigDecimal - */ - public BigDecimal toBigDecimal(Float f) { - return (f == null) ? null : new BigDecimal(f.toString()); - } - - /** - * To convert Number other than BigInteger, Double and Float to BigDecimal. - * @param n the Number to be converted - * @return converted BigDecimal - */ - public BigDecimal toBigDecimal(Number n) { - return (n == null) ? null : new BigDecimal(n.toString()); - } - - /** - * To convert BigDecimal to BigInteger. - * @param bDecimal the BigDecimal to be converted - * @return converted BigInteger - */ - public BigInteger toBigInteger(BigDecimal bDecimal) { - return (bDecimal == null) ? null : bDecimal.toBigInteger(); - } - - /** - * To convert Double to BigInteger. - * @param d the Double to be converted - * @return converted BigInteger - */ - public BigInteger toBigInteger(Double d) { - return (d == null) ? null : (new BigDecimal(d.toString())).toBigInteger(); - } - - /** - * To convert Float to BigInteger. - * @param f the Float to be converted - * @return converted BigInteger - */ - public BigInteger toBigInteger(Float f) { - return (f == null) ? null : (new BigDecimal(f.toString())).toBigInteger(); - } - - /** - * To convert Number other than BigDecimal, Double and Float to BigInteger. - * @param n the Number to be converted - * @return converted BigInteger - */ - public BigInteger toBigInteger(Number n) { - return (n == null) ? null : BigInteger.valueOf(n.longValue()); - } -} diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/StringScanner.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/StringScanner.java deleted file mode 100644 index 3c6b6db17e8..00000000000 --- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/utility/StringScanner.java +++ /dev/null @@ -1,753 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] - -/* - * StringScanner.java - * - * Created on March 3, 2000 - */ - -package com.sun.jdo.spi.persistence.support.sqlstore.utility; - -import java.util.*; - -/** - * Helper class for breaking up a string. - *

    - *

    - */ -// -public class StringScanner -{ - private static String intStrTable[] = new String[2048]; - - static int skipWhite(String s, int offset) - { - int end = s.length(); - - if (offset < 0) - return end; - while (offset < end && Character.isWhitespace(s.charAt(offset))) - offset++; - return offset; - } - - static int skipTo(String s, int offset, String delim) - { - int end = s.length(); - - if (offset < 0) - return end; - while (offset < end && delim.indexOf(s.charAt(offset)) == -1) - offset++; - return offset; - } - - static int skipTo(String s, int offset, char delim) - { - int end = s.length(); - - if (offset < 0) - return end; - while (offset < end && delim != s.charAt(offset)) - offset++; - return offset; - } - - static char charAt(String s, int offset) - { - if (offset < 0 || offset >= s.length()) - return '\0'; - return s.charAt(offset); - } - - static int skipInt(String s, int offset) - { - int end = s.length(); - - if (offset < 0 || !Character.isDigit(s.charAt(offset))) - return end; - // - // Unlike the others, this can return the offset past the end - // of the string. The idea is that the caller wants to - // do a substring to get the integer. - // - while (offset < end && Character.isDigit(s.charAt(offset))) - offset++; - return offset; - } - - public static String format(StringBuilder buf, String fmt, Object o1) - { - return format(buf, fmt, 1, o1, null, null, null, null, null, null, - null, null); - } - - public static String format(StringBuilder buf, String fmt, - Object o1, - Object o2) - { - return format(buf, fmt, 2, o1, o2, null, null, null, null, null, - null, null); - } - - public static String format(StringBuilder buf, String fmt, - Object o1, - Object o2, - Object o3) - { - return format(buf, fmt, 3, o1, o2, o3, null, null, null, null, - null, null); - } - - public static String format(StringBuilder buf, String fmt, - Object o1, - Object o2, - Object o3, - Object o4) - { - return format(buf, fmt, 4, o1, o2, o3, o4, null, null, null, - null, null); - } - - public static String format(StringBuilder buf, String fmt, - Object o1, - Object o2, - Object o3, - Object o4, - Object o5) - { - return format(buf, fmt, 5, o1, o2, o3, o4, o5, null, null, null, null); - } - - public static String format(StringBuilder buf, String fmt, - Object o1, - Object o2, - Object o3, - Object o4, - Object o5, - Object o6) - { - return format(buf, fmt, 6, o1, o2, o3, o4, o5, o6, null, null, null); - } - - public static String format(StringBuilder buf, String fmt, - Object o1, - Object o2, - Object o3, - Object o4, - Object o5, - Object o6, - Object o7) - { - return format(buf, fmt, 7, o1, o2, o3, o4, o5, o6, o7, null, null); - } - - public static String format(StringBuilder buf, String fmt, - Object o1, - Object o2, - Object o3, - Object o4, - Object o5, - Object o6, - Object o7, - Object o8) - { - return format(buf, fmt, 8, o1, o2, o3, o4, o5, o6, o7, o8, null); - } - - public static String format(StringBuilder buf, String fmt, - Object o1, - Object o2, - Object o3, - Object o4, - Object o5, - Object o6, - Object o7, - Object o8, - Object o9) - { - return format(buf, fmt, 9, o1, o2, o3, o4, o5, o6, o7, o8, o9); - } - - public static String format(StringBuilder buf, String fmt, - int argcnt, - Object o1, - Object o2, - Object o3, - Object o4, - Object o5, - Object o6, - Object o7, - Object o8, - Object o9) - { - Object[] params = {o1, o2, o3, o4, o5, o6, o7, o8, o9}; - - int i = 0; - int begSubstr = 0; - int percent; - int nextParam = 0; - StringBuilder msg; - int fmtLen; - - if (buf == null) - msg = new StringBuilder(); - else - msg = buf; - - fmtLen = fmt.length(); - - while ((percent = fmt.indexOf('%', i)) >= 0 && percent < (fmtLen - 1)) - { - char c = fmt.charAt(percent + 1); - boolean leftJustify = false; - boolean raw = false; - int nextChar = percent; - - if (c == '-') - { - nextChar++; - leftJustify = true; - if (nextChar + 1 < fmtLen) - c = fmt.charAt(nextChar + 1); - } - - if (Character.isDigit(c)) - { - int endInt = StringScanner.skipInt(fmt, nextChar + 1); - int size = Integer.parseInt(fmt.substring(nextChar + 1,endInt)); - - if (size == 0) - raw = true; - - msg.append(fmt.substring(begSubstr, percent)); - if (nextParam < argcnt) - { - Object p = params[nextParam++]; - String val = p.toString(); - int len = val.length(); - - if (!raw) - { - if (!leftJustify && len < size) - { - for (int j = 0; j < size - len; j++) - msg.append(" "); // NOI18N - } - else if (len > size) - { - val = val.substring(0, size); - } - } - msg.append(val); - if (leftJustify && len < size) - { - for (int j = 0; j < size - len; j++) - msg.append(" "); // NOI18N - } - } - else - { - /* throw (StringIndexOutOfBoundsException) - ErrorManager.createFormatAdd( - java.lang.StringIndexOutOfBoundsException.class, - ErrorManager.USER, - UtilMsgCat.SP_ERR_FMT_OUT_OF_RANGE, - (new Integer(nextParam)), - (new Integer(1)), (new Integer(argcnt)), fmt); - */ - } - i = endInt; - begSubstr = i; - } - else - { - i = nextChar + 1; - } - } - msg.append(fmt.substring(begSubstr, fmtLen)); - return msg.toString(); - } - - static String createParamString(String message, - int argcnt, - Object param1, - Object param2, - Object param3, - Object param4, - Object param5, - Object param6, - Object param7, - Object param8, - Object param9) - { - if (argcnt < 1 || argcnt > 9) - return message; - - Object[] p = null; - if (argcnt == 1) - { - Object[] params = {param1}; - p = params; - } - else if (argcnt == 2) - { - Object[] params = {param1, param2}; - p = params; - } - else if (argcnt == 3) - { - Object[] params = {param1, param2, param3}; - p = params; - } - else if (argcnt == 4) - { - Object[] params = {param1, param2, param3, param4}; - p = params; - } - else if (argcnt == 5) - { - Object[] params = {param1, param2, param3, param4, param5}; - p = params; - } - else if (argcnt == 6) - { - Object[] params = {param1, param2, param3, param4, param5, - param6}; - p = params; - } - else if (argcnt == 7) - { - Object[] params = {param1, param2, param3, param4, param5, - param6, param7}; - p = params; - } - else if (argcnt == 8) - { - Object[] params = {param1, param2, param3, param4, param5, - param6, param7, param8}; - p = params; - } - else if (argcnt == 9) - { - Object[] params = {param1, param2, param3, param4, param5, - param6, param7, param8, param9}; - p = params; - } - - // - // Decide if we should use our own formatting algorithm or - // call Java's MessageFormat.format(). Our own algorithm is - // about 20 times faster but cannot deal with templates. - // So, use our own if no template is involved. i.e. only - // positional parameters. - // e.g. {0} is OK but {0,ddd-mmm-yyyy} is not. - // - boolean useJava = false; - int lbrace, rbrace = 0; - int i = 0; - - // look for the start of next positional parameter - while ((lbrace = message.indexOf('{', i)) >= 0) - { - // if the parameter doesn't end with a right brace, get - // out and use the Java formatter. Or if there are more - // than 1 character between the braces (e.g. {0,ddd-mmm-yyyy}) - if ((rbrace = message.indexOf('}', lbrace + 1)) < 0 || - (rbrace - lbrace) > 2) - { - useJava = true; - break; - } - - i = rbrace + 1; - } - - if (useJava) - { - return java.text.MessageFormat.format(message, p); - } - - // Since we are using our own algorithm, we need to get rid of - // the pesty single quote escape character - int esc; - boolean foundEsc = false; - StringBuilder msg = new StringBuilder(); - - i = 0; - while ((esc = message.indexOf('\'', i)) >= 0) - { - msg.append(message.substring(i, esc)); - msg.append(message.substring(esc + 1, esc + 2)); - i = esc + 2; - foundEsc = true; - } - - if (foundEsc) - { - msg.append(message.substring(i, message.length())); - message = msg.toString(); - } - - char c; - i = 0; - int msglen = message.length(); - msg = new StringBuilder(); - while ( (lbrace = message.indexOf('{', i)) >= 0 - && lbrace < msglen-1) - { - c = message.charAt(lbrace + 1); - - if (Character.isDigit(c)) - { - int pnum = c - '0'; - - if (0 <= pnum && pnum < argcnt) - { - Object pp = p[pnum]; - - msg.append(message.substring(i, lbrace)); - - if (pp == null) - { - msg.append(""); // NOI18N - } - else - { - msg.append(pp.toString()); - } - } - else - { - if (argcnt > 0) - { - /* throw (StringIndexOutOfBoundsException) - ErrorManager.createFormatAdd( - java.lang.StringIndexOutOfBoundsException.class, - ErrorManager.USER, - UtilMsgCat.SP_ERR_FMT_OUT_OF_RANGE, - (new Integer(pnum)), - (new Integer(1)), (new Integer(argcnt)), msg); - */ - } - else - { - /* throw (StringIndexOutOfBoundsException) - ErrorManager.createFormatAdd( - java.lang.StringIndexOutOfBoundsException.class, - ErrorManager.USER, - UtilMsgCat.SP_ERR_FMT_MISSING_PARAM, - (new Integer(pnum)), msg); - */ - } - } - i = lbrace + 3; - } - else - { - i = lbrace + 1; - } - } - msg.append(message.substring(i, msglen)); - return msg.toString(); - } - - /** - * Return a string containing a "level" number of spaces. - *

    - * Used for formatted print, this will return a string containing 4 - * spaces for each specified level. - * @return The requested string. - * @param level The level to fill to. - */ - // - // CHANGES - // 6-aug-1997 - // Created (jak) - // - // - public static String levelString(int level) - { - int i; - String str; - - if (level <= 0) - return ""; // NOI18N - - switch (level) - { - case 1: - return " "; // NOI18N - case 2: - return " "; // NOI18N - case 3: - return " "; // NOI18N - case 4: - return " "; // NOI18N - case 5: - return " "; // NOI18N - case 6: - return " "; // NOI18N - default: - str = " "; // NOI18N - for (i = 6; i < level; i++) - str = str.concat(" "); // NOI18N - return str; - } - } - - /** - * Split a string into sub-strings based on a given delimeter. - *

    - * Split str based on the delimeter and return as an array of Strings. - * @return An array of sub-strings - * @param delimeter The string representing the delimeters. - * @param str The string to process. - */ - // - // CHANGES - // 12-jun-1997 - // Created (jak) - // 6-aug-1997 - // Moved from CommandShell (jak) - // - // - public static Vector splitString(String str, String delimeter) - { - int mark; - int start; - int delLen; - Vector list; - - list = new Vector(); - - if (str != null) - { - mark = 0; - start = 0; - - delLen = delimeter.length(); - while ((start = str.indexOf(delimeter, mark)) != -1) - { - if (start != 0) - list.addElement((Object) str.substring(mark, start)); - mark = start + delLen; - } - - // Put in the last bit. - if (mark < str.length()) - list.addElement((Object) str.substring(mark)); - } - return list; - } - - /** - * Fills a string with blanks to a given size. - *

    - * Left or right fills the given string with spaces (' '). - * @return A new filled string. - * false. - * @param left true when the text should be left justified, otherwise - * @param len The desired length of the formatted string. - * @param str The string to process. - */ - // - // CHANGES - // 19-aug-1997 - // Created (jak) - // - // - public static String fill(String str, int len, boolean left) - { - String nstr; - int startLen; - int diff; - - if (str == null) - str = "null"; // NOI18N - - startLen = str.length(); - nstr = str; - while (startLen < len) - { - diff = len - startLen; - if (diff >= 10) - { - startLen += 10; - if (left) - nstr = nstr + " "; // NOI18N - else - nstr = " " + nstr; // NOI18N - continue; - } - else if (diff >= 8) - { - startLen += 8; - if (left) - nstr = nstr + " "; // NOI18N - else - nstr = " " + nstr; // NOI18N - continue; - } - else if (diff >= 4) - { - startLen += 4; - if (left) - nstr = nstr + " "; // NOI18N - else - nstr = " " + nstr; // NOI18N - continue; - } - else if (diff >= 2) - { - startLen += 2; - if (left) - nstr = nstr + " "; // NOI18N - else - nstr = " " + nstr; // NOI18N - continue; - } - else - { - startLen++; - if (left) - nstr = nstr + " "; // NOI18N - else - nstr = " " + nstr; // NOI18N - continue; - } - } - return nstr; - } - - public static String createParamString(String fmt) - { - return fmt; - } - public static String createParamString(String fmt, Object obj1) - { - return StringScanner.createParamString(fmt, 1, obj1, null, null, null, - null, null, null, null, null); - } - public static String createParamString(String fmt, Object obj1, Object obj2) - { - return StringScanner.createParamString(fmt, 2, obj1, obj2, null, null, - null, null, null, null, null); - } - public static String createParamString(String fmt, Object obj1, Object obj2, - Object obj3) - { - return StringScanner.createParamString(fmt, 3, obj1, obj2, obj3, null, - null, null, null, null, null); - } - public static String createParamString(String fmt, Object obj1, Object obj2, - Object obj3, Object obj4) - { - return StringScanner.createParamString(fmt, 4, obj1, obj2, obj3, obj4, - null, null, null, null, null); - } - public static String createParamString(String fmt, Object obj1, Object obj2, - Object obj3, Object obj4, - Object obj5) - { - return StringScanner.createParamString(fmt, 5, obj1, obj2, obj3, obj4, - obj5, null, null, null, null); - } - public static String createParamString(String fmt, Object obj1, Object obj2, - Object obj3, Object obj4, - Object obj5, Object obj6) - { - return StringScanner.createParamString(fmt, 6, obj1, obj2, obj3, obj4, - obj5, obj6, null, null, null); - } - public static String createParamString(String fmt, Object obj1, Object obj2, - Object obj3, Object obj4, - Object obj5, Object obj6, - Object obj7) - { - return StringScanner.createParamString(fmt, 7, obj1, obj2, obj3, obj4, - obj5, obj6, obj7, null, null); - } - public static String createParamString(String fmt, Object obj1, Object obj2, - Object obj3, Object obj4, - Object obj5, Object obj6, - Object obj7, Object obj8) - { - return StringScanner.createParamString(fmt, 8, obj1, obj2, obj3, obj4, - obj5, obj6, obj7, obj8, null); - } - public static String createParamString(String fmt, Object obj1, Object obj2, - Object obj3, Object obj4, - Object obj5, Object obj6, - Object obj7, Object obj8, - Object obj9) - { - return StringScanner.createParamString(fmt, 9, obj1, obj2, obj3, obj4, - obj5, obj6, obj7, obj8, obj9); - } - - - public static String getIntStr(int num) - { - String str; - boolean big; - - try - { - str = (String) StringScanner.intStrTable[num]; - big = false; - } - catch (ArrayIndexOutOfBoundsException e) - { - str = null; - big = true; - } - - if (str == null) - { - str = Integer.toString(num); - if (!big) - StringScanner.intStrTable[num] = str; - } - return str; - } -} diff --git a/appserver/persistence/cmp/utility/osgi.bundle b/appserver/persistence/cmp/utility/osgi.bundle deleted file mode 100644 index 3065f25ba8b..00000000000 --- a/appserver/persistence/cmp/utility/osgi.bundle +++ /dev/null @@ -1,45 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - --exportcontents: \ - com.sun.jdo.spi.persistence.utility; \ - com.sun.jdo.spi.persistence.utility.generator; \ - com.sun.jdo.spi.persistence.utility.generator.io; \ - com.sun.jdo.spi.persistence.utility.logging; version=${project.osgi.version} diff --git a/appserver/persistence/cmp/utility/pom.xml b/appserver/persistence/cmp/utility/pom.xml deleted file mode 100644 index 38e5bb0c63e..00000000000 --- a/appserver/persistence/cmp/utility/pom.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - 4.0.0 - - fish.payara.server.internal.persistence.cmp - cmp - 7.2026.5-SNAPSHOT - - cmp-utility - glassfish-jar - - utility module for cmp - - - - mm110999 - Mitesh Meswani - Oracle, Inc. - - developer - lead - - - - - - - src/main/java - - **/*.properties - - - - - - - fish.payara.server.internal.persistence - persistence-common - ${project.version} - - - fish.payara.server.internal.common - common-util - ${project.version} - - - diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/BucketizedHashtable.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/BucketizedHashtable.java deleted file mode 100644 index 7bcb629f0ed..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/BucketizedHashtable.java +++ /dev/null @@ -1,352 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.spi.persistence.utility; - -import java.io.Serializable; -import java.util.*; - -/** - * This class implements bucketize hashtable, which subdivide the key - * collection stored into several hashtables (buckets) of smaller size. - * This will reduce the contention of hashtable. - * - * @author Shing Wai Chan - */ -public class BucketizedHashtable implements Cloneable, Map, Serializable { - private int bucketSize; - private Hashtable[] hashtables = null; - - /** - * Constructs a new, empty BucketizedHashtable with the specified - * bucket size, initial capacity and load factor. - * @param bucketSize the number of buckets used for hashing - * @param initialCapacity the initial capacity of BucketizedHashtable - * @param loadFactor the load factor of hashtable - */ - public BucketizedHashtable(int bucketSize, int initialCapacity, - float loadFactor) { - if (bucketSize <= 0 || initialCapacity < 0) { - throw new IllegalArgumentException(); - } - - this.bucketSize = bucketSize; - - hashtables = new Hashtable[bucketSize]; - - // always round up to the nearest integer so that it has at - // least the initialCapacity - int initialHashtableSize = - (int)Math.ceil((double)initialCapacity / bucketSize); - - for (int i = 0; i < bucketSize; i++) { - hashtables[i] = new Hashtable(initialHashtableSize, loadFactor); - } - } - - /** - * Constructs a new, empty BucketizedHashtable with the specified - * bucket size, initial capacity and default load factor 0.75. - * @param bucketSize the number of buckets used for hashing - * @param initialCapacity the initial capacity of hashtable - */ - public BucketizedHashtable(int bucketSize, int initialCapacity) { - this(bucketSize, initialCapacity, 0.75f); - } - - /** - * Constructs a new, empty BucketizedHashtable with the specified - * bucket size, default initial capacity (11 * bucketSize) and - * default load factor 0.75. - * @param bucketSize the number of buckets used for hashing - */ - public BucketizedHashtable(int bucketSize) { - this(bucketSize, 11 * bucketSize, 0.75f); - } - - /** - * Constructs a new, empty BucketizedHashtable with the default bucket - * size 11, default initial capacity (11 * bucketSize) - * and default load factor 0.75. - */ - public BucketizedHashtable() { - this(11, 11 * 11, 0.75f); - } - - //-------- implementing Map -------- - - /** - * @param key a key in the hashtable - * @return the value to which the specified key is mapped. - */ - public Object get(Object key) { - return hashtables[getBucketIndex(key)].get(key); - } - - /** - * Remove the key and its corresponding value. - * @param key the key that needs to be removed - * @return the value to which the key had been mapped, - * or null if the key did not have a mapping. - */ - public Object remove(Object key) { - return hashtables[getBucketIndex(key)].remove(key); - } - - /** - * Maps the specified key to the specified - * value in this hashtable. Neither the key nor the - * value can be null.

    - * @param key the hashtable key - * @param value the value - * @return the previous value of the specified key in hashtables, - * or null if it did not have one. - */ - public Object put(Object key, Object value) { - return hashtables[getBucketIndex(key)].put(key, value); - } - - /** - * @param t BucketizedHashtable - * or a Map with a supported operation entrySet - */ - public void putAll(Map t) { - if (t instanceof BucketizedHashtable) { - BucketizedHashtable bt = (BucketizedHashtable)t; - for (int i = 0; i < bt.bucketSize; i++) { - putAllFromMapWithEntrySet(bt.hashtables[i]); - } - } else { - putAllFromMapWithEntrySet(t); - } - } - - /** - * @param key possible key - * @return true if and only if the specified object is a key in one of - * of the hashtables - */ - public boolean containsKey(Object key) { - return hashtables[getBucketIndex(key)].containsKey(key); - } - - /** - * @param value possible value - * @return true if and only if the specified object is a value in one of - * of the hashtables - */ - public boolean containsValue(Object value) { - for (int i = 0; i < bucketSize; i++) { - if (hashtables[i].containsValue(value)) { - return true; - } - } - return false; - } - - /** - * @return the total number of key-value mappings of all buckets - */ - public int size() { - int totalSize = 0; - for (int i = 0; i < bucketSize; i++) { - totalSize += hashtables[i].size(); - } - return totalSize; - } - - /** - * @return the hash code value for this map - */ - public int hashCode() { - int h = 0; - for (int i = 0; i < bucketSize; i++) { - h += hashtables[i].hashCode(); - } - return h; - } - - /** - * @return true if this map contains no key-value mappings - */ - public boolean isEmpty() { - for (int i = 0; i < bucketSize; i++) { - if (!hashtables[i].isEmpty()) { - return false; - } - } - return true; - } - - /** - * Clears this BucketizedHashtable so that it contains no key. - */ - public void clear() { - for (int i = 0; i < bucketSize; i++) { - hashtables[i].clear(); - } - } - - /** - * The return set is backed by the map, so changes to the map are - * reflected in the set, and vice-versa. - * @return a set of Map.Entry when bucketSet equal 1 - * @exception UnsupportedOperationException when bucketSize is greater one - */ - public Set entrySet() { - if (bucketSize == 1) { - return hashtables[0].entrySet(); - } else { - throw new UnsupportedOperationException(); - } - } - - /** - * The return set is backed by the map, so changes to the map are - * reflected in the set, and vice-versa. - * @return a set of keys when bucketSet equal 1 - * @exception UnsupportedOperationException when bucketSize is greater one - */ - public Set keySet() { - if (bucketSize == 1) { - return hashtables[0].keySet(); - } else { - throw new UnsupportedOperationException(); - } - } - - /** - * The return collection is backed by the map, so changes to the map - * are reflected in the collection, and vice-versa. - * @return a collection of values when bucketSet equal 1 - * @exception UnsupportedOperationException when bucketSize is greater one - */ - public Collection values() { - if (bucketSize == 1) { - return hashtables[0].values(); - } else { - throw new UnsupportedOperationException(); - } - } - - /** - * Compares the specified object with this map for equality. - * @return true if the specified object is a BucketizedHashtable - * with hashtables represent the same set of mappings. - */ - public boolean equals(Object o) { - if (o == this) { - return true; - } - - if (!(o instanceof BucketizedHashtable)) { - return false; - } - BucketizedHashtable bt = (BucketizedHashtable)o; - if (bt.bucketSize != bucketSize || bt.size() != size()) { - return false; - } - - for (int i = 0; i < bucketSize; i++) { - if (!hashtables[i].equals(bt.hashtables[i])) { - return false; - } - } - return true; - } - - //-------- implementing Cloneable -------- - /** - * Creates and returns a shallow copy of this object. - * The keys and values are not cloned. - * @return a clone of BucketizedHashtable - */ - public Object clone() { - try { - BucketizedHashtable bt = (BucketizedHashtable)super.clone(); - bt.bucketSize = bucketSize; - bt.hashtables = new Hashtable[bucketSize]; - for (int i = 0; i < bucketSize; i++) { - bt.hashtables[i] = (Hashtable)hashtables[i].clone(); - } - return bt; - } catch (CloneNotSupportedException e) { - // this shouldn't happen, since we are Cloneable - throw new InternalError(); - } - } - - //---------------- - /** - * @return a string representation of this BucketizedHashtable - */ - public String toString() { - StringBuilder buf = new StringBuilder("["); // NOI18N - //bucketSize always >= 1 - buf.append(hashtables[0].toString()); - for (int i = 1; i < bucketSize; i++) { - buf.append(", "); // NOI18N - buf.append(hashtables[i].toString()); - } - buf.append("]"); // NOI18N - return buf.toString(); - } - - /** - * @param t Map with a supported entrySet operation - */ - private void putAllFromMapWithEntrySet(Map t) { - Iterator iter = t.entrySet().iterator(); - while (iter.hasNext()) { - Map.Entry e = (Map.Entry)iter.next(); - put(e.getKey(), e.getValue()); - } - } - - /** - * @param key - * @return the bucket index for the specified key - */ - private int getBucketIndex(Object key) { - int index = key.hashCode() % bucketSize; - return (index >= 0) ? index : index + bucketSize; - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Bundle.properties b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Bundle.properties deleted file mode 100644 index 69b4a8c128f..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Bundle.properties +++ /dev/null @@ -1,76 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# resource bundle for runtime messages -# key consists of: ... -# - is optional, package under runtime -# - class name -# - method name -# - short description (use _ to represent space) -# all keys should be in lowercase -# -# The message ID for a message in persistence is derived as follows: -# JDO<2_digit_bundle_prefix><1_digit_section_number><2_digit_serial_number> -# -# The 2 digit prefix for this bundle is 81. -# -# When adding a new message: -# 1. Please make sure that you add the message to the end of the file. -# 2. Please add message ID to any user visible message. -# 3. The message ID for the new message = message ID for the last numbered -# message in the file + 1. -# 4. Please do not change message number for existing messages. These numbers -# are potentially mapped to more explanation about the message for the end -# user. -# - -############################################################################### -# -# Message ID Range: JDO81000 - JDO81999 -############################################################################### -utility.nullsemaphore.constructor=NullSemaphore constructor() for {0}. -utility.nullsemaphore.acquire=NullSemaphore.acquire() for {0}. -utility.nullsemaphore.release=NullSemaphore.release() for {0}. - -utility.semaphoreimpl.acquire=SemaphoreImpl.acquire() for {0}, thread = {1} with _lockCounter = {2}. -utility.semaphoreimpl.gotlock=SemaphoreImpl.acquire() for {0}, got for thread = {1} with _lockCounter = {2}. -utility.semaphoreimpl.release=SemaphoreImpl.release() for {0}, thread = {1} with _lockCounter = {2}. -utility.semaphoreimpl.wrongthread=SemaphoreImpl.release() wrong thread for {0}, thread = {1}. - diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/DoubleLinkedList.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/DoubleLinkedList.java deleted file mode 100644 index bfb67ed5c16..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/DoubleLinkedList.java +++ /dev/null @@ -1,328 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConnectionImpl.java - * - * Create on March 3, 2000 - */ - -package com.sun.jdo.spi.persistence.utility; - -/** - * This class defines a thread-safe double linked-list. - * The list is usable by any class that implements the - * com.forte.util.Linkable interface. This class allows - * a linkable object it be inserted or removed from anywhere - * in the list. - * - * RESTRICTION: An object can only be a member of 1 list - * at a time. - */ -public class DoubleLinkedList -{ - - // Instance variables. - - /** - * Head of linked list. - */ - public Linkable head; - - /** - * Tail of linked list. - */ - public Linkable tail; - - /** - * Size of linked list. - */ - public int size; - - /** - * Default constructor. - */ - public DoubleLinkedList() - { - this.head = null; - this.size = 0; - this.tail = null; - } - - - // Public Methods. - - /** - * Return the object at the head of a linked list. - * - */ - public synchronized Linkable getHead() - { - return this.head; - } - - /** - * Return the object at the tail of a linked list. - * - */ - public synchronized Linkable getTail() - { - return this.tail; - } - - - /** - * Return size of the linked list. - * - */ - public synchronized int getSize() - { - return this.size; - } - - - /** - * Insert an object at the head of a linked list. - * - */ - public synchronized void insertAtHead(Linkable node) - { - if (node instanceof Linkable) - { - if (this.head == null) - { - node.setNext(null); // Fixup node nextlink. - node.setPrevious(null); // Fixup node backlink. - this.head = node; // Insert node at head of list. - } - else - { - Linkable oldHead = this.head; // Fixup current head node. - oldHead.setPrevious(node); // Set backlink to new node. - node.setNext(oldHead); // Fixup new node nextlink. - node.setPrevious(null); // Fixup new node backlink. - this.head = node; // Insert node at head of list. - } - if (this.tail == null) // If list was empty, - { - this.tail = node; // Insert node at tail of list. - } - this.size++; - } - } - - /** - * Insert an object at the tail of a linked list. - * - */ - public synchronized void insertAtTail(Linkable node) - { - if (node instanceof Linkable) - { - if (this.tail == null) - { - node.setNext(null); // Fixup node nextlink. - node.setPrevious(null); // Fixup node backlink. - this.tail = node; // Insert node at end of list. - } - else - { - Linkable oldTail = this.tail; // Fixup current tail node. - oldTail.setNext(node); // Set backlink to new node. - node.setNext(null) ; // Fixup new node backlink. - node.setPrevious(oldTail); // Fixup new node nextlink. - this.tail = node; // Insert node at end of list. - } - if (this.head == null) // If list was empty, - { - this.head = node; // Insert node at head of list. - } - this.size++; - } - } - - - - /** - * Remove and return an object from the head of a linked list. - * - */ - public synchronized Linkable removeFromHead() - { - Linkable node = this.head; - if (node instanceof Linkable) - { - this.head = node.getNext(); // Set head to next node. - if (this.head == null) // If we emptied the list, - { - this.tail = null; // Fixup the tail pointer. - } - else - { - this.head.setPrevious(null);// Clear head node backlink. - } - node.setNext(null); // Clear removed node nextlink. - node.setPrevious(null); // Clear romoved node backlink. - this.size--; - } - return node; - } - - /** - * Remove and return an object from the tail of a linked list. - * - */ - public synchronized Linkable removeFromTail() - { - Linkable node = this.tail; - if (node instanceof Linkable) - { - this.tail = node.getPrevious(); // Set tail to previous node. - if (this.tail == null) // If we emptied the list, - { - this.head = null; // Fixup the head pointer. - } - else - { - this.tail.setNext(null); // Clear tail node nextlink. - } - node.setNext(null); // Clear removed node nextlink. - node.setPrevious(null); // Clear removed node backlink. - this.size--; - } - return node; - } - - /** - * Remove the specified object from anywhere in the linked list. - * This method is usually used by the object to remove itself - * from the list. - * - */ - public synchronized void removeFromList(Linkable node) - { - if ((this.size <= 0) || ((this.head == null) && (this.tail == null))) - { - return; - } - if (node instanceof Linkable) - { - Linkable p = node.getPrevious(); // Reference to previous node. - Linkable n = node.getNext(); // Reference to next node. - - if (p == null) // Is this the first (or only) node in the list? - { - this.head = n; // Yes, set the head of the list to point to the next. - } - else - { - p.setNext(n); // No, set the previous node to point to the next. - } - - if (n == null) // Is this the last (or only) node in the list? - { - this.tail = p; // Yes, set the tail to point to the previous. - } - else - { - n.setPrevious(p); // No, set the next node to point to the previous. - } - - node.setNext(null); - node.setPrevious(null); - this.size--; - } - } - - - /** - * Insert an object anywhere into the linked list. - * - * @param afternode the new node will be inserted after this node - * @param newnode the new node to be inserted - */ - public synchronized void insertIntoList(Linkable afternode, Linkable newnode) - { - if ((newnode instanceof Linkable) && (afternode instanceof Linkable)) - { - if (this.tail == afternode) // If inserting at the tail, - { - this.insertAtTail(newnode); // Use insertAtTail method. - } - else - { - Linkable nextnode = afternode.getNext(); - newnode.setNext(nextnode); // Point to next node. - newnode.setPrevious(afternode); // Point to previous node. - afternode.setNext(newnode); // Fixup backlink in afternode. - nextnode.setPrevious(newnode); // Fixup nextlink in next node. - } - this.size++; - } - } - - /** - * Return a string representation of this DoubleLinkedList object. - *

    - * @return String representation of this object. - */ - public synchronized String toString() - { - /* boolean dif = ThreadContext.lgr().test - ( // Check for trace flag sp:1:1 - TraceLogger.CONFIGURATION, - TraceLogger.SVC_SP, - SPLogFlags.CFG_DIFFABLE_EXCEPTS, - 1 - ); - String buf = "DoubleLinkedList@\n"; - if(!dif) - { - buf = buf + " head = " + this.head + "\n"; - buf = buf + " tail = " + this.tail + "\n"; - } - buf = buf + " size = " + this.size + "\n"; - return buf; - */ - - return null; - } -} - diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/FieldTypeEnumeration.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/FieldTypeEnumeration.java deleted file mode 100644 index 8dab7ecb631..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/FieldTypeEnumeration.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * FieldTypeEnumeration - * - * Created on January 31, 2003 - */ - -package com.sun.jdo.spi.persistence.utility; - -/** - * - */ -public interface FieldTypeEnumeration -{ - - //Not Enumerated - public static final int NOT_ENUMERATED = 0; - - //Primitive - public static final int BOOLEAN_PRIMITIVE = 1; - public static final int CHARACTER_PRIMITIVE = 2; - public static final int BYTE_PRIMITIVE = 3; - public static final int SHORT_PRIMITIVE = 4; - public static final int INTEGER_PRIMITIVE = 5; - public static final int LONG_PRIMITIVE = 6; - public static final int FLOAT_PRIMITIVE = 7; - public static final int DOUBLE_PRIMITIVE = 8; - //Number - public static final int BOOLEAN = 11; - public static final int CHARACTER = 12; - public static final int BYTE = 13; - public static final int SHORT = 14; - public static final int INTEGER = 15; - public static final int LONG = 16; - public static final int FLOAT = 17; - public static final int DOUBLE = 18; - public static final int BIGDECIMAL = 19; - public static final int BIGINTEGER = 20; - //String - public static final int STRING = 21; - //Dates - public static final int UTIL_DATE = 22; - public static final int SQL_DATE = 23; - public static final int SQL_TIME = 24; - public static final int SQL_TIMESTAMP = 25; - //Arrays - public static final int ARRAY_BYTE_PRIMITIVE = 51; - -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/JavaTypeHelper.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/JavaTypeHelper.java deleted file mode 100644 index 6999d3bb9ad..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/JavaTypeHelper.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JavaTypeHelper.java - * - * Created on January 22, 2002, 3:39 PM - */ - -package com.sun.jdo.spi.persistence.utility; - -import java.util.Map; -import java.util.HashMap; - -/** This is a helper class which provides some basic java type convenience - * methods: extraction of a package from a fully qualified class name, - * extraction of a short (non-qualified) name from a fully qualified class - * name, and various wrapper and primitive type methods. - * - * @author Rochelle Raccah - */ -public class JavaTypeHelper -{ - /** Map of primitive to wrapper classes */ - private final static Map _primitiveToWrappers; - - /** Map of primitive names to primitive classes */ - private final static Map _primitiveNamesToPrimitives; - - /** Map of primitive names to wrapper names */ - private final static Map _primitiveNamesToWrapperNames; - - /** Map of wrapper classes to primitive names*/ - private final static Map _wrapperToPrimitiveNames; - - static - { - _primitiveToWrappers = new HashMap(9); - _primitiveToWrappers.put(Boolean.TYPE, Boolean.class); - _primitiveToWrappers.put(Byte.TYPE, Byte.class); - _primitiveToWrappers.put(Character.TYPE, Character.class); - _primitiveToWrappers.put(Double.TYPE, Double.class); - _primitiveToWrappers.put(Float.TYPE, Float.class); - _primitiveToWrappers.put(Integer.TYPE, Integer.class); - _primitiveToWrappers.put(Long.TYPE, Long.class); - _primitiveToWrappers.put(Short.TYPE, Short.class); - _primitiveToWrappers.put(Void.TYPE, Void.class); - - _primitiveNamesToPrimitives = new HashMap(9); - _primitiveNamesToPrimitives.put("boolean", Boolean.TYPE); // NOI18N - _primitiveNamesToPrimitives.put("byte", Byte.TYPE); // NOI18N - _primitiveNamesToPrimitives.put("char", Character.TYPE); // NOI18N - _primitiveNamesToPrimitives.put("double", Double.TYPE); // NOI18N - _primitiveNamesToPrimitives.put("float", Float.TYPE); // NOI18N - _primitiveNamesToPrimitives.put("int", Integer.TYPE); // NOI18N - _primitiveNamesToPrimitives.put("long", Long.TYPE); // NOI18N - _primitiveNamesToPrimitives.put("short", Short.TYPE); // NOI18N - _primitiveNamesToPrimitives.put("void", Void.TYPE); // NOI18N - - _primitiveNamesToWrapperNames = new HashMap(9); - _primitiveNamesToWrapperNames.put("boolean", "Boolean"); // NOI18N - _primitiveNamesToWrapperNames.put("byte", "Byte"); // NOI18N - _primitiveNamesToWrapperNames.put("char", "Character"); // NOI18N - _primitiveNamesToWrapperNames.put("double", "Double"); // NOI18N - _primitiveNamesToWrapperNames.put("float", "Float"); // NOI18N - _primitiveNamesToWrapperNames.put("int", "Integer"); // NOI18N - _primitiveNamesToWrapperNames.put("long", "Long"); // NOI18N - _primitiveNamesToWrapperNames.put("short", "Short"); // NOI18N - _primitiveNamesToWrapperNames.put("void", "Void"); // NOI18N - - _wrapperToPrimitiveNames = new HashMap(9); - _wrapperToPrimitiveNames.put(Boolean.class, "boolean"); // NOI18N - _wrapperToPrimitiveNames.put(Byte.class, "byte"); // NOI18N - _wrapperToPrimitiveNames.put(Character.class, "char"); // NOI18N - _wrapperToPrimitiveNames.put(Double.class, "double"); // NOI18N - _wrapperToPrimitiveNames.put(Float.class, "float"); // NOI18N - _wrapperToPrimitiveNames.put(Integer.class, "int"); // NOI18N - _wrapperToPrimitiveNames.put(Long.class, "long"); // NOI18N - _wrapperToPrimitiveNames.put(Short.class, "short"); // NOI18N - _wrapperToPrimitiveNames.put(Void.class, "void"); // NOI18N - } - - /** - * Returns the package portion of the specified class - * @param className the name of the class from which to extract the - * package - * @return package portion of the specified class - */ - public static String getPackageName (final String className) - { - if (className != null) - { - final int index = className.lastIndexOf('.'); - - return ((index != -1) ? - className.substring(0, index) : ""); // NOI18N - } - - return null; - } - - /** - * Returns the name of a class without the package name. For example: if - * input = "java.lang.Object" , then output = "Object". - * @param className fully qualified classname - */ - public static String getShortClassName (final String className) - { - if (className != null) - { - final int index = className.lastIndexOf('.'); - - return className.substring(index + 1); - } - return null; - } - - // ================= primitive/wrapper class utilities ==================== - - /** Returns the wrapper class associated with the supplied primitive class. - * @param primitive the primitive class to be used for lookup. - * @return the associated wrapper class. - */ - public static Class getWrapperClass (Class primitive) - { - return (Class)_primitiveToWrappers.get(primitive); - } - - /** Returns the primitive class associated with the supplied primitive - * type name. - * @param primitiveName the name of the primitive to be used for lookup. - * @return the associated primitive class. - */ - public static Class getPrimitiveClass (String primitiveName) - { - return (Class)_primitiveNamesToPrimitives.get(primitiveName); - } - - /** Returns the name of the wrapper class associated with the supplied - * primitive type name. - * @param primitiveName the name of the primitive to be used for lookup. - * @return the associated wrapper class name. - */ - public static String getWrapperName (String primitiveName) - { - return (String)_primitiveNamesToWrapperNames.get(primitiveName); - } - - /** Returns the name of the primitive type associated with the supplied - * wrapper class. - * @param wrapper the wrapper class to be used for lookup. - * @return the associated primitive type name. - */ - public static String getPrimitiveName (Class wrapper) - { - return (String)_wrapperToPrimitiveNames.get(wrapper); - } - - /** Returns the Boolean wrapper object for true or false - * corresponding to the supplied argument. This is to provide a - * convenience method for this conversion but to prevent calling the - * Boolean constructor which has been determined to be unnecessary - * and a performance problem. JDK 1.4 provides such a method, but - * some of our code still works with JDK 1.3. - * @param flag the primitive boolean object to be translated to a - * Boolean wrapper. - * @return the associated true/false shared wrapper object - */ - public static Boolean valueOf (boolean flag) - { - return (flag ? Boolean.TRUE : Boolean.FALSE); - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Linkable.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Linkable.java deleted file mode 100644 index 253cf176976..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Linkable.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ConnectionImpl.java - * - * Create on March 3, 2000 - */ - -package com.sun.jdo.spi.persistence.utility; - - -/** - * This file defines a linkable interface. Any object that needs - * to be a member of com.forte.util.DoubleLinkedList should implement - * this interface. - */ -public interface Linkable -{ - public Linkable getNext(); - public Linkable getPrevious(); - public void setNext(Linkable node); - public void setPrevious(Linkable node); -} - diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/LogHelperUtility.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/LogHelperUtility.java deleted file mode 100644 index 5def38a810b..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/LogHelperUtility.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.utility; - - -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import com.sun.jdo.spi.persistence.utility.logging.LogHelper; - -/** LogHelper for utility package. - * @author Dave Bristor - */ -public class LogHelperUtility { - /** The component name for this component - */ - private static final String componentName = "utility"; // NOI18N - - /** The class loader for this component - */ - private static final ClassLoader loader = - LogHelperUtility.class.getClassLoader(); - - /** The bundle name for this component - */ - private static final String bundleName = - "com.sun.jdo.spi.persistence.utility.Bundle"; // NOI18N - - /** Return the logger for this component - */ - public static Logger getLogger() { - return LogHelper.getLogger(componentName, bundleName, loader); - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/MergedBundle.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/MergedBundle.java deleted file mode 100644 index cf51bf7d1a7..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/MergedBundle.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * MappingContext.java - * - * Created on January 28, 2002, 6:30 PM - */ - -package com.sun.jdo.spi.persistence.utility; - -import java.util.*; - -/** Special resource bundle which delegates to two others. - * Ideally could just set the parent on the first, but this is protected, - * so it might not work. It's still unclear whether that approach would work - * in this subclass because it may break the localization fall through - * mechanism if used. - * Note: This code is copied from NbBundle in the openide sources with - * the following modifications: - * - reformatting - * - making variables final - * - renaming variables and some params - * - removing locale code - * - creating the merged set of keys using jdk classes and not nb utils - * - * @author Rochelle Raccah - * @version %I% - */ -public class MergedBundle extends ResourceBundle -{ - private final ResourceBundle _mainBundle, _parentBundle; - - public MergedBundle (ResourceBundle mainBundle, - ResourceBundle parentBundle) - { - _mainBundle = mainBundle; - _parentBundle = parentBundle; - } - - public Enumeration getKeys () { return mergeKeys(); } - - private Enumeration mergeKeys () - { - Set noDuplicatesMerge = - new HashSet(getCollection(_mainBundle.getKeys())); - - noDuplicatesMerge.addAll(getCollection(_parentBundle.getKeys())); - - return Collections.enumeration(noDuplicatesMerge); - } - - private Collection getCollection (Enumeration enumeration) - { - List returnList = new ArrayList(); - - if (enumeration != null) - { - while (enumeration.hasMoreElements()) - returnList.add(enumeration.nextElement()); - } - - return returnList; - } - - protected Object handleGetObject (String key) - throws MissingResourceException - { - try - { - return _mainBundle.getObject(key); - } - catch (MissingResourceException mre) // try the other bundle - { - return _parentBundle.getObject(key); - } - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/NullSemaphore.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/NullSemaphore.java deleted file mode 100644 index 4b2f2334b2b..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/NullSemaphore.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.utility; - -import java.util.ResourceBundle; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - -/** Implements a simple semaphore that does not do any - * semaphore-ing. That is, the methods just immediately return. - * - * @author Dave Bristor - */ -// db13166: I would rather we use Doug Lea's stuff, but don't want to -// introduce that magnitude of change at this point in time. -public class NullSemaphore implements Semaphore { - /** Where to log messages about locking operations - */ - private static final Logger _logger = LogHelperUtility.getLogger(); - - /** For logging, indicates on whose behalf locking is done. - */ - private final String _owner; - - /** - * I18N message handler - */ - private final static ResourceBundle messages = - I18NHelper.loadBundle(SemaphoreImpl.class); - - public NullSemaphore(String owner) { - _owner = owner; - - if (_logger.isLoggable(Logger.FINEST)) { - Object[] items = new Object[] {_owner}; - _logger.finest("utility.nullsemaphore.constructor",items); // NOI18N - } - } - - /** Does nothing. - */ - public void acquire() { - - if (_logger.isLoggable(Logger.FINEST)) { - Object[] items = new Object[] {_owner}; - _logger.finest("utility.nullsemaphore.acquire",items); // NOI18N - } - } - - /** Does nothing. - */ - public void release() { - - if (_logger.isLoggable(Logger.FINEST)) { - Object[] items = new Object[] {_owner}; - _logger.finest("utility.nullsemaphore.release",items); // NOI18N - } - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/ParameterInfo.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/ParameterInfo.java deleted file mode 100644 index 2dabaa4bf7e..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/ParameterInfo.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * ParameterInfo - * - * Created on January 31, 2003 - */ - -package com.sun.jdo.spi.persistence.utility; - -//XXX FIXME This file may need to move under support/sqlstore. -public class ParameterInfo -{ - /** - * Parameter index. - * The index corresponds to JDO QL parameters. - */ - private final int index; - - /** Parameter type. See FieldTypeEnumeration for possible values. */ - private final int type; - - /** - * Associated field to a parameter for runtime processing. - * This is defined if and only if the corresponding subfilter is of - * the form: field [relational op] _jdoParam or - * _jdoParam [relational op] field - * Otherwise, this is null. - */ - private final String associatedField; - - /** Constructor */ - public ParameterInfo(int index, int type) - { - this(index, type, null); - } - - /** - * Constructs a new ParameterInfo with the specified index, type and - * associatedField. - * @param index - * @param type - * @param associatedField - */ - public ParameterInfo(int index, int type, String associatedField) - { - this.index = index; - this.type = type; - this.associatedField = associatedField; - } - - /** Returns the parameter index. */ - public int getIndex() - { - return index; - } - - /** Returns the parameter type. See FieldTypeEnumeration for possible values. */ - public int getType() - { - return type; - } - - /** - * Returns the associated field. - */ - public String getAssociatedField() - { - return associatedField; - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Semaphore.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Semaphore.java deleted file mode 100644 index 1833c8e392c..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/Semaphore.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.utility; - -/** The simplest of semaphore interfaces. - * - * @author Dave Bristor - */ -// db13166: I would rather we use Doug Lea's stuff, but don't want to -// introduce that magnitude of change at this point in time. -public interface Semaphore { - /** Acquire a lock. - */ - void acquire(); - - /** Release a lock. - */ - void release(); -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/SemaphoreImpl.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/SemaphoreImpl.java deleted file mode 100644 index 66a0857e8ea..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/SemaphoreImpl.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.utility; - -import java.util.ResourceBundle; -import com.sun.jdo.spi.persistence.utility.logging.Logger; -import org.glassfish.persistence.common.I18NHelper; - - -/** Implements a simple semaphore. - * - * @author Dave Bristor - * @author Marina Vatkina - */ -// db13166: I would rather we use Doug Lea's stuff, but don't want to -// introduce that magnitude of change at this point in time. -public class SemaphoreImpl implements Semaphore { - /** Where to log messages about locking operations - */ - private static final Logger _logger = LogHelperUtility.getLogger(); - - /** For logging, indicates on whose behalf locking is done. - */ - private final String _owner; - - /** Synchronizes the lock. - */ - private final Object _lock = new Object(); - - /** Thread which holds the lock. - */ - private Thread _holder = null; - - /** Semaphore counter. - */ - private int _counter = 0; - - /** - * I18N message handler - */ - private final static ResourceBundle messages = - I18NHelper.loadBundle(SemaphoreImpl.class); - - - public SemaphoreImpl(String owner) { - _owner = owner; - } - - /** Acquire a lock. - */ - public void acquire() { - boolean debug = _logger.isLoggable(Logger.FINEST); - - if (debug) { - Object[] items = new Object[] {_owner, Thread.currentThread(), _counter}; - _logger.finest("utility.semaphoreimpl.acquire",items); // NOI18N - } - - synchronized (_lock) { - // - // If the current thread already holds this lock, we simply - // update the count and return. - // - if (Thread.currentThread() == _holder) { - _counter++; - - } else { - while (_counter > 0) { - try { - // wait for the lock to be released - _lock.wait(); - } catch (InterruptedException e) { - } - } - _holder = Thread.currentThread(); - _counter++; - - if (debug) { - Object[] items = new Object[] {_owner, Thread.currentThread(), _counter}; - _logger.finest("utility.semaphoreimpl.gotlock",items); // NOI18N - } - } - } - } - - /** Release a lock. - */ - public void release() { - boolean debug = _logger.isLoggable(Logger.FINEST); - - if (debug) { - Object[] items = new Object[] {_owner, Thread.currentThread(), _counter}; - _logger.finest("utility.semaphoreimpl.release",items); // NOI18N - } - - synchronized (_lock) { - // - // If the current thread already holds this lock, we simply - // update the count and return. - // - if (Thread.currentThread() == _holder) { - if (--_counter == 0) { - _holder = null; - _lock.notify(); - } - } else { - throw new IllegalMonitorStateException( - I18NHelper.getMessage(messages, - "utility.semaphoreimpl.wrongthread", // NOI18N - new Object[] {_owner, Thread.currentThread()})); - } - } - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/WeakHashSet.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/WeakHashSet.java deleted file mode 100644 index 39083198c60..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/WeakHashSet.java +++ /dev/null @@ -1,214 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.utility; - -import java.util.*; -import java.lang.ref.*; - -/** - * A weak HashSet. An element stored in the WeakHashSet might be garbage collected, - * if there is no strong reference to this element. - */ -public class WeakHashSet - extends HashSet -{ - /** - * Helps to detect garbage collected values. - */ - ReferenceQueue queue = new ReferenceQueue(); - - /** - * Returns an iterator over the elements in this set. The elements - * are returned in no particular order. - * - * @return an Iterator over the elements in this set. - */ - public Iterator iterator () - { - // remove garbage collected elements - processQueue(); - - // get an iterator of the superclass WeakHashSet - final Iterator i = super.iterator(); - - return new Iterator () { - public boolean hasNext () - { - return i.hasNext(); - } - - public Object next () - { - // unwrap the element - return getReferenceObject((WeakReference)i.next()); - } - - public void remove () - { - // remove the element from the HashSet - i.remove(); - } - }; - } - - /** - * Returns true if this set contains the specified element. - * - * @param o element whose presence in this set is to be tested. - * @return true if this set contains the specified element. - */ - public boolean contains (Object o) - { - return super.contains(WeakElement.create(o)); - } - - /** - * Adds the specified element to this set if it is not already - * present. - * - * @param o element to be added to this set. - * @return true if the set did not already contain the specified - * element. - */ - public boolean add (Object o) - { - processQueue(); - return super.add(WeakElement.create(o, this.queue)); - } - - /** - * Removes the given element from this set if it is present. - * - * @param o object to be removed from this set, if present. - * @return true if the set contained the specified element. - */ - public boolean remove (Object o) - { - boolean ret = super.remove(WeakElement.create(o)); - processQueue(); - return ret; - } - - /** - * A convenience method to return the object held by the - * weak reference or null if it does not exist. - */ - private final Object getReferenceObject (WeakReference ref) - { - return ((ref != null) ? ref.get() : null); - } - - /** - * Removes all garbage collected values with their keys from the map. - * Since we don't know how much the ReferenceQueue.poll() operation - * costs, we should call it only in the put() method. - */ - private final void processQueue () - { - WeakElement wv = null; - - while ((wv = (WeakElement)this.queue.poll()) != null) - { - super.remove(wv); - } - } - - /** - * A WeakHashSet stores objects of class WeakElement. - * A WeakElement wraps the element that should be stored in the WeakHashSet. - * WeakElement inherits from java.lang.ref.WeakReference. - * It redefines equals and hashCode which delegate to the corresponding methods - * of the wrapped element. - */ - static private class WeakElement - extends WeakReference - { - private int hash; /* Hashcode of key, stored here since the key - may be tossed by the GC */ - - private WeakElement (Object o) - { - super(o); - hash = o.hashCode(); - } - - private WeakElement (Object o, ReferenceQueue q) - { - super(o, q); - hash = o.hashCode(); - } - - private static WeakElement create (Object o) - { - return (o == null) ? null : new WeakElement(o); - } - - private static WeakElement create (Object o, ReferenceQueue q) - { - return (o == null) ? null : new WeakElement(o, q); - } - - /* A WeakElement is equal to another WeakElement iff they both refer to objects - that are, in turn, equal according to their own equals methods */ - public boolean equals (Object o) - { - if (this == o) - return true; - if (!(o instanceof WeakElement)) - return false; - Object t = this.get(); - Object u = ((WeakElement)o).get(); - if ((t == null) || (u == null)) - return false; - if (t == u) - return true; - return t.equals(u); - } - - public int hashCode () - { - return hash; - } - - } - -} - diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/WeakValueHashMap.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/WeakValueHashMap.java deleted file mode 100644 index 5c3433d5c24..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/WeakValueHashMap.java +++ /dev/null @@ -1,467 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.utility; - -import java.lang.ref.ReferenceQueue; -import java.lang.ref.WeakReference; - -import java.util.AbstractCollection; -import java.util.AbstractSet; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.Set; - -/** - * A WeakValueHashMap is implemented as a HashMap that maps keys to - * WeakValues. Because we don't have access to the innards of the - * HashMap, we have to wrap/unwrap value objects with WeakValues on - * every operation. Fortunately WeakValues are small, short-lived - * objects, so the added allocation overhead is tolerable. This - * implementaton directly extends java.util.HashMap. - * - * @author Markus Fuchs - * @see java.util.HashMap - * @see java.lang.ref.WeakReference - */ - -public class WeakValueHashMap extends HashMap { - - /** - * Reference queue for cleared WeakValues. - * We do not expect instance of this class to be serialized. Marking a non serializable member as transient to make findbugs happy. - */ - private transient ReferenceQueue queue = new ReferenceQueue(); - - /** - * Returns the number of key-value mappings in this map.

    - * @return the number of key-value mappings in this map. - */ - public int size() { - // delegate to entrySet, as super.size() also counts WeakValues - return entrySet().size(); - } - - /** - * Returns true if this map contains no key-value mappings.

    - * @return true if this map contains no key-value mappings. - */ - public boolean isEmpty() { - return size() == 0; - } - - /** - * Returns true if this map contains a mapping for the specified - * key.

    - * @param key key whose presence in this map is to be tested - * @return true if this map contains a mapping for the specified - * key. - */ - public boolean containsKey(Object key) { - // need to clean up gc'ed values before invoking super method - processQueue(); - return super.containsKey(key); - } - - /** - * Returns true if this map maps one or more keys to the - * specified value.

    - * @param value value whose presence in this map is to be tested - * @return true if this map maps one or more keys to this value. - */ - public boolean containsValue(Object value) { - return super.containsValue(WeakValue.create(value)); - } - - /** - * Gets the value for the given key.

    - * @param key key whose associated value, if any, is to be returned - * @return the value to which this map maps the specified key. - */ - public Object get(Object key) { - // We don't need to remove garbage collected values here; - // if they are garbage collected, the get() method returns null; - // the next put() call with the same key removes the old value - // automatically so that it can be completely garbage collected - return getReferenceObject((WeakReference) super.get(key)); - } - - /** - * Puts a new (key,value) into the map.

    - * @param key key with which the specified value is to be associated. - * @param value value to be associated with the specified key. - * @return previous value associated with specified key, or null - * if there was no mapping for key or the value has been garbage - * collected by the garbage collector. - */ - public Object put(Object key, Object value) { - // If the map already contains an equivalent key, the new key - // of a (key, value) pair is NOT stored in the map but the new - // value only. But as the key is strongly referenced by the - // map, it can not be removed from the garbage collector, even - // if the key becomes weakly reachable due to the old - // value. So, it isn't necessary to remove all garbage - // collected values with their keys from the map before the - // new entry is made. We only clean up here to distribute - // clean up calls on different operations. - processQueue(); - - WeakValue oldValue = - (WeakValue)super.put(key, WeakValue.create(key, value, queue)); - return getReferenceObject(oldValue); - } - - /** - * Removes key and value for the given key.

    - * @param key key whose mapping is to be removed from the map. - * @return previous value associated with specified key, or null - * if there was no mapping for key or the value has been garbage - * collected by the garbage collector. - */ - public Object remove(Object key) { - return getReferenceObject((WeakReference) super.remove(key)); - } - - /** - * A convenience method to return the object held by the - * weak reference or null if it does not exist. - */ - private final Object getReferenceObject(WeakReference ref) { - return (ref == null) ? null : ref.get(); - } - - /** - * Removes all garbage collected values with their keys from the map. - * Since we don't know how much the ReferenceQueue.poll() operation - * costs, we should not call it every map operation. - */ - private void processQueue() { - WeakValue wv = null; - - while ((wv = (WeakValue) this.queue.poll()) != null) { - // "super" is not really necessary but use it - // to be on the safe side - super.remove(wv.key); - } - } - - /* -- Helper classes -- */ - - /** - * We need this special class to keep the backward reference from - * the value to the key, so that we are able to remove the key if - * the value is garbage collected. - */ - private static class WeakValue extends WeakReference { - /** - * It's the same as the key in the map. We need the key to remove - * the value if it is garbage collected. - */ - private Object key; - - private WeakValue(Object value) { - super(value); - } - - /** - * Creates a new weak reference without adding it to a - * ReferenceQueue. - */ - private static WeakValue create(Object value) { - if (value == null) return null; - else return new WeakValue(value); - } - - private WeakValue(Object key, Object value, ReferenceQueue queue) { - super(value, queue); - this.key = key; - } - - /** - * Creates a new weak reference and adds it to the given queue. - */ - private static WeakValue create(Object key, Object value, - ReferenceQueue queue) { - if (value == null) return null; - else return new WeakValue(key, value, queue); - } - - /** - * A WeakValue is equal to another WeakValue iff they both refer - * to objects that are, in turn, equal according to their own - * equals methods. - */ - public boolean equals(Object obj) { - if (this == obj) - return true; - - if (!(obj instanceof WeakValue)) - return false; - - Object ref1 = this.get(); - Object ref2 = ((WeakValue) obj).get(); - - if (ref1 == ref2) - return true; - - if ((ref1 == null) || (ref2 == null)) - return false; - - return ref1.equals(ref2); - } - - /** - * - */ - public int hashCode() { - Object ref = this.get(); - - return (ref == null) ? 0 : ref.hashCode(); - } - } - - /** - * Internal class for entries. This class wraps/unwraps the - * values of the Entry objects returned from the underlying map. - */ - private class Entry implements Map.Entry { - private Map.Entry ent; - private Object value; /* Strong reference to value, so that the - GC will leave it alone as long as this - Entry exists */ - - Entry(Map.Entry ent, Object value) { - this.ent = ent; - this.value = value; - } - - public Object getKey() { - return ent.getKey(); - } - - public Object getValue() { - return value; - } - - public Object setValue(Object value) { - // This call changes the map. Please see the comment on - // the put method for the correctness remark. - Object oldValue = this.value; - this.value = value; - ent.setValue(WeakValue.create(getKey(), value, queue)); - return oldValue; - } - - private boolean valEquals(Object o1, Object o2) { - return (o1 == null) ? (o2 == null) : o1.equals(o2); - } - - public boolean equals(Object o) { - if (!(o instanceof Map.Entry)) return false; - Map.Entry e = (Map.Entry) o; - return (valEquals(ent.getKey(), e.getKey()) - && valEquals(value, e.getValue())); - } - - public int hashCode() { - Object k; - return ((((k = ent.getKey()) == null) ? 0 : k.hashCode()) - ^ ((value == null) ? 0 : value.hashCode())); - } - - } - - /** - * Internal class for entry sets to unwrap/wrap WeakValues stored - * in the map. - */ - private class EntrySet extends AbstractSet { - - public Iterator iterator() { - // remove garbage collected elements - processQueue(); - - return new Iterator() { - Iterator hashIterator = hashEntrySet.iterator(); - Entry next = null; - - public boolean hasNext() { - if (hashIterator.hasNext()) { - // since we removed garbage collected elements, - // we can simply return the next entry. - Map.Entry ent = (Map.Entry) hashIterator.next(); - WeakValue wv = (WeakValue) ent.getValue(); - Object v = (wv == null) ? null : wv.get(); - next = new Entry(ent, v); - return true; - } - return false; - } - - public Object next() { - if ((next == null) && !hasNext()) - throw new NoSuchElementException(); - Entry e = next; - next = null; - return e; - } - - public void remove() { - hashIterator.remove(); - } - - }; - } - - public boolean isEmpty() { - return !(iterator().hasNext()); - } - - public int size() { - int j = 0; - for (Iterator i = iterator(); i.hasNext(); i.next()) j++; - return j; - } - - public boolean remove(Object o) { - if (!(o instanceof Map.Entry)) return false; - Map.Entry e = (Map.Entry) o; - Object ek = e.getKey(); - Object ev = e.getValue(); - Object hv = WeakValueHashMap.this.get(ek); - if (hv == null) { - // if the map's value is null, we have to check, if the - // entry's value is null and the map contains the key - if ((ev == null) && WeakValueHashMap.this.containsKey(ek)) { - WeakValueHashMap.this.remove(ek); - return true; - } else { - return false; - } - // otherwise, simply compare the values - } else if (hv.equals(ev)) { - WeakValueHashMap.this.remove(ek); - return true; - } - - return false; - } - - public int hashCode() { - int h = 0; - for (Iterator i = hashEntrySet.iterator(); i.hasNext(); ) { - Map.Entry ent = (Map.Entry) i.next(); - Object k; - WeakValue wv = (WeakValue) ent.getValue(); - if (wv == null) continue; - h += ((((k = ent.getKey()) == null) ? 0 : k.hashCode()) - ^ wv.hashCode()); - } - return h; - } - - } - - // internal helper variable, because we can't access - // entrySet from the superclass inside the EntrySet class - private Set hashEntrySet = null; - // stores the EntrySet instance - private Set entrySet = null; - - /** - * Returns a Set view of the mappings in this map.

    - * @return a Set view of the mappings in this map. - */ - public Set entrySet() { - if (entrySet == null) { - hashEntrySet = super.entrySet(); - entrySet = new EntrySet(); - } - return entrySet; - } - - // stores the value collection - private transient Collection values = null; - - /** - * Returns a Collection view of the values contained - * in this map.

    - * @return a Collection view of the values contained - * in this map. - */ - public Collection values() { - // delegates to entrySet, because super method returns - // WeakValues instead of value objects - if (values == null) { - values = new AbstractCollection() { - public Iterator iterator() { - return new Iterator() { - private Iterator i = entrySet().iterator(); - - public boolean hasNext() { - return i.hasNext(); - } - - public Object next() { - return ((Entry)i.next()).getValue(); - } - - public void remove() { - i.remove(); - } - }; - } - - public int size() { - return WeakValueHashMap.this.size(); - } - - public boolean contains(Object v) { - return WeakValueHashMap.this.containsValue(v); - } - }; - } - return values; - } - -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaClassWriter.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaClassWriter.java deleted file mode 100644 index cdbad27a2c9..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaClassWriter.java +++ /dev/null @@ -1,181 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JavaClassWriter.java - * - * Created on November 9, 2001, 2:27 PM - */ - -package com.sun.jdo.spi.persistence.utility.generator; - -import java.io.IOException; -import java.lang.reflect.Modifier; - -/** - * This interface can be used to describe a java class -- either - * top level or inner. The resulting class definition - * can be viewed by calling {@link java.lang.Object#toString}, but the entire - * source definition is only available when used with a JavaFileWriter. - *

    - * The order of the generated code is up to the implementation. For - * example, one implementation may accept fields and methods in any - * order and generate all fields together and all methods together, but - * maintain the order within the list of fields and methods. Another - * implementation may take the same input and generate fields and - * methods interspersed among each other in exactly the order they were - * added. Still another implementation may make no guarantee as to the - * order of members at all. - * - * @author raccah - */ -public interface JavaClassWriter -{ - /** Sets the information for the class declaration including modifiers, - * name, and comments. Note that the name must not be fully qualified. - * @param modifiers The modifier flags for this class. - * @param className The (non-qualified) name of this class. - * @param comments The comments shown just above the class declaration. - * The comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - * @throws IOException If the class declaration information cannot be set. - * @see java.lang.reflect.Modifier - */ - public void setClassDeclaration (int modifiers, String className, - String[] comments) throws IOException; - - /** Sets the superclass of this class. Note that the name format must - * be package style (that is - it can contain . but not / or $). - * @param name The name of the superclass. - * @throws IOException If the superclass cannot be set. - */ - public void setSuperclass (String name) throws IOException; - - /** Adds an interface to the list of those implemented by this class. - * @param name The name of the interface. - * @throws IOException If the interface cannot be added. - */ - public void addInterface (String name) throws IOException; - - /** Adds a field to the list of those declared by this class. Note - * that the type format must be package style (that is - it can contain - * . but not / or $). - * @param name The name of the field. - * @param modifiers The modifier flags for this field. - * @param type A string representing the type of this field. - * @param initialValue A string representing the initial value of - * this field. - * @param comments The comments shown just above the declaration of - * this field. The comments are passed as an array so the line - * separators can be added by the implementation. Note that not all - * implementations will choose to make use of this comment. - * @throws IOException If the field information cannot be added. - * @see java.lang.reflect.Modifier - */ - public void addField (String name, int modifiers, String type, - String initialValue, String[] comments) throws IOException; - - /** Adds an initializer to this class. - * @param isStatic True if this is a static initializer, false otherwise. - * @param body The implementation block of the initializer. The body of - * the implementation is passed as an array so the line separators can - * be added by the implementation. - * @param comments The comments shown just above the initializer block. - * The comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - * @throws IOException If the initializer information cannot be added. - */ - public void addInitializer (boolean isStatic, String[] body, - String[] comments) throws IOException; - - /** Adds a constructor to this class. Note that the type format in the - * parameter type strings must be package style (that is - it can contain - * . but not / or $). - * @param name The name of the constructor - should be the same as the - * name of the class. - * @param modifiers The modifier flags for this constructor. - * @param parameterNames A list of parameter names. - * @param parameterTypes A list of parameter types. - * @param exceptions A list of exceptions. - * @param body The implementation block of the constructor. The body of - * the implementation is passed as an array so the line separators can - * be added by the implementation. - * @param comments The comments shown just above the constructor. The - * comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - * @throws IOException If the constructor information cannot be added. - * @see java.lang.reflect.Modifier - */ - public void addConstructor (String name, int modifiers, - String[] parameterNames, String[] parameterTypes, String[] exceptions, - String[] body, String[] comments) throws IOException; - - /** Adds a method to this class. Note that the type format in the - * return type and parameter type strings must be package style - * (that is - it can contain . but not / or $). - * @param name The name of the method. - * @param modifiers The modifier flags for this method. - * @param returnType A string representing the return type of this method. - * @param parameterNames A list of parameter names. - * @param parameterTypes A list of parameter types. - * @param exceptions A list of exceptions. - * @param body The implementation block of the method. The body of - * the implementation is passed as an array so the line separators can - * be added by the implementation. - * @param comments The comments shown just above the method. The - * comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - * @throws IOException If the method information cannot be added. - * @see java.lang.reflect.Modifier - */ - public void addMethod (String name, int modifiers, String returnType, - String[] parameterNames, String[] parameterTypes, String[] exceptions, - String[] body, String[] comments) throws IOException; - - /** Adds an inner class to this class. - * @param classWriter The definition of the inner class. - * @throws IOException If the class information cannot be added. - */ - public void addClass (JavaClassWriter classWriter) throws IOException; -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaClassWriterHelper.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaClassWriterHelper.java deleted file mode 100644 index 4eb58ced635..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaClassWriterHelper.java +++ /dev/null @@ -1,431 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * JavaClassWriterHelper.java - * - * Created on December 03, 2001 - */ - -package com.sun.jdo.spi.persistence.utility.generator; - -import com.sun.jdo.spi.persistence.utility.JavaTypeHelper; - -import java.io.IOException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.StringTokenizer; - -/* - * This is the utility class for helper strings and type convertion. - * - * @author Marina Vatkina - */ -public class JavaClassWriterHelper extends JavaTypeHelper { - - public final static String javaExtension_ = ".java"; // NOI18N - public final static String void_ = "void"; // NOI18N - public final static String boolean_ = "boolean"; // NOI18N - public final static String byte_ = "byte"; // NOI18N - public final static String byteArray_ = "byte[]"; // NOI18N - public final static String param_ = "param"; // NOI18N - public final static String param0_ = "param0"; // NOI18N - public final static String null_ = "null"; // NOI18N - public final static String home_ = "home"; // NOI18N - public final static String delim_ = ";"; // NOI18N - public final static String paramInitializer_ = "\"\" + "; // NOI18N - public final static String paramSeparator_ = ", "; // NOI18N - public final static String paramList_ = ","; // NOI18N - public final static String paramConcatenator_ = " + \", \" + "; // NOI18N - public final static String space_ = " "; // NOI18N - public final static String none_ = ""; // NOI18N - public final static String escapedEmptyString_ = "\"\""; // NOI18N - public final static String dot_ = "."; // NOI18N - public final static String parenleft_ = "("; // NOI18N - public final static String parenright_ = ")"; // NOI18N - public final static String parenthesis_ = "()"; // NOI18N - public final static String new_ = "new"; // NOI18N - public final static String endLine_ = "\n"; // NOI18N - public final static String true_ = "true"; // NOI18N - public final static String false_ = "false"; // NOI18N - public final static String Collection_ = "java.util.Collection"; // NOI18N - public final static String Set_ = "java.util.Set"; // NOI18N - public final static String PersistenceCapable_ = "com.sun.jdo.api.persistence.support.PersistenceCapable"; // NOI18N - public final static String brackets_ = "[]"; // NOI18N - public final static String get_ = "get"; // NOI18N - public final static String set_ = "set"; // NOI18N - public final static String Oid_ = ".Oid"; // NOI18N - public final static String Helper_ = "_JDOHelper"; // NOI18N - public final static String returnNull_ = "return null;"; // NOI18N - public final static String fileName_ = "fileName"; // NOI18N - public final static String int_ = "int"; // NOI18N - public final static String String_ = "java.lang.String"; // NOI18N - public final static String Class_ = "java.lang.Class"; // NOI18N - public final static String Date_ = "java.util.Date"; // NOI18N - public final static String SqlDate_ = "java.sql.Date"; // NOI18N - public final static String SqlTime_ = "java.sql.Time"; // NOI18N - public final static String SqlTimestamp_ = "java.sql.Timestamp"; // NOI18N - - // This variable is used to construct both the type and method name - // e.g. setObjectField(), so it should be kept in a short version. - public final static String Object_ = "Object"; // NOI18N - - public final static String[] super_ = new String[] {"super();"}; // NOI18N - - // This String[] is used internally to replace "\t" with the element of this array - // that represents the corresponding indentation in spaces. - private final static String[] indentation_ = new String[] { - " ", // NOI18N - " ", // NOI18N - " ", // NOI18N - " "}; // NOI18N - - /** - * Converts method body into String array. - * @param body as String with each substring separated by "\n" - * @return method body as String array. - */ - public static String[] getBodyAsStrings(String body) { - StringTokenizer st = new StringTokenizer(body, endLine_); - String[] rc = new String[st.countTokens()]; - int ii = 0; - while(st.hasMoreTokens()) { - String s = st.nextToken(); - int i = s.lastIndexOf('\t'); - if (i > -1) - rc[ii] = indentation_[i] + s.substring(i + 1); - else - rc[ii] = s; - - ii++; - } - - return rc; - } - - /** - * Returns java Object wrapper Class corresponding to - * the primitive Class if the passed class represents a primitive. - * If the parameter is of Object type, it is returned. - * @param cls the primitive Class to find Object wrapper for. - * @return Object type Class. - */ - public static Class getWrapperType(Class cls) { - Class rc = getWrapperClass(cls); - if (rc == null) { // not a primitive - rc = cls; - } - - return rc; - } - - /** - * A helper method which generates an expression to wrap a primitive - * datatype to its corresponding wrapper class. - * @param exprType The class of the primitive type - * @param expr The expression representing a primtive typevalue - * @return A String containing the expression for wrapping the - * primitive datatype in its corresponding wrapperclass - */ - public static String getWrapperExpr(Class exprType, String expr) { - - StringBuilder wrapped = new StringBuilder(); - - wrapped.append(new_); - wrapped.append(space_); - wrapped.append(getWrapperType(exprType).getName()); - wrapped.append(parenleft_); - wrapped.append(expr); - wrapped.append(parenright_); - - return wrapped.toString(); - } - - /** Returns the name of the method to access the value of the primitive type - * of the wrapper class. - * example: boolean.class is mapped to "booleanValue()". - * @param primitiveType the class object of the primitive type. - * @return the name of the method to access the primitive value of the wrapper - */ - public static String getUnwrapMethodName(Class primitiveType) - { - return primitiveType.getName() + "Value()"; //NOI18N - } - - /** - * Returns name of the primitive type corresponding to - * the Object wrapper Class passed as a parameter. - * If the parameter is of primitive type, its name is - * returned. - * @param cls the Object wrapper Class to find name of - * the primitive type for. - * @return name of the primitive type as String. - */ - public static String getPrimitiveType(Class cls) { - String rc = getPrimitiveName(cls); - if (rc == null) { // not an Object - rc = cls.getName(); - } - - return rc; - } - - /** - * Returns exception type names as String[]. - * @param m the Method to identify exception types for. - * @return exception type names as String[]. - */ - public static String[] getExceptionNames(Method m) { - Class[] cls = m.getExceptionTypes(); - String[] rc = new String[cls.length]; - for (int ii = 0; ii < cls.length; ii++) { - rc[ii] = cls[ii].getName(); - } - return rc; - } - - /** - * Returns list of method parameter types in format - * type0[,type1[,...]] - * @param m the Method to identify list of method parameters for. - * @return list of method parameter types as String - */ - public static String getParameterTypesList(Method m) { - if (m == null) - return none_; - - StringBuilder buf = new StringBuilder(); - Class[] paramTypes = m.getParameterTypes(); - for (int i = 0; i < paramTypes.length; i++) { - if (i > 0) - buf.append(paramList_); - buf.append(getTypeRepr(paramTypes[i])); - } - return buf.toString(); - - } - - /** - * Returns list of method parameters in format - * param0[, param1[,...]] - * @param m the Method to identify list of method parameters for. - * @return list of method parameters as String - */ - public static String getParametersList(Method m) { - return getParametersListWithSeparator(m, paramSeparator_); - } - - /** - * Returns list of method parameters delimited by specified - * separator - * @param m the Method to identify list of method parameters for. - * @param sep the separator to be used to delimit the parameter names - * @return list of method parameters as String - */ - public static String getParametersListWithSeparator(Method m, String sep) { - int count = m.getParameterTypes().length; - StringBuilder rc = new StringBuilder(); - - for (int ii = 0; ii < count; ii++) { - if (ii > 0) - rc.append(sep); - - rc.append(param_ + ii); - } - return rc.toString(); - } - - /** - * Adds fields to a class parsing the multi-String property. - * @param prop String to use for field generation. - * @param modifiers other field modifiers for these fields. - * @param writer the Class writer. - * @throws IOException if writer fails to add a field. - */ - public static void addFields(String prop, int modifiers, JavaClassWriter writer) - throws IOException{ - String[] v = getBodyAsStrings(prop); - for (int i = 0; i < v.length; i++) { - StringTokenizer st = new StringTokenizer(v[i], space_); - String type = st.nextToken(); - String name = st.nextToken(); - StringBuilder value = new StringBuilder(); - while(st.hasMoreTokens()) - value.append(st.nextToken() + space_); - - int l = value.length(); - value.deleteCharAt(l - 1); // last space - writer.addField(name, // name - modifiers, // modifiers - type, // type - value.toString(), // value, - null); // comments - } - } - - /** - * Adds private fields to a class parsing the multi-String property. - * @param prop String to use for field generation. - * @param modifiers field modifiers for these fields. - * @throws IOException if writer fails to add a field. - */ - public static void addPrivateField(String prop, int modifiers, JavaClassWriter writer) - throws IOException{ - addFields(prop, Modifier.PRIVATE + modifiers, writer); - } - - - /** - * Adds a private void no-args method to a class with this method body. - * @param mname method name - * @param body the method body as String[] - * @throws IOException if writer fails to add a field. - */ - public static void addGenericMethod(String mname, - String[] body, JavaClassWriter writer) - throws IOException{ - addGenericMethod(mname, void_, body, writer); - } - - - /** - * Adds a private no-args method to a class with this method body - * and return type. - * @param mname method name - * @param type return type of the method - * @param body the method body as String[] - * @throws IOException if writer fails to add a field. - */ - public static void addGenericMethod(String mname, String type, - String[] body, JavaClassWriter writer) - throws IOException{ - addGenericMethod(mname, Modifier.PRIVATE, type, body, writer); - } - - /** - * Adds a private void no-args method to a class with this method body - * and modifiers. - * @param mname method name - * @param modifiers the method modifiers - * @param body the method body as String[] - * @throws IOException if writer fails to add a field. - */ - public static void addGenericMethod(String mname, int modifiers, - String[] body, JavaClassWriter writer) - throws IOException{ - addGenericMethod(mname, modifiers, void_, body, writer); - } - - /** - * Adds a private void no-args method to a class with this method body, - * modifiers, and return type. - * @param mname method name - * @param modifiers the method modifiers - * @param type return type of the method - * @param body the method body as String[] - * @throws IOException if writer fails to add a field. - */ - public static void addGenericMethod(String mname, int modifiers, - String type, String[] body, - JavaClassWriter writer) - throws IOException{ - writer.addMethod(mname, // name - modifiers, // modifiers - type, // returnType - null, // parameterNames - null,// parameterTypes - null,// exceptions - body, // body - null);// comments - } - - /** - * Adds a method to a class parsing the multi-String property. - * @param m Method that describes one to be added to the bean. - * @param mname method name if different from Method#getName(). This - * will be true for finder/selector/create methods. - * @param mtype return type of the method, that can differ from the - * bean's local or remote interface. - * @param body String to use for method body generation. - * @throws IOException if writer fails to add a field. - */ - public static void addGenericMethod(Method m, String mname, - String mtype, String body, - JavaClassWriter writer) - throws IOException{ - - Class[] types = m.getParameterTypes(); - int count = types.length; - String[] parameterTypes = new String[count]; - String[] parameterNames = new String[count]; - for (int ii = 0; ii < count; ii++) { - parameterTypes[ii] = getTypeRepr(types[ii]); - parameterNames[ii] = param_ + ii; - } - - String[] exceptionTypes = getExceptionNames(m); - - int modifiers = m.getModifiers(); - if (Modifier.isAbstract(modifiers)) - modifiers -= Modifier.ABSTRACT; - - writer.addMethod(mname, // name - modifiers, // modifiers - mtype, // returnType - parameterNames, // parameterNames - parameterTypes,// parameterTypes - exceptionTypes,// exceptions - getBodyAsStrings(body), // body - null);// comments - } - - /** - * Returns the String representation of the specified class instance. - * An array is represented as the name of the element type followed by []. - */ - public static String getTypeRepr(Class clazz) - { - return (clazz.isArray() ? - getTypeRepr(clazz.getComponentType()) + brackets_ : - clazz.getName()); - } - -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaFileWriter.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaFileWriter.java deleted file mode 100644 index a18d1f0b93f..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/JavaFileWriter.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * JavaFileWriter.java - * - * Created on November 14, 2001, 5:11 PM - */ - -package com.sun.jdo.spi.persistence.utility.generator; - -import java.io.IOException; - -/** - * This interface can be used to describe a java source file. The resulting - * source definition can be viewed by calling {@link java.lang.Object#toString} - * or saved to a file by calling {@link #save}. The semantics of this - * interface are as follows: - * - Resource allocation is deferred to save - there is no need to worry about - * resource cleanup if an IOException is thrown from other methods (addImport, - * setPackage, addClass). - * - Any implementation of this interface must handle the closing of resources - * during save if an exception is thrown. - * - *

    - * Use this interface in conjunction with one or more {@link JavaClassWriter} - * instances to describe the class(es) in a java file. - * - * @author raccah - */ -public interface JavaFileWriter -{ - /** Sets the package for this file. Note that the package name format - * must be package style (that is - it can contain . but not / or $). - * @param packageName The name of the package for this source file. - * @param comments The comments shown just above the package statement. - * The comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - * @throws IOException If the package cannot be set. - */ - public void setPackage (String packageName, String[] comments) - throws IOException; - - /** Adds an import statement for this source file. - * @param importName Name of the class or package (including the *) to be - * imported. This string should not contain "import" or the ; - * @param comments The comments shown just above the import statement. - * The comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - * @throws IOException If the import information cannot be added. - */ - public void addImport (String importName, String[] comments) - throws IOException; - - /** Adds a class to this source file. - * @param classWriter The definition of the class. - * @throws IOException If the class information cannot be added. - */ - public void addClass (JavaClassWriter classWriter) throws IOException; - - /** Saves the file by writing out the source contents to whatever - * file (or alternate representation) was specified (usually by the - * constructor of the implementation class. - * @throws IOException If the file cannot be saved. - */ - public void save () throws IOException; -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/Bundle.properties b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/Bundle.properties deleted file mode 100644 index 15bb35dde7d..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/Bundle.properties +++ /dev/null @@ -1,46 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO80000 - JDO80999 -############################################################################### -# {0}=dir name -utility.unable_create_destination_directory=JDO80000: Unable to create destination directory {0}. diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/FormattedWriter.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/FormattedWriter.java deleted file mode 100644 index f3a3ecdf174..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/FormattedWriter.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * FormattedWriter.java - * - * Created on November 14, 2001, 5:50 PM - */ - -package com.sun.jdo.spi.persistence.utility.generator.io; - -import java.util.Iterator; -import java.util.List; -import java.util.StringTokenizer; - - -/** - * - * @author raccah - */ -class FormattedWriter -{ - static private final String lineSeparator = - System.getProperty("line.separator"); - static private final String indent = " "; // NOI18N - - private StringBuilder _buffer; - private int _initialIndents = 0; - - /** Creates new FormattedWriter */ - FormattedWriter () - { - } - - private StringBuilder getBuffer () - { - if (_buffer == null) - _buffer = new StringBuilder(); - - return _buffer; - } - - /** Returns a string representation of the FormattedWriter. - * @return The string representation of the internal StringBuilder - * used by this object. - */ - public String toString () { return getBuffer().toString(); } - - void writeComments (final String[] comments) - { - final int n = (comments != null ? comments.length : 0); - - for (int i = 0; i < n; i++) - { - final String s = comments[i]; - - writeln("// " + (s != null ? s : "")); // NOI18N - } - } - - private void _write (final int indents, final String s) - { - final StringBuilder buffer = getBuffer(); - - if (!s.equals(lineSeparator)) - { - for (int i = 0; i < indents; i++) - buffer.append(indent); - } - - buffer.append(s); - } - - void write (final int indents, final String s) - { - _write(indents + _initialIndents, s); - } - - void write (final String s) - { - _write(0, s); - } - - void writeln (final int indents, final String s) - { - if (_initialIndents > 0) - _write(_initialIndents, ""); // NOI18N - - _write(indents, s + lineSeparator); - } - - void writeln (final String s) - { - writeln(0, s); - } - - void writeln () - { - writeln(0, ""); // NOI18N - } - - void writeList (final int indents, final List list, - final boolean addSeparator) - { - if ((list != null) && (list.size() > 0)) - { - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - indent(indents, iterator.next().toString()); - - if (addSeparator) - writeln(); - } - - if (!addSeparator) - writeln(); - } - } - - void writeList (final int indents, final List list) - { - writeList(indents, list, false); - } - - void writeList (final List list) - { - writeList(0, list); - } - - private void indent (final int indents, final String s) - { - if (s.indexOf(lineSeparator) != -1) - { - StringTokenizer tokenizer = - new StringTokenizer(s, lineSeparator, true); - - while (tokenizer.hasMoreTokens()) - write(indents, tokenizer.nextToken()); - } - else - write(indents, s); - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/IOJavaClassWriter.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/IOJavaClassWriter.java deleted file mode 100644 index 9efbf8a09b2..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/IOJavaClassWriter.java +++ /dev/null @@ -1,417 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018-2019] Payara Foundation and/or affiliates - -/* - * IOJavaClassWriter.java - * - * Created on November 12, 2001, 4:59 PM - */ - -package com.sun.jdo.spi.persistence.utility.generator.io; - -import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriter; -import org.glassfish.common.util.StringHelper; - -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * This implementation of the {@link JavaClassWriter} interface is based on - * simple {@link java.lang.StringBuilder} "println" type statements. - *

    - * The order of the generated code in this implementation depends on the - * initialization. The default order is to accept fields and methods in any - * order and generate all fields together and all methods together (by member - * category). Specifying the ordered parameter in the constructor will lead - * to a slightly different order: generation of fields and methods - * interspersed among each other in exactly the order they were added (no - * member categories). - * - * @author raccah - */ -public final class IOJavaClassWriter implements JavaClassWriter -{ - private static final String FIELD = "FIELD"; // NOI18N - private static final String INITIALIZER = "INITIALIZER"; // NOI18N - private static final String CONSTRUCTOR = "CONSTRUCTOR"; // NOI18N - private static final String METHOD = "METHOD"; // NOI18N - private static final String INNER_CLASS = "INNER_CLASS"; // NOI18N - private static final String MIXED = "MIXED"; // NOI18N - private static final String COMMA_SEPARATOR = ", "; // NOI18N - - private boolean _maintainCategories; - private String _superclass; - private String _classDeclarationBlock; - private List _interfaces = new ArrayList(); - private Map _members = new HashMap(); - - /** Creates a new instance of IOJavaClassWriter which maintains the - * order of member input but groups them by category. - * @see #IOJavaClassWriter(boolean) - */ - public IOJavaClassWriter () - { - this(true); - } - - /** Creates a new instance of IOJavaClassWriter in which the order of the - * generated code depends on the specified flag. - * @param maintainCategories If true, the order of members is - * preserved within category groups. If false, the - * generation of fields and methods will be interspersed among each other - * in exactly the order they were added with no member categories. - */ - public IOJavaClassWriter (boolean maintainCategories) - { - _maintainCategories = maintainCategories; - } - - /** Sets the information for the class declaration including modifiers, - * name, and comments. Note that the name must not be fully qualified. - * @param modifiers The modifier flags for this class. - * @param className The (non-qualified) name of this class. - * @param comments The comments shown just above the class declaration. - * The comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - * @see java.lang.reflect.Modifier - */ - public void setClassDeclaration (final int modifiers, - final String className, final String[] comments) - { - final FormattedWriter writerHelper = new FormattedWriter(); - final String modifierString = Modifier.toString(modifiers); - - writerHelper.writeComments(comments); - - writerHelper.writeln(modifierString + ((modifierString.length() > 0) - ? " " : "") + "class " + className); // NOI18N - - _classDeclarationBlock = writerHelper.toString(); - } - - /** Sets the superclass of this class. Note that the name format must - * be package style (that is - it can contain . but not / or $). - * @param name The name of the superclass. - */ - public void setSuperclass (final String name) - { - _superclass = name; - } - - /** Adds an interface to the list of those implemented by this class. - * @param name The name of the interface. - */ - public void addInterface (final String name) - { - if (!StringHelper.isEmpty(name)) - _interfaces.add(name); - } - - /** Adds a field to the list of those declared by this class. Note - * that the type format must be package style (that is - it can contain - * . but not / or $). - * @param name The name of the field. - * @param modifiers The modifier flags for this field. - * @param type A string representing the type of this field. - * @param initialValue A string representing the initial value of - * this field. - * @param comments The comments shown just above the declaration of - * this field. The comments are passed as an array so the line - * separators can be added by the implementation. Note that not all - * implementations will choose to make use of this comment. - * @see java.lang.reflect.Modifier - */ - public void addField (final String name, final int modifiers, String type, - final String initialValue, final String[] comments) - { - final FormattedWriter writerHelper = new FormattedWriter(); - final String fieldString = - Modifier.toString(modifiers) + ' ' + type + ' ' + name; - - writerHelper.writeComments(comments); - writerHelper.writeln(fieldString + ((initialValue != null) ? - (" = " + initialValue) : "") + ';'); // NOI18N - - getMemberList(FIELD).add(writerHelper.toString()); - } - - /** Adds an initializer to this class. - * @param isStatic True if this is a static initializer, false otherwise. - * @param body The implementation block of the initializer. The body of - * the implementation is passed as an array so the line separators can - * be added by the implementation. - * @param comments The comments shown just above the initializer block. - * The comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - */ - public void addInitializer (boolean isStatic, String[] body, - String[] comments) - { - final FormattedWriter writerHelper = new FormattedWriter(); - final int n = (body != null ? body.length : 0); - - writerHelper.writeComments(comments); - - // header - writerHelper.writeln(isStatic ? "static" : ""); // NOI18N - writerHelper.writeln("{"); // NOI18N - - // implementation - for (int i = 0; i < n; i++) - writerHelper.writeln(1, body[i]); - - // end - writerHelper.writeln("}"); // NOI18N - - getMemberList(INITIALIZER).add(writerHelper.toString()); - } - - /** Adds a constructor to this class. Note that the type format in the - * parameter type strings must be package style (that is - it can contain - * . but not / or $). - * @param name The name of the constructor - should be the same as the - * name of the class. - * @param modifiers The modifier flags for this constructor. - * @param parameterNames A list of parameter names. - * @param parameterTypes A list of parameter types. - * @param exceptions A list of exceptions. - * @param body The implementation block of the constructor. The body of - * the implementation is passed as an array so the line separators can - * be added by the implementation. - * @param comments The comments shown just above the constructor. The - * comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - * @see java.lang.reflect.Modifier - */ - public void addConstructor (final String name, final int modifiers, - final String[] parameterNames, final String[] parameterTypes, - final String[] exceptions, final String[] body, final String[] comments) - { - addMethod(name, modifiers, null, parameterNames, parameterTypes, - exceptions, body, comments, getMemberList(CONSTRUCTOR)); - } - - /** Adds a method to this class. Note that the type format in the - * return type and parameter type strings must be package style - * (that is - it can contain . but not / or $). - * @param name The name of the method. - * @param modifiers The modifier flags for this method. - * @param returnType A string representing the return type of this method. - * @param parameterNames A list of parameter names. - * @param parameterTypes A list of parameter types. - * @param exceptions A list of exceptions. - * @param body The implementation block of the method. The body of - * the implementation is passed as an array so the line separators can - * be added by the implementation. - * @param comments The comments shown just above the method. The - * comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - * @see java.lang.reflect.Modifier - */ - public void addMethod (final String name, final int modifiers, - final String returnType, final String[] parameterNames, - final String[] parameterTypes, final String[] exceptions, - final String[] body, final String[] comments) - { - addMethod(name, modifiers, returnType, parameterNames, parameterTypes, - exceptions, body, comments, getMemberList(METHOD)); - } - - /** Adds an inner class to this class. - * @param classWriter The definition of the inner class. - */ - public void addClass (final JavaClassWriter classWriter) - { - if (classWriter != null) - getMemberList(INNER_CLASS).add(classWriter); - } - - /** Returns a string representation of this object. - * @return The string representation of the generated class. - */ - public String toString () - { - final FormattedWriter writerHelper = new FormattedWriter(); - - writeClassDeclaration(writerHelper); // class declaration - writeMembers(writerHelper); // members - writerHelper.writeln("}"); // NOI18N // closing - writerHelper.writeln(); - - return writerHelper.toString(); - } - - private void addMethod (final String name, final int modifiers, - final String returnType, final String[] parameterNames, - final String[] parameterTypes, final String[] exceptions, - final String[] body, final String[] comments, List methodList) - { - final String signature = createMethodSignature(name, modifiers, - returnType, parameterNames, parameterTypes, exceptions); - final FormattedWriter writerHelper = new FormattedWriter(); - final int n = (body != null ? body.length : 0); - - writerHelper.writeComments(comments); - - // signature==null if we have an instance initializer - if (signature.length() > 0) - writerHelper.writeln(signature); - - writerHelper.writeln("{"); // NOI18N - - // implementation - for (int i = 0; i < n; i++) - writerHelper.writeln(1, body[i]); - - // end - writerHelper.writeln("}"); // NOI18N - - methodList.add(writerHelper.toString()); - } - - static private String createMethodSignature (final String name, - final int modifiers, String returnType, final String[] parameterNames, - final String[] parameterTypes, final String[] exceptions) - { - int i, count = (parameterNames != null ? parameterNames.length : 0); - final FormattedWriter writerHelper = new FormattedWriter(); - - if (modifiers != 0) - writerHelper.write(Modifier.toString(modifiers) + ' '); - - writerHelper.write(((returnType != null) ? - returnType + " " : "") + name); // NOI18N - - // parameters - writerHelper.write(" ("); // NOI18N - - for (i = 0; i < count; i++) - { - writeListElement(i, count, parameterTypes[i] + ' ' + - parameterNames[i], writerHelper); - } - writerHelper.write(")"); // NOI18N - - // exceptions - count = (exceptions != null ? exceptions.length : 0); - if (count > 0) - { - writerHelper.writeln(); - writerHelper.write(1, "throws "); // NOI18N - - for (i = 0; i < count; i++) - writeListElement(i, count, exceptions[i], writerHelper); - } - - return writerHelper.toString(); - } - - static private void writeListElement (int i, int count, String string, - FormattedWriter writerHelper) - { - int indent = ((i == 0) ? 0 : 1); - - if (i == (count - 1)) - writerHelper.write(indent, string); - else - writerHelper.writeln(indent, string + COMMA_SEPARATOR); - } - - private List getMemberList (String memberType) - { - Object memberList = null; - - if (!_maintainCategories) - memberType = MIXED; - - memberList = _members.get(memberType); - if (memberList == null) - { - memberList = new ArrayList(); - - _members.put(memberType, memberList); - } - - return (List)memberList; - } - - private void writeClassDeclaration (FormattedWriter writerHelper) - { - // class declaration block - writerHelper.write(_classDeclarationBlock); - - // extends - if (_superclass != null) - writerHelper.writeln(1, "extends " + _superclass); // NOI18N - - // implements - if ((_interfaces != null) && (_interfaces.size() > 0)) - { - writerHelper.write(1, "implements "); // NOI18N - writerHelper.write(StringHelper.arrayToSeparatedList( - _interfaces, COMMA_SEPARATOR)); - writerHelper.writeln(); - } - - writerHelper.writeln("{"); // NOI18N - } - - private void writeMembers (FormattedWriter writerHelper) - { - if (_maintainCategories) - { - writerHelper.writeList(1, getMemberList(FIELD)); - writerHelper.writeList(1, getMemberList(INITIALIZER)); - writerHelper.writeList(1, getMemberList(CONSTRUCTOR)); - writerHelper.writeList(1, getMemberList(METHOD)); - writerHelper.writeList(1, getMemberList(INNER_CLASS)); - } - else - writerHelper.writeList(1, getMemberList(MIXED), true); - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/IOJavaFileWriter.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/IOJavaFileWriter.java deleted file mode 100644 index 40c06c796eb..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/generator/io/IOJavaFileWriter.java +++ /dev/null @@ -1,196 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -/* - * IOJavaFileWriter.java - * - * Created on November 14, 2001, 5:19 PM - */ - -package com.sun.jdo.spi.persistence.utility.generator.io; - -import com.sun.jdo.spi.persistence.utility.generator.JavaClassWriter; -import com.sun.jdo.spi.persistence.utility.generator.JavaFileWriter; -import org.glassfish.persistence.common.I18NHelper; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.ResourceBundle; - -/** - * This implementation of the {@link JavaFileWriter} interface is based on - * {@link java.io.File} and simple {@link java.lang.StringBuilder} "println" - * type statements. - *

    - * Use this interface in conjunction with one or more {@link JavaClassWriter} - * instances to describe the class(es) in a java file. - * - * @author raccah - */ -public class IOJavaFileWriter implements JavaFileWriter -{ - /** I18N message handler */ - private static final ResourceBundle _messages = - I18NHelper.loadBundle(IOJavaFileWriter.class); - - private File _file; - private String _packageBlock; - private List _importStatements = new ArrayList(); - private List _classes = new ArrayList(); - - /** Creates a new instance of IOJavaFileWriter. - * @param file The file object which will be used at save time. - */ - public IOJavaFileWriter (File file) - { - _file = file; - } - - /** @return I18N message handler for this element - */ - protected static final ResourceBundle getMessages () { return _messages; } - - /** Sets the package for this file. Note that the package name format - * must be package style (that is - it can contain . but not / or $). - * @param packageName The name of the package for this source file. - * @param comments The comments shown just above the package statement. - * The comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - */ - public void setPackage (final String packageName, final String[] comments) - { - final FormattedWriter writerHelper = new FormattedWriter(); - - writerHelper.writeComments(comments); - if (packageName != null && packageName.length() > 0) - { - writerHelper.writeln("package " + packageName + ';'); // NOI18N - writerHelper.writeln(); - } - - _packageBlock = writerHelper.toString(); - } - - /** Adds an import statement for this source file. - * @param importName Name of the class or package (including the *) to be - * imported. This string should not contain "import" or the ; - * @param comments The comments shown just above the import statement. - * The comments are passed as an array so the line separators can be added - * by the implementation. Note that not all implementations will choose - * to make use of this comment. - */ - public void addImport (final String importName, final String[] comments) - { - final FormattedWriter writerHelper = new FormattedWriter(); - - writerHelper.writeComments(comments); - if (importName != null && importName.length() > 0) - writerHelper.writeln("import " + importName + ';'); // NOI18N - - _importStatements.add(writerHelper.toString()); - } - - /** Adds a class to this source file. - * @param classWriter The definition of the class. - */ - public void addClass (final JavaClassWriter classWriter) - { - if (classWriter != null) - _classes.add(classWriter); - } - - /** Saves the file by writing out the source contents to whatever - * file (or alternate representation) was specified (usually by the - * constructor of the implementation class. - * @throws IOException If the file cannot be saved. - */ - public void save () throws IOException - { - if (_file != null) - { - final File directory = _file.getParentFile(); - final FileWriter fileWriter; - - if (directory != null) - { - if (!directory.exists() && !directory.mkdirs()) - { - throw new IOException(I18NHelper.getMessage(getMessages(), - "utility.unable_create_destination_directory", // NOI18N - directory.getPath())); - } - } - - fileWriter = new FileWriter(_file); - - try - { - fileWriter.write(toString()); - } - finally - { - fileWriter.close(); - } - } - } - - /** Returns a string representation of this object. - * @return The string representation of the generated file. - */ - public String toString () - { - final FormattedWriter writerHelper = new FormattedWriter(); - - // package block - writerHelper.writeln(); - if (_packageBlock != null) - writerHelper.write(_packageBlock); - - writerHelper.writeList(_importStatements); // imports - writerHelper.writeList(_classes); // classes - - return writerHelper.toString(); - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/AbstractLogger.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/AbstractLogger.java deleted file mode 100644 index f04860cbf36..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/AbstractLogger.java +++ /dev/null @@ -1,921 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portion Copyright [2018-2019] Payara Foundation and/or affiliates - -/* - * AbstractLogger.java - * - * Created on May 14, 2002, 12:35 PM - */ - -package com.sun.jdo.spi.persistence.utility.logging; - -import java.io.*; -import java.util.*; -import java.text.MessageFormat; - -import org.glassfish.persistence.common.I18NHelper; -import org.glassfish.common.util.StringHelper; - -/** - * This class provides a default implementation of the - * com.sun.jdo.spi.persistence.utility.logging.Logger interface which - * implements most methods and/or delegates them to a few - * abstract methods which subclasses must override. - * - * @author Rochelle Raccah - * @version %I% - */ -abstract public class AbstractLogger implements Logger -{ - /** I18N message handler for this class */ - private static final ResourceBundle _messages = - I18NHelper.loadBundle(AbstractLogger.class); - - /** Default level if none supplied */ - private static final int _defaultLevel = INFO; - - /** Level Separator for Logger Level specification */ - private static final char _levelSeparator='.'; - - private static Map _levelNamesToValues; - - private static boolean _hasLoggingProperties = true; - private static Properties _loggingProperties; - - /** Resource bundle for this (named) logger */ - private final ResourceBundle _bundle; - - /** Name for this logger */ - private final String _loggerName; - - /** Level for this logger */ - private final int _level; - - static - { - _levelNamesToValues = new HashMap(); - _levelNamesToValues.put("ALL", new Integer(ALL)); // NOI18N - _levelNamesToValues.put("FINEST", new Integer(FINEST)); // NOI18N - _levelNamesToValues.put("FINER", new Integer(FINER)); // NOI18N - _levelNamesToValues.put("FINE", new Integer(FINE)); // NOI18N - _levelNamesToValues.put("CONFIG", new Integer(CONFIG)); // NOI18N - _levelNamesToValues.put("INFO", new Integer(INFO)); // NOI18N - _levelNamesToValues.put("WARNING", new Integer(WARNING)); // NOI18N - _levelNamesToValues.put("SEVERE", new Integer(SEVERE)); // NOI18N - _levelNamesToValues.put("OFF", new Integer(OFF)); // NOI18N - } - - /** Creates a new AbstractLogger. The supplied class loader or the - * loader which loaded this class must be able to load the bundle. - * @param loggerName the full domain name of this logger - * @param bundleName the bundle name for message translation - * @param loader the loader used for looking up the bundle file - * and possibly the logging.properties or alternative file - */ - public AbstractLogger (String loggerName, String bundleName, - ClassLoader loader) - { - _loggerName = loggerName; - _level = readLoggingLevel(loggerName); - _bundle = I18NHelper.loadBundle(bundleName, loader); - } - - /** Get the message bundle for the AbstractLogger itself. - */ - protected static ResourceBundle getMessages () { return _messages; } - - private static Map getLevelNameMap () { return _levelNamesToValues; } - - // mostly copied from LogManager's readConfiguration() in jdk1.4 - private static synchronized Properties getLoggingProperties () - { - if (_hasLoggingProperties && (_loggingProperties == null)) - { - String fileName = - System.getProperty("java.util.logging.config.file"); // NOI18N - - if (fileName == null) - { - fileName = System.getProperty("java.home"); // NOI18N - - if (fileName != null) - { - File file = new File(fileName, "lib"); // NOI18N - - file = new File(file, "logging.properties"); // NOI18N - - try - { - fileName = file.getCanonicalPath(); - } - catch (IOException ioe) - { - fileName = null; - } - } - } - - if (fileName != null) - { - InputStream inputStream = null; - File file = null; - - try - { - Properties properties = new Properties(); - BufferedInputStream bufferedInputStream = null; - - inputStream = new FileInputStream(fileName); - bufferedInputStream = new BufferedInputStream(inputStream); - properties.load(bufferedInputStream); - _loggingProperties = properties; - } - catch (Exception e) - { - _hasLoggingProperties = false; - } - finally - { - if (inputStream != null) - { - try - { - inputStream.close(); - } - catch (IOException ioe) - { - // couldn't close it for some reason - } - } - } - } - else - _hasLoggingProperties = false; - } - - return _loggingProperties; - } - - /** Return the string name of a level given its int value. - * @return a string representing the level - */ - public static String toString (int level) - { - String bundleKey = null; - - switch (level) - { - case Logger.OFF: - bundleKey = "utility.level_off"; // NOI18N - break; - case Logger.SEVERE: - bundleKey = "utility.level_severe"; // NOI18N - break; - case Logger.WARNING: - bundleKey = "utility.level_warning"; // NOI18N - break; - case Logger.INFO: - bundleKey = "utility.level_info"; // NOI18N - break; - case Logger.CONFIG: - bundleKey = "utility.level_config"; // NOI18N - break; - case Logger.FINE: - bundleKey = "utility.level_fine"; // NOI18N - break; - case Logger.FINER: - bundleKey = "utility.level_finer"; // NOI18N - break; - case Logger.FINEST: - bundleKey = "utility.level_finest"; // NOI18N - break; - case Logger.ALL: - bundleKey = "utility.level_all"; // NOI18N - break; - } - - return ((bundleKey != null) ? - I18NHelper.getMessage(getMessages(), bundleKey) : null); - } - - /** Get the message bundle for the named instance of the logger. - */ - protected ResourceBundle getBundle () { return _bundle; } - - public int getLevel () { return _level; } - - private int readLoggingLevel (String loggerName) - { - String value = findLevelMatch(loggerName); - int level = _defaultLevel; - - if (value != null) - { - Object lookupValue = null; - - value = value.trim(); - lookupValue = getLevelNameMap().get(value); - - if (lookupValue != null) - level = ((Integer)lookupValue).intValue(); - else // maybe a number was specified - { - try - { - level = Integer.parseInt(value); - } - catch (NumberFormatException nfe) - { - // level will be the default - } - } - } - - return level; - } - - /** Find the best matched logging level from the logging properties - *@param loggerName the name of the hierarchical - *@return a String representing the level value - */ - private String findLevelMatch (String loggerName) - { - Properties properties = getLoggingProperties(); - String value = null; - - if (properties != null) - { - while (value == null) - { - int lastIndex = loggerName.lastIndexOf(_levelSeparator); - - value = properties.getProperty(loggerName + ".level"); // NOI18N - - if (loggerName.trim().length() > 0) - { - loggerName = ((lastIndex == -1) ? "" : // NOI18N - loggerName.substring(0, lastIndex)); - } - else - return value; - } - } - - return value; - } - - /** Return whether logging is enabled at the FINE level. This method - * is not exact because to make it accurately reflect the logging level - * we would have to include the JDK 1.4 java.util.logging.Level class. - * This method does not delegate to isLoggable(FINE) for performance - * reasons. - * @return whether logging is enabled at the fine level. - */ - public boolean isLoggable () { return (FINE >= getLevel()); } - - /** - * Check if a message of the given level would actually be logged - * by this logger. This check is based on the Logger's effective level, - * which may be inherited from its parent. - * - * @return true if the given message level is currently being logged. - * @param levelValue the level to check - */ - public boolean isLoggable (int levelValue) - { - return (levelValue >= getLevel()); - } - - /** - * Log a method entry. - *

    - * This is a convenience method that can be used to log entry - * to a method. A LogRecord with message "ENTRY", log level - * FINER, and the given sourceMethod and sourceClass is logged. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of method that is being entered - */ - public void entering (String sourceClass, String sourceMethod) - { - entering(sourceClass, sourceMethod, (Object[])null); - } - - /** - * Log a method entry, with one parameter. - *

    - * This is a convenience method that can be used to log entry - * to a method. A LogRecord with message "ENTRY {0}", log level - * FINER, and the given sourceMethod, sourceClass, and parameter - * is logged. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of method that is being entered - * @param param1 parameter to the method being entered - */ - public void entering (String sourceClass, String sourceMethod, - Object param1) - { - if (isLoggable(FINER)) - entering(sourceClass, sourceMethod, new Object[]{param1}); - } - - /** - * Log a method entry, with an array of parameters. - *

    - * This is a convenience method that can be used to log entry - * to a method. A LogRecord with message "ENTRY" (followed by a - * format {N} indicator for each entry in the parameter array), - * log level FINER, and the given sourceMethod, sourceClass, and - * parameters is logged. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of method that is being entered - * @param params array of parameters to the method being entered - */ - public void entering (String sourceClass, String sourceMethod, - Object params[]) - { - if (isLoggable(FINER)) - { - MessageFormat messageFormat = null; - String messageKey = null; - String[] args = null; - - if ((params != null) && (params.length > 0)) - { - messageKey = "entering_method_params"; // NOI18N - args = new String[]{sourceClass, sourceMethod, - StringHelper.arrayToSeparatedList(Arrays.asList(params))}; - } - else - { - messageKey = "entering_method"; // NOI18N - args = new String[]{sourceClass, sourceMethod}; - } - - messageFormat = new MessageFormat( - getMessages().getString(messageKey)); - finer(messageFormat.format(args)); - } - } - - /** - * Log a method return. - *

    - * This is a convenience method that can be used to log returning - * from a method. A LogRecord with message "RETURN", log level - * FINER, and the given sourceMethod and sourceClass is logged. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of the method - */ - public void exiting (String sourceClass, String sourceMethod) - { - exiting(sourceClass, sourceMethod, null); - } - - /** - * Log a method return, with result object. - *

    - * This is a convenience method that can be used to log returning - * from a method. A LogRecord with message "RETURN {0}", log level - * FINER, and the gives sourceMethod, sourceClass, and result - * object is logged. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of the method - * @param result Object that is being returned - */ - public void exiting (String sourceClass, String sourceMethod, Object result) - { - if (isLoggable(FINER)) - { - MessageFormat messageFormat = null; - String messageKey = null; - Object[] args = null; - - if (result != null) - { - messageKey = "exiting_method_return"; // NOI18N - args = new Object[]{sourceClass, sourceMethod, result}; - } - else - { - messageKey = "exiting_method"; // NOI18N - args = new Object[]{sourceClass, sourceMethod}; - } - - messageFormat = new MessageFormat( - getMessages().getString(messageKey)); - finer(messageFormat.format(args)); - } - } - - /** - * Log throwing an exception. - *

    - * This is a convenience method to log that a method is - * terminating by throwing an exception. The logging is done - * using the FINER level. - *

    - * If the logger is currently enabled for the given message - * level then the given arguments are stored in a LogRecord - * which is forwarded to all registered output handlers. The - * LogRecord's message is set to "THROW". - *

    - * Note that the thrown argument is stored in the LogRecord thrown - * property, rather than the LogRecord parameters property. Thus is it - * processed specially by output Formatters and is not treated - * as a formatting parameter to the LogRecord message property. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of the method. - * @param thrown The Throwable that is being thrown. - */ - public void throwing (String sourceClass, String sourceMethod, - Throwable thrown) - { - if (isLoggable(FINER)) - { - MessageFormat messageFormat = new MessageFormat( - getMessages().getString("throwing_method")); - - log(FINER, messageFormat.format( - new String[]{sourceClass, sourceMethod}), thrown); - } - } - - /** - * Log a SEVERE message. - *

    - * If the logger is currently enabled for the SEVERE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void severe (String msg) { log(SEVERE, msg); } - - /** - * Log a WARNING message. - *

    - * If the logger is currently enabled for the WARNING message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void warning (String msg) { log(WARNING, msg); } - - /** - * Log an INFO message. - *

    - * If the logger is currently enabled for the INFO message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void info (String msg) { log(INFO, msg); } - - /** - * Log a CONFIG message. - *

    - * If the logger is currently enabled for the CONFIG message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void config (String msg) { log(CONFIG, msg); } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - */ - public void log (int level, String msg) - { - if (isLoggable(level)) - logInternal(level, getMessage(msg)); - } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void log (int level, String msg, Object o1) - { - if (isLoggable(level)) - log(level, msg, new Object[]{o1}); - } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void log (int level, String msg, Object[] o) - { - if (isLoggable(level)) - { - int count = ((o == null) ? 0 : o.length); - String formattedMessage = msg; - - if (count > 0) - { - MessageFormat messageFormat = - new MessageFormat(getBundle().getString(msg)); - - if (messageFormat != null) - formattedMessage = messageFormat.format(o); - } - else - formattedMessage = getMessage(msg); - - logInternal(level, formattedMessage); - } - } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void log (int level, String msg, Object o1, Object o2) - { - if (isLoggable(level)) - log(level, msg, new Object[]{o1, o2}); - } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void log (int level, String msg, Object o1, Object o2, Object o3) - { - if (isLoggable(level)) - log(level, msg, new Object[]{o1, o2, o3}); - } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message, and the exception dump, - * is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param thrown The exception to log - */ - abstract public void log (int level, String msg, Throwable thrown); - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void fine (String msg) { log(FINE, msg); } - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void fine (String msg, Object o1) { log(FINE, msg, o1); } - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void fine (String msg, Object[] o) { log(FINE, msg, o); } - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void fine (String msg, Object o1, Object o2) - { - log(FINE, msg, o1, o2); - } - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void fine (String msg, Object o1, Object o2, Object o3) - { - log(FINE, msg, o1, o2, o3); - } - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void finer (String msg) { log(FINER, msg); } - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void finer (String msg, Object[] o) { log(FINER, msg, o); } - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void finer (String msg, Object o1) { log(FINER, msg, o1); } - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void finer (String msg, Object o1, Object o2) - { - log(FINER, msg, o1, o2); - } - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void finer (String msg, Object o1, Object o2, Object o3) - { - log(FINER, msg, o1, o2, o3); - } - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void finest (String msg) { log(FINEST, msg); } - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void finest (String msg, Object[] o) { log(FINEST, msg, o); } - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void finest (String msg, Object o1) { log(FINEST, msg, o1); } - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void finest (String msg, Object o1, Object o2) - { - log(FINEST, msg, o1, o2); - } - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void finest (String msg, Object o1, Object o2, Object o3) - { - log(FINEST, msg, o1, o2, o3); - } - - /** - * Get the name for this logger. - * @return logger name. Will be null for anonymous Loggers. - */ - public String getName () { return _loggerName; } - - /** Prepare a printable version of this instance. - * @return the String representation of this object - */ - public String toString () - { - StringBuilder buffer = new StringBuilder(getClass().getName()); - - buffer.append(": "); //NOI18N - buffer.append(" name: "); //NOI18N - buffer.append(getName()); - buffer.append(", logging level: "); //NOI18N - buffer.append(toString(getLevel())); - - return buffer.toString(); - } - - /** - * This method returns a string from the bundle file if possible, - * treating the message argument as the key. If no such key is found - * in the bundle, the message itself is returned. - * - * @return a message either used as itself or searched in the bundle file. - * @param message the message which is used as a key to search the bundle - */ - protected String getMessage (String message) - { - try - { - return getBundle().getString(message); - } - catch (MissingResourceException e) - { - return message; - } - - } - - /** - * This method returns a string with a formatted prefix which - * depends on the level. - * - * @return a formatted string with a level prefix. - * @param level the level to print - * @param message the message to print - * @see AbstractLogger#toString - */ - protected String getMessageWithPrefix (int level, String message) - { - MessageFormat messageFormat = new MessageFormat( - getMessages().getString("logging_prefix")); // NOI18N - - return messageFormat.format( - new String[]{toString(level), message}); - } - - /** - * This method does the actual logging. It is expected that if a - * check for isLoggable is desired for performance reasons, it has - * already been done, as it should not be done here. - * @param level the level to print - * @param message the message to print - */ - abstract protected void logInternal (int level, String message); -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/AbstractLoggerFactory.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/AbstractLoggerFactory.java deleted file mode 100644 index ffac8612076..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/AbstractLoggerFactory.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * AbstractLoggerFactory.java - * - * Created on May 13, 2002, 10:15 PM - */ - -package com.sun.jdo.spi.persistence.utility.logging; - -import java.util.Map; -import java.util.HashMap; - -/** - * - * @author Rochelle Raccah - * @version %I% - */ -abstract public class AbstractLoggerFactory implements LoggerFactory -{ - private final static String _domainPrefix = "com.sun.jdo."; //NOI18N - - private final static Map _loggerCache = new HashMap(); - - private static final String _bundleName = - "com.sun.jdo.spi.persistence.utility.logging.Bundle"; // NOI18N - - - /** Get the error logger which is used to log things during creation of - * loggers. - */ - protected static Logger getErrorLogger () - { - return LogHelper.getLogger("", _bundleName, // NOI18N - AbstractLoggerFactory.class.getClassLoader()); - } - - /** Get a Logger. The class that implements this interface is responsible - * for creating a logger for the named component. - * The bundle name and class loader are passed to allow the implementation - * to properly find and construct the internationalization bundle. - * @param relativeLoggerName the relative name of this logger - * @param bundleName the fully qualified name of the resource bundle - * @param loader the class loader used to load the resource bundle, or null - * @return the logger - */ - public synchronized Logger getLogger (String relativeLoggerName, - String bundleName, ClassLoader loader) - { - String absoluteLoggerName = getAbsoluteLoggerName(relativeLoggerName); - Logger value = (Logger)_loggerCache.get(absoluteLoggerName); - - if (value == null) - { - value = createLogger(absoluteLoggerName, bundleName, loader); - - if (value != null) - _loggerCache.put(absoluteLoggerName, value); - } - - return value; - } - - /** Create a new Logger. Subclasses are responsible for creating a - * logger for the named component. The bundle name and class loader - * are passed to allow the implementation to properly find and - * construct the internationalization bundle. - * @param absoluteLoggerName the absolute name of this logger - * @param bundleName the fully qualified name of the resource bundle - * @param loader the class loader used to load the resource bundle, or null - * @return the logger - */ - abstract protected Logger createLogger (String absoluteLoggerName, - String bundleName, ClassLoader loader); - - protected String getDomainRoot () { return _domainPrefix; } - - protected String getAbsoluteLoggerName (String relativeLoggerName) - { - return (relativeLoggerName.startsWith("java") ? //NOI18N - relativeLoggerName : (getDomainRoot() + relativeLoggerName)); - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/Bundle.properties b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/Bundle.properties deleted file mode 100644 index f9a93ed36fa..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/Bundle.properties +++ /dev/null @@ -1,94 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -############################################################################### -# -# Message ID Range: JDO82000 - JDO82999 -############################################################################### - - -# values for displaying log levels: -utility.level_off=OFF -utility.level_severe=SEVERE -utility.level_warning=WARNING -utility.level_info=INFO -utility.level_config=CONFIG -utility.level_fine=FINE -utility.level_finer=FINER -utility.level_finest=FINEST -utility.level_all=ALL - -#{0}=class name -#{1}=method name -entering_method=ENTRY: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=a single method parameter or comma separated list of parameters -entering_method_params=ENTRY: {0} {1} {2} - -#{0}=class name -#{2}=method name -exiting_method=RETURN: {0} {1} - -#{0}=class name -#{1}=method name -#{2}=return result -exiting_method_return=RETURN: {0} {1} {2} - -#{0}=class name -#{1}=method name -throwing_method=THROW: {0} {1} - -#{0}=level from utility.level_* above -#{1}=logging message -logging_prefix={0}: {1} - -#{0}=logger name -errorlogger.create.exception=JDO82000: Exception creating logger {0} -JDO82000.diag.cause.1=System was not able to create specified logger. -JDO82000.diag.cause.2=Error loading message bundle that corresponds to this logger. -JDO82000.diag.check.1=Check that the classpath settings are not corrupted. -JDO82000.diag.check.2=Check error log for the detailed reason. - -#{0}=logger name -errorlogger.filehandler.initialize.exception=JDO82001: Exception while initializing FileHandler for logger {0} -#{0}=logger name -errorlogger.formatter.initialize.exception=JDO82002: Exception while initializing formatter for logger {0} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LogHelper.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LogHelper.java deleted file mode 100644 index 435a681f68e..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LogHelper.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.utility.logging; - -/** This class manages the logging facility for JDO components. It is the - * class that keeps track of the log factory in use for getting loggers - * for use in JDO components. - *

    - * This class has no JDK 1.4 dependencies. - *

    - * The log factory is responsible for constructing the loggers and for - * ensuring that there is only one logger per component. - * - * @author Craig Russell - * @version 1.0 - */ - -public class LogHelper { - - /** Flag to tell we are running in JDK 1.4 and can use - * java.util.logging.Logger implementation. - */ - protected static boolean jdk14 = isJDK14(); - - /** LoggerFactory registered for creating new loggers. - */ - protected static LoggerFactory loggerFactory = null; - - /** Get a Logger. This call is delegated to the registered LoggerFactory. - * If there is no registered LoggerFactory, then initialize one based on - * whether we are running in JDK 1.4 (or higher). - * The bundle name and class loader are passed to allow the implementation - * to properly find and construct the internationalization bundle. - * This method is synchronized to avoid race conditions where two threads - * access a component using the same Logger at the same time. - * @param loggerName the relative name of this logger - * @param bundleName the fully qualified name of the resource bundle - * @param loader the class loader used to load the resource bundle, or null - * @return the logger - */ - public synchronized static Logger getLogger(String loggerName, String bundleName, ClassLoader loader) { - // if an implementation has not registered a LoggerFactory, use a standard one. - if (loggerFactory == null) { - if (jdk14) { - loggerFactory = new LoggerFactoryJDK14(); - } else { - loggerFactory = new LoggerFactoryJDK13(); - } - } - return loggerFactory.getLogger(loggerName, bundleName, loader); - } - - /** Register a LoggerFactory for use in managed environments or - * for special situations. This - * factory will be delegated to for all getLogger requests. - * @param factory the LoggerFactory to use for all getLogger requests - */ - public static void registerLoggerFactory (LoggerFactory factory) { - loggerFactory = factory; - } - - /** Check to see if the JDK 1.4 logging environment is available. - * @return true if JDK 1.4 logging is available - */ - public static boolean isJDK14() { - try { - Class logger = Class.forName("java.util.logging.Logger"); //NOI18N - return true; - } catch (ClassNotFoundException ex) { - return false; - } - } - -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/Logger.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/Logger.java deleted file mode 100644 index ccd28e32dd7..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/Logger.java +++ /dev/null @@ -1,583 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.utility.logging; - -import java.util.ResourceBundle; -import java.security.SecurityPermission; - -/** This interface provides an isolation layer between the JDO components - * that need logging services and the implementation of those services. - *

    - * The JDO Logger interface contains a small number of convenience methods - * in addition to a subset of the - * methods in the java.util.logging.Logger class, and can therefore - * be implemented in a very straightforward way by a subclass of the - * java.util.logging.Logger class. - * There is one instance of the implementing class for each subsystem - * in JDO. - *

    - * This interface has no JDK 1.4 dependencies. - */ - -public interface Logger { - - /** Levels are defined as ints to avoid including the java.util.logging.Level - * class in this package. - */ - - /** - * OFF is a special level that can be used to turn off logging. - */ - public static final int OFF = Integer.MAX_VALUE; - - /** - * SEVERE is a message level indicating a serious failure. - *

    - * In general SEVERE messages should describe events that are - * of considerable importance and which will prevent normal - * program execution. They should be reasonably intelligible - * to end users and to system administrators. - */ - public static final int SEVERE = 1000; - - /** - * WARNING is a message level indicating a potential problem. - *

    - * In general WARNING messages should describe events that will - * be of interest to end users or system managers, or which - * indicate potential problems. - */ - public static final int WARNING = 900; - - /** - * INFO is a message level for informational messages. - *

    - * Typically INFO messages will be written to the console - * or its equivalent. So the INFO level should only be - * used for reasonably significant messages that will - * make sense to end users and system admins. - */ - public static final int INFO = 800; - - /** - * CONFIG is a message level for static configuration messages. - *

    - * CONFIG messages are intended to provide a variety of static - * configuration information, to assist in debugging problems - * that may be associated with particular configurations. - * For example, CONFIG message might include the CPU type, - * the graphics depth, the GUI look-and-feel, etc. - */ - public static final int CONFIG = 700; - - /** - * FINE is a message level providing tracing information. - *

    - * All of FINE, FINER, and FINEST are intended for relatively - * detailed tracing. The exact meaning of the three levels will - * vary between subsystems, but in general, FINEST should be used - * for the most voluminous detailed output, FINER for somewhat - * less detailed output, and FINE for the lowest volume (and - * most important) messages. - *

    - * In general the FINE level should be used for information - * that will be broadly interesting to developers who do not have - * a specialized interest in the specific subsystem. - *

    - * FINE messages might include things like minor (recoverable) - * failures. Issues indicating potential performance problems - * are also worth logging as FINE. - */ - public static final int FINE = 500; - - /** - * FINER indicates a fairly detailed tracing message. - * By default logging calls for entering, returning, or throwing - * an exception are traced at this level. - */ - public static final int FINER = 400; - - /** - * FINEST indicates a highly detailed tracing message - */ - public static final int FINEST = 300; - - /** - * ALL indicates that all messages should be logged. - */ - public static final int ALL = Integer.MIN_VALUE; - - /** Test if this logger is logging messages. This is a test for - * log level FINE, FINER, or FINEST. If the log message is expensive to construct, - * this method should be used to determine whether it is a waste of time. - * We don't expose isLoggable(Level) because Level is not available in - * JDK 1.3. Once this is not an issue, we can add isLoggable(Level). - * @return if FINE, FINER, or FINEST is currently being logged - */ - public boolean isLoggable(); - - /** Test if this logger is logging messages at the specific level. - * If the log message is expensive to construct, - * this method should be used to determine whether it is a waste of time. - * We don't expose isLoggable(Level) because Level is not available in - * JDK 1.3. Once this is not an issue, we can add isLoggable(Level). - * @return if this level is currently being logged - * @param level The level to be tested */ - public boolean isLoggable(int level); - - - //====================================================================== - // Start of convenience methods for logging. - //====================================================================== - - /** - * Log a method entry. - *

    - * This is a convenience method that can be used to log entry - * to a method. A LogRecord with message "ENTRY", log level - * FINER, and the given sourceMethod and sourceClass is logged. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of method that is being entered - */ - public void entering(String sourceClass, String sourceMethod); - - /** - * Log a method entry, with one parameter. - *

    - * This is a convenience method that can be used to log entry - * to a method. A LogRecord with message "ENTRY {0}", log level - * FINER, and the given sourceMethod, sourceClass, and parameter - * is logged. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of method that is being entered - * @param param1 parameter to the method being entered - */ - public void entering(String sourceClass, String sourceMethod, Object param1); - - /** - * Log a method entry, with an array of parameters. - *

    - * This is a convenience method that can be used to log entry - * to a method. A LogRecord with message "ENTRY" (followed by a - * format {N} indicator for each entry in the parameter array), - * log level FINER, and the given sourceMethod, sourceClass, and - * parameters is logged. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of method that is being entered - * @param params array of parameters to the method being entered - */ - public void entering(String sourceClass, String sourceMethod, Object params[]); - - /** - * Log a method return. - *

    - * This is a convenience method that can be used to log returning - * from a method. A LogRecord with message "RETURN", log level - * FINER, and the given sourceMethod and sourceClass is logged. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of the method - */ - public void exiting(String sourceClass, String sourceMethod); - - - /** - * Log a method return, with result object. - *

    - * This is a convenience method that can be used to log returning - * from a method. A LogRecord with message "RETURN {0}", log level - * FINER, and the gives sourceMethod, sourceClass, and result - * object is logged. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of the method - * @param result Object that is being returned - */ - public void exiting(String sourceClass, String sourceMethod, Object result); - - /** - * Log throwing an exception. - *

    - * This is a convenience method to log that a method is - * terminating by throwing an exception. The logging is done - * using the FINER level. - *

    - * If the logger is currently enabled for the given message - * level then the given arguments are stored in a LogRecord - * which is forwarded to all registered output handlers. The - * LogRecord's message is set to "THROW". - *

    - * Note that the thrown argument is stored in the LogRecord thrown - * property, rather than the LogRecord parameters property. Thus is it - * processed specially by output Formatters and is not treated - * as a formatting parameter to the LogRecord message property. - *

    - * @param sourceClass name of class that issued the logging request - * @param sourceMethod name of the method. - * @param thrown The Throwable that is being thrown. - */ - public void throwing(String sourceClass, String sourceMethod, Throwable thrown); - - /** - * Log a SEVERE message. - *

    - * If the logger is currently enabled for the SEVERE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void severe(String msg); - - /** - * Log a WARNING message. - *

    - * If the logger is currently enabled for the WARNING message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void warning(String msg); - - /** - * Log an INFO message. - *

    - * If the logger is currently enabled for the INFO message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void info(String msg); - - /** - * Log a CONFIG message. - *

    - * If the logger is currently enabled for the CONFIG message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void config(String msg); - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - */ - public void log(int level, String msg); - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void log(int level, String msg, Object o1); - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void log(int level, String msg, Object[] o); - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void log(int level, String msg, Object o1, Object o2); - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void log(int level, String msg, Object o1, Object o2, Object o3); - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message, and the exception dump, - * is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param thrown The exception to log - */ - public void log(int level, String msg, Throwable thrown ); - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void fine(String msg); - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void fine(String msg, Object o1); - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void fine(String msg, Object[] o); - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void fine(String msg, Object o1, Object o2); - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void fine(String msg, Object o1, Object o2, Object o3); - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void finer(String msg); - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void finer(String msg, Object[] o); - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void finer(String msg, Object o1); - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void finer(String msg, Object o1, Object o2); - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void finer(String msg, Object o1, Object o2, Object o3); - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - */ - public void finest(String msg); - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void finest(String msg, Object[] o); - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void finest(String msg, Object o1); - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void finest(String msg, Object o1, Object o2); - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void finest(String msg, Object o1, Object o2, Object o3); - - //================================================================ - // End of convenience methods - //================================================================ - - /** - * Get the name for this logger. - * @return logger name. Will be null for anonymous Loggers. - */ - public String getName(); - -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactory.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactory.java deleted file mode 100644 index 3e04e4a7bf0..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactory.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.utility.logging; - -/** This interface provides for isolation between the JDO components that - * need logging services and the implementation of the service. - *

    - * This interface has no JDK 1.4 dependencies. - * - * @author Craig Russell - * @version 1.0 - */ - -public interface LoggerFactory { - - /** Get a Logger. The class that implements this interface is responsible - * for creating a logger for the named component. - * The bundle name and class loader are passed to allow the implementation - * to properly find and construct the internationalization bundle. - * @param loggerName the relative name of this logger - * @param bundleName the fully qualified name of the resource bundle - * @param loader the class loader used to load the resource bundle, or null - * @return the logger - */ - Logger getLogger (String loggerName, String bundleName, ClassLoader loader); -} - diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactoryJDK13.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactoryJDK13.java deleted file mode 100644 index 74909e3496e..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactoryJDK13.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.utility.logging; - -/** This is a factory which constructs Loggers suitable for JDK1.3. - * - * @author Craig Russell - * @version 1.0 - */ -public class LoggerFactoryJDK13 extends AbstractLoggerFactory -{ - /** Creates new LoggerFactoryJDK13 */ - public LoggerFactoryJDK13 () - { - } - - /** Create a new Logger. Subclasses are responsible for creating a - * logger for the named component. The bundle name and class loader - * are passed to allow the implementation to properly find and - * construct the internationalization bundle. - * @param absoluteLoggerName the absolute name of this logger - * @param bundleName the fully qualified name of the resource bundle - * @param loader the class loader used to load the resource bundle, or null - * @return the logger - */ - protected Logger createLogger (String absoluteLoggerName, - String bundleName, ClassLoader loader) - { - return new LoggerJDK13(absoluteLoggerName, bundleName, loader); - } -} - diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactoryJDK14.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactoryJDK14.java deleted file mode 100644 index 7d0299e24d7..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerFactoryJDK14.java +++ /dev/null @@ -1,255 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.jdo.spi.persistence.utility.logging; - -import java.io.IOException; -import java.text.MessageFormat; -import java.util.ResourceBundle; -import java.util.logging.Level; -import java.util.logging.LogManager; -import java.util.logging.Formatter; -import java.util.logging.FileHandler; -import java.util.logging.SimpleFormatter; -import java.security.AccessController; -import java.security.PrivilegedAction; -import org.glassfish.persistence.common.I18NHelper; - -/** - * - * @author Craig Russell - * @version 1.0 - */ - -public class LoggerFactoryJDK14 extends AbstractLoggerFactory { - - /** I18N message handler for this class */ - private static final ResourceBundle _messages = - I18NHelper.loadBundle(LoggerFactoryJDK14.class); - - /** Get the message bundle for the AbstractLogger itself. - */ - protected static ResourceBundle getMessages () { return _messages; } - - /** Creates new LoggerFactory */ - public LoggerFactoryJDK14() { - } - - protected LoggerJDK14 findLogger(String absoluteLoggerName) { - return (LoggerJDK14) - LogManager.getLogManager().getLogger(absoluteLoggerName); - } - - /** Create a new Logger. create a logger for the named component. - * The bundle name and class loader are passed to allow the implementation - * to properly find and construct the internationalization bundle. - * This operation is executed as a privileged action to allow - * permission access for the following operations: - * - * LogManager.getLogManager().addLogger - this might do checkAccess. - * new FileHandler - * FileHandler.setLevel - * FileHandler.setFormatter - * Logger.addHandler - * - * @param absoluteLoggerName the absolute name of this logger - * @param bundleName the fully qualified name of the resource bundle - * @param loader the class loader used to load the resource bundle, or null - * @return the logger - */ - protected Logger createLogger (final String absoluteLoggerName, - final String bundleName, final ClassLoader loader) { - return (Logger) AccessController.doPrivileged ( - new PrivilegedAction () { - public Object run () { - LoggerJDK14 logger = null; - ClassLoader pushed = Thread.currentThread().getContextClassLoader(); - if(loader!=null) { - setContextClassLoader (loader); - } - try { - logger = createLogger(absoluteLoggerName, bundleName); - LogManager.getLogManager().addLogger(logger); - configureFileHandler(logger); - - return logger; - } catch (Exception ex) { - MessageFormat messageFormat = new MessageFormat( - getMessages().getString("errorlogger.create.exception")); - - getErrorLogger().log(Logger.SEVERE, messageFormat.format( - new String[]{absoluteLoggerName}), ex); - } finally { - setContextClassLoader (pushed); - } - - return logger; - } - } - ); - } - - /** - * This method throws SecurityException if a security manager exists and if - * the caller does not have LoggingPermission("control")) or the - * calling code is not placed in the doPrivileged() block. - */ - protected void setContextClassLoader (final ClassLoader loader) { - if (loader != null) { - Thread.currentThread().setContextClassLoader (loader); - } - } //setContextClassLoader - - - protected LoggerJDK14 createLogger (String absoluteLoggerName, String - bundleName) { - LoggerJDK14 result = new LoggerJDK14(absoluteLoggerName, bundleName); - return result; - } - - /** - * This method throws SecurityException if a security manager exists and if - * the caller does not have LoggingPermission("control")) or the - * calling code is not placed in the doPrivileged() block. - */ - protected void configureFileHandler(LoggerJDK14 logger) { - String name = logger.getName(); - String baseName = name + ".FileHandler"; //NOI18N - LogManager logManager = LogManager.getLogManager(); - - String pattern = logManager.getProperty(baseName + ".pattern"); //NOI18N - if(pattern != null) { - //If pattern != null, create and attach a FileHandler to logger. - //Look various properties . If not found, fall back to - //defaults - - int defaultLimit = 0; - String limit = logManager.getProperty(baseName + ".limit"); //NOI18N - if(limit != null) { - try { - defaultLimit = Integer.parseInt(limit); - if(defaultLimit < 0) - defaultLimit = 0; - } - catch (NumberFormatException e) { - } - } - - int defaultCount = 1; - String count = logManager.getProperty(baseName + ".count"); //NOI18N - if(count != null) { - try { - defaultCount = Integer.parseInt(count); - if(defaultCount < 1) - defaultCount = 1; - } - catch (NumberFormatException e) { - } - } - - boolean defaultAppend = false; - String append = logManager.getProperty(baseName + ".append"); //NOI18N - if(append != null) { - defaultAppend = Boolean.parseBoolean(append); - } - - FileHandler fileHandler = null; - try { - fileHandler = new FileHandler(pattern, defaultLimit, - defaultCount, defaultAppend); - } - catch(Exception e) { - MessageFormat messageFormat = new MessageFormat( getMessages().getString( - "errorlogger.filehandler.initialize.exception")); //NOI18N - - getErrorLogger().log(Logger.WARNING, - messageFormat.format(new String[]{name}), e); - } - - if(fileHandler != null) { - //Initialize various attributes for the new fileHandler - //--Level - String level = logManager.getProperty(baseName + ".level"); //NOI18N - if (level != null) { - try { - fileHandler.setLevel(Level.parse(level) ); - } - catch(IllegalArgumentException e) { - } - } - - //--Formatter - Formatter defaultFormatter = null; - //Initialize various attributes for the new fileHandler - String formatter = logManager.getProperty(baseName + ".formatter"); //NOI18N - if(formatter != null) { - try { - Class clz = ClassLoader.getSystemClassLoader().loadClass(formatter); - defaultFormatter = (Formatter) clz.newInstance(); - } catch (Exception e) { - // We got one of a variety of exceptions in creating the - // class or creating an instance. - // Drop through. - MessageFormat messageFormat = new MessageFormat( - getMessages().getString("errorlogger.formatter.initialize.exception")); - - getErrorLogger().log(Logger.WARNING, messageFormat.format(new String[]{name}), e); - } - - } - - if (defaultFormatter == null) { - defaultFormatter = new SimpleFormatter(); - } - - try { - fileHandler.setFormatter(defaultFormatter); - } - catch(IllegalArgumentException e) { - } - - logger.addHandler(fileHandler); - - } //if(fileHandler != null) - - } //if(pattern != null) - - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerJDK13.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerJDK13.java deleted file mode 100644 index 99d745ee3c0..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerJDK13.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/* - * LoggerJDK13.java - * - * Created on May 15, 2002, 2:00 PM - */ - -package com.sun.jdo.spi.persistence.utility.logging; - -import java.io.PrintStream; - -/** - * This class provides an implementation of the - * com.sun.jdo.spi.persistence.utility.Logger interface which - * subclasses the AbstractLogger and provides an implementation of - * its abstract methods which logs to a PrintStream (System.out). - * Note that this logger doesn't explicitly flush the PrintStream and - * depends on the JVM for flushing. - * - * @author Rochelle Raccah - * @version %I% - */ -public class LoggerJDK13 extends AbstractLogger -{ - private static final PrintStream _printStream = System.out; - - /** Creates a new LoggerJDK13. The supplied class loader or the - * loader which loaded this class must be able to load the bundle. - * @param loggerName the full domain name of this logger - * @param bundleName the bundle name for message translation - * @param loader the loader used for looking up the bundle file - * and possibly the logging.properties or alternative file - */ - public LoggerJDK13 (String loggerName, String bundleName, - ClassLoader loader) - { - super(loggerName, bundleName, loader); - } - - private static PrintStream getPrintStream () { return _printStream; } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message, and the exception dump, - * is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param thrown The exception to log - */ - public synchronized void log (int level, String msg, Throwable thrown) - { - if (isLoggable(level)) - { - logInternal(level, getMessage(msg)); - thrown.printStackTrace(getPrintStream()); - } - } - - /** - * This method does the actual logging. It is expected that if a - * check for isLoggable is desired for performance reasons, it has - * already been done, as it should not be done here. This - * implementation uses a print stream for logging. - * @param level the level to print - * @param message the message to print - */ - protected synchronized void logInternal (int level, String message) - { - getPrintStream().println(getMessageWithPrefix(level, message)); - } -} diff --git a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerJDK14.java b/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerJDK14.java deleted file mode 100644 index 7e2c609ef7d..00000000000 --- a/appserver/persistence/cmp/utility/src/main/java/com/sun/jdo/spi/persistence/utility/logging/LoggerJDK14.java +++ /dev/null @@ -1,501 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package com.sun.jdo.spi.persistence.utility.logging; - -import java.util.logging.Level; - -/** - * This class is used with JDK 1.4 (and higher) programs to log messages from - * jdo components. It extends a java.util.logging.Logger which does - * the actual logging. - * - * @author Craig Russell - * @version 1.0 - */ -public class LoggerJDK14 extends java.util.logging.Logger implements Logger { - - /** Class that issued logging call; set by inferCaller. */ - protected String sourceClassName; - - /** Method that issued logging call; set by inferCaller. */ - protected String sourceMethodName; - - /** Creates new LoggerJDK14. The Thread context class loader or the - * loader which loaded this class must be able to load the bundle. - * @param loggerName the full domain name of this logger - * @param bundleName the bundle name for message translation - */ - public LoggerJDK14(String loggerName, String bundleName) { - super (loggerName, bundleName); - } - - /** Return whether logging is enabled - * at the FINE level. This method - * is not exact because to make it - * accurately reflect the logging level - * we would have to include the JDK 1.4 - * java.util.logging.Level class. - * @return whether logging is enabled at the fine level. - */ - public boolean isLoggable() { - return isLoggable(Level.FINE); - } - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void fine(String msg, Object[] o) { - if (isLoggable(Level.FINE)) { - inferCaller(); - logp(Level.FINE, sourceClassName, sourceMethodName, msg, o); - } - } - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void fine(String msg, Object o1) { - if (isLoggable(Level.FINE)) { - inferCaller(); - logp(Level.FINE, sourceClassName, sourceMethodName, msg, o1); - } - } - - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void fine(String msg, Object o1, Object o2) { - if (isLoggable(Level.FINE)) { - inferCaller(); - logp(Level.FINE, sourceClassName, sourceMethodName, msg, new Object[]{o1, o2}); - } - } - - /** - * Log a FINE message. - *

    - * If the logger is currently enabled for the FINE message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void fine(String msg, Object o1, Object o2, Object o3) { - if (isLoggable(Level.FINE)) { - inferCaller(); - logp(Level.FINE, sourceClassName, sourceMethodName, msg, new Object[]{o1, o2, o3}); - } - } - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void finer(String msg, Object[] o) { - if (isLoggable(Level.FINER)) { - inferCaller(); - logp(Level.FINER, sourceClassName, sourceMethodName, msg, o); - } - } - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void finer(String msg, Object o1) { - if (isLoggable(Level.FINER)) { - inferCaller(); - logp(Level.FINER, sourceClassName, sourceMethodName, msg, o1); - } - } - - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void finer(String msg, Object o1, Object o2) { - if (isLoggable(Level.FINER)) { - inferCaller(); - logp(Level.FINER, sourceClassName, sourceMethodName, msg, - new Object[]{o1, o2}); - } - } - - /** - * Log a FINER message. - *

    - * If the logger is currently enabled for the FINER message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void finer(String msg, Object o1, Object o2, Object o3) { - if (isLoggable(Level.FINER)) { - inferCaller(); - logp(Level.FINER, sourceClassName, sourceMethodName, msg, - new Object[]{o1, o2, o3}); - } - } - - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void finest(String msg, Object[] o) { - if (isLoggable(Level.FINEST)) { - inferCaller(); - logp(Level.FINEST, sourceClassName, sourceMethodName, msg, o); - } - } - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void finest(String msg, Object o1) { - if (isLoggable(Level.FINEST)) { - inferCaller(); - logp(Level.FINEST, sourceClassName, sourceMethodName, msg, o1); - } - } - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void finest(String msg, Object o1, Object o2) { - if (isLoggable(Level.FINEST)) { - inferCaller(); - logp(Level.FINEST, sourceClassName, sourceMethodName, msg, - new Object[]{o1, o2}); - } - } - - /** - * Log a FINEST message. - *

    - * If the logger is currently enabled for the FINEST message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void finest(String msg, Object o1, Object o2, Object o3) { - if (isLoggable(Level.FINEST)) { - inferCaller(); - logp(Level.FINEST, sourceClassName, sourceMethodName, msg, - new Object[]{o1, o2, o3}); - } - } - - /** Prepare a printable version of this instance. - * @return the String representation of this object - */ - public String toString() { - StringBuilder buf = new StringBuilder ("LoggerJDK14: "); //NOI18N - buf.append (" name: "); buf.append (getName()); //NOI18N - buf.append (", super: "); buf.append (super.toString()); //NOI18N - buf.append (", logging level: "); buf.append (getLevel()); //NOI18N - return buf.toString(); - } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - */ - public void log(int level, String msg, Object o1) { - Level lvl = convertLevel(level); - if (isLoggable(lvl)) { - inferCaller(); - logp(lvl, sourceClassName, sourceMethodName, msg, o1); - } - } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - */ - public void log(int level, String msg, Object o1, Object o2) { - Level lvl = convertLevel(level); - if (isLoggable(lvl)) { - inferCaller(); - logp(lvl, sourceClassName, sourceMethodName, msg, new Object[]{o1, o2}); - } - } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o1 A parameter to be inserted into the message - * @param o2 A parameter to be inserted into the message - * @param o3 A parameter to be inserted into the message - */ - public void log(int level, String msg, Object o1, Object o2, Object o3) { - Level lvl = convertLevel(level); - if (isLoggable(lvl)) { - inferCaller(); - logp(lvl, sourceClassName, sourceMethodName, msg, - new Object[] {o1, o2, o3}); - } - } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param o Objects to be inserted into the message - */ - public void log(int level, String msg, Object[] o) { - Level lvl = convertLevel(level); - if (isLoggable(lvl)) { - inferCaller(); - logp(lvl, sourceClassName, sourceMethodName, msg, o); - } - } - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - */ - public void log(int level, String msg) { - Level lvl = convertLevel(level); - if (isLoggable(lvl)) { - inferCaller(); - logp(lvl, sourceClassName, sourceMethodName, msg); - } - } - - - /** - * Log a message. - *

    - * If the logger is currently enabled for the message - * level then the given message, and the exception dump, - * is forwarded to all the - * registered output Handler objects. - *

    - * @param level The level for this message - * @param msg The string message (or a key in the message catalog) - * @param thrown The exception to log - */ - public void log(int level, String msg, Throwable thrown ){ - Level lvl = convertLevel(level); - if (isLoggable(lvl)) { - inferCaller(); - logp(lvl, sourceClassName, sourceMethodName, msg, thrown); - } - } - - /** - * Check if a message of the given level would actually be logged - * by this logger. This check is based on the Loggers effective level, - * which may be inherited from its parent. - * - * @return true if the given message level is currently being logged. - * @param levelValue the level to check - */ - public boolean isLoggable(int levelValue) { - return isLoggable(convertLevel(levelValue)); - } - - /** Convert an int level used by jdo logger to the Level instance used - * by JDK 1.4 logger. - * This is done to allow components to use logging outside the JDK 1.4 - * environment. - * @param level the level to convert - * @return the Level instance corresponding to the int level - */ - protected Level convertLevel(int level) { - switch (level) { - case 300: return Level.FINEST; - case 400: return Level.FINER; - case 500: return Level.FINE; - case 700: return Level.CONFIG; - case 800: return Level.INFO; - case 900: return Level.WARNING; - case 1000: return Level.SEVERE; - default: return Level.CONFIG; - } - } - - /** - * Method to infer the caller's class name and method name. - * The method analyses the current stack trace, to find the method that - * issued the logger call. It stores the callers class and method name - * into fields sourceClassName and sourceMethodName. - */ - protected void inferCaller() { - // Get the stack trace. - StackTraceElement[] stack = (new Throwable()).getStackTrace(); - // Search for the first frame before the "Logger" class. - for(int ix = 0; ix < stack.length; ix++) { - StackTraceElement frame = stack[ix]; - String cname = frame.getClassName(); - if (!isLoggerClass(cname)) { - // We've found the relevant frame. - sourceClassName = cname; - sourceMethodName = frame.getMethodName(); - return; - } - } - } - - /** - * This method is a helper method for {@link #inferCaller}. It returns - * true if the specified class name denotes a logger class - * that should be ignored when analysing the stack trace to infer the - * caller of a log message. - * @param className the class name to be checked. - * @return true if the specified name denotes a logger class; - * false otherwise. - */ - protected boolean isLoggerClass(String className) - { - return "com.sun.jdo.spi.persistence.utility.logging.LoggerJDK14". //NOI18N - equals(className); - } -} diff --git a/appserver/persistence/pom.xml b/appserver/persistence/pom.xml index ae0d6c65adb..910258ee0f1 100644 --- a/appserver/persistence/pom.xml +++ b/appserver/persistence/pom.xml @@ -58,9 +58,7 @@ gf-jpa-connector jpa-container eclipselink-wrapper - cmp entitybean-container jpa-container-l10n - cmp-l10n From 7ad5ced7484ef4bd6067800bbbb98fece06ff7fc Mon Sep 17 00:00:00 2001 From: adrian Date: Tue, 14 Apr 2026 13:29:23 +0300 Subject: [PATCH 016/133] FISH-13354: added group deployment tests --- .../functional/deployment-groups/.gitignore | 53 +++ .../functional/deployment-groups/README.md | 81 ++++ .../functional/deployment-groups/conftest.py | 70 +++ .../functional/deployment-groups/pytest.ini | 5 + .../deployment-groups/requirements.txt | 2 + .../test-apps/clusterjsp.war | Bin 0 -> 7000 bytes .../test_deployment_group.py | 435 ++++++++++++++++++ 7 files changed, 646 insertions(+) create mode 100644 appserver/tests/functional/deployment-groups/.gitignore create mode 100644 appserver/tests/functional/deployment-groups/README.md create mode 100644 appserver/tests/functional/deployment-groups/conftest.py create mode 100644 appserver/tests/functional/deployment-groups/pytest.ini create mode 100644 appserver/tests/functional/deployment-groups/requirements.txt create mode 100755 appserver/tests/functional/deployment-groups/test-apps/clusterjsp.war create mode 100644 appserver/tests/functional/deployment-groups/test_deployment_group.py diff --git a/appserver/tests/functional/deployment-groups/.gitignore b/appserver/tests/functional/deployment-groups/.gitignore new file mode 100644 index 00000000000..576a9eb52fd --- /dev/null +++ b/appserver/tests/functional/deployment-groups/.gitignore @@ -0,0 +1,53 @@ +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# Virtual Environment +.venv/ +venv/ +ENV/ +env/ + +# PyCharm +.idea/ +*.iml +*.iws +*.ipr + +# VS Code +.vscode/ + +# Testing +.pytest_cache/ +.coverage +htmlcov/ +.tox/ + +# OS +.DS_Store +Thumbs.db + +# Logs +*.log + +# Environment variables +.env +.env.local diff --git a/appserver/tests/functional/deployment-groups/README.md b/appserver/tests/functional/deployment-groups/README.md new file mode 100644 index 00000000000..d5dcd8d7f2b --- /dev/null +++ b/appserver/tests/functional/deployment-groups/README.md @@ -0,0 +1,81 @@ +# Payara Deployment Group Deployment Tests + +This test suite verifies that deployment to a Payara deployment group works correctly, ensuring applications are deployed to all member instances and redeployment propagates properly. + +## Overview + +The tests verify: +- Applications deployed to a deployment group appear on every member instance +- Applications are listed when querying the deployment group target +- Undeploying from a deployment group removes the app from all instances +- Redeploying to a deployment group propagates to all instances +- Applications are accessible via HTTP on all instances + +## Prerequisites + +- Payara Server installed and running with DAS accessible +- Python 3.8 or higher +- Python dependencies: pytest, requests + +## Setup + +1. Install Python dependencies: +```bash +pip install -r requirements.txt +``` + +2. Set the `PAYARA_HOME` environment variable: +```bash +export PAYARA_HOME=/path/to/payara +``` + +3. Ensure the test WAR file exists: +```bash +test-apps/clusterjsp.war +``` + +## Running the Tests + +Run all tests: +```bash +export PAYARA_HOME=/path/to/payara +pytest test_deployment_group.py -v -s +``` + +Run specific tests: +```bash +pytest test_deployment_group.py::TestDeploymentGroupDeployment::test_deploy_to_group_appears_on_all_instances -v +``` + +## Test Configuration + +The test suite automatically: +- Starts the Payara domain before all tests +- Stops the Payara domain after all tests complete +- Logs all operations with detailed output +- Uses `clusterjsp.war` from the test-apps folder + +### Custom HTTP Port Base + +By default, test instances use HTTP ports starting from 28080. To customize: + +```bash +pytest test_deployment_group.py --instance-http-port-base=28080 -v +``` + +## Troubleshooting + +**Error: PAYARA_HOME environment variable is not set** +- Set the PAYARA_HOME environment variable to your Payara installation directory + +**Error: Test WAR file not found** +- Ensure `clusterjsp.war` exists in the `test-apps/` folder + +**HTTP requests failing** +- Ensure instances are running and accessible on the configured ports +- Check firewall settings +- Verify instance HTTP ports are correctly configured + +## License + +This test suite is provided as-is for testing Payara deployment group functionality. diff --git a/appserver/tests/functional/deployment-groups/conftest.py b/appserver/tests/functional/deployment-groups/conftest.py new file mode 100644 index 00000000000..00c9a33e824 --- /dev/null +++ b/appserver/tests/functional/deployment-groups/conftest.py @@ -0,0 +1,70 @@ +""" +Pytest configuration for deployment group deployment tests. +""" + +import pytest +import subprocess +import os +import logging + +logger = logging.getLogger(__name__) + + +def pytest_addoption(parser): + parser.addoption( + "--instance-http-port-base", + default="28080", + type=int, + help="Base HTTP port for created test instances (default: 28080)", + ) + + +@pytest.fixture(scope="session", autouse=True) +def cleanup_domain_applications(payara_domain): + """ + Clean up any test applications deployed at the domain level after test runs. + This prevents stale deployments from causing deployment failures. + Depends on payara_domain to ensure the domain is running before cleanup. + """ + payara_home = os.environ.get("PAYARA_HOME") + if not payara_home: + logger.warning("PAYARA_HOME not set, skipping domain application cleanup") + return + + asadmin = os.path.join(payara_home, "bin", "asadmin") + + def cleanup_test_apps(): + """Undeploy all test applications from the domain.""" + logger.info("Cleaning up test applications from domain...") + result = subprocess.run( + [asadmin, "list-applications", "--long"], + capture_output=True, + text=True, + ) + + if result.returncode != 0: + logger.warning(f"Failed to list applications: {result.stderr}") + return + + # Parse applications and undeploy any matching test pattern + test_app_prefix = "clusterjsp-dg-" + for line in result.stdout.splitlines(): + line = line.strip() + if not line or line.startswith("Command") or line.startswith("Nothing"): + continue + + # Output format: " " + parts = line.split() + if parts and parts[0].startswith(test_app_prefix): + app_name = parts[0] + logger.info(f"Undeploying test application: {app_name}") + subprocess.run( + [asadmin, "undeploy", "--target=domain", app_name], + capture_output=True, + text=True, + ) + + yield + + # Cleanup after tests (domain will be stopped by payara_domain fixture) + cleanup_test_apps() diff --git a/appserver/tests/functional/deployment-groups/pytest.ini b/appserver/tests/functional/deployment-groups/pytest.ini new file mode 100644 index 00000000000..abf35290a8c --- /dev/null +++ b/appserver/tests/functional/deployment-groups/pytest.ini @@ -0,0 +1,5 @@ +[pytest] +log_cli = true +log_cli_level = DEBUG +log_cli_format = %(asctime)s - %(levelname)s - %(message)s +log_cli_date_format = %Y-%m-%d %H:%M:%S diff --git a/appserver/tests/functional/deployment-groups/requirements.txt b/appserver/tests/functional/deployment-groups/requirements.txt new file mode 100644 index 00000000000..93174f99b29 --- /dev/null +++ b/appserver/tests/functional/deployment-groups/requirements.txt @@ -0,0 +1,2 @@ +pytest>=8.0.0 +requests>=2.31.0 diff --git a/appserver/tests/functional/deployment-groups/test-apps/clusterjsp.war b/appserver/tests/functional/deployment-groups/test-apps/clusterjsp.war new file mode 100755 index 0000000000000000000000000000000000000000..92924c7956a23b45eff6c6334bd755b5ad75e6de GIT binary patch literal 7000 zcmb7p1yodR*Y?mucY|~@gfvKpFfcUIG4voXz>rb`(j^iih&psB5+c$dJ+zc`NlPP0 z{`f!d`|109&-btYyU#jn-Rqov?R($n?7i2%udSN5Nd*W z2m6Pr^@YYn7QcB3fFb-EkP)BK8vT6;zvh4e(2qbL*uw)E>NgOY5J4;PwH;urs`OuW{<9RxA5wO%Pz1sO@yD({-frIBZR@GY zt+E+v00941+RoJn;qBlh;DYdIqH%*S_xx-K?X1r5VwGOraj!5+$1ucsnP`OGBiUeS zbP9csllitXSY%~jbn80swNn?iau3R_Oj*yy@zv?+i}|mek>nLpvys9Hs_lqQMkkXr zbDjqe3HKJ7Z*U81GQ@GPKjbuS#IFZrz>%x^EJ~HbTC1$qXc3rFGQg5abu~)Ot5){=ixipqs;o4l z5jER2gOhIA5?ZgdU48p$Z7@MY6A zW~?wTddt&MS{kw@_K2-%l{nu!6P;_ibfLT$4*y#(EY_eN@z7g4OJI2?Tt z&!OQ{wXHs3ZKwEUK8bo0_#6BUr3cWNOBX* zwaRC6i}T4P$pm@7oNS?2Bm>znOu7C`ZldT@JNfXh!J^rN820i?RjD3cZYhgMsIUm-j_#XVlme_a6A=00w( z8S-fa1uTqTW;a`GL)Pd>&c!?c@=an+n{SFD2hVIWjlc*EJ-RiNlDpR0iNJT*-e{{? zjcSTJv=SUw{xtX$3KI4Eo>FkWt6}TEx`T$I(og?R?Z`$Ru}H7O%PT>1#dMcnz7R9+ zWw^|eF?Y`!zlrFdQ~_>{l#?Q+Htid3-H^D%qS9GAtpLLICvNZg+h}FI z?;;Ik1kgCk>n@%tLBPuX|$hPdKd?*?x$4st`ROoy2 zz4>b|ZlatZ#SE(g)iqO>9E4yuIwBERYN!74CMZsNC>4FcZt-dFt9~(qOF{XRYzz$6 zlw2%1jd#8$aqAYN{Q4Ddr+i0XM_b|F(&O9nHgO=Egxm0PEzXB?7iVkB6&o9=^``3&+e)J^NcS zFvadO_>GUa)*h94CC?%h;-trg0ky3O%Il}jQ*oKkO6jwz>?YSi7};Z`vEE6UuVOwK z3~taIuD=r4T9s5>(^Yikr_g>-p1Pz;a^F5Au*>%Oea`ClP8V`mXi0ot>u++nh|Vbz zNn88fkb9iIt^3Wzqn*cX_{!6Mo(c(;sg%K|*vM_U5tmd}!2?_5fJqHirey%e!WQ3y zFU_FWI?Q(BE8pHIcHL`w8r>6;6@E{E1`^L{)NEen=k}uSGmovcH1K-Mqum*$BZ9;S zU($!RgwBYE!*+D^#QK7%O=k{qbn@h?Ho|z4-JHLhTw4>+9hBQ_Zr=leT-mZzv9dl{ zdkf5s`^YXgv6Cp(?}Nh#cC_zUhy{4Fryv-FL@mT~*2~3YCty4{O_8(f#XQIpttgRi z?!_%G1%Xzx1y`AGTO>;8fDSNn1`eo%f>A45Z=+{(eEIN z@mdLMVgFgHipBAbk3qa(m#2*8T{k)s#y#PinVjbwlXO8%nGvyOdxtubSELas`xzzo z()LL7l*-;-G*pbdvy#`w+nKY5_hnRHw>tLdT2=MLAFPl z;F>yneJY_WH~k%)65cJ+l1w|ZQgOpbCyD2l@4_^DF_MFy`_>RNGZ)do>v-*Sx}7I- z{rNPjE%vmwB8ux7l_ZaD;E@gJlyv}G*I1`4VaA`C5vH3gG|o7BQ>bM z5h2=vHQH+BTp19VBVf+wLR@PG)HN^uQ8157TpnH(97!||4V#|QuPw$07eD>lrqytt zCa?B~p-Wh=SXx&xI3othvl}cH&PNYj6pZJbz0_a2mVG*w>&oyI{k!GIMfUGj zCmCbrAinl}g<7L825|S8#CtvX80oJ;GQeqiZv|;tNgJ7u$AZ}AmMyUNkUL|~-bgfc zzCkVy8z%>0f+I*FE6m|4a}krTx1t!H&Fd+DFHntQEozc(^kGe`{_Yc>W?NiBS?g*O zM4DazEPxw*DJC~9Gc?!qvTv6BJd8?|j%z~&Ouwz-KH(3;9=>|H<$&7Je0ig0K^N6n z<-_g$Auo2`grSk2ek1M9S;)s&uEI=_o-d{c42}f;L@55NK{l!|`n5V=S^u@pdzO@s zX-zXJ9;!Q$a6UZiO6|e;F?821fC#p>-+6b9!0z6QuCf>|9ig^*_D;5e0~tLa8(nSPK9%H z0!@XncVq;ZUq^dt8EV%lozQMZ!0IiWE@4)!_Y&En+HjQ}me?Jgctyn$m7DjO@u-)` z=}YxhdKthnWfALAc_assXW3NuAU$28kT`n+)Ds3ALx<4kV6jI}7&^dGrV(UKL)_@qs2W!diGxDZK2NqSJoa@WI8zJ?R^a{|sV%j`ZB7 z+aONG0RV{q2;zT*Zla+zJX@V4wE2nxac@q;X7<=Hhqars(ldc50;>-8iZ@}>5z)%( z%gD8G?MO8fi!d_h0asOvw8)E~66EA3DeoO<<9?krVZv6%_c!QCboP~);LVl_HGkcm zkQm~}kde+nrHGB>_Ro{FBmdg$ZENgOM`v|~$zAqzYmGsu;l4jm;tPbGUa1-ONnyu$5LZ2#!^%IEr z#0r7kPgwROIpNI4U@F%8_ojMmt&h~!v(9RBm+`KLo!i05loPL`>^~pH#bR&ldSl@r zH9t+}TlwWO6VR&|7zVlw{;VhaAbD3e0RDny!wQKp3R6zJnjN)vcl~hT6X{k3WdlBH znxrwL5Dos&8_g%9+gM7&3LJB5Y%Ud%Vs9#l+OmtMP$eoT7t8^6)?U0*1iQP4lbJix zFa;oals3&xjSdwi@V>fYO6gDb6UbVlxZE3$zqseCl{8_}DO^a8ucY%LUfyIe(ML7r zLMf!bZpK)_7#e%{oE@Cb=4U#nQwM_8S4@5PIOH&S_*2g`g-(iW0(f45=yxMr?^N7v zP3VZP!ijNOR3+ZmA%VE2c%(a0gRE6a>0ZiiIj>05M zq`dnE=;mj=_DT2m#DNhzZI0E<@jwI>*J9hKW|d79UK3_UnLTZh+^7zzI9{%4IRABf zaur&YEy1Or|6}jnNESU|c;puOC{C*X&!?DvM+9r0k|)Cc+j)2Q#E%1S0~oi-2Ksr- z+~2RcB#x8=nl@1uaq&rqW%+2|=^2)%ia4id8i#+)h{LlS&Ao`Rk8PUaX>@lrmm>#? zb4*C-Ny_6d??jprQj@n)NLT3J5C9Dp@JaEz$t@Fzi#8?ew5B#%C$;BmAES!&Bp#Ib zl)bY&6~2+!^Ojqj?WF&xR|H(Ax_CR(9P%KyqBZ>Ul8|H&Ly!Bq6=5{fY(=~f2yC^U z@X|& zAW%2UFS(TQ6E$^re+b*^c3cCeN<;N>)^#Yc*e3F>cFRrj53|d;>G|qBW8))P|EgIOR;BDZ5K)~SczeocgBXf9}BuU7+aX+gnm;;=Y^kb8O3Vnkh*6kSDsyrEaxB$52e*>q7ikF+t?X%r!&kIP;i7R=L=2b(t;A2Ct1y&c z#9_b&hxJ)T9`8{?2_GgYFyD8?7c+_#dd4&s3ykZ-BH;-b1THJK9la||WCb5Fny7Ll zP+~)iA|itw)bYT)@nUa=tdbTx40~k?nvBE0(S1gnST!?Sv|jAT)b<&`xX91O_Kg7$V1eMMB{(gh9Ye5Na<0-a#B zj65#07Bst~rCs$sU`EFiF5^M%Smys6&4oQAZBDrnQ@%c0{=Nu5%-*0#^BYc!=&wz7pwIlHnJ7s# zrrMBakwO5_h;FmM4CY>?QOw8V%674<+qk_pXg&y%I zurYSsORB>BNTl|{zM{|%N+-F<1uZ47(ppZm+w{&=byXM^zN7ExQ1$Eb2SvPm@6K<0Xa8-+j<99%L)$0V17PSd&+B99Gx1@ zbA2-hEo!)5TC4Iji*AG4q#<|>m!e-rIBTu{NB(>d+%axOhu`qYeki7 z{J^Y4PwX+q0b8kQ#4}VDmwqLB(bO6K+qR=wdu}CT!8x4^(LpJqaVN3nEeGs69o|XifAJv`okTj&9fP5aAq78{pq4;K_zwDP*%ZHjVL*{JdjEx6q+moqj!E9Swsz>^+suGGo_wc9)ej|& zi;}3Z0N3?KUx&%MC+er23em3CNSt|0LN4|F*aO7deiV*onDW=4c;jhej=bE8&c~s+ z!HR2;d7N#?bcKO!Ukto2k7z-g@<%4mibt=j>{&qy8Cz&5-;@sSIC!<8?^sSJ+n~|2`Y2|fatc!0NtjZ|Ke%gpuP_7 zf({M>a5s0@uOoxtzgW!Md?e@rcl&jEXfi~(&j^t;p7Igo8K>w!Q-;1rf8;!Z?#b8+ zOXX93YcEZ~^EB;S?ncXVs*@y2QC!_QNtp%|<6smJ^NfLJ9j<=a06@5Of|e{&a$jJ*w~PWX6R_ zR(xt8<3px;fi;@@ss2L60X;d-J?9cudC?BYYdk^A(%^mIQH@qv)mcWzBHr4wqS+mw zyP^(q`Y`S8Hh>dsr?>}E+z0$+C*2$m0 z&zB;Y#w@ZOd1Jy@Q38>Ai{~MMM()Q-UO{dU(1zt~Z&*Uxp{KI{v&XftKpG=ZpgQ*W zMPll(aAb~Ni-Oao} zN<8<8;THd7|4;jdg2Y_9kF^x4Dw7y5%W&?$gZ1Sp>1Olh=#+msz_EfE)MsPWEb7dS z71Ztq+%%xhL=FtQ#rg@U8%T-og*~we-Cb|{5{BKQl5!p!HN*#A*B60pj0j7T^?+av z74r&^99m?d?aw)P2=&=&K&4u^W$p&Ls)+u$R-t`gwfti8 z)wL6yw9~7RLwVetYZbxqA6qq+@YEk49$tfG%{yu);QaGf8Otrd9qd;lz&5^qOzGCK z6mM_Q|CNJzc)>j!yu4u!2u*(8UM)>6fdj2d$RH0$Km*jrE3gO_>=Oh5@CpjIzOAo0 z6gp5jd88LmQ97-yf2G@^-JspTzL3Jk3_OeWK)dDq(alkkO02_GV^y3 z`~~};+ZF%90rJDR{)GL}y!d}D{HxvY*B}90DVE$$e>WfgXLElQ2!D-VsG-~Gzfr%N z5x>xXS^ZD#h=1d2!me(oe>5ll-0nZo2)}_Lw;%1_%li=l`E%_owQAa_rx#acTZHs(-t=t|rzkUjqQ( Q-ChN^IXUN64*>9g03&)cVE_OC literal 0 HcmV?d00001 diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py new file mode 100644 index 00000000000..ab2f58ec77a --- /dev/null +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -0,0 +1,435 @@ +""" +Deployment Group Deployment & Redeployment Tests for Payara + +Tests that an application deployed to a deployment group is actually +deployed to every instance in that group, and that redeployment also +propagates to all instances. + +The test suite automatically: +- Starts the Payara domain before all tests +- Stops the Payara domain after all tests complete +- Logs all operations with detailed output +- Uses clusterjsp.war from the test-apps folder + +Usage: + export PAYARA_HOME=/path/to/payara + pytest test_deployment_group_deployment.py -v + +To run specific tests: + pytest test_deployment_group_deployment.py::TestDeploymentGroupDeployment::test_deploy_to_group_appears_on_all_instances -v + +Requirements: + - Payara Server running with DAS accessible + - PAYARA_HOME environment variable set to Payara installation directory + - clusterjsp.war file in the test-apps folder +""" + +import os +import re +import subprocess +import time +import pytest +import logging +import requests +import uuid + +logging.basicConfig( + level=logging.DEBUG, + format='%(asctime)s - %(levelname)s - %(message)s' +) +logger = logging.getLogger(__name__) + + +# --------------------------------------------------------------------------- +# Helpers +# --------------------------------------------------------------------------- + +class AsadminRunner: + """Thin wrapper around asadmin subprocess calls.""" + + def __init__(self): + payara_home = os.environ.get("PAYARA_HOME") + if not payara_home: + raise RuntimeError( + "PAYARA_HOME environment variable is not set. " + "Please set it to your Payara installation directory." + ) + self.asadmin = os.path.join(payara_home, "bin", "asadmin") + + def run(self, *args, check: bool = True, capture: bool = True) -> subprocess.CompletedProcess: + cmd = [self.asadmin] + list(args) + logger.info(f"Running asadmin command: {' '.join(args)}") + result = subprocess.run( + cmd, + capture_output=capture, + text=True, + ) + if check and result.returncode != 0: + logger.error(f"asadmin command failed: {' '.join(args)}") + logger.error(f"stdout: {result.stdout}") + logger.error(f"stderr: {result.stderr}") + raise RuntimeError( + f"asadmin command failed: {' '.join(args)}\n" + f"stdout: {result.stdout}\n" + f"stderr: {result.stderr}" + ) + logger.info(f"asadmin command succeeded: {' '.join(args)}") + return result + + def run_no_raise(self, *args) -> subprocess.CompletedProcess: + """Run without raising on non-zero exit (useful for cleanup).""" + return self.run(*args, check=False) + + def list_applications_on_instance(self, instance_name: str) -> list[str]: + """Return names of applications deployed on the given instance.""" + result = self.run("list-applications", "--long=false", instance_name) + apps = [] + for line in result.stdout.splitlines(): + line = line.strip() + # Skip empty lines, the summary line and status messages + if not line or line.startswith("Command") or line.startswith("Nothing"): + continue + # Output format: " " + parts = line.split() + if parts: + apps.append(parts[0]) + return apps + + def get_instance_http_port(self, instance_name: str) -> str | None: + """Get the HTTP listener port for the given instance via get command.""" + result = self.run_no_raise( + "get", + f"servers.server.{instance_name}.system-property.HTTP_LISTENER_PORT.value", + ) + for line in result.stdout.splitlines(): + m = re.search(r"=\s*(\d+)", line) + if m: + return m.group(1) + return None + + +def check_http_app_available(host: str, port: str, app_name: str, timeout: int = 30) -> bool: + """ + Check if the application is available via HTTP. + + Args: + host: Hostname or IP address + port: HTTP port number + app_name: Name of the application + timeout: Timeout in seconds for the HTTP request + + Returns: + True if the application responds with HTTP 200, False otherwise + """ + url = f"http://{host}:{port}/{app_name}" + logger.info(f"Checking HTTP availability: {url}") + + try: + response = requests.get(url, timeout=timeout) + logger.info(f"HTTP response status: {response.status_code}") + if response.status_code == 200: + logger.info(f"✓ Application '{app_name}' is accessible via HTTP at {url}") + return True + else: + logger.warning(f"Application '{app_name}' returned status {response.status_code}") + return False + except requests.exceptions.RequestException as e: + logger.error(f"HTTP request failed for {url}: {e}") + return False + +# --------------------------------------------------------------------------- +# Fixtures +# --------------------------------------------------------------------------- + +@pytest.fixture(scope="session", autouse=True) +def payara_domain(): + """ + Start the Payara domain before all tests and stop it after. + """ + asadmin = AsadminRunner() + + # Log PAYARA_HOME + payara_home = os.environ.get("PAYARA_HOME") + logger.info(f"PAYARA_HOME: {payara_home}") + + # Log JDK version + logger.info("Checking JDK version") + java_result = subprocess.run(["java", "-version"], capture_output=True, text=True) + logger.info(f"JDK version: {java_result.stderr.strip()}") + + # Start the domain + try: + logger.info("Starting Payara domain") + asadmin.run("start-domain") + logger.info("Payara domain started successfully") + yield + finally: + # Stop the domain + logger.info("Stopping Payara domain") + asadmin.run_no_raise("stop-domain") + logger.info("Payara domain stopped") + + +@pytest.fixture(scope="module") +def asadmin() -> AsadminRunner: + return AsadminRunner() + + +@pytest.fixture(scope="module") +def http_port_base(request) -> int: + return int(request.config.getoption("--instance-http-port-base")) + + +@pytest.fixture(scope="module") +def test_war(tmp_path_factory) -> str: + """ + Path to a test WAR file. Uses clusterjsp.war from test-apps folder. + """ + war_path = os.path.join(os.path.dirname(__file__), "test-apps", "clusterjsp.war") + if not os.path.isfile(war_path): + raise RuntimeError(f"Test WAR file not found: {war_path}") + logger.info(f"Using test WAR: {war_path}") + return war_path + + +@pytest.fixture() +def deployment_group_env(asadmin, http_port_base): + """ + Create a deployment group with two standalone instances, yield the + environment dict, then clean up everything in reverse order. + + Yielded dict keys: + dg_name – deployment group name + instances – list of instance names + node_name – "localhost-domain1" (default local node) + """ + # Use unique names to avoid conflicts from previous test runs + unique_id = str(uuid.uuid4())[:8] + dg_name = f"test-dg-{unique_id}" + instance_names = [f"test-dg-inst1-{unique_id}", f"test-dg-inst2-{unique_id}"] + node_name = "localhost-domain1" + + logger.info(f"Setting up deployment group environment: {dg_name}") + + # --- Pre-setup cleanup (handle stale resources from previous runs) --- + logger.info("Checking for and cleaning up any existing resources from previous runs") + + # Clean up any test applications at domain level + logger.info("Cleaning up test applications from domain level") + result = asadmin.run_no_raise("list-applications", "--long") + test_app_prefix = "clusterjsp-dg-" + for line in result.stdout.splitlines(): + line = line.strip() + if not line or line.startswith("Command") or line.startswith("Nothing"): + continue + parts = line.split() + if parts and parts[0].startswith(test_app_prefix): + app_name = parts[0] + logger.info(f"Undeploying test application from domain: {app_name}") + asadmin.run_no_raise("undeploy", "--target=domain", app_name) + + # Stop and delete deployment group if it exists + asadmin.run_no_raise("stop-deployment-group", dg_name) + for inst in instance_names: + asadmin.run_no_raise("remove-instance-from-deployment-group", + f"--instance={inst}", + f"--deploymentgroup={dg_name}") + asadmin.run_no_raise("delete-deployment-group", dg_name) + + # Delete instances if they exist (in case they weren't cleaned up properly) + for inst in instance_names: + asadmin.run_no_raise("delete-instance", inst) + + # --- Setup ----------------------------------------------------------- + # 1. Create standalone instances with unique HTTP ports + for idx, inst in enumerate(instance_names): + http_port = http_port_base + idx + https_port = http_port_base + idx + 100 + admin_port_offset = http_port_base + idx + 200 + logger.info(f"Creating instance: {inst} with HTTP port {http_port}") + asadmin.run( + "create-instance", + f"--node={node_name}", + f"--systemproperties", + ( + f"HTTP_LISTENER_PORT={http_port}:" + f"HTTP_SSL_LISTENER_PORT={https_port}:" + f"ASADMIN_LISTENER_PORT={admin_port_offset}" + ), + inst, + ) + + # 2. Create the deployment group + logger.info(f"Creating deployment group: {dg_name}") + asadmin.run("create-deployment-group", dg_name) + + # 3. Add both instances to the deployment group + for inst in instance_names: + logger.info(f"Adding instance {inst} to deployment group {dg_name}") + asadmin.run( + "add-instance-to-deployment-group", + f"--instance={inst}", + f"--deploymentgroup={dg_name}", + ) + + # 4. Start the deployment group (starts all member instances) + logger.info(f"Starting deployment group: {dg_name}") + asadmin.run("start-deployment-group", dg_name) + + logger.info(f"Deployment group environment setup complete: {dg_name}") + + yield { + "dg_name": dg_name, + "instances": instance_names, + "node_name": node_name, + } + + # --- Teardown (always runs) ------------------------------------------ + logger.info(f"Tearing down deployment group environment: {dg_name}") + + # Undeploy any remaining apps from deployment group (best-effort) + apps = asadmin.list_applications_on_instance(dg_name) + if apps: + logger.info(f"Undeploying remaining apps from {dg_name}: {apps}") + for app in apps: + asadmin.run_no_raise("undeploy", f"--target={dg_name}", app) + + # Clean up any test applications at domain level + logger.info("Cleaning up test applications from domain level") + result = asadmin.run_no_raise("list-applications", "--long") + test_app_prefix = "clusterjsp-dg-" + for line in result.stdout.splitlines(): + line = line.strip() + if not line or line.startswith("Command") or line.startswith("Nothing"): + continue + parts = line.split() + if parts and parts[0].startswith(test_app_prefix): + app_name = parts[0] + logger.info(f"Undeploying test application from domain: {app_name}") + asadmin.run_no_raise("undeploy", "--target=domain", app_name) + + logger.info(f"Stopping deployment group: {dg_name}") + asadmin.run_no_raise("stop-deployment-group", dg_name) + + for inst in instance_names: + logger.info(f"Removing instance {inst} from deployment group {dg_name}") + asadmin.run_no_raise("remove-instance-from-deployment-group", + f"--instance={inst}", + f"--deploymentgroup={dg_name}") + logger.info(f"Deleting instance: {inst}") + asadmin.run_no_raise("delete-instance", inst) + + logger.info(f"Deleting deployment group: {dg_name}") + asadmin.run_no_raise("delete-deployment-group", dg_name) + logger.info(f"Deployment group environment teardown complete: {dg_name}") + +# --------------------------------------------------------------------------- +# Tests +# --------------------------------------------------------------------------- + +class TestDeploymentGroupDeployment: + """Tests for deployment group functionality.""" + + def test_deploy_to_group_appears_on_all_instances( + self, asadmin, deployment_group_env, test_war + ): + """Deploying to a deployment group should make the app visible on all instances.""" + dg = deployment_group_env["dg_name"] + instances = deployment_group_env["instances"] + app_name = "clusterjsp-dg-deploy-test" + + asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", test_war) + + try: + for inst in instances: + apps = asadmin.list_applications_on_instance(inst) + assert app_name in apps, ( + f"Application '{app_name}' not found on instance '{inst}'. Apps: {apps}" + ) + + http_port = asadmin.get_instance_http_port(inst) + assert http_port is not None, f"Could not get HTTP port for '{inst}'" + assert check_http_app_available("localhost", http_port, app_name), ( + f"App '{app_name}' not accessible via HTTP on '{inst}'" + ) + finally: + asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) + + def test_deploy_to_group_listed_on_group_target( + self, asadmin, deployment_group_env, test_war + ): + """list-applications on the deployment group should return the deployed app.""" + dg = deployment_group_env["dg_name"] + app_name = "clusterjsp-dg-list-test" + + asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", test_war) + + try: + apps = asadmin.list_applications_on_instance(dg) + assert app_name in apps, ( + f"App '{app_name}' not listed on deployment group '{dg}'. Apps: {apps}" + ) + + inst = deployment_group_env["instances"][0] + http_port = asadmin.get_instance_http_port(inst) + assert http_port is not None, f"Could not get HTTP port for '{inst}'" + assert check_http_app_available("localhost", http_port, app_name), ( + f"App '{app_name}' not accessible via HTTP on '{inst}'" + ) + finally: + asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) + + def test_undeploy_from_group_removes_from_all_instances( + self, asadmin, deployment_group_env, test_war + ): + """Undeploying from a deployment group should remove the app from all instances.""" + dg = deployment_group_env["dg_name"] + instances = deployment_group_env["instances"] + app_name = "clusterjsp-dg-undeploy-test" + + asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", test_war) + + inst = instances[0] + http_port = asadmin.get_instance_http_port(inst) + assert http_port is not None, f"Could not get HTTP port for '{inst}'" + assert check_http_app_available("localhost", http_port, app_name), ( + f"App '{app_name}' not accessible before undeploy" + ) + + asadmin.run("undeploy", f"--target={dg}", app_name) + + for inst in instances: + apps = asadmin.list_applications_on_instance(inst) + assert app_name not in apps, ( + f"App '{app_name}' still on instance '{inst}' after undeploy" + ) + + def test_redeploy_to_group_propagates_to_all_instances( + self, asadmin, deployment_group_env, test_war + ): + """Redeploying an app to a deployment group should propagate to all instances.""" + dg = deployment_group_env["dg_name"] + instances = deployment_group_env["instances"] + app_name = "clusterjsp-dg-redeploy-test" + + # Initial deployment + asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", test_war) + + try: + # Redeploy the same app with force flag + asadmin.run("deploy", "--force=true", f"--target={dg}", f"--name={app_name}", test_war) + + # Verify redeployment propagated to all instances + for inst in instances: + apps = asadmin.list_applications_on_instance(inst) + assert app_name in apps, ( + f"App '{app_name}' not found on instance '{inst}' after redeploy. Apps: {apps}" + ) + + http_port = asadmin.get_instance_http_port(inst) + assert http_port is not None, f"Could not get HTTP port for '{inst}'" + assert check_http_app_available("localhost", http_port, app_name), ( + f"App '{app_name}' not accessible via HTTP on '{inst}' after redeploy" + ) + finally: + asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) From d61509020f98e52c51f9eef8effb4a6013a1fe7c Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Thu, 9 Apr 2026 11:36:24 +0100 Subject: [PATCH 017/133] FISH-13231 Mojarra 4.1.7.payara-p1 Signed-off-by: Andrew Pielage --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7249d9bb1fc..dcdefb16719 100644 --- a/pom.xml +++ b/pom.xml @@ -242,7 +242,7 @@ 3.0.0 2.6 - 4.1.6.payara-p1 + 4.1.7.payara-p1 2.3.0 3.0.0 4.0.1.payara-p1 From 8888d3faf322b7448af62410bf8667c117318b6e Mon Sep 17 00:00:00 2001 From: Kalin Chan Date: Wed, 15 Apr 2026 11:14:09 +0100 Subject: [PATCH 018/133] FISH-12430 Second CMP Removal passthrough --- .../en/help/reference/capture-schema.html | 3 +- .../en/help/reference/list-log-levels.html | 1 - .../appclient/client/acc-standalone/fixup.xml | 3 +- .../connectors/util/ResourcesUtil.java | 293 -- .../deployment/LocalStrings_de.properties | 3 - .../deployment/LocalStrings_es.properties | 3 - .../deployment/LocalStrings_fr.properties | 3 - .../deployment/LocalStrings_it.properties | 3 - .../deployment/LocalStrings_ja.properties | 3 - .../deployment/LocalStrings_ko.properties | 3 - .../deployment/LocalStrings_pt_BR.properties | 3 - .../deployment/LocalStrings_zh_CN.properties | 3 - .../deployment/LocalStrings_zh_TW.properties | 3 - .../enterprise/deployment/Application.java | 3 - .../deployment/LocalStrings.properties | 1 - .../ResourceReferenceDescriptor.java | 101 - .../deployment/io/DescriptorConstants.java | 13 - .../deployment/io/DescriptorList.java | 1 - .../deployment/node/MethodNode.java | 2 - .../deployment/xml/DTDRegistry.java | 21 +- .../deployment/xml/RuntimeTagNames.java | 19 - .../core/deployment/JavaEEDeployer.java | 3 +- appserver/ejb/ejb-client/exclude.xml | 6 - appserver/ejb/ejb-container/exclude.xml | 6 - .../main/java/com/sun/ejb/InvocationInfo.java | 2 - .../ejb/codegen/StaticRmiStubGenerator.java | 3 +- .../com/sun/ejb/containers/BaseContainer.java | 2 +- .../ejb/containers/EjbContainerUtilImpl.java | 6 +- .../deployment/BeanMethodCalculatorImpl.java | 31 - .../glassfish/ejb/deployment/EjbTagNames.java | 37 - .../annotation/handlers/EJBHandler.java | 9 - .../deployment/descriptor/CMRFieldInfo.java | 61 - .../descriptor/EjbBundleDescriptorImpl.java | 165 +- .../descriptor/EjbCMPEntityDescriptor.java | 315 -- .../deployment/descriptor/EjbDescriptor.java | 63 - .../descriptor/EjbEntityDescriptor.java | 246 -- .../descriptor/FieldDescriptor.java | 133 - .../descriptor/IASEjbCMPEntityDescriptor.java | 741 ---- .../descriptor/PersistenceDescriptor.java | 1167 ------- .../descriptor/PersistentFieldInfo.java | 75 - .../descriptor/QueryDescriptor.java | 231 -- .../descriptor/RelationRoleDescriptor.java | 242 -- .../descriptor/RelationshipDescriptor.java | 121 - .../descriptor/runtime/IASEjbCMPFinder.java | 110 - .../IASPersistenceManagerDescriptor.java | 155 - .../ejb/deployment/node/CmpFieldNode.java | 80 - .../ejb/deployment/node/EjbBundleNode.java | 14 - .../ejb/deployment/node/EjbEntityNode.java | 221 -- .../ejb/deployment/node/EjbRelationNode.java | 116 - .../node/EjbRelationshipRoleNode.java | 207 -- .../ejb/deployment/node/QueryNode.java | 129 - .../deployment/node/RelationshipsNode.java | 96 - .../ejb/deployment/node/runtime/CmpNode.java | 131 - .../node/runtime/CmpResourceNode.java | 145 - .../ejb/deployment/node/runtime/EjbNode.java | 8 - .../runtime/EnterpriseBeansRuntimeNode.java | 11 +- .../deployment/node/runtime/FinderNode.java | 81 - .../util/EjbBundleTracerVisitor.java | 50 - .../deployment/util/EjbBundleValidator.java | 26 +- .../glassfish/ejb/startup/EjbDeployer.java | 56 +- .../descriptor/LocalStrings.properties | 2 - .../org/glassfish/ejb/spi/CMPDeployer.java | 57 - .../org/glassfish/ejb/spi/CMPService.java | 50 - .../MICRO-INF/domain/logging.properties | 1 - .../glassfish-entitybeans-container/pom.xml | 8 - appserver/persistence/common/pom.xml | 2 +- .../entitybean-container/osgi.bundle | 66 - .../persistence/entitybean-container/pom.xml | 100 - .../sun/appserv/ejb/ReadOnlyBeanHelper.java | 101 - .../ejb/ReadOnlyBeanLocalNotifier.java | 66 - .../sun/appserv/ejb/ReadOnlyBeanNotifier.java | 81 - .../container/CommitCEntityContainer.java | 104 - .../container/EntityBeanHomeImpl.java | 83 - .../container/EntityBeanLocalHomeImpl.java | 87 - .../entitybean/container/EntityContainer.java | 3002 ----------------- .../container/EntityContainerFactory.java | 126 - .../container/EntityContextImpl.java | 285 -- .../container/ReadOnlyBeanContainer.java | 1013 ------ .../container/ReadOnlyBeanInfo.java | 103 - .../ReadOnlyBeanLocalNotifierImpl.java | 68 - .../container/ReadOnlyBeanNotifierImpl.java | 87 - .../container/ReadOnlyContextImpl.java | 107 - .../container/ReadOnlyEJBHomeImpl.java | 114 - .../container/ReadOnlyEJBLocalHomeImpl.java | 90 - .../container/cache/EJBObjectCache.java | 64 - .../cache/EJBObjectCacheListener.java | 57 - .../container/cache/FIFOEJBObjectCache.java | 555 --- .../cache/UnboundedEJBObjectCache.java | 108 - .../distributed/DistributedEJBService.java | 47 - .../DistributedEJBServiceFactory.java | 62 - .../DistributedReadOnlyBeanNotifier.java | 70 - .../DistributedReadOnlyBeanService.java | 120 - .../DistributedReadOnlyBeanServiceImpl.java | 212 -- .../ReadOnlyBeanMessageCallBack.java | 214 -- .../ReadOnlyBeanRefreshEventHandler.java | 75 - .../container/spi/CascadeDeleteNotifier.java | 52 - .../container/spi/ReadOnlyEJBHome.java | 56 - .../container/spi/ReadOnlyEJBLocalHome.java | 51 - .../stats/EntityBeanStatsProvider.java | 101 - .../com/sun/appserv/ejb/LogStrings.properties | 48 - .../container/LogStrings.properties | 57 - appserver/persistence/pom.xml | 1 - appserver/tests/quicklook/build.xml | 2 - .../tests/quicklook/ejb/cmp/build.properties | 53 - appserver/tests/quicklook/ejb/cmp/build.xml | 106 - .../ejb/cmp/metadata/RosterSchema.dbschema | 1258 ------- .../ejb/cmp/metadata/application.xml | 63 - .../quicklook/ejb/cmp/metadata/ejb-jar.xml | 1351 -------- .../quicklook/ejb/cmp/metadata/payara-web.xml | 52 - .../ejb/cmp/metadata/sun-cmp-mappings.xml | 143 - .../ejb/cmp/metadata/sun-ejb-jar.xml | 82 - .../tests/quicklook/ejb/cmp/metadata/web.xml | 68 - appserver/tests/quicklook/ejb/cmp/pom.xml | 95 - .../quicklook/ejb/cmp/sql/RosterApp_h2.sql | 37 - .../cmp/src/java/client/RosterServlet.java | 507 --- .../ejb/cmp/src/java/roster/Roster.java | 187 - .../ejb/cmp/src/java/roster/RosterBean.java | 889 ----- .../ejb/cmp/src/java/roster/RosterHome.java | 50 - .../ejb/cmp/src/java/team/LeagueBean.java | 175 - .../ejb/cmp/src/java/team/LocalLeague.java | 61 - .../cmp/src/java/team/LocalLeagueHome.java | 60 - .../ejb/cmp/src/java/team/LocalPlayer.java | 56 - .../cmp/src/java/team/LocalPlayerHome.java | 103 - .../ejb/cmp/src/java/team/LocalTeam.java | 62 - .../ejb/cmp/src/java/team/LocalTeamHome.java | 62 - .../ejb/cmp/src/java/team/PlayerBean.java | 137 - .../ejb/cmp/src/java/team/TeamBean.java | 207 -- .../ejb/cmp/src/java/util/Debug.java | 68 - .../ejb/cmp/src/java/util/LeagueDetails.java | 73 - .../ejb/cmp/src/java/util/PlayerDetails.java | 81 - .../ejb/cmp/src/java/util/TeamDetails.java | 73 - .../ejb/cmp/src/test/CmpRosterTestNG.java | 114 - .../quicklook/ejb/cmp/web/html/index.html | 53 - .../tests/quicklook/ejb/cmp/web/jsp/index.jsp | 48 - .../tests/quicklook/gfproject/build-impl.xml | 2 - .../tests/quicklook/testng/testng_gd.xml | 5 - .../quicklook/testng/testng_gd_security.xml | 5 - .../config/serverbeans/ModuleLogLevels.java | 32 - .../config/serverbeans/ServerTags.java | 2 - .../domains/domain1/config/logging.properties | 1 - .../domains/domain2/config/logging.properties | 1 - .../domains/domain3/config/logging.properties | 1 - .../domainNoLog/config/logging.properties | 1 - .../resources/GlassFishI18NData.properties | 4 - .../main/resources/config/logging.properties | 1 - .../admin/amx/logging/LogModuleNames.java | 4 - .../common/util/logging/LoggingXMLNames.java | 4 - .../admin/monitor/callflow/ComponentType.java | 6 - .../main/java/com/sun/logging/LogDomains.java | 5 - .../test/resources/config/logging.properties | 1 - .../resources/rightordernoclosedomain.xml | 2 +- .../src/test/resources/v2domain.xml | 2 +- .../resources/wrongordernoclosedomain.xml | 2 +- .../logging/ModuleToLoggerNameMapper.java | 4 - .../server/logging/commands/list-log-levels.1 | 1 - .../impl/core/ProviderImplGenerator.java | 1 - 156 files changed, 17 insertions(+), 19988 deletions(-) delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/CMRFieldInfo.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbCMPEntityDescriptor.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbEntityDescriptor.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/FieldDescriptor.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/IASEjbCMPEntityDescriptor.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/PersistenceDescriptor.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/PersistentFieldInfo.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/QueryDescriptor.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/RelationRoleDescriptor.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/RelationshipDescriptor.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/runtime/IASEjbCMPFinder.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/runtime/IASPersistenceManagerDescriptor.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/CmpFieldNode.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbEntityNode.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbRelationNode.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbRelationshipRoleNode.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/QueryNode.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/RelationshipsNode.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/CmpNode.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/CmpResourceNode.java delete mode 100644 appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/FinderNode.java delete mode 100644 appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/spi/CMPDeployer.java delete mode 100644 appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/spi/CMPService.java delete mode 100644 appserver/persistence/entitybean-container/osgi.bundle delete mode 100644 appserver/persistence/entitybean-container/pom.xml delete mode 100644 appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanHelper.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanLocalNotifier.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanNotifier.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/CommitCEntityContainer.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityBeanHomeImpl.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityBeanLocalHomeImpl.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityContainer.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityContainerFactory.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityContextImpl.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanContainer.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanInfo.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanLocalNotifierImpl.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanNotifierImpl.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyContextImpl.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyEJBHomeImpl.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyEJBLocalHomeImpl.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/EJBObjectCache.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/EJBObjectCacheListener.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/FIFOEJBObjectCache.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/UnboundedEJBObjectCache.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedEJBService.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedEJBServiceFactory.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanNotifier.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanService.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanServiceImpl.java delete mode 100755 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/ReadOnlyBeanMessageCallBack.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/ReadOnlyBeanRefreshEventHandler.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/CascadeDeleteNotifier.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/ReadOnlyEJBHome.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/ReadOnlyEJBLocalHome.java delete mode 100644 appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/stats/EntityBeanStatsProvider.java delete mode 100644 appserver/persistence/entitybean-container/src/main/resources/com/sun/appserv/ejb/LogStrings.properties delete mode 100644 appserver/persistence/entitybean-container/src/main/resources/org/glassfish/persistence/ejb/entitybean/container/LogStrings.properties delete mode 100644 appserver/tests/quicklook/ejb/cmp/build.properties delete mode 100644 appserver/tests/quicklook/ejb/cmp/build.xml delete mode 100644 appserver/tests/quicklook/ejb/cmp/metadata/RosterSchema.dbschema delete mode 100644 appserver/tests/quicklook/ejb/cmp/metadata/application.xml delete mode 100644 appserver/tests/quicklook/ejb/cmp/metadata/ejb-jar.xml delete mode 100644 appserver/tests/quicklook/ejb/cmp/metadata/payara-web.xml delete mode 100644 appserver/tests/quicklook/ejb/cmp/metadata/sun-cmp-mappings.xml delete mode 100644 appserver/tests/quicklook/ejb/cmp/metadata/sun-ejb-jar.xml delete mode 100644 appserver/tests/quicklook/ejb/cmp/metadata/web.xml delete mode 100644 appserver/tests/quicklook/ejb/cmp/pom.xml delete mode 100644 appserver/tests/quicklook/ejb/cmp/sql/RosterApp_h2.sql delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/client/RosterServlet.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/roster/Roster.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/roster/RosterBean.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/roster/RosterHome.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/team/LeagueBean.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/team/LocalLeague.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/team/LocalLeagueHome.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/team/LocalPlayer.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/team/LocalPlayerHome.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/team/LocalTeam.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/team/LocalTeamHome.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/team/PlayerBean.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/team/TeamBean.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/util/Debug.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/util/LeagueDetails.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/util/PlayerDetails.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/java/util/TeamDetails.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/src/test/CmpRosterTestNG.java delete mode 100644 appserver/tests/quicklook/ejb/cmp/web/html/index.html delete mode 100644 appserver/tests/quicklook/ejb/cmp/web/jsp/index.jsp diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/capture-schema.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/capture-schema.html index 47f3c973583..0de5793fc21 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/capture-schema.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/capture-schema.html @@ -136,8 +136,7 @@

    capture-schema

    to this user.
    Specifying this parameter is highly recommended. Without this option, if more than one schema is accessible to this user, more than one -table with the same name may be captured, which will cause problems -when mapping CMP fields to tables.
    +table with the same name may be captured.
    The specified schema name must be uppercase.

    -table
    diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-log-levels.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-log-levels.html index 127779eac88..f8cd37fcadf 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-log-levels.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/list-log-levels.html @@ -183,7 +183,6 @@

    list-log-levels

    javax.enterprise.resource.webcontainer.jsf.resource <INFO> javax.enterprise.resource.webcontainer.jsf.taglib <INFO> javax.enterprise.resource.webcontainer.jsf.timing <INFO> -javax.enterprise.system.container.cmp <INFO> javax.enterprise.system.container.ejb <INFO> javax.enterprise.system.container.ejb.mdb <INFO> javax.enterprise.system.container.web <INFO> diff --git a/appserver/appclient/client/acc-standalone/fixup.xml b/appserver/appclient/client/acc-standalone/fixup.xml index 8877f6345f7..bd2768d2fc3 100644 --- a/appserver/appclient/client/acc-standalone/fixup.xml +++ b/appserver/appclient/client/acc-standalone/fixup.xml @@ -60,10 +60,9 @@ - - + diff --git a/appserver/connectors/connectors-runtime/src/main/java/com/sun/enterprise/connectors/util/ResourcesUtil.java b/appserver/connectors/connectors-runtime/src/main/java/com/sun/enterprise/connectors/util/ResourcesUtil.java index 3fa2e38aabf..fae370a2665 100644 --- a/appserver/connectors/connectors-runtime/src/main/java/com/sun/enterprise/connectors/util/ResourcesUtil.java +++ b/appserver/connectors/connectors-runtime/src/main/java/com/sun/enterprise/connectors/util/ResourcesUtil.java @@ -243,299 +243,6 @@ public DeferredResourceConfig getDeferredResourceConfig(Object resource, Object return resConfig; } -/* public DeferredResourceConfig getDeferredJdbcResourceConfig(JdbcResource resource, JdbcConnectionPool pool) { - DeferredResourceConfig resConfig = null; - - if (parseBoolean(resource.getEnabled())){ - String rarName = getRANameofJdbcConnectionPool(pool); - resConfig = new DeferredResourceConfig(rarName, null, null, null, pool, resource, null); - Resource[] resourcesToload = new Resource[]{pool, resource}; - resConfig.setResourcesToLoad(resourcesToload); - } - return resConfig; - } -*/ - - /** - * Returns the deferred connector resource config. This can be resource of JMS RA which is lazily - * loaded. Or for other connector RA which is not loaded at start-up. The connector RA which does - * not have any resource or admin object associated with it are not loaded at start-up. They are - * all lazily loaded. - */ -/* protected DeferredResourceConfig getDeferredConnectorResourceConfigs(ResourceInfo resourceInfo) { - - if (resourceInfo == null) { - return null; - } - Resource[] resourcesToload = new Resource[2]; - - try { - if (!isReferenced(resourceInfo)) { - return null; - } - } catch (Exception e) { - String message = localStrings.getString( - "error.finding.resources.references", - resourceInfo); - _logger.log(Level.WARNING, message + e.getMessage()); - if(_logger.isLoggable(Level.FINE)) { - _logger.log(Level.FINE, message + e.getMessage(), e); - } - } - - - ConnectorResource connectorResource = (ConnectorResource) - ConnectorsUtil.getResourceByName(getResources(resourceInfo), ConnectorResource.class, resourceInfo.getName()); - if (connectorResource == null || !ConnectorsUtil.parseBoolean(connectorResource.getEnabled())) { - return null; - } - String poolName = connectorResource.getPoolName(); - ConnectorConnectionPool ccPool = (ConnectorConnectionPool) - ConnectorsUtil.getResourceByName(getResources(resourceInfo), ConnectorConnectionPool.class, poolName); - if (ccPool == null) { - return null; - } - String rarName = ccPool.getResourceAdapterName(); - if (rarName != null) { - resourcesToload[0] = ccPool; - resourcesToload[1] = connectorResource; - - //TODO ASR :need to get RACs from application/modules resources also ? - ResourceAdapterConfig[] resourceAdapterConfig = new ResourceAdapterConfig[1]; - resourceAdapterConfig[0] = (ResourceAdapterConfig) - ConnectorsUtil.getResourceByName(getGlobalResources(), ResourceAdapterConfig.class, rarName); - - DeferredResourceConfig resourceConfig = - new DeferredResourceConfig(rarName, null, ccPool, connectorResource, null, null, - resourceAdapterConfig); - resourceConfig.setResourcesToLoad(resourcesToload); - return resourceConfig; - } - return null; - } -*/ - -/* protected DeferredResourceConfig getDeferredJdbcResourceConfigs(ResourceInfo resourceInfo) { - - Resource[] resourcesToload = new Resource[2]; - if(resourceInfo == null) { - return null; - } - - try { - //__pm does not have a domain.xml entry and hence will not - //be referenced - if(!(resourceInfo.getName().endsWith("__pm"))){ - if(!isReferenced(resourceInfo)){ - return null; - } - } - } catch (Exception e) { - String message = localStrings.getString("error.finding.resources.references", resourceInfo); - _logger.log(Level.WARNING, message + e.getMessage()); - if(_logger.isLoggable(Level.FINE)) { - _logger.log(Level.FINE,message + e.getMessage(), e); - } - } - - JdbcResource jdbcResource = (JdbcResource) ConnectorsUtil.getResourceByName(getResources(resourceInfo), JdbcResource.class, - resourceInfo.getName()); - if(jdbcResource == null || !ConnectorsUtil.parseBoolean(jdbcResource.getEnabled())) { - String cmpResourceName = getCorrespondingCmpResourceName(resourceInfo); - jdbcResource = (JdbcResource) ConnectorsUtil.getResourceByName(getResources(resourceInfo), JdbcResource.class, - cmpResourceName); - if(jdbcResource == null) { - return null; - } - } - JdbcConnectionPool jdbcPool = (JdbcConnectionPool) - ConnectorsUtil.getResourceByName(getResources(resourceInfo), JdbcConnectionPool.class, jdbcResource.getPoolName()); - if(jdbcPool == null) { - return null; - } - String rarName = getRANameofJdbcConnectionPool(jdbcPool); - if(rarName != null && ConnectorsUtil.belongsToSystemRA(rarName)) { - resourcesToload[0] = jdbcPool; - resourcesToload[1] = jdbcResource; - DeferredResourceConfig resourceConfig = - new DeferredResourceConfig(rarName,null,null, - null,jdbcPool,jdbcResource,null); - resourceConfig.setResourcesToLoad(resourcesToload); - return resourceConfig; - } - return null; - } -*/ - - -/** - * Returns the deferred admin object config. This can be admin object of JMS RA which is lazily - * loaded. Or for other connector RA which is not loaded at start-up. The connector RA which does - * not have any resource or admin object associated with it are not loaded at start-up. They are - * all lazily loaded. - */ - -/* protected DeferredResourceConfig getDeferredAdminObjectConfigs(ResourceInfo resourceInfo) { - - if(resourceInfo == null) { - return null; - } - Resource[] resourcesToload = new Resource[1]; - - try { - if(!isReferenced(resourceInfo)){ - return null; - } - } catch (Exception e) { - String message = localStrings.getString( - "error.finding.resources.references", - resourceInfo); - _logger.log(Level.WARNING, message + e.getMessage()); - if(_logger.isLoggable(Level.FINE)) { - _logger.log(Level.FINE,message + e.getMessage(), e); - } - } - - AdminObjectResource adminObjectResource = (AdminObjectResource) - ConnectorsUtil.getResourceByName(getResources(resourceInfo), AdminObjectResource.class, resourceInfo.getName()); - if(adminObjectResource == null || !ConnectorsUtil.parseBoolean(adminObjectResource.getEnabled())) { - return null; - } - String rarName = adminObjectResource.getResAdapter(); - if(rarName != null){ - //TODO ASR : look for RACs in application/module's resources also - resourcesToload[0] = adminObjectResource; - ResourceAdapterConfig[] resourceAdapterConfig = - new ResourceAdapterConfig[1]; - resourceAdapterConfig[0] = (ResourceAdapterConfig) - ConnectorsUtil.getResourceByName(getGlobalResources(), ResourceAdapterConfig.class, rarName); - DeferredResourceConfig resourceConfig = - new DeferredResourceConfig(rarName,adminObjectResource, - null,null,null,null,resourceAdapterConfig); - resourceConfig.setResourcesToLoad(resourcesToload); - return resourceConfig; - } - return null; - } -*/ - protected String getCorrespondingCmpResourceName(ResourceInfo resourceInfo) { - - int index = resourceInfo.getName().lastIndexOf("__pm"); - if(index != -1) { - return resourceInfo.getName().substring(0,index); - } - return null; - } - - -/** - * Returns the deferred connector connection pool config. This can be pool of JMS RA which is lazily - * loaded. Or for other connector RA which is not loaded at startup. The connector RA which does - * not have any resource or admin object associated with it are not loaded at startup. They are - * all lazily loaded. - */ - -/* protected DeferredResourceConfig getDeferredConnectorPoolConfigs(PoolInfo poolInfo) { - - Resource[] resourcesToload = new Resource[1]; - if(poolInfo == null) { - return null; - } - - - ConnectorConnectionPool ccPool = (ConnectorConnectionPool) - ConnectorsUtil.getResourceByName(getResources(poolInfo), ConnectorConnectionPool.class, poolInfo.getName()); - if(ccPool == null) { - return null; - } - - String rarName = ccPool.getResourceAdapterName(); - - if(rarName != null){ - //TODO ASR : look for RAC in application/module's namespaces - resourcesToload[0] = ccPool; - ResourceAdapterConfig[] resourceAdapterConfig = - new ResourceAdapterConfig[1]; - resourceAdapterConfig[0] = (ResourceAdapterConfig) - ConnectorsUtil.getResourceByName(getGlobalResources(), ResourceAdapterConfig.class, rarName); - DeferredResourceConfig resourceConfig = - new DeferredResourceConfig(rarName,null,ccPool, - null,null,null,resourceAdapterConfig); - resourceConfig.setResourcesToLoad(resourcesToload); - return resourceConfig; - } - return null; - } - */ -/* protected DeferredResourceConfig getDeferredJdbcPoolConfigs(PoolInfo poolInfo) { - - Resource[] resourcesToload = new Resource[1]; - if(poolInfo == null) { - return null; - } - - JdbcConnectionPool jdbcPool = (JdbcConnectionPool) - ConnectorsUtil.getResourceByName(getResources(poolInfo), JdbcConnectionPool.class, poolInfo.getName()); - if(jdbcPool == null) { - return null; - } - String rarName = getRANameofJdbcConnectionPool(jdbcPool); - - if(rarName != null && ConnectorsUtil.belongsToSystemRA(rarName)) { - resourcesToload[0] = jdbcPool; - DeferredResourceConfig resourceConfig = - new DeferredResourceConfig(rarName,null,null, - null,jdbcPool,null,null); - resourceConfig.setResourcesToLoad(resourcesToload); - return resourceConfig; - } - return null; - } -*/ - -/* - public boolean poolBelongsToSystemRar(String poolName) { - ConnectorConnectionPool ccPool = (ConnectorConnectionPool) - getResources().getResourceByName(ConnectorConnectionPool.class, poolName); - if(ccPool != null){ - return ConnectorsUtil.belongsToSystemRA(ccPool.getResourceAdapterName()); - } else { - JdbcConnectionPool jdbcPool = (JdbcConnectionPool) - getResources().getResourceByName(JdbcConnectionPool.class, poolName); - if(jdbcPool != null) { - return true; - } - } - return false; - } - - public boolean adminObjectBelongsToSystemRar(String adminObject) { - AdminObjectResource aor = (AdminObjectResource) - getResources().getResourceByName(AdminObjectResource.class, adminObject); - if(aor != null) { - return ConnectorsUtil.belongsToSystemRA(aor.getResAdapter()); - } - return false; - } -*/ - -/* - public boolean resourceBelongsToSystemRar(String resourceName) { - ConnectorResource connectorResource = (ConnectorResource) - getResources().getResourceByName(ConnectorResource.class, resourceName); - if(connectorResource != null){ - return poolBelongsToSystemRar(connectorResource.getPoolName()); - } else { - JdbcResource jdbcResource = (JdbcResource) - getResources().getResourceByName(JdbcResource.class, resourceName); - if(jdbcResource != null) { - return true; - } - } - return false; - } -*/ - /** * Returns true if the given resource is referenced by this server. * diff --git a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_de.properties b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_de.properties index da9ab7f7b74..8f1dae425cc 100644 --- a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_de.properties +++ b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_de.properties @@ -124,7 +124,6 @@ enterprise.deployment.exceptoinparsingdescriptor=Fehler beim Parsen des Deskript enterprise.deployment.exceptionnodeploymentinfo=Keine Deployment-Informationen bei [{0}] in [{1}] gefunden enterprise.deployment.cannotinstantiate=Implementierung von [{0}] kann nicht instanziiert werden enterprise.deployment.exceptionimplementationclassnotfound=Implementierungsklasse f\u00FCr [{0}] wurde nicht gefunden -enterprise.deployment.exceptioncannothaveCMPfieldsonbeanwithbmp=CMP-Felder [{0}] f\u00FCr ein Bean mit Bean-verwalteter Persistenz sind nicht m\u00F6glich entreprise.deployment.invalidLocalInterfaceReference=Es wurde versucht eine ejb-local-ref f\u00FCr eine EJB festzulegen, obwohl die EJB [{0}] keine lokalen Schnittstellen definiert entreprise.deployment.invalidRemoteInterfaceReference=Es wurde versucht eine ejb-ref f\u00FCr eine EJB festzulegen, obwohl die EJB [{0}] keine Remote-Schnittstellen definiert entreprise.deployment.exceptionduplicatedatasourcedefinition=Dieser Deskriptor/diese Klasse darf keine Datenquellendefinitionen desselben Namens aufweisen: [{0}] @@ -137,8 +136,6 @@ enterprise.deployment.exceptionbeanbundle=Referenzierungsfehler: Dieses Paket ve enterprise.deployment.errorwithexternaldescriptors=Angegebene externe Deskriptoren [{0}] sind falsch enterprise.deployment.exceptionmessagedestbundle=Referenzierungsfehler: Dieses Paket hat kein Meldungsziel mit dem Namen: {0} enterprise.deployment.norolemapperfactorydefine=F\u00FCr diese Anwendung ist keine Rollenzuordnungs-Factory definiert. -enterprise.deployment.invalidcmpversion=Ung\u00FCltige CMP-Version: {0}. -enterprise.deployment.pkhasnopersistentfields=CMP-Bean [{0}], Prim\u00E4rschl\u00FCsselklasse [{1}] hat \u00F6ffentliche, nicht persistente Felder [{2}]. enterprise.deployment.unknownportforruntimeinfo=Laufzeitportinformation SEI {0} ist in standardm\u00E4\u00DFigen service-ref-Deployment-Deskriptoren (unter port-component-ref) nicht deklariert, ist dies beabsichtigt? enterprise.deployment.exceptioncannotgetsecbusmethodsinmsgbean=Gesch\u00E4ftsmethode f\u00FCr Sicherheitsaspekte des Message-driven Beans kann nicht abgerufen werden. diff --git a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_es.properties b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_es.properties index 418dd44d55d..157ce7c9942 100644 --- a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_es.properties +++ b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_es.properties @@ -124,7 +124,6 @@ enterprise.deployment.exceptoinparsingdescriptor=Error al analizar el descriptor enterprise.deployment.exceptionnodeploymentinfo=No se ha encontrado informaci\u00F3n de despliegue en [{0}] en [{1}] enterprise.deployment.cannotinstantiate=No se puede instanciar el despliegue de [{0}] enterprise.deployment.exceptionimplementationclassnotfound=No se ha encontrado la clase de implantaci\u00F3n para [{0}] -enterprise.deployment.exceptioncannothaveCMPfieldsonbeanwithbmp=No se pueden tener campos CMP [{0}] en un bean con persistencia gestionada por beans entreprise.deployment.invalidLocalInterfaceReference=Intentando definir ejb-local-ref en EJB al no definir EJB [{0}] interfaces locales entreprise.deployment.invalidRemoteInterfaceReference=Intentando definir ejb-ref en EJB al no definir el EJB [{0}] interfaces remotas entreprise.deployment.exceptionduplicatedatasourcedefinition=Este descriptor/clase no puede tener definiciones de origen de datos con el mismo nombre: [{0}] @@ -137,8 +136,6 @@ enterprise.deployment.exceptionbeanbundle=Error de referencia: este grupo no tie enterprise.deployment.errorwithexternaldescriptors=Los descriptores externos proporcionados [{0}] son incorrectos enterprise.deployment.exceptionmessagedestbundle=Error de referencia: este grupo no tiene destino de mensajes del nombre: {0} enterprise.deployment.norolemapperfactorydefine=Esta aplicaci\u00F3n no tiene asignador de roles definido de f\u00E1brica -enterprise.deployment.invalidcmpversion=La versi\u00F3n de CMP no es v\u00E1lida: {0}. -enterprise.deployment.pkhasnopersistentfields=Bean CMP [{0}]; la clase de clave primaria [{1}] tiene uno o varios campos p\u00FAblicos no persistentes [{2}]. enterprise.deployment.unknownportforruntimeinfo=La informaci\u00F3n de puerto del tiempo de ejecuci\u00F3n de SEI {0} no est\u00E1 declarada en los descriptores est\u00E1ndar de despliegue service-ref (en port-component-ref). \u00BFEs algo deliberado? enterprise.deployment.exceptioncannotgetsecbusmethodsinmsgbean=No se puede obtener el m\u00E9todo business para la seguridad del bean controlado por mensajes. diff --git a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_fr.properties b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_fr.properties index d3a06f34b75..c6fa676b789 100644 --- a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_fr.properties +++ b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_fr.properties @@ -124,7 +124,6 @@ enterprise.deployment.exceptoinparsingdescriptor=Erreur lors de l''analyse du de enterprise.deployment.exceptionnodeploymentinfo=Aucune information de d\u00E9ploiement au niveau de [{0}] dans [{1}] enterprise.deployment.cannotinstantiate=Impossible d''instancier l''impl\u00E9mentation pour [{0}] enterprise.deployment.exceptionimplementationclassnotfound=Classe d''impl\u00E9mentation pour [{0}] introuvable -enterprise.deployment.exceptioncannothaveCMPfieldsonbeanwithbmp=Impossible d''avoir des champs CMP [{0}] sur un bean avec une persistance g\u00E9r\u00E9e par bean entreprise.deployment.invalidLocalInterfaceReference=Tentative de d\u00E9finition d''une ejb-local-ref sur un EJB [{0}] alors que celui-ci ne d\u00E9finit pas les interfaces locales entreprise.deployment.invalidRemoteInterfaceReference=Tentative de d\u00E9finition d''une ejb-ref sur un EJB [{0}] alors que celui-ci ne d\u00E9finit pas les interfaces distantes entreprise.deployment.exceptionduplicatedatasourcedefinition=Le descripteur/la classe ne peut pas contenir de d\u00E9finitions de source de donn\u00E9es du m\u00EAme nom : [{0}] @@ -137,8 +136,6 @@ enterprise.deployment.exceptionbeanbundle=Erreur de r\u00E9f\u00E9rencement : ce enterprise.deployment.errorwithexternaldescriptors=Les descripteurs externes [{0}] fournis sont incorrects enterprise.deployment.exceptionmessagedestbundle=Erreur de r\u00E9f\u00E9rencement : cet ensemble ne comporte aucune destination de message nomm\u00E9e {0} enterprise.deployment.norolemapperfactorydefine=Aucune fabrique de mappers de r\u00F4le n'a \u00E9t\u00E9 d\u00E9finie pour cette application. -enterprise.deployment.invalidcmpversion=Version CMP non valide : {0}. -enterprise.deployment.pkhasnopersistentfields=Bean CMP [{0}]. La classe de cl\u00E9 primaire [{1}] a des champs publics non persistants [{2}]. enterprise.deployment.unknownportforruntimeinfo=Le SEI d''informations de port d''ex\u00E9cution {0} n''est pas d\u00E9clar\u00E9 dans les descripteurs de d\u00E9ploiement service-ref standard (sous port-component-ref), est-ce pr\u00E9vu ? enterprise.deployment.exceptioncannotgetsecbusmethodsinmsgbean=Impossible d'obtenir une m\u00E9thode m\u00E9tier pour la s\u00E9curit\u00E9 du bean orient\u00E9 message. diff --git a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_it.properties b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_it.properties index d4ef0e42ef6..acd8bafeea9 100644 --- a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_it.properties +++ b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_it.properties @@ -124,7 +124,6 @@ enterprise.deployment.exceptoinparsingdescriptor=Errore nell''analisi del descri enterprise.deployment.exceptionnodeploymentinfo=Nessuna informazione di distribuzione trovata in [{0}] in [{1}] enterprise.deployment.cannotinstantiate=Impossibile creare un''istanza dell''implementazione di [{0}] enterprise.deployment.exceptionimplementationclassnotfound=Impossibile trovare la classe di implementazione per [{0}] -enterprise.deployment.exceptioncannothaveCMPfieldsonbeanwithbmp=Impossibile includere campi CMP [{0}] in un bean con Bean Managed Persistence entreprise.deployment.invalidLocalInterfaceReference=Tentativo di impostare ejb-local-ref su un EJB, ma l''EJB [{0}] non definisce interfacce locali entreprise.deployment.invalidRemoteInterfaceReference=Tentativo di impostare un ejb-ref su un EJB, ma l''EJB [{0}] non definisce interfacce remote entreprise.deployment.exceptionduplicatedatasourcedefinition=Questo descrittore/classe non pu\u00F2 avere definizioni di origine dati con lo stesso nome: [{0}] @@ -137,8 +136,6 @@ enterprise.deployment.exceptionbeanbundle=Errore di riferimento: questo bundle n enterprise.deployment.errorwithexternaldescriptors=I descrittori esterni forniti [{0}] sono errati enterprise.deployment.exceptionmessagedestbundle=Errore di riferimento: questo bundle non ha una destinazione dei messaggi denominata {0} enterprise.deployment.norolemapperfactorydefine=Questa applicazione non ha factory di mapper di ruoli definita -enterprise.deployment.invalidcmpversion=Versione CMP non valida: {0}. -enterprise.deployment.pkhasnopersistentfields=Bean CMP [{0}], la classe chiave primaria [{1}] ha campi pubblici non persistenti [{2}]. enterprise.deployment.unknownportforruntimeinfo=SEI informazioni porta di fase di esecuzione {0} non dichiarato nei descrittori di distribuzione service-ref (in port-component-ref). Verificare che ci\u00F2 sia previsto. enterprise.deployment.exceptioncannotgetsecbusmethodsinmsgbean=Impossibile ottenere il metodo business per la sicurezza per il bean basato su messaggi. diff --git a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_ja.properties b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_ja.properties index 59b8cd4fbda..3f768ed6d04 100644 --- a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_ja.properties +++ b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_ja.properties @@ -124,7 +124,6 @@ enterprise.deployment.exceptoinparsingdescriptor=\u8A18\u8FF0\u5B50[{0}]\u306E\u enterprise.deployment.exceptionnodeploymentinfo=\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u60C5\u5831\u304C[{1}]\u306E[{0}]\u3067\u898B\u3064\u304B\u308A\u307E\u305B\u3093 enterprise.deployment.cannotinstantiate=[{0}]\u306E\u5B9F\u88C5\u306F\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093 enterprise.deployment.exceptionimplementationclassnotfound=[{0}]\u306E\u5B9F\u88C5\u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 -enterprise.deployment.exceptioncannothaveCMPfieldsonbeanwithbmp=Bean\u7BA1\u7406\u306E\u6C38\u7D9A\u6027\u3092\u6301\u3064Bean\u4E0A\u3067CMP\u30D5\u30A3\u30FC\u30EB\u30C9[{0}]\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 entreprise.deployment.invalidLocalInterfaceReference=EJB\u306Bejb-local-ref\u3092\u8A2D\u5B9A\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059\u304C\u3001EJB[{0}]\u306F\u30ED\u30FC\u30AB\u30EB\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u5B9A\u7FA9\u3057\u307E\u305B\u3093 entreprise.deployment.invalidRemoteInterfaceReference=EJB\u306Bejb-ref\u3092\u8A2D\u5B9A\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059\u304C\u3001EJB[{0}]\u306F\u30EA\u30E2\u30FC\u30C8\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u5B9A\u7FA9\u3057\u307E\u305B\u3093 entreprise.deployment.exceptionduplicatedatasourcedefinition=\u3053\u306E\u8A18\u8FF0\u5B50/\u30AF\u30E9\u30B9\u306B\u306F\u3001\u540C\u3058\u540D\u524D\u306E\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u5B9A\u7FA9\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093: [{0}] @@ -137,8 +136,6 @@ enterprise.deployment.exceptionbeanbundle=\u53C2\u7167\u30A8\u30E9\u30FC: \u3053 enterprise.deployment.errorwithexternaldescriptors=\u6307\u5B9A\u3057\u305F\u5916\u90E8\u8A18\u8FF0\u5B50[{0}]\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093 enterprise.deployment.exceptionmessagedestbundle=\u53C2\u7167\u30A8\u30E9\u30FC: \u3053\u306E\u30D0\u30F3\u30C9\u30EB\u306B{0}\u3068\u3044\u3046\u540D\u524D\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u5B9B\u5148\u306F\u3042\u308A\u307E\u305B\u3093 enterprise.deployment.norolemapperfactorydefine=\u3053\u306E\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306B\u306F\u30ED\u30FC\u30EB\u30FB\u30DE\u30C3\u30D1\u30FC\u30FB\u30D5\u30A1\u30AF\u30C8\u30EA\u306F\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093 -enterprise.deployment.invalidcmpversion=\u7121\u52B9\u306ACMP\u30D0\u30FC\u30B8\u30E7\u30F3: {0}\u3002 -enterprise.deployment.pkhasnopersistentfields=CMP Bean [{0}]\u3001\u4E3B\u30AD\u30FC\u30FB\u30AF\u30E9\u30B9[{1}]\u306B\u306F\u6C38\u7D9A\u4E0D\u53EF\u306Epublic\u30D5\u30A3\u30FC\u30EB\u30C9[{2}]\u304C\u3042\u308A\u307E\u3059\u3002 enterprise.deployment.unknownportforruntimeinfo=(port-component-ref\u4E0B\u306E)\u6A19\u6E96\u306Eservice-ref deployment\u8A18\u8FF0\u5B50\u306B\u30E9\u30F3\u30BF\u30A4\u30E0\u30FB\u30DD\u30FC\u30C8\u60C5\u5831SEI {0}\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u3053\u308C\u306F\u610F\u56F3\u7684\u306A\u5185\u5BB9\u3067\u3059\u304B\u3002 enterprise.deployment.exceptioncannotgetsecbusmethodsinmsgbean=\u30E1\u30C3\u30BB\u30FC\u30B8\u30C9\u30EA\u30D6\u30F3Bean\u306E\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u306E\u30D3\u30B8\u30CD\u30B9\u30FB\u30E1\u30BD\u30C3\u30C9\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3002 diff --git a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_ko.properties b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_ko.properties index 5b9d680804d..fdf3d310be3 100644 --- a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_ko.properties +++ b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_ko.properties @@ -124,7 +124,6 @@ enterprise.deployment.exceptoinparsingdescriptor=\uAE30\uC220\uC790 [{0}]\uC744( enterprise.deployment.exceptionnodeploymentinfo=[{1}]\uC758 [{0}]\uC5D0\uC11C \uBC30\uCE58 \uC815\uBCF4\uB97C \uCC3E\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. enterprise.deployment.cannotinstantiate=[{0}]\uC758 \uAD6C\uD604\uC744 \uC778\uC2A4\uD134\uC2A4\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. enterprise.deployment.exceptionimplementationclassnotfound=[{0}]\uC758 \uAD6C\uD604 \uD074\uB798\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. -enterprise.deployment.exceptioncannothaveCMPfieldsonbeanwithbmp=Bean \uAD00\uB9AC \uC9C0\uC18D\uC131(BMP)\uC774 \uC788\uB294 Bean\uC5D0\uB294 CMP \uD544\uB4DC [{0}]\uC774(\uAC00) \uC788\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. entreprise.deployment.invalidLocalInterfaceReference=EJB [{0}]\uC5D0\uC11C \uB85C\uCEEC \uC778\uD130\uD398\uC774\uC2A4\uB97C \uC815\uC758\uD558\uC9C0 \uC54A\uC740 \uC0C1\uD0DC\uC5D0\uC11C EJB\uC5D0 ejb-local-ref \uC124\uC815\uC744 \uC2DC\uB3C4\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4. entreprise.deployment.invalidRemoteInterfaceReference=EJB [{0}]\uC5D0\uC11C \uC6D0\uACA9 \uC778\uD130\uD398\uC774\uC2A4\uB97C \uC815\uC758\uD558\uC9C0 \uC54A\uC740 \uC0C1\uD0DC\uC5D0\uC11C EJB\uC5D0 ejb-ref \uC124\uC815\uC744 \uC2DC\uB3C4\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4. entreprise.deployment.exceptionduplicatedatasourcedefinition=\uC774 \uAE30\uC220\uC790/\uD074\uB798\uC2A4\uB294 \uB3D9\uC77C\uD55C \uC774\uB984\uC758 \uB370\uC774\uD130 \uC18C\uC2A4 \uC815\uC758\uB97C \uAC00\uC9C8 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. [{0}] @@ -137,8 +136,6 @@ enterprise.deployment.exceptionbeanbundle=\uCC38\uC870 \uC624\uB958: \uC774 \uBC enterprise.deployment.errorwithexternaldescriptors=\uC81C\uACF5\uB41C \uC678\uBD80 \uAE30\uC220\uC790 [{0}]\uC774(\uAC00) \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4. enterprise.deployment.exceptionmessagedestbundle=\uCC38\uC870 \uC624\uB958: \uC774 \uBC88\uB4E4\uC5D0\uB294 \uC774\uB984\uC774 {0}\uC778 \uBA54\uC2DC\uC9C0 \uB300\uC0C1\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. enterprise.deployment.norolemapperfactorydefine=\uC774 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC5D0\uB294 \uB864 \uB9E4\uD37C \uD329\uD1A0\uB9AC\uAC00 \uC815\uC758\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. -enterprise.deployment.invalidcmpversion=\uBD80\uC801\uD569\uD55C CMP \uBC84\uC804: {0} -enterprise.deployment.pkhasnopersistentfields=CMP bean [{0}], \uAE30\uBCF8 \uD0A4 \uD074\uB798\uC2A4 [{1}]\uC5D0 \uACF5\uC6A9 \uBE44\uC9C0\uC18D\uC131 \uD544\uB4DC [{2}]\uAC00 \uC788\uC2B5\uB2C8\uB2E4. enterprise.deployment.unknownportforruntimeinfo=\uD45C\uC900 service-ref \uBC30\uCE58 \uAE30\uC220\uC790\uC5D0\uC11C (port-component-ref \uC544\uB798\uC5D0) \uB7F0\uD0C0\uC784 \uD3EC\uD2B8 \uC815\uBCF4 SEI {0}\uC774(\uAC00) \uC120\uC5B8\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC608\uC815\uB41C \uAC83\uC785\uB2C8\uAE4C? enterprise.deployment.exceptioncannotgetsecbusmethodsinmsgbean=Message-Driven Bean\uC758 \uBCF4\uC548\uC744 \uC704\uD55C \uBE44\uC988\uB2C8\uC2A4 \uBA54\uC18C\uB4DC\uB97C \uAC00\uC838\uC62C \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. diff --git a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_pt_BR.properties b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_pt_BR.properties index f8a7a02cdda..94ebb0bfe56 100644 --- a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_pt_BR.properties +++ b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_pt_BR.properties @@ -124,7 +124,6 @@ enterprise.deployment.exceptoinparsingdescriptor=Erro ao fazer parsing do descri enterprise.deployment.exceptionnodeploymentinfo=N\u00E3o foram encontradas informa\u00E7\u00F5es de implanta\u00E7\u00E3o para [{0}] em [{1}] enterprise.deployment.cannotinstantiate=N\u00E3o \u00E9 poss\u00EDvel instanciar a implementa\u00E7\u00E3o de [{0}] enterprise.deployment.exceptionimplementationclassnotfound=N\u00E3o \u00E9 poss\u00EDvel encontrar a classe de implementa\u00E7\u00E3o para [{0}] -enterprise.deployment.exceptioncannothaveCMPfieldsonbeanwithbmp=N\u00E3o \u00E9 poss\u00EDvel ter campos CMP [{0}] em um bean com persist\u00EAncia gerenciada entreprise.deployment.invalidLocalInterfaceReference=Tentando definir um ejb-local-ref em um EJB enquanto o EJB [{0}] n\u00E3o define interfaces locais entreprise.deployment.invalidRemoteInterfaceReference=Tentando definir um ejbl-ref em um EJB enquanto o EJB [{0}] n\u00E3o define interfaces remotas entreprise.deployment.exceptionduplicatedatasourcedefinition=O descritor/classe n\u00E3o pode ter defini\u00E7\u00F5es de origens de dados com o mesmo nome: [{0}] @@ -137,8 +136,6 @@ enterprise.deployment.exceptionbeanbundle=Erro de referenciamento: Este pacote n enterprise.deployment.errorwithexternaldescriptors=Os descritores externos fornecidos [{0}] s\u00E3o incorretos enterprise.deployment.exceptionmessagedestbundle=Erro de refer\u00EAncia: este pacote n\u00E3o tem um destino de mensagem com o nome {0} enterprise.deployment.norolemapperfactorydefine=Esta aplica\u00E7\u00E3o n\u00E3o tem uma f\u00E1brica de mapeamento de atribui\u00E7\u00E3o definido -enterprise.deployment.invalidcmpversion=Vers\u00E3o CMP inv\u00E1lida: {0}. -enterprise.deployment.pkhasnopersistentfields=Bean CMP [{0}], classe chave prim\u00E1ria [{1}] tem campos p\u00FAblicos n\u00E3o persistentes [{2}]. enterprise.deployment.unknownportforruntimeinfo=SEI de info da porta de runtime {0} n\u00E3o declarada em descritores padr\u00E3o service-ref (sob port-component-ref), \u00E9 esta a inten\u00E7\u00E3o? enterprise.deployment.exceptioncannotgetsecbusmethodsinmsgbean=N\u00E3o \u00E9 poss\u00EDvel obter o m\u00E9todo de neg\u00F3cios para a seguran\u00E7a para o bean baseado em mensagens. diff --git a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_zh_CN.properties b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_zh_CN.properties index 56b2d53f383..67acdf77de5 100644 --- a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_zh_CN.properties +++ b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_zh_CN.properties @@ -124,7 +124,6 @@ enterprise.deployment.exceptoinparsingdescriptor=\u89E3\u6790\u63CF\u8FF0\u7B26 enterprise.deployment.exceptionnodeploymentinfo=\u5728 [{1}] \u7684 [{0}] \u4E2D\u627E\u4E0D\u5230\u90E8\u7F72\u4FE1\u606F enterprise.deployment.cannotinstantiate=\u65E0\u6CD5\u5B9E\u4F8B\u5316 [{0}] \u7684\u5B9E\u73B0 enterprise.deployment.exceptionimplementationclassnotfound=\u627E\u4E0D\u5230 [{0}] \u7684\u5B9E\u73B0\u7C7B -enterprise.deployment.exceptioncannothaveCMPfieldsonbeanwithbmp=\u5728\u5177\u6709 Bean \u7BA1\u7406\u7684\u6301\u4E45\u6027\u7684 Bean \u4E0A\u4E0D\u80FD\u6709 CMP \u5B57\u6BB5 [{0}] entreprise.deployment.invalidLocalInterfaceReference=\u5C1D\u8BD5\u5728 EJB \u4E0A\u8BBE\u7F6E ejb-local-ref, \u800C EJB [{0}] \u6CA1\u6709\u5B9A\u4E49\u672C\u5730\u63A5\u53E3 entreprise.deployment.invalidRemoteInterfaceReference=\u5C1D\u8BD5\u5728 EJB \u4E0A\u8BBE\u7F6E ejb-ref, \u800C EJB [{0}] \u6CA1\u6709\u5B9A\u4E49\u8FDC\u7A0B\u63A5\u53E3 entreprise.deployment.exceptionduplicatedatasourcedefinition=\u6B64\u63CF\u8FF0\u7B26/\u7C7B\u4E0D\u80FD\u6709\u540C\u540D\u7684\u6570\u636E\u6E90\u5B9A\u4E49: [{0}] @@ -137,8 +136,6 @@ enterprise.deployment.exceptionbeanbundle=\u5F15\u7528\u9519\u8BEF: \u6B64\u7ED1 enterprise.deployment.errorwithexternaldescriptors=\u63D0\u4F9B\u7684\u5916\u90E8\u63CF\u8FF0\u7B26 [{0}] \u4E0D\u6B63\u786E enterprise.deployment.exceptionmessagedestbundle=\u5F15\u7528\u9519\u8BEF: \u6B64\u7ED1\u5B9A\u6CA1\u6709\u540D\u4E3A{0}\u7684\u6D88\u606F\u76EE\u6807 enterprise.deployment.norolemapperfactorydefine=\u6B64\u5E94\u7528\u7A0B\u5E8F\u672A\u5B9A\u4E49\u89D2\u8272\u6620\u5C04\u5668\u5DE5\u5382 -enterprise.deployment.invalidcmpversion=CMP \u7248\u672C\u65E0\u6548: {0}\u3002 -enterprise.deployment.pkhasnopersistentfields=CMP Bean [{0}], \u4E3B\u952E\u7C7B [{1}] \u5177\u6709\u516C\u5171\u975E\u6301\u4E45\u6027\u5B57\u6BB5 [{2}]\u3002 enterprise.deployment.unknownportforruntimeinfo=\u8FD0\u884C\u65F6\u7AEF\u53E3\u4FE1\u606F SEI {0} \u672A\u5728\u6807\u51C6 service-ref \u90E8\u7F72\u63CF\u8FF0\u7B26 (port-component-ref \u4E0B) \u4E2D\u58F0\u660E, \u662F\u5426\u6545\u610F\u672A\u58F0\u660E? enterprise.deployment.exceptioncannotgetsecbusmethodsinmsgbean=\u65E0\u6CD5\u83B7\u53D6\u6D88\u606F\u9A71\u52A8\u7684 Bean \u7684\u5B89\u5168\u6027\u4E1A\u52A1\u65B9\u6CD5\u3002 diff --git a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_zh_TW.properties b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_zh_TW.properties index 3104df96585..2b3df584c40 100644 --- a/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_zh_TW.properties +++ b/appserver/deployment/dol-l10n/src/main/resources/com/sun/enterprise/deployment/LocalStrings_zh_TW.properties @@ -124,7 +124,6 @@ enterprise.deployment.exceptoinparsingdescriptor=\u5256\u6790\u63CF\u8FF0\u5143 enterprise.deployment.exceptionnodeploymentinfo=\u5728 [{1}] \u4E2D\u7684 [{0}] \u8655\u672A\u627E\u5230\u4EFB\u4F55\u5EFA\u7F6E\u8CC7\u8A0A enterprise.deployment.cannotinstantiate=\u7121\u6CD5\u5BE6\u4F8B\u5316 [{0}] \u7684\u5BE6\u884C enterprise.deployment.exceptionimplementationclassnotfound=\u7121\u6CD5\u627E\u5230 [{0}] \u7684\u5BE6\u884C\u985E\u5225 -enterprise.deployment.exceptioncannothaveCMPfieldsonbeanwithbmp=\u7121\u6CD5\u8B93 Bean \u4E0A\u7684 CMP \u6B04\u4F4D [{0}] \u5177\u6709 Bean \u7BA1\u7406\u7684\u6301\u4E45\u6027 entreprise.deployment.invalidLocalInterfaceReference=EJB [{0}] \u6C92\u6709\u5B9A\u7FA9\u672C\u6A5F\u4ECB\u9762\uFF0C\u5617\u8A66\u5728 EJB \u8A2D\u5B9A ejb-local-ref entreprise.deployment.invalidRemoteInterfaceReference=EJB [{0}] \u6C92\u6709\u5B9A\u7FA9\u9060\u7AEF\u4ECB\u9762\uFF0C\u5617\u8A66\u5728 EJB \u8A2D\u5B9A ejb-ref entreprise.deployment.exceptionduplicatedatasourcedefinition=\u6B64\u63CF\u8FF0\u5143/\u985E\u5225\u4E0D\u53EF\u6709\u540C\u540D\u7684\u8CC7\u6599\u4F86\u6E90\u5B9A\u7FA9\uFF1A[{0}] @@ -137,8 +136,6 @@ enterprise.deployment.exceptionbeanbundle=\u53C3\u7167\u932F\u8AA4\uFE30\u6B64\u enterprise.deployment.errorwithexternaldescriptors=\u63D0\u4F9B\u7684\u5916\u90E8\u63CF\u8FF0\u5143 [{0}] \u4E0D\u6B63\u78BA enterprise.deployment.exceptionmessagedestbundle=\u53C3\u7167\u932F\u8AA4\uFF1A\u6B64\u7D44\u5408\u6C92\u6709\u540D\u7A31 {0} \u7684\u8A0A\u606F\u76EE\u7684\u5730 enterprise.deployment.norolemapperfactorydefine=\u6B64\u61C9\u7528\u7A0B\u5F0F\u672A\u5B9A\u7FA9\u89D2\u8272\u5C0D\u61C9\u5668\u5DE5\u5EE0 -enterprise.deployment.invalidcmpversion=\u7121\u6548\u7684 CMP \u7248\u672C\uFF1A{0}\u3002 -enterprise.deployment.pkhasnopersistentfields=CMP Bean [{0}]\u3001\u4E3B\u9375\u985E\u5225 [{1}] \u5177\u6709\u516C\u7528\u975E\u6C38\u4E45\u6027\u6B04\u4F4D [{2}]\u3002 enterprise.deployment.unknownportforruntimeinfo=\u57F7\u884C\u968E\u6BB5\u9023\u63A5\u57E0\u8CC7\u8A0A SEI {0} \u672A\u5728\u6A19\u6E96 service-ref \u5EFA\u7F6E\u63CF\u8FF0\u5143 (\u5728 port-component-ref \u4E0B) \u4E2D\u5BA3\u544A\uFF0C\u662F\u5426\u8981\u9019\u6A23\u505A\uFF1F enterprise.deployment.exceptioncannotgetsecbusmethodsinmsgbean=\u7121\u6CD5\u70BA\u8A0A\u606F\u9A45\u52D5\u7684 Bean \u53D6\u5F97\u7528\u65BC\u5BE6\u4F5C\u5B89\u5168\u6027\u7684\u5546\u52D9\u65B9\u6CD5\u3002 diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/Application.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/Application.java index cc700904952..44158433a67 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/Application.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/Application.java @@ -150,9 +150,6 @@ public class Application extends CommonResourceBundleDescriptor */ private Boolean passByReference = null; - // use a String object as lock so it can be serialized as part - // of the Application object - private String cmpDescriptorsLock = "cmp descriptors lock"; // flag to indicate that the memory representation of this application // is not in sync with the disk representation diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/LocalStrings.properties b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/LocalStrings.properties index c95a44e2263..585018253ca 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/LocalStrings.properties +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/LocalStrings.properties @@ -107,7 +107,6 @@ enterprise.deployment.exceptoinparsingdescriptor=Error parsing descriptor [{0}] enterprise.deployment.exceptionnodeploymentinfo=No deployment info found at [{0}] in [{1}] enterprise.deployment.cannotinstantiate=Cannot instantiate implementation of [{0}] enterprise.deployment.exceptionimplementationclassnotfound=Cannot find implementation class for [{0}] -enterprise.deployment.exceptioncannothaveCMPfieldsonbeanwithbmp=Cannot have CMP fields [{0}] on a bean with bean managed persistence entreprise.deployment.invalidLocalInterfaceReference=Trying to set an ejb-local-ref on an EJB while the EJB [{0}] does not define local interfaces entreprise.deployment.invalidRemoteInterfaceReference=Trying to set an ejb-ref on an EJB, while the EJB [{0}] does not define remote interfaces entreprise.deployment.exceptionduplicatedatasourcedefinition=This descriptor/class cannot have datasource definitions of same name : [{0}] diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/ResourceReferenceDescriptor.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/ResourceReferenceDescriptor.java index 7f09747bee9..ae1ff3b4b50 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/ResourceReferenceDescriptor.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/ResourceReferenceDescriptor.java @@ -108,16 +108,6 @@ public class ResourceReferenceDescriptor extends EnvironmentProperty private List runtimeProps=null; - // for cmp-resource type - boolean createTablesAtDeploy=false; - boolean dropTablesAtUndeploy=false; - String databaseVendorName = null; - Properties schemaGeneratorProperties = null; - - // Create logger object per Java SDK 1.4 to log messages - // introduced Santanu De, Sun Microsystems, March 2002 - static final Logger _logger = DOLUtils.getDefaultLogger(); - // START OF IASRI 4718559 private static final LocalStringManagerImpl localStrings = new LocalStringManagerImpl(ResourceReferenceDescriptor.class); @@ -377,26 +367,6 @@ public void setMailConfiguration(MailConfiguration mailConfiguration) { this.mailConfiguration = mailConfiguration; } - /** - * Add a new runtime property to this cmp resource - * @param newProp - */ - public void addProperty(NameValuePairDescriptor newProp) { - if (runtimeProps==null) { - runtimeProps = new ArrayList(); - } - runtimeProps.add(newProp); - } - - /** - * @return the runtime properties for this cmp resource - */ - public Iterator getProperties() { - if (runtimeProps==null) { - return null; - } - return runtimeProps.iterator(); - } /** * Return the mail configuration details of thsi resource or null. @@ -406,70 +376,6 @@ public MailConfiguration getMailConfiguration() { return this.mailConfiguration; } - /** - * @return true if automatic creation of tables for the CMP Beans is - * done at deployment time - */ - public boolean isCreateTablesAtDeploy() { - return createTablesAtDeploy; - } - - /** - * Sets whether if automatic creation of tables for the CMP Beans is - * done at deployment time - * @param createTablesAtDeploy - */ - public void setCreateTablesAtDeploy(boolean createTablesAtDeploy) { - this.createTablesAtDeploy = createTablesAtDeploy; - } - - /** - * @return true if automatic creation of tables for the CMP Beans is - * done at deployment time - */ - public boolean isDropTablesAtUndeploy() { - return dropTablesAtUndeploy; - } - - /** - * Sets whether if automatic creation of tables for the CMP Beans is - * done at deployment time - * @param dropTablesAtUndeploy - */ - public void setDropTablesAtUndeploy(boolean dropTablesAtUndeploy) { - this.dropTablesAtUndeploy = dropTablesAtUndeploy; - } - - /** - * @return the database vendor name - */ - public String getDatabaseVendorName() { - return databaseVendorName; - } - - /** - * Sets the database vendor name - * @param vendorName - */ - public void setDatabaseVendorName(String vendorName) { - this.databaseVendorName = vendorName; - } - - /** - * @return the override properties for the schema generation - */ - public Properties getSchemaGeneratorProperties() { - return schemaGeneratorProperties; - } - - /** - * Sets the override properties for the schema generation - * @param props - */ - public void setSchemaGeneratorProperties(Properties props) { - schemaGeneratorProperties = props; - } - /** * Equality on name. * @param object @@ -522,14 +428,7 @@ public void print(StringBuilder toStringBuilder) { } else { sb.append("\nNo Runtime properties"); } - sb.append("\nDatabase Vendor : ").append(databaseVendorName); - sb.append("\nCreate Tables at Deploy : ").append(createTablesAtDeploy); - sb.append("\nDelete Tables at Undeploy : ").append(dropTablesAtUndeploy); - if (schemaGeneratorProperties!=null) { - sb.append("\nSchema Generator Properties : "); - sb.append(schemaGeneratorProperties); - } } //START OF IASRI 4633229 diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java index 153faf12214..1d79f04a7d7 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java @@ -54,9 +54,6 @@ public interface DescriptorConstants { /** Prefix used for S1AS xmls */ String S1AS_PREFIX = "sun-"; - /** Prefix used for S1AS Cmp xmls */ - String S1AS_CMP_PREFIX = "sun-cmp-"; - /** Prefix used for GF xmls */ String GF_PREFIX = "glassfish-"; @@ -191,16 +188,6 @@ public interface DescriptorConstants { /** prefix used for module role mapper key */ String MODULE_ROLEMAPPER_PREFIX = "module_"; - - /** The Sun cmp-mapping descriptor entry in exploded file system. */ - String S1AS_CMP_MAPPING_DD_ENTRY = "META-INF" - + File.separator - + S1AS_PREFIX - + "cmp-mappings.xml"; - - /** The Sun cmp-mapping descriptor entry inside an ejb jar. */ - String S1AS_CMP_MAPPING_JAR_ENTRY = "META-INF/" - + S1AS_PREFIX + "cmp-mappings.xml"; /** JaxRPC deployment descriptor file */ String JAXRPC_JAR_ENTRY = "WEB-INF/jaxrpc-ri.xml"; diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorList.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorList.java index 93f67f6ff04..c5a8e4da3c7 100755 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorList.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorList.java @@ -63,7 +63,6 @@ public class DescriptorList { private final static String [] ejbList = { DescriptorConstants.EJB_DD_ENTRY, DescriptorConstants.S1AS_EJB_DD_ENTRY, - DescriptorConstants.S1AS_CMP_MAPPING_DD_ENTRY, DescriptorConstants.EJB_WEBSERVICES_JAR_ENTRY }; diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/MethodNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/MethodNode.java index c847915eb3e..f295aec9837 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/MethodNode.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/MethodNode.java @@ -151,8 +151,6 @@ public Node writeJavaMethodDescriptor(Node parent, String nodeName, MethodDescriptor descriptor, boolean writeEmptyMethodParamsElementForVoidMethods) { Node methodNode = super.writeDescriptor(parent, nodeName, descriptor); - appendTextChild(methodNode, RuntimeTagNames.METHOD_NAME, - descriptor.getName()); if (descriptor.getParameterClassNames() != null) { Node paramsNode = appendChild(methodNode, RuntimeTagNames.METHOD_PARAMS); diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java index dd38dcf0973..f9a86d995f6 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java @@ -255,26 +255,7 @@ public final class DTDRegistry { public static final String SUN_CLIENTCONTAINER_700_DTD_SYSTEM_ID = "http://www.sun.com/software/sunone/appserver/dtds/sun-application-client-container_1_0.dtd"; - //4690447-adding it for sun-cmp-mapping.xml - /** - * EJB CMP Mapping : Sun ONE App Server specific dtd info. - */ - public static final String SUN_CMP_MAPPING_700_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 OR Mapping //EN"; - public static final String SUN_CMP_MAPPING_700_DTD_SYSTEM_ID = - "http://www.sun.com/software/sunone/appserver/dtds/sun-cmp-mapping_1_0.dtd"; - - public static final String SUN_CMP_MAPPING_800_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Application Server 8.0 OR Mapping//EN"; - public static final String SUN_CMP_MAPPING_800_DTD_SYSTEM_ID = - "http://www.sun.com/software/appserver/dtds/sun-cmp-mapping_1_1.dtd"; - - public static final String SUN_CMP_MAPPING_810_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Application Server 8.1 OR Mapping//EN"; - public static final String SUN_CMP_MAPPING_810_DTD_SYSTEM_ID = - "http://www.sun.com/software/appserver/dtds/sun-cmp-mapping_1_2.dtd"; - - public static final String GF_WEBAPP_301_DTD_PUBLIC_ID = + public static final String GF_WEBAPP_301_DTD_PUBLIC_ID = "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN"; public static final String GF_WEBAPP_301_DTD_SYSTEM_ID = "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"; diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java index c86e7af893b..f8ded54e69e 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java @@ -103,13 +103,10 @@ public interface RuntimeTagNames extends TagNames { String ACTIVATION_CONFIG_PROPERTY_VALUE = "activation-config-property-value"; public static final String APPLICATION_CLIENT = "app-client"; - public static final String CMP = "cmp"; - public static final String CMPRESOURCE = "cmpresource"; public static final String DEFAULT_RESOURCE_PRINCIPAL = "default-resource-principal"; public static final String DISPLAY_NAME = "display-name"; public static final String EJB = "ejb"; public static final String EJB_NAME = "ejb-name"; - public static final String EJB20_CMP = "ejb20-cmp"; public static final String EJBS = "enterprise-beans"; public static final String WEBSERVICE_DEFAULT_LOGIN_CONFIG = "webservice-default-login-config"; public static final String FIELD = "field"; @@ -188,22 +185,6 @@ public interface RuntimeTagNames extends TagNames { public static final String DISABLE_NONPORTABLE_JNDI_NAMES = "disable-nonportable-jndi-names"; public static final String PER_REQUEST_LOAD_BALANCING = "per-request-load-balancing"; - // CMP related - public static final String CMP_RESOURCE = "cmp-resource"; - public static final String MAPPING_PROPERTIES = "mapping-properties"; - public static final String IS_ONE_ONE_CMP = "is-one-one-cmp"; - public static final String ONE_ONE_FINDERS = "one-one-finders"; - public static final String METHOD_NAME = "method-name"; - public static final String QUERY_PARAMS = "query-params"; - public static final String QUERY_FILTER = "query-filter"; - public static final String QUERY_VARIABLES = "query-variables"; - public static final String QUERY_ORDERING = "query-ordering"; - public static final String FINDER = "finder"; - public static final String CREATE_TABLES_AT_DEPLOY = "create-tables-at-deploy"; - public static final String DROP_TABLES_AT_UNDEPLOY = "drop-tables-at-undeploy"; - public static final String DATABASE_VENDOR_NAME = "database-vendor-name"; - public static final String SCHEMA_GENERATOR_PROPERTIES = "schema-generator-properties"; - // BEAN-POOL related public static final String BEAN_POOL = "bean-pool"; public static final String STEADY_POOL_SIZE = "steady-pool-size"; diff --git a/appserver/deployment/javaee-core/src/main/java/org/glassfish/javaee/core/deployment/JavaEEDeployer.java b/appserver/deployment/javaee-core/src/main/java/org/glassfish/javaee/core/deployment/JavaEEDeployer.java index 0fb3c84fc87..837f5c4989d 100644 --- a/appserver/deployment/javaee-core/src/main/java/org/glassfish/javaee/core/deployment/JavaEEDeployer.java +++ b/appserver/deployment/javaee-core/src/main/java/org/glassfish/javaee/core/deployment/JavaEEDeployer.java @@ -104,8 +104,7 @@ public MetaData getMetaData() { /** * Returns the classpath associated with this module - * Can be used to compile generated cmp classes, - * rmi stubs etc. + * Can be used to compile generated rmi stubs etc. * * @return the classpath for this module */ diff --git a/appserver/ejb/ejb-client/exclude.xml b/appserver/ejb/ejb-client/exclude.xml index 0d2f73bb082..e1d13821a89 100644 --- a/appserver/ejb/ejb-client/exclude.xml +++ b/appserver/ejb/ejb-client/exclude.xml @@ -81,10 +81,4 @@ - - - - - - diff --git a/appserver/ejb/ejb-container/exclude.xml b/appserver/ejb/ejb-container/exclude.xml index ba33418ea79..240bd363906 100644 --- a/appserver/ejb/ejb-container/exclude.xml +++ b/appserver/ejb/ejb-container/exclude.xml @@ -81,10 +81,4 @@ - - - - - - diff --git a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/InvocationInfo.java b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/InvocationInfo.java index f70f04e9cf0..9f6f344f400 100644 --- a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/InvocationInfo.java +++ b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/InvocationInfo.java @@ -95,8 +95,6 @@ public class InvocationInfo { // Only applies to EJB 3.0 SFSBs public EjbRemovalInfo removalInfo; - public boolean isTxRequiredLocalCMPField = false; - public MethodLockInfo methodLockInfo; private boolean asyncMethodFlag; diff --git a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/StaticRmiStubGenerator.java b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/StaticRmiStubGenerator.java index e03ac1d2757..0df3b574432 100644 --- a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/StaticRmiStubGenerator.java +++ b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/codegen/StaticRmiStubGenerator.java @@ -53,7 +53,6 @@ import org.glassfish.api.admin.ServerEnvironment; import org.glassfish.api.deployment.DeploymentContext; import org.glassfish.deployment.common.ClientArtifactsManager; -import org.glassfish.ejb.spi.CMPDeployer; import org.glassfish.hk2.api.ServiceLocator; import java.io.ByteArrayOutputStream; @@ -181,7 +180,7 @@ public void ejbc(DeploymentContext deploymentCtx) throws Exception { long startTime = now(); // class path to be used for this application during javac & rmic - String classPath = deploymentCtx.getTransientAppMetaData(CMPDeployer.MODULE_CLASSPATH, String.class); + String classPath = deploymentCtx.getTransientAppMetaData("org.glassfish.ejb.spi.module.classpath", String.class); // Warning: A class loader is passed in while constructing the // application object diff --git a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/BaseContainer.java b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/BaseContainer.java index 8920120927e..5dc86ef39df 100644 --- a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/BaseContainer.java +++ b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/BaseContainer.java @@ -1954,7 +1954,7 @@ public void preInvoke(EjbInvocation inv) { inv.instance = inv.ejb = ctx.getEJB(); InvocationInfo info = inv.invocationInfo; - inv.useFastPath = (info.isTxRequiredLocalCMPField) && (inv.foundInTxCache); + inv.useFastPath = inv.foundInTxCache; // _logger.log(Level.INFO, "Use fastPath() ==> " + info.method); if (!inv.useFastPath) { diff --git a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/EjbContainerUtilImpl.java b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/EjbContainerUtilImpl.java index 4cbb460aa2e..3cee9244dc5 100644 --- a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/EjbContainerUtilImpl.java +++ b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/EjbContainerUtilImpl.java @@ -56,7 +56,6 @@ import com.sun.enterprise.util.Utility; import com.sun.logging.LogDomains; import fish.payara.enterprise.config.serverbeans.DeploymentGroup; -import org.glassfish.ejb.spi.CMPDeployer; import com.sun.enterprise.deployment.xml.RuntimeTagNames; import org.glassfish.api.admin.ProcessEnvironment; @@ -178,9 +177,6 @@ public class EjbContainerUtilImpl @Inject Provider deploymentProvider; - @Inject - private Provider cmpDeployerProvider; - private static EjbContainerUtil _me; @Override @@ -460,7 +456,7 @@ public EjbDescriptor ejbIdToDescriptor(long ejbId) { @Override public boolean isEJBLite() { - return (!env.isMicro() && cmpDeployerProvider.get() == null); + return (!env.isMicro()); } @Override diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/BeanMethodCalculatorImpl.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/BeanMethodCalculatorImpl.java index cefcfd9cc8a..e36b9e68563 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/BeanMethodCalculatorImpl.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/BeanMethodCalculatorImpl.java @@ -57,7 +57,6 @@ import java.util.Locale; import org.glassfish.ejb.deployment.descriptor.EjbDescriptor; import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor; -import org.glassfish.ejb.deployment.descriptor.FieldDescriptor; import org.glassfish.ejb.deployment.descriptor.ScheduledTimerDescriptor; /** @@ -75,36 +74,6 @@ private BeanMethodCalculatorImpl() { // TODO - change logger if/when other EJB deployment classes are changed static final private Logger _logger = LogDomains.getLogger(BeanMethodCalculatorImpl.class, LogDomains.DPL_LOGGER); - public static Vector getPossibleCmpCmrFields(ClassLoader cl, String className) - throws ClassNotFoundException { - - Vector fieldDescriptors = new Vector<>(); - Class theClass = cl.loadClass(className); - - // Start with all *public* methods - Method[] methods = theClass.getMethods(); - - // Find all accessors that could be cmp fields. This list - // will contain all cmr field accessors as well, since there - // is no good way to distinguish between the two purely based - // on method signature. - for(int mIndex = 0; mIndex < methods.length; mIndex++) { - Method next = methods[mIndex]; - String nextName = next.getName(); - int nextModifiers = next.getModifiers(); - if( Modifier.isAbstract(nextModifiers) ) { - if( nextName.startsWith("get") && - nextName.length() > 3 ) { - String field = - nextName.substring(3,4).toLowerCase(Locale.US) + - nextName.substring(4); - fieldDescriptors.add(new FieldDescriptor(field)); - } - } - } - return fieldDescriptors; - } - public static Vector getMethodsFor(com.sun.enterprise.deployment.EjbDescriptor ejbDescriptor, ClassLoader classLoader) throws ClassNotFoundException { diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/EjbTagNames.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/EjbTagNames.java index 03a8d9c365b..8b9c051106b 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/EjbTagNames.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/EjbTagNames.java @@ -61,49 +61,12 @@ public interface EjbTagNames extends TagNames { String SERVICE_ENDPOINT_INTERFACE = "service-endpoint"; String ROLE_REFERENCES = "security-role-refs"; - // entity - String PERSISTENCE_TYPE = "persistence-type"; - String PRIMARY_KEY_CLASS = "prim-key-class"; - String PRIMARY_KEY_FIELD = "primkey-field"; - String REENTRANT = "reentrant"; - String PERSISTENT_FIELDS = "persistent-fields"; - String CMP_FIELD = "cmp-field"; - String CMP_VERSION = "cmp-version"; - String CMP_2_VERSION = "2.x"; - String CMP_1_VERSION = "1.x"; - String FIELD_NAME = "field-name"; - String ABSTRACT_SCHEMA_NAME = "abstract-schema-name"; - - // relationships - String RELATIONSHIPS = "relationships"; - String EJB_RELATION = "ejb-relation"; - String EJB_RELATION_NAME = "ejb-relation-name"; - String EJB_RELATIONSHIP_ROLE = "ejb-relationship-role"; - String EJB_RELATIONSHIP_ROLE_NAME = "ejb-relationship-role-name"; - String MULTIPLICITY = "multiplicity"; - String RELATIONSHIP_ROLE_SOURCE = "relationship-role-source"; - String CMR_FIELD = "cmr-field"; - String CMR_FIELD_NAME = "cmr-field-name"; - String CMR_FIELD_TYPE = "cmr-field-type"; - String CASCADE_DELETE = "cascade-delete"; - // application exceptions String APPLICATION_EXCEPTION = "application-exception"; String APP_EXCEPTION_CLASS = "exception-class"; String APP_EXCEPTION_ROLLBACK = "rollback"; String APP_EXCEPTION_INHERITED = "inherited"; - // ejb-entity-ref - String REMOTE_EJB_NAME = "remote-ejb-name"; - - // query - String QUERY = "query"; - String QUERY_METHOD = "query-method"; - String EJB_QL = "ejb-ql"; - String QUERY_RESULT_TYPE_MAPPING = "result-type-mapping"; - String QUERY_REMOTE_TYPE_MAPPING = "Remote"; - String QUERY_LOCAL_TYPE_MAPPING = "Local"; - // session String TRANSACTION_TYPE = "transaction-type"; String TRANSACTION_SCOPE = "transaction-scope"; diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/annotation/handlers/EJBHandler.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/annotation/handlers/EJBHandler.java index 03b9688f9ee..993f8089a45 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/annotation/handlers/EJBHandler.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/annotation/handlers/EJBHandler.java @@ -59,7 +59,6 @@ import org.glassfish.apf.AnnotationInfo; import org.glassfish.apf.AnnotationProcessorException; import org.glassfish.apf.HandlerProcessingResult; -import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor; import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor; import org.jvnet.hk2.annotations.Service; @@ -300,14 +299,6 @@ private void setEjbHomeType(EjbReferenceDescriptor ejbRef, break; } } - // Use existence of findByPrimaryKey method on Home to - // determine target bean type - for (Method m : methods) { - if (m.getName().equals("findByPrimaryKey")) { - targetBeanType = EjbEntityDescriptor.TYPE; - break; - } - } } catch(Exception e) { if (logger.isLoggable(Level.FINE)) { logger.log(Level.FINE, diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/CMRFieldInfo.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/CMRFieldInfo.java deleted file mode 100644 index 87fb931f8e6..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/CMRFieldInfo.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.descriptor; - -import java.io.Serializable; -import java.lang.reflect.Field; - - -/** - * This class stores information about CMR fields - * Note: the "field" variable is only available at runtime. - * - * @author Sanjeev Krishnan - */ - -public final class CMRFieldInfo implements Serializable { - public transient Field field = null; - public String name; - public transient Class type = null; - public RelationRoleDescriptor role; - // foreign key fields corresponding to this CMR field - public PersistentFieldInfo[] fkeyFields; -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbBundleDescriptorImpl.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbBundleDescriptorImpl.java index d365f455ef2..eda995a4c1b 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbBundleDescriptorImpl.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbBundleDescriptorImpl.java @@ -107,12 +107,8 @@ public class EjbBundleDescriptorImpl extends com.sun.enterprise.deployment.EjbBu private Boolean disableNonportableJndiNames; private Set ejbs = new HashSet(); private Set ejbIDs = null; - private Set relationships = new HashSet(); private String relationshipsDescription; private String ejbClientJarUri; - // the resource (database) to be used for persisting CMP EntityBeans - // the same resource is used for all beans in this ejb jar. - private ResourceReferenceDescriptor cmpResourceReference; // Application exceptions defined for the ejbs in this module. private Map applicationExceptions = new HashMap(); @@ -148,31 +144,6 @@ public class EjbBundleDescriptorImpl extends com.sun.enterprise.deployment.EjbBu private Set entityManagerReferences = new HashSet(); - - public static int getIdFromEjbId(long ejbId) { - long id = ejbId >> 32; - return (int) id; - } - - /** - * True if EJB version is 2.x. This is the default - * for any new modules. - */ - // XXX - // this method is not true anymore now we have ejb3.0, keep this - // method as it is for now, will revisit once ejb30 persistence - // is implemented - public boolean isEJB20() { - return !isEJB11(); - } - - /** - * True if EJB version is 1.x. - */ - public boolean isEJB11() { - return getSpecVersion().startsWith("1"); - } - /** * @return the default version of the deployment descriptor * loaded by this descriptor @@ -193,9 +164,6 @@ public String getEjbClientJarUri() { return ejbClientJarUri; } - public void setEjbClientJarUri(String ejbClientJarUri) { - this.ejbClientJarUri = ejbClientJarUri; - } @Override public boolean isEmpty() { @@ -207,19 +175,7 @@ public void addApplicationException(EjbApplicationExceptionInfo appExc) { } public Map getApplicationExceptions() { - return new HashMap(applicationExceptions); - } - - /** - * Return the set of NamedDescriptors that I have. - */ - public Collection getNamedDescriptors() { - Collection namedDescriptors = new Vector(); - for (EjbDescriptor ejbDescriptor : getEjbs()) { - namedDescriptors.add(ejbDescriptor); - namedDescriptors.addAll(super.getNamedDescriptorsFrom(ejbDescriptor)); - } - return namedDescriptors; + return new HashMap<>(applicationExceptions); } /** @@ -237,31 +193,6 @@ public Vector getNamedReferencePairs() { return pairs; } - /** - * Return the set of references to resources held by ejbs defined in this module. - */ - public Set getEjbResourceReferenceDescriptors() { - Set resourceReferences = new HashSet(); - for (Iterator itr = getEjbs().iterator(); itr.hasNext(); ) { - EjbDescriptor ejbDescriptor = (EjbDescriptor) itr.next(); - resourceReferences.addAll(ejbDescriptor.getResourceReferenceDescriptors()); - } - return resourceReferences; - } - - /** - * Return true if I reference other ejbs, false else. - */ - public boolean hasEjbReferences() { - for (Iterator itr = getEjbs().iterator(); itr.hasNext(); ) { - EjbDescriptor nextEjbDescriptor = (EjbDescriptor) itr.next(); - if (!nextEjbDescriptor.getEjbReferenceDescriptors().isEmpty()) { - return true; - } - } - return false; - } - /** * Return the Set of ejb descriptors that I have. */ @@ -404,20 +335,6 @@ public void removeEjb(EjbDescriptor ejbDescriptor) { ejbs.remove(ejbDescriptor); } - /** - * @return true if this bundle descriptor contains at least one CMP - * EntityBean - */ - public boolean containsCMPEntity() { - - Set ejbs = getEjbs(); - for (Iterator ejbsItr = ejbs.iterator(); ejbsItr.hasNext(); ) { - if (ejbsItr.next() instanceof EjbCMPEntityDescriptor) { - return true; - } - } - return false; - } public void addInterceptor(EjbInterceptor interceptor) { EjbInterceptor ic = @@ -531,31 +448,6 @@ public boolean hasContainerTransactions() { return false; } - /** - * Return true if I have roles, permissioned roles or container transactions. - */ - public boolean hasAssemblyInformation() { - return (!getRoles().isEmpty()) || hasPermissionedRoles() || hasContainerTransactions(); - } - - /** - * Add a RelationshipDescriptor which describes a CMR field - * between a bean/DO/entityRef in this ejb-jar. - */ - public void addRelationship(RelationshipDescriptor relDesc) { - relationships.add(relDesc); - - } - - /** - * Add a RelationshipDescriptor which describes a CMR field - * between a bean/DO/entityRef in this ejb-jar. - */ - public void removeRelationship(RelationshipDescriptor relDesc) { - relationships.remove(relDesc); - - } - /** * EJB2.0: get description for element. */ @@ -565,57 +457,6 @@ public String getRelationshipsDescription() { return relationshipsDescription; } - /** - * EJB2.0: set description for element. - */ - public void setRelationshipsDescription(String relationshipsDescription) { - this.relationshipsDescription = relationshipsDescription; - } - - /** - * Get all relationships in this ejb-jar. - * - * @return a Set of RelationshipDescriptors. - */ - public Set getRelationships() { - return relationships; - } - - public boolean hasRelationships() { - return (relationships.size() > 0); - } - - /** - * Returns true if given relationship is already part of this - * ejb-jar. - */ - public boolean hasRelationship(RelationshipDescriptor rd) { - return relationships.contains(rd); - } - - /** - * Return the Resource I use for CMP. - */ - public ResourceReferenceDescriptor getCMPResourceReference() { - return cmpResourceReference; - } - - /** - * Sets the resource reference I use for CMP. - */ - public void setCMPResourceReference(ResourceReferenceDescriptor resourceReference) { - this.cmpResourceReference = resourceReference; - } - - public Descriptor getDescriptorByName(String name) { - try { - return getEjbByName(name); - } catch (IllegalArgumentException iae) { - // Bundle doesn't contain ejb with the given name. - return null; - } - } - // START OF IASRI 4645310 /** @@ -715,10 +556,6 @@ public Set getEjbServiceReferenceDescriptors() { public void print(StringBuilder toStringBuilder) { toStringBuilder.append("EjbBundleDescriptor\n"); super.print(toStringBuilder); - if (cmpResourceReference != null) { - toStringBuilder.append("\ncmp resource "); - cmpResourceReference.print(toStringBuilder); - } toStringBuilder.append("\nclient JAR ").append(getEjbClientJarUri()); for (Descriptor o : getEjbs()) { toStringBuilder.append("\n------------\n"); diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbCMPEntityDescriptor.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbCMPEntityDescriptor.java deleted file mode 100644 index 9106b271a17..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbCMPEntityDescriptor.java +++ /dev/null @@ -1,315 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package org.glassfish.ejb.deployment.descriptor; - -import com.sun.enterprise.util.LocalStringManagerImpl; -import org.glassfish.deployment.common.Descriptor; -import org.glassfish.ejb.deployment.BeanMethodCalculatorImpl; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.Locale; -import java.util.Vector; -import java.util.logging.Level; - -/** - * This class contains information about EJB1.1 and EJB2.0 CMP EntityBeans. - * @author Sanjeev Krishnan - */ - -public class EjbCMPEntityDescriptor extends EjbEntityDescriptor { - - private static final String FIELD_ACCESS_METHOD_PREFIX = "get"; // NOI18N - - // Enum types to be returned from getVersionNumber(). - public static final int UNDEFINED = -1; - public static final int CMP_1_1 = 1; - public static final int CMP_2_x = 2; - - private int cmpVersion = UNDEFINED; - private PersistenceDescriptor pers; - private String abstractSchemaName=null; - private FieldDescriptor primaryKeyFieldDesc; - private String stateImplClassName=null; - private String ejbImplementationImplClassName=null; - - private static LocalStringManagerImpl localStrings = - new LocalStringManagerImpl(EjbCMPEntityDescriptor.class); - - public EjbCMPEntityDescriptor() { - this.setPersistenceType(CONTAINER_PERSISTENCE); - } - - /** - * The copy constructor. - */ - public EjbCMPEntityDescriptor(EjbDescriptor other) { - super(other); - - this.setPersistenceType(CONTAINER_PERSISTENCE); - - if ( other instanceof EjbCMPEntityDescriptor ) { - EjbCMPEntityDescriptor entity = (EjbCMPEntityDescriptor)other; - this.pers = entity.pers; - this.cmpVersion = entity.cmpVersion; - this.abstractSchemaName = entity.abstractSchemaName; - } - } - - /** - * Sets the State class implementation classname. - */ - public void setStateImplClassName(String name) { - this.stateImplClassName = name; - } - - /** - * Returns the classname of the State class impl. - */ - public String getStateImplClassName() { - return this.stateImplClassName; - } - - @Override - public Vector getFields() { - if( isEJB20() ) { - // All cmp "fields" are abstract, so we can't construct - // java.lang.reflect.Field elements from them. Use - // getFieldDescriptors() instead. - return new Vector<>(); - } - return super.getFields(); - } - - @Override - public Vector getFieldDescriptors() { - Vector fieldDescriptors = new Vector<>(); - if( isEJB20() ) { - try { - ClassLoader cl = getEjbBundleDescriptor().getClassLoader(); - fieldDescriptors = BeanMethodCalculatorImpl.getPossibleCmpCmrFields(cl, this.getEjbClassName()); - } catch(Throwable t) { - String errorMsg = localStrings.getLocalString - ("enterprise.deployment.errorloadingejbclass", - "error loading the ejb class {0} in getFields" + - " on EjbDescriptor\n {1}", - new Object[] {this.getEjbClassName(), t.toString() }); - _logger.log(Level.FINE,errorMsg); - } - } else { - fieldDescriptors = super.getFieldDescriptors(); - } - return fieldDescriptors; - } - - /** - * Returns CMP version as an enum type. - */ - public int getCMPVersion() { - if (cmpVersion == UNDEFINED) { - if (getEjbBundleDescriptor()!=null) { - String bundleVersion = getEjbBundleDescriptor().getSpecVersion(); - if (bundleVersion.startsWith("1.")) { - cmpVersion = CMP_1_1; - } else { - cmpVersion = CMP_2_x; - } - } else { - // we cannot get the version from the bundle, set it to default... - cmpVersion = CMP_2_x; - } - } - return cmpVersion; - } - - /** - * Set the CMP version - */ - public void setCMPVersion(int version) { - if (version==CMP_1_1 || version == CMP_2_x) { - cmpVersion = version; - } else { - throw new IllegalArgumentException(localStrings.getLocalString("enterprise.deployment.invalidcmpversion", - "Invalid CMP version: {0}.", - new Object[]{Integer.valueOf(version)})); // NOI18N - } - } - - /** - * return true if this is an EJB2.0 CMP Entitybean - * DEPRECATED - */ - public boolean isEJB20() { - return getCMPVersion()==CMP_2_x; - } - - @Override - public void setEjbBundleDescriptor(EjbBundleDescriptorImpl bundleDescriptor) { - super.setEjbBundleDescriptor(bundleDescriptor); - } - - @Override - public Vector getPossibleTransactionAttributes() { - Vector txAttributes = null; - if( isEJB20() ) { - txAttributes = new Vector<>(); - txAttributes.add(new ContainerTransaction - (ContainerTransaction.REQUIRED, "")); - txAttributes.add(new ContainerTransaction - (ContainerTransaction.REQUIRES_NEW, "")); - txAttributes.add(new ContainerTransaction - (ContainerTransaction.MANDATORY, "")); - if( isTimedObject() ) { - txAttributes.add(new ContainerTransaction - (ContainerTransaction.NOT_SUPPORTED, "")); - } - } else { - txAttributes = super.getPossibleTransactionAttributes(); - } - return txAttributes; - } - - public void setPersistenceDescriptor(PersistenceDescriptor pd) - { - this.pers = pd; - pd.setParentDescriptor(this); - } - - public PersistenceDescriptor getPersistenceDescriptor() - { - if (pers==null) { - pers = new PersistenceDescriptor(); - this.setPersistenceDescriptor(pers); - } - return pers; - } - - private void invalidatePersistenceInfo() { - if( pers != null ) { - pers.invalidate(); - } - } - - public void setPrimaryKeyFieldDesc(FieldDescriptor pkf) - { - this.primaryKeyFieldDesc = pkf; - invalidatePersistenceInfo(); - } - - public FieldDescriptor getPrimaryKeyFieldDesc() - { - return primaryKeyFieldDesc; - } - - - - - public void setAbstractSchemaName(String abstractSchemaName) - { - this.abstractSchemaName = abstractSchemaName; - } - - public String getAbstractSchemaName() - { - return abstractSchemaName; - } - - /** - * set the generated implementation class for a CMP 2.0 Ejb object - * @param className the generated implementation - */ - public void setEjbImplementationImplClassName(String className) { - ejbImplementationImplClassName = className; - } - - /** - * @return the generated implementation class - */ - public String getEjbImplementationImplClassName() { - return ejbImplementationImplClassName; - } - - public static Vector getPossibleCmpCmrFields(ClassLoader cl, String className) throws Exception { - Vector fieldDescriptors = new Vector<>(); - Class theClass = cl.loadClass(className); - - // Start with all *public* methods - Method[] methods = theClass.getMethods(); - - // Find all accessors that could be cmp fields. This list - // will contain all cmr field accessors as well, since there - // is no good way to distinguish between the two purely based - // on method signature. - for(int mIndex = 0; mIndex < methods.length; mIndex++) { - Method next = methods[mIndex]; - String nextName = next.getName(); - int nextModifiers = next.getModifiers(); - if( Modifier.isAbstract(nextModifiers) ) { - if( nextName.startsWith(FIELD_ACCESS_METHOD_PREFIX) && - nextName.length() > 3 ) { - String field = - nextName.substring(3,4).toLowerCase(Locale.US) + - nextName.substring(4); - fieldDescriptors.add(new FieldDescriptor(field)); - } - } - } - return fieldDescriptors; - } - - /** - * Return my formatted string representation. - */ - @Override - public void print(StringBuilder toStringBuilder) { - super.print(toStringBuilder); - toStringBuilder.append("\n cmpVersion ").append(cmpVersion). - append("\n primKeyField "); - - if(getPrimaryKeyFieldDesc() != null) - ((Descriptor)getPrimaryKeyFieldDesc()).print(toStringBuilder); - - if(pers != null) - ((Descriptor)pers).print(toStringBuilder); - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbDescriptor.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbDescriptor.java index f3c1aaaf5d0..e20a88c7aa4 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbDescriptor.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbDescriptor.java @@ -2663,64 +2663,6 @@ public Vector getMethods(ClassLoader classLoader) { } } - /** - * Return a Vector of the Field objects of this ejb. - * - * @return - */ - public Vector getFields() { - Vector fieldsVector = new Vector<>(); - Class ejb = null; - try { - ClassLoader cl = getEjbBundleDescriptor().getClassLoader(); - ejb = cl.loadClass(this.getEjbClassName()); - } catch (Throwable t) { - _logger.log(Level.SEVERE, "enterprise.deployment.backend.methodClassLoadFailure", new Object[] { this.getEjbClassName() }); - - return fieldsVector; - } - Field[] fields = ejb.getFields(); - for (int i = 0; i < fields.length; i++) { - fieldsVector.addElement(fields[i]); - } - return fieldsVector; - - } - - /** - * - * @return - */ - public Vector getFieldDescriptors() { - Vector fields = this.getFields(); - Vector fieldDescriptors = new Vector<>(); - for (int fieldIndex = 0; fieldIndex < fields.size(); fieldIndex++) { - Field field = fields.elementAt(fieldIndex); - fieldDescriptors.insertElementAt(new FieldDescriptor(field), fieldIndex); - } - return fieldDescriptors; - } - - void doMethodDescriptorConversions() throws Exception { - // container transactions first - Hashtable transactions = getMethodContainerTransactions(); - // _logger.log(Level.FINE,"Pre conversion = " + transactions); - Hashtable convertedTransactions = new Hashtable<>(); - Collection transactionMethods = getTransactionMethodDescriptors(); - for (Enumeration e = transactions.keys(); e.hasMoreElements();) { - MethodDescriptor md = e.nextElement(); - ContainerTransaction ct = transactions.get(md); - for (Enumeration mds = md.doStyleConversion(this, transactionMethods).elements(); mds.hasMoreElements();) { - MethodDescriptor next = mds.nextElement(); - convertedTransactions.put(next, new ContainerTransaction(ct)); - } - } - // _logger.log(Level.FINE,"Post conversion = " + convertedTransactions); - setMethodContainerTransactions(convertedTransactions); - - convertMethodPermissions(); - } - @Override public void removeEjbReferencer(EjbReferenceDescriptor ref) { ejbReferencersPointingToMe.remove(ref); @@ -2732,11 +2674,6 @@ public void addEjbReferencer(EjbReferenceDescriptor ref) { ejbReferencersPointingToMe.add(ref); } - // called from EjbEntityDescriptor.replaceEntityDescriptor etc - public Set getAllEjbReferencers() { - return ejbReferencersPointingToMe; - } - // Called from EjbBundleDescriptor only @Override public void setUniqueId(long id) { diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbEntityDescriptor.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbEntityDescriptor.java deleted file mode 100644 index 1cfac0d112e..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/EjbEntityDescriptor.java +++ /dev/null @@ -1,246 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package org.glassfish.ejb.deployment.descriptor; - -import com.sun.enterprise.deployment.util.DOLUtils; -import com.sun.enterprise.util.LocalStringManagerImpl; - -import java.util.logging.Logger; - -import org.glassfish.deployment.common.Descriptor; - -/** - * This class contains deployment information for an EntityBean with - * bean-managed persistence. - * Subclasses contains additional information for EJB1.1/EJB2.0 CMP EntityBeans. - * - * @author Danny Coward - * @author Sanjeev Krishnan - * @author Vivek Nagar - */ - -public class EjbEntityDescriptor extends EjbDescriptor { - - public static final String TYPE = "Entity"; - public static final String BEAN_PERSISTENCE = "Bean"; - public static final String CONTAINER_PERSISTENCE = "Container"; - public static final String TRUE = "true"; - public static final String FALSE = "false"; - - // EntityBean attributes - protected String persistenceType; - protected boolean isReentrant = false; - protected String primaryKeyClassName; - - private static LocalStringManagerImpl localStrings = - new LocalStringManagerImpl(EjbEntityDescriptor.class); - - static Logger _logger = DOLUtils.getDefaultLogger(); - - - - /** - * The default constructor. - */ - public EjbEntityDescriptor() { - } - - /** - * The copy constructor. - */ - public EjbEntityDescriptor(EjbDescriptor other) { - super(other); - if (other instanceof EjbEntityDescriptor) { - EjbEntityDescriptor entity = (EjbEntityDescriptor) other; - this.persistenceType = entity.persistenceType; - this.isReentrant = entity.isReentrant; - this.primaryKeyClassName = entity.primaryKeyClassName; - } - } - - @Override - public String getEjbTypeForDisplay() { - return "EntityBean"; - } - - /** - * Gets the container transaction type for this entity bean. Entity - * beans always have CONTAINER_TRANSACTION_TYPE transaction type. - */ - @Override - public String getTransactionType() { - return super.transactionType; - } - - /** - * Sets the transaction type for this entity bean. - * Throws an illegal argument exception if this type is not - * CONTAINER_TRANSACTION_TYPE. - */ - @Override - public void setTransactionType(String transactionType) { - if (!CONTAINER_TRANSACTION_TYPE.equals(transactionType) - && Descriptor.isBoundsChecking()) { - throw new IllegalArgumentException(localStrings.getLocalString( - "enterprise.deployment.exceptionentitybeancanonlyhavecntnrtxtype", - "Entity beans can only have Container transaction type. The type was being set to {0}", new Object[] {transactionType})); - } - super.transactionType = transactionType; - } - - @Override - public String getContainerFactoryQualifier() { - return "EntityContainerFactory"; - } - - - /** - * Return true if this entity bean is reentrant, false else. - */ - public boolean isReentrant() { - return this.isReentrant; - } - - public String getReentrant() { - return isReentrant() ? TRUE : FALSE; - } - - public void setReentrant(String reentrantString) { - if (TRUE.equalsIgnoreCase(reentrantString)) { - this.setReentrant(true); - return; - } - if (FALSE.equalsIgnoreCase(reentrantString)) { - this.setReentrant(false); - return; - } - if (Descriptor.isBoundsChecking()) { - throw new IllegalArgumentException(localStrings.getLocalString( - "enterprise.deployment.exceptionstringnotlegalvalue", - "{0} is not a legal value for entity reentrancy", new Object[] {reentrantString})); - } - } - - /** - * Sets the isReentrant flag for this bean. - */ - public void setReentrant(boolean isReentrant) { - this.isReentrant = isReentrant; - - } - - /** - * Returns the persistence type for this entity bean. Defaults to BEAN_PERSISTENCE. - */ - public String getPersistenceType() { - if (this.persistenceType == null) { - this.persistenceType = BEAN_PERSISTENCE; - } - return this.persistenceType; - } - - /** - * Sets the persistence type for this entity bean. Allowable values are BEAN_PERSISTENCE - * or CONTAINER_PERSISTENCE, or else an IllegalArgumentException is thrown. - */ - public void setPersistenceType(String persistenceType) { - boolean isValidChange = (BEAN_PERSISTENCE.equals(persistenceType) || CONTAINER_PERSISTENCE.equals(persistenceType)); - if (isValidChange || !Descriptor.isBoundsChecking()) { - this.persistenceType = persistenceType; - - } else { - //_logger.log(Level.FINE,"Warning " + persistenceType + " is not an allowed persistence type"); - throw new IllegalArgumentException(localStrings.getLocalString( - "enterprise.deployment.exceptionpersistenceisnotallowedtype", - "{0} is not an allowed persistence type", new Object[] {persistenceType})); - } - } - - /** - * Return the classname of the primary key for this bean, or the empty - * string if none has been set. - */ - public String getPrimaryKeyClassName() { - if (this.primaryKeyClassName == null) { - this.primaryKeyClassName = Object.class.getName(); - } - return this.primaryKeyClassName; - } - - /** - * Set the classname of the primary key used by this bean. - */ - public void setPrimaryKeyClassName(String primaryKeyClassName) { - this.primaryKeyClassName = primaryKeyClassName; - - } - - /** - * Returns the type of this bean. EjbEntityDescriptor.TYPE - */ - @Override - public String getType() { - return TYPE; - } - - /** - * Sets my type String. - */ - @Override - public void setType(String type) { - throw new IllegalArgumentException(localStrings.getLocalString( - "enterprise.deployment.exceptioncannotsettypeonentitybean", - "Cannon set type on an entity bean")); - } - - /** - * Return my formatted string representation. - */ - @Override - public void print(StringBuilder toStringBuilder) { - super.print(toStringBuilder); - toStringBuilder.append("\n Entity descriptor"); - toStringBuilder.append("\n isReentrant ").append(isReentrant); - toStringBuilder.append("\n primaryKeyClassName ").append(primaryKeyClassName); - toStringBuilder.append("\n persistenceType ").append(persistenceType); - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/FieldDescriptor.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/FieldDescriptor.java deleted file mode 100644 index 1517088d28d..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/FieldDescriptor.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package org.glassfish.ejb.deployment.descriptor; - -import org.glassfish.deployment.common.Descriptor; - -import java.lang.reflect.Field; - -/** - * I represent a field on an ejb. - * Either an actual field (e.g. for EJB1.1 CMP) - * or a virtual field (e.g. for EJb2.0 CMP) - * - * @author Danny Coward - */ - -public class FieldDescriptor extends Descriptor { - - /** - * Constructrs an empty field descriptor - */ - public FieldDescriptor() { - } - - /** - * Constructrs a field descriptor with the given name. - */ - public FieldDescriptor(String name) { - super(name, "no description"); - } - - /** - * Constructrs a field descriptor with the given name and description. - */ - public FieldDescriptor(String name, String description) { - super(name, description); - } - - /** - * Constructs a field descriptor from the supplied java.lang.reflect.Field object. - */ - - public FieldDescriptor(Field field) { - this(field.getName(), "no description"); - } - - /** Equality iff the other objects is a field descriptor with the same name. - */ - - public boolean equals(Object object) { - if (object instanceof FieldDescriptor) { - FieldDescriptor otherFieldDescriptor = (FieldDescriptor) object; - return otherFieldDescriptor.getName().equals(this.getName()); - } - return false; - } - - /** My hashcode. - */ - - public int hashCode() { - return this.getName().hashCode(); - } - - /** - * Returns a formatted version of me as a String. - */ - - public void print(StringBuilder toStringBuilder) { - toStringBuilder.append("Field: ").append(super.getName()).append("@").append(super.getDescription()); - } - - /** - *

    - * Check if a field name is of an acceptable value (start with a lowercase - * letter) - *

    - * @param fieldName is the field name to test - * @throw IllegalArgumentException if the name is unacceptable - */ - public static void checkFieldName(String fieldName) throws IllegalArgumentException { - - if (fieldName == null || fieldName.length()==0) { - throw new IllegalArgumentException("cmp-field or cmr-field name cannot be empty strings"); - } - char firstChar = fieldName.charAt(0); - if (!Character.isLetter(firstChar)) { - throw new IllegalArgumentException("cmp-field or cmr-field name " + fieldName + " must begin with a letter "); - } - if (!Character.isLowerCase(firstChar)) { - throw new IllegalArgumentException("cmp-field or cmr-field name " + fieldName + " must begin with a lowercase letter"); - } - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/IASEjbCMPEntityDescriptor.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/IASEjbCMPEntityDescriptor.java deleted file mode 100644 index 79f6dae14c4..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/IASEjbCMPEntityDescriptor.java +++ /dev/null @@ -1,741 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package org.glassfish.ejb.deployment.descriptor; - -import com.sun.enterprise.deployment.Application; -import com.sun.enterprise.deployment.BundleDescriptor; -import com.sun.enterprise.deployment.util.DOLUtils; -import com.sun.enterprise.util.LocalStringManagerImpl; -import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbCMPFinder; -import org.glassfish.ejb.deployment.descriptor.runtime.PrefetchDisabledDescriptor; - -import java.lang.reflect.Method; -import java.util.*; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * This class contains information about EJB1.1 and EJB2.0 CMP EntityBeans. - */ - -public class IASEjbCMPEntityDescriptor extends EjbCMPEntityDescriptor { - - private transient Class ejbClass = null; - private String pcImplClassName = null; - private String concreteImplClassName = null; - private String ejbImplClassName = null; - private String mappingProperties; - private transient ClassLoader jcl = null; - private String uniqueName = null; - - private String moduleDir = null; - - // for i18N - private static LocalStringManagerImpl localStrings = - new LocalStringManagerImpl(IASEjbCMPEntityDescriptor.class); - private static final Logger _logger = DOLUtils.getDefaultLogger(); - - // Standard String and Character variables. - private static final char DOT = '.'; // NOI18N - private static final char LIST_START = '(';// NOI18N - private static final char LIST_END = ')'; // NOI18N - private static final char LIST_SEPARATOR = ','; // NOI18N - private static final char NAME_PART_SEPARATOR = '_'; // NOI18N - private static final char NAME_CONCATENATOR = ' '; // NOI18N - private static final String FIND = "find"; // NOI18N - private static final String EJB_SELECT = "ejbSelect"; // NOI18N - private static final String JDOSTATE = "_JDOState"; // NOI18N - private static final String CONCRETE_IMPL = "_ConcreteImpl"; // NOI18N - private static final String MAPPINGEXT = DOT + "mapping"; // NOI18N - - private transient Collection finders = null; - private transient Collection selectors = null; - private transient QueryParser queryParser = null; - private PrefetchDisabledDescriptor prefetchDisabledDescriptor = null; - private static final Map conversionTable = createConversionTable(); - private Map oneOneFinders = new HashMap(); - private List arrOneOneFinders = new ArrayList(); - - private void addAllInterfaceMethodsIn(Collection methodDescriptors, Class c) { - Method[] methods = c.getMethods(); - for (int i=0; i empty set - finders = new HashSet(); - } - - return finders; - } - - /** - * Returns a collection of finder methods declared by the home - * interface given by a class object. - */ - public Collection getFinders(Class homeIntf) { - Method[] methods = homeIntf.getMethods(); - Collection finders = new HashSet(); - for(int i=0; i0) { - key.append(LIST_SEPARATOR); - } - key.append(paramList[index].getName()); - } - key.append(LIST_END); - return (IASEjbCMPFinder)getOneOneFinders().get(key.toString()); - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/PersistenceDescriptor.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/PersistenceDescriptor.java deleted file mode 100644 index 01a8186b74b..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/PersistenceDescriptor.java +++ /dev/null @@ -1,1167 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package org.glassfish.ejb.deployment.descriptor; - -import com.sun.enterprise.deployment.MethodDescriptor; -import com.sun.enterprise.deployment.util.DOLUtils; -import com.sun.enterprise.deployment.util.TypeUtil; -import com.sun.enterprise.util.LocalStringManagerImpl; -import org.glassfish.deployment.common.DeploymentException; -import org.glassfish.deployment.common.Descriptor; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.*; -import java.util.logging.Level; - -/** - * This class contains information about the persistent state - * (abstract persistence schema) - * for EJB2.0 CMP EntityBeans and Join Objects. - * - * @author Sanjeev Krishnan - */ - -public final class PersistenceDescriptor extends Descriptor { - - private Set cmpFields = new HashSet(); - - // there can be 0 or more pkey fields - // This set contains FieldDescriptors for fields from bean or pkey class - private Set pkeyFields = new HashSet(); - - // true if primkey-field is set or for container-generated pk field - private boolean pkeyIsOneField = false; - - // false for beans with no primkey-field and pk class = Object - private boolean pkeyFieldSpecified = true; - - private String primaryKeyClassName; - private boolean pkeyStuffInitialized = false; - - // true for beans whose primary fields are all primitive fields - private boolean pkeyFieldsAllPrimitive = false; - - private static LocalStringManagerImpl localStrings = - new LocalStringManagerImpl(PersistenceDescriptor.class); - - private EjbCMPEntityDescriptor parentDesc; //the bean whose persistence I describe - - private transient Class persistentClass; // the bean class - private transient Class stateClass; // the class which holds persistent fields - private transient Class primaryKeyClass; - - private PersistentFieldInfo[] persFieldInfo; - private PersistentFieldInfo[] persNoPkeyFieldInfo; - private PersistentFieldInfo[] pkeyFieldInfo; - private boolean fieldInfoInitialized=false; - private PersistentFieldInfo[] fkeyFields; - - private CMRFieldInfo[] cmrFieldInfo; - - private transient Field[] pkeyClassPkeyFields; // fields in primary key class - - private Hashtable queries = new Hashtable(); - private HashSet allQueriedMethods; - - public PersistenceDescriptor() { - } - - /** - * The copy constructor. - */ - public PersistenceDescriptor(PersistenceDescriptor pers) { - super(pers); - - this.getCMPFields().addAll(pers.getCMPFields()); - //this.primaryKeyFieldDesc = pers.primaryKeyFieldDesc; - } - - public String getCMRFieldReturnType(String field) { - String returnType = "java.util.Collection"; - try { - if( !field.trim().equals("") ) { - Class persClass = getPersistentClass(); - String methodName = "get" + field.substring(0,1).toUpperCase(Locale.US) - + field.substring(1); - Method method = TypeUtil.getMethod - (persClass, persClass.getClassLoader(), methodName, - new String[] {}); - returnType = method.getReturnType().getName(); - } - } catch(Throwable t) { - if(DOLUtils.getDefaultLogger().isLoggable(Level.FINE)) { - DOLUtils.getDefaultLogger().log(Level.FINE, t.toString(), t); - } - } - - return returnType; - } - - /** - * Called from EjbCMPEntityDescriptor - * when some classes in this object are updated. - */ - public boolean classesChanged() { - - // XXX Remove any fields marked as persistent that no longer exist - // in bean class as getter/setter. - persistentClass = null; - stateClass = null; - - Vector fieldDescriptors = parentDesc.getFieldDescriptors(); - - // Remove obsolete cmp fields - if( this.cmpFields != null ) { - for(Iterator iter = cmpFields.iterator(); iter.hasNext();) { - FieldDescriptor next = (FieldDescriptor) iter.next(); - if( !fieldDescriptors.contains(next) ) { - iter.remove(); - } - } - } - - // Remove obsolete pkey fields - if( this.pkeyFields != null ) { - for(Iterator iter = pkeyFields.iterator(); iter.hasNext();) { - FieldDescriptor next = (FieldDescriptor) iter.next(); - if( !fieldDescriptors.contains(next) ) { - iter.remove(); - } - } - } - - FieldDescriptor primKeyFieldDesc = parentDesc.getPrimaryKeyFieldDesc(); - if( (primKeyFieldDesc != null) && - !fieldDescriptors.contains(primKeyFieldDesc) ) { - parentDesc.setPrimaryKeyFieldDesc(null); - } - - - // CMP 2.x - // Remove queries for methods no longer in allQueriedMethods - - // First clone old set of queries - Hashtable queriesClone = (Hashtable) queries.clone(); - - queries = new Hashtable(); - initializeAllQueriedMethods(); - - for (Object o : queriesClone.entrySet()) { - Map.Entry entry = (Map.Entry) o; - Method oldMethod = (Method)entry.getKey(); - Method newMethod = findEquivalentMethod(allQueriedMethods, - oldMethod); - if( newMethod != null ) { - QueryDescriptor oldQuery = (QueryDescriptor) entry.getValue(); - QueryDescriptor newQuery = - new QueryDescriptor(oldQuery, newMethod); - // Only add to list of methods having queries if - // it's still in the class. - queries.put(newMethod, newQuery); - } - } - - // Force the persistence descriptor to regenerate its - // derived info. - invalidate(); - - return false; - } - - /** - * Search for a matching method in a list of methods - * that might have been loaded with a different classloader. - * Because of this possibility, we can't use - * java.lang.reflect.Method.equals(). - * @return matched method or NULL - */ - private Method findEquivalentMethod(Collection methods, - Method methodToMatch) { - Method matchedMethod = null; - for(Iterator iter = methods.iterator(); iter.hasNext();) { - Object o = iter.next(); - Method next; - if (o instanceof Method) { - next = (Method) o; - } else { - next = ((MethodDescriptor) o).getMethod(parentDesc); - if (next==null) { - return null; - } - } - // Compare methods, ignoring declaring class. - if( methodsEqual(next, methodToMatch, false) ) { - matchedMethod = next; - break; - } - } - return matchedMethod; - } - - /** - * Checks whether two methods that might have been loaded by - * different class loaders are equal. - * @param compareDeclaringClass if true, declaring class will - * be considered as part of equality test. - */ - private boolean methodsEqual(Method m1, Method m2, - boolean compareDeclaringClass) { - boolean equal = false; - - do { - - String m1Name = m1.getName(); - String m2Name = m2.getName(); - - if( !m1Name.equals(m2Name) ) { break; } - - String m1DeclaringClass = m1.getDeclaringClass().getName(); - String m2DeclaringClass = m2.getDeclaringClass().getName(); - - if( compareDeclaringClass ) { - if( !m1DeclaringClass.equals(m2DeclaringClass) ) { break; } - } - - Class[] m1ParamTypes = m1.getParameterTypes(); - Class[] m2ParamTypes = m2.getParameterTypes(); - - if( m1ParamTypes.length != m2ParamTypes.length ) { break; } - - equal = true; - for(int pIndex = 0; pIndex < m1ParamTypes.length; pIndex++) { - String m1ParamClass = m1ParamTypes[pIndex].getName(); - String m2ParamClass = m2ParamTypes[pIndex].getName(); - if( !m1ParamClass.equals(m2ParamClass) ) { - equal = false; - break; - } - } - - } while(false); - - return equal; - } - - public void setParentDescriptor(EjbCMPEntityDescriptor parentDesc) - { - this.parentDesc = parentDesc; - } - - public Descriptor getParentDescriptor() - { - return parentDesc; - } - - public EjbBundleDescriptorImpl getEjbBundleDescriptor() - { - return parentDesc.getEjbBundleDescriptor(); - } - - /** - * Get all CMR fields of this bean. All relationships - * are stored in EjbBundleDescriptor to avoid the complexity of - * keeping the two sets consistent. NOTE : To add or remove - * a relationship use EjbBundleDescriptor. - */ - public Set getRelationships() - { - Set allRelationships = getEjbBundleDescriptor().getRelationships(); - Set myRelationships = new HashSet(); - for(Iterator iter = allRelationships.iterator(); iter.hasNext();) { - RelationshipDescriptor next = (RelationshipDescriptor) iter.next(); - if( next.hasParticipant(parentDesc) ) { - myRelationships.add(next); - } - } - return myRelationships; - } - - /** - * Return array of CMRFieldInfo objects for all CMR fields. - */ - public CMRFieldInfo[] getCMRFieldInfo() - { - if ( cmrFieldInfo == null ) { - try { - initCMRFieldStuff(); - } catch ( Exception ex ) { - DOLUtils.getDefaultLogger().log(Level.SEVERE, "enterprise.deployment.backend.invalidDescriptorMappingFailure", - new Object[] {ex.toString()}); - throw new DeploymentException(ex); - } - } - return cmrFieldInfo; - } - - /** - * Return the CMRFieldInfo object for the given CMR field - */ - public CMRFieldInfo getCMRFieldInfoByName(String fieldName) - { - CMRFieldInfo[] cmrf = this.getCMRFieldInfo(); - for ( int i=0; i0; i-- ) { - for ( int j=0; j 0 ) { - CMRFieldInfo tmp = cmrFieldInfo[j]; - cmrFieldInfo[j] = cmrFieldInfo[j+1]; - cmrFieldInfo[j+1] = tmp; - } - } - } - } - - public void clearCMPFields() { - this.cmpFields.clear(); - setCMPFields(this.cmpFields); - } - - public void addCMPField(String field) { - addCMPField(new FieldDescriptor(field)); - } - - public void addCMPField(FieldDescriptor fieldDesc) { - this.cmpFields.add(fieldDesc); - setCMPFields(this.cmpFields); - } - - public void removeCMPField(String field) { - removeCMPField(new FieldDescriptor(field)); - } - - public void removeCMPField(FieldDescriptor fieldDesc) { - this.cmpFields.remove(fieldDesc); - setCMPFields(this.cmpFields); - } - - /** - * Set the FieldDescriptor objects that the EJB container will persist - * for this bean. - */ - public void setCMPFields(Set cmpFields) { - this.cmpFields = cmpFields; - persFieldInfo = null; - fieldInfoInitialized = false; - - } - - /** - * Has the supplied field object been deemed persistent. - */ - public boolean isCMPField(String field) { - return this.getCMPFields().contains(new FieldDescriptor(field)); - } - - - /** - * Return the Set of fields deemed persistent. - * The elements of this Set are FieldDescriptor objects. - * This Set should be modified by calling addCMPField, removeCMPField - */ - public Set getCMPFields() { - return this.cmpFields; - } - - /** - public void clearPkeyFields() { - this.pkeyFields.clear(); - setPkeyFields(this.pkeyFields); - } - - public void addPkeyField(String field) { - addPkeyField(new FieldDescriptor(field)); - } - - public void addPkeyField(FieldDescriptor fieldDesc) { - this.pkeyFields.add(fieldDesc); - setPkeyFields(this.pkeyFields); - } - - public void removePkeyField(String field) { - removePkeyField(new FieldDescriptor(field)); - } - - public void removePkeyField(FieldDescriptor fieldDesc) { - this.pkeyFields.remove(fieldDesc); - setPkeyFields(this.pkeyFields); - } - **/ - - /** - * Set the FieldDescriptor objects for primary key fields - * for this bean. - */ - public void setPkeyFields(Set pkeyFields) { - this.pkeyFields = pkeyFields; - fieldInfoInitialized = false; - persFieldInfo = null; - pkeyStuffInitialized = false; - - } - - /** - * Return the Set of primary key fields. - * The elements of this Set are FieldDescriptor objects. - * This Set can be modified by calling addPkeyField, removePkeyField - */ - public Set getPkeyFields() { - if ( !pkeyStuffInitialized ) - initPkeyInfo(); - return pkeyFields; - } - - /** - * Is the supplied field object one of the pkey fields. - */ - public boolean isPkeyField(String field) { - return isPkeyField(new FieldDescriptor(field)); - } - - public boolean isPkeyField(FieldDescriptor fieldDesc) { - return this.getPkeyFields().contains(fieldDesc); - } - - /** - * Initialize pkeyFields, pkeyIsOneField, primaryKeyClassName - * Must be called after this PersistenceDescriptor has been attached - * to the Ejb/JoinDescriptor which has been - * attached to the EjbBundleDescriptor. - */ - private void initPkeyInfo() - { - try { - pkeyIsOneField = false; - pkeyFieldSpecified = true; - primaryKeyClassName = parentDesc.getPrimaryKeyClassName(); - - FieldDescriptor fd = parentDesc.getPrimaryKeyFieldDesc(); - if ( pkeyFields == null || pkeyFields.size() == 0 ) { - pkeyFields = new HashSet(); - - if ( fd != null ) // primkey-field was set - pkeyFields.add(fd); - - else if (!primaryKeyClassName.equals("java.lang.Object")) { - // get fields of primaryKeyClass - primaryKeyClass = getClass(primaryKeyClassName); - Field[] fields = primaryKeyClass.getFields(); - pkeyFieldsAllPrimitive = true; - for ( int i=0; i0; i-- ) { - for ( int j=0; j 0 ) { - PersistentFieldInfo tmp = persFieldInfo[j]; - persFieldInfo[j] = persFieldInfo[j+1]; - persFieldInfo[j+1] = tmp; - } - } - } - - // Initialize pkeyFieldInfo[] and persNoPkeyFieldInfo[] - // They contain the same PersistentFieldInfo objects as persFieldInfo. - pkeyFieldInfo = new PersistentFieldInfo[pkeyFields.size()]; - if ( pkeyFieldSpecified ) { - - // check if PK class has public non-persistent fields - StringBuilder nonPersFieldsInPK = new StringBuilder(); - for ( Iterator it=pkeyFields.iterator(); it.hasNext(); ) { - FieldDescriptor fd = (FieldDescriptor)it.next(); - boolean isPersistent = false; - for ( int i=0; i XML element. - * - * @author Sanjeev Krishnan - */ - -public final class QueryDescriptor extends Descriptor { - - // For EJB2.0: the query is either a string in EJB-QL or is empty. - // For EJB1.1: the query empty (only sql is available) - private String query; - - // SQL query corresponding to EJB-QL or English - private String sql; - - private MethodDescriptor methodDescriptor; - private transient Method method; - - - // Deployment information used to specify whether ejbs - // returned by a select query should be materialized as - // EJBLocalObject or EJBObject. This property is optional - // and is only applicable for ejbSelect methods that - // select ejbs. - - private static final int NO_RETURN_TYPE_MAPPING = 0; - private static final int RETURN_LOCAL_TYPES = 1; - private static final int RETURN_REMOTE_TYPES = 2; - - private int returnTypeMapping; - - // Create logger object per Java SDK 1.4 to log messages - // introduced Santanu De, Sun Microsystems, March 2002 - - static Logger _logger = DOLUtils.getDefaultLogger(); - - public QueryDescriptor() - { - this.query = null; - this.sql = null; - this.returnTypeMapping = NO_RETURN_TYPE_MAPPING; - } - - public QueryDescriptor(QueryDescriptor otherQuery, Method m) { - this.query = otherQuery.query; - this.sql = otherQuery.sql; - this.method = m; - this.returnTypeMapping = otherQuery.returnTypeMapping; - } - -/** - public void setQueryMethod(MethodDescriptor md) - { - this.methodDescriptor = md; - } - - public MethodDescriptor getQueryMethod() - { - return methodDescriptor; - } -**/ - - public void setQueryMethod(Method m) - { - this.method = m; - } - - public Method getQueryMethod() - { - return method; - } - - public void setQueryMethodDescriptor(MethodDescriptor m) { - methodDescriptor = m; - } - - public MethodDescriptor getQueryMethodDescriptor() { - return methodDescriptor; - } - - public boolean getIsEjbQl() - { - return (query != null); - } - - /** - * Set the EJB-QL query (ejb-ql XML element). If query parameter - * is null, or has no content, getIsEjbQl will return false. - * Otherwise, getIsEjbQl will return true. - */ - public void setQuery(String query) - { - _logger.log(Level.FINE,"input query = '" + query + "'"); - - String newQuery = (query != null) ? query.trim() : null; - if( (newQuery != null) && newQuery.equals("") ) { - newQuery = null; - } - if( newQuery == null ) { - _logger.log(Level.FINE,"query has no content -- setting to NULL"); - } else { - _logger.log(Level.FINE,"setting query to '" + newQuery + "'"); - } - this.query = newQuery; - } - - /** - * Get the EJB-QL query (ejb-ql XML element) - */ - public String getQuery() - { - return query; - } - - public boolean getHasSQL() { - return (this.sql != null); - } - - public void setSQL(String sql) - { - this.sql = sql; - } - - public String getSQL() - { - return sql; - } - - - // Returns true if no return type mapping has been specified - public boolean getHasNoReturnTypeMapping() { - return (returnTypeMapping == NO_RETURN_TYPE_MAPPING); - } - - // Returns true only if a local return type has been specified. - public boolean getHasLocalReturnTypeMapping() { - return (returnTypeMapping == RETURN_LOCAL_TYPES); - } - - // Returns true only if a remote return type has been specified. - public boolean getHasRemoteReturnTypeMapping() { - return (returnTypeMapping == RETURN_REMOTE_TYPES); - } - - public void setHasNoReturnTypeMapping() { - returnTypeMapping = NO_RETURN_TYPE_MAPPING; - } - - public void setHasLocalReturnTypeMapping() { - returnTypeMapping = RETURN_LOCAL_TYPES; - } - - public void setHasRemoteReturnTypeMapping() { - returnTypeMapping = RETURN_REMOTE_TYPES; - } - - public int getReturnTypeMapping() { - return returnTypeMapping; - } - - public void print(StringBuilder toStringBuilder) { - toStringBuilder.append("Query "); - if(getQueryMethodDescriptor() != null) - getQueryMethodDescriptor().print(toStringBuilder); - toStringBuilder.append("\n"); - if (getHasSQL()) { - toStringBuilder.append("SQL : ").append(getSQL()); - return; - } - if (getIsEjbQl()) { - toStringBuilder.append("EJB QL: ").append(query); - return; - } - toStringBuilder.append(" No query associated"); - } - -} - diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/RelationRoleDescriptor.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/RelationRoleDescriptor.java deleted file mode 100644 index 92920c95df5..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/RelationRoleDescriptor.java +++ /dev/null @@ -1,242 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.descriptor; - -import org.glassfish.deployment.common.Descriptor; - - -/** - * This class contains information about one of the partners in - * a relationship between EJB2.0 CMP EntityBeans. - * It represents information in the XML element. - * - * @author Sanjeev Krishnan - */ - -public final class RelationRoleDescriptor extends Descriptor { - - // Bean for owner (role-source) of this side of - // the relationship - private EjbCMPEntityDescriptor owner; - private PersistenceDescriptor pers; - private RelationshipDescriptor relnDesc; - - private String roleSourceDescription; - private String cmrField; // CMR field name in owner's class - private String cmrFieldDescription; - private String cmrFieldType; // Java type of cmr-field - private boolean isMany; - private RelationRoleDescriptor partner; - private boolean cascadeDelete; - private CMRFieldInfo cmrFieldInfo; - private String relationRoleName; - - public RelationRoleDescriptor() {} - - /** - * May return null if the role-source for this relationship role - * is a remote-ejb-name - */ - public PersistenceDescriptor getPersistenceDescriptor() - { - return pers; - } - - /* - * Can be set to null if there is no associated persistence descriptor. - */ - public void setPersistenceDescriptor(PersistenceDescriptor newPers) - { - if( this.pers != null ) { - // first invalidate cmr stuff in original persistence descriptor - this.pers.invalidate(); - } - - this.pers = newPers; - if( newPers != null ) { - this.owner = (EjbCMPEntityDescriptor)newPers.getParentDescriptor(); - } - invalidateCMRFieldStuff(); - } - - private void invalidateCMRFieldStuff() { - cmrFieldInfo = null; - if( pers != null ) { - pers.invalidate(); - } - } - - public RelationshipDescriptor getRelationshipDescriptor() - { - return relnDesc; - } - - public void setRelationshipDescriptor(RelationshipDescriptor relnDesc) - { - this.relnDesc = relnDesc; - } - - public void setOwner(EjbCMPEntityDescriptor owner) - { - this.owner = owner; - invalidateCMRFieldStuff(); - } - - public EjbCMPEntityDescriptor getOwner() - { - return owner; - } - - /** - * The other role in the relationship I participate in. - */ - public RelationRoleDescriptor getPartner() - { - return partner; - } - public void setPartner(RelationRoleDescriptor partner) - { - this.partner = partner; - } - - public String getRelationRoleName() - { - return relationRoleName; - } - public void setRelationRoleName(String relationRoleName) - { - this.relationRoleName = relationRoleName; - } - - public void setRoleSourceDescription(String roleSourceDescription) - { - this.roleSourceDescription = roleSourceDescription; - } - public String getRoleSourceDescription() - { - if ( roleSourceDescription == null ) - roleSourceDescription = ""; - return roleSourceDescription; - } - - /** - * Set to NULL to indicate no cmr field - */ - public void setCMRField(String cmrField) - { - this.cmrField = cmrField; - invalidateCMRFieldStuff(); - } - public String getCMRField() - { - return cmrField; - } - - public void setCMRFieldDescription(String cmrFieldDescription) - { - this.cmrFieldDescription = cmrFieldDescription; - } - public String getCMRFieldDescription() - { - if ( cmrFieldDescription == null ) - cmrFieldDescription = ""; - return cmrFieldDescription; - } - - /** - * Only applicable when partner is collection-valued. - * Set to NULL to indicate no field type is not applicable. - */ - public void setCMRFieldType(String newCmrFieldType) - { - if( newCmrFieldType == null ) { - this.cmrFieldType = null; - invalidateCMRFieldStuff(); - } else if ( newCmrFieldType.equals("java.util.Collection") - || newCmrFieldType.equals("java.util.Set") ) { - this.cmrFieldType = newCmrFieldType; - invalidateCMRFieldStuff(); - } else { - throw new IllegalArgumentException - ("cmr-field-type is " + newCmrFieldType + - ", must be java.util.Collection or java.util.Set"); - } - } - public String getCMRFieldType() - { - return cmrFieldType; - } - - public void setIsMany(boolean isMany) - { - this.isMany = isMany; - invalidateCMRFieldStuff(); - } - public boolean getIsMany() - { - return isMany; - } - - public void setCascadeDelete(boolean cascadeDelete) - { - this.cascadeDelete = cascadeDelete; - } - public boolean getCascadeDelete() - { - return cascadeDelete; - } - - public void setCMRFieldInfo(CMRFieldInfo cmrFieldInfo) - { - this.cmrFieldInfo = cmrFieldInfo; - } - public CMRFieldInfo getCMRFieldInfo() - { - if ( cmrFieldInfo == null && pers != null ) - pers.getCMRFieldInfo(); // tell pers to initialize its CMRFieldInfos - return cmrFieldInfo; - } - - public String composeReverseCmrFieldName() { - return "_" + getPartner().getOwner().getName() + "_" + getPartner().getCMRField(); - } -} - diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/RelationshipDescriptor.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/RelationshipDescriptor.java deleted file mode 100644 index 74044fbdadf..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/RelationshipDescriptor.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package org.glassfish.ejb.deployment.descriptor; - -import org.glassfish.deployment.common.Descriptor; - - -/** - * This class contains information about relationships between - * EJB2.0 CMP EntityBeans. - * It represents information in the XML element. - * - * @author Sanjeev Krishnan - */ - -public final class RelationshipDescriptor extends Descriptor { - - private RelationRoleDescriptor source; // descriptor for source role - private RelationRoleDescriptor sink; // descriptor for sink role - - private boolean isBidirectional = true; - - public boolean isOneOne() { - return (!source.getIsMany() && !sink.getIsMany()); - } - - public boolean isOneMany() { - return (!source.getIsMany() && sink.getIsMany()); - } - - public boolean isManyOne() { - return (source.getIsMany() && !sink.getIsMany()); - } - - public boolean isManyMany() { - return (source.getIsMany() && sink.getIsMany()); - } - - /** - * Checks whether an EjbCMPEntityDescriptor - * is a participant in this relationship. - */ - public boolean hasParticipant(Descriptor desc) { - return ( (source.getOwner() == desc) || (sink.getOwner() == desc) ); - } - - public RelationRoleDescriptor getSource() - { - return source; - } - public void setSource(RelationRoleDescriptor source) - { - this.source = source; - } - - public void setSink(RelationRoleDescriptor sink) - { - this.sink = sink; - } - public RelationRoleDescriptor getSink() - { - return sink; - } - - public void setIsBidirectional(boolean isBidirectional) - { - this.isBidirectional = isBidirectional; - } - public boolean getIsBidirectional() - { - return isBidirectional; - } - - @Override - public void print(StringBuilder toStringBuilder) { - toStringBuilder.append("From EJB ").append(getSource().getName() - ).append(" cmr field : ").append(getSource().getCMRField() - ).append("(").append(getSource().getCMRFieldType()).append(") to EJB ").append(getSink().getName() - ).append(" isMany ").append(getSource().getIsMany() - ).append(" cascade-delete ").append(getSource().getCascadeDelete()); - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/runtime/IASEjbCMPFinder.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/runtime/IASEjbCMPFinder.java deleted file mode 100644 index f80818c10e0..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/runtime/IASEjbCMPFinder.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.descriptor.runtime; - -import org.glassfish.deployment.common.Descriptor; - -public class IASEjbCMPFinder extends Descriptor { - - private String method_name = null; - private String query_params = null; - private String query_filter = null; - private String query_variables = null; - private String query_ordering = null; - - public IASEjbCMPFinder () { - } - - public IASEjbCMPFinder(String method_name, String params, String filter) { - this.method_name = method_name; - this.query_params = params; - this.query_filter = filter; - this.query_variables = ""; - } - - public IASEjbCMPFinder(String method_name, String params, String filter, String variables) { - this.method_name = method_name; - this.query_params = params; - this.query_filter = filter; - this.query_variables = variables; - } - - public String getMethodName() { - return method_name; - } - - public String getQueryParameterDeclaration() { - return query_params; - } - - public String getQueryFilter() { - return query_filter; - } - - public String getQueryVariables() { - return query_variables; - } - - public void setMethodName(String name) { - method_name = name; - } - - public void setQueryParameterDeclaration(String qry) { - query_params = qry; - } - - public void setQueryVariables(String qryvariables) { - query_variables = qryvariables; - } - - public void setQueryFilter(String qryfilter) { - query_filter = qryfilter; - } - - public String getQueryOrdering() { - return query_ordering; - } - - public void setQueryOrdering(String qryordering) { - query_ordering = qryordering; - } -} - diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/runtime/IASPersistenceManagerDescriptor.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/runtime/IASPersistenceManagerDescriptor.java deleted file mode 100644 index 9809d95fe94..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/descriptor/runtime/IASPersistenceManagerDescriptor.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.descriptor.runtime; - -import org.glassfish.deployment.common.Descriptor; - - -/** - * This class contains information about the persistent state - * (abstract persistence schema) - * for EJB2.0 CMP EntityBeans . - * - * @author Prashant Jamkhedkar - */ - -public class IASPersistenceManagerDescriptor extends Descriptor { - - public static final String PM_IDENTIFIER_DEFAULT = "SunOne"; // NOI18N - public static final String PM_VERSION_DEFAULT = "1.0"; // NOI18N - public static final String PM_CONFIG_DEFAULT = "myconfig.config"; - public static final String PM_CLASS_GENERATOR_DEFAULT = "com.sun.jdo.spi.persistence.support.ejb.ejbc.JDOCodeGenerator"; // NOI18N - public static final String PM_CLASS_GENERATOR_DEFAULT_OLD = "com.iplanet.ias.persistence.internal.ejb.ejbc.JDOCodeGenerator"; //NOI18N - public static final String PM_MAPPING_FACTORY_DEFAULT = "com.sun.ffj.MyFactory"; // NOI18N - private String pm_identifier = null; - private String pm_version = null; - private String pm_config = null; - private String pm_class_generator = null; - private String pm_mapping_factory = null; - - public IASPersistenceManagerDescriptor() { - pm_identifier = PM_IDENTIFIER_DEFAULT; - pm_version = PM_VERSION_DEFAULT; - pm_config = PM_CONFIG_DEFAULT; - pm_class_generator = PM_CLASS_GENERATOR_DEFAULT; - pm_mapping_factory = PM_MAPPING_FACTORY_DEFAULT; - } - - /** - * The copy constructor. - */ - public IASPersistenceManagerDescriptor(String id, String ver, String conf, String generator, String factory) { - pm_identifier = id; - pm_version = ver; - pm_config = conf; - pm_class_generator = generator; - pm_mapping_factory = factory; - } - - public String getPersistenceManagerIdentifier() { - return pm_identifier; - } - - public void setPersistenceManagerIdentifier(String pm_identifier) { - if (pm_identifier == null) { - this.pm_identifier = PM_IDENTIFIER_DEFAULT; - } else { - this.pm_identifier = pm_identifier; - } - } - - public String getPersistenceManagerVersion() { - return pm_version; - } - - public void setPersistenceManagerVersion(String pm_version) { - if (pm_version == null) { - this.pm_version = PM_VERSION_DEFAULT; - } else { - this.pm_version = pm_version; - } - } - - public String getPersistenceManagerConfig () { - return pm_config; - } - - public void setPersistenceManagerConfig(String pm_config) { - if (pm_config == null) { - this.pm_config = PM_CONFIG_DEFAULT; - } else { - this.pm_config = pm_config; - } - } - - public String getPersistenceManagerClassGenerator() { - return pm_class_generator; - } - - public void setPersistenceManagerClassGenerator(String pm_class_generator) { - if (pm_class_generator == null) { - this.pm_class_generator = PM_CLASS_GENERATOR_DEFAULT; - } else { - this.pm_class_generator = pm_class_generator; - } - } - - public String getPersistenceManagerMappingFactory() { - return pm_mapping_factory; - } - - public void setPersistenceManagerMappingFactory(String pm_mapping_factory) { - if (pm_mapping_factory == null) { - this.pm_mapping_factory = PM_MAPPING_FACTORY_DEFAULT; - } else { - this.pm_mapping_factory = pm_mapping_factory; - } - } - - /** - * Called from EjbCMPEntityDescriptor - * when some classes in this object are updated. - */ - public boolean classesChanged() { - return false; - } - -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/CmpFieldNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/CmpFieldNode.java deleted file mode 100644 index 292baaa5112..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/CmpFieldNode.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.node; - -import java.util.Map; - -import com.sun.enterprise.deployment.node.DeploymentDescriptorNode; -import org.glassfish.ejb.deployment.EjbTagNames; -import org.glassfish.ejb.deployment.descriptor.FieldDescriptor; -import org.w3c.dom.Node; - -/** - * This node is responsible for handling all sub-element of cmp-field tag - * - * @author Jerome Dochez - * @version - */ -public class CmpFieldNode extends DeploymentDescriptorNode { - - private FieldDescriptor fieldDescriptor; - - @Override - public FieldDescriptor getDescriptor() { - if (fieldDescriptor == null) fieldDescriptor = new FieldDescriptor(); - return fieldDescriptor; - } - - @Override - protected Map getDispatchTable() { - Map table = super.getDispatchTable(); - table.put(EjbTagNames.FIELD_NAME, "setName"); - return table; - } - - @Override - public Node writeDescriptor(Node parent, String nodeName, FieldDescriptor descriptor) { - Node cmpField = appendChild(parent, nodeName); - writeLocalizedDescriptions(cmpField, descriptor); - appendTextChild(cmpField, EjbTagNames.FIELD_NAME, descriptor.getName()); - return cmpField; - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java index 2bd54bffd78..a6ac41f875d 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java @@ -54,10 +54,8 @@ import org.glassfish.ejb.deployment.descriptor.EjbApplicationExceptionInfo; import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; import org.glassfish.ejb.deployment.descriptor.EjbDescriptor; -import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor; import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor; import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor; -import org.glassfish.ejb.deployment.descriptor.RelationshipDescriptor; import org.glassfish.ejb.deployment.node.runtime.EjbBundleRuntimeNode; import org.glassfish.ejb.deployment.node.runtime.GFEjbBundleRuntimeNode; import org.glassfish.security.common.Role; @@ -142,13 +140,11 @@ public EjbBundleNode() { super(); // register sub XMLNodes registerElementHandler(new XMLElement(EjbTagNames.SESSION), EjbSessionNode.class); - registerElementHandler(new XMLElement(EjbTagNames.ENTITY), EjbEntityNode.class); registerElementHandler(new XMLElement(EjbTagNames.MESSAGE_DRIVEN), MessageDrivenBeanNode.class); registerElementHandler(new XMLElement(EjbTagNames.METHOD_PERMISSION), MethodPermissionNode.class); registerElementHandler(new XMLElement(TagNames.ROLE), SecurityRoleNode.class, "addRole"); registerElementHandler(new XMLElement(EjbTagNames.CONTAINER_TRANSACTION), ContainerTransactionNode.class); registerElementHandler(new XMLElement(EjbTagNames.EXCLUDE_LIST), ExcludeListNode.class); - registerElementHandler(new XMLElement(EjbTagNames.RELATIONSHIPS), RelationshipsNode.class); registerElementHandler(new XMLElement(TagNames.MESSAGE_DESTINATION), MessageDestinationNode.class, "addMessageDestination"); registerElementHandler(new XMLElement(EjbTagNames.APPLICATION_EXCEPTION), EjbApplicationExceptionNode.class, "addApplicationException"); registerElementHandler(new XMLElement(EjbTagNames.INTERCEPTOR), EjbInterceptorNode.class, "addInterceptor"); @@ -162,8 +158,6 @@ public EjbBundleNode() { public void addDescriptor(Object newDescriptor) { if (newDescriptor instanceof EjbDescriptor) { descriptor.addEjb((EjbDescriptor) newDescriptor); - } else if (newDescriptor instanceof RelationshipDescriptor) { - descriptor.addRelationship((RelationshipDescriptor) newDescriptor); } else if (newDescriptor instanceof MethodPermissionDescriptor) { MethodPermissionDescriptor nd = (MethodPermissionDescriptor) newDescriptor; MethodDescriptor[] array = nd.getMethods(); @@ -223,9 +217,6 @@ public Node writeDescriptor(Node parent, EjbBundleDescriptorImpl ejbDesc) { if (EjbSessionDescriptor.TYPE.equals(ejb.getType())) { EjbSessionNode subNode = new EjbSessionNode(); subNode.writeDescriptor(entrepriseBeansNode, EjbTagNames.SESSION, (EjbSessionDescriptor) ejb); - } else if (EjbEntityDescriptor.TYPE.equals(ejb.getType())) { - EjbEntityNode subNode = new EjbEntityNode(); - subNode.writeDescriptor(entrepriseBeansNode, EjbTagNames.ENTITY, (EjbEntityDescriptor) ejb); } else if (EjbMessageBeanDescriptor.TYPE.equals(ejb.getType())) { MessageDrivenBeanNode subNode = new MessageDrivenBeanNode(); subNode.writeDescriptor(entrepriseBeansNode, EjbTagNames.MESSAGE_DRIVEN, (EjbMessageBeanDescriptor) ejb); @@ -242,11 +233,6 @@ public Node writeDescriptor(Node parent, EjbBundleDescriptorImpl ejbDesc) { } } - // relationships* - if (ejbDesc.hasRelationships()) { - (new RelationshipsNode()).writeDescriptor(jarNode, EjbTagNames.RELATIONSHIPS, ejbDesc); - } - // assembly-descriptor writeAssemblyDescriptor(jarNode, ejbDesc); diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbEntityNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbEntityNode.java deleted file mode 100644 index 62189fbdb97..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbEntityNode.java +++ /dev/null @@ -1,221 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.node; - -import java.util.Iterator; -import java.util.Map; -import java.util.Set; - -import com.sun.enterprise.deployment.MethodDescriptor; -import com.sun.enterprise.deployment.node.XMLElement; -import com.sun.enterprise.deployment.xml.TagNames; -import org.glassfish.deployment.common.JavaEEResourceType; -import org.glassfish.ejb.deployment.EjbTagNames; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.EjbDescriptor; -import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.FieldDescriptor; -import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.QueryDescriptor; -import org.w3c.dom.Node; - -/** - * This class handles all information pertinent to CMP and BMP entity beans - * - * @author Jerome Dochez - * @version - */ -public class EjbEntityNode extends InterfaceBasedEjbNode { - - private EjbEntityDescriptor descriptor; - - public EjbEntityNode() { - super(); - registerElementHandler(new XMLElement(EjbTagNames.CMP_FIELD), CmpFieldNode.class); - registerElementHandler(new XMLElement(EjbTagNames.QUERY), QueryNode.class); - } - - @Override - public EjbEntityDescriptor getEjbDescriptor() { - if (descriptor == null) { - descriptor = new EjbEntityDescriptor(); - descriptor.setEjbBundleDescriptor((EjbBundleDescriptorImpl) getParentNode().getDescriptor()); - } - return descriptor; - } - - /** - * @return an instance of an EjbCMPEntityDescriptor initialized with all the - * fields already parsed. - */ - private EjbCMPEntityDescriptor getCMPEntityDescriptor() { - EjbDescriptor current = getEjbDescriptor(); - if (!(current instanceof EjbCMPEntityDescriptor)) { - descriptor = new IASEjbCMPEntityDescriptor(current); - } - return (EjbCMPEntityDescriptor) descriptor; - } - - @Override - public void addDescriptor(Object newDescriptor) { - if (newDescriptor instanceof FieldDescriptor) { - getCMPEntityDescriptor().getPersistenceDescriptor().addCMPField((FieldDescriptor) newDescriptor); - } else if (newDescriptor instanceof QueryDescriptor) { - QueryDescriptor newQuery = (QueryDescriptor) newDescriptor; - getCMPEntityDescriptor().getPersistenceDescriptor().setQueryFor( - newQuery.getQueryMethodDescriptor(), newQuery); - } else { - super.addDescriptor(newDescriptor); - } - } - - @Override - protected Map getDispatchTable() { - // no need to be synchronized for now - Map table = super.getDispatchTable(); - table.put(EjbTagNames.PERSISTENCE_TYPE, "setPersistenceType"); - table.put(EjbTagNames.PRIMARY_KEY_CLASS, "setPrimaryKeyClassName"); - table.put(EjbTagNames.REENTRANT, "setReentrant"); - return table; - } - - @Override - public void setElementValue(XMLElement element, String value) { - if (EjbTagNames.CMP_VERSION.equals(element.getQName())) { - if (EjbTagNames.CMP_1_VERSION.equals(value)) { - getCMPEntityDescriptor().setCMPVersion(EjbCMPEntityDescriptor.CMP_1_1); - } else if (EjbTagNames.CMP_2_VERSION.equals(value)) { - getCMPEntityDescriptor().setCMPVersion(EjbCMPEntityDescriptor.CMP_2_x); - } - } else if (EjbTagNames.ABSTRACT_SCHEMA_NAME.equals(element.getQName())) { - getCMPEntityDescriptor().setAbstractSchemaName(value); - } else if (EjbTagNames.PRIMARY_KEY_FIELD.equals(element.getQName())) { - getCMPEntityDescriptor().setPrimaryKeyFieldDesc(new FieldDescriptor(value)); - } else { - super.setElementValue(element, value); - } - } - - @Override - public Node writeDescriptor(Node parent, String nodeName, EjbEntityDescriptor ejbDesc) { - Node ejbNode = super.writeDescriptor(parent, nodeName, ejbDesc); - writeDisplayableComponentInfo(ejbNode, ejbDesc); - writeCommonHeaderEjbDescriptor(ejbNode, ejbDesc); - appendTextChild(ejbNode, EjbTagNames.PERSISTENCE_TYPE, ejbDesc.getPersistenceType()); - appendTextChild(ejbNode, EjbTagNames.PRIMARY_KEY_CLASS, ejbDesc.getPrimaryKeyClassName()); - appendTextChild(ejbNode, EjbTagNames.REENTRANT, ejbDesc.getReentrant()); - - // cmp entity beans related tags - if (ejbDesc instanceof EjbCMPEntityDescriptor) { - EjbCMPEntityDescriptor cmpDesc = (EjbCMPEntityDescriptor) ejbDesc; - if (cmpDesc.getCMPVersion()==EjbCMPEntityDescriptor.CMP_1_1) { - appendTextChild(ejbNode, EjbTagNames.CMP_VERSION, EjbTagNames.CMP_1_VERSION); - } else { - appendTextChild(ejbNode, EjbTagNames.CMP_VERSION, EjbTagNames.CMP_2_VERSION); - } - - appendTextChild(ejbNode, EjbTagNames.ABSTRACT_SCHEMA_NAME, cmpDesc.getAbstractSchemaName()); - // cmp-field* - CmpFieldNode cmpNode = new CmpFieldNode(); - for (Iterator fields = cmpDesc.getPersistenceDescriptor().getCMPFields().iterator();fields.hasNext();) { - FieldDescriptor aField = (FieldDescriptor) fields.next(); - cmpNode.writeDescriptor(ejbNode, EjbTagNames.CMP_FIELD, aField); - } - if ( cmpDesc.getPrimaryKeyFieldDesc()!=null) { - appendTextChild(ejbNode, EjbTagNames.PRIMARY_KEY_FIELD, cmpDesc.getPrimaryKeyFieldDesc().getName()); - } - } - - // env-entry* - writeEnvEntryDescriptors(ejbNode, ejbDesc.getEnvironmentProperties().iterator()); - - // ejb-ref * and ejb-local-ref* - writeEjbReferenceDescriptors(ejbNode, ejbDesc.getEjbReferenceDescriptors().iterator()); - - // service-ref* - writeServiceReferenceDescriptors(ejbNode, ejbDesc.getServiceReferenceDescriptors().iterator()); - - // resource-ref* - writeResourceRefDescriptors(ejbNode, ejbDesc.getResourceReferenceDescriptors().iterator()); - - // resource-env-ref* - writeResourceEnvRefDescriptors(ejbNode, ejbDesc.getResourceEnvReferenceDescriptors().iterator()); - - // message-destination-ref* - writeMessageDestinationRefDescriptors(ejbNode, ejbDesc.getMessageDestinationReferenceDescriptors().iterator()); - - // persistence-context-ref* - writeEntityManagerReferenceDescriptors(ejbNode, ejbDesc.getEntityManagerReferenceDescriptors().iterator()); - - // persistence-unit-ref* - writeEntityManagerFactoryReferenceDescriptors(ejbNode, ejbDesc.getEntityManagerFactoryReferenceDescriptors().iterator()); - - // post-construct - writeLifeCycleCallbackDescriptors(ejbNode, TagNames.POST_CONSTRUCT, ejbDesc.getPostConstructDescriptors()); - - // pre-destroy - writeLifeCycleCallbackDescriptors(ejbNode, TagNames.PRE_DESTROY, ejbDesc.getPreDestroyDescriptors()); - - // all descriptors (includes DSD, MSD, JMSCFD, JMSDD,AOD, CFD)* - writeResourceDescriptors(ejbNode, ejbDesc.getAllResourcesDescriptors().iterator()); - - // security-role-ref* - writeRoleReferenceDescriptors(ejbNode, ejbDesc.getRoleReferences().iterator()); - - // security-identity - writeSecurityIdentityDescriptor(ejbNode, ejbDesc); - - // query - if (ejbDesc instanceof EjbCMPEntityDescriptor) { - EjbCMPEntityDescriptor cmpDesc = (EjbCMPEntityDescriptor) ejbDesc; - Set queriedMethods = cmpDesc.getPersistenceDescriptor().getQueriedMethods(); - if (queriedMethods.size()>0) { - QueryNode queryNode = new QueryNode(); - for (Iterator e=queriedMethods.iterator();e.hasNext();) { - queryNode.writeDescriptor(ejbNode, EjbTagNames.QUERY, - cmpDesc.getPersistenceDescriptor().getQueryFor((MethodDescriptor) e.next())); - } - } - } - return ejbNode; - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbRelationNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbRelationNode.java deleted file mode 100644 index ec9b3bb4972..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbRelationNode.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.node; - -import java.util.Map; - -import com.sun.enterprise.deployment.node.DeploymentDescriptorNode; -import com.sun.enterprise.deployment.node.XMLElement; -import org.glassfish.ejb.deployment.EjbTagNames; -import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor; -import org.glassfish.ejb.deployment.descriptor.RelationshipDescriptor; -import org.w3c.dom.Node; - -/** - * - * @author dochez - * @version - */ -public class EjbRelationNode extends DeploymentDescriptorNode { - - private RelationRoleDescriptor source; - private RelationRoleDescriptor sink; - private RelationshipDescriptor descriptor; - - public EjbRelationNode() { - super(); - registerElementHandler(new XMLElement(EjbTagNames.EJB_RELATIONSHIP_ROLE), - EjbRelationshipRoleNode.class); - } - - @Override - public RelationshipDescriptor getDescriptor() { - if (descriptor==null) descriptor = new RelationshipDescriptor(); - return descriptor; - } - - @Override - public void addDescriptor(Object newDescriptor) { - if (newDescriptor instanceof RelationRoleDescriptor) { - if (source==null) { - source = (RelationRoleDescriptor) newDescriptor; - } else { - sink = (RelationRoleDescriptor) newDescriptor; - - descriptor.setSource(source); - source.setPartner(sink); - source.setRelationshipDescriptor(descriptor); - descriptor.setSink(sink); - sink.setPartner(source); - sink.setRelationshipDescriptor(descriptor); - - if ( source.getCMRField() != null && sink.getCMRField() != null ) - descriptor.setIsBidirectional(true); - else - descriptor.setIsBidirectional(false); - } - } - } - - @Override - protected Map getDispatchTable() { - // no need to be synchronized for now - Map table = super.getDispatchTable(); - table.put(EjbTagNames.EJB_RELATION_NAME, "setName"); - return table; - } - - @Override - public Node writeDescriptor(Node parent, String nodeName, RelationshipDescriptor descriptor) { - Node ejbRelationNode = super.writeDescriptor(parent, nodeName, descriptor); - writeLocalizedDescriptions(ejbRelationNode, descriptor); - appendTextChild(ejbRelationNode, EjbTagNames.EJB_RELATION_NAME, descriptor.getName()); - EjbRelationshipRoleNode roleNode = new EjbRelationshipRoleNode(); - roleNode.writeDescriptor(ejbRelationNode, EjbTagNames.EJB_RELATIONSHIP_ROLE, descriptor.getSource()); - roleNode.writeDescriptor(ejbRelationNode, EjbTagNames.EJB_RELATIONSHIP_ROLE, descriptor.getSink()); - return ejbRelationNode; - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbRelationshipRoleNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbRelationshipRoleNode.java deleted file mode 100644 index 710d02bd197..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbRelationshipRoleNode.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.node; - -import java.util.HashMap; -import java.util.Map; - -import com.sun.enterprise.deployment.EjbBundleDescriptor; -import com.sun.enterprise.deployment.node.ConfigurableNode; -import com.sun.enterprise.deployment.node.DeploymentDescriptorNode; -import com.sun.enterprise.deployment.node.LocalizedInfoNode; -import com.sun.enterprise.deployment.node.XMLElement; -import com.sun.enterprise.deployment.node.XMLNode; -import com.sun.enterprise.deployment.xml.TagNames; -import org.glassfish.ejb.deployment.EjbTagNames; -import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor; -import org.w3c.dom.Node; - -/** - * This class is responsible for handling the ejb-relationship-role xml elements - * - * @author Jerome Dochez - * @version - */ -public class EjbRelationshipRoleNode extends DeploymentDescriptorNode { - - private RelationRoleDescriptor descriptor; - - public EjbRelationshipRoleNode() { - super(); - registerElementHandler(new XMLElement(TagNames.DESCRIPTION), LocalizedInfoNode.class); - } - - @Override - public XMLNode getHandlerFor(XMLElement element) { - if (EjbTagNames.RELATIONSHIP_ROLE_SOURCE.equals(element.getQName())) { - Map dispatchTable = new HashMap(); - dispatchTable.put(EjbTagNames.DESCRIPTION, "setRoleSourceDescription"); - ConfigurableNode newNode = new ConfigurableNode(getDescriptor(), dispatchTable, element); - return newNode; - } if (EjbTagNames.CMR_FIELD.equals(element.getQName())) { - Map dispatchTable = new HashMap(); - dispatchTable.put(EjbTagNames.DESCRIPTION, "setCMRFieldDescription"); - ConfigurableNode newNode = new ConfigurableNode(getDescriptor(), dispatchTable, element); - return newNode; - } else { - return super.getHandlerFor(element); - } - } - - @Override - public boolean handlesElement(XMLElement element) { - if (EjbTagNames.RELATIONSHIP_ROLE_SOURCE.equals(element.getQName())) { - return true; - } - if (EjbTagNames.CMR_FIELD.equals(element.getQName())) { - return true; - } - return super.handlesElement(element); - } - - @Override - public RelationRoleDescriptor getDescriptor() { - if (descriptor==null) descriptor = new RelationRoleDescriptor(); - return descriptor; - } - - @Override - protected Map getDispatchTable() { - // no need to be synchronized for now - Map table = super.getDispatchTable(); - table.put(EjbTagNames.EJB_RELATIONSHIP_ROLE_NAME, "setName"); - table.put(EjbTagNames.CMR_FIELD_NAME, "setCMRField"); - table.put(EjbTagNames.CMR_FIELD_TYPE, "setCMRFieldType"); - return table; - } - - @Override - public boolean endElement(XMLElement element) { - if (EjbTagNames.CASCADE_DELETE.equals(element.getQName())) { - descriptor.setCascadeDelete(true); - } - return super.endElement(element); - } - - @Override - public void setElementValue(XMLElement element, String value) { - if (EjbTagNames.MULTIPLICITY.equals(element.getQName())) { - if ( value.equals("Many") ) - descriptor.setIsMany(true); - else if ( value.equals("One") ) - descriptor.setIsMany(false); - else if ( value.equals("many") ) // for backward compat with 1.3 FCS - descriptor.setIsMany(true); - else if ( value.equals("one") ) // for backward compat with 1.3 FCS - descriptor.setIsMany(false); - else - throw new IllegalArgumentException("Error in value of multiplicity element in EJB deployment descriptor XML: the value must be One or Many"); - } else if (EjbTagNames.EJB_NAME.equals(element.getQName())) { - // let's get our bunlde descriptor... - EjbBundleDescriptor bundleDesc = getEjbBundleDescriptor(); - EjbCMPEntityDescriptor desc = (EjbCMPEntityDescriptor)bundleDesc.getEjbByName(value); - if (desc!=null){ - descriptor.setPersistenceDescriptor(desc.getPersistenceDescriptor()); - } else { - throw new IllegalArgumentException("Cannot find ejb " + value + " in bundle for relationship " + descriptor.getName()); - } - } else super.setElementValue(element, value); - } - - private EjbBundleDescriptor getEjbBundleDescriptor() { - XMLNode parent = getParentNode(); - Object parentDesc = parent.getDescriptor(); - while (parent!=null && !(parentDesc instanceof EjbBundleDescriptor)) { - parent = parent.getParentNode(); - if (parent !=null) - parentDesc = parent.getDescriptor(); - } - if (parent!=null) { - return (EjbBundleDescriptor) parentDesc; - } else { - throw new IllegalArgumentException("Cannot find bundle descriptor"); - } - } - - @Override - public Node writeDescriptor(Node parent, String nodeName, RelationRoleDescriptor descriptor) { - Node roleNode = super.writeDescriptor(parent, nodeName, descriptor); - LocalizedInfoNode localizedNode = new LocalizedInfoNode(); - localizedNode.writeLocalizedMap(roleNode, TagNames.DESCRIPTION, descriptor.getLocalizedDescriptions()); - if (descriptor.getRelationRoleName() != null) { - appendTextChild(roleNode, EjbTagNames.EJB_RELATIONSHIP_ROLE_NAME, - descriptor.getRelationRoleName()); - } - - // multiplicity - if (descriptor.getIsMany()) { - appendTextChild(roleNode, EjbTagNames.MULTIPLICITY, "Many"); - } else { - appendTextChild(roleNode, EjbTagNames.MULTIPLICITY, "One"); - } - - // cascade-delete - if (descriptor.getCascadeDelete()) { - appendChild(roleNode, EjbTagNames.CASCADE_DELETE); - } - - Node roleSourceNode = appendChild(roleNode, EjbTagNames.RELATIONSHIP_ROLE_SOURCE); - appendTextChild(roleSourceNode, TagNames.DESCRIPTION, descriptor.getRoleSourceDescription()); - appendTextChild(roleSourceNode, EjbTagNames.EJB_NAME, descriptor.getOwner().getName()); - - // cmr-field - if (descriptor.getCMRField() != null ) { - Node cmrFieldNode = appendChild(roleNode, EjbTagNames.CMR_FIELD); - - // description - appendTextChild(cmrFieldNode, TagNames.DESCRIPTION, - descriptor.getCMRFieldDescription()); - // cmr-field-name - appendTextChild(cmrFieldNode, EjbTagNames.CMR_FIELD_NAME, - descriptor.getCMRField()); - // cmr-field-type - appendTextChild(cmrFieldNode, EjbTagNames.CMR_FIELD_TYPE, - descriptor.getCMRFieldType()); - } - return roleNode; - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/QueryNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/QueryNode.java deleted file mode 100644 index 341ceaf5edd..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/QueryNode.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.node; - -import java.util.Map; -import java.util.logging.Level; - -import com.sun.enterprise.deployment.node.DeploymentDescriptorNode; -import com.sun.enterprise.deployment.node.MethodNode; -import com.sun.enterprise.deployment.node.XMLElement; -import com.sun.enterprise.deployment.util.DOLUtils; -import org.glassfish.deployment.common.Descriptor; -import org.glassfish.ejb.deployment.EjbTagNames; -import org.glassfish.ejb.deployment.descriptor.QueryDescriptor; -import org.w3c.dom.Node; - -/** - * This class is responsible for handling the query element - * - * @author Jerome Dochez - * @version - */ -public class QueryNode extends DeploymentDescriptorNode { - - private QueryDescriptor descriptor; - - public QueryNode() { - super(); - registerElementHandler(new XMLElement(EjbTagNames.QUERY_METHOD), - MethodNode.class, "setQueryMethodDescriptor"); - } - - @Override - public QueryDescriptor getDescriptor() { - if (descriptor == null) descriptor = new QueryDescriptor(); - return descriptor; - } - - @Override - protected Map getDispatchTable() { - // no need to be synchronized for now - Map table = super.getDispatchTable(); - table.put(EjbTagNames.EJB_QL, "setQuery"); - return table; - } - - @Override - public void setElementValue(XMLElement element, String value) { - if (EjbTagNames.QUERY_RESULT_TYPE_MAPPING.equals(element.getQName())) { - if (EjbTagNames.QUERY_REMOTE_TYPE_MAPPING.equals(value)) { - descriptor.setHasRemoteReturnTypeMapping(); - } else if (EjbTagNames.QUERY_LOCAL_TYPE_MAPPING.equals(value)) { - descriptor.setHasLocalReturnTypeMapping(); - } else { - DOLUtils.getDefaultLogger().log(Level.SEVERE, "enterprise.deployment.backend.addDescriptorFailure", - new Object[] {((Descriptor) getParentNode().getDescriptor()).getName() , value}); - } - } else { - super.setElementValue(element, value); - } - } - - @Override - public Node writeDescriptor(Node parent, String nodeName, QueryDescriptor descriptor) { - Node queryNode = super.writeDescriptor(parent, nodeName, descriptor); - - writeLocalizedDescriptions(queryNode, descriptor); - - // query-method - MethodNode methodNode = new MethodNode(); - methodNode.writeQueryMethodDescriptor(queryNode, EjbTagNames.QUERY_METHOD, - descriptor.getQueryMethodDescriptor()); - - if (descriptor.getHasRemoteReturnTypeMapping()) { - appendTextChild(queryNode, EjbTagNames.QUERY_RESULT_TYPE_MAPPING, - EjbTagNames.QUERY_REMOTE_TYPE_MAPPING); - } else { - if (descriptor.getHasLocalReturnTypeMapping()) { - appendTextChild(queryNode, EjbTagNames.QUERY_RESULT_TYPE_MAPPING, - EjbTagNames.QUERY_LOCAL_TYPE_MAPPING); - } - } - // ejbql element is mandatory. If no EJB QL query has been - // specified for the method, the xml element will be empty - String ejbqlText = descriptor.getIsEjbQl() ? descriptor.getQuery() : ""; - Node child = appendChild(queryNode, EjbTagNames.EJB_QL); - child.appendChild(getOwnerDocument(child).createTextNode(ejbqlText)); - - return queryNode; - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/RelationshipsNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/RelationshipsNode.java deleted file mode 100644 index e0a70b7b5a8..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/RelationshipsNode.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.node; - -import java.util.HashMap; -import java.util.Map; - -import org.glassfish.ejb.deployment.EjbTagNames; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.ejb.deployment.descriptor.RelationshipDescriptor; -import org.w3c.dom.Node; - -import com.sun.enterprise.deployment.node.DeploymentDescriptorNode; -import com.sun.enterprise.deployment.node.XMLElement; -import com.sun.enterprise.deployment.xml.TagNames; - -/** - * This class is responsible for handling the ejb-relationships xml element - * - * @author Jerome Dochez - * @version - */ -public class RelationshipsNode extends DeploymentDescriptorNode { - - public RelationshipsNode() { - super(); - registerElementHandler(new XMLElement(EjbTagNames.EJB_RELATION), - EjbRelationNode.class); - } - - @Override - public Object getDescriptor() { - return getParentNode().getDescriptor(); - } - - @Override - public boolean endElement(XMLElement element) { - return element.equals(getXMLRootTag()); - } - - @Override - protected Map getDispatchTable() { - // no need to be synchronized for now - Map table = new HashMap(); - table.put(EjbTagNames.DESCRIPTION, "setRelationshipsDescription"); - return table; - } - - public Node writeDescriptor(Node parent, String nodeName, EjbBundleDescriptorImpl descriptor) { - Node relationshipsNode = super.writeDescriptor(parent, nodeName, descriptor); - appendTextChild(relationshipsNode, TagNames.DESCRIPTION, descriptor.getRelationshipsDescription()); - EjbRelationNode subNode = new EjbRelationNode(); - for (RelationshipDescriptor rd : descriptor.getRelationships()) { - subNode.writeDescriptor(relationshipsNode, EjbTagNames.EJB_RELATION, rd); - } - return relationshipsNode; - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/CmpNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/CmpNode.java deleted file mode 100644 index 2cbd221fc2e..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/CmpNode.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.node.runtime; - -import java.util.Iterator; -import java.util.Map; -import java.util.logging.Level; - -import com.sun.enterprise.deployment.node.DeploymentDescriptorNode; -import com.sun.enterprise.deployment.node.XMLElement; -import com.sun.enterprise.deployment.util.DOLUtils; -import com.sun.enterprise.deployment.xml.RuntimeTagNames; -import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbCMPFinder; -import org.glassfish.ejb.deployment.descriptor.runtime.PrefetchDisabledDescriptor; -import org.w3c.dom.Node; - -/** - * This node handles the cmp runtime deployment descriptors - * - * @author Jerome Dochez - * @version - */ -public class CmpNode extends DeploymentDescriptorNode { - - protected IASEjbCMPEntityDescriptor descriptor; - - public CmpNode() { - registerElementHandler(new XMLElement(RuntimeTagNames.FINDER), FinderNode.class); - registerElementHandler(new XMLElement(RuntimeTagNames.PREFETCH_DISABLED), PrefetchDisabledNode.class); - } - - @Override - public IASEjbCMPEntityDescriptor getDescriptor() { - if (descriptor == null) { - Object desc = getParentNode().getDescriptor(); - if (desc instanceof IASEjbCMPEntityDescriptor) { - descriptor = (IASEjbCMPEntityDescriptor) desc; - } - } - return descriptor; - } - - @Override - protected Map getDispatchTable() { - Map dispatchTable = super.getDispatchTable(); - dispatchTable.put(RuntimeTagNames.MAPPING_PROPERTIES, "setMappingProperties"); - // deprecated element, will be ignored at reading - dispatchTable.put(RuntimeTagNames.IS_ONE_ONE_CMP, null); - return dispatchTable; - } - - @Override - public void addDescriptor(Object newDescriptor) { - getDescriptor(); - if (descriptor == null) { - DOLUtils.getDefaultLogger().log(Level.WARNING, "enterprise.deployment.backend.addDescriptorFailure", - new Object[] {newDescriptor, this}); - return; - } - if (newDescriptor instanceof IASEjbCMPFinder ) { - descriptor.addOneOneFinder((IASEjbCMPFinder) newDescriptor); - } - else if (newDescriptor instanceof PrefetchDisabledDescriptor) { - descriptor.setPrefetchDisabledDescriptor((PrefetchDisabledDescriptor)newDescriptor); - } else super.addDescriptor(descriptor); - } - - @Override - public Node writeDescriptor(Node parent, String nodeName, IASEjbCMPEntityDescriptor ejbDescriptor) { - Node cmpNode = super.writeDescriptor(parent, nodeName, ejbDescriptor); - appendTextChild(cmpNode, RuntimeTagNames.MAPPING_PROPERTIES, ejbDescriptor.getMappingProperties()); - Map finders = ejbDescriptor.getOneOneFinders(); - if (!finders.isEmpty()) { - Node findersNode = appendChild(cmpNode, RuntimeTagNames.ONE_ONE_FINDERS); - FinderNode fn = new FinderNode(); - for (Iterator finderIterator = finders.values().iterator();finderIterator.hasNext();) { - IASEjbCMPFinder aFinder = (IASEjbCMPFinder) finderIterator.next(); - fn.writeDescriptor(findersNode, RuntimeTagNames.FINDER, aFinder); - } - } - - // prefetch-disabled - PrefetchDisabledDescriptor prefetchDisabledDesc = ejbDescriptor.getPrefetchDisabledDescriptor(); - if (prefetchDisabledDesc != null) { - PrefetchDisabledNode prefetchDisabledNode = new PrefetchDisabledNode(); - prefetchDisabledNode.writeDescriptor(cmpNode, - RuntimeTagNames.PREFETCH_DISABLED, prefetchDisabledDesc); - } - - return cmpNode; - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/CmpResourceNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/CmpResourceNode.java deleted file mode 100644 index 377b1c5b366..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/CmpResourceNode.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.node.runtime; - -import java.util.Iterator; -import java.util.Map; -import java.util.Properties; -import java.util.logging.Level; - -import com.sun.enterprise.deployment.NameValuePairDescriptor; -import com.sun.enterprise.deployment.ResourceReferenceDescriptor; -import com.sun.enterprise.deployment.node.PropertiesNode; -import com.sun.enterprise.deployment.node.XMLElement; -import com.sun.enterprise.deployment.node.runtime.DefaultResourcePrincipalNode; -import com.sun.enterprise.deployment.node.runtime.RuntimeDescriptorNode; -import com.sun.enterprise.deployment.node.runtime.common.RuntimeNameValuePairNode; -import com.sun.enterprise.deployment.util.DOLUtils; -import com.sun.enterprise.deployment.xml.RuntimeTagNames; -import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.w3c.dom.Node; - -/** - * This node handles the cmp-resource runtime xml tag - * - * @author Jerome Dochez - * @version - */ -public class CmpResourceNode extends RuntimeDescriptorNode { - - private ResourceReferenceDescriptor descriptor; - - public CmpResourceNode() { - registerElementHandler(new XMLElement(RuntimeTagNames.DEFAULT_RESOURCE_PRINCIPAL), - DefaultResourcePrincipalNode.class, "setResourcePrincipal"); - registerElementHandler(new XMLElement(RuntimeTagNames.PROPERTY), - RuntimeNameValuePairNode.class, "addProperty"); - registerElementHandler(new XMLElement(RuntimeTagNames.SCHEMA_GENERATOR_PROPERTIES), - PropertiesNode.class, "setSchemaGeneratorProperties"); - } - - @Override - public ResourceReferenceDescriptor getDescriptor() { - if (descriptor == null) descriptor = new ResourceReferenceDescriptor(); - return descriptor; - } - - @Override - protected Map getDispatchTable() { - Map table = super.getDispatchTable(); - table.put(RuntimeTagNames.JNDI_NAME, "setJndiName"); - table.put(RuntimeTagNames.CREATE_TABLES_AT_DEPLOY, "setCreateTablesAtDeploy"); - table.put(RuntimeTagNames.DROP_TABLES_AT_UNDEPLOY, "setDropTablesAtUndeploy"); - table.put(RuntimeTagNames.DATABASE_VENDOR_NAME, "setDatabaseVendorName"); - return table; - } - - @Override - public void postParsing() { - EjbBundleDescriptorImpl bd = (EjbBundleDescriptorImpl) getParentNode().getDescriptor(); - if (bd==null) { - DOLUtils.getDefaultLogger().log(Level.SEVERE, "enterprise.deployment.backend.addDescriptorFailure", - new Object[]{descriptor}); - return; - } - bd.setCMPResourceReference(descriptor); - } - - @Override - public Node writeDescriptor(Node parent, String nodeName, - ResourceReferenceDescriptor descriptor) { - Node cmp = super.writeDescriptor(parent, nodeName, descriptor); - appendTextChild(cmp, RuntimeTagNames.JNDI_NAME, descriptor.getJndiName()); - if (descriptor.getResourcePrincipal() != null) { - DefaultResourcePrincipalNode drpNode = new DefaultResourcePrincipalNode(); - drpNode.writeDescriptor(cmp, RuntimeTagNames.DEFAULT_RESOURCE_PRINCIPAL, - descriptor.getResourcePrincipal()); - } - // properties* - Iterator properties = descriptor.getProperties(); - if (properties!=null) { - RuntimeNameValuePairNode propNode = new RuntimeNameValuePairNode(); - while (properties.hasNext()) { - NameValuePairDescriptor aProp = (NameValuePairDescriptor) properties.next(); - propNode.writeDescriptor(cmp, RuntimeTagNames.PROPERTY, aProp); - } - } - - // createTableAtDeploy, dropTableAtUndeploy - if (descriptor.isCreateTablesAtDeploy()) { - appendTextChild(cmp, RuntimeTagNames.CREATE_TABLES_AT_DEPLOY, RuntimeTagNames.TRUE); - } - if (descriptor.isDropTablesAtUndeploy()) { - appendTextChild(cmp, RuntimeTagNames.DROP_TABLES_AT_UNDEPLOY, RuntimeTagNames.TRUE); - } - // database vendor name - appendTextChild(cmp, RuntimeTagNames.DATABASE_VENDOR_NAME, descriptor.getDatabaseVendorName()); - - // schema-generator-properties? - Properties schemaGeneratorProps = descriptor.getSchemaGeneratorProperties(); - if (schemaGeneratorProps!=null) { - PropertiesNode pn = new PropertiesNode(); - pn.writeDescriptor(cmp, RuntimeTagNames.SCHEMA_GENERATOR_PROPERTIES, schemaGeneratorProps); - } - - return cmp; - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EjbNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EjbNode.java index f79f10a663a..157c26a341a 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EjbNode.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EjbNode.java @@ -64,7 +64,6 @@ import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; import org.glassfish.ejb.deployment.descriptor.EjbDescriptor; import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor; -import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor; import org.glassfish.ejb.deployment.descriptor.runtime.BeanCacheDescriptor; import org.glassfish.ejb.deployment.descriptor.runtime.CheckpointAtEndOfMethodDescriptor; import org.glassfish.ejb.deployment.descriptor.runtime.FlushAtEndOfMethodDescriptor; @@ -96,8 +95,6 @@ public EjbNode() { MessageDestinationRefNode.class); registerElementHandler(new XMLElement(WebServicesTagNames.SERVICE_REF), ServiceRefNode.class); - registerElementHandler(new XMLElement(RuntimeTagNames.CMP), - CmpNode.class); registerElementHandler(new XMLElement(RuntimeTagNames.MDB_CONNECTION_FACTORY), MDBConnectionFactoryNode.class); registerElementHandler(new XMLElement(RuntimeTagNames.IOR_CONFIG), @@ -278,11 +275,6 @@ public Node writeDescriptor(Node parent, String nodeName, EjbDescriptor ejbDescr appendTextChild(ejbNode, RuntimeTagNames.PASS_BY_REFERENCE, String.valueOf(ejbDescriptor.getIASEjbExtraDescriptors().getPassByReference())); - - if (ejbDescriptor instanceof IASEjbCMPEntityDescriptor) { - CmpNode cmpNode = new CmpNode(); - cmpNode.writeDescriptor(ejbNode, RuntimeTagNames.CMP, (IASEjbCMPEntityDescriptor) ejbDescriptor); - } // principal if ( Boolean.FALSE.equals(ejbDescriptor.getUsesCallerIdentity()) ) { diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EnterpriseBeansRuntimeNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EnterpriseBeansRuntimeNode.java index aee3839e208..ac408e10344 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EnterpriseBeansRuntimeNode.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EnterpriseBeansRuntimeNode.java @@ -69,9 +69,7 @@ public EnterpriseBeansRuntimeNode() { // we do not care about our standard DDS handles handlers = null; registerElementHandler(new XMLElement(RuntimeTagNames.EJB), - EjbNode.class); - registerElementHandler(new XMLElement(RuntimeTagNames.CMP_RESOURCE), - CmpResourceNode.class); + EjbNode.class);; registerElementHandler (new XMLElement(RuntimeTagNames.MESSAGE_DESTINATION), MessageDestinationRuntimeNode.class); @@ -129,13 +127,6 @@ public Node writeDescriptor(Node parent, String nodeName, EjbBundleDescriptorImp EjbDescriptor ejbDescriptor = (EjbDescriptor) ejbIterator.next(); ejbNode.writeDescriptor(ejbs, RuntimeTagNames.EJB, ejbDescriptor); } - - // cmpresource? - ResourceReferenceDescriptor rrd = bundleDescriptor.getCMPResourceReference(); - if ( rrd != null ) { - CmpResourceNode crn = new CmpResourceNode(); - crn.writeDescriptor(ejbs, RuntimeTagNames.CMP_RESOURCE, rrd); - } // message-destination* writeMessageDestinationInfo(ejbs, bundleDescriptor); diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/FinderNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/FinderNode.java deleted file mode 100644 index 92b241ca9c3..00000000000 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/FinderNode.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.deployment.node.runtime; - -import java.util.Map; - -import com.sun.enterprise.deployment.node.DeploymentDescriptorNode; -import com.sun.enterprise.deployment.xml.RuntimeTagNames; -import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbCMPFinder; -import org.w3c.dom.Node; - -public class FinderNode extends DeploymentDescriptorNode { - - private IASEjbCMPFinder descriptor; - - @Override - public IASEjbCMPFinder getDescriptor() { - if (descriptor==null) descriptor = new IASEjbCMPFinder(); - return descriptor; - } - - @Override - protected Map getDispatchTable() { - Map dispatchTable = super.getDispatchTable(); - dispatchTable.put(RuntimeTagNames.METHOD_NAME, "setMethodName"); - dispatchTable.put(RuntimeTagNames.QUERY_PARAMS, "setQueryParameterDeclaration"); - dispatchTable.put(RuntimeTagNames.QUERY_FILTER, "setQueryFilter"); - dispatchTable.put(RuntimeTagNames.QUERY_VARIABLES, "setQueryVariables"); - dispatchTable.put(RuntimeTagNames.QUERY_ORDERING, "setQueryOrdering"); - return dispatchTable; - } - - @Override - public Node writeDescriptor(Node parent, String nodeName, IASEjbCMPFinder finder) { - Node finderNode = super.writeDescriptor(parent, nodeName, finder); - appendTextChild(finderNode, RuntimeTagNames.METHOD_NAME, finder.getMethodName()); - appendTextChild(finderNode, RuntimeTagNames.QUERY_PARAMS, finder.getQueryParameterDeclaration()); - appendTextChild(finderNode, RuntimeTagNames.QUERY_FILTER, finder.getQueryFilter()); - appendTextChild(finderNode, RuntimeTagNames.QUERY_VARIABLES, finder.getQueryVariables()); - appendTextChild(finderNode, RuntimeTagNames.QUERY_ORDERING, finder.getQueryOrdering()); - return finderNode; - } -} diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/util/EjbBundleTracerVisitor.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/util/EjbBundleTracerVisitor.java index ab622cbc131..c4c64844503 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/util/EjbBundleTracerVisitor.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/util/EjbBundleTracerVisitor.java @@ -61,12 +61,7 @@ import com.sun.enterprise.deployment.util.TracerVisitor; import org.glassfish.ejb.deployment.descriptor.ContainerTransaction; import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor; import org.glassfish.ejb.deployment.descriptor.EjbDescriptor; -import org.glassfish.ejb.deployment.descriptor.FieldDescriptor; -import org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor; -import org.glassfish.ejb.deployment.descriptor.QueryDescriptor; -import org.glassfish.ejb.deployment.descriptor.RelationshipDescriptor; public class EjbBundleTracerVisitor extends TracerVisitor implements EjbBundleVisitor { @@ -79,11 +74,6 @@ public void accept(BundleDescriptor descriptor) { for (EjbDescriptor anEjb : ejbBundle.getEjbs()) { anEjb.visit(getSubDescriptorVisitor(anEjb)); } - if (ejbBundle.hasRelationships()) { - for (RelationshipDescriptor rd : ejbBundle.getRelationships()) { - accept(rd); - } - } for (WebService ws : ejbBundle.getWebServices().getWebServices()) { accept(ws); } @@ -172,19 +162,6 @@ protected void accept(EjbDescriptor ejb) { accept(sref); } - if (ejb instanceof EjbCMPEntityDescriptor) { - EjbCMPEntityDescriptor cmp = (EjbCMPEntityDescriptor) ejb; - PersistenceDescriptor persistenceDesc = cmp.getPersistenceDescriptor(); - for (Object fd : persistenceDesc.getCMPFields()) { - accept((FieldDescriptor) fd); - } - for (Object o : persistenceDesc.getQueriedMethods()) { - if (o instanceof MethodDescriptor) { - QueryDescriptor qd = persistenceDesc.getQueryFor((MethodDescriptor) o); - accept(qd); - } - } - } } protected void accept(MethodPermission pm, Collection mds) { @@ -203,33 +180,6 @@ protected void accept(MethodDescriptor md, ContainerTransaction ct) { + " Container Transaction for method " + md.prettyPrint()); } - protected void accept(FieldDescriptor fd) { - logInfo("CMP Field " + fd); - } - - protected void accept(QueryDescriptor qd) { - logInfo(qd.toString()); - } - - protected void accept(RelationshipDescriptor rd) { - logInfo("============ Relationships ==========="); - logInfo("From EJB " + rd.getSource().getName() + " cmr field : " - + rd.getSource().getCMRField() + "(" - + rd.getSource().getCMRFieldType() + ") to EJB " - + rd.getSink().getName() + " isMany " - + rd.getSource().getIsMany() + " cascade-delete " - + rd.getSource().getCascadeDelete()); - - logInfo("To EJB " + rd.getSink().getName() + " isMany " - + rd.getSink().getIsMany() + " cascade-delete " - + rd.getSink().getCascadeDelete()); - - if (rd.getIsBidirectional()) { - logInfo("Bidirectional cmr field : " + rd.getSink().getCMRField() - + "(" + rd.getSink().getCMRFieldType() + ")"); - } - } - private void logInfo(String message) { DOLUtils.getDefaultLogger().info(message); } diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/util/EjbBundleValidator.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/util/EjbBundleValidator.java index ae953b30157..637015f6080 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/util/EjbBundleValidator.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/util/EjbBundleValidator.java @@ -71,15 +71,10 @@ import org.glassfish.ejb.LogFacade; import org.glassfish.ejb.deployment.descriptor.DummyEjbDescriptor; import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; -import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor; import org.glassfish.ejb.deployment.descriptor.EjbDescriptor; -import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor; import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor; import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor; -import org.glassfish.ejb.deployment.descriptor.FieldDescriptor; import org.glassfish.ejb.deployment.descriptor.InterceptorBindingDescriptor; -import org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor; -import org.glassfish.ejb.deployment.descriptor.RelationshipDescriptor; import org.glassfish.ejb.deployment.descriptor.ScheduledTimerDescriptor; import org.glassfish.internal.api.Globals; import org.glassfish.internal.deployment.AnnotationTypesProvider; @@ -116,12 +111,6 @@ public void accept (BundleDescriptor descriptor) { for (EjbDescriptor anEjb : ejbBundle.getEjbs()) { anEjb.visit(getSubDescriptorVisitor(anEjb)); } - if (ejbBundle.hasRelationships()) { - for (Iterator itr = ejbBundle.getRelationships().iterator();itr.hasNext();) { - RelationshipDescriptor rd = (RelationshipDescriptor) itr.next(); - accept(rd); - } - } for (WebService aWebService : ejbBundle.getWebServices().getWebServices()) { accept(aWebService); } @@ -181,10 +170,7 @@ public void accept(com.sun.enterprise.deployment.EjbBundleDescriptor bundleDesc) "enterprise.deployment.util.componentInterfaceMissing", "{0} Component interface is missing in EJB [{1}]", "Local", ejb0.getName())); } - - if(!EjbEntityDescriptor.TYPE.equals(ejb0.getType())) { - ejb0.applyInterceptors(bindingTranslator); - } + ejb0.applyInterceptors(bindingTranslator); } } @@ -462,15 +448,7 @@ public void accept(EjbDescriptor ejb) { accept((ServiceReferenceDescriptor) itr.next()); } - if (ejb instanceof EjbCMPEntityDescriptor) { - EjbCMPEntityDescriptor cmp = (EjbCMPEntityDescriptor)ejb; - PersistenceDescriptor persistenceDesc = cmp.getPersistenceDescriptor(); - for (Iterator e=persistenceDesc.getCMPFields().iterator();e.hasNext();) { - FieldDescriptor fd = (FieldDescriptor) e.next(); - accept(fd); - } - } - } + } public void accept(WebService webService) { } diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/startup/EjbDeployer.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/startup/EjbDeployer.java index 584b5914aaf..96fb5b6d69b 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/startup/EjbDeployer.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/startup/EjbDeployer.java @@ -67,8 +67,6 @@ import org.glassfish.ejb.security.application.EJBSecurityManager; import org.glassfish.ejb.security.application.EjbSecurityProbeProvider; import org.glassfish.ejb.security.factory.EJBSecurityManagerFactory; -import org.glassfish.ejb.spi.CMPDeployer; -import org.glassfish.ejb.spi.CMPService; import org.glassfish.hk2.api.PostConstruct; import org.glassfish.internal.api.ServerContext; import org.glassfish.internal.data.ApplicationInfo; @@ -126,7 +124,6 @@ public class EjbDeployer extends JavaEEDeployer registeredComponentInvocationHandlerProvider; - - @Inject - Provider cmpServiceProvider; - - @Inject - Provider cmpDeployerProvider; - /** * Constructor */ @@ -244,15 +232,6 @@ public EjbApplication load(EjbContainerStarter containerStarter, DeploymentConte ejbBundle.setClassLoader(dc.getClassLoader()); ejbBundle.setupDataStructuresForRuntime(); - if (ejbBundle.containsCMPEntity()) { - CMPService cmpService = cmpServiceProvider.get(); - if (cmpService == null) { - throw new RuntimeException("CMP Module is not available"); - } else if (!cmpService.isReady()) { - throw new RuntimeException("CMP Module is not initialized"); - } - } - EjbApplication ejbApp = new EjbApplication(ejbBundle, dc, dc.getClassLoader(), habitat); try { @@ -298,13 +277,6 @@ public void unload(EjbApplication ejbApplication, DeploymentContext dc) { _logger.log(Level.WARNING, "Error unbinding ejb bundle " + ejbBundle.getModuleName() + " dependency namespace", e); } - if (ejbBundle.containsCMPEntity()) { - initCMPDeployer(); - if (cmpDeployer != null) { - cmpDeployer.unload(ejbBundle.getClassLoader()); - } - } - // All the other work is done in EjbApplication. } @@ -323,11 +295,6 @@ public void clean(DeploymentContext dc) { OpsParams params = dc.getCommandParameters(OpsParams.class); if ((params.origin.isUndeploy() || params.origin.isDeploy()) && isDas()) { - // If CMP beans are present, cmpDeployer should've been initialized in unload() - if (cmpDeployer != null) { - cmpDeployer.clean(dc); - } - long uniqueAppId = getApplicationFromApplicationInfo(params.name()).getUniqueId(); try { if (getTimeoutStatusFromApplicationInfo(params.name())) { @@ -420,11 +387,10 @@ protected void generateArtifacts(DeploymentContext dc) throws DeploymentExceptio return; } - EjbBundleDescriptorImpl bundle = dc.getModuleMetaData(EjbBundleDescriptorImpl.class); DeployCommandParameters dcp = dc.getCommandParameters(DeployCommandParameters.class); boolean generateRmicStubs = dcp.generatermistubs; - dc.addTransientAppMetaData(CMPDeployer.MODULE_CLASSPATH, getModuleClassPath(dc)); + dc.addTransientAppMetaData("org.glassfish.ejb.spi.module.classpath", getModuleClassPath(dc)); if (generateRmicStubs) { StaticRmiStubGenerator staticStubGenerator = new StaticRmiStubGenerator(habitat); try { @@ -433,17 +399,7 @@ protected void generateArtifacts(DeploymentContext dc) throws DeploymentExceptio throw new DeploymentException("Static RMI-IIOP Stub Generation exception for " + dc.getSourceDir(), e); } } - - if (bundle == null || !bundle.containsCMPEntity()) { - // bundle WAS null in a war file where we do not support CMPs - return; - } - - initCMPDeployer(); - if (cmpDeployer == null) { - throw new DeploymentException("No CMP Deployer is available to deploy this module"); - } - cmpDeployer.deploy(dc); + return; } @@ -630,14 +586,6 @@ private long getNextEjbAppUniqueId() { return next << 16; } - private void initCMPDeployer() { - if (cmpDeployer == null) { - synchronized (lock) { - cmpDeployer = cmpDeployerProvider.get(); - } - } - } - /** * Embedded is a single-instance like DAS */ diff --git a/appserver/ejb/ejb-container/src/main/resources/org/glassfish/ejb/deployment/descriptor/LocalStrings.properties b/appserver/ejb/ejb-container/src/main/resources/org/glassfish/ejb/deployment/descriptor/LocalStrings.properties index 4a279aff607..6985e25b43e 100644 --- a/appserver/ejb/ejb-container/src/main/resources/org/glassfish/ejb/deployment/descriptor/LocalStrings.properties +++ b/appserver/ejb/ejb-container/src/main/resources/org/glassfish/ejb/deployment/descriptor/LocalStrings.properties @@ -56,8 +56,6 @@ enterprise.deployment.exceptioncannotsettypeofsessionbean=Cannot set the type of enterprise.deployment.exceptioncannotsettypeofmsgdrivenbean=Cannot set the type of a message-driven bean enterprise.deployment.exceptionmsgbeantxtypenotlegaltype=[{0}] is not a legal transaction type for a message-driven bean enterprise.deployment.exceptionbeanbundle=Referencing error: This bundle has no bean of name [{0}] -enterprise.deployment.invalidcmpversion=Invalid CMP version: {0}. -enterprise.deployment.pkhasnopersistentfields=CMP bean [{0}], primary key class [{1}] has public non-persistent field(s) [{2}]. enterprise.deployment.exceptioncannotgetsecbusmethodsinmsgbean=Cannot get business method for security for message-driven bean. enterprise.deployment.exceptionapphasnoejbrefbyname=This app [{0}] has no ejb reference by the name of [{1}] enterprise.deployment.exceptionejbhasnoservicerefbyname=This ejb [{0}] has no service reference by the name of [{1}] diff --git a/appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/spi/CMPDeployer.java b/appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/spi/CMPDeployer.java deleted file mode 100644 index 21ff84f2f96..00000000000 --- a/appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/spi/CMPDeployer.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.spi; - -import org.glassfish.api.deployment.DeploymentContext; -import org.glassfish.deployment.common.DeploymentException; -import org.jvnet.hk2.annotations.Contract; - -@Contract -public interface CMPDeployer { - - void deploy(DeploymentContext ctx) throws DeploymentException; - - void clean(DeploymentContext ctx); - - void unload(ClassLoader cl); - - String MODULE_CLASSPATH = "org.glassfish.ejb.spi.module.classpath"; -} diff --git a/appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/spi/CMPService.java b/appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/spi/CMPService.java deleted file mode 100644 index 490e2cc539a..00000000000 --- a/appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/spi/CMPService.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.ejb.spi; - -import org.jvnet.hk2.annotations.Contract; - -@Contract -public interface CMPService { - - boolean isReady(); - -} diff --git a/appserver/extras/payara-micro/payara-micro-boot/src/main/resources/MICRO-INF/domain/logging.properties b/appserver/extras/payara-micro/payara-micro-boot/src/main/resources/MICRO-INF/domain/logging.properties index cea6b6cf787..6e82417ce00 100644 --- a/appserver/extras/payara-micro/payara-micro-boot/src/main/resources/MICRO-INF/domain/logging.properties +++ b/appserver/extras/payara-micro/payara-micro-boot/src/main/resources/MICRO-INF/domain/logging.properties @@ -27,7 +27,6 @@ javax.enterprise.resource.resourceadapter.level=INFO javax.enterprise.system.core.config.level=INFO javax.enterprise.system.level=INFO javax.enterprise.system.core.security.level=INFO -javax.enterprise.system.container.cmp.level=INFO javax.enterprise.system.core.selfmanagement.level=INFO javax.enterprise.resource.jdo.level=INFO javax.enterprise.resource.sqltrace.level=FINE diff --git a/appserver/packager/glassfish-entitybeans-container/pom.xml b/appserver/packager/glassfish-entitybeans-container/pom.xml index 2e61b0d59b3..e441280ce39 100644 --- a/appserver/packager/glassfish-entitybeans-container/pom.xml +++ b/appserver/packager/glassfish-entitybeans-container/pom.xml @@ -78,13 +78,5 @@ - - - - fish.payara.server.internal.persistence - entitybean-container - ${project.version} - - diff --git a/appserver/persistence/common/pom.xml b/appserver/persistence/common/pom.xml index 0cd618aad5f..3ab3eb91695 100644 --- a/appserver/persistence/common/pom.xml +++ b/appserver/persistence/common/pom.xml @@ -52,7 +52,7 @@ persistence-common glassfish-jar - Common persistence code between JPA and CMP + Common persistence cod JPA diff --git a/appserver/persistence/entitybean-container/osgi.bundle b/appserver/persistence/entitybean-container/osgi.bundle deleted file mode 100644 index 7756901e354..00000000000 --- a/appserver/persistence/entitybean-container/osgi.bundle +++ /dev/null @@ -1,66 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - --exportcontents: \ - org.glassfish.persistence.ejb.entitybean.container.spi; \ - com.sun.appserv.ejb; version=${project.osgi.version} - -# See issue #10545 to know why we have explicitly added org.glassfish.apf.context -# in Import-Package -# Note that the CORBA and javax classes are needed so that dynamic RMI-IIOP -# can create a stub for ReadOnlyEJBHome. -Import-Package: \ - com.sun.corba.ee.spi.orbutil.codegen;resolution:=optional, \ - com.sun.corba.ee.impl.orbutil.codegen;resolution:=optional, \ - com.sun.corba.ee.spi.orbutil.copyobject;resolution:=optional, \ - com.sun.corba.ee.impl.orbutil.copyobject;resolution:=optional, \ - com.sun.corba.ee.spi.presentation.rmi;resolution:=optional, \ - org.omg.CORBA;resolution:=optional, \ - org.omg.CORBA.portable;resolution:=optional, \ - org.omg.CORBA_2_3.portable;resolution:=optional, \ - javax.rmi.CORBA;resolution:=optional, \ - com.sun.corba.ee.impl.presentation.rmi.codegen;resolution:=optional, \ - org.glassfish.apf.context; \ - * - -Bundle-SymbolicName: \ - ${project.groupId}.${project.artifactId} -# dependent flashlight package resolved at runtime -DynamicImport-Package: org.glassfish.flashlight.provider diff --git a/appserver/persistence/entitybean-container/pom.xml b/appserver/persistence/entitybean-container/pom.xml deleted file mode 100644 index 957f2db229e..00000000000 --- a/appserver/persistence/entitybean-container/pom.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - 4.0.0 - - fish.payara.server.internal.persistence - persistence - 7.2026.5-SNAPSHOT - - - entitybean-container - glassfish-jar - Entity Bean container - - - - mvatkina - Marina Vatkina - Oracle, Inc. - - developer - lead - - - - - - - fish.payara.server.internal.ejb - ejb-internal-api - ${project.version} - - - fish.payara.server.internal.deployment - deployment-common - ${project.version} - - - fish.payara.server.internal.common - common-util - ${project.version} - - - jakarta.ejb - jakarta.ejb-api - - - fish.payara.server.internal.deployment - dol - ${project.version} - - - fish.payara.server.internal.ejb - ejb-container - ${project.version} - - - diff --git a/appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanHelper.java b/appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanHelper.java deleted file mode 100644 index b5abff25e86..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanHelper.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.appserv.ejb; - -import java.rmi.RemoteException; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.rmi.PortableRemoteObject; - -import org.glassfish.persistence.ejb.entitybean.container.spi.ReadOnlyEJBLocalHome; -import org.glassfish.persistence.ejb.entitybean.container.spi.ReadOnlyEJBHome; - -import org.glassfish.persistence.ejb.entitybean.container.ReadOnlyBeanNotifierImpl; - -import java.util.logging.*; - -import com.sun.logging.*; - -/** - * Class that is used to obtain ReadOnlyBeanNotifier - * and ReadOnlyBeanLocalNotifier. - * - * @author Mahesh Kannan - */ -public class ReadOnlyBeanHelper { - protected static final Logger _logger = - LogDomains.getLogger(ReadOnlyBeanHelper.class, LogDomains.EJB_LOGGER); - - public static ReadOnlyBeanNotifier getReadOnlyBeanNotifier(String ejbName) { - try { - Context ctx = new InitialContext(); - Object obj = ctx.lookup(ejbName); - ReadOnlyEJBHome home = (ReadOnlyEJBHome) - PortableRemoteObject.narrow(obj, ReadOnlyEJBHome.class); - ReadOnlyBeanNotifier roNotifier = new ReadOnlyBeanNotifierImpl(); - roNotifier.setHome(home); - return roNotifier; - } catch (Exception ex) { - if(_logger.isLoggable(Level.SEVERE)) { - _logger.log(Level.SEVERE, "entitybean.container.remote_exception", ex); - } - } - return null; - } - - public static ReadOnlyBeanLocalNotifier getReadOnlyBeanLocalNotifier( - String ejbName) - { - try { - Context ctx = new InitialContext(); - ReadOnlyEJBLocalHome home = - (ReadOnlyEJBLocalHome) ctx.lookup(ejbName); - return home.getReadOnlyBeanLocalNotifier(); - } catch (Exception ex) { - if(_logger.isLoggable(Level.SEVERE)) { - _logger.log(Level.SEVERE, "entitybean.container.remote_exception",ex); - } - } - return null; - } - -} - diff --git a/appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanLocalNotifier.java b/appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanLocalNotifier.java deleted file mode 100644 index 31a34996df2..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanLocalNotifier.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.appserv.ejb; - -/** - * ReadOnlyBeanLocalNotifier is used to force refresh of ReadOnly local beans - * - * @author Mahesh Kannan - */ -public interface ReadOnlyBeanLocalNotifier { - - /** - * This method would be used by the user to manually force the - * refresh of read only beans for an application. After this method - * the next access to the bean, identified by the primary key, will - * cause a ejbLoad() to be called on the bean - * - * @param The primary of the local bean to be refreshed - */ - public void refresh(Object primaryKey); - - /** - * This method forces *all* primary keys for a read-only bean - * to be marked as needing a refresh. - */ - public void refreshAll(); - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanNotifier.java b/appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanNotifier.java deleted file mode 100644 index 13f0bdd823a..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/com/sun/appserv/ejb/ReadOnlyBeanNotifier.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.appserv.ejb; - -import java.rmi.RemoteException; -import org.jvnet.hk2.annotations.Contract; - -import org.glassfish.persistence.ejb.entitybean.container.spi.ReadOnlyEJBHome; - -/** - * ReadOnlyBeanNotifier is used to force refresh of ReadOnly beans - * - * @author Mahesh Kannan - */ - -@Contract -public interface ReadOnlyBeanNotifier - extends java.rmi.Remote -{ - - /** - * This method would be used by the user to manually force the - * refresh of read only beans for an application. After this method - * the next access to the bean, identified by the primary key, will - * cause a ejbLoad() to be called on the bean - * - * @param The primary of the bean to be refreshed - */ - public void refresh(Object primaryKey) - throws RemoteException; - - /** - * This method forces *all* primary keys for a read-only bean - * to be marked as needing a refresh. - */ - public void refreshAll() - throws RemoteException; - - /** - * This is an init method for the helper class not to depend on the impl - */ - public void setHome(ReadOnlyEJBHome home) throws RemoteException; -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/CommitCEntityContainer.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/CommitCEntityContainer.java deleted file mode 100644 index 48cc33560df..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/CommitCEntityContainer.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container; - -import com.sun.ejb.EjbInvocation; -import com.sun.enterprise.security.SecurityManager; -import org.glassfish.ejb.deployment.descriptor.EjbDescriptor; - -/* -* This class implements the Commit-Option C as described in -* the EJB Specification. -* -* The CommitOptionC Container extends Entity Container and -* hence all the life cycle management is still in Entitycontainer -* -* @author Mahesh Kannan -*/ - -public class CommitCEntityContainer - extends EntityContainer -{ - /** - * This constructor is called from the JarManager when a Jar is deployed. - * @exception Exception on error - */ - protected CommitCEntityContainer(EjbDescriptor desc, ClassLoader loader, SecurityManager sm) - throws Exception - { - super(desc, loader, sm); - } - - protected EntityContextImpl getReadyEJB(EjbInvocation inv) { - Object primaryKey = getInvocationKey(inv); - return activateEJBFromPool(primaryKey, inv); - } - - protected void createReadyStore(int cacheSize, int numberOfVictimsToSelect, - float loadFactor, long idleTimeout) - { - readyStore = null; - } - - protected void createEJBObjectStores(int cacheSize, - int numberOfVictimsToSelect, long idleTimeout) throws Exception - { - super.defaultCacheEJBO = false; - super.createEJBObjectStores(cacheSize, numberOfVictimsToSelect, idleTimeout); - } - - // called from releaseContext, afterCompletion - protected void addReadyEJB(EntityContextImpl context) { - passivateAndPoolEJB(context); - } - - protected void destroyReadyStoreOnUndeploy() { - readyStore = null; - } - - protected void removeContextFromReadyStore(Object primaryKey, - EntityContextImpl context) - { - // There is nothing to remove as we don't have a readyStore - } - -} - diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityBeanHomeImpl.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityBeanHomeImpl.java deleted file mode 100644 index 5fa94ecd87a..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityBeanHomeImpl.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container; - -import com.sun.ejb.Container; -import com.sun.ejb.EjbInvocation; -import com.sun.ejb.InvocationInfo; -import com.sun.ejb.containers.BaseContainer; -import com.sun.ejb.containers.EJBHomeInvocationHandler; -import com.sun.ejb.containers.EJBObjectImpl; -import com.sun.enterprise.deployment.EjbDescriptor; - -/** - * Implementation of the EJBHome interface for Entity Beans. - * - * @author mvatkina - */ - -public class EntityBeanHomeImpl extends EJBHomeInvocationHandler { - - EntityBeanHomeImpl(EjbDescriptor ejbDescriptor, - Class homeIntfClass) - throws Exception { - super(ejbDescriptor, homeIntfClass); - } - - /** - * EJBObjectImpl is created directly by the container, not by this call - */ - @Override - public EJBObjectImpl createEJBObjectImpl() { - return null; - } - - @Override - protected void postCreate(Container container, EjbInvocation inv, - InvocationInfo invInfo, Object primaryKey, Object[] args) - throws Throwable { - container.postCreate(inv, primaryKey); - invokeTargetBeanMethod((BaseContainer)container, invInfo.targetMethod2, - inv, inv.ejb, args); - - } -} - diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityBeanLocalHomeImpl.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityBeanLocalHomeImpl.java deleted file mode 100644 index ebd7f2d4016..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityBeanLocalHomeImpl.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container; - -import java.lang.reflect.Method; - -import com.sun.ejb.Container; -import com.sun.ejb.EjbInvocation; -import com.sun.ejb.InvocationInfo; -import com.sun.ejb.containers.BaseContainer; -import com.sun.ejb.containers.EJBLocalObjectImpl; -import com.sun.ejb.containers.EJBLocalHomeInvocationHandler; -import com.sun.enterprise.deployment.EjbDescriptor; - -/** - * Implementation of the EJBLocalHome interface for Entity Beans. - * At deployment time, one instance of this class is created - * for each EntityBean class in a JAR that has a local home. - * - * @author mvatkina - */ - -public class EntityBeanLocalHomeImpl - extends EJBLocalHomeInvocationHandler -{ - protected EntityBeanLocalHomeImpl(EjbDescriptor ejbDescriptor, - Class localHomeIntf) throws Exception { - super(ejbDescriptor, localHomeIntf); - } - - /** - * EJBLocalObjectImpl is created directly by the container, not by this call - */ - @Override - public EJBLocalObjectImpl createEJBLocalObjectImpl() { - return null; - } - - @Override - protected void postCreate(Container container, EjbInvocation inv, - InvocationInfo invInfo, Object primaryKey, Object[] args) - throws Throwable { - container.postCreate(inv, primaryKey); - invokeTargetBeanMethod((BaseContainer)container, invInfo.targetMethod2, - inv, inv.ejb, args); - - } - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityContainer.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityContainer.java deleted file mode 100644 index 91f29cb3538..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/EntityContainer.java +++ /dev/null @@ -1,3002 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright 2019-2026 Payara Foundation and/or its affiliates - -package org.glassfish.persistence.ejb.entitybean.container; - -import com.sun.appserv.util.cache.BaseCache; -import com.sun.appserv.util.cache.Cache; -import com.sun.appserv.util.cache.CacheListener; -import com.sun.appserv.util.cache.Constants; -import com.sun.appserv.util.cache.LruCache; -import com.sun.ejb.ComponentContext; -import com.sun.ejb.EJBUtils; -import com.sun.ejb.EjbInvocation; -import com.sun.ejb.InvocationInfo; -import com.sun.ejb.containers.BaseContainer; -import com.sun.ejb.containers.EJBContextImpl; -import com.sun.ejb.containers.EJBContextImpl.BeanState; -import com.sun.ejb.containers.EJBHomeInvocationHandler; -import com.sun.ejb.containers.EJBLocalHomeInvocationHandler; -import com.sun.ejb.containers.EJBLocalObjectImpl; -import com.sun.ejb.containers.EJBLocalRemoteObject; -import com.sun.ejb.containers.EJBObjectImpl; -import com.sun.ejb.containers.util.pool.AbstractPool; -import com.sun.ejb.containers.util.pool.NonBlockingPool; -import com.sun.ejb.containers.util.pool.ObjectFactory; -import com.sun.ejb.monitoring.stats.EjbCacheStatsProvider; -import com.sun.ejb.monitoring.stats.EjbCacheStatsProviderDelegate; -import com.sun.ejb.monitoring.stats.EjbMonitoringStatsProvider; -import com.sun.ejb.monitoring.stats.EjbPoolStatsProvider; -import com.sun.ejb.portable.EJBMetaDataImpl; -import com.sun.ejb.portable.ObjrefEnumeration; -import com.sun.ejb.spi.container.BeanStateSynchronization; -import com.sun.enterprise.admin.monitor.callflow.ComponentType; -import com.sun.enterprise.deployment.MethodDescriptor; -import com.sun.enterprise.deployment.runtime.BeanPoolDescriptor; -import com.sun.enterprise.security.SecurityManager; -import com.sun.enterprise.transaction.api.JavaEETransaction; -import com.sun.logging.LogDomains; - -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.rmi.RemoteException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Enumeration; -import java.util.Iterator; -import java.util.Set; -import java.util.Stack; -import java.util.Vector; -import java.util.logging.Level; -import java.util.logging.Logger; - -import jakarta.ejb.*; -import jakarta.transaction.Status; -import jakarta.transaction.SystemException; -import jakarta.transaction.Transaction; - -import org.glassfish.api.invocation.ComponentInvocation; -import org.glassfish.ejb.config.EjbContainer; -import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.EjbDescriptor; -import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor; -import org.glassfish.ejb.deployment.descriptor.runtime.BeanCacheDescriptor; -import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbExtraDescriptors; -import org.glassfish.persistence.ejb.entitybean.container.cache.EJBObjectCache; -import org.glassfish.persistence.ejb.entitybean.container.cache.EJBObjectCacheListener; -import org.glassfish.persistence.ejb.entitybean.container.cache.FIFOEJBObjectCache; -import org.glassfish.persistence.ejb.entitybean.container.cache.UnboundedEJBObjectCache; -import org.glassfish.persistence.ejb.entitybean.container.spi.ReadOnlyEJBHome; -import org.glassfish.persistence.ejb.entitybean.container.spi.ReadOnlyEJBLocalHome; -import org.glassfish.persistence.ejb.entitybean.container.stats.EntityBeanStatsProvider; - -/** - * This class implements the Container interface for EntityBeans. - * It is responsible for instance & lifecycle management for BMP & CMP - * EntityBeans. - * The EntityContainer implements option B of the commit-time options - * described in the EJB2.0 spec section 10.5.9 - * It also implements optimistic concurrency (i.e. multiple non-exclusive - * bean instances per primary key) when there are multiple concurrent - * transactions on a EntityBean. - *

    - * The following sequence of actions happens for the EntityContainer, - * for each EJB lifecycle stage (note: getEJBObject, getContext, - * releaseContext, preInvokeTx, postInvokeTx are called from BaseContainer). - * 1. EJB Creation - * homeImpl.create, container.getContext, - * container.preInvokeTx, ejb.ejbCreate, container.postCreate, - * ejb.ejbPostCreate, container.postInvokeTx, container.releaseContext - * 2. EJB Finding - * homeImpl.find---, container.getContext, container.preInvokeTx, - * ejb.ejbFind---, container.postFind, container.postInvokeTx, - * container.releaseContext - * 3. EJB Invocation - * container.getEJBObject, ejbObject.someMethod, container.getContext, - * container.preInvokeTx, ejb.someMethod, container.postInvokeTx, - * container.releaseContext - *

    - * State Management: The EntityContainer manages collections of EJBs - * in different states. - * The 5 states of an EntityBean (an EJB can be in only 1 state at a time): - *

      - *
    1. POOLED : does not have identity. EJBs in the POOLED state are - * all identical, hence are maintained in a java.util.Vector, - * whose size is maintained below a HIGH_WATER_MARK (currently 100). - *
    2. READY : ready for invocations, no transaction in progress. - * EJBs in the READY state are associated with a primary key. - * To enhance reuse of EJB instances, only one READY - * EJB per primary key is stored. READY EJBs are managed by the - * ejbstore/EntityStore class. READY EJBs are looked up using a key consisting - * of the primary key and a null transaction context. - *
    3. INVOKING : processing an invocation. - * EJBs in the INVOKING state are not stored anywhere. Before transitioning - * from READY or INCOMPLETE_TX to INVOKING, the EJB is removed from the - * EntityStore. - *
    4. INCOMPLETE_TX : ready for invocations, transaction in progress. - * EJBs in the INCOMPLETE_TX state are associated with a primary key. - * INCOMPLETE_TX EJBs are managed by the ejbstore/EntityStore class. - * INCOMPLETE_TX EJBs are looked up using a composite key consisting - * of the primary key and the transaction context. - *
    5. DESTROYED : does not exist. - *
    - * All READY bean instances are stored in the readyStore. - * All INCOMPLETE_TX bean instances are stored in the ActiveTxCache. - * Beans in the READY state are stored with key = ejbObject. - * Beans in the INCOMPLETE_TX state are stored with key = ejbObject+Tx. - * Instances in INVOKING state which have transactions associated - * with them are also in ActiveTxCache. - * All POOLED instances are stored in the pooledEJBs vector. - * Note on locking order: if both ready/ActiveTxCache and context are to be - * locked, always acquire the context lock first, then the Store lock. - * Note on locking order: if both ready/ActiveTxCache and ejbObject need - * locks, always acquire the ejbObject lock first, then the Store lock. - * - * @author Mahesh Kannan - * @author Shanker N - * @author Pramod Gopinath - */ -public class EntityContainer extends BaseContainer implements CacheListener { - - private final ThreadLocal ejbServant = new ThreadLocal() { - @Override - protected Object initialValue() { - return null; - } - }; - - static final Logger _logger = LogDomains.getLogger(EntityContainer.class, LogDomains.EJB_LOGGER); - - static final int POOLED = 1, READY = 2, INVOKING = 3, INCOMPLETE_TX = 4, DESTROYED = 5; - protected static final int HIGH_WATER_MARK=100; - - private static final int DEFAULT_TX_CACHE_BUCKETS = 16; - - // table of EJBObjects, indexed by primary key. - // Note: Hashtable methods are synchronized. - protected EJBObjectCache ejbObjectStore; - - // table of EJBLocalObjectImpls, indexed by primary key. - // Note: Hashtable methods are synchronized. - protected EJBObjectCache ejbLocalObjectStore; - - //protected LIFOChannel channel = null; - protected Stack passivationCandidates = new Stack(); - - // table of EJBs (Contexts) in READY state, key is primary key - protected Cache readyStore; - - //Pool of free EntityContexts - protected AbstractPool entityCtxPool; - - protected boolean isReentrant; - protected boolean isContainerManagedPers; - - protected final float DEFAULT_LOAD_FACTOR = 0.75f; - protected final int DEFAULT_CACHE_SIZE = 8192; - protected int _maxBuckets = 8; - - protected IASEjbExtraDescriptors iased = null; - protected BeanCacheDescriptor beanCacheDes = null; - protected BeanPoolDescriptor beanPoolDes = null; - protected EjbContainer ejbContainer; - boolean largeCache = false; - - CacheProperties cacheProp = null; - PoolProperties poolProp = null; - Object asyncTaskSemaphore = new Object(); - boolean addedASyncTask = false; - - // a timer task to trim the beans idle in readyStore - protected IdleBeansPassivator idleEJBObjectPassivator; - protected IdleBeansPassivator idleLocalEJBObjectPassivator; - protected boolean defaultCacheEJBO = true; - - IdleBeansPassivator idleBeansPassivator; - boolean timerValid = true; - long idleTimeout; - - - protected int ejboRemoved; - - protected int totalPassivations; - protected int totalPassivationErrors; - - private EntityCacheStatsProvider cacheStatsProvider; - - static { - _logger.log(Level.FINE," Loading Entitycontainer..."); - } - - /** - * This constructor is called from the JarManager when a Jar is deployed. - * @exception Exception on error - */ - protected EntityContainer(EjbDescriptor desc, ClassLoader loader, SecurityManager sm) - throws Exception { - this(ContainerType.ENTITY, desc, loader, sm); - } - - protected EntityContainer(ContainerType containerType, EjbDescriptor desc, ClassLoader loader, SecurityManager sm) - throws Exception { - super(containerType, desc, loader, sm); - EjbEntityDescriptor ed = (EjbEntityDescriptor)desc; - isReentrant = ed.isReentrant(); - if ( ed.getPersistenceType().equals( - EjbEntityDescriptor.BEAN_PERSISTENCE) ) { - isContainerManagedPers = false; - } else { - isContainerManagedPers = true; - } - - isBeanManagedTran = false; - iased = ed.getIASEjbExtraDescriptors(); - if( iased != null) { - beanCacheDes = iased.getBeanCache(); - beanPoolDes = iased.getBeanPool(); - } - - ejbContainer = ejbContainerUtilImpl.getEjbContainer(); - - //TODO super.setMonitorOn(ejbContainer.isMonitoringEnabled()); - - createCaches(); - - super.createCallFlowAgent( - isContainerManagedPers ? ComponentType.CMP : ComponentType.BMP); - _logger.log(Level.FINE,"[EntityContainer] Created EntityContainer: " - + logParams[0]); - } - - @Override - protected void preInitialize(EjbDescriptor desc, ClassLoader loader) { - EjbEntityDescriptor ed = (EjbEntityDescriptor)desc; - isReentrant = ed.isReentrant(); - if ( ed.getPersistenceType().equals( - EjbEntityDescriptor.BEAN_PERSISTENCE) ) { - isContainerManagedPers = false; - } else { - isContainerManagedPers = true; - } - _logger.log(Level.FINE,"[EntityContainer] preInitialize==>isContainerManagedPers: " - + isContainerManagedPers); - } - - @Override - protected void setEJBMetaData() throws Exception { - EjbEntityDescriptor ed = (EjbEntityDescriptor)ejbDescriptor; - Class primaryKeyClass = loader.loadClass(ed.getPrimaryKeyClassName()); - - metadata = new EJBMetaDataImpl(ejbHomeStub, homeIntf, remoteIntf, primaryKeyClass); - } - - @Override - protected void validateTxAttr(MethodDescriptor md, int txAttr) throws EJBException { - super.validateTxAttr(md, txAttr); - - // For EJB2.0 CMP EntityBeans, container is only required to support - // REQUIRED/REQUIRES_NEW/MANDATORY, see EJB2.0 section 17.4.1. - if (((EjbEntityDescriptor)ejbDescriptor).getPersistenceType(). - equals(EjbEntityDescriptor.CONTAINER_PERSISTENCE)) { - EjbCMPEntityDescriptor e= (EjbCMPEntityDescriptor)ejbDescriptor; - if ( !e.getIASEjbExtraDescriptors().isIsReadOnlyBean() && - e.isEJB20() ) { - if ( txAttr != TX_REQUIRED && txAttr != TX_REQUIRES_NEW - && txAttr != TX_MANDATORY ) { - throw new EJBException( - "Transaction attribute for EJB2.0 CMP EntityBeans" + - " must be Required/RequiresNew/Mandatory"); - } - } - } - } - - @Override - protected void adjustHomeTargetMethodInfo(InvocationInfo invInfo, String methodName, - Class[] paramTypes) throws NoSuchMethodException { - if( invInfo.startsWithCreate ) { - String extraCreateChars = methodName.substring("create".length()); - invInfo.targetMethod2 = ejbClass.getMethod - ("ejbPostCreate" + extraCreateChars, paramTypes); - - } - } - - @Override - protected EJBHomeInvocationHandler getEJBHomeInvocationHandler( - Class homeIntfClass) throws Exception { - return new EntityBeanHomeImpl(ejbDescriptor, homeIntfClass); - } - - @Override - protected EJBLocalHomeInvocationHandler getEJBLocalHomeInvocationHandler( - Class homeIntfClass) throws Exception { - return new EntityBeanLocalHomeImpl(ejbDescriptor, homeIntfClass); - } - - /** - * setup a timer task to trim timed out entries in the cache. - * @param cache cache which is used to setup the timer task - * @return the passivator object - */ - public IdleBeansPassivator setupIdleBeansPassivator(Cache cache) - throws Exception { - - IdleBeansPassivator idleBeansPassivator = - new IdleBeansPassivator(cache); - - ejbContainerUtilImpl.getTimer(). - scheduleAtFixedRate(idleBeansPassivator, idleTimeout, idleTimeout); - - return idleBeansPassivator; - } - - /** - * cancel a timer task to trim timed out entries in the cache. - */ - public void cancelTimerTasks() { - timerValid = false; - if (idleBeansPassivator != null) { - try { - idleBeansPassivator.cancel(); - idleBeansPassivator.cache = null; - } catch (Exception e) { - _logger.log(Level.FINE, "[EntityContainer] cancelTimerTask: " + - e); - } - } - - if (idleEJBObjectPassivator != null) { - try { - idleEJBObjectPassivator.cancel(); - idleEJBObjectPassivator.cache = null; - } catch (Exception e) { - _logger.log(Level.FINE, "[EntityContainer] cancelTimerTask: " + - e); - } - } - - if (idleLocalEJBObjectPassivator != null) { - try { - idleLocalEJBObjectPassivator.cancel(); - idleLocalEJBObjectPassivator.cache = null; - } catch (Exception e) { - _logger.log(Level.FINE, "[EntityContainer] cancelTimerTask: " + - e); - } - } - - this.idleEJBObjectPassivator = null; - this.idleLocalEJBObjectPassivator = null; - this.idleBeansPassivator = null; - } - - @Override - protected InvocationInfo postProcessInvocationInfo( - InvocationInfo invInfo) { - Method method = invInfo.method; - boolean isCMPField = isContainerManagedPers && invInfo.isBusinessMethod - && invInfo.methodIntf.equals(MethodDescriptor.EJB_LOCAL); - if (isCMPField) { - String methodName = method.getName(); - isCMPField = methodName.startsWith("get") - || methodName.startsWith("set"); - if (isCMPField) { - try { - //ejbClass is the container-generated implementation class. - //Need to get its superclass, which is provided by the bean provider. - Method methodInBeanClass = ejbClass.getSuperclass().getMethod( - methodName, method.getParameterTypes()); - isCMPField = Modifier.isAbstract(methodInBeanClass.getModifiers()); - } catch (NoSuchMethodException ignore) { - isCMPField = false; - } - } - } - invInfo.isTxRequiredLocalCMPField = isCMPField - && (invInfo.txAttr == TX_REQUIRED); - return invInfo; - } - - /** - * Called from the ContainerFactory during initialization. - */ - @Override - protected void initializeHome() - throws Exception - { - ObjectFactory entityCtxFactory = new EntityContextFactory(this); - - int steadyPoolSize = 0; - int resizeQuantity = 10; - int idleTimeoutInSeconds = Integer.MAX_VALUE-1; - poolProp = new PoolProperties(this); - - super.initializeHome(); - - entityCtxPool = new NonBlockingPool(getContainerId(), ejbDescriptor.getName(), - entityCtxFactory, poolProp.steadyPoolSize, - poolProp.poolResizeQuantity, poolProp.maxPoolSize, - poolProp.poolIdleTimeoutInSeconds, loader); - - - registerMonitorableComponents(); - } - - @Override - protected void registerMonitorableComponents() { - super.registerMonitorableComponents(); - if (readyStore != null) { - int confMaxCacheSize = cacheProp.maxCacheSize; - if (confMaxCacheSize <= 0) { - confMaxCacheSize = Integer.MAX_VALUE; - } - this.cacheStatsProvider = new EntityCacheStatsProvider( - (BaseCache) readyStore, confMaxCacheSize); - //registryMediator.registerProvider(cacheStatsProvider); - cacheProbeListener = new EjbCacheStatsProvider(cacheStatsProvider, - getContainerId(), containerInfo.appName, containerInfo.modName, - containerInfo.ejbName); - cacheProbeListener.register(); - } - poolProbeListener = new EjbPoolStatsProvider(entityCtxPool, - getContainerId(), containerInfo.appName, containerInfo.modName, - containerInfo.ejbName); - poolProbeListener.register(); - _logger.log(Level.FINE, "[Entity Container] registered monitorable"); - } - - @Override - protected EjbMonitoringStatsProvider getMonitoringStatsProvider( - String appName, String modName, String ejbName) { - return new EntityBeanStatsProvider(this, getContainerId(), appName, modName, ejbName); - } - - @Override - public void onReady() { - } - -/** TODO - public String getMonitorAttributeValues() { - StringBuilder sbuf = new StringBuilder(); - appendStats(sbuf); - return sbuf.toString(); - } - - public void appendStats(StringBuilder sbuf) { - sbuf.append("\nEntityContainer: ") - .append("CreateCount=").append(statCreateCount).append("; ") - .append("RemoveCount=").append(statRemoveCount).append("; ") - .append("PassQSize=") - .append(passivationCandidates.size()).append("]"); - Map stats = null; - if (readyStore != null) { - stats = readyStore.getStats(); - } - appendStat(sbuf, "ReadyStore", stats); - - appendStat(sbuf, "EJBObjectStore", ejbObjectStore.getStats()); - appendStat(sbuf, "EJBLocalObjectStore",ejbLocalObjectStore.getStats()); - } -**/ - - /****************************/ - //Methods of EntityBeanStatsProvider - - public int getMaxCacheSize() { - int maxSize = 0; - if (readyStore != null) { - maxSize = (cacheProp.maxCacheSize <= 0) ? Integer.MAX_VALUE : cacheProp.maxCacheSize; - } - return maxSize; - } - - public int getSteadyPoolSize() { - return entityCtxPool.getSteadyPoolSize(); - } - - public int getMaxPoolSize() { - return entityCtxPool.getMaxPoolSize(); - } - - public long getPooledCount() { - return entityCtxPool.getSize(); - } - - public long getReadyCount() { - return (readyStore == null) ? 0 : readyStore.getEntryCount(); - } - - /** - * Implementation of BaseContainer method. This is never called. - */ - @Override - protected EJBObjectImpl createEJBObjectImpl() throws CreateException, RemoteException { - throw new EJBException("INTERNAL ERROR: EntityContainer.createEJBObject() called"); - } - - @Override - protected EJBLocalObjectImpl createEJBLocalObjectImpl() throws CreateException { - throw new EJBException("INTERNAL ERROR: EntityContainer.createEJBLocalObjectImpl() called"); - } - - /** - * Called when a remote EjbInvocation arrives for an EJB. - */ - @Override - protected EJBObjectImpl getEJBObjectImpl(byte[] streamKey) { - // First get the primary key of the EJB - Object primaryKey; - try { - primaryKey = EJBUtils.deserializeObject(streamKey, loader, false, getApplicationId()); - } catch ( Exception ex ) { - throw new EJBException(ex); - } - - return internalGetEJBObjectImpl(primaryKey, streamKey); - } - - - /** - * Called from EJBLocalObjectImpl.getLocalObject() while deserializing - * a local object reference. - */ - @Override - protected EJBLocalObjectImpl getEJBLocalObjectImpl(Object key) { - return internalGetEJBLocalObjectImpl(key); - } - - /** - * Called from BaseContainer.preInvoke which is called from the EJBObject - * for local and remote invocations, and from the EJBHome for create/find. - */ - @Override - protected ComponentContext _getContext(EjbInvocation inv) { - if ( inv.invocationInfo.isCreateHomeFinder ) { - // create*, find*, home methods - // Note: even though CMP finders dont need an instance, - // we still return a pooled instance, so that the Tx demarcation - // in BaseContainer.pre+postInvoke can work. - - // get any pooled EJB - EntityContextImpl context = getPooledEJB(); - - // we're sure that no concurrent thread can be using this - // context, so no need to synchronize. - context.setState(BeanState.INVOKING); - - if ( inv.invocationInfo.startsWithCreate ) { - preCreate(inv, context); - } else if ( inv.invocationInfo.startsWithFind ) { - preFind(inv, context); - } - - - context.setLastTransactionStatus(-1); - context.incrementCalls(); - - return context; - } - - // If we came here, it means this is a business method - // and there is an EJBObject/LocalObject. - - // If we would invoke the EJB with the client's Tx, - // try to get an EJB with that incomplete Tx. - EntityContextImpl context = null; - if ( willInvokeWithClientTx(inv) ) { - context = getEJBWithIncompleteTx(inv); - } - if ( context == null ) { - context = getReadyEJB(inv); - } - - synchronized ( context ) { - if ( context.isInState(BeanState.INVOKING) && !isReentrant ) { - throw new EJBException( - "EJB is already executing another request"); - } - if (context.isInState(BeanState.POOLED) || - context.isInState(BeanState.DESTROYED)) { - // somehow a concurrent thread must have changed state. - // this is an internal error. - throw new EJBException("Internal error: unknown EJB state"); - } - - context.setState(BeanState.INVOKING); - } - - context.setLastTransactionStatus(-1); - context.incrementCalls(); - // A business method may modify the bean's state - context.setDirty(true); - - return context; - } - - protected boolean willInvokeWithClientTx(EjbInvocation inv) { - int status = Status.STATUS_UNKNOWN; - try { - Integer preInvokeTxStatus = inv.getPreInvokeTxStatus(); - status = (preInvokeTxStatus != null) ? - preInvokeTxStatus.intValue() : transactionManager.getStatus(); - } catch ( SystemException ex ) { - throw new EJBException(ex); - } - if ( status != Status.STATUS_NO_TRANSACTION ) { - int txAttr = inv.invocationInfo.txAttr; - switch (txAttr) { - case TX_SUPPORTS: - case TX_REQUIRED: - case TX_MANDATORY: - return true; - } - } - return false; - } - - - - /** - * This is called from BaseContainer.postInvoke after - * EntityContainer.preInvokeTx has been called. - */ - @Override - public void releaseContext(EjbInvocation inv) { - EntityContextImpl context = (EntityContextImpl)inv.context; - boolean decrementedCalls = false; // End of IAS 4661771 - - if ( context.isInState(BeanState.DESTROYED) ) { - return; - } - - try { - if ( context.hasReentrantCall() ) { - // For biz->biz or postCreate->biz, the bean instance will - // remain in the incomplete-tx table. - if ( containerStateManager.isRemovedEJBObject(inv) ) { - // biz -> remove case (biz method invoked reentrant remove) - // Remove from IncompleteTx table, to prevent further - // reentrant calls. - removeIncompleteTxEJB(context, true); - - containerStateManager.disconnectContext(context); - } else { - if ( context.isInState(BeanState.INVOKING) ) { - doFlush( inv ); - } - } - - // Note: at this point context.getState() is INVOKING. - } else if ( containerStateManager.isNullEJBObject(context) - && containerStateManager.isNullEJBLocalObject(context) ) { - // This can only happen if the method was ejbFind - // OR if the method was ejbCreate which threw an application - // exception (so postCreate was not called) - // OR after a biz method which called a reentrant remove. - // So bean instance goes back into pool. - // We dont care if any Tx has completed or not. - //context.setTransaction(null); - decrementedCalls = true; - context.decrementCalls(); - if (!(inv.invocationInfo.startsWithCreate)) { - context.setTransaction(null); - addPooledEJB(context); - }else if(context.getTransaction() == null) { - addPooledEJB(context); - } else { - // Set the state to incomplete as the transaction - // is not done still and afterCompletion will - // handle stuff - context.setState(BeanState.INCOMPLETE_TX); - } - } else if ( containerStateManager.isRemovedEJBObject(inv) ) { - // EJBObject/LocalObject was removed, so bean instance - // goes back into pool. - // We dont care if any Tx has completed or not. - removeIncompleteTxEJB(context, true); - // unset the removed flag, in case the EJB(Local)Object - // ref is held by the client and is used again - containerStateManager.markObjectRemoved(context, false); - - decrementedCalls = true; - context.decrementCalls(); - if(context.getTransaction() == null) { - addPooledEJB(context); - } else { - // Set the state to incomplete as the transaction - // is not done still and afterCompletion will - // handle stuff - context.setState(BeanState.INCOMPLETE_TX); - } - - } else if ( context.getTransaction() == null ) { - // biz methods and ejbCreate - // Either the EJB was called with no tx, - // or it was called with a tx which finished, - // so afterCompletion was already called. - - // If no tx or tx committed, then move the EJB to READY state - // else pool the bean - int status = context.getLastTransactionStatus(); - decrementedCalls = true; - context.decrementCalls(); - context.setLastTransactionStatus(-1); - if ( status == -1 || status == Status.STATUS_COMMITTED - || status == Status.STATUS_NO_TRANSACTION ) { - addReadyEJB(context); - } else { - passivateAndPoolEJB(context); - } - } else { - // biz methods and ejbCreate - // The EJB is still associated with a Tx. - // It will already be in the INCOMPLETE_TX table. - context.setState(BeanState.INCOMPLETE_TX); - - doFlush( inv ); - } - } catch ( Exception ex ) { - _logger.log(Level.FINE, "entitybean.container.release_context_exception", - logParams); - _logger.log(Level.FINE, "",ex); - throw new EJBException(ex); - } finally { - if (decrementedCalls == false) { - context.decrementCalls(); - } - context.touch(); - } - } - - - /** - * Called from getContext before the ejb.ejbCreate is called - */ - protected void preCreate(EjbInvocation inv, EntityContextImpl context) { - ejbProbeNotifier.ejbBeanCreatedEvent( - getContainerId(), containerInfo.appName, containerInfo.modName, - containerInfo.ejbName); - } - - - /** - * This is called from the generated "HelloEJBHomeImpl" create* method, - * after ejb.ejbCreate() has been called and before ejb.ejbPostCreate() - * is called. - * Note: postCreate will not be called if ejbCreate throws an exception - */ - @Override - public void postCreate(EjbInvocation inv, Object primaryKey) throws CreateException { - if ( primaryKey == null ) { - throw new EJBException( - "Null primary key returned by ejbCreate method"); - } - - if ( (isRemote) && (!inv.isLocal) ) { - // remote EjbInvocation: create EJBObject - EJBObjectImpl ejbObjImpl = internalGetEJBObjectImpl(primaryKey, null, true); - - // associate the context with the ejbObject - containerStateManager.attachObject(inv, (EJBContextImpl)inv.context, ejbObjImpl, null); - } - - if ( isLocal ) { - // create EJBLocalObject irrespective of local/remote EjbInvocation - // this is necessary to make EntityContext.getPrimaryKey and - // EntityContext.getEJBObject work. - EJBLocalObjectImpl localObjImpl = internalGetEJBLocalObjectImpl(primaryKey, true); - - // associate the context with the ejbLocalObject - containerStateManager.attachObject(inv, (EJBContextImpl)inv.context, null, localObjImpl); - } - - EntityContextImpl context = (EntityContextImpl)inv.context; - if ( context.getTransaction() != null ) { - // Add EJB to INCOMPLETE_TX table so that concurrent/loopback - // invocations will be correctly handled - addIncompleteTxEJB(context); - } - - context.setDirty(true); // ejbPostCreate could modify state - } - - //Called from EJB(Local)HomeInvocationHandler - //Note: preFind is already called from getContext - @Override - protected Object invokeFindByPrimaryKey(Method method, - EjbInvocation inv, Object[] args) - throws Throwable - { - Object pKeys = super.invokeTargetBeanMethod(method, - inv, inv.ejb, args); - return postFind(inv, pKeys, null); - } - - @Override - protected void authorizeLocalGetPrimaryKey(EJBLocalRemoteObject ejbObj) - throws EJBException { - authorizeLocalMethod(BaseContainer.EJBLocalObject_getPrimaryKey); - checkExists(ejbObj); - } - - @Override - protected void authorizeRemoteGetPrimaryKey(EJBLocalRemoteObject ejbObj) - throws RemoteException { - authorizeRemoteMethod(BaseContainer.EJBObject_getPrimaryKey); - } - - /** - * Called from getContext before the ejb.ejbFind* is called - */ - protected void preFind(EjbInvocation inv, EntityContextImpl context) { - // if the finder is being invoked with the client's transaction, - // call ejbStore on all dirty bean instances associated with that - // transaction. This ensures that the finder results will include - // all updates done previously in the client's tx. - if ( willInvokeWithClientTx(inv) && - !inv.method.getName().equals("findByPrimaryKey") ) { - Transaction tx = null; - try { - tx = transactionManager.getTransaction(); - } catch ( SystemException ex ) { - throw new EJBException(ex); - } - - storeAllBeansInTx( tx ); - } - - } - - /** - * Called from CMP PersistentManager - */ - @Override - public void preSelect() throws jakarta.ejb.EJBException { - // if the ejbSelect is being invoked with the client's transaction, - // call ejbStore on all dirty bean instances associated with that - // transaction. This ensures that the select results will include - // all updates done previously in the client's tx. - _logger.fine(" inside preSelect..."); - Transaction tx = null; - try { - _logger.fine("PRESELECT : getting transaction..."); - tx = transactionManager.getTransaction(); - } catch (SystemException ex) { - throw new EJBException(ex); - } - _logger.fine("PRESELECT : calling storeAllBeansInTx()..."); - storeAllBeansInTx(tx); - } - - /** - * Convert a collection of primary keys to a collection of EJBObjects. - * (special case: single primary key). - * Note: the order of input & output collections must be maintained. - * Null values are preserved in both the single primary key return - * and collection-valued return cases. - * - * This is called from the generated "HelloEJBHomeImpl" find* method, - * after ejb.ejbFind**() has been called. - * Note: postFind will not be called if ejbFindXXX throws an exception - */ - @Override - public Object postFind(EjbInvocation inv, Object primaryKeys, Object[] findParams) throws FinderException { - - if ( primaryKeys instanceof Enumeration ) { - // create Enumeration of objrefs from Enumeration of primaryKeys - Enumeration e = (Enumeration)primaryKeys; - // this is a portable Serializable Enumeration - ObjrefEnumeration objrefs = new ObjrefEnumeration(); - while ( e.hasMoreElements() ) { - Object primaryKey = e.nextElement(); - Object ref; - if( primaryKey != null ) { - if ( inv.isLocal ) { - ref = getEJBLocalObjectForPrimaryKey(primaryKey); - } else { - ref = getEJBObjectStub(primaryKey, null); - } - objrefs.add(ref); - } else { - objrefs.add(null); - } - } - return objrefs; - } else if ( primaryKeys instanceof Collection ) { - // create Collection of objrefs from Collection of primaryKeys - Collection c = (Collection)primaryKeys; - Iterator it = c.iterator(); - ArrayList objrefs = new ArrayList(); // a Serializable Collection - while ( it.hasNext() ) { - Object primaryKey = it.next(); - Object ref; - if( primaryKey != null ) { - if ( inv.isLocal ) { - ref = getEJBLocalObjectForPrimaryKey(primaryKey); - } else { - ref = getEJBObjectStub(primaryKey, null); - } - objrefs.add(ref); - } else { - objrefs.add(null); - } - } - return objrefs; - } else { - if( primaryKeys != null ) { - if ( inv.isLocal ) { - return getEJBLocalObjectForPrimaryKey(primaryKeys); - } else { - return getEJBObjectStub(primaryKeys, null); - } - } else { - return null; - } - } - } - - /** - * Called only from the Persistence Manager for EJB2.0 CMP EntityBeans. - * This is a private API between the PM and Container because there - * is no standard API defined in EJB2.0 for the PM to get an EJBObject - * for a primary key (home.findByPrimaryKey cant be used because it may - * not run in the same tx). - */ - @Override - public EJBObject getEJBObjectForPrimaryKey(Object pkey) { - // create stub without creating EJBObject - return getEJBObjectStub(pkey, null); - } - - /** - * Called only from the Persistence Manager for EJB2.0 CMP EntityBeans. - * Called only during cascade delete...... - * This is a private API between the PM and Container because there - * is no standard API defined in EJB2.0 for the PM to get an EJBLocalObject - * for a primary key (findByPrimaryKey cant be used because it may - * not run in the same tx). - * - * Example 1: - * A cascadeDeletes B and B calls getA() (expected return value: null) - * - * In the above case, getA() eventualy calls getEJBLocalObjectForPrimaryKey(PK_of_A, Ctx_of_B) - * We first check if B is in the process of being cascade deleted by checking the - * cascadeDeleteBeforeEJBRemove flag. If this flag is true, only then we bother to check if - * the Context associated with the PK_of_A in this transaction is marked for cascade delete - * which can be figured out by checking isCascadeDeleteAfterSuperEJBRemove() in A's context. - * If A is marked for cascade delete then we return null else the EJBLocalObject associated - * with A. - * - * Example 2: - * C cascadeDeletes B and B calls getA() (expected return value: EJBLocalObject for PK_of_A) - * - * In the above case, getA() eventualy calls getEJBLocalObjectForPrimaryKey(PK_of_A, Ctx_of_B) - * We first check if B is in the process of being cascade deleted by checking the - * cascadeDeleteBeforeEJBRemove flag. This flag will be true, and hence we check if - * the Context associated with the PK_of_A in this transaction is marked for cascade delete - * which can be figured out by checking isCascadeDeleteAfterSuperEJBRemove() in A's context. - * In this case this flag will be false and hcen we return the ejbLocalObject - * Example 2: - * B is *NOT* cascade deleted and B calls getA() (expected return value: EJBLocalObject for PK_of_A) - * - * In the above case, getA() eventualy calls getEJBLocalObjectForPrimaryKey(PK_of_A, Ctx_of_B) - * We first check if B is in the process of being cascade deleted by checking the - * cascadeDeleteBeforeEJBRemove flag. This flag will be FALSE, and hence we do not make - * any further check and return the EJBLocalObject associated with A - * - * @param pkey The primary key for which the EJBLocalObject is required - * @param ctx The context associated with the bean from which the accessor method is invoked - * @return The EJBLocalObject associated with the PK or null if it is cascade deleted. - * - */ - @Override - public EJBLocalObject getEJBLocalObjectForPrimaryKey - (Object pkey, EJBContext ctx) { - // EntityContextImpl should always be used in conjunction with EntityContainer so we can always cast - assert ctx instanceof EntityContextImpl; - EntityContextImpl context = (EntityContextImpl) ctx; - EJBLocalObjectImpl ejbLocalObjectImpl = - internalGetEJBLocalObjectImpl(pkey); - - if (context.isCascadeDeleteBeforeEJBRemove()) { - JavaEETransaction current = null; - try { - current = (JavaEETransaction) transactionManager.getTransaction(); - } catch ( SystemException ex ) { - throw new EJBException(ex); - } - ActiveTxCache activeTxCache = (current == null) ? null : - (ActiveTxCache) (ejbContainerUtilImpl.getActiveTxCache(current)); - if (activeTxCache != null) { - EntityContextImpl ctx2 = activeTxCache.get(this, pkey); - if ((ctx2 != null) && - (ctx2.isCascadeDeleteAfterSuperEJBRemove())) { - return null; - } - } - return (EJBLocalObject) ejbLocalObjectImpl.getClientObject(); - } - - return (EJBLocalObject) ejbLocalObjectImpl.getClientObject(); - } - - /** - * Called only from the Persistence Manager for EJB2.0 CMP EntityBeans. - * This is a private API between the PM and Container because there - * is no standard API defined in EJB2.0 for the PM to get an EJBLocalObject - * for a primary key (findByPrimaryKey cant be used because it may - * not run in the same tx). - */ - @Override - public EJBLocalObject getEJBLocalObjectForPrimaryKey(Object pkey) { - EJBLocalObjectImpl localObjectImpl = internalGetEJBLocalObjectImpl(pkey); - return (localObjectImpl != null) ? - (EJBLocalObject) localObjectImpl.getClientObject() : null; - } - - // Called from EJBHomeImpl.remove(primaryKey), - // EJBLocalHomeImpl.remove(primaryKey) - @Override - protected void doEJBHomeRemove(Object primaryKey, Method removeMethod, boolean local) - throws RemoveException, EJBException, RemoteException { - final EJBLocalRemoteObject ejbo; - if (local) { - ejbo = internalGetEJBLocalObjectImpl(primaryKey, false, true); - } else { // may be remote-only bean - ejbo = internalGetEJBObjectImpl(primaryKey, null, false, true); - } - removeBean(ejbo, removeMethod, local); - } - - // Called from EJBObjectImpl.remove, EJBLocalObjectImpl.remove, - // and removeBean above. - @Override - protected void removeBean(EJBLocalRemoteObject ejbo, Method removeMethod, boolean local) - throws RemoveException, EJBException, RemoteException { - EjbInvocation i = super.createEjbInvocation(); - i.ejbObject = ejbo; - i.isLocal = local; - i.isRemote = !local; - i.method = removeMethod; - - // Method must be a remove method defined on one of : - // jakarta.ejb.EJBHome, jakarta.ejb.EJBObject, jakarta.ejb.EJBLocalHome, - // jakarta.ejb.EJBLocalObject - Class declaringClass = removeMethod.getDeclaringClass(); - i.isHome = ( (declaringClass == jakarta.ejb.EJBHome.class) || - (declaringClass == jakarta.ejb.EJBLocalHome.class) ); - - try { - preInvoke(i); - removeBean(i); - } catch(Exception e) { - _logger.log(Level.SEVERE,"entitybean.container.preinvoke_exception",logParams); - _logger.log(Level.SEVERE,"",e); - i.exception = e; - } finally { - postInvoke(i); - } - - if(i.exception != null) { - if(i.exception instanceof RemoveException) { - throw (RemoveException)i.exception; - } - else if(i.exception instanceof RuntimeException) { - throw (RuntimeException)i.exception; - } - else if(i.exception instanceof Exception) { - throw new EJBException((Exception)i.exception); - } - else { - EJBException ejbEx = new EJBException(); - ejbEx.initCause(i.exception); - throw ejbEx; - } - } - } - - - /** - * container.preInvoke() must already be done. - * So this will be called with the proper Tx context. - * @exception RemoveException if an error occurs while removing the bean - */ - protected void removeBean(EjbInvocation inv) throws RemoveException { - try { - ejbProbeNotifier.ejbBeanDestroyedEvent( // - getContainerId(), containerInfo.appName, containerInfo.modName, containerInfo.ejbName); - // Note: if there are concurrent invocations/transactions in - // progress for this ejbObject, they will be serialized along with - // this remove by the database. So we optimistically do ejbRemove. - - // call ejbRemove on the EJB - // the EJB is allowed to veto the remove by throwing RemoveException - EntityBean ejb = (EntityBean)inv.ejb; - EntityContextImpl context = (EntityContextImpl)inv.context; - callEJBRemove(ejb, context); - - // inv.ejbObject could be a EJBObject or a EJBLocalObject - Object primaryKey = getInvocationKey(inv); - if ( isRemote ) { - removeEJBObjectFromStore(primaryKey); - } - - if ( isLocal ) { - // Remove the EJBLocalObject from ejbLocalObjectStore - ejbLocalObjectStore.remove(primaryKey); - } - - // Mark EJB as removed. Now releaseContext will add bean to pool - containerStateManager.markObjectRemoved(context, true); - - // Remove any timers for this entity bean identity. - cancelTimers(primaryKey); - } catch ( RemoveException ex ) { - if(_logger.isLoggable(Level.FINE)) { - _logger.log(Level.FINE,"entitybean.container.local_remove_exception",logParams); - _logger.log(Level.FINE,"",ex); - } - throw ex; - } catch ( Exception ex ) { - if(_logger.isLoggable(Level.FINE)) { - _logger.log(Level.FINE,"entitybean.container.remove_bean_exception",logParams); - _logger.log(Level.FINE,"",ex); - } - throw new EJBException(ex); - } - } - - private void removeEJBObjectFromStore(Object primaryKey) { - removeEJBObjectFromStore(primaryKey, true); - } - - ComponentInvocation getCurrentInvocation() { - return invocationManager.getCurrentInvocation(); - } - - private void removeEJBObjectFromStore(Object primaryKey, boolean decrementRefCount) { - // Remove the EJBObject from ejbObjectStore so future lookups - // in internalGetEJBObject will not get it. - EJBObjectImpl ejbObjImpl = - (EJBObjectImpl)ejbObjectStore.remove(primaryKey, decrementRefCount); - - if ( ejbObjImpl != null ) { - synchronized ( ejbObjImpl ) { - // disconnect the EJBObject from the ProtocolManager - // so that no remote invocations can reach the EJBObject - remoteHomeRefFactory.destroyReference(ejbObjImpl.getStub(), - ejbObjImpl.getEJBObject()); - } - } - } - - /** - * Remove a bean. Used by the PersistenceManager. - * This is needed because the PM's remove must bypass tx/security checks. - */ - @Override - public void removeBeanUnchecked(EJBLocalObject localObj) { - // First convert client EJBLocalObject to EJBLocalObjectImpl - EJBLocalObjectImpl localObjectImpl = - EJBLocalObjectImpl.toEJBLocalObjectImpl(localObj); - internalRemoveBeanUnchecked(localObjectImpl, true); - } - - - /** - * Remove a bean. Used by the PersistenceManager. - * This is needed because the PM's remove must bypass tx/security checks. - */ - @Override - public void removeBeanUnchecked(Object primaryKey) { - EJBLocalRemoteObject ejbo; - if ( isLocal ) { - ejbo = internalGetEJBLocalObjectImpl(primaryKey); - internalRemoveBeanUnchecked(ejbo, true); - } - else { // remote-only bean - ejbo = internalGetEJBObjectImpl(primaryKey, null); - internalRemoveBeanUnchecked(ejbo, false); - } - } - - /** - * Remove a bean. Used by the PersistenceManager. - * This is needed because the PM's remove must bypass tx/security checks. - */ - private void internalRemoveBeanUnchecked(EJBLocalRemoteObject localRemoteObj, boolean local) { - EjbInvocation inv = super.createEjbInvocation(); - inv.ejbObject = localRemoteObj; - inv.isLocal = local; - inv.isRemote = !local; - Method method=null; - try { - method = EJBLocalObject.class.getMethod("remove", NO_PARAMS); - } catch (NoSuchMethodException e) { - _logger.log(Level.FINE, "Exception in internalRemoveBeanUnchecked()", e); - } - inv.method = method; - inv.invocationInfo = invocationInfoMap.get(method); - - try { - // First get a bean instance on which ejbRemove can be invoked. - // This code must be in sync with getContext(). - // Can't call getContext() directly because it does stuff - // based on remove's txAttr. - // Assume there is a tx on the current thread. - EntityContextImpl context = getEJBWithIncompleteTx(inv); - if (context == null) { - context = getReadyEJB(inv); - } - - synchronized (context) { - if (context.isInState(BeanState.INVOKING) && !isReentrant) { - throw new EJBException("EJB is already executing another request"); - } - if (context.isInState(BeanState.POOLED) || context.isInState(BeanState.DESTROYED)) { - // somehow a concurrent thread must have changed state. - // this is an internal error. - throw new EJBException("Internal error: unknown EJB state"); - } - - context.setState(BeanState.INVOKING); - } - inv.context = context; - context.setLastTransactionStatus(-1); - context.incrementCalls(); - - inv.instance = inv.ejb = context.getEJB(); - inv.setContainer(this); - invocationManager.preInvoke(inv); - - // call ejbLoad if necessary - useClientTx(context.getTransaction(), inv); - - try { - context.setCascadeDeleteBeforeEJBRemove(true); - removeBean(inv); - } catch (Exception ex) { - _logger.log(Level.FINE, "Exception in internalRemoveBeanUnchecked()", ex); - // if system exception mark the tx for rollback - inv.exception = checkExceptionClientTx(context, ex); - } - if (inv.exception != null) { - throw inv.exception; - } - } catch (RuntimeException ex) { - throw ex; - } catch (Exception ex) { - throw new EJBException(ex); - } catch (Throwable ex) { - throw (EJBException) new EJBException().initCause(ex); - } finally { - invocationManager.postInvoke(inv); - releaseContext(inv); - } - } - - /** - * Discard the bean instance. The bean's persistent state is not removed. - * This is usually called when the bean instance throws a system exception, - * from BaseContainer.postInvokeTx, getReadyEJB, - * afterBegin, beforeCompletion, passivateEJB. - */ - @Override - protected void forceDestroyBean(EJBContextImpl ctx) { - // Something bad happened (such as a RuntimeException), - // so kill the bean and let it be GC'ed - // Note: EJB2.0 section 18.3.1 says that discarding an EJB - // means that no methods other than finalize() should be invoked on it. - - EntityContextImpl context = (EntityContextImpl)ctx; - if ( context.isInState(BeanState.DESTROYED) ) { - entityCtxPool.destroyObject(null); - return; - } - - // Start of IAS 4661771 - synchronized ( context ) { - try { - Object primaryKey = context.getPrimaryKey(); - if (primaryKey != null) { - if (context.getTransaction() != null) { - Transaction txCurrent = context.getTransaction(); - ActiveTxCache activeTxCache = (ActiveTxCache) ejbContainerUtilImpl.getActiveTxCache(txCurrent); - if (activeTxCache != null) { - // remove the context from the store - activeTxCache.remove(this, primaryKey); - } - } - - // remove the context from readyStore as well - removeContextFromReadyStore(primaryKey, context); - - if (!containerStateManager.isNullEJBObject(context)) { - removeEJBObjectFromStore(primaryKey); - } - if (!containerStateManager.isNullEJBLocalObject(context)) { - ejbLocalObjectStore.remove(primaryKey); - } - - } - } catch ( Exception ex ) { - _logger.log(Level.FINE, "Exception in forceDestroyBean()", ex); - } finally { - try { - //Very importatnt to set the state as destroyed otherwise - // the pool.destroy might wrongly call unsetEntityContext - context.setState(BeanState.DESTROYED); - entityCtxPool.destroyObject(context); - } catch (Exception ex) { - _logger.log(Level.FINE, "Exception in forceDestroyBean()", - ex); - } - } - } - // End of IAS 4661771 - } - - - // Called before invoking a bean with no Tx or with a new Tx. - // Check if the bean is associated with an unfinished tx. - @Override - protected void checkUnfinishedTx(Transaction prevTx, EjbInvocation inv) { - - try { - if ( (prevTx != null) && - prevTx.getStatus() != Status.STATUS_NO_TRANSACTION ) { - // An unfinished tx exists for the bean. - // so we cannot invoke the bean with no Tx or a new Tx. - throw new IllegalStateException( - "Bean is associated with a different unfinished transaction"); - } - } catch (SystemException ex) { - throw new EJBException(ex); - } - } - - - /** - * Check if the given EJBObject/LocalObject has been removed. - * Called before executing non-business methods of EJBLocalObject. - * @exception NoSuchObjectLocalException if the object has been removed. - */ - @Override - protected void checkExists(EJBLocalRemoteObject ejbObj) { - // Need to call ejbLoad to see if persistent state is removed. - // However, the non-business methods dont have a transaction attribute. - // So do nothing for now. - } - - // Called from BaseContainer.SyncImpl - @Override - protected void afterBegin(EJBContextImpl ctx) { - EntityContextImpl context = (EntityContextImpl)ctx; - - // Note: EntityBeans are not allowed to be TX_BEAN_MANAGED - if ( context.isInState(BeanState.DESTROYED) ) { - return; - } - - if ( !containerStateManager.isNullEJBObject(context) - || !containerStateManager.isNullEJBLocalObject(context) ) { - // ejbLoad needed only for business methods and removes - - // Add EJB to INCOMPLETE_TX table so that concurrent/loopback - // invocations will be correctly handled - if ( context.getTransaction() != null ) { - addIncompleteTxEJB(context); - } - - // need to call ejbLoad since there can be more than - // one active EJB instance per primaryKey. (Option B in 9.11.5). - EntityBean e = (EntityBean)context.getEJB(); - try { - callEJBLoad(e, context, true); - } catch ( NoSuchEntityException ex ) { - _logger.log(Level.FINE, "Exception in afterBegin()", ex); - // Error during ejbLoad, so discard bean: EJB2.0 18.3.3 - forceDestroyBean(context); - - throw new NoSuchObjectLocalException( // - "NoSuchEntityException thrown by ejbLoad, EJB instance discarded", ex); - } catch ( Exception ex ) { - // Error during ejbLoad, so discard bean: EJB2.0 18.3.3 - forceDestroyBean(context); - - throw new EJBException(ex); - } - - context.setNewlyActivated(false); - } - } - - // Called from BaseContainer.SyncImpl.beforeCompletion, postInvokeNoTx - @Override - protected void beforeCompletion(EJBContextImpl ctx) { - EntityContextImpl context = (EntityContextImpl)ctx; - if ( context.isInState(BeanState.DESTROYED) ) { - return; - } - - // Call ejbStore as required by diagram in EJB2.0 section 10.9.4 - // home methods, finders and remove dont need ejbStore - if ( (!containerStateManager.isNullEJBObject(context) - && !containerStateManager.isRemovedEJBObject(context)) - || (!containerStateManager.isNullEJBLocalObject(context) - && !containerStateManager.isRemovedEJBLocalObject(context)) ) { - if ( context.isDirty() ) { - enlistResourcesAndStore(context); - } - } - } - - - // Called from beforeCompletion and preFind - private void enlistResourcesAndStore(EntityContextImpl context) { - EntityBean e = (EntityBean)context.getEJB(); - // NOTE : Use EjbInvocation instead of ComponentInvocation since - // the context is available. It is needed in case ejbStore/ejbLoad - // makes use of EJB timer service in order to perform operations allowed - // checks - EjbInvocation inv = super.createEjbInvocation(e, context); - invocationManager.preInvoke(inv); - - try { - transactionManager.enlistComponentResources(); - - callEJBStore(e, context); - - } catch ( NoSuchEntityException ex ) { - // Error during ejbStore, so discard bean: EJB2.0 18.3.3 - forceDestroyBean(context); - - throw new NoSuchObjectLocalException( // - "NoSuchEntityException thrown by ejbStore, EJB instance discarded", ex); - } catch ( Exception ex ) { - // Error during ejbStore, so discard bean: EJB2.0 18.3.3 - forceDestroyBean(context); - throw new EJBException(ex); - } finally { - invocationManager.postInvoke(inv); - } - } - - - // Called from BaseContainer.SyncImpl.afterCompletion - // at the end of a transaction. - // Note: this can be called possibly asynchronously because - // of transaction timeout - // Note: this can be called before releaseContext (if container - // completed the tx in BaseContainer.postInvokeTx), or it can - // be called after releaseContext (if client completed the tx after - // getting reply from bean). So whatever is done here *MUST* be - // consistent with releaseContext, and the bean should end up in - // the correct state. - @Override - protected void afterCompletion(EJBContextImpl ctx, int status) { - EntityContextImpl context = (EntityContextImpl)ctx; - if ( context.isInState(BeanState.DESTROYED) ) { - return; - } - - if (super.isUndeployed()) { - transactionManager.componentDestroyed(ctx); - return; - } - - // home methods, finders and remove dont need this - if ( !containerStateManager.isRemovedEJBObject(context) - || !containerStateManager.isRemovedEJBLocalObject(context) ) { - // Remove bean from ActiveTxCache table if its there. - // No need to remove it from txBeanTable because the table - // gets updated in ContainerFactoryImpl.removeContainerSync. - - //removeIncompleteTxEJB(context, false); - - context.setTransaction(null); - context.setLastTransactionStatus(status); - - context.setCascadeDeleteAfterSuperEJBRemove(false); - context.setCascadeDeleteBeforeEJBRemove(false); - - // Move context to ready state if tx commited, else to pooled state - if ( !context.isInState(BeanState.INVOKING) ) { - if ( (status == Status.STATUS_COMMITTED) - || (status == Status.STATUS_NO_TRANSACTION) ) { - addReadyEJB(context); - } else { - passivateAndPoolEJB(context); - } - } - } else if (containerStateManager.isNullEJBObject(context) && - containerStateManager.isNullEJBLocalObject(context)) { - // This happens if an ejbcreate has an exception, in that case - // we remove bean from ActiveTxCache table if its there. - // and return it to the pool - //removeIncompleteTxEJB(context, false); - - context.setTransaction(null); - context.setLastTransactionStatus(status); - - context.setCascadeDeleteAfterSuperEJBRemove(false); - context.setCascadeDeleteBeforeEJBRemove(false); - - if ( !context.isInState(BeanState.INVOKING) ) { - addPooledEJB(context); - } - } else if (containerStateManager.isRemovedEJBObject(context) - || containerStateManager.isRemovedEJBLocalObject(context)) { - // removeIncompleteTxEJB(context, false); - context.setTransaction(null); - context.setLastTransactionStatus(status); - - if (context.isInState(BeanState.INCOMPLETE_TX)) { - addPooledEJB(context); - } - } - } - - - // Called from BaseContainer just before invoking a business method - // whose tx attribute is TX_NEVER / TX_NOT_SUPPORTED / TX_SUPPORTS without - // a client tx. - @Override - protected void preInvokeNoTx(EjbInvocation inv) { - EntityContextImpl context = (EntityContextImpl)inv.context; - - if ( context.isInState(BeanState.DESTROYED) ) { - return; - } - - if ( context.isNewlyActivated() && - !inv.invocationInfo.isCreateHomeFinder ) { - // follow EJB2.0 section 12.1.6.1 - EntityBean e = (EntityBean)context.getEJB(); - try { - callEJBLoad(e, context, false); - } catch ( NoSuchEntityException ex ) { - // Error during ejbLoad, so discard bean: EJB2.0 18.3.3 - forceDestroyBean(context); - - throw new NoSuchObjectLocalException( // - "NoSuchEntityException thrown by ejbLoad, EJB instance discarded", ex); - } catch ( Exception ex ) { - // Error during ejbLoad, so discard bean: EJB2.0 18.3.3 - forceDestroyBean(context); - - throw new EJBException(ex); - } - - context.setNewlyActivated(false); - } - } - - // Called from BaseContainer after invoking a method with tx attribute - // NotSupported or Never or Supports without client tx. - @Override - protected void postInvokeNoTx(EjbInvocation inv) { - // This calls ejbStore to allow bean to flush any state to database. - // This is also sufficient for compliance with EJB2.0 section 12.1.6.1 - // (ejbStore must be called between biz method and ejbPassivate). - beforeCompletion((EJBContextImpl)inv.context); - } - - @Override - protected void adjustInvocationInfo(InvocationInfo invInfo, Method method, int txAttr, boolean flushEnabled, - String methodIntf, Class originalIntf) throws EJBException { - invInfo.isHomeFinder = isHomeFinder(method); - } - - // Check if a method is a finder / home method. - // Note: this method object is of the EJB's remote/home/local interfaces, - // not the EJB class. - private final boolean isHomeFinder(Method method) { - Class methodClass = method.getDeclaringClass(); - if ( isRemote ) { - if ( (hasRemoteHomeView && - methodClass.isAssignableFrom(homeIntf)) - && (methodClass != EJBHome.class) - && (!method.getName().startsWith("create")) ) { - return true; - } - } - if ( isLocal ) { - // No need to check LocalBusiness view b/c home/finder methods - // only apply to entity beans. - if ( (hasLocalHomeView && - methodClass.isAssignableFrom(localHomeIntf)) - && (methodClass != EJBLocalHome.class) - && (!method.getName().startsWith("create")) ) { - return true; - } - } - - return false; - } - - // CacheListener interface - @Override - public void trimEvent(Object primaryKey, Object context) { - synchronized (asyncTaskSemaphore) { - passivationCandidates.add(context); - if (addedASyncTask == true) { - return; - } - addedASyncTask = true; - } - - try { - ASyncPassivator work = new ASyncPassivator(); - ejbContainerUtilImpl.addWork(work); - } catch (Exception ex) { - addedASyncTask = false; - _logger.log(Level.WARNING, "entitybean.container.add_cleanup_task_error",ex); - } - } - - private class ASyncPassivator implements Runnable { - - @Override - public void run() { - final Thread currentThread = Thread.currentThread(); - final ClassLoader previousClassLoader = - currentThread.getContextClassLoader(); - final ClassLoader myClassLoader = loader; - - try { - //We need to set the context class loader for this - //(deamon) thread!! - currentThread.setContextClassLoader(myClassLoader); - - ComponentContext ctx = null; - do { - synchronized (asyncTaskSemaphore) { - int sz = passivationCandidates.size() - 1; - if (sz > 0) { - ctx = - (ComponentContext) passivationCandidates.remove(sz-1); - } else { - return; - } - } - - if (ctx != null) { - passivateEJB(ctx); - totalPassivations++; - } - } while (ctx != null); - } catch (Throwable th) { - totalPassivationErrors++; - th.printStackTrace(); - } finally { - synchronized (asyncTaskSemaphore) { - addedASyncTask = false; - } - currentThread.setContextClassLoader(previousClassLoader); - } - } - } - - // Called from AbstractCache - @Override - protected boolean passivateEJB(ComponentContext ctx) { - if (containerState != CONTAINER_STARTED) { - return false; - } - - EntityContextImpl context = (EntityContextImpl)ctx; - - if (!context.isInState(BeanState.READY)) { - return false; - } - - if(_logger.isLoggable(Level.FINEST)) { - _logger.log(Level.FINEST,"EntityContainer.passivateEJB(): context = (" + - ctx + ")"); - } - EntityBean ejb = (EntityBean)context.getEJB(); - - EjbInvocation inv = super.createEjbInvocation(ejb, context); - inv.method = ejbPassivateMethod; - - Object pkey = context.getPrimaryKey(); - boolean wasPassivated = false; - - // check state after locking ctx - if ( !context.isInState(BeanState.READY) ) { - return false; - } - try { - invocationManager.preInvoke(inv); - - // remove EJB from readyStore - removeContextFromReadyStore(pkey, context); - - // no Tx needed for ejbPassivate - ejb.ejbPassivate(); - - wasPassivated = true; - } catch ( Exception ex ) { - _logger.log(Level.FINE, "Exception in passivateEJB()", ex); - // Error during ejbStore/Passivate, discard bean: EJB2.0 18.3.3 - forceDestroyBean(context); - return false; - } finally { - invocationManager.postInvoke(inv); - } - - // Remove the ejbObject/LocalObject from ejbObject/LocalObjectStore - // If a future EjbInvocation arrives for them, they'll get recreated. - if ( isRemote ) { - removeEJBObjectFromStore(pkey); - } - if ( isLocal ) { - ejbLocalObjectStore.remove(pkey); - } - - // Note: ejbStore and ejbPassivate need the primarykey - // so we should dissociate the context from EJBObject only - // after calling ejbStore and ejbPassivate. - synchronized (context) { - addPooledEJB(context); - } - - return wasPassivated; - } - - - - /*************************************************************************** - * The following are private methods for implementing internal logic - * for lifecyle and state management, in a reusable way. - **************************************************************************/ - - - // called from postCreate, postFind, - // getEJBLocalObjectForPrimaryKey, removeBean - protected EJBLocalObjectImpl internalGetEJBLocalObjectImpl(Object primaryKey) { - return internalGetEJBLocalObjectImpl(primaryKey, false, defaultCacheEJBO); - } - - protected EJBLocalObjectImpl internalGetEJBLocalObjectImpl(Object primaryKey, boolean incrementRefCount) { - return internalGetEJBLocalObjectImpl(primaryKey, incrementRefCount, defaultCacheEJBO); - } - - - protected EJBLocalObjectImpl internalGetEJBLocalObjectImpl( // - Object primaryKey, boolean incrementRefCount, boolean cacheEJBO) { - // check if the EJBLocalObject exists in the store. - try { - EJBLocalObjectImpl localObjImpl = (EJBLocalObjectImpl) - ejbLocalObjectStore.get(primaryKey, incrementRefCount); - if (localObjImpl == null) { - - // and associate the EJBLocalObjectImpl with the primary key - localObjImpl = instantiateEJBLocalObjectImpl(primaryKey); - - // add the EJBLocalObjectImpl to ejbLocalObjectStore - if (incrementRefCount || cacheEJBO) { - ejbLocalObjectStore.put(primaryKey, localObjImpl, incrementRefCount); - } - } - return localObjImpl; - } catch ( Exception ex ) { - _logger.log(Level.SEVERE,"entitybean.container.get_ejb_local_object_exception", - logParams); - _logger.log(Level.SEVERE,"",ex); - throw new EJBException(ex); - } - } - - // called from postFind, getEJBObjectForPrimaryKey, - // EntityContextImpl.getEJBObject() - EJBObject getEJBObjectStub(Object primaryKey, byte[] streamKey) { - // primary key cant be null, streamkey may be null - - // check if the EJBObject exists in the store. - try { - EJBObjectImpl ejbObjImpl = (EJBObjectImpl) ejbObjectStore.get(primaryKey); - if (ejbObjImpl != null && ejbObjImpl.getStub() != null) { - return (EJBObject) ejbObjImpl.getStub(); - } - - // create a new stub without creating the EJBObject itself - if ( streamKey == null ) { - streamKey = EJBUtils.serializeObject(primaryKey, false); - } - EJBObject ejbStub = (EJBObject) remoteHomeRefFactory.createRemoteReference(streamKey); - return ejbStub; - } catch (Exception ex) { - _logger.log(Level.FINE,"", ex); - throw new EJBException(ex); - } - } - - // called from getEJBObject, postCreate, removeBean, - // postFind, getEJBObjectForPrimaryKey - private EJBObjectImpl internalGetEJBObjectImpl(Object primaryKey, byte[] streamKey) { - return internalGetEJBObjectImpl(primaryKey, streamKey, false, defaultCacheEJBO); - } - - private EJBObjectImpl internalGetEJBObjectImpl(Object primaryKey, byte[] streamKey, boolean incrementRefCount) { - return internalGetEJBObjectImpl(primaryKey, streamKey, incrementRefCount, defaultCacheEJBO); - } - - // called from getEJBObject, postCreate, postFind, - // getEJBObjectForPrimaryKey, removeBean - private EJBObjectImpl internalGetEJBObjectImpl(Object primaryKey, - byte[] streamKey, boolean incrementRefCount, boolean cacheEJBO) { - // primary key cant be null, streamkey may be null - - // check if the EJBContext/EJBObject exists in the store. - try { - - EJBObjectImpl ejbObjImpl = (EJBObjectImpl) ejbObjectStore.get(primaryKey, incrementRefCount); - - if (ejbObjImpl != null && ejbObjImpl.getStub() != null) { - return ejbObjImpl; - } - - // check if the EJBContext/EJBObject exists in threadlocal - // This happens if ejbo is in the process of being created. - // This is necessary to prevent infinite recursion - // because PRO.narrow calls is_a which calls the - // ProtocolMgr which calls getEJBObject. - ejbObjImpl = (EJBObjectImpl) ejbServant.get(); - if (ejbObjImpl != null) { - return ejbObjImpl; - } - - // set ejbo in thread local to help recursive calls find the ejbo - ejbServant.set(ejbObjImpl); - - // "Connect" the EJBObject to the Protocol Manager - - if (streamKey == null) { - streamKey = EJBUtils.serializeObject(primaryKey, false); - } - EJBObject ejbStub = (EJBObject) remoteHomeRefFactory.createRemoteReference(streamKey); - - // create the EJBObject and associate it with the stub - // and the primary key - ejbObjImpl = instantiateEJBObjectImpl(ejbStub, primaryKey); - ejbServant.set(null); - - if (incrementRefCount || cacheEJBO) { - EJBObjectImpl ejbo1 = (EJBObjectImpl) ejbObjectStore.put(primaryKey, ejbObjImpl, incrementRefCount); - if (ejbo1 != null && ejbo1 != ejbObjImpl) { - remoteHomeRefFactory.destroyReference(ejbObjImpl.getStub(), ejbObjImpl); - ejbObjImpl = ejbo1; - } - } - - return ejbObjImpl; - } catch (Exception ex) { - _logger.log(Level.FINE, "entitybean.container.get_ejb_context_exception", logParams); - _logger.log(Level.FINE,"",ex); - throw new EJBException(ex); - } - } //internalGetEJBObject(..) - - // called from getContext and getReadyEJB - protected EntityContextImpl getPooledEJB() { - try { - return (EntityContextImpl) entityCtxPool.getObject(null); - } catch (com.sun.ejb.containers.util.pool.PoolException inEx) { - throw new EJBException(inEx); - } - } - - // called from passivateAndPoolEJB, releaseContext, passivateEJB - // Note: addPooledEJB is idempotent: i.e. even if it is called multiple - // times with the same context, the context is added only once. - protected void addPooledEJB(EntityContextImpl context) { - if ( context.isInState(BeanState.POOLED) ) { - return; - } - // we're sure that no concurrent thread can be using this - // context, so no need to synchronize. - containerStateManager.clearContext(context); - context.setState(BeanState.POOLED); - context.clearCachedPrimaryKey(); - - //context.cacheEntry = null; - entityCtxPool.returnObject(context); - - } - - // called from addReadyEJB and afterCompletion - protected void passivateAndPoolEJB(EntityContextImpl context) { - if (context.isInState(BeanState.DESTROYED) || context.isInState(BeanState.POOLED)) { - return; - } - - // if ( context.isPooled() ) { - // context.isPooled(false); - // return; - // } - EntityBean ejb = (EntityBean) context.getEJB(); - synchronized ( context ) { - EjbInvocation inv = super.createEjbInvocation(ejb, context); - inv.method = ejbPassivateMethod; - invocationManager.preInvoke(inv); - - try { - ejb.ejbPassivate(); - } catch ( Exception ex ) { - _logger.log(Level.FINE,"Exception in passivateAndPoolEJB()",ex); - forceDestroyBean(context); - return; - } finally { - invocationManager.postInvoke(inv); - } - - // remove EJB(Local)Object from ejb(Local)ObjectStore - Object primaryKey = context.getPrimaryKey(); - if (isRemote) { - removeEJBObjectFromStore(primaryKey); - } - if (isLocal) { - ejbLocalObjectStore.remove(primaryKey); - } - - addPooledEJB(context); - } - } - - /** - * Called from getContext and getEJBWithIncompleteTx - * Get an EJB in the ready state (i.e. which is not doing any - * invocations and doesnt have any incomplete Tx), for the - * ejbObject provided in the EjbInvocation. - * Concurrent invocations should get *different* instances. - */ - protected EntityContextImpl activateEJBFromPool(Object primaryKey, EjbInvocation inv) { - EntityContextImpl context = null; - // get a pooled EJB and activate it. - context = getPooledEJB(); - - // we're sure that no concurrent thread can be using this - // context, so no need to synchronize. - - // set EJBObject/LocalObject for the context - if (inv.isLocal) { - EJBLocalObjectImpl localObjImpl = internalGetEJBLocalObjectImpl(primaryKey, true); - containerStateManager.attachObject(inv, context, null, localObjImpl); - // No need to create/set EJBObject if this EJB isRemote too. - // This saves remote object creation overhead. - // The EJBObject and stub will get created lazily if needed - // when EntityContext.getEJBObjectImpl is called. - } else { // remote EjbInvocation - EJBObjectImpl ejbObjImpl = internalGetEJBObjectImpl(primaryKey, null, true); - containerStateManager.attachObject(inv, context, ejbObjImpl, null); - - if (isLocal) { - // Create EJBLocalObject so EntityContext methods work - containerStateManager.attachObject(inv, context, null, internalGetEJBLocalObjectImpl(primaryKey, true)); - } - } - - context.setState(BeanState.READY); - - EntityBean ejb = (EntityBean)context.getEJB(); - - EjbInvocation inv2 = super.createEjbInvocation(ejb, context); - inv2.method = ejbActivateMethod; - invocationManager.preInvoke(inv2); - - try { - ejb.ejbActivate(); - - // Note: ejbLoad will be called during preInvokeTx - // since this EJB instance is being associated with - // a Tx for the first time. - - } catch ( Exception ex ) { - // Error during ejbActivate, discard bean: EJB2.0 18.3.3 - forceDestroyBean(context); - throw new EJBException(ex); - } finally { - invocationManager.postInvoke(inv2); - } - - context.setNewlyActivated(true); - //recycler.initSoftRef(context); - - afterNewlyActivated(context); - - return context; - } //getReadyEJB(inv) - - - // called from releaseContext, afterCompletion - - - /** - * Get an EJB instance for this EJBObject and current client Tx - * Called only from getContext. - * Return null if there no INCOMPLETE_TX bean for the pkey & tx. - */ - private EntityContextImpl getEJBWithIncompleteTx(EjbInvocation inv) { - // We need to make sure that two concurrent client - // invocations with same primary key and same client tx - // get the SAME EJB instance. - // So we need to maintain exactly one copy of an EJB's state - // per transaction. - - JavaEETransaction current = null; - try { - current = (JavaEETransaction) transactionManager.getTransaction(); - } catch (SystemException ex) { - throw new EJBException(ex); - } - - EntityContextImpl ctx = null; - if (current != null) { - ActiveTxCache activeTxCache = (ActiveTxCache) ejbContainerUtilImpl.getActiveTxCache(current); - ctx = activeTxCache == null ? null : activeTxCache.get(this, getInvocationKey(inv)); - inv.foundInTxCache = ctx != null; - } - - return ctx; - } - - - /** - * Called only from afterBegin. - * This EJB is invoked either with client's tx (in which case - * it would already be in table), or with new tx (in which case - * it would not be in table). - */ - private void addIncompleteTxEJB(EntityContextImpl context) { - JavaEETransaction current = (JavaEETransaction) context.getTransaction(); - if ( current == null ) { - return; - } - if ( (containerStateManager.isNullEJBObject(context)) && - (containerStateManager.isNullEJBLocalObject(context)) ) { - return; - } - - // Its ok to add this context without checking if its already there. - ActiveTxCache activeTxCache = (ActiveTxCache) ejbContainerUtilImpl.getActiveTxCache(current); - if (activeTxCache == null) { - activeTxCache = new ActiveTxCache(DEFAULT_TX_CACHE_BUCKETS); - ejbContainerUtilImpl.setActiveTxCache(current, activeTxCache); - } - - activeTxCache.add(context); - - Vector beans = ejbContainerUtilImpl.getBeans(current); - beans.add(context); - } - - /** - * Called from releaseContext if ejb is removed, from afterCompletion, - * and from passivateEJB. - */ - protected void removeIncompleteTxEJB(EntityContextImpl context, - boolean updateTxBeanTable) { - JavaEETransaction current = (JavaEETransaction) context.getTransaction(); - - if (current == null) { - return; - } - if ( (containerStateManager.isNullEJBObject(context)) && - (containerStateManager.isNullEJBLocalObject(context)) ) { - return; - } - - ActiveTxCache activeTxCache = (ActiveTxCache) ejbContainerUtilImpl.getActiveTxCache(current); - if (activeTxCache != null) { - activeTxCache.remove(this, context.getPrimaryKey()); - } - - if ( updateTxBeanTable ) { - Vector beans = ejbContainerUtilImpl.getBeans(current); - beans.remove(context); // this is a little expensive... - } - } - - /** - * a TimerTask class to trim a given cache of timedout entries - */ - private class IdleBeansPassivator extends java.util.TimerTask { - - Cache cache; - - IdleBeansPassivator(Cache cache) { - this.cache = cache; - } - - @Override - public void run() { - if (timerValid) { - cache.trimExpiredEntries(Integer.MAX_VALUE); - } - } - - @Override - public boolean cancel() { - cache = null; - return super.cancel(); - } - } - - - // Key for INCOMPLETE_TX beans which contains ejbObject + Tx - private static class EJBTxKey { - - Transaction tx; // may be null - Object primaryKey; - int pkHashCode; - - EJBTxKey(Object primaryKey, Transaction tx) { - this.tx = tx; - this.primaryKey = primaryKey; - this.pkHashCode = primaryKey.hashCode(); - } - - @Override - public final int hashCode() { - // Note: this hashcode need not be persistent across - // activations of this process. - // Return the primaryKey's hashCode. The Hashtable will - // then search for the Tx through the bucket for - // the primaryKey's hashCode. - - //return primaryKey.hashCode(); - return pkHashCode; - } - - @Override - public final boolean equals(Object obj) { - if ( !(obj instanceof EJBTxKey) ) { - return false; - } - EJBTxKey other = (EJBTxKey) obj; - try { - // Note: tx may be null if the EJB is not associated with - // an incomplete Tx. - if ( primaryKey.equals(other.primaryKey) ) { - if ( (tx == null) && (other.tx == null) ) { - return true; - } else if ( (tx != null) && (other.tx != null) - && tx.equals(other.tx) ) { - return true; - } else { - return false; - } - } else { - return false; - } - } catch ( Exception ex ) { - _logger.log(Level.FINE, "Exception in equals()", ex); - return false; - } - } - - } - - protected static class CacheProperties { - - int maxCacheSize ; - int numberOfVictimsToSelect ; - int cacheIdleTimeoutInSeconds ; - - public CacheProperties(EntityContainer entityContainer) { - numberOfVictimsToSelect = - Integer.parseInt(entityContainer.ejbContainer.getCacheResizeQuantity()); - maxCacheSize = Integer.parseInt(entityContainer.ejbContainer.getMaxCacheSize()); - cacheIdleTimeoutInSeconds = - Integer.parseInt(entityContainer.ejbContainer.getCacheIdleTimeoutInSeconds()); - - if(entityContainer.beanCacheDes != null) { - int temp = 0; - if((temp = entityContainer.beanCacheDes.getResizeQuantity()) != -1) { - numberOfVictimsToSelect = temp; - } - - if((temp = entityContainer.beanCacheDes.getMaxCacheSize()) != -1) { - maxCacheSize = temp; - } - - if ((temp = entityContainer.beanCacheDes.getCacheIdleTimeoutInSeconds()) != -1) - { - cacheIdleTimeoutInSeconds = temp; - } - } - } - } //CacheProperties - - private static class PoolProperties { - int maxPoolSize; - int poolIdleTimeoutInSeconds; - // int maxWaitTimeInMillis; - int poolResizeQuantity; - int steadyPoolSize; - - public PoolProperties(EntityContainer entityContainer) { - - maxPoolSize = Integer.parseInt(entityContainer.ejbContainer.getMaxPoolSize()); - poolIdleTimeoutInSeconds = Integer.parseInt( - entityContainer.ejbContainer.getPoolIdleTimeoutInSeconds()); - poolResizeQuantity = Integer.parseInt( - entityContainer.ejbContainer.getPoolResizeQuantity()); - steadyPoolSize = Integer.parseInt( - entityContainer.ejbContainer.getSteadyPoolSize()); - if(entityContainer.beanPoolDes != null) { - int temp = 0; - if ((temp = entityContainer.beanPoolDes.getMaxPoolSize()) != -1) { - maxPoolSize = temp; - } - if ((temp = entityContainer.beanPoolDes.getPoolIdleTimeoutInSeconds()) != -1) { - poolIdleTimeoutInSeconds = temp; - } - if ((temp = entityContainer.beanPoolDes.getPoolResizeQuantity()) != -1) { - poolResizeQuantity = temp; - } - if ((temp = entityContainer.beanPoolDes.getSteadyPoolSize()) != -1) { - steadyPoolSize = temp; - } - } - } - } //PoolProperties - - - @Override - protected boolean isIdentical(EJBObjectImpl ejbObjImpl, EJBObject other) - throws RemoteException { - if (other == ejbObjImpl.getStub()) { - return true; - } - try { - // EJBObject may be a remote object. - // Compare homes. See EJB2.0 spec section 9.8. - if (!getProtocolManager().isIdentical(ejbHomeStub, other.getEJBHome())) { - return false; - } - - // Compare primary keys. - if (!ejbObjImpl.getPrimaryKey().equals(other.getPrimaryKey())) { - return false; - } - - return true; - } catch (Exception ex) { - _logger.log(Level.INFO, "entitybean.container.ejb_comparison_exception", logParams); - _logger.log(Level.INFO, "", ex); - throw new RemoteException("Exception in isIdentical()", ex); - } - } - - protected void callEJBLoad(EntityBean ejb, EntityContextImpl context, boolean activeTx) throws Exception { - try { - context.setInEjbLoad(true); - ejb.ejbLoad(); - // Note: no need to do context.setDirty(false) because ejbLoad is - // called immediately before a business method. - } catch(Exception e) { - throw e; - } finally { - context.setInEjbLoad(false); - } - } - - protected void callEJBStore(EntityBean ejb, EntityContextImpl context) throws Exception { - try { - context.setInEjbStore(true); - ejb.ejbStore(); - } finally { - context.setInEjbStore(false); - context.setDirty(false); // bean's state is in sync with DB - } - } - - protected void callEJBRemove(EntityBean ejb, EntityContextImpl context) throws Exception { - try { - ejb.ejbRemove(); - } catch ( Exception ex ) { - throw ex; - } finally { - // bean is removed so doesnt need ejbStore - context.setDirty(false); - } - } - - @Override - protected void doTimerInvocationInit(EjbInvocation inv, Object primaryKey) throws Exception { - if (isRemote) { - inv.ejbObject = internalGetEJBObjectImpl(primaryKey, null); - inv.isRemote = true; - } else { - inv.ejbObject = internalGetEJBLocalObjectImpl(primaryKey); - inv.isLocal = true; - } - if (inv.ejbObject == null) { - throw new Exception("Timed object identity (" + primaryKey + " ) no longer exists "); - } - } - - @Override - protected void doConcreteContainerShutdown(boolean appBeingUndeployed) { - - String ejbName = ejbDescriptor.getName(); - - if (_logger.isLoggable(Level.FINE)) { - _logger.log(Level.FINE, "[EntityContainer]: Undeploying " + ejbName + " ..."); - } - // destroy all EJBObject refs - - try { - Iterator elements = ejbObjectStore.values(); - while ( elements.hasNext() ) { - EJBObjectImpl ejbObjImpl = (EJBObjectImpl) elements.next(); - try { - if (isRemote) { - remoteHomeRefFactory.destroyReference(ejbObjImpl.getStub(), ejbObjImpl.getEJBObject()); - } - } catch ( Exception ex ) { - _logger.log(Level.FINE, "Exception in undeploy()", ex); - } - } - - ejbObjectStore.destroy(); //store must set the listern to null - ejbObjectStore = null; - - ejbLocalObjectStore.destroy(); //store must set the listern to null - ejbLocalObjectStore = null; - - // destroy all EJB instances in readyStore - destroyReadyStoreOnUndeploy(); //cache must set the listern to null - - entityCtxPool.close(); - poolProbeListener.unregister(); - if (cacheProbeListener != null) { - cacheProbeListener.unregister(); - } - - // stops the idle bean passivator and also removes the link - // to the cache; note that cancel() method of timertask - // does not remove the task from the timer's queue - if (idleBeansPassivator != null) { - try { - idleBeansPassivator.cancel(); - } catch (Exception e) { - _logger.log(Level.FINE, "[EntityContainer] cancelTimerTask: ", e); - } - this.idleBeansPassivator.cache = null; - } - cancelTimerTasks(); - } finally { - - // helps garbage collection - this.ejbObjectStore = null; - this.ejbLocalObjectStore = null; - this.passivationCandidates = null; - this.readyStore = null; - this.entityCtxPool = null; - this.iased = null; - this.beanCacheDes = null; - this.beanPoolDes = null; - this.ejbContainer = null; - this.cacheProp = null; - this.poolProp = null; - this.asyncTaskSemaphore = null; - this.idleBeansPassivator = null; - - } - - if (_logger.isLoggable(Level.FINE)) { - _logger.log(Level.FINE, " [EntityContainer]: Successfully Undeployed " + ejbName); - } - } - - protected void afterNewlyActivated(EntityContextImpl context) { - //Noop for EntityContainer - } - - protected EntityContextImpl createEntityContextInstance(EntityBean ejb, EntityContainer entityContainer) { - return new EntityContextImpl(ejb, entityContainer); - } - - private class EntityContextFactory implements ObjectFactory { - private final EntityContainer entityContainer; - - public EntityContextFactory(EntityContainer entityContainer) { - this.entityContainer = entityContainer; - } - - @Override - public Object create(Object param) { - EntityContextImpl entityCtx = null; - EjbInvocation ejbInv = null; - try { - // Create new bean. The constructor is not allowed - // to do a JNDI access (see EJB2.0 section 10.5.5), - // so no need to call invocationMgr before instantiation. - EntityBean ejb = (EntityBean) ejbClass.newInstance(); - - // create EntityContext - entityCtx = createEntityContextInstance(ejb, entityContainer); - - ejbInv = entityContainer.createEjbInvocation(ejb, entityCtx); - invocationManager.preInvoke(ejbInv); - - // setEntityContext may be called with or without a Tx - // spec 9.4.2 - ejb.setEntityContext(entityCtx); - - // NOTE : Annotations are *not* supported for entity beans - // so we do not invoke the injection manager for this instance. - - } catch (Exception ex ) { - throw new EJBException("Could not create Entity EJB", ex); - } finally { - if ( ejbInv != null ) { - invocationManager.postInvoke(ejbInv); - } - } - - entityCtx.touch(); - return entityCtx; - } - - - @Override - public void destroy(Object object) { - if (object == null) { - //means that this is called through forceDestroyBean - //So no need to anything, as we cannot call unsetEntityCtx etc.. - return; - } - - EntityContextImpl context = (EntityContextImpl) object; - EntityBean ejb = (EntityBean)context.getEJB(); - if (!context.isInState(BeanState.DESTROYED)) { - EjbInvocation ci = entityContainer.createEjbInvocation(ejb, context); - invocationManager.preInvoke(ci); - - // kill the bean and let it be GC'ed - try { - synchronized ( context ) { - containerStateManager.clearContext(context); - context.setState(BeanState.DESTROYED); - //context.cacheEntry = null; - context.setInUnsetEntityContext(true); - - try { - ejb.unsetEntityContext(); - } catch ( Exception ex ) { - _logger.log(Level.FINE, - "Exception in ejb.unsetEntityContext()", ex); - } - - // tell the TM to release resources held by the bean - transactionManager.componentDestroyed(context); - } - } finally { - invocationManager.postInvoke(ci); - } - } else { - //Called from forceDestroyBean - try { - synchronized ( context ) { - containerStateManager.clearContext(context); - context.setState(BeanState.DESTROYED); - //context.cacheEntry = null; - - // mark the context's transaction for rollback - Transaction tx = context.getTransaction(); - if ( tx != null && tx.getStatus() != - Status.STATUS_NO_TRANSACTION ) { - context.getTransaction().setRollbackOnly(); - } - - // tell the TM to release resources held by the bean - transactionManager.componentDestroyed(context); - - } - } catch (Exception ex) { - _logger.log(Level.FINE, "Exception in destroy()", ex); - } - } - } - - } //class EntityContextFactory - - private void createCaches() throws Exception { - - cacheProp = new CacheProperties(this); - - int cacheSize = cacheProp.maxCacheSize; - int numberOfVictimsToSelect = cacheProp.numberOfVictimsToSelect; - float loadFactor = DEFAULT_LOAD_FACTOR; - idleTimeout = cacheProp.cacheIdleTimeoutInSeconds * 1000L; - - createReadyStore(cacheSize, numberOfVictimsToSelect, loadFactor, idleTimeout); - createEJBObjectStores(cacheSize, numberOfVictimsToSelect, idleTimeout); - } - - protected void createReadyStore(int cacheSize, int numberOfVictimsToSelect, float loadFactor, long idleTimeout) - throws Exception { - idleTimeout = (idleTimeout <= 0) ? -1 : idleTimeout; - if (cacheSize <= 0 && idleTimeout <= 0) { - readyStore = new BaseCache(); - cacheSize = DEFAULT_CACHE_SIZE; - readyStore.init(cacheSize, loadFactor, null); - } else { - cacheSize = (cacheSize <= 0) ? DEFAULT_CACHE_SIZE : cacheSize; - LruCache lru = new LruCache(DEFAULT_CACHE_SIZE); - if (numberOfVictimsToSelect >= 0) { - loadFactor = (float) (1.0 - (1.0 * numberOfVictimsToSelect / cacheSize)); - } - lru.init(cacheSize, idleTimeout, loadFactor, null); - readyStore = lru; - readyStore.addCacheListener(this); - } - - if (idleTimeout > 0) { - idleBeansPassivator = setupIdleBeansPassivator(readyStore); - } - } - - protected void createEJBObjectStores(int cacheSize, int numberOfVictimsToSelect, long idleTimeout) - throws Exception { - - EJBObjectCache lru = null; - String ejbName = ejbDescriptor.getName(); - idleTimeout = (idleTimeout <= 0) ? -1 : idleTimeout; - - if (cacheSize <= 0 && idleTimeout <= 0) { - ejbObjectStore = new UnboundedEJBObjectCache(ejbName); - ejbObjectStore.init(DEFAULT_CACHE_SIZE, numberOfVictimsToSelect, 0L, (float) 1.0, null); - - ejbLocalObjectStore = new UnboundedEJBObjectCache(ejbName); - ejbLocalObjectStore.init(DEFAULT_CACHE_SIZE, numberOfVictimsToSelect, 0L, (float) 1.0, null); - } else { - cacheSize = (cacheSize <= 0) ? DEFAULT_CACHE_SIZE : cacheSize; - ejbObjectStore = new FIFOEJBObjectCache(ejbName); - ejbObjectStore.init(cacheSize, numberOfVictimsToSelect, idleTimeout, (float) 1.0, null); - ejbObjectStore.setEJBObjectCacheListener(new EJBObjectCacheVictimHandler()); - - ejbLocalObjectStore = new FIFOEJBObjectCache(ejbName); - ejbLocalObjectStore.init(cacheSize, numberOfVictimsToSelect, idleTimeout, (float) 1.0, null); - ejbLocalObjectStore.setEJBObjectCacheListener(new LocalEJBObjectCacheVictimHandler()); - } - - if (idleTimeout > 0) { - idleEJBObjectPassivator = setupIdleBeansPassivator(ejbObjectStore); - idleLocalEJBObjectPassivator = setupIdleBeansPassivator(ejbLocalObjectStore); - } - } - - protected EntityContextImpl getReadyEJB(EjbInvocation inv) { - Object primaryKey = getInvocationKey(inv); - EntityContextImpl context = null; - // Try and get an EJB instance for this primaryKey from the - // readyStore - context = (EntityContextImpl)readyStore.remove(primaryKey); - if (context == null || !context.isInState(BeanState.READY)) { - context = activateEJBFromPool(primaryKey, inv); - } - return context; - } //getReadyEJB(inv) - - protected void addReadyEJB(EntityContextImpl context) { - // add to the cache (can have multiple instances of beans per key) - Object primaryKey = context.getPrimaryKey(); - context.setState(BeanState.READY); - readyStore.add(primaryKey, context); - } - - protected void destroyReadyStoreOnUndeploy() { - if (readyStore == null) { - return; - } - - // destroy all EJB instances in readyStore - synchronized ( readyStore ) { - - Iterator beans = readyStore.values(); - while ( beans.hasNext() ) { - EJBContextImpl ctx = (EJBContextImpl)beans.next(); - transactionManager.componentDestroyed(ctx); - } - } - readyStore.destroy(); - readyStore = null; - } - - protected void removeContextFromReadyStore(Object primaryKey, - EntityContextImpl context) { - readyStore.remove(primaryKey, context); - } - - @Override - protected void addProxyInterfacesSetClass(Set proxyInterfacesSet, boolean local) { - if( ejbDescriptor.getIASEjbExtraDescriptors().isIsReadOnlyBean() ) { - if (local) { - proxyInterfacesSet.add(ReadOnlyEJBLocalHome.class); - } else { - proxyInterfacesSet.add(ReadOnlyEJBHome.class); - } - } - - } - - @Override - protected void doFlush( EjbInvocation inv ) { - if( !inv.invocationInfo.flushEnabled || - inv.exception != null ) { - return; - } - - if( !isContainerManagedPers ) { - //NEED TO INTERNATIONALIZE THIS WARNING MESSAGE - _logger.log(Level.WARNING, - "Cannot turn on flush-enabled-at-end-of-method for a bean with Bean Managed Persistence"); - return; - } - - InvocationInfo invInfo = inv.invocationInfo; - EntityContextImpl context = (EntityContextImpl)inv.context; - Transaction tx = context.getTransaction(); - - //Since postInvoke(Tx) has been called before the releaseContext, the transaction - //could be committed or rolledback. In that case there is no point to call flush - if( tx == null) { - return; - } - - //return w/o doing anything if the transaction is marked for rollback - try { - if( context.getRollbackOnly() ) { - return; - } - } catch( Throwable ex ) { - _logger.log(Level.WARNING, "Exception when calling getRollbackOnly", ex); - return; - } - - if ( invInfo.isBusinessMethod ) { - try { - //Store the state of all the beans that are part of this transaction - storeAllBeansInTx( tx ); - } catch( Throwable ex ) { - inv.exception = ex; - return; - } - } - - try { - BeanStateSynchronization pmcontract = (BeanStateSynchronization)inv.ejb; - pmcontract.ejb__flush(); - } catch( Throwable ex ) { - //check the type of the method and create the corresponding exception - if( invInfo.startsWithCreate ) { - CreateException ejbEx = new CreateException(); - ejbEx.initCause(ex); - inv.exception = ejbEx; - } else if( invInfo.startsWithRemove ) { - RemoveException ejbEx = new RemoveException(); - ejbEx.initCause(ex); - inv.exception = ejbEx; - } else { - EJBException ejbEx = new EJBException(); - ejbEx.initCause(ex); - inv.exception = ejbEx; - } - - return; - } - - } //doFlush(...) - - private void storeAllBeansInTx(Transaction tx) { - // Call ejbStore on all entitybeans in tx for all EntityContainers - Vector beans = ejbContainerUtilImpl.getBeans(tx); - if ( beans.isEmpty() ) { - // No beans associated with the current transaction - return; - } - - Iterator itr = beans.iterator(); - while ( itr.hasNext() ) { - EntityContextImpl ctx = (EntityContextImpl)itr.next(); - if ( ctx.isInState(BeanState.INCOMPLETE_TX) && ctx.isDirty() ) { - // Call ejbStore on the bean - // Note: the bean may be in a different container instance - EntityContainer cont = (EntityContainer)ctx.getContainer(); - cont.enlistResourcesAndStore(ctx); - } - } - } - - - protected class LocalEJBObjectCacheVictimHandler implements EJBObjectCacheListener, Runnable { - - protected Object lock = new Object(); - protected boolean addedTask = false; - protected ArrayList keys = new ArrayList(16); - - protected LocalEJBObjectCacheVictimHandler() { - } - - //EJBObjectCacheListener interface - @Override - public void handleOverflow(Object key) { - doCleanup(key); - } - - @Override - public void handleBatchOverflow(ArrayList paramKeys) { - int size = paramKeys.size(); - synchronized (lock) { - for (int i=0; i 1); - } - - synchronized void decrementCalls() { - nCallsInProgress--; - } - - synchronized void incrementCalls() { - nCallsInProgress++; - } - - boolean hasIdentity() { - return( (ejbObjectImpl != null) || (ejbLocalObjectImpl != null) ); - } - - /** - * Implementation of EntityContext method. - */ - public Object getPrimaryKey() throws IllegalStateException { - if ( ejbObjectImpl == null && ejbLocalObjectImpl == null ) { - // There is no ejbObjectImpl/localObject in ejbCreate, ejbFind, - // setEntityCtx etc - throw new IllegalStateException("Primary key not available"); - } - - return getKey(); - } - - /** - * Implementation of EntityContext method, overrides EJBContextImpl method. - */ - public EJBObject getEJBObject() - throws IllegalStateException - { - if (! isRemoteInterfaceSupported) { - throw new IllegalStateException("EJBObject not available"); - } - - if ( ejbStub == null ) { - Object pkey = getPrimaryKey(); // throws IllegalStateException - ejbStub = _container.getEJBObjectStub(pkey, null); - } - - return ejbStub; - } - - public TimerService getTimerService() throws IllegalStateException { - if( state == BeanState.CREATED || inUnsetEntityContext || inFinder() ) { - throw new IllegalStateException("Operation not allowed"); - } - - return EJBTimerService.getEJBTimerServiceWrapper(this); - } - - protected void checkAccessToCallerSecurity() - throws IllegalStateException - { - if( state == BeanState.CREATED || inUnsetEntityContext ) { - throw new IllegalStateException("Operation not allowed"); - } - checkActivatePassivate(); - - if (inEjbLoad || inEjbStore) { - // Security access is allowed from these two methods. In the - // case that they are invoked as part of an ejbTimeout call, - // getCallerPrincipal will return null and isCallerInRole will - // be false - return; - } - } - - public void checkTimerServiceMethodAccess() - throws IllegalStateException - { - - // Prohibit access from constructor, setEntityContext, ejbCreate, - // ejbActivate, ejbPassivate, unsetEntityContext, ejbFind - if( (state == BeanState.CREATED) || - inUnsetEntityContext || - inFinder() || - inActivatePassivate() || - !hasIdentity() ) { - throw new IllegalStateException("Operation not allowed"); - } - - } - - public final boolean isCascadeDeleteAfterSuperEJBRemove() { - return cascadeDeleteAfterSuperEJBRemove; - } - - public final void setCascadeDeleteAfterSuperEJBRemove(boolean value) { - this.cascadeDeleteAfterSuperEJBRemove = value; - } - - public final boolean isCascadeDeleteBeforeEJBRemove() { - return cascadeDeleteBeforeEJBRemove; - } - - public final void setCascadeDeleteBeforeEJBRemove(boolean value) { - this.cascadeDeleteBeforeEJBRemove = value; - } - - private boolean inFinder() { - boolean inFinder = false; - ComponentInvocation ci = _container.getCurrentInvocation(); - if ( ci instanceof EjbInvocation ) { - EjbInvocation inv = (EjbInvocation) ci; - Method currentMethod = inv.method; - inFinder = ( (currentMethod != null) && inv.isHome && - currentMethod.getName().startsWith("find") ); - } - return inFinder; - } - - //Called from EntityContainer after an ejb is obtained from the pool. - final void cachePrimaryKey() { - Object pk = getPrimaryKey(); - this._primaryKey = pk; - this._pkHashCode = pk.hashCode(); - } - - final void clearCachedPrimaryKey() { - this._primaryKey = null; - } - - //Called from IncompleteTxCache to get an already cached context - final boolean doesMatch(BaseContainer baseContainer, int pkHashCode, Object pk) { - return ( - (container == baseContainer) - && (_pkHashCode == pkHashCode) - && (_primaryKey.equals(pk)) - ); - } - - final void _setNext(EntityContextImpl val) { - this._next = val; - } - - final EntityContextImpl _getNext() { - return _next; - } - - final int _getPKHashCode() { - return this._pkHashCode; - } - - final boolean isInState(BeanState value) { - return getState() == value; - } - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanContainer.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanContainer.java deleted file mode 100644 index 04070bfbcf8..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanContainer.java +++ /dev/null @@ -1,1013 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2024] [Payara Foundation and/or its affiliates] - -package org.glassfish.persistence.ejb.entitybean.container; - -import java.lang.reflect.Method; -import java.rmi.RemoteException; -import java.util.Collection; -import java.util.Date; -import java.util.Enumeration; -import java.util.Iterator; -import java.util.Map; -import java.util.Timer; -import java.util.TimerTask; -import java.util.concurrent.ConcurrentHashMap; -import java.util.logging.Level; -import jakarta.ejb.CreateException; -import jakarta.ejb.EJBException; -import jakarta.ejb.EJBLocalObject; -import jakarta.ejb.EJBObject; -import jakarta.ejb.EntityBean; -import jakarta.ejb.FinderException; -import jakarta.ejb.NoSuchEntityException; -import jakarta.ejb.NoSuchObjectLocalException; -import jakarta.ejb.RemoveException; - -import com.sun.ejb.ComponentContext; -import com.sun.ejb.EjbInvocation; -import com.sun.ejb.InvocationInfo; -import com.sun.ejb.containers.EJBContextImpl; -import com.sun.ejb.containers.EJBHomeInvocationHandler; -import com.sun.ejb.containers.EJBLocalHomeInvocationHandler; -import com.sun.ejb.containers.EJBLocalRemoteObject; -import com.sun.enterprise.security.SecurityManager; -import org.glassfish.persistence.ejb.entitybean.container.cache.EJBObjectCache; -import org.glassfish.persistence.ejb.entitybean.container.cache.FIFOEJBObjectCache; -import org.glassfish.persistence.ejb.entitybean.container.cache.UnboundedEJBObjectCache; -import com.sun.ejb.spi.container.BeanStateSynchronization; -import org.glassfish.ejb.deployment.descriptor.EjbDescriptor; -import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor; -import org.glassfish.persistence.ejb.entitybean.container.distributed.DistributedEJBServiceFactory; -import org.glassfish.persistence.ejb.entitybean.container.distributed.DistributedReadOnlyBeanService; -import org.glassfish.persistence.ejb.entitybean.container.distributed.ReadOnlyBeanRefreshEventHandler; - -import static com.sun.ejb.containers.EJBContextImpl.BeanState; - -/** - * The Container that manages instances of ReadOnly Beans. This container - * blocks all calls to ejbStore() and selectively performs ejbLoad() - * - * @author Mahesh Kannan - * @author Pramod Gopinath - */ - -public class ReadOnlyBeanContainer - extends EntityContainer - implements ReadOnlyBeanRefreshEventHandler -{ - - private long refreshPeriodInMillis = 0; - - // Sequence number incremented each time a bean-level refresh is requested. - // PK-level data structure has a corresponding sequence number that is used - // to determine when it needs updating due to bean-level refresh. - private int beanLevelSequenceNum = 1; - - // Last time a bean-level timeout refresh event occurred. - private long beanLevelLastRefreshRequestedAt = 0; - - private volatile long currentTimeInMillis = System.currentTimeMillis(); - - // timer task for refreshing or null if no refresh. - private TimerTask refreshTask = null; - - private EJBObjectCache robCache; - - private DistributedReadOnlyBeanService distributedReadOnlyBeanService; - - private volatile Map finderResultsCache = - new ConcurrentHashMap(); - - private static final int FINDER_LOCK_SIZE = 8 * 1024; - - private Object[] finderLocks = new Object[FINDER_LOCK_SIZE]; - - //Don't make this as a static. In future, we may want to - // support bean level flag for this - private boolean RELATIVE_TIME_CHECK_MODE = false; - - protected ReadOnlyBeanContainer(EjbDescriptor desc, ClassLoader loader, SecurityManager sm) - throws Exception - { - //super(ContainerType.READ_ONLY, desc, loader); - super(ContainerType.ENTITY, desc, loader, sm); - - EjbEntityDescriptor ed = (EjbEntityDescriptor)desc; - refreshPeriodInMillis = - ed.getIASEjbExtraDescriptors().getRefreshPeriodInSeconds() * 1000L; - - if( refreshPeriodInMillis > 0 ) { - long timerFrequency = 1; - String refreshRateStr = - System.getProperty("com.sun.ejb.containers.readonly.timer.frequency", "1"); - try { - timerFrequency = Integer.parseInt(refreshRateStr); - if (timerFrequency < 0) { - timerFrequency = 1; - } - } catch (Exception ex) { - _logger.log(Level.FINE, "Invalid timer frequency " + refreshRateStr); - } - - try { - RELATIVE_TIME_CHECK_MODE = Boolean.valueOf(System.getProperty( - "com.sun.ejb.containers.readonly.relative.refresh.mode")); - _logger.log(Level.FINE, "RELATIVE_TIME_CHECK_MODE: " + RELATIVE_TIME_CHECK_MODE); - } catch (Exception ex) { - _logger.log(Level.FINE, "(Ignorable) Exception while initializing RELATIVE_TIME_CHECK_MODE", ex); - } - - Timer timer = ejbContainerUtilImpl.getTimer(); - if (RELATIVE_TIME_CHECK_MODE) { - refreshTask = new CurrentTimeRefreshTask (); - timer.scheduleAtFixedRate(refreshTask, timerFrequency*1000L, timerFrequency*1000L); - } else { - refreshTask = new RefreshTask(); - timer.scheduleAtFixedRate(refreshTask, refreshPeriodInMillis, - refreshPeriodInMillis); - } - } else { - refreshPeriodInMillis = 0; - } - - for (int i=0; i(); - - - } - - protected void callEJBStore(EntityBean ejb, EntityContextImpl context) { - // this method in the ReadOnlyBean case should be a no-op - // and should not throw any exception. - } - - protected ComponentContext _getContext(EjbInvocation inv) { - ComponentContext ctx = super._getContext(inv); - - InvocationInfo info = inv.invocationInfo; // info cannot be null - if (info.isTxRequiredLocalCMPField) { - if (! inv.foundInTxCache) { - EntityContextImpl entityCtx = (EntityContextImpl) ctx; - super.afterBegin(entityCtx); - inv.foundInTxCache = true; - } - } else { - //TODO: We can still optimize NonTx access to CMP getters/setters - } - return ctx; - } - - protected void callEJBLoad(EntityBean ejb, EntityContextImpl entityCtx, - boolean activeTx) - throws Exception - { - // ReadOnlyContextImpl should always be used in conjunction with ReadOnlyBeanContainer - assert entityCtx instanceof ReadOnlyContextImpl; - ReadOnlyContextImpl context = (ReadOnlyContextImpl) entityCtx; - - ReadOnlyBeanInfo robInfo = context.getReadOnlyBeanInfo(); - - // Grab the pk-specific lock before doing the refresh comparisons. - // In the common-case, the lock will only be held for a very short - // amount of time. In the case where a pk-level refresh is needed, - // we want to ensure that no concurrent refreshes for the same - // pk can occur. - - int pkLevelSequenceNum = 0; - long pkLastRefreshedAt = 0; - - synchronized(robInfo) { - - int currentBeanLevelSequenceNum = beanLevelSequenceNum; - - if( robInfo.beanLevelSequenceNum != currentBeanLevelSequenceNum) { - - if( _logger.isLoggable(Level.FINE) ) { - _logger.log(Level.FINE, "REFRESH DUE TO BEAN-LEVEL UPDATE:" - + " Bean-level sequence num = " + - beanLevelSequenceNum + - robInfo + " current time is " + new Date()); - } - - robInfo.refreshNeeded = true; - } else if (RELATIVE_TIME_CHECK_MODE && (refreshPeriodInMillis > 0)) { // 0 implies no time based refresh - if ((currentTimeInMillis - robInfo.lastRefreshedAt) > refreshPeriodInMillis) { - if (_logger.isLoggable(Level.FINE)) { - _logger.log(Level.FINE, "REFRESH DUE TO STALE PK:" - + " robInfo.lastRefreshedAt: " + robInfo.lastRefreshedAt - + "; current (approx) time is " + currentTimeInMillis); - } - - robInfo.refreshNeeded = true; - } - } - - // Refresh could be true EITHER because time-based refresh - // occurred or programmatic refresh of this PK. - if (robInfo.refreshNeeded) { - - if( _logger.isLoggable(Level.FINE) ) { - _logger.log(Level.FINE, " PK-LEVEL REFRESH : " - + robInfo + " current time is " + new Date()); - } - - try { - - if( isContainerManagedPers ) { - BeanStateSynchronization beanStateSynch = - (BeanStateSynchronization) ejb; - - beanStateSynch.ejb__refresh(entityCtx.getPrimaryKey()); - - if( _logger.isLoggable(Level.FINE) ) { - _logger.log(Level.FINE, " PK-LEVEL REFRESH DONE :" - + robInfo + " current time is " + new Date()); - } - - } else { - - if( ejb instanceof BeanStateSynchronization ) { - // For debugging purposes, call into ejb__refresh - // if it's present on a BMP bean class - BeanStateSynchronization beanStateSynch = - (BeanStateSynchronization) ejb; - - beanStateSynch.ejb__refresh - (entityCtx.getPrimaryKey()); - } - - } - - } finally { - // Always set refreshNeeded to false - robInfo.refreshNeeded = false; - } - - // Rob info only updated if no errors so far. - - updateAfterRefresh(robInfo); - } - - pkLevelSequenceNum = robInfo.pkLevelSequenceNum; - pkLastRefreshedAt = robInfo.lastRefreshedAt; - - } // releases lock for pk's read-only bean info - - if ((entityCtx.isNewlyActivated()) - || (context.getPKLevelSequenceNum() != pkLevelSequenceNum)) { - - // Now do instance-level refresh check to see if - // ejbLoad is warranted. - callLoad(ejb, context, pkLevelSequenceNum, - pkLastRefreshedAt, currentTimeInMillis); - } - } - - private void callLoad(EntityBean ejb, ReadOnlyContextImpl context, - int pkLevelSequenceNum, long pkLastRefreshedAt, - long currentTime) throws Exception { - - if( _logger.isLoggable(Level.FINE) ) { - _logger.log(Level.FINE, - "Calling ejbLoad for read-only bean " + - ejbDescriptor.getName() + " primary key " + - context.getPrimaryKey() + " at " + - new Date(currentTime)); - } - - try { - context.setInEjbLoad(true); - ejb.ejbLoad(); - - if( pkLevelSequenceNum > 0 ) { - // Synch up pk-level sequence num after successful load - context.setPKLevelSequenceNum(pkLevelSequenceNum); - } - - // Set last refresh time after successful load - context.setLastRefreshedAt(pkLastRefreshedAt); - } finally { - context.setInEjbLoad(false); - } - - } - - protected void callEJBRemove(EntityBean ejb, EntityContextImpl context) - throws Exception - { - - // This will only be called for BMP read-only beans since AS 7 - // allowed the client to make this call. Calls to remove - // CMP read-only beans result in a runtime exception. - - Object pk = context.getPrimaryKey(); - robCache.removeAll(pk); - - } - - protected void doConcreteContainerShutdown(boolean appBeingUndeployed) { - - this.distributedReadOnlyBeanService.removeReadOnlyBeanRefreshEventHandler( - getContainerId()); - - if( refreshTask != null ) { - refreshTask.cancel(); - } - - robCache.clear(); - - super.doConcreteContainerShutdown(appBeingUndeployed); - } - - // Called from BaseContainer just before invoking a business method - // whose tx attribute is TX_NEVER / TX_NOT_SUPPORTED / TX_SUPPORTS - // without a client tx. - protected void preInvokeNoTx(EjbInvocation inv) { - EntityContextImpl context = (EntityContextImpl)inv.context; - - if ( context.isInState(BeanState.DESTROYED) ) - return; - - if ( !inv.invocationInfo.isCreateHomeFinder ) { - // follow EJB2.0 section 12.1.6.1 - EntityBean e = (EntityBean)context.getEJB(); - try { - callEJBLoad(e, context, false); - } catch ( NoSuchEntityException ex ) { - _logger.log(Level.FINE, "Exception in preInvokeNoTx()", ex); - // Error during ejbLoad, so discard bean: EJB2.0 18.3.3 - forceDestroyBean(context); - - throw new NoSuchObjectLocalException( - "NoSuchEntityException thrown by ejbLoad, " + - "EJB instance discarded"); - } catch ( Exception ex ) { - // Error during ejbLoad, so discard bean: EJB2.0 18.3.3 - forceDestroyBean(context); - - throw new EJBException(ex); - } - context.setNewlyActivated(false); - } - } - - protected void afterNewlyActivated(EntityContextImpl context) { - // In the case of ReadOnlyBean store the Context into the list - ReadOnlyBeanInfo robInfo = addToCache(context.getPrimaryKey(), true); - - // Set the read-only bean info on the context so we can access it - // without doing a cache lookup. - // ReadOnlyContextImpl should always be used in conjunction with ReadOnlyBeanContainer - assert context instanceof ReadOnlyContextImpl; - ReadOnlyContextImpl readOnlyContext = (ReadOnlyContextImpl) context; - readOnlyContext.setReadOnlyBeanInfo(robInfo); - } - - protected void addPooledEJB(EntityContextImpl ctx) { - try { - // ReadOnlyContextImpl should always be used in conjunction with ReadOnlyBeanContainer - assert ctx instanceof ReadOnlyContextImpl; - ReadOnlyContextImpl readOnlyCtx = (ReadOnlyContextImpl)ctx; - if( readOnlyCtx.getReadOnlyBeanInfo() != null ) { - - readOnlyCtx.setReadOnlyBeanInfo(null); - - robCache.remove(ctx.getPrimaryKey(), true); - } - } catch (Exception ex) { - - _logger.log(Level.SEVERE, "entitybean.container.addPooledEJB", ex); - EJBException ejbEx = new EJBException(); - ejbEx.initCause(ex); - throw ejbEx; - - } finally { - super.addPooledEJB(ctx); - } - } - - protected void forceDestroyBean(EJBContextImpl context) { - - try { - ReadOnlyContextImpl readOnlyCtx = (ReadOnlyContextImpl) context; - if( readOnlyCtx.getReadOnlyBeanInfo() != null ) { - - readOnlyCtx.setReadOnlyBeanInfo(null); - - robCache.remove(readOnlyCtx.getPrimaryKey(), true); - } - - } catch (Exception ex) { - - _logger.log(Level.SEVERE, "entitybean.container.forceDestroyBean", ex); - EJBException ejbEx = new EJBException(); - ejbEx.initCause(ex); - throw ejbEx; - - } finally { - super.forceDestroyBean(context); - } - } - - public void preInvoke(EjbInvocation inv) { - - // Overriding preInvoke is the best way to interpose on the - // create early enough to throw an exception or eat the - // request before too much setup work is done by the container. - // It's better to keep this logic in the Read-Only Bean container - // than to put it in the InvocationHandlers. Note that - // interposition for the remove operation is handled below - // by overriding the removeBean method. - if( (inv.invocationInfo != null) && - inv.invocationInfo.startsWithCreate ) { - - String msg = "Error for ejb " + ejbDescriptor.getName() + - ". create is not allowed for read-only entity beans"; - - if( isContainerManagedPers ) { - // EJB team decided that throwing a runtime exception was more - // appropriate in this case since creation is not a - // supported operation for read-only beans. If the application - // is coded this way, it's best to throw a system exception - // to signal that the application is broken. NOTE that this - // only applies to the CMP 1.x and 2.x read-only bean - // functionality added starting with AS 8.1. - - throw new EJBException(msg); - - } else { - // Preserve AS 7 BMP ROB create behavior - CreateException ce = new CreateException(msg); - throw new PreInvokeException(ce); - } - - } else { - super.preInvoke(inv); - } - } - - protected Object invokeTargetBeanMethod(Method beanClassMethod, EjbInvocation inv, - Object target, Object[] params, - com.sun.enterprise.security.SecurityManager mgr) - throws Throwable { - - Object returnValue = null; - - if( inv.invocationInfo.startsWithFind ) { - - FinderResultsKey key = new FinderResultsKey(inv.method, params); - - FinderResultsValue value = finderResultsCache.get(key); - if (value != null) { - if (RELATIVE_TIME_CHECK_MODE && (refreshPeriodInMillis > 0)) { - long timeLeft = currentTimeInMillis - value.lastRefreshedAt; - if (timeLeft >= refreshPeriodInMillis) { - returnValue = value.value; - } - } else { - //Use even if !RELATIVE_MODE or if refreshTime == 0 - returnValue = value.value; - } - } - - if (returnValue == null) { - int hashCode = key.getExtendedHC(); - if (hashCode < 0) { - hashCode = -hashCode; - } - int index = hashCode & (FINDER_LOCK_SIZE - 1); - synchronized (finderLocks[index]) { - value = finderResultsCache.get(key); - if (value == null) { - returnValue = super.invokeTargetBeanMethod( - beanClassMethod, inv, target, params); - finderResultsCache.put(key, new FinderResultsValue(returnValue, - currentTimeInMillis)); - } else { - returnValue = value.value; - } - } - } - - } else { - returnValue = super.invokeTargetBeanMethod(beanClassMethod, inv, - target, params); - } - - return returnValue; - } - - protected void removeBean(EJBLocalRemoteObject ejbo, Method removeMethod, - boolean local) - throws RemoveException, EJBException, RemoteException - { - - String msg = "Error for ejb " + ejbDescriptor.getName() + - ". remove is not allowed for read-only entity beans"; - - if( isContainerManagedPers ) { - - // EJB team decided that throwing a runtime exception was more - // appropriate in this case since removal is not a - // supported operation for read-only beans. If the application - // is coded this way, it's best to throw a system exception - // to signal that the application is broken. NOTE that this - // only applies to the CMP 1.x and 2.x read-only bean - // functionality added starting with AS 8.1. - - // There's no post-invoke logic to convert local exceptions - // to remote, so take care of that here. - if (local) { - throw new EJBException(msg); - } else { - throw new RemoteException(msg); - } - - } else { - // Preserve AS 7 BMP ROB removal behavior. - // Calls to ejbRemove on BMP read-only beans in AS 7 - // were silently "eaten" by the ejb container. The - // client didn't receive any exception, but ejbRemove - // was not called on the container. - } - } - - protected void initializeHome() - throws Exception - { - super.initializeHome(); - - if (isRemote) { - ((ReadOnlyEJBHomeImpl) this.ejbHomeImpl). - setReadOnlyBeanContainer(this); - } - - if (isLocal) { - ReadOnlyEJBLocalHomeImpl readOnlyLocalHomeImpl = - (ReadOnlyEJBLocalHomeImpl) ejbLocalHomeImpl; - readOnlyLocalHomeImpl.setReadOnlyBeanContainer(this); - } - } - - @Override - protected EJBHomeInvocationHandler getEJBHomeInvocationHandler(Class homeIntfClass) throws Exception { - return new ReadOnlyEJBHomeImpl(ejbDescriptor, homeIntfClass); - } - - @Override - protected EJBLocalHomeInvocationHandler getEJBLocalHomeInvocationHandler(Class homeIntfClass) throws Exception { - return new ReadOnlyEJBLocalHomeImpl(ejbDescriptor, homeIntfClass); - } - - public void setRefreshFlag(Object primaryKey) { - - try { - handleRefreshRequest(primaryKey); - } finally { - distributedReadOnlyBeanService.notifyRefresh( - getContainerId(), primaryKey); - } - } - - public void handleRefreshRequest(Object primaryKey) { - // Lookup the read-only bean info for this pk. - // If there is no entry for this pk, do nothing. - // If there is a cache hit we *don't* want to increment the - // ref count. - ReadOnlyBeanInfo robInfo = (ReadOnlyBeanInfo) - robCache.get(primaryKey, false); - if( robInfo != null ) { - - synchronized(robInfo) { - - robInfo.refreshNeeded = true; - robInfo.lastRefreshRequestedAt = this.currentTimeInMillis; - - if( _logger.isLoggable(Level.FINE) ) { - _logger.log(Level.FINE, - "Updating refresh time for read-only bean " + - ejbDescriptor.getName() + " primary key " + primaryKey - + " at " + new Date(robInfo.lastRefreshRequestedAt) + - " pkLevelSequenceNum = " + robInfo.pkLevelSequenceNum); - } - } - } else { - _logger.log(Level.FINE, - "Refresh event for unknown read-only bean PK = " + - primaryKey + " at " + new Date()); - } - } - - /** - * invoked when application calls refreshAll() - */ - void refreshAll() { - try { - handleRefreshAllRequest(); - } finally { - distributedReadOnlyBeanService.notifyRefreshAll(getContainerId()); - } - } - - public void handleRefreshAllRequest() { - _logger.log(Level.FINE, "Received refreshAll request..."); - updateBeanLevelRefresh(); - } - - protected EntityContextImpl createEntityContextInstance(EntityBean ejb, - EntityContainer entityContainer) - { - return new ReadOnlyContextImpl(ejb, entityContainer); - } - - private ReadOnlyBeanInfo addToCache(Object primaryKey, boolean incrementRefCount) { - - // Optimize for the cache where the cache item already - // exists and we have a 2nd, 3rd, 4th, etc. context for - // the same primary key. If the item exists, the ref count - // will be incremented. - ReadOnlyBeanInfo robInfo = (ReadOnlyBeanInfo) - robCache.get(primaryKey, incrementRefCount); - - if( robInfo == null ) { - - // If the item doesn't exist, create a new one. The cache - // ensures that the ref count is correct in the face of concurrent - // puts. - - ReadOnlyBeanInfo newRobInfo = new ReadOnlyBeanInfo(); - - newRobInfo.primaryKey = primaryKey; - - // Initialize bean level sequence num so that the first time an - // instance of this PK goes through callEJBLoad, it will force - // a refresh. - newRobInfo.beanLevelSequenceNum = -1; - newRobInfo.refreshNeeded = true; - - newRobInfo.pkLevelSequenceNum = 1; - - newRobInfo.lastRefreshRequestedAt = 0; - newRobInfo.lastRefreshedAt = 0; - - // Cache ejbObject/ejbLocalObject within ROB info. - // This value is used by - // findByPrimaryKey to avoid a DB access. Caching here - // ensures that there will be one DB access for the PK - // regardless of the order in which findByPrimaryKey is called - // with respect to the business method call. This also covers - // the case where a business method is invoked through the - // local view and findByPrimaryKey is invoked through the - // Remote view (or vice versa). - if( ejbDescriptor.isLocalInterfacesSupported() ) { - newRobInfo.cachedEjbLocalObject = - getEJBLocalObjectForPrimaryKey(primaryKey); - } - if( ejbDescriptor.isRemoteInterfacesSupported() ) { - newRobInfo.cachedEjbObject = - getEJBObjectStub(primaryKey, null); - } - - ReadOnlyBeanInfo otherRobInfo = (ReadOnlyBeanInfo) - robCache.put(primaryKey, newRobInfo, incrementRefCount); - - // If someone else inserted robInfo for this pk before *our* put(), - // use that as the pk's robInfo. Otherwise, the new robInfo we - // created is the "truth" for this pk. - robInfo = (otherRobInfo == null) ? newRobInfo : otherRobInfo; - } - - return robInfo; - } - - //Called from InvocationHandler for findByPrimaryKey - //The super class (EntityContainer) also defines this method whcih is where - // the real work (of finding it from the database) is done. - protected Object invokeFindByPrimaryKey(Method method, EjbInvocation inv, - Object[] args) - throws Throwable - { - Object returnValue = null; - ReadOnlyBeanInfo robInfo = addToCache(args[0], false); - synchronized (robInfo) { - returnValue = inv.isLocal - ? robInfo.cachedEjbLocalObject : robInfo.cachedEjbObject; - - if ( robInfo.refreshNeeded ) { - _logger.log(Level.FINE, "ReadOnlyBeanContainer calling ejb.ejbFindByPK... for pk=" + args[0]); - returnValue = super.invokeFindByPrimaryKey(method, inv, args); - robInfo.refreshNeeded = false; - - //set the seq numbers so that the subsequent business method calls - // (if within expiration time) do not have to call ejb__refresh!! - updateAfterRefresh(robInfo); - - } - } - - return returnValue; - } - - public Object postFind(EjbInvocation inv, Object primaryKeys, - Object[] findParams) - throws FinderException - { - - // Always call parent to convert pks to ejbobjects/ejblocalobjects. - Object returnValue = super.postFind(inv, primaryKeys, findParams); - - // Only proceed if this is not a findByPK method. FindByPK - // processing is special since it's possible to actually - // skip the db access for the query itself. The caching requirements - // to actually skip nonFindByPK queries are extremely complex, but - // the next best thing to skipping the query is to populate the - // RobInfo cache with an entry for each pk in the result set. If - // a PK is part of the result set for a nonFindByPK query before - // it is accessed through some other means, no new refresh will be - // required. This will have the largest benefits for large result - // sets since it's possible for a query to return N beans from one - // db access, which would otherwise require N db accesses if the - // refresh were done upon business method invocation or findByPK. - // If a PK has been accessed before appearing in the result set of - // a nonFindByPK finder, there is no performance gain. - if( !inv.method.getName().equals("findByPrimaryKey") ) { - if ( primaryKeys instanceof Enumeration ) { - Enumeration e = (Enumeration) primaryKeys; - while ( e.hasMoreElements() ) { - Object primaryKey = e.nextElement(); - if( primaryKey != null ) { - updateRobInfoAfterFinder(primaryKey); - } - } - } else if ( primaryKeys instanceof Collection ) { - Collection c = (Collection)primaryKeys; - Iterator it = c.iterator(); - while ( it.hasNext() ) { - Object primaryKey = it.next(); - if( primaryKey != null ) { - updateRobInfoAfterFinder(primaryKey); - } - } - } else { - if( primaryKeys != null ) { - updateRobInfoAfterFinder(primaryKeys); - } - } - } - - return returnValue; - } - - private void updateRobInfoAfterFinder(Object primaryKey) { - addToCache(primaryKey, false); - - /* - ReadOnlyBeanInfo robInfo = addToCache(primaryKey, false); - synchronized (robInfo) { - if( robInfo.refreshNeeded ) { - robInfo.refreshNeeded = false; - updateAfterRefresh(robInfo); - } - } - */ - } - - //Called after a sucessful ejb_refresh and - //it is assumed that the caller has a lock on the robInfo - private void updateAfterRefresh(ReadOnlyBeanInfo robInfo) { - robInfo.beanLevelSequenceNum = beanLevelSequenceNum; - robInfo.pkLevelSequenceNum++; - robInfo.lastRefreshedAt = this.currentTimeInMillis; - } - - private final class RefreshTask extends TimerTask { - - public void run() { - updateBeanLevelRefresh(); - } - } - - private final class CurrentTimeRefreshTask extends TimerTask { - - public void run() { - currentTimeInMillis = System.currentTimeMillis(); - } - } - - private static final class FinderResultsValue { - long lastRefreshedAt; - Object value; - - public FinderResultsValue(Object v, long time) { - value = v; - this.lastRefreshedAt = time; - } - } - - private static final class FinderResultsKey { - - private static final Object[] EMPTY_PARAMS = new Object[0]; - - private Method finderMethod; - - private Object[] params; - - private int hc; - - private int extendedHC; - - public FinderResultsKey(Method method, Object[] params) { - finderMethod = method; - this.hc = finderMethod.hashCode(); - this.extendedHC = this.hc; - - this.params = (params == null) ? EMPTY_PARAMS : params; - for (Object param : this.params) { - extendedHC += param.hashCode(); - } - } - - public int hashCode() { - return hc; - } - - public int getExtendedHC() { - return this.extendedHC; - } - - public boolean equals(Object o) { - - boolean equal = false; - - if( o instanceof FinderResultsKey ) { - - FinderResultsKey other = (FinderResultsKey) o; - if ((params.length == other.params.length) - && (finderMethod.equals(other.finderMethod))) { - - equal = true; - - for(int i = 0; i < params.length; i++) { - - Object nextParam = params[i]; - Object nextParamOther = other.params[i]; - - if( nextParam instanceof EJBLocalObject ) { - - equal = compareEJBLocalObject - (((EJBLocalObject)nextParam), nextParamOther); - - } else if ( nextParam instanceof EJBObject ) { - - equal = compareEJBObject - (((EJBObject)nextParam), nextParamOther); - - } else { - equal = nextParam.equals(nextParamOther); - } - - if( !equal ) { - break; - } - } - } - } - - return equal; - - } - - private boolean compareEJBLocalObject(EJBLocalObject localObj1, - Object other) { - boolean equal = false; - - if( other instanceof EJBLocalObject ) { - - equal = localObj1.isIdentical((EJBLocalObject) other); - - } - - return equal; - - } - - private boolean compareEJBObject(EJBObject ejbObj1, - Object other) { - - boolean equal = false; - - if( other instanceof EJBObject ) { - - // @@@ Might want to optimize to avoid EJBObject invocation - // overhead. - try { - equal = ejbObj1.isIdentical((EJBObject) other); - } catch(RemoteException re) { - // ignore - equal = false; - } - - } - - return equal; - - } - - - - } - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanInfo.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanInfo.java deleted file mode 100644 index 7f0a8fcc3c7..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanInfo.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package org.glassfish.persistence.ejb.entitybean.container; - -import java.util.Date; - -/** - * Per-primary key information stored for read-only beans. - * - * @author Kenneth Saks - */ - -final class ReadOnlyBeanInfo -{ - - Object primaryKey; - - // Used to track staleness versus the bean-level refresh. - int beanLevelSequenceNum; - - // Set to true when a programmatic refresh takes place. - boolean refreshNeeded; - - // Sequence number associated with a point in time when refresh occurred. - // Each context for this pk also has a sequence number value. If they - // differ it means the context needs an ejbLoad. - int pkLevelSequenceNum; - - // last time when refresh was programattically requested for this PK. - long lastRefreshRequestedAt; - - // time at which refresh actually occurred. - long lastRefreshedAt; - - Object cachedEjbLocalObject; //Cached only for findByPK - - Object cachedEjbObject; //Cached only for findByPK - - public String toString() { - - StringBuilder buffer = new StringBuilder(); - buffer.append("Read Only Bean Info for " + primaryKey + "\n"); - buffer.append("Refresh needed = " + refreshNeeded + "\n"); - buffer.append("Bean level sequence num = " + beanLevelSequenceNum - + "\n"); - buffer.append("PK level sequence num = " + pkLevelSequenceNum + "\n"); - if( lastRefreshRequestedAt > 0 ) { - buffer.append("Last refresh requested at " + - new Date(lastRefreshRequestedAt) - + "\n"); - } else { - buffer.append("Refresh has never been requested\n"); - } - if( lastRefreshedAt > 0 ) { - buffer.append("Last refreshed at " + - new Date(lastRefreshedAt) + "\n"); - } else { - buffer.append("Never refreshed\n"); - } - - return buffer.toString(); - } - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanLocalNotifierImpl.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanLocalNotifierImpl.java deleted file mode 100644 index 3d10c3762f7..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanLocalNotifierImpl.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container; - -import java.util.logging.*; -import com.sun.logging.*; - -/** - * @author Mahesh Kannan - */ - -public final class ReadOnlyBeanLocalNotifierImpl - implements com.sun.appserv.ejb.ReadOnlyBeanLocalNotifier -{ - - private ReadOnlyBeanContainer robContainer; - - public ReadOnlyBeanLocalNotifierImpl(ReadOnlyBeanContainer container) { - this.robContainer = container; - } - - public void refresh (Object primaryKey) { - robContainer.setRefreshFlag(primaryKey); - } - - public void refreshAll() { - robContainer.refreshAll(); - } -} - diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanNotifierImpl.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanNotifierImpl.java deleted file mode 100644 index fa176b2821d..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyBeanNotifierImpl.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container; - - -import javax.rmi.PortableRemoteObject; - -import java.util.logging.*; -import com.sun.logging.*; - -import org.jvnet.hk2.annotations.Service; -import org.glassfish.persistence.ejb.entitybean.container.spi.ReadOnlyEJBHome; - -/** - * An instance of ReadOnlyBeanNotifier is used to refresh ReadOnlyBeans - * - * @author Mahesh Kannan - */ - -@Service -public final class ReadOnlyBeanNotifierImpl - implements java.io.Serializable, - com.sun.appserv.ejb.ReadOnlyBeanNotifier -{ - transient private ReadOnlyEJBHome readOnlyBeanHome = null; - - public ReadOnlyBeanNotifierImpl() - throws java.rmi.RemoteException - { - super(); - } - - public void setHome(ReadOnlyEJBHome home) throws java.rmi.RemoteException { - this.readOnlyBeanHome = home; - } - - public void refresh (Object primaryKey) - throws java.rmi.RemoteException - { - readOnlyBeanHome._refresh_com_sun_ejb_containers_read_only_bean_(primaryKey); - } - - public void refreshAll() throws java.rmi.RemoteException - { - readOnlyBeanHome._refresh_All(); - } - -} - diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyContextImpl.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyContextImpl.java deleted file mode 100644 index 099b614fdb2..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyContextImpl.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container; - -import jakarta.ejb.EnterpriseBean; -import com.sun.ejb.containers.BaseContainer; - -/** - * Implementation of EJBContext for ReadOnlyBeans. Contains extra - * attributes that allows selective ejbLoad() - * - * @author Mahesh Kannan - */ - -public final class ReadOnlyContextImpl - extends EntityContextImpl -{ - private int pkLevelSequenceNum; - private long lastRefreshedAt; - private boolean removed = false; - - // only non-null when associated with a primary-key - transient private ReadOnlyBeanInfo robInfo; - - ReadOnlyContextImpl(EnterpriseBean ejb, BaseContainer container) { - super(ejb, container); - } - - public int getPKLevelSequenceNum() { - return pkLevelSequenceNum; - } - - public void incrementPKLevelSequenceNum() { - pkLevelSequenceNum++; - } - - public void setPKLevelSequenceNum(int num) { - pkLevelSequenceNum = num; - } - - public long getLastRefreshedAt() { - return lastRefreshedAt; - } - - public void setLastRefreshedAt(long time) { - lastRefreshedAt = time; - } - - public boolean isRemoved() { - return removed; - } - - public void setRemoved(boolean value) { - removed = value; - } - - public void setReadOnlyBeanInfo(ReadOnlyBeanInfo info) { - robInfo = info; - - // Whenever read-only bean info is set or nulled out, initialize - // its derived fields. - pkLevelSequenceNum = -1; - lastRefreshedAt = 0; - } - - public ReadOnlyBeanInfo getReadOnlyBeanInfo() { - return robInfo; - } -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyEJBHomeImpl.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyEJBHomeImpl.java deleted file mode 100644 index dfcbc714faf..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyEJBHomeImpl.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container; - -import java.lang.reflect.Method; - -import org.glassfish.persistence.ejb.entitybean.container.spi.ReadOnlyEJBHome; -import com.sun.ejb.containers.util.MethodMap; -import com.sun.enterprise.deployment.EjbDescriptor; - -/** - * Implementation of the EJBHome interface for ReadOnly Entity Beans. - * This class is also the base class for all generated concrete ReadOnly - * EJBHome implementations. - * At deployment time, one instance of ReadOnlyEJBHomeImpl is created - * for each EJB class in a JAR that has a remote home. - * - * @author Mahesh Kannan - */ - -public final class ReadOnlyEJBHomeImpl - extends EntityBeanHomeImpl - implements ReadOnlyEJBHome -{ - // robContainer initialized in ReadOnlyBeanContainer.initializeHome() - private ReadOnlyBeanContainer robContainer; - - ReadOnlyEJBHomeImpl(EjbDescriptor ejbDescriptor, - Class homeIntfClass) - throws Exception { - super(ejbDescriptor, homeIntfClass); - } - - /** - * Called from ReadOnlyBeanContainer only. - */ - final void setReadOnlyBeanContainer(ReadOnlyBeanContainer container) { - this.robContainer = container; - } - - - /***********************************************/ - /** Implementation of ReadOnlyEJBHome methods **/ - /***********************************************/ - - public void _refresh_com_sun_ejb_containers_read_only_bean_(Object primaryKey) - throws java.rmi.RemoteException - { - if (robContainer != null) { - robContainer.setRefreshFlag(primaryKey); - } - } - - public void _refresh_All() throws java.rmi.RemoteException - { - if (robContainer != null) { - robContainer.refreshAll(); - } - } - - protected boolean invokeSpecialEJBHomeMethod(Method method, Class methodClass, - Object[] args) throws Exception { - if( methodClass == ReadOnlyEJBHome.class ) { - if( method.getName().equals("_refresh_All") ) { - _refresh_All(); - } else { - _refresh_com_sun_ejb_containers_read_only_bean_ - (args[0]); - } - - return true; - } - return false; - } -} - diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyEJBLocalHomeImpl.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyEJBLocalHomeImpl.java deleted file mode 100644 index dc12010ff88..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/ReadOnlyEJBLocalHomeImpl.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container; - -import java.lang.reflect.Method; - -import com.sun.appserv.ejb.ReadOnlyBeanLocalNotifier; -import com.sun.ejb.containers.util.MethodMap; -import com.sun.enterprise.deployment.EjbDescriptor; -import org.glassfish.persistence.ejb.entitybean.container.spi.ReadOnlyEJBLocalHome; - -/** - * Implementation of the EJBHome interface. - * This class is also the base class for all generated concrete ReadOnly - * EJBLocalHome implementations. - * At deployment time, one instance of ReadOnlyEJBHomeImpl is created - * for each EJB class in a JAR that has a local home. - * - * @author Mahesh Kannan - */ - -public class ReadOnlyEJBLocalHomeImpl - extends EntityBeanLocalHomeImpl - implements ReadOnlyEJBLocalHome -{ - private ReadOnlyBeanLocalNotifier robNotifier; - - protected ReadOnlyEJBLocalHomeImpl(EjbDescriptor ejbDescriptor, - Class localHomeIntf) throws Exception { - super(ejbDescriptor, localHomeIntf); - } - - /** - * Called from ReadOnlyBeancontainer only. - */ - final void setReadOnlyBeanContainer(ReadOnlyBeanContainer robContainer) { - this.robNotifier = new ReadOnlyBeanLocalNotifierImpl(robContainer); - } - - public ReadOnlyBeanLocalNotifier getReadOnlyBeanLocalNotifier() { - return robNotifier; - } - - protected boolean handleSpecialEJBLocalHomeMethod(Method method, Class methodClass) { - return (methodClass == ReadOnlyEJBLocalHome.class); - } - - protected Object invokeSpecialEJBLocalHomeMethod(Method method, Class methodClass, - Object[] args) throws Throwable { - return getReadOnlyBeanLocalNotifier(); - } -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/EJBObjectCache.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/EJBObjectCache.java deleted file mode 100644 index 5272bbac8de..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/EJBObjectCache.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container.cache; - -import com.sun.appserv.util.cache.Cache; - -/** - * An interface for accessing EJB(Local)Object caches - * - * @author Mahesh Kannan - */ - -public interface EJBObjectCache - extends Cache -{ - public Object get(Object key, boolean incrementRefCount); - - public Object put(Object key, Object value, boolean incrementRefCount); - - public Object remove(Object key, boolean decrementRefCount); - - public void init(int maxEntries, int numberOfVictimsToSelect, - long timeout, float loadFactor, java.util.Properties props); - - public void setEJBObjectCacheListener(EJBObjectCacheListener listener); -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/EJBObjectCacheListener.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/EJBObjectCacheListener.java deleted file mode 100644 index 92b5c1d7185..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/EJBObjectCacheListener.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container.cache; - -import java.util.ArrayList; - -/** - * An interface for handling overflow from EJB(Local)Object caches - * - * @author Mahesh Kannan - */ - -public interface EJBObjectCacheListener { - - public void handleOverflow(Object key); - - public void handleBatchOverflow(ArrayList keys); - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/FIFOEJBObjectCache.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/FIFOEJBObjectCache.java deleted file mode 100644 index d9f5cc37d42..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/cache/FIFOEJBObjectCache.java +++ /dev/null @@ -1,555 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019] Payara Foundation and/or affiliates - -package org.glassfish.persistence.ejb.entitybean.container.cache; - -import com.sun.ejb.containers.util.cache.LruEJBCache; -import com.sun.logging.LogDomains; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * A FIFO EJB(Local)Object cache that maintains reference count - * - * @author Mahesh Kannan - */ -public class FIFOEJBObjectCache - extends LruEJBCache - implements EJBObjectCache -{ - protected int maxCacheSize; - protected String name; - protected EJBObjectCacheListener listener; - - protected Object refCountLock = new Object(); - protected int totalRefCount = 0; - protected static final boolean _printRefCount = - Boolean.getBoolean("cache.printrefcount"); - - - private static final Logger _logger = - LogDomains.getLogger(FIFOEJBObjectCache.class, LogDomains.EJB_LOGGER); - - /** - * default constructor - */ - public FIFOEJBObjectCache(String name) { - this.name = name; - } - - /** - * constructor with specified timeout - */ - public FIFOEJBObjectCache(String name, long timeout) { - super(); - setTimeout(timeout); - this.name = name; - } - - public void init(int maxEntries, int numberOfVictimsToSelect, long timeout, - float loadFactor, Properties props) - { - super.init(maxEntries, loadFactor, props); - super.timeout = timeout; - this.maxCacheSize = maxEntries; - _logger.log(Level.FINE, name + ": FIFOEJBObject cache created...."); - } - - public void setEJBObjectCacheListener(EJBObjectCacheListener listener) { - this.listener = listener; - } - - public Object get(Object key) { - int hashCode = hash(key); - - return internalGet(hashCode, key, false); - } - - - public Object get(Object key, boolean incrementRefCount) { - int hashCode = hash(key); - - return internalGet(hashCode, key, incrementRefCount); - } - - public Object put(Object key, Object value) { - int hashCode = hash(key); - - return internalPut(hashCode, key, value, -1, false); - } - - public Object put(Object key, Object value, boolean incrementRefCount) { - int hashCode = hash(key); - - return internalPut(hashCode, key, value, -1, incrementRefCount); - } - - - public Object remove(Object key) { - return internalRemove(key, true); - } - - public Object remove(Object key, boolean decrementRefCount) { - return internalRemove(key, decrementRefCount); - } - - protected boolean isThresholdReached() { - return listSize > maxCacheSize; - } - - protected void itemAccessed(CacheItem item) { } - - protected void itemRemoved(CacheItem item) { - // LruCacheItem(more specifically EJBObjectCacheItem) should always be used in conjunction with FIFOEJBObjectCache - assert item instanceof LruCacheItem; - LruCacheItem l = (LruCacheItem) item; - - // remove the item from the LRU list - synchronized (this) { - // if the item is already trimmed from the LRU list, nothing to do. - if (l.isTrimmed()) { - return; - } - - LruCacheItem prev = l.getLPrev(); - LruCacheItem next = l.getLNext(); - - l.setTrimmed(true); - - // patch up the neighbors and make sure head/tail are correct - if (prev != null) - prev.setLNext(next); - else - head = next; - - if (next != null) - next.setLPrev(prev); - else - tail = prev; - - l.setLNext(null); - l.setLPrev(null); - - listSize--; - } - } - - protected Object internalGet(int hashCode, Object key, - boolean incrementRefCount) { - - int index = getIndex(hashCode); - Object value = null; - CacheItem item = null; - - synchronized (bucketLocks[index]) { - item = buckets[index]; - - for (; item != null; item = item.getNext()) { - if ( (hashCode == item.getHashCode()) && eq(key, item.getKey()) ) { - break; - } - } - - // update the stats in line - if (item != null) { - value = item.getValue(); - if (incrementRefCount) { - // EJBObjectCacheItem should always be used in conjunction with FIFOEJBObjectCache - assert item instanceof EJBObjectCacheItem; - EJBObjectCacheItem eoItem = (EJBObjectCacheItem) item; - eoItem.refCount++; - if (_printRefCount) { - incrementReferenceCount(); - } - if (! eoItem.isTrimmed()) { - itemRemoved(eoItem); - } - } - } - } - - if (item != null) - incrementHitCount(); - else - incrementMissCount(); - - return value; - } - - protected Object internalPut(int hashCode, Object key, Object value, - int size, boolean incrementRefCount) - { - - int index = getIndex(hashCode); - - CacheItem item, oldItem = null, overflow = null; - EJBObjectCacheItem newItem = null; - Object oldValue = null; - int oldSize = 0; - - // lookup the item - synchronized (bucketLocks[index]) { - for (item = buckets[index]; item != null; item = item.getNext()) { - if ((hashCode == item.getHashCode()) && eq(key, item.getKey())) { - oldItem = item; - break; - } - } - - // if there was no item in the cache, insert the given item - if (oldItem == null) { - newItem = (EJBObjectCacheItem) - createItem(hashCode, key, value, size); - newItem.setTrimmed(incrementRefCount); - - // add the item at the head of the bucket list - newItem.setNext( buckets[index] ); - buckets[index] = newItem; - - if (incrementRefCount) { - newItem.refCount++; - if (_printRefCount) { - incrementReferenceCount(); - } - } else { - overflow = itemAdded(newItem); - } - } else { - oldValue = oldItem.getValue(); - if (incrementRefCount) { - // EJBObjectCacheItem should always be used in conjunction with FIFOEJBObjectCache - assert oldItem instanceof EJBObjectCacheItem; - EJBObjectCacheItem oldEJBO = (EJBObjectCacheItem) oldItem; - oldEJBO.refCount++; - if (_printRefCount) { - incrementReferenceCount(); - } - } - } - } - - if (newItem != null) { - incrementEntryCount(); - // make sure we are are not crossing the threshold - if ((overflow != null) && (listener != null)) { - listener.handleOverflow(overflow.getKey()); - } - } - - return oldValue; - } - - - public void print() { - System.out.println("EJBObjectCache:: size: " + getEntryCount() + - "; listSize: " + listSize); - for (LruCacheItem run = head; run!=null; run=run.getLNext()) { - System.out.print("("+run.getKey()+", "+run.getValue()+") "); - } - System.out.println(); - } - - protected Object internalRemove(Object key, boolean decrementRefCount) { - - int hashCode = hash(key); - int index = getIndex(hashCode); - - CacheItem prev = null, item = null; - - synchronized (bucketLocks[index]) { - for (item = buckets[index]; item != null; item = item.getNext()) { - if (hashCode == item.getHashCode() && key.equals(item.getKey())) { - // EJBObjectCacheItem should always be used in conjunction with FIFOEJBObjectCache - assert item instanceof EJBObjectCacheItem; - EJBObjectCacheItem eoItem = (EJBObjectCacheItem) item; - if (decrementRefCount) { - if (eoItem.refCount > 0) { - eoItem.refCount--; - if (_printRefCount) { - decrementReferenceCount(); - } - } - } - - if (eoItem.refCount > 0) { - return null; - } - - if (prev == null) { - buckets[index] = item.getNext(); - } else { - prev.setNext( item.getNext() ); - } - item.setNext( null ); - - itemRemoved(item); - - break; - - } - prev = item; - } - } - - if (item != null) { - decrementEntryCount(); - incrementRemovalCount(); - incrementHitCount(); - return item.getValue(); - } else { - incrementMissCount(); - return null; - } - - } - - /* - protected void trimItem(CacheItem item) { - } - */ - - protected CacheItem createItem(int hashCode, Object key, Object value, - int size) { - return new EJBObjectCacheItem(hashCode, key, value, size); - } - - protected static class EJBObjectCacheItem - extends LruCacheItem { - protected int refCount; - - protected EJBObjectCacheItem(int hashCode, Object key, Object value, - int size) { - super(hashCode, key, value, size); - } - } - - public Map getStats() { - Map map = new HashMap(); - StringBuilder sbuf = new StringBuilder(); - - sbuf.append("(totalRef=").append(totalRefCount).append("; "); - - sbuf.append("listSize=").append(listSize) - .append("; curSize/totSize=").append(getEntryCount()) - .append("/").append(maxEntries) - .append("; trim=").append(trimCount) - .append("; remove=").append(removalCount) - .append("; hit/miss=").append(hitCount).append("/").append(missCount) - .append(")"); - map.put("["+name+"]", sbuf.toString()); - return map; - } - - public void trimExpiredEntries(int maxCount) { - - int count = 0; - LruCacheItem item, lastItem = null; - long currentTime = System.currentTimeMillis(); - - synchronized (this) { - // traverse LRU list till we reach a valid item; remove them at once - for (item = tail; item != null && count < maxCount; - item = item.getLPrev()) { - - if ((timeout != NO_TIMEOUT) && - (item.getLastAccessed() + timeout) <= currentTime) { - item.setTrimmed(true); - lastItem = item; - - count++; - } else { - break; - } - } - - // if there was at least one invalid item then item != tail. - if (item != tail) { - lastItem.setLPrev(null); - - if (item != null) - item.setLNext(null); - else - head = null; - - lastItem = tail; // record the old tail - tail = item; - } - listSize -= count; - trimCount += count; - } - - if (count > 0) { - - ArrayList localVictims = new ArrayList(count); - // trim the items from the BaseCache from the old tail backwards - for (item = lastItem; item != null; item = item.getLPrev()) { - localVictims.add(item.getKey()); - } - - if (listener != null) { - listener.handleBatchOverflow(localVictims); - } - } - } - - protected void incrementReferenceCount() { - synchronized (refCountLock) { - totalRefCount++; - } - } - - protected void decrementReferenceCount() { - synchronized (refCountLock) { - totalRefCount--; - } - } - - protected void decrementReferenceCount(int count) { - synchronized (refCountLock) { - totalRefCount -= count; - } - } - - - static void unitTest_1() - throws Exception { - - FIFOEJBObjectCache cache = new FIFOEJBObjectCache("UnitTestCache"); - cache.init(512, 0, 0, (float)1.0, null); - - int maxCount = 14; - ArrayList keys = new ArrayList(); - for (int i=0; i ", sbuf.toString()); - return map; - } - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedEJBService.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedEJBService.java deleted file mode 100644 index b56f7be45ba..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedEJBService.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container.distributed; - -public interface DistributedEJBService { - - public DistributedReadOnlyBeanService getDistributedReadOnlyBeanService(); - -} //DistributedEJBService.java diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedEJBServiceFactory.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedEJBServiceFactory.java deleted file mode 100644 index 74cd8cca1a8..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedEJBServiceFactory.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container.distributed; - -public class DistributedEJBServiceFactory - implements DistributedEJBService -{ - - private static DistributedEJBService distributedEJBService - = new DistributedEJBServiceFactory(); - - private static DistributedReadOnlyBeanService _distributedReadOnlyBeanService - = new DistributedReadOnlyBeanServiceImpl(); - - public static DistributedEJBService getDistributedEJBService() { - return distributedEJBService; - } - - public DistributedReadOnlyBeanService getDistributedReadOnlyBeanService() { - return _distributedReadOnlyBeanService; - } - -} //DistributedEJBServiceFactory.java - diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanNotifier.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanNotifier.java deleted file mode 100644 index 57764df672d..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanNotifier.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container.distributed; - -/** - * An instance of DistributedReadOnlyBeanNotifier is used to notify other server - * instances to refresh a ReadOnly Bean. An instance of - * ReadOnlyBeanRefreshEventHandler is used to handle requests received from - * other server instances. - * - * @author Mahesh Kannan - * @see ReadOnlyBeanRefreshEventHandler - */ -public interface DistributedReadOnlyBeanNotifier { - - /** - * This is called by the container after it has called refresh - * - * @param ejbID the ejbID that uniquely identifies the container - * @param pk The primary key of the bean(s) that is to be refreshed - */ - public void notifyRefresh(long ejbID, byte[] pk); - - /** - * This is called by the container after it has called refresh - * - * @param ejbID the ejbID that uniquely identifies the container - * @param pk The primary key of the bean(s) that is to be refreshed - */ - public void notifyRefreshAll(long ejbID); - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanService.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanService.java deleted file mode 100644 index 2da6cbfded0..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanService.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container.distributed; - -/** - * DistributedReadOnlyBeanService defines the methods that can be used to - * implement a distributed ReadOnly beans. An instance of - * ReadOnlyBeanRefreshEventHandler is used to handle requests received from - * other server instances. An instance of DistributedReadOnlyBeanNotifier is used to - * notify other server instances. - * - * @author Mahesh Kannan - * @see ReadOnlyBeanRefreshEventHandler - */ -public interface DistributedReadOnlyBeanService { - - /** - * This is typically done during appserver startup time. One of the LifeCycle - * listeners will create an instance of DistributedReadOnlyBeanNotifier and - * register that instance with DistributedReadOnlyBeanService - * - * @param notifier the notifier who is responsible for notifying refresh - * event(s) to other instances - */ - public void setDistributedReadOnlyBeanNotifier( - DistributedReadOnlyBeanNotifier notifier); - - /** - * Called from ReadOnlyBeanContainer to register itself as a - * ReadOnlyBeanRefreshEventHandler. - * - * @param ejbID the ejbID that uniquely identifies the container - * @param loader the class loader that will be used to serialize/de-serialize - * the primary key - * @param handler The handler that is responsible for - * correctly refresing the state of a RO bean - */ - public void addReadOnlyBeanRefreshEventHandler( - long ejbID, ClassLoader loader, - ReadOnlyBeanRefreshEventHandler handler); - - /** - * Called from ReadOnlyBeanContainer to unregister itself as a - * ReadOnlyBeanRefreshEventHandler. Typically called during undeployment. - * - * @param ejbID - */ - public void removeReadOnlyBeanRefreshEventHandler(long ejbID); - - /** - * Called by the container after it has refreshed the RO bean - * - * @param ejbID the ejbID that uniquely identifies the container - * @param pk the primary key to be refreshed - */ - public void notifyRefresh(long ejbID, Object pk); - - /** - * Called by the container after it has refreshed all RO beans - * - * @param ejbID the ejbID that uniquely identifies the container - */ - public void notifyRefreshAll(long ejbID); - - /** - * Called from the DistributedReadOnlyBeanNotifier when it receives a (remote) - * request to refresh a RO bean - * - * @param ejbID the ejbID that uniquely identifies the container - * @param pk the primary key to be refreshed - */ - public void handleRefreshRequest(long ejbID, byte[] pkData); - - /** - * Called from the DistributedReadOnlyBeanNotifier when it receives a (remote) - * request to refresh all RO beans - * - * @param ejbID the ejbID that uniquely identifies the container - */ - public void handleRefreshAllRequest(long ejbID); - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanServiceImpl.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanServiceImpl.java deleted file mode 100644 index d07e3e760d1..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/DistributedReadOnlyBeanServiceImpl.java +++ /dev/null @@ -1,212 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2024] Payara Foundation and/or its affiliates - -package org.glassfish.persistence.ejb.entitybean.container.distributed; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.Serializable; -import java.util.concurrent.ConcurrentHashMap; -import java.util.logging.Level; -import java.util.logging.Logger; - -import com.sun.ejb.containers.EjbContainerUtilImpl; -import com.sun.logging.LogDomains; - - -class DistributedReadOnlyBeanServiceImpl - implements DistributedReadOnlyBeanService { - - private Logger _logger = LogDomains.getLogger(DistributedReadOnlyBeanServiceImpl.class, LogDomains.EJB_LOGGER); - - private ConcurrentHashMap refreshHandlers - = new ConcurrentHashMap(); - - - private DistributedReadOnlyBeanNotifier robNotifier; - - public void setDistributedReadOnlyBeanNotifier( - DistributedReadOnlyBeanNotifier notifier) { - this.robNotifier = notifier; - _logger.log(Level.INFO, "Registered ReadOnlyBeanNotifier: " - + notifier); - } - - public void addReadOnlyBeanRefreshEventHandler( - long ejbID, ClassLoader loader, - ReadOnlyBeanRefreshEventHandler handler) { - refreshHandlers.put(ejbID, new ReadOnlyBeanRefreshHandlerInfo( - loader, handler)); - _logger.log(Level.INFO, "Registered ReadOnlyBeanRefreshEventHandler: " - + ejbID + "; " + handler); - } - - public void removeReadOnlyBeanRefreshEventHandler(long ejbID) { - refreshHandlers.remove(ejbID); - } - - public void notifyRefresh(long ejbID, Object pk) { - if (robNotifier != null) { - byte[] pkData = null; - - ByteArrayOutputStream bos = null; - ObjectOutputStream oos = null; - try { - bos = new ByteArrayOutputStream(); - oos = new ObjectOutputStream(bos); - - oos.writeObject(pk); - oos.flush(); - bos.flush(); - pkData = bos.toByteArray(); - robNotifier.notifyRefresh(ejbID, pkData); - } catch (Exception ex) { - _logger.log(Level.WARNING, "Error during notifyRefresh", ex); - } finally { - if (oos != null) { - try { oos.close(); } catch(IOException ioEx) {}; - } - if (bos != null) { - try { bos.close(); } catch(IOException ioEx) {}; - } - } - } else { - if (_logger.isLoggable(Level.FINE)) { - _logger.log(Level.FINE, - "DistributedReadOnlyBeanService ignoring request " - + "for notifyRefresh: " + ejbID); - } - } - } - - public void notifyRefreshAll(long ejbID) { - if (robNotifier != null) { - robNotifier.notifyRefreshAll(ejbID); - } else { - if (_logger.isLoggable(Level.FINE)) { - _logger.log(Level.FINE, - "DistributedReadOnlyBeanService ignoring request " - + "for notifyRefreshAll: " + ejbID); - } - } - } - - public void handleRefreshRequest(long ejbID, byte[] pkData) { - refreshRequestReceived(false, ejbID, pkData); - } - - public void handleRefreshAllRequest(long ejbID) { - refreshRequestReceived(true, ejbID, null); - } - - private void refreshRequestReceived(boolean refreshAll, - long ejbID, byte[] pkData) { - - final ReadOnlyBeanRefreshHandlerInfo info = refreshHandlers.get(ejbID); - if (info == null) { - //TODO: Log something - return; - } - - final Thread currentThread = Thread.currentThread(); - final ClassLoader prevClassLoader = currentThread.getContextClassLoader(); - - try { - currentThread.setContextClassLoader(info.loader); - - if (! refreshAll) { - ByteArrayInputStream bis = null; - ObjectInputStream ois = null; - Serializable pk = null; - try { - bis = new ByteArrayInputStream(pkData); - ois = new ObjectInputStream(bis); - - pk = (Serializable) ois.readObject(); - } catch (IOException ioEx) { - _logger.log(Level.WARNING, "Error during refresh", ioEx); - } catch (ClassNotFoundException cnfEx) { - _logger.log(Level.WARNING, "Error during refresh", cnfEx); - } finally { - if (ois != null) { - try { - ois.close(); - } catch(IOException ioEx) { - _logger.log(Level.WARNING, - "Error while closing object stream", ioEx); - }; - } - if (bis != null) { - try { - bis.close(); - } catch(IOException ioEx) { - _logger.log(Level.WARNING, - "Error while closing byte stream", ioEx); - }; - } - } - if (pk != null) { - info.handler.handleRefreshRequest(pk); - } - } else { - info.handler.handleRefreshAllRequest(); - } - } catch (Exception ex) { - _logger.log(Level.WARNING, "Error during refresh", ex); - } finally { - currentThread.setContextClassLoader(prevClassLoader); - } - } - - private static class ReadOnlyBeanRefreshHandlerInfo { - public ClassLoader loader; - public ReadOnlyBeanRefreshEventHandler handler; - - public ReadOnlyBeanRefreshHandlerInfo( - ClassLoader loader, ReadOnlyBeanRefreshEventHandler handler) { - this.loader = loader; - this.handler = handler; - } - } -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/ReadOnlyBeanMessageCallBack.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/ReadOnlyBeanMessageCallBack.java deleted file mode 100755 index 16765d2e549..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/ReadOnlyBeanMessageCallBack.java +++ /dev/null @@ -1,214 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container.distributed; - -import com.sun.ejb.containers.EjbContainerUtil; - -import org.jvnet.hk2.annotations.Service; -import jakarta.inject.Inject; - -import java.util.logging.Logger; -import java.util.logging.Level; -import com.sun.logging.LogDomains; -import fish.payara.nucleus.cluster.PayaraCluster; -import fish.payara.nucleus.eventbus.ClusterMessage; -import fish.payara.nucleus.eventbus.EventBus; -import fish.payara.nucleus.eventbus.MessageReceiver; -import java.io.Serializable; - -@Service -public class ReadOnlyBeanMessageCallBack implements MessageReceiver, DistributedReadOnlyBeanNotifier { - - @Inject - private EjbContainerUtil ejbContainerUtil; - - @Inject - EventBus eventBus; - - @Inject - PayaraCluster cluster; - - private static DistributedReadOnlyBeanService _readOnlyBeanService = DistributedEJBServiceFactory - .getDistributedEJBService().getDistributedReadOnlyBeanService(); - - private static final String GMS_READ_ONLY_COMPONENT_NAME = "__GMS__READ_ONLY_BEAN__"; - - static final Logger _logger = - LogDomains.getLogger(ReadOnlyBeanMessageCallBack.class, LogDomains.EJB_LOGGER); - - public void postConstruct() { - if (!ejbContainerUtil.isDas()) { - if (eventBus != null && cluster != null && cluster.isEnabled()) { - _readOnlyBeanService.setDistributedReadOnlyBeanNotifier(this); - eventBus.addMessageReceiver(GMS_READ_ONLY_COMPONENT_NAME, this); - } - } - } - - - @Override - public void receiveMessage(ClusterMessage cm) { - RefreshPayload message = (RefreshPayload) cm.getPayload(); - byte[] payload = message.payload; - int size = payload.length; - long ejbID = bytesToLong(payload, 0); - if (size == 8) { - _logger.log(Level.WARNING, "ReadOnlyBeanMessageCallBack: " + " Got message for ejbID: " + ejbID); - _readOnlyBeanService.handleRefreshAllRequest(ejbID); - } else { - byte[] pkData = new byte[size - 8]; - System.arraycopy(payload, 8, pkData, 0, pkData.length); - _readOnlyBeanService.handleRefreshRequest(ejbID, pkData); - _logger.log(Level.WARNING, "ReadOnlyBeanMessageCallBack: " + " Handled message for ejbID: " + ejbID); - } - } - - /** - * This is called by the container after it has called refresh - * - * @param ejbID - * the ejbID that uniquely identifies the container - * @param pk - * The primary key of the bean(s) that is to be refreshed - */ - public void notifyRefresh(long ejbID, byte[] pk) { - int size = pk.length; - byte[] payload = new byte[size + 8]; - - longToBytes(ejbID, payload, 0); - System.arraycopy(pk, 0, payload, 8, size); - try { - eventBus.publish(GMS_READ_ONLY_COMPONENT_NAME, new ClusterMessage(new RefreshPayload(payload))); - _logger.log(Level.WARNING, "ReadOnlyBeanMessageCallBack: " + " Sent message for ejbID: " + ejbID); - } catch (Exception ex) { - _logger.log(Level.WARNING, "ReadOnlyBeanMessageCallBack: " + "Got exception during notifyRefresh", ex); - } - } - - /** - * This is called by the container after it has called refresh - * - * @param ejbID - * the ejbID that uniquely identifies the container - * @param pk - * The primary key of the bean(s) that is to be refreshed - */ - public void notifyRefreshAll(long ejbID) { - byte[] payload = new byte[8]; - - longToBytes(ejbID, payload, 0); - try { - eventBus.publish(GMS_READ_ONLY_COMPONENT_NAME, new ClusterMessage(new RefreshPayload(payload))); - } catch (Exception ex) { - _logger.log(Level.WARNING, "ReadOnlyBeanMessageCallBack: " + "Got exception during notifyRefreshAll", ex); - } - } - - /** - * Marshal an long to a byte array. The bytes are in BIGENDIAN order. i.e. - * array[offset] is the most-significant-byte and array[offset+7] is the - * least-significant-byte. - * - * @param array - * The array of bytes. - * @param offset - * The offset from which to start marshalling. - */ - private static void longToBytes(long value, byte[] array, int offset) { - array[offset] = (byte) ((value >>> 56) & 0xFF); - array[offset + 1] = (byte) ((value >>> 48) & 0xFF); - array[offset + 2] = (byte) ((value >>> 40) & 0xFF); - array[offset + 3] = (byte) ((value >>> 32) & 0xFF); - array[offset + 4] = (byte) ((value >>> 24) & 0xFF); - array[offset + 5] = (byte) ((value >>> 16) & 0xFF); - array[offset + 6] = (byte) ((value >>> 8) & 0xFF); - array[offset + 7] = (byte) ((value >>> 0) & 0xFF); - } - - /** - * Unmarshal a byte array to an long. Assume the bytes are in BIGENDIAN - * order. i.e. array[offset] is the most-significant-byte and - * array[offset+7] is the least-significant-byte. - * - * @param array - * The array of bytes. - * @param offset - * The offset from which to start unmarshalling. - */ - private static long bytesToLong(byte[] array, int offset) { - long l1, l2; - - l1 = (long) bytesToInt(array, offset) << 32; - l2 = (long) bytesToInt(array, offset + 4) & 0xFFFFFFFFL; - - return (l1 | l2); - } - - /** - * Unmarshal a byte array to an integer. Assume the bytes are in BIGENDIAN - * order. i.e. array[offset] is the most-significant-byte and - * array[offset+3] is the least-significant-byte. - * - * @param array - * The array of bytes. - * @param offset - * The offset from which to start unmarshalling. - */ - private static int bytesToInt(byte[] array, int offset) { - int b1, b2, b3, b4; - - b1 = (array[offset] << 24) & 0xFF000000; - b2 = (array[offset + 1] << 16) & 0x00FF0000; - b3 = (array[offset + 2] << 8) & 0x0000FF00; - b4 = (array[offset + 3] << 0) & 0x000000FF; - - return (b1 | b2 | b3 | b4); - } - - private class RefreshPayload implements Serializable { - byte payload[]; - - private RefreshPayload(byte[] payload) { - this.payload = payload; - } - } - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/ReadOnlyBeanRefreshEventHandler.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/ReadOnlyBeanRefreshEventHandler.java deleted file mode 100644 index 27c37c7c3ba..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/distributed/ReadOnlyBeanRefreshEventHandler.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container.distributed; - -/** - * ReadOnlyBeanRefreshEventHandler defines the methods that can be used to - * implement a distributed ReadOnly beans. An instance of - * ReadOnlyBeanRefreshEventHandler is used to handle requests received from - * other server instances. An instance of DistributedReadOnlyBeanNotifier is used to - * notify other server instances. - * - * @author Mahesh Kannan - * @see DistributedReadOnlyBeanService - */ -public interface ReadOnlyBeanRefreshEventHandler { - - /** - * Called from DistributedReadOnlyBeanServiceImpl before de-serializing - * the bean's pk - * @return the application class loader - */ - public ClassLoader getClassLoader(); - - /** - * Called from DistributedReadOnlyBeanServiceImpl when a refresh message - * arrives at this instance - * @param pk the primary key that needs to be refreshed - */ - public void handleRefreshRequest(Object pk); - - /** - * Called from DistributedReadOnlyBeanServiceImpl when a refreshAll message - * arrives at this instance - */ - public void handleRefreshAllRequest(); - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/CascadeDeleteNotifier.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/CascadeDeleteNotifier.java deleted file mode 100644 index 61f9768bb6d..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/CascadeDeleteNotifier.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container.spi; - -/** - * Helper interface for CascadeDelete operations - * - * @author mvatkina - */ -public interface CascadeDeleteNotifier -{ - - public void setCascadeDeleteAfterSuperEJBRemove(boolean value); -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/ReadOnlyEJBHome.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/ReadOnlyEJBHome.java deleted file mode 100644 index 312877dd644..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/ReadOnlyEJBHome.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container.spi; - -/** - * Home interface for all Remote ReadOnly Beans - * - * @author Mahesh Kannan - */ -public interface ReadOnlyEJBHome - extends jakarta.ejb.EJBHome -{ - - public void _refresh_com_sun_ejb_containers_read_only_bean_(Object primaryKey) - throws java.rmi.RemoteException; - - public void _refresh_All() throws java.rmi.RemoteException; -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/ReadOnlyEJBLocalHome.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/ReadOnlyEJBLocalHome.java deleted file mode 100644 index cd1621191ae..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/spi/ReadOnlyEJBLocalHome.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package org.glassfish.persistence.ejb.entitybean.container.spi; - -import com.sun.appserv.ejb.ReadOnlyBeanLocalNotifier; - -public interface ReadOnlyEJBLocalHome - extends jakarta.ejb.EJBLocalHome -{ - - public ReadOnlyBeanLocalNotifier getReadOnlyBeanLocalNotifier(); - -} diff --git a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/stats/EntityBeanStatsProvider.java b/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/stats/EntityBeanStatsProvider.java deleted file mode 100644 index 088f71347f7..00000000000 --- a/appserver/persistence/entitybean-container/src/main/java/org/glassfish/persistence/ejb/entitybean/container/stats/EntityBeanStatsProvider.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2017 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2016] [Payara Foundation] - -package org.glassfish.persistence.ejb.entitybean.container.stats; - -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.glassfish.persistence.ejb.entitybean.container.EntityContainer; - -import com.sun.ejb.monitoring.stats.EjbMonitoringStatsProvider; -import org.glassfish.external.probe.provider.StatsProviderManager; -import org.glassfish.external.probe.provider.annotations.*; -import org.glassfish.external.statistics.*; -import org.glassfish.external.statistics.impl.*; -import org.glassfish.gmbal.*; - -/** - * Probe listener for the Entity Beans part of the EJB monitoring events. - * - * @author Marina Vatkina - */ -@AMXMetadata(type="entity-bean-mon", group="monitoring", isSingleton=false) -@ManagedObject -public class EntityBeanStatsProvider extends EjbMonitoringStatsProvider { - - private BoundedRangeStatisticImpl pooledCount = null; - private BoundedRangeStatisticImpl readyCount = null; - - private EntityContainer delegate; - - public EntityBeanStatsProvider(EntityContainer delegate, long beanId, String appName, - String moduleName, String beanName) { - - super(beanId, appName, moduleName, beanName); - this.delegate = delegate; - - long now = System.currentTimeMillis(); - - pooledCount = new BoundedRangeStatisticImpl( - 0, 0, 0, delegate.getMaxPoolSize(), delegate.getSteadyPoolSize(), - "PooledCount", "count", "Number of entity beans in pooled state", - now, now); - readyCount = new BoundedRangeStatisticImpl( - 0, 0, 0, delegate.getMaxCacheSize(), 0, - "ReadyCount", "count", "Number of entity beans in ready state", - now, now); - } - - @ManagedAttribute(id="pooledcount") - @Description( "Number of entity beans in pooled state") - public RangeStatistic getPooledCount() { - pooledCount.setCurrent(delegate.getPooledCount()); - return pooledCount; - } - - @ManagedAttribute(id="readycount") - @Description( "Number of entity beans in ready state") - public RangeStatistic getReadyCount() { - readyCount.setCurrent(delegate.getReadyCount()); - return readyCount; - } -} diff --git a/appserver/persistence/entitybean-container/src/main/resources/com/sun/appserv/ejb/LogStrings.properties b/appserver/persistence/entitybean-container/src/main/resources/com/sun/appserv/ejb/LogStrings.properties deleted file mode 100644 index 667c5e41f65..00000000000 --- a/appserver/persistence/entitybean-container/src/main/resources/com/sun/appserv/ejb/LogStrings.properties +++ /dev/null @@ -1,48 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# This bundle uses messages in ENT1000 range -example.message1=ENT1001:Test Message. Parameter 1={0} parameter 2={1} -example.message2=ENT1002:Date Message. Parameter 1={0,date} Parameter 2={1,time} -example.message3=ENT1003:Number Message. Parameter 1={0,number,integer} - -entitybean.container.remote_exception=ENT1001: Some remote exception occurred while refreshing rob : [{0}] : [{0}] -ENT1001.diag.cause.1=An error occurred while looking up a Read Only Bean Notifier. The most common cause for this failure is that the string supplied to the getReadOnlyBeanNotifier method either does not refer to a read-only bean. -ENT1001.diag.check.1=Check the application code that calls this method to make sure the string passed in refers to a valid read-only bean. diff --git a/appserver/persistence/entitybean-container/src/main/resources/org/glassfish/persistence/ejb/entitybean/container/LogStrings.properties b/appserver/persistence/entitybean-container/src/main/resources/org/glassfish/persistence/ejb/entitybean/container/LogStrings.properties deleted file mode 100644 index 5bd2a9fa45a..00000000000 --- a/appserver/persistence/entitybean-container/src/main/resources/org/glassfish/persistence/ejb/entitybean/container/LogStrings.properties +++ /dev/null @@ -1,57 +0,0 @@ -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. -# -# Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. -# -# The contents of this file are subject to the terms of either the GNU -# General Public License Version 2 only ("GPL") or the Common Development -# and Distribution License("CDDL") (collectively, the "License"). You -# may not use this file except in compliance with the License. You can -# obtain a copy of the License at -# https://github.com/payara/Payara/blob/main/LICENSE.txt -# See the License for the specific -# language governing permissions and limitations under the License. -# -# When distributing the software, include this License Header Notice in each -# file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. -# -# GPL Classpath Exception: -# Oracle designates this particular file as subject to the "Classpath" -# exception as provided by Oracle in the GPL Version 2 section of the License -# file that accompanied this code. -# -# Modifications: -# If applicable, add the following below the License Header, with the fields -# enclosed by brackets [] replaced by your own identifying information: -# "Portions Copyright [year] [name of copyright owner]" -# -# Contributor(s): -# If you wish your version of this file to be governed by only the CDDL or -# only the GPL Version 2, indicate your decision by adding "[Contributor] -# elects to include this software in this distribution under the [CDDL or GPL -# Version 2] license." If you don't indicate a single choice of license, a -# recipient has the option to distribute your version of this file under -# either the CDDL, the GPL Version 2 or to extend the choice of license to -# its licensees as provided above. However, if you add GPL Version 2 code -# and therefore, elected the GPL Version 2 license, then the option applies -# only if the new code is made subject to such option by the copyright -# holder. -# - -# This bundle should NOT use messages in ENT1000 range -example.message1=ENT0001:Test Message. Parameter 1={0} parameter 2={1} -example.message2=ENT0002:Date Message. Parameter 1={0,date} Parameter 2={1,time} -example.message3=ENT0003:Number Message. Parameter 1={0,number,integer} - -entitybean.container.release_context_exception=ENT0001: Exception while releasing ejb context : [{0}] -entitybean.container.local_remove_exception=ENT0002: Exception in removing ejb local object : [{0}] -entitybean.container.remove_bean_exception=ENT0003: Exception in removing ejb : [{0}] -entitybean.container.get_ejb_local_object_exception=ENT0004: Exception in getting ejb local object : [{0}] -entitybean.container.get_ejb_context_exception=ENT0005: Exception getting ejb context : [{0}] -entitybean.container.ejb_comparison_exception=ENT0006: Exception while comparing ejbs : [{0}] -entitybean.container.commit_option_A_not_supported=ENT0007:Commit Option A is not currently supported. Using Commit Option B for [{0}] -entitybean.container.entity_add_async_task_ERROR=ENT0008:Cannot add asynchronous task -entitybean.container.preinvoke_exception=ENT0009: Exception while running pre-invoke : ejbName = [{0}] -entitybean.container.add_cleanup_task_error=ENT0010:Cannot add idle bean cleanup task -entitybean.container.addPooledEJB=ENT0011: Cannot add RO bean to the pool -entitybean.container.forceDestroyBean=ENT0012: Error trying to discard RO bean instance diff --git a/appserver/persistence/pom.xml b/appserver/persistence/pom.xml index 910258ee0f1..6dcad6ecadb 100644 --- a/appserver/persistence/pom.xml +++ b/appserver/persistence/pom.xml @@ -58,7 +58,6 @@ gf-jpa-connector jpa-container eclipselink-wrapper - entitybean-container jpa-container-l10n diff --git a/appserver/tests/quicklook/build.xml b/appserver/tests/quicklook/build.xml index 257f1b74542..af27c958d33 100644 --- a/appserver/tests/quicklook/build.xml +++ b/appserver/tests/quicklook/build.xml @@ -299,7 +299,6 @@ - - - - - - - - - Builds, tests, and runs the project CMP Roster Application - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/tests/quicklook/ejb/cmp/metadata/RosterSchema.dbschema b/appserver/tests/quicklook/ejb/cmp/metadata/RosterSchema.dbschema deleted file mode 100644 index b0fa641a42a..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/metadata/RosterSchema.dbschema +++ /dev/null @@ -1,1258 +0,0 @@ - - - - - 2 - - - - - - <_catalog> - - - - - <_username>IASCTS - <_driverName>Oracle JDBC driver - <_driverVersion>8.1.6.0.0 - <_url>jdbc:oracle:thin:@petruccio:1521:ORCL1 - <_name> - - DatabaseSchema - - - <_driver>oracle.jdbc.driver.OracleDriver - - - <_elms> - - - - - - LEAGUE
    - - - <_elms> - - - - - - - - - <_precision> - - 255 - - - - - - <_scale> - - - <_name> - - LEAGUE_ID - - - <_isNullable>false - <_type>12 - <_length> - - - - - - - - - - - - - - <_precision> - - - - - - <_scale> - - - <_name> - - NAME - - - <_isNullable>true - <_type>12 - <_length> - - - - - - - - - - - - - - <_precision> - - - - - - <_scale> - - - <_name> - - SPORT - - - <_isNullable>true - <_type>12 - <_length> - - - - - - - - - <_template> - - - - - - - - - - - - <_name> - - LEAGUE - - - true - - - <_elms> - - - - <_associatedIndex> - - - - - - - - - <_elms> - - - - - - - <_template> - - - - - - - - - - - - <_name> - - SYS_C0056942 - - - - - - <_unique>true - - - - - - - - - - - - <_elms> - - - - - - - <_template> - - - - - - - - - - - - <_name> - - SYS_C0056942 - - - <_primary>true - - - - - - - <_template> - - - - - - - - - - - <_elms> - - - - - - - <_template> - - - - - - - - - - - - - - - - - PLAYER
    - - - <_elms> - - - - - - - - - <_precision> - - - - - - <_scale> - - - <_name> - - PLAYER_ID - - - <_isNullable>false - <_type>12 - <_length> - - - - - - - - - - - - - - <_precision> - - - - - - <_scale> - - - <_name> - - NAME - - - <_isNullable>true - <_type>12 - <_length> - - - - - - - - - - - - - - <_precision> - - - - - - <_scale> - - - <_name> - - POSITION - - - <_isNullable>true - <_type>12 - <_length> - - - - - - - - - - - - - - <_precision> - - 126 - - - - - - <_scale> - - - <_name> - - SALARY - - - <_isNullable>false - <_type>8 - <_length> - - - - - - - - - <_template> - - - - - - - - - - - - <_name> - - PLAYER - - - true - - - <_elms> - - - - <_associatedIndex> - - - - - - - - - <_elms> - - - - - - - <_template> - - - - - - - - - - - - <_name> - - SYS_C0056941 - - - - - - <_unique>true - - - - - - - - - - - - <_elms> - - - - - - - <_template> - - - - - - - - - - - - <_name> - - SYS_C0056941 - - - <_primary>true - - - - - - - <_template> - - - - - - - - - - - <_elms> - - - - - - - <_template> - - - - - - - - - - - - - - - - - TEAM
    - - - <_elms> - - - - - - - - - <_precision> - - - - - - <_scale> - - - <_name> - - TEAM_ID - - - <_isNullable>false - <_type>12 - <_length> - - - - - - - - - - - - - - <_precision> - - - - - - <_scale> - - - <_name> - - CITY - - - <_isNullable>true - <_type>12 - <_length> - - - - - - - - - - - - - - <_precision> - - - - - - <_scale> - - - <_name> - - NAME - - - <_isNullable>true - <_type>12 - <_length> - - - - - - - - - - - - - - <_precision> - - - - - - <_scale> - - - <_name> - - LEAGUE_ID - - - <_isNullable>true - <_type>12 - <_length> - - - - - - - - - <_template> - - - - - - - - - - - - <_name> - - TEAM - - - true - - - <_elms> - - - - - - - - - - - <_elms> - - - - <_referencedColumn> - - - - - - <_localColumn> - - - - - - - - <_name> - - LEAGUE_ID;LEAGUE_ID - - - - - - - - - <_template> - - - - - - - - - - - - <_name> - - SYS_C0056944 - - - - - - - - - - - - <_associatedIndex> - - - - - - - - - <_elms> - - - - - - - <_template> - - - - - - - - - - - - <_name> - - SYS_C0056943 - - - - - - <_unique>true - - - - - - - - - - - - <_elms> - - - - - - - <_template> - - - - - - - - - - - - <_name> - - SYS_C0056943 - - - <_primary>true - - - - - - - <_template> - - - - - - - - - - - <_elms> - - - - - - - <_template> - - - - - - - - - - - - - - - - - TEAMPLAYER
    - - - <_elms> - - - - - - - - - <_precision> - - - - - - <_scale> - - - <_name> - - PLAYER_ID - - - <_isNullable>false - <_type>12 - <_length> - - - - - - - - - - - - - - <_precision> - - - - - - <_scale> - - - <_name> - - TEAM_ID - - - <_isNullable>false - <_type>12 - <_length> - - - - - - - - - <_template> - - - - - - - - - - - - <_name> - - TEAMPLAYER - - - true - - - <_elms> - - - - - - - - - - - <_elms> - - - - <_referencedColumn> - - - - - - <_localColumn> - - - - - - - - <_name> - - PLAYER_ID;PLAYER_ID - - - - - - - - - <_template> - - - - - - - - - - - - <_name> - - SYS_C0056947 - - - - - - - - - - - - - - - - - - - <_elms> - - - - <_referencedColumn> - - - - - - <_localColumn> - - - - - - - - <_name> - - TEAM_ID;TEAM_ID - - - - - - - - - <_template> - - - - - - - - - - - - <_name> - - SYS_C0056946 - - - - - - - - - - - - <_associatedIndex> - - - - - - - - - <_elms> - - - - - - - - - - <_template> - - - - - - - - - - - - <_name> - - PK_TEAMPLAYER - - - - - - <_unique>true - - - - - - - - - - - - <_elms> - - - - - - - - - - <_template> - - - - - - - - - - - - <_name> - - PK_TEAMPLAYER - - - <_primary>true - - - - - - - <_template> - - - - - - - - - - - <_elms> - - - - - - - <_template> - - - - - - - - - - - - - - - <_template> - - - - - - - - - <_databaseProductVersion>Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production -With the Partitioning option -JServer Release 8.1.6.0.0 - Production - <_schema> - - IASCTS - - - <_databaseProductName>Oracle - - - diff --git a/appserver/tests/quicklook/ejb/cmp/metadata/application.xml b/appserver/tests/quicklook/ejb/cmp/metadata/application.xml deleted file mode 100644 index 4a89af3c9c7..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/metadata/application.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - RosterApp - Application description - - RosterAppEJB.jar - - - - - RosterAppWeb.war - roster - - - - diff --git a/appserver/tests/quicklook/ejb/cmp/metadata/ejb-jar.xml b/appserver/tests/quicklook/ejb/cmp/metadata/ejb-jar.xml deleted file mode 100644 index 77413e4065b..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/metadata/ejb-jar.xml +++ /dev/null @@ -1,1351 +0,0 @@ - - - - - - - - RosterEJBJAR - - - RosterEJB - RosterEJB - roster.RosterHome - roster.Roster - roster.RosterBean - Stateful - Container - - ejb/SimpleLeague - Entity - team.LocalLeagueHome - team.LocalLeague - LeagueEJB - - - ejb/SimpleTeam - Entity - team.LocalTeamHome - team.LocalTeam - TeamEJB - - - ejb/SimplePlayer - Entity - team.LocalPlayerHome - team.LocalPlayer - PlayerEJB - - - - LeagueEJB - LeagueEJB - team.LocalLeagueHome - team.LocalLeague - team.LeagueBean - Container - java.lang.String - False - 2.x - League - - no description - leagueId - - - no description - name - - - no description - sport - - leagueId - - - - - - - - findAll - - - select object(l) from League l - - - - - findByName - - java.lang.String - - - select object(l) from League l where l.name = ?1 - - - Selector returning SET - - ejbSelectTeamsCity - - team.LocalLeague - - - select distinct t.city from Team t where t.league = ?1 - - - Selector single object LocalInterface - - ejbSelectTeamByCity - - java.lang.String - - - Local - select distinct Object(t) from League l, in(l.teams) as t where t.city = ?1 - - - Selector single object String - - ejbSelectTeamsNameByCity - - java.lang.String - - - select distinct t.name from League l, in(l.teams) as t where t.city = ?1 - - - Selector returning Set using multiple collection declarations - - ejbSelectPlayersByLeague - - team.LocalLeague - - - Local - select Object(p) from League l, in(l.teams) as t, in(t.players) p where l = ?1 - - - - TeamEJB - TeamEJB - team.LocalTeamHome - team.LocalTeam - team.TeamBean - Container - java.lang.String - False - 2.x - Team - - no description - name - - - no description - teamId - - - no description - city - - teamId - - - - - - - - findAll - - - select object(t) from Team t - - - - - findByPlayerAndLeague - - team.LocalPlayer - team.LocalLeague - - - select object(t) from Team t, in(t.players) as p where p = ?1 and t.league = ?2 - - - Selector single object int - - ejbSelectSalaryOfPlayerInTeam - - team.LocalTeam - java.lang.String - - - select p.salary from Team t, in(t.players) as p where t = ?1 and p.name = ?2 - - - Selector single object String with CONCAT - - ejbSelectByNameWithCONCAT - - java.lang.String - java.lang.String - - - select t.name from Team t where t.name = CONCAT(?1, ?2) - - - Selector single object String with SUBSTRING - - ejbSelectByNameSubstring - - java.lang.String - - - select t.name from Team t where t.name = SUBSTRING(?1, 5, 5) - - - Selector single object String with LOCATE - - ejbSelectNameLocate - - java.lang.String - - - select distinct t.name from Team t where LOCATE(?1, t.name) > 0 AND LOCATE(?1, t.name) < LENGTH(t.name) - - - - PlayerEJB - PlayerEJB - team.LocalPlayerHome - team.LocalPlayer - team.PlayerBean - Container - java.lang.String - False - 2.x - Player - - no description - position - - - no description - playerId - - - no description - name - - - no description - salary - - playerId - - - - - - - - findNotOnTeam - - - select object(p) from Player p -where p.teams is empty - - - - - findAll - - - select object(p) from Player p - - - - - findBySport - - java.lang.String - - - select distinct object(p) from Player p, -in (p.teams) as t -where t.league.sport = ?1 - - - - - ejbSelectSports - - team.LocalPlayer - - - select distinct t.league.sport -from Player p, in (p.teams) as t -where p = ?1 - - - - - findBySalaryRange - - double - double - - - select distinct object(p) from Player p -where p.salary between ?1 and ?2 - - - - - findByHigherSalary - - java.lang.String - - - select distinct object(p1) -from Player p1, Player p2 -where p1.salary > p2.salary and -p2.name = ?1 - - - - - findByCity - - java.lang.String - - - select distinct object(p) from Player p, -in (p.teams) as t -where t.city = ?1 - - - - - findByPositionAndName - - java.lang.String - java.lang.String - - - select distinct object(p) from Player p -where p.position = ?1 and p.name = ?2 - - - - - findByLeague - - team.LocalLeague - - - select distinct object(p) from Player p, -in (p.teams) as t -where t.league = ?1 - - - - - ejbSelectLeagues - - team.LocalPlayer - - - Local - select distinct t.league -from Player p, in (p.teams) as t -where p = ?1 - - - - - findByPosition - - java.lang.String - - - select distinct object(p) from Player p -where p.position = ?1 - - - - - findByTest - - java.lang.String - java.lang.String - java.lang.String - - - select distinct object(p) from Player p -where p.name = ?1 - - - Finder using the IN Expression - - findByPositionsGoalkeeperOrDefender - - - select object(p) from Player p where p.position IN ('goalkeeper', 'defender') - - - Finder using the LIKE Expression - - findByNameEndingWithON - - - select object(p) from Player p where p.name LIKE '%on' - - - Finder using the IS NULL Expression - - findByNullName - - - select object(p) from Player p where p.name IS NULL - - - Finder using the MEMBER OF Expression - - findByTeam - - team.LocalTeam - - - select object(p) from Player p where ?1 MEMBER p.teams - - - Finder using the ABS function - - findBySalarayWithArithmeticFunctionABS - - double - - - select object(p) from Player p where p.salary = ABS(?1) - - - Finder using the SQRT function - - findBySalarayWithArithmeticFunctionSQRT - - double - - - select object(p) from Player p where p.salary = SQRT(?1) - - - - - League-Team - - Team To Player - - - TeamEJB - Many - - TeamEJB - - - players - java.util.Collection - - - - PlayerEJB - Many - - PlayerEJB - - - teams - java.util.Collection - - - - - League-Team - - - LeagueEJB - One - - LeagueEJB - - - teams - java.util.Collection - - - - TeamEJB - Many - - - TeamEJB - - - league - - - - - - - - - LeagueEJB - LocalHome - remove - - java.lang.Object - - - - LeagueEJB - Local - getSport - - - - LeagueEJB - Local - dropTeam - - team.LocalTeam - - - - LeagueEJB - Local - getEJBLocalHome - - - - LeagueEJB - LocalHome - create - - java.lang.String - java.lang.String - java.lang.String - - - - LeagueEJB - Local - getName - - - - LeagueEJB - LocalHome - findByPrimaryKey - - java.lang.String - - - - LeagueEJB - Local - getLeagueId - - - - LeagueEJB - Local - getTeams - - - - LeagueEJB - Local - addTeam - - team.LocalTeam - - - - LeagueEJB - Local - getPrimaryKey - - - - LeagueEJB - Local - remove - - - - LeagueEJB - Local - isIdentical - - jakarta.ejb.EJBLocalObject - - - - - - - TeamEJB - Local - getCopyOfPlayers - - - - TeamEJB - LocalHome - remove - - java.lang.Object - - - - TeamEJB - Local - getLeague - - - - TeamEJB - Local - getEJBLocalHome - - - - TeamEJB - Local - dropPlayer - - team.LocalPlayer - - - - TeamEJB - Local - getTeamId - - - - TeamEJB - LocalHome - create - - java.lang.String - java.lang.String - java.lang.String - - - - TeamEJB - Local - getPlayers - - - - TeamEJB - Local - addPlayer - - team.LocalPlayer - - - - TeamEJB - Local - getName - - - - TeamEJB - LocalHome - findByPrimaryKey - - java.lang.String - - - - TeamEJB - Local - getPrimaryKey - - - - TeamEJB - Local - getCity - - - - TeamEJB - Local - remove - - - - TeamEJB - Local - isIdentical - - jakarta.ejb.EJBLocalObject - - - - - - - PlayerEJB - Local - getPrimaryKey - - - - PlayerEJB - Local - getTeams - - - - PlayerEJB - LocalHome - remove - - java.lang.Object - - - - PlayerEJB - LocalHome - findByPosition - - java.lang.String - - - - PlayerEJB - LocalHome - findBySport - - java.lang.String - - - - PlayerEJB - LocalHome - findAll - - - - PlayerEJB - Local - getEJBLocalHome - - - - PlayerEJB - LocalHome - findByPositionAndName - - java.lang.String - java.lang.String - - - - PlayerEJB - Local - getName - - - - PlayerEJB - LocalHome - findByPrimaryKey - - java.lang.String - - - - PlayerEJB - LocalHome - findNotOnTeam - - - - PlayerEJB - Local - isIdentical - - jakarta.ejb.EJBLocalObject - - - - PlayerEJB - LocalHome - create - - java.lang.String - java.lang.String - java.lang.String - double - - - - PlayerEJB - Local - getPlayerId - - - - PlayerEJB - Local - getSalary - - - - PlayerEJB - LocalHome - findBySalaryRange - - double - double - - - - PlayerEJB - Local - getPosition - - - - PlayerEJB - Local - remove - - - - PlayerEJB - LocalHome - findByCity - - java.lang.String - - - - PlayerEJB - LocalHome - findByHigherSalary - - java.lang.String - - - - PlayerEJB - LocalHome - findByTest - - java.lang.String - java.lang.String - java.lang.String - - - - PlayerEJB - LocalHome - findByLeague - - team.LocalLeague - - - - - - LeagueEJB - LocalHome - remove - - java.lang.Object - - - Required - - - - LeagueEJB - Local - getSport - - - Required - - - - LeagueEJB - Local - dropTeam - - team.LocalTeam - - - Required - - - - LeagueEJB - LocalHome - create - - java.lang.String - java.lang.String - java.lang.String - - - Required - - - - LeagueEJB - Local - getName - - - Required - - - - LeagueEJB - LocalHome - findByPrimaryKey - - java.lang.String - - - Required - - - - LeagueEJB - Local - addTeam - - team.LocalTeam - - - Required - - - - LeagueEJB - Local - getTeams - - - Required - - - - LeagueEJB - Local - getLeagueId - - - Required - - - - LeagueEJB - Local - remove - - - Required - - - - TeamEJB - Local - getCopyOfPlayers - - - Required - - - - TeamEJB - LocalHome - remove - - java.lang.Object - - - Required - - - - TeamEJB - Local - getLeague - - - Required - - - - TeamEJB - Local - dropPlayer - - team.LocalPlayer - - - Required - - - - TeamEJB - Local - getTeamId - - - Required - - - - TeamEJB - LocalHome - create - - java.lang.String - java.lang.String - java.lang.String - - - Required - - - - TeamEJB - Local - getName - - - Required - - - - TeamEJB - Local - addPlayer - - team.LocalPlayer - - - Required - - - - TeamEJB - Local - getPlayers - - - Required - - - - TeamEJB - LocalHome - findByPrimaryKey - - java.lang.String - - - Required - - - - TeamEJB - Local - getCity - - - Required - - - - TeamEJB - Local - remove - - - Required - - - - PlayerEJB - Local - getTeams - - - Required - - - - PlayerEJB - LocalHome - remove - - java.lang.Object - - - Required - - - - PlayerEJB - LocalHome - findByPosition - - java.lang.String - - - Required - - - - PlayerEJB - LocalHome - findBySport - - java.lang.String - - - Required - - - - PlayerEJB - LocalHome - findAll - - - Required - - - - PlayerEJB - LocalHome - findByPositionAndName - - java.lang.String - java.lang.String - - - Required - - - - PlayerEJB - Local - getName - - - Required - - - - PlayerEJB - LocalHome - findByPrimaryKey - - java.lang.String - - - Required - - - - PlayerEJB - LocalHome - findNotOnTeam - - - Required - - - - PlayerEJB - LocalHome - create - - java.lang.String - java.lang.String - java.lang.String - double - - - Required - - - - PlayerEJB - Local - getPlayerId - - - Required - - - - PlayerEJB - Local - getSports - - - Required - - - - PlayerEJB - Local - getSalary - - - Required - - - - PlayerEJB - Local - getLeagues - - - Required - - - - PlayerEJB - LocalHome - findBySalaryRange - - double - double - - - Required - - - - PlayerEJB - Local - getPosition - - - Required - - - - PlayerEJB - LocalHome - findByCity - - java.lang.String - - - Required - - - - PlayerEJB - LocalHome - findByHigherSalary - - java.lang.String - - - Required - - - - PlayerEJB - Local - remove - - - Required - - - - PlayerEJB - LocalHome - findByTest - - java.lang.String - java.lang.String - java.lang.String - - - Required - - - - PlayerEJB - LocalHome - findByLeague - - team.LocalLeague - - - Required - - - \ No newline at end of file diff --git a/appserver/tests/quicklook/ejb/cmp/metadata/payara-web.xml b/appserver/tests/quicklook/ejb/cmp/metadata/payara-web.xml deleted file mode 100644 index 0e11862c2cc..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/metadata/payara-web.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - ejb/SimpleRoster - SimpleRoster - - - diff --git a/appserver/tests/quicklook/ejb/cmp/metadata/sun-cmp-mappings.xml b/appserver/tests/quicklook/ejb/cmp/metadata/sun-cmp-mappings.xml deleted file mode 100644 index 10a2d088f48..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/metadata/sun-cmp-mappings.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - RosterSchema - - LeagueEJB - LEAGUE - - leagueId - LEAGUE.LEAGUE_ID - - - name - LEAGUE.NAME - - - sport - LEAGUE.SPORT - - - teams - - LEAGUE.LEAGUE_ID - TEAM.LEAGUE_ID - - - - - - PlayerEJB - PLAYER - - position - PLAYER.POSITION - - - playerId - PLAYER.PLAYER_ID - - - name - PLAYER.NAME - - - salary - PLAYER.SALARY - - - teams - - PLAYER.PLAYER_ID - TEAMPLAYER.PLAYER_ID - - - TEAMPLAYER.TEAM_ID - TEAM.TEAM_ID - - - - - - TeamEJB - TEAM - - name - TEAM.NAME - - - city - TEAM.CITY - - - teamId - TEAM.TEAM_ID - - - league - - TEAM.LEAGUE_ID - LEAGUE.LEAGUE_ID - - - - players - - TEAM.TEAM_ID - TEAMPLAYER.TEAM_ID - - - TEAMPLAYER.PLAYER_ID - PLAYER.PLAYER_ID - - - - - - - \ No newline at end of file diff --git a/appserver/tests/quicklook/ejb/cmp/metadata/sun-ejb-jar.xml b/appserver/tests/quicklook/ejb/cmp/metadata/sun-ejb-jar.xml deleted file mode 100644 index e18d83d29f6..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/metadata/sun-ejb-jar.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - 656565 - - LeagueEJB - MyLeague - - - PlayerEJB - MyPlayer - - - TeamEJB - MyTeam - - - RosterEJB - SimpleRoster - - ejb/SimpleLeague - localejbs/RosterApp/LeagueEJB0 - - - ejb/SimpleTeam - localejbs/RosterApp/TeamEJB2 - - - ejb/SimplePlayer - localejbs/RosterApp/PlayerEJB1 - - - - jdbc/__Test - - - diff --git a/appserver/tests/quicklook/ejb/cmp/metadata/web.xml b/appserver/tests/quicklook/ejb/cmp/metadata/web.xml deleted file mode 100644 index c63307a599e..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/metadata/web.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - RosterClient - - RosterServlet - RosterServlet - Default configuration created for servlet. - client.RosterServlet - - - RosterServlet - /Roster - - - - 30 - - - - ejb/SimpleRoster - Session - roster.RosterHome - roster.Roster - - diff --git a/appserver/tests/quicklook/ejb/cmp/pom.xml b/appserver/tests/quicklook/ejb/cmp/pom.xml deleted file mode 100644 index fce770202dd..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/pom.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - 4.0.0 - - org.glassfish - pom - 2 - - org.glassfish.quicklook.ejb - cmp_quicklook - CMP Roster App Quicklook - 4.1-SNAPSHOT - This pom describes how to run QuickLook tests on the Glassfish Bundle - - - - - org.jvnet.maven-antrun-extended-plugin - maven-antrun-extended-plugin - - - test - - - - - - - - - - - - - - run - - - - - - org.testng - testng - 5.6 - jdk15 - - - - - - - diff --git a/appserver/tests/quicklook/ejb/cmp/sql/RosterApp_h2.sql b/appserver/tests/quicklook/ejb/cmp/sql/RosterApp_h2.sql deleted file mode 100644 index 6f0c24ac809..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/sql/RosterApp_h2.sql +++ /dev/null @@ -1,37 +0,0 @@ -DROP TABLE IF EXISTS TeamPlayer ; -DROP TABLE IF EXISTS Player ; -DROP TABLE IF EXISTS Team ; -DROP TABLE IF EXISTS League ; - -CREATE TABLE Player -( - player_Id VARCHAR(255) PRIMARY KEY NOT NULL, - name VARCHAR(255), - position VARCHAR(255), - salary DOUBLE PRECISION NOT NULL -); - -CREATE TABLE League -( - league_Id VARCHAR(255) PRIMARY KEY NOT NULL, - name VARCHAR(255), - sport VARCHAR(255) -); - -CREATE TABLE Team -( - team_Id VARCHAR(255) PRIMARY KEY NOT NULL, - city VARCHAR(255), - name VARCHAR(255), - league_Id VARCHAR(255), - FOREIGN KEY (league_Id) REFERENCES League (league_Id) -); - -CREATE TABLE TeamPlayer -( - player_Id VARCHAR(255) NOT NULL, - team_Id VARCHAR(255) NOT NULL, - CONSTRAINT pk_TeamPlayer PRIMARY KEY (player_Id, team_Id), - FOREIGN KEY (team_Id) REFERENCES Team (team_Id), - FOREIGN KEY (player_Id) REFERENCES Player (player_Id) -); diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/client/RosterServlet.java b/appserver/tests/quicklook/ejb/cmp/src/java/client/RosterServlet.java deleted file mode 100644 index 4bca5fd8acd..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/client/RosterServlet.java +++ /dev/null @@ -1,507 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2009-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -//Portions Copyright [2020-2021] [Payara Foundation and/or its affiliates] - -package client; - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Set; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.rmi.PortableRemoteObject; -import jakarta.servlet.ServletException; -import jakarta.servlet.http.HttpServlet; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import roster.Roster; -import roster.RosterHome; -import util.LeagueDetails; -import util.PlayerDetails; -import util.TeamDetails; - - - -/** - * @author unbekannt - * @version 1.0 - */ -public class RosterServlet extends HttpServlet{ - - private PrintWriter out = null; - - /** Handles the HTTP GET method. - * @param request servlet request - * @param response servlet response - */ - public void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, java.io.IOException { - processRequest(request, response); - } - - /** Handles the HTTP POST method. - * @param request servlet request - * @param response servlet response - */ - public void doPost(HttpServletRequest request, HttpServletResponse response) - throws ServletException, java.io.IOException { - processRequest(request, response); - } - - /** - * - * @param req - * @param res - * @throws ServletException - * @throws IOException - */ - private void processRequest(HttpServletRequest req, HttpServletResponse res) - throws ServletException, IOException { - - res.setContentType("text/html"); - out = res.getWriter(); - - out.println(""); - out.println(""); - out.println("RosterApp Servlet-Client"); - out.println(""); - out.println(""); - - try { - Context initial = new InitialContext(); - Object objref = initial.lookup("java:comp/env/ejb/SimpleRoster"); - - RosterHome home = - (RosterHome)PortableRemoteObject.narrow(objref, - RosterHome.class); - -//System.err.println("XXXX-1"); - Roster myRoster = home.create(); -//System.err.println("XXXX-2"); - - // deleting all exisiting DB-entries - myRoster.cleanUp(); -//System.err.println("XXXX-3"); - - insertInfo(myRoster); -//System.err.println("XXXX-4"); - getSomeInfo(myRoster); -//System.err.println("XXXX-5"); - - getMoreInfo(myRoster); -//System.err.println("XXXX-6"); - out.println("
    ROSTER-FINISHED-OK"); - - } catch (Exception ex) { - out.println("Caught an exception:"); - ex.printStackTrace(out); - ex.printStackTrace(); - } - - out.println(""); - out.println(""); - } - - - /** - * - * @param myRoster - */ - private void getSomeInfo(Roster myRoster) { - - try { - - ArrayList playerList; - ArrayList teamList; - ArrayList leagueList; - - playerList = myRoster.getPlayersOfTeam("T2"); - printDetailsList(playerList, out); - - teamList = myRoster.getTeamsOfLeague("L1"); - printDetailsList(teamList, out); - - playerList = myRoster.getPlayersByPosition("defender"); - printDetailsList(playerList, out); - - - leagueList = myRoster.getLeaguesOfPlayer("P28"); - printDetailsList(leagueList, out); - - } catch (Exception ex) { - System.err.println("Caught an exception:"); - ex.printStackTrace(); - } - - } // getSomeInfo - - - - - /** - * - * @param myRoster - */ - private void getMoreInfo(Roster myRoster) { - - try { - - LeagueDetails leagueDetails; - TeamDetails teamDetails; - PlayerDetails playerDetails; - ArrayList playerList; - ArrayList teamList; - ArrayList leagueList; - ArrayList sportList; - - leagueDetails = myRoster.getLeague("L1"); - out.println("
    " + leagueDetails.toString()); - out.println(); - out.println("
    ----------------------------------------------------------"); - - teamDetails = myRoster.getTeam("T3"); - out.println("
    " + teamDetails.toString()); - out.println(); - out.println("
    ----------------------------------------------------------"); - - playerDetails = myRoster.getPlayer("P20"); - out.println("
    " + playerDetails.toString()); - out.println(); - out.println("
    ----------------------------------------------------------"); - - playerList = myRoster.getPlayersOfTeam("T2"); - printDetailsList(playerList, out); - - teamList = myRoster.getTeamsOfLeague("L1"); - printDetailsList(teamList, out); - - playerList = myRoster.getPlayersByPosition("defender"); - playerList = myRoster.getAllPlayers(); - playerList = myRoster.getPlayersNotOnTeam(); - playerList = myRoster.getPlayersByPositionAndName("power forward", - "Jack Patterson"); - playerList = myRoster.getPlayersByCity("Truckee"); - playerList = myRoster.getPlayersBySport("Soccer"); - playerList = myRoster.getPlayersByLeagueId("L1"); - - playerList = myRoster.getPlayersByHigherSalary("Ian Carlyle"); - out.println("
    /////////////////////////////////////////////"); - printDetailsList(playerList, out); - out.println("
    /////////////////////////////////////////////"); - playerList = myRoster.getPlayersBySalaryRange(500.00, 800.00); - playerList = myRoster.getPlayersOfTeamCopy("T5"); - - leagueList = myRoster.getLeaguesOfPlayer("P28"); - printDetailsList(leagueList, out); - - sportList = myRoster.getSportsOfPlayer("P28"); - printDetailsList(sportList, out); - - /**************************************************************** - * - * new additions!!!! - * - ****************************************************************/ - leagueDetails = myRoster.getLeagueByName("Valley"); - out.println("
    " + leagueDetails.toString()); - out.println("
    ----------------------------------------------------------"); - - leagueDetails = myRoster.getLeagueByName("Mountain"); - out.println("
    " + leagueDetails.toString()); - out.println("
    ----------------------------------------------------------"); - - teamList = myRoster.getTeamsByPlayerAndLeague("P1", "L1"); - printDetailsList(teamList, out); - - Set cities = myRoster.getCitiesOfLeague("L2"); - Iterator it = cities.iterator(); - while (it.hasNext()) { - out.println("
    " + it.next()); - } - out.println("
    ----------------------------------------------------------"); - - - teamDetails = myRoster.getTeamOfLeagueByCity("L2", "Truckee"); - out.println("
    " + teamDetails.toString()); - out.println("
    ----------------------------------------------------------"); - - out.println("
    " + myRoster.getTeamsNameOfLeagueByCity("L2", "Truckee")); - out.println("
    ----------------------------------------------------------"); - - out.println("
    " + myRoster.getSalaryOfPlayerFromTeam("T3", "Ben Shore")); - out.println("
    ----------------------------------------------------------"); - - playerList = myRoster.getPlayersOfLeague("L2"); - printDetailsList(playerList, out); - - playerList = myRoster.getPlayersWithPositionsGoalkeeperOrDefender(); - printDetailsList(playerList, out); - - playerList = myRoster.getPlayersWithNameEndingWithON(); - printDetailsList(playerList, out); - - playerList = myRoster.getPlayersWithNullName(); - printDetailsList(playerList, out); - - playerList = myRoster.getPlayersWithTeam("T5"); - printDetailsList(playerList, out); - - out.println("
    " + myRoster.getTeamNameVariations("T5")); - out.println("
    ----------------------------------------------------------"); - - - playerList = myRoster.getPlayersWithSalaryUsingABS(100.1212121); - printDetailsList(playerList, out); - - playerList = myRoster.getPlayersWithSalaryUsingSQRT(10000); - printDetailsList(playerList, out); - - - out.println("
    ----------------------------------------------------------"); - - // internal NULL - parameter for finder - playerList = myRoster.getPlayersByLeagueIdWithNULL("L1"); - printDetailsList(playerList, out); - - - } catch (Exception ex) { - System.err.println("Caught an exception:"); - ex.printStackTrace(); - } - - - - } // getMoreInfo - - - /** - * - * @param list - * @param out - */ - private void printDetailsList(ArrayList list, PrintWriter out) { - - Iterator i = list.iterator(); - while (i.hasNext()) { - Object details = (Object)i.next(); - out.println("
    " + details.toString()); - } - out.println(); - out.println("
    ----------------------------------------------------------"); - } // printDetailsList - - - /** - * - * @param myRoster - */ - private void insertInfo(Roster myRoster) { - - try { - // Leagues - myRoster.createLeague(new LeagueDetails( - "L1", "Mountain", "Soccer")); - - myRoster.createLeague(new LeagueDetails( - "L2", "Valley", "Basketball")); - - // Teams - - myRoster.createTeamInLeague(new TeamDetails( - "T1", "Honey Bees", "Visalia"), "L1"); - - myRoster.createTeamInLeague(new TeamDetails( - "T2", "Gophers", "Manteca"), "L1"); - - myRoster.createTeamInLeague(new TeamDetails( - "T3", "Deer", "Bodie"), "L2"); - - myRoster.createTeamInLeague(new TeamDetails( - "T4", "Trout", "Truckee"), "L2"); - - myRoster.createTeamInLeague(new TeamDetails( - "T5", "Crows", "Orland"), "L1"); - - // Players, Team T1 - - myRoster.createPlayer(new PlayerDetails( - "P1", "Phil Jones", "goalkeeper", 100.00)); - myRoster.addPlayer("P1", "T1"); - - myRoster.createPlayer(new PlayerDetails( - "P2", "Alice Smith", "defender", 505.00)); - myRoster.addPlayer("P2", "T1"); - - myRoster.createPlayer(new PlayerDetails( - "P3", "Bob Roberts", "midfielder", 65.00)); - myRoster.addPlayer("P3", "T1"); - - myRoster.createPlayer(new PlayerDetails( - "P4", "Grace Phillips", "forward", 100.00)); - myRoster.addPlayer("P4", "T1"); - - myRoster.createPlayer(new PlayerDetails( - "P5", "Barney Bold", "defender", 100.00)); - myRoster.addPlayer("P5", "T1"); - - // Players, Team T2 - - myRoster.createPlayer(new PlayerDetails( - "P6", "Ian Carlyle", "goalkeeper", 555.00)); - myRoster.addPlayer("P6", "T2"); - - myRoster.createPlayer(new PlayerDetails( - "P7", "Rebecca Struthers", "midfielder", 777.00)); - myRoster.addPlayer("P7", "T2"); - - myRoster.createPlayer(new PlayerDetails( - "P8", "Anne Anderson", "forward", 65.00)); - myRoster.addPlayer("P8", "T2"); - - myRoster.createPlayer(new PlayerDetails( - "P9", "Jan Wesley", "defender", 100.00)); - myRoster.addPlayer("P9", "T2"); - - myRoster.createPlayer(new PlayerDetails( - "P10", "Terry Smithson", "midfielder", 100.00)); - myRoster.addPlayer("P10", "T2"); - - // Players, Team T3 - - myRoster.createPlayer(new PlayerDetails( - "P11", "Ben Shore", "point guard", 188.00)); - myRoster.addPlayer("P11", "T3"); - - myRoster.createPlayer(new PlayerDetails( - "P12", "Chris Farley", "shooting guard", 577.00)); - myRoster.addPlayer("P12", "T3"); - - myRoster.createPlayer(new PlayerDetails( - "P13", "Audrey Brown", "small forward", 995.00)); - myRoster.addPlayer("P13", "T3"); - - myRoster.createPlayer(new PlayerDetails( - "P14", "Jack Patterson", "power forward", 100.00)); - myRoster.addPlayer("P14", "T3"); - - myRoster.createPlayer(new PlayerDetails( - "P15", "Candace Lewis", "point guard", 100.00)); - myRoster.addPlayer("P15", "T3"); - - // Players, Team T4 - - myRoster.createPlayer(new PlayerDetails( - "P16", "Linda Berringer", "point guard", 844.00)); - myRoster.addPlayer("P16", "T4"); - - myRoster.createPlayer(new PlayerDetails( - "P17", "Bertrand Morris", "shooting guard", 452.00)); - myRoster.addPlayer("P17", "T4"); - - myRoster.createPlayer(new PlayerDetails( - "P18", "Nancy White", "small forward", 833.00)); - myRoster.addPlayer("P18", "T4"); - - myRoster.createPlayer(new PlayerDetails( - "P19", "Billy Black", "power forward", 444.00)); - myRoster.addPlayer("P19", "T4"); - - myRoster.createPlayer(new PlayerDetails( - "P20", "Jodie James", "point guard", 100.00)); - myRoster.addPlayer("P20", "T4"); - - // Players, Team T5 - - myRoster.createPlayer(new PlayerDetails( - "P21", "Henry Shute", "goalkeeper", 205.00)); - myRoster.addPlayer("P21", "T5"); - - myRoster.createPlayer(new PlayerDetails( - "P22", "Janice Walker", "defender", 857.00)); - myRoster.addPlayer("P22", "T5"); - - myRoster.createPlayer(new PlayerDetails( - "P23", "Wally Hendricks", "midfielder", 748.00)); - myRoster.addPlayer("P23", "T5"); - - myRoster.createPlayer(new PlayerDetails( - "P24", "Gloria Garber", "forward", 777.00)); - myRoster.addPlayer("P24", "T5"); - - myRoster.createPlayer(new PlayerDetails( - "P25", "Frank Fletcher", "defender", 399.00)); - myRoster.addPlayer("P25", "T5"); - - // Players, no team - - myRoster.createPlayer(new PlayerDetails( - "P26", "Hobie Jackson", "pitcher", 582.00)); - - myRoster.createPlayer(new PlayerDetails( - "P27", "Melinda Kendall", "catcher", 677.00)); - - myRoster.createPlayer(new PlayerDetails( - "P99", null, "_", 666.66)); - - // Players, multiple teams - - myRoster.createPlayer(new PlayerDetails( - "P28", "Constance Adams", "substitue", 966.00)); - myRoster.addPlayer("P28", "T1"); - myRoster.addPlayer("P28", "T3"); - - - - - } catch (Exception ex) { - System.err.println("Caught an exception:"); - ex.printStackTrace(); - } - - } // insertInfo - - -} - - - diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/roster/Roster.java b/appserver/tests/quicklook/ejb/cmp/src/java/roster/Roster.java deleted file mode 100644 index ac4aef6453f..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/roster/Roster.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package roster; - -import java.util.ArrayList; -import jakarta.ejb.EJBLocalObject; -import jakarta.ejb.FinderException; -import jakarta.ejb.RemoveException; -import util.LeagueDetails; -import util.PlayerDetails; -import util.TeamDetails; -import java.util.Set; - -public interface Roster extends EJBLocalObject { - - // Players - - public void createPlayer(PlayerDetails details) - ; - - public void addPlayer(String playerId, String teamId) - ; - - public void removePlayer(String playerId) - ; - - public void dropPlayer(String playerId, String teamId) - ; - - public PlayerDetails getPlayer(String playerId) - ; - - public ArrayList getPlayersOfTeam(String teamId) - ; - - public ArrayList getPlayersOfTeamCopy(String teamId) - ; - - public ArrayList getPlayersByPosition(String position) - ; - - public ArrayList getPlayersByHigherSalary(String name) - ; - - public ArrayList getPlayersBySalaryRange(double low, double high) - ; - - public ArrayList getPlayersByLeagueId(String leagueId) - ; - - public ArrayList getPlayersBySport(String sport) - ; - - public ArrayList getPlayersByCity(String city) - ; - - public ArrayList getAllPlayers() - ; - - public ArrayList getPlayersNotOnTeam() - ; - - public ArrayList getPlayersByPositionAndName(String position, - String name) ; - - public ArrayList getLeaguesOfPlayer(String playerId) - ; - - public ArrayList getSportsOfPlayer(String playerId) - ; - - public double getSalaryOfPlayerFromTeam(String teamID, String playerName) - ; - - public ArrayList getPlayersOfLeague(String leagueId) - ; - - - public ArrayList getPlayersWithPositionsGoalkeeperOrDefender() - ; - - public ArrayList getPlayersWithNameEndingWithON() - ; - - public ArrayList getPlayersWithNullName() - ; - - public ArrayList getPlayersWithTeam(String teamId) - ; - - public ArrayList getPlayersWithSalaryUsingABS(double salary) - ; - - public ArrayList getPlayersWithSalaryUsingSQRT(double salary) - ; - - - // Teams - - public ArrayList getTeamsOfLeague(String leagueId) - ; - - public void createTeamInLeague(TeamDetails details, String leagueId) - ; - - public void removeTeam(String teamId) - ; - - public TeamDetails getTeam(String teamId) - ; - - public ArrayList getTeamsByPlayerAndLeague(String playerKey, - String leagueKey) - ; - - public Set getCitiesOfLeague(String leagueKey) ; - - public TeamDetails getTeamOfLeagueByCity(String leagueKey, String city) - ; - - public String getTeamsNameOfLeagueByCity(String leagueKey, String city) - ; - - public String getTeamNameVariations(String teamId) ; - - // Leagues - - public void createLeague(LeagueDetails details) - ; - - public void removeLeague(String leagueId) - ; - - public LeagueDetails getLeague(String leagueId) - ; - - public LeagueDetails getLeagueByName(String name) - ; - - // Test - - public ArrayList getPlayersByLeagueIdWithNULL(String leagueId) ; - - public ArrayList testFinder(String parm1, String parm2, String parm3) - ; - - public void cleanUp() throws FinderException, RemoveException; - -} diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/roster/RosterBean.java b/appserver/tests/quicklook/ejb/cmp/src/java/roster/RosterBean.java deleted file mode 100644 index 280b5ccdfb8..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/roster/RosterBean.java +++ /dev/null @@ -1,889 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019-2021] Payara Foundation and/or affiliates - -package roster; - -import java.util.*; -import jakarta.ejb.*; -import jakarta.ejb.*; -import javax.naming.*; -import util.*; -import team.*; - -public class RosterBean implements SessionBean { - - private LocalPlayerHome playerHome = null; - private LocalTeamHome teamHome = null; - private LocalLeagueHome leagueHome = null; - - // Player business methods - - public ArrayList testFinder(String parm1, String parm2, - String parm3) { - - Debug.print("RosterBean testFinder"); - Collection players = null; - - try { - players = playerHome.findByTest(parm1, parm2, parm3); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } - - public void createPlayer(PlayerDetails details) { - - Debug.print("RosterBean createPlayer"); - try { - LocalPlayer player = playerHome.create(details.getId(), - details.getName(), details.getPosition(), details.getSalary()); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - } - - public void addPlayer(String playerId, String teamId) { - - Debug.print("RosterBean addPlayer"); - try { - LocalTeam team = teamHome.findByPrimaryKey(teamId); - LocalPlayer player = playerHome.findByPrimaryKey(playerId); - team.addPlayer(player); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - } - - public void removePlayer(String playerId) { - - Debug.print("RosterBean removePlayer"); - try { - LocalPlayer player = playerHome.findByPrimaryKey(playerId); - player.remove(); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - } - - public void dropPlayer(String playerId, String teamId) { - - Debug.print("RosterBean dropPlayer"); - try { - LocalPlayer player = playerHome.findByPrimaryKey(playerId); - LocalTeam team = teamHome.findByPrimaryKey(teamId); - team.dropPlayer(player); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - } - - public PlayerDetails getPlayer(String playerId) { - - Debug.print("RosterBean getPlayer"); - PlayerDetails playerDetails = null; - try { - LocalPlayer player = playerHome.findByPrimaryKey(playerId); - playerDetails = new PlayerDetails(playerId, - player.getName(), player.getPosition(), player.getSalary()); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - return playerDetails; - } // getPlayer - - - public ArrayList getPlayersOfTeam(String teamId) { - - Debug.print("RosterBean getPlayersOfTeam"); - Collection players = null; - try { - LocalTeam team = teamHome.findByPrimaryKey(teamId); - players = team.getPlayers(); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } // getPlayersOfTeam - - - public ArrayList getPlayersOfTeamCopy(String teamId) { - - Debug.print("RosterBean getPlayersOfTeamCopy"); - ArrayList playersList = null; - - try { - LocalTeam team = teamHome.findByPrimaryKey(teamId); - playersList = team.getCopyOfPlayers(); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return playersList; - - } // getPlayersOfTeamCopy - - - public ArrayList getTeamsOfLeague(String leagueId) { - - Debug.print("RosterBean getTeamsOfLeague"); - - ArrayList detailsList = new ArrayList(); - Collection teams = null; - - try { - LocalLeague league = leagueHome.findByPrimaryKey(leagueId); - teams = league.getTeams(); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - Iterator i = teams.iterator(); - while (i.hasNext()) { - LocalTeam team = (LocalTeam) i.next(); - TeamDetails details = new TeamDetails(team.getTeamId(), - team.getName(), team.getCity()); - detailsList.add(details); - } - - return detailsList; - } // getTeamsOfLeague - - - public ArrayList getPlayersByPosition(String position) { - - Debug.print("RosterBean getPlayersByPosition"); - Collection players = null; - - try { - players = playerHome.findByPosition(position); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } // getPlayersByPosition - - - public ArrayList getPlayersByHigherSalary(String name) { - - Debug.print("RosterBean getPlayersByByHigherSalary"); - Collection players = null; - - try { - players = playerHome.findByHigherSalary(name); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } // getPlayersByHigherSalary - - public ArrayList getPlayersBySalaryRange(double low, double high) { - - Debug.print("RosterBean getPlayersBySalaryRange"); - Collection players = null; - - try { - players = playerHome.findBySalaryRange(low, high); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } // getPlayersBySalaryRange - - public ArrayList getPlayersByLeagueId(String leagueId) { - - Debug.print("RosterBean getPlayersByLeagueId"); - Collection players = null; - - try { - LocalLeague league = leagueHome.findByPrimaryKey(leagueId); - players = playerHome.findByLeague(league); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } // getPlayersByLeagueId - - public ArrayList getPlayersBySport(String sport) { - - Debug.print("RosterBean getPlayersBySport"); - Collection players = null; - - try { - players = playerHome.findBySport(sport); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } // getPlayersBySport - - public ArrayList getPlayersByCity(String city) { - - Debug.print("RosterBean getPlayersByCity"); - Collection players = null; - - try { - players = playerHome.findByCity(city); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } // getPlayersByCity - - public ArrayList getAllPlayers() { - - Debug.print("RosterBean getAllPlayers"); - Collection players = null; - - try { - players = playerHome.findAll(); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } // getAllPlayers - - public ArrayList getPlayersNotOnTeam() { - - Debug.print("RosterBean getPlayersNotOnTeam"); - Collection players = null; - - try { - players = playerHome.findNotOnTeam(); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } // getPlayersNotOnTeam - - public ArrayList getPlayersByPositionAndName(String position, - String name) { - - Debug.print("RosterBean getPlayersByPositionAndName"); - Collection players = null; - - try { - players = playerHome.findByPositionAndName(position, name); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } // getPlayersByPositionAndName - - public ArrayList getLeaguesOfPlayer(String playerId) { - - Debug.print("RosterBean getLeaguesOfPlayer"); - ArrayList detailsList = new ArrayList(); - Collection leagues = null; - - try { - LocalPlayer player = playerHome.findByPrimaryKey(playerId); - leagues = player.getLeagues(); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - Iterator i = leagues.iterator(); - while (i.hasNext()) { - LocalLeague league = (LocalLeague) i.next(); - LeagueDetails details = new LeagueDetails(league.getLeagueId(), - league.getName(), league.getSport()); - detailsList.add(details); - } - return detailsList; - } // getLeaguesOfPlayer - - public ArrayList getSportsOfPlayer(String playerId) { - - Debug.print("RosterBean getSportsOfPlayer"); - ArrayList sportsList = new ArrayList(); - Collection sports = null; - - try { - LocalPlayer player = playerHome.findByPrimaryKey(playerId); - sports = player.getSports(); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - Iterator i = sports.iterator(); - while (i.hasNext()) { - String sport = (String) i.next(); - sportsList.add(sport); - } - return sportsList; - } // getSportsOfPlayer - - // Team business methods - - public void createTeamInLeague(TeamDetails details, String leagueId) { - - Debug.print("RosterBean createTeamInLeague"); - try { - LocalLeague league = leagueHome.findByPrimaryKey(leagueId); - LocalTeam team = teamHome.create(details.getId(), - details.getName(), details.getCity()); - league.addTeam(team); - } catch (Exception ex) { -ex.printStackTrace(); - throw new EJBException(ex.getMessage()); - } - } - - public void removeTeam(String teamId) { - - Debug.print("RosterBean removeTeam"); - try { - LocalTeam team = teamHome.findByPrimaryKey(teamId); - team.remove(); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - } - - public TeamDetails getTeam(String teamId) { - - Debug.print("RosterBean getTeam"); - TeamDetails teamDetails = null; - try { - LocalTeam team = teamHome.findByPrimaryKey(teamId); - teamDetails = new TeamDetails(teamId, - team.getName(), team.getCity()); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - return teamDetails; - } - - - // League business methods - - public void createLeague(LeagueDetails details) { - - Debug.print("RosterBean createLeague"); - try { - LocalLeague league = leagueHome.create(details.getId(), - details.getName(), details.getSport()); -System.err.println("==== : " + league); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - } - - public void removeLeague(String leagueId) { - - Debug.print("RosterBean removeLeague"); - try { - LocalLeague league = leagueHome.findByPrimaryKey(leagueId); - league.remove(); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - } - - public LeagueDetails getLeague(String leagueId) { - - Debug.print("RosterBean getLeague"); - LeagueDetails leagueDetails = null; - try { - LocalLeague league = leagueHome.findByPrimaryKey(leagueId); - leagueDetails = new LeagueDetails(leagueId, - league.getName(), league.getSport()); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - return leagueDetails; - } - - // SessionBean methods - - public void ejbCreate() throws CreateException { - - Debug.print("RosterBean ejbCreate"); - try { - playerHome = lookupPlayer(); - teamHome = lookupTeam(); - leagueHome = lookupLeague(); - } catch (NamingException ex) { - throw new CreateException(ex.getMessage()); - } - } - - public void ejbActivate() { - - Debug.print("RosterBean ejbActivate"); - try { - playerHome = lookupPlayer(); - teamHome = lookupTeam(); - leagueHome = lookupLeague(); - } catch (NamingException ex) { - throw new EJBException(ex.getMessage()); - } - } - - public void ejbPassivate() { - - playerHome = null; - teamHome = null; - leagueHome = null; - } - - public RosterBean() {} - public void ejbRemove() {} - public void setSessionContext(SessionContext sc) {} - - // Private methods - - private LocalPlayerHome lookupPlayer() throws NamingException { - - Context initial = new InitialContext(); - Object objref = initial.lookup("java:comp/env/ejb/SimplePlayer"); - return (LocalPlayerHome) objref; - } - - private LocalTeamHome lookupTeam() throws NamingException { - - Context initial = new InitialContext(); - Object objref = initial.lookup("java:comp/env/ejb/SimpleTeam"); - return (LocalTeamHome) objref; - } - - private LocalLeagueHome lookupLeague() throws NamingException { - - Context initial = new InitialContext(); - Object objref = initial.lookup("java:comp/env/ejb/SimpleLeague"); - return (LocalLeagueHome) objref; - } - - private ArrayList copyPlayersToDetails(Collection players) { - - ArrayList detailsList = new ArrayList(); - Iterator i = players.iterator(); - - while (i.hasNext()) { - LocalPlayer player = (LocalPlayer) i.next(); - PlayerDetails details = new PlayerDetails(player.getPlayerId(), - player.getName(), player.getPosition(), player.getSalary()); - detailsList.add(details); - } - - return detailsList; - } // copyPlayersToDetails - - /** - * dirty cleanUp method only EJBs with hardcoded PK will be removed - */ - public void cleanUp() { - Debug.print("Cleaning up the database"); - Collection toClean = null; - Iterator it = null; - - try { - //removing the player EJBs - toClean = playerHome.findAll(); - it = toClean.iterator(); - while (it.hasNext()) { - ((LocalPlayer)it.next()).remove(); - } - - // removing the team EJBs - toClean = teamHome.findAll(); - it = toClean.iterator(); - while (it.hasNext()) { - ((LocalTeam)it.next()).remove(); - } - - // removing the league EJBs - toClean = leagueHome.findAll(); - it = toClean.iterator(); - while (it.hasNext()) { - ((LocalLeague)it.next()).remove(); - } - Debug.print("Cleaning up the database ... done!"); - } catch (Exception ex) { -ex.printStackTrace(); - throw new EJBException(ex.getMessage()); - } - } - - /** - * - * @param name - * @return - */ - public LeagueDetails getLeagueByName(String name) { - - Debug.print("RosterBean getLeagueByName (SingleObjectFinder)"); - LeagueDetails leagueDetails = null; - try { - LocalLeague league = leagueHome.findByName(name); - leagueDetails = new LeagueDetails(league.getLeagueId(), - league.getName(), league.getSport()); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return leagueDetails; - } - // getLeagueByName() - - - /** - * - * @param playerKey - * @param leagueKey - * @return - */ - public ArrayList getTeamsByPlayerAndLeague(String playerKey, - String leagueKey) { - - Debug.print("RosterBean getTeamsByPlayerAndLeague"); - ArrayList detailsList = new ArrayList(); - Collection teamsColl = null; - - try { - LocalPlayer player = playerHome.findByPrimaryKey(playerKey); - LocalLeague league = leagueHome.findByPrimaryKey(leagueKey); - teamsColl = teamHome.findByPlayerAndLeague(player, league); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - Iterator it = teamsColl.iterator(); - while (it.hasNext()) { - LocalTeam team = (LocalTeam) it.next(); - TeamDetails details = new TeamDetails(team.getTeamId(), - team.getName(), team.getCity()); - detailsList.add(details); - } - - return detailsList; - } - - /** - * - * @param city - * @return - */ - public Set getCitiesOfLeague(String leagueKey) { - - Debug.print("RosterBean getCitiesOfLeague(leagueKey)"); - LocalLeague league; - Set cities; - - try { - league = leagueHome.findByPrimaryKey(leagueKey); - cities = league.getCitiesOfThisLeague(); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return cities; - }// getCitiesOfLeague() - - - /** - * - * @param leagueKey - * @param city - * @return - */ - public TeamDetails getTeamOfLeagueByCity(String leagueKey, String city) { - Debug.print("RosterBean getTeamOfLeagueByCity(leagueKey, city)"); - LocalLeague league; - LocalTeam team; - - try { - league = leagueHome.findByPrimaryKey(leagueKey); - team = league.getTeamByCity(city); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return new TeamDetails(team.getTeamId(), team.getName(), team.getCity()); - }// getTeamOfLeagueByCity() - - - /** - * - * @param leagueKey - * @param city - * @return - */ - public String getTeamsNameOfLeagueByCity(String leagueKey, String city) { - Debug.print("RosterBean getTeamsNameOfLeagueByCity(leagueKey, city)"); - LocalLeague league; - String teamName; - - try { - league = leagueHome.findByPrimaryKey(leagueKey); - teamName = league.getTeamsNameByCity(city); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return teamName; - - }// getTeamsNameOfLeagueByCity() - - - /** - * - * @param teamID - * @param playerName - * @return - */ - public double getSalaryOfPlayerFromTeam(String teamID, String playerName) { - Debug.print("RosterBean getSalaryOfPlayerFromTeam(teamKey, playerKey)"); - LocalTeam team; - double salary; - - try { - team = teamHome.findByPrimaryKey(teamID); - salary = team.getSalaryOfPlayer(playerName); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return salary; - }// getSalaryOfPlayerFromTeam() - - - /** - * - * @param leagueId - * @return - */ - public ArrayList getPlayersOfLeague(String leagueId) { - Debug.print("RosterBean getPlayersOfLeague(leagueId)"); - LocalLeague league; - Set players; - - try { - league = leagueHome.findByPrimaryKey(leagueId); - players = league.getPlayersFromLeague(); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - }// getPlayersOfLeague() - - /** - * - * @return - */ - public ArrayList getPlayersWithPositionsGoalkeeperOrDefender() { - Debug.print("RosterBean getPlayersWithPositionsGoalkeeperOrDefender()"); - Collection players = null; - - try { - players = playerHome.findByPositionsGoalkeeperOrDefender(); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - }// getPlayersWithPositionsGoalkeeperOrDefender() - - /** - * - * @return - */ - public ArrayList getPlayersWithNameEndingWithON() { - Debug.print("RosterBean getPlayersWithNameEndingWithON()"); - Collection players = null; - - try { - players = playerHome.findByNameEndingWithON(); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - }// getPlayersWithNameEndingWithON() - - /** - * - * @return - */ - public ArrayList getPlayersWithNullName() { - Debug.print("RosterBean getPlayersWithNullName()"); - Collection players = null; - - try { - players = playerHome.findByNullName(); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - }// getPlayersWithNullName() - - - - /** - * - * @param teamId - * @return - */ - public ArrayList getPlayersWithTeam(String teamId) { - Debug.print("RosterBean getPlayersWithTeam(teamId)"); - LocalTeam team; - Collection players = null; - - try { - team = teamHome.findByPrimaryKey(teamId); - players = playerHome.findByTeam(team); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - }// getPlayersWithTeam() - - - /** - * - * @param teamId - * @return - */ - public String getTeamNameVariations(String teamId) { - Debug.print("RosterBean getTeamNameVariations(teamId)"); - LocalTeam team; - StringBuilder out = new StringBuilder(); - - try { - team = teamHome.findByPrimaryKey(teamId); - Debug.print("--- CONCAT"); - out.append(team.getTeamNameWithStringfunctionTests1()); - Debug.print("--- SUBSTRING"); - out.append(team.getTeamNameWithStringfunctionTests2()); - Debug.print("--- LOCATE AND LENGTH"); - out.append(team.getTeamNameWithStringfunctionTests3()); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return out.toString(); - }// getTeamNameVariations() - - - /** - * - * @param salary - * @return - */ - public ArrayList getPlayersWithSalaryUsingABS(double salary) { - Debug.print("RosterBean getPlayersWithSalaryUsingABS(salary)"); - Collection players = null; - - try { - players = playerHome.findBySalarayWithArithmeticFunctionABS(salary); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - }// getPlayersWithSalaryUsingABS() - - - /** - * - * @param salary - * @return - */ - public ArrayList getPlayersWithSalaryUsingSQRT(double salary) { - Debug.print("RosterBean getPlayersWithSalaryUsingSQRT(salary)"); - Collection players = null; - - try { - players = playerHome.findBySalarayWithArithmeticFunctionSQRT(salary); - } - catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - }// getPlayersWithSalaryUsingSQRT() - - - - public ArrayList getPlayersByLeagueIdWithNULL(String leagueId) { - - Debug.print("RosterBean getPlayersByLeagueId"); - Collection players = null; - - try { - LocalLeague league = null; //leagueHome.findByPrimaryKey(leagueId); - players = playerHome.findByLeague(league); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - - return copyPlayersToDetails(players); - } // getPlayersByLeagueId - - -} // RosterBean diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/roster/RosterHome.java b/appserver/tests/quicklook/ejb/cmp/src/java/roster/RosterHome.java deleted file mode 100644 index 6f877737a71..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/roster/RosterHome.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package roster; - -import java.io.Serializable; -import jakarta.ejb.CreateException; -import jakarta.ejb.EJBLocalHome; - -public interface RosterHome extends EJBLocalHome { - - Roster create() throws CreateException; -} diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/team/LeagueBean.java b/appserver/tests/quicklook/ejb/cmp/src/java/team/LeagueBean.java deleted file mode 100644 index 7fd4cdf8286..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/team/LeagueBean.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package team; - -import java.util.*; -import jakarta.ejb.*; -import javax.naming.*; -import util.Debug; - -public abstract class LeagueBean implements EntityBean { - - private EntityContext context; - - // Access methods for persistent fields - - public abstract String getLeagueId(); - public abstract void setLeagueId(String id); - - public abstract String getName(); - public abstract void setName(String name); - - public abstract String getSport(); - public abstract void setSport(String sport); - - - // Access methods for relationship fields - - public abstract Collection getTeams(); - public abstract void setTeams(Collection teams); - - // Select methods - - public abstract Set ejbSelectTeamsCity(LocalLeague league) - throws FinderException; - - public abstract LocalTeam ejbSelectTeamByCity(String city) - throws FinderException; - - public abstract String ejbSelectTeamsNameByCity(String city) - throws FinderException; - - - public abstract Set ejbSelectPlayersByLeague(LocalLeague league) - throws FinderException; - - // Business methods - - public Set getCitiesOfThisLeague() throws FinderException { - - LocalLeague league = - (team.LocalLeague)context.getEJBLocalObject(); - - return ejbSelectTeamsCity(league); - } - - - public LocalTeam getTeamByCity(String city) throws FinderException { - - return ejbSelectTeamByCity(city); - } - - public String getTeamsNameByCity(String city) throws FinderException { - - return ejbSelectTeamsNameByCity(city); - } - - - public Set getPlayersFromLeague() throws FinderException{ - - LocalLeague league = (team.LocalLeague)context.getEJBLocalObject(); - - return ejbSelectPlayersByLeague(league); - } - - public void addTeam(LocalTeam team) { - - Debug.print("TeamBean addTeam"); - try { - Collection teams = getTeams(); - teams.add(team); - } catch (Exception ex) { -ex.printStackTrace(); - throw new EJBException(ex.getMessage()); - } - } - - public void dropTeam(LocalTeam team) { - - Debug.print("TeamBean dropTeam"); - try { - Collection teams = getTeams(); - teams.remove(team); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - } - - // EntityBean methods - - public String ejbCreate (String id, String name, String sport) - throws CreateException { - - Debug.print("LeagueBean ejbCreate"); - setLeagueId(id); - setName(name); - setSport(sport); - return null; - } - - public void ejbPostCreate (String id, String name, String sport) - throws CreateException { } - - public void setEntityContext(EntityContext ctx) { - context = ctx; - } - - public void unsetEntityContext() { - context = null; - } - - public void ejbRemove() { - Debug.print("LeagueBean ejbRemove"); - } - - public void ejbLoad() { - Debug.print("LeagueBean ejbLoad"); - } - - public void ejbStore() { - Debug.print("LeagueBean ejbStore"); - } - - public void ejbPassivate() { } - - public void ejbActivate() { } - -} // LeagueBean class diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalLeague.java b/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalLeague.java deleted file mode 100644 index 4267e6b9a66..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalLeague.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package team; - -import java.util.*; -import jakarta.ejb.*; - -public interface LocalLeague extends EJBLocalObject { - - public String getLeagueId(); - public String getName(); - public String getSport(); - public Collection getTeams(); - - public void addTeam(LocalTeam team); - public void dropTeam(LocalTeam team); - - public Set getCitiesOfThisLeague() throws FinderException; - public LocalTeam getTeamByCity(String city) throws FinderException; - public String getTeamsNameByCity(String city) throws FinderException; - public Set getPlayersFromLeague() throws FinderException; - -} diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalLeagueHome.java b/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalLeagueHome.java deleted file mode 100644 index 3ce6243a688..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalLeagueHome.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package team; - -import java.util.*; -import jakarta.ejb.*; - -public interface LocalLeagueHome extends EJBLocalHome { - - public LocalLeague create (String id, String name, String sport) - throws CreateException; - - public LocalLeague findByPrimaryKey (String id) - throws FinderException; - - public Collection findAll() - throws FinderException; - - public LocalLeague findByName(String name) - throws FinderException; - -} diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalPlayer.java b/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalPlayer.java deleted file mode 100644 index 4cdc9966a97..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalPlayer.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package team; - -import java.util.*; -import jakarta.ejb.*; - -public interface LocalPlayer extends EJBLocalObject { - - public String getPlayerId(); - public String getName(); - public String getPosition(); - public double getSalary(); - public Collection getTeams(); - public Collection getLeagues() throws FinderException; - public Collection getSports() throws FinderException; - -} diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalPlayerHome.java b/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalPlayerHome.java deleted file mode 100644 index 033f787ea72..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalPlayerHome.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package team; - -import java.util.*; -import jakarta.ejb.*; - -public interface LocalPlayerHome extends EJBLocalHome { - - public LocalPlayer create (String id, String name, String position, - double salary) - throws CreateException; - - public LocalPlayer findByPrimaryKey (String id) - throws FinderException; - - public Collection findByPosition(String position) - throws FinderException; - - public Collection findByHigherSalary(String name) - throws FinderException; - - public Collection findBySalaryRange(double low, double high) - throws FinderException; - - public Collection findByLeague(LocalLeague league) - throws FinderException; - - public Collection findBySport(String sport) - throws FinderException; - - public Collection findByCity(String city) - throws FinderException; - - public Collection findAll() - throws FinderException; - - public Collection findNotOnTeam() - throws FinderException; - - public Collection findByPositionAndName(String position, - String name) throws FinderException; - - public Collection findByTest (String parm1, String parm2, String parm3) - throws FinderException; - - public Collection findByPositionsGoalkeeperOrDefender() - throws FinderException; - - public Collection findByNameEndingWithON() - throws FinderException; - - public Collection findByNullName() - throws FinderException; - - public Collection findByTeam(LocalTeam team) - throws FinderException; - - public Collection findBySalarayWithArithmeticFunctionABS(double salaray) - throws FinderException; - - public Collection findBySalarayWithArithmeticFunctionSQRT(double salaray) - throws FinderException; - -} diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalTeam.java b/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalTeam.java deleted file mode 100644 index ca3cf71e462..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalTeam.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package team; - -import java.util.*; -import jakarta.ejb.*; - -public interface LocalTeam extends EJBLocalObject { - - public String getTeamId(); - public String getName(); - public String getCity(); - public Collection getPlayers(); - public LocalLeague getLeague(); - - public ArrayList getCopyOfPlayers(); - public void addPlayer(LocalPlayer player); - public void dropPlayer(LocalPlayer player); - public double getSalaryOfPlayer(String playerName); - public String getTeamNameWithStringfunctionTests1(); - public String getTeamNameWithStringfunctionTests2(); - public String getTeamNameWithStringfunctionTests3(); - -} diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalTeamHome.java b/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalTeamHome.java deleted file mode 100644 index 7350e24b403..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/team/LocalTeamHome.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package team; - -import java.util.Collection; -import jakarta.ejb.CreateException; -import jakarta.ejb.EJBLocalHome; -import jakarta.ejb.FinderException; - -public interface LocalTeamHome extends EJBLocalHome { - - public LocalTeam create (String id, String name, String city) - throws CreateException; - - public LocalTeam findByPrimaryKey (String id) - throws FinderException; - - public Collection findAll() - throws FinderException; - - public Collection findByPlayerAndLeague(LocalPlayer player, - LocalLeague league) - throws FinderException; -} diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/team/PlayerBean.java b/appserver/tests/quicklook/ejb/cmp/src/java/team/PlayerBean.java deleted file mode 100644 index 106ff3ee5a0..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/team/PlayerBean.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package team; - -import java.util.*; -import jakarta.ejb.*; -import javax.naming.*; -import util.Debug; - -public abstract class PlayerBean implements EntityBean { - - private EntityContext context; - - // Access methods for persistent fields - - public abstract String getPlayerId(); - public abstract void setPlayerId(String id); - - public abstract String getName(); - public abstract void setName(String name); - - public abstract String getPosition(); - public abstract void setPosition(String position); - - public abstract double getSalary(); - public abstract void setSalary(double salary); - - // Access methods for relationship fields - - public abstract Collection getTeams(); - public abstract void setTeams(Collection teams); - - // Select methods - - public abstract Collection ejbSelectLeagues(LocalPlayer player) - throws FinderException; - - public abstract Collection ejbSelectSports(LocalPlayer player) - throws FinderException; - - - - // Business methods - - public Collection getLeagues() throws FinderException { - - LocalPlayer player = - (team.LocalPlayer)context.getEJBLocalObject(); - return ejbSelectLeagues(player); - } - - public Collection getSports() throws FinderException { - - LocalPlayer player = - (team.LocalPlayer)context.getEJBLocalObject(); - return ejbSelectSports(player); - } - - // EntityBean methods - - public String ejbCreate (String id, String name, String position, - double salary) throws CreateException { - - Debug.print("PlayerBean ejbCreate"); - setPlayerId(id); - setName(name); - setPosition(position); - setSalary(salary); - return null; - } - - public void ejbPostCreate (String id, String name, String position, - double salary) throws CreateException { } - - public void setEntityContext(EntityContext ctx) { - context = ctx; - } - - public void unsetEntityContext() { - context = null; - } - - public void ejbRemove() { - Debug.print("PlayerBean ejbRemove"); - } - - public void ejbLoad() { - Debug.print("PlayerBean ejbLoad"); - } - - public void ejbStore() { - Debug.print("PlayerBean ejbStore"); - } - - public void ejbPassivate() { } - - public void ejbActivate() { } - -} // PlayerBean class diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/team/TeamBean.java b/appserver/tests/quicklook/ejb/cmp/src/java/team/TeamBean.java deleted file mode 100644 index fd23d1863a3..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/team/TeamBean.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2019-2021] Payara Foundation and/or affiliates - -package team; - -import java.util.*; -import jakarta.ejb.*; -import javax.naming.*; -import util.Debug; -import util.PlayerDetails; - -public abstract class TeamBean implements EntityBean { - - private EntityContext context; - - // Access methods for persistent fields - - public abstract String getTeamId(); - public abstract void setTeamId(String id); - - public abstract String getName(); - public abstract void setName(String name); - - public abstract String getCity(); - public abstract void setCity(String city); - - - // Access methods for relationship fields - - public abstract Collection getPlayers(); - public abstract void setPlayers(Collection players); - - public abstract LocalLeague getLeague(); - public abstract void setLeague(LocalLeague league); - - // Select methods - - public abstract double ejbSelectSalaryOfPlayerInTeam(LocalTeam team, String playerName) - throws FinderException; - - public abstract String ejbSelectByNameWithCONCAT(String part1, String part2) - throws FinderException; - - public abstract String ejbSelectByNameSubstring(String substring) - throws FinderException; - - public abstract String ejbSelectNameLocate(String substring) - throws FinderException; - - - // Business methods - - public double getSalaryOfPlayer(String playerName) throws FinderException { - LocalTeam team = (team.LocalTeam)context.getEJBLocalObject(); - - return ejbSelectSalaryOfPlayerInTeam(team, playerName); - } - - - public String getTeamNameWithStringfunctionTests1() throws FinderException { - - StringBuilder out = new StringBuilder(); -// LocalTeam team = (team.LocalTeam) context.getEJBLocalObject(); -// out.append("
    Name of Team : " + team.getName()); - out.append("
    "); - out.append(ejbSelectByNameWithCONCAT("Cr", "ows")); - out.append("
    "); - - return out.toString(); - } - - public String getTeamNameWithStringfunctionTests2() throws FinderException { - - StringBuilder out = new StringBuilder(); - out.append(ejbSelectByNameSubstring("aaaaCrowsaaaaa")); - out.append("
    "); - - return out.toString(); - } - - public String getTeamNameWithStringfunctionTests3() throws FinderException { - - StringBuilder out = new StringBuilder(); - out.append(ejbSelectNameLocate("row")); - out.append("
    "); - - return out.toString(); - } - - - public ArrayList getCopyOfPlayers() { - - Debug.print("TeamBean getCopyOfPlayers"); - ArrayList playerList = new ArrayList(); - Collection players = getPlayers(); - - Iterator i = players.iterator(); - while (i.hasNext()) { - LocalPlayer player = (LocalPlayer) i.next(); - PlayerDetails details = new PlayerDetails(player.getPlayerId(), - player.getName(), player.getPosition(), 0.00); - playerList.add(details); - } - - return playerList; - } - - public void addPlayer(LocalPlayer player) { - - Debug.print("TeamBean addPlayer"); - try { - Collection players = getPlayers(); - players.add(player); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - } - - public void dropPlayer(LocalPlayer player) { - - Debug.print("TeamBean dropPlayer"); - try { - Collection players = getPlayers(); - players.remove(player); - } catch (Exception ex) { - throw new EJBException(ex.getMessage()); - } - } - - // EntityBean methods - - public String ejbCreate (String id, String name, String city) - throws CreateException { - - Debug.print("TeamBean ejbCreate"); - setTeamId(id); - setName(name); - setCity(city); - return null; - } - - public void ejbPostCreate (String id, String name, String city) - throws CreateException { } - - public void setEntityContext(EntityContext ctx) { - context = ctx; - } - - public void unsetEntityContext() { - context = null; - } - - public void ejbRemove() { - Debug.print("TeamBean ejbRemove"); - } - - public void ejbLoad() { - Debug.print("TeamBean ejbLoad"); - } - - public void ejbStore() { - Debug.print("TeamBean ejbStore"); - } - - public void ejbPassivate() { } - public void ejbActivate() { } - - -} // TeamBean class diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/util/Debug.java b/appserver/tests/quicklook/ejb/cmp/src/java/util/Debug.java deleted file mode 100644 index e8b3421a203..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/util/Debug.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -/** - * This class makes it easier to print out debug statements. - * The Debug.print statements are printed to System.err - * if debuggingOn = true. - */ - -package util; - -public final class Debug { - - public static final boolean debuggingOn = false; - - public static final void print(String msg) { - - if (debuggingOn) { - System.err.println("Debug: " + msg); - } - } - - public static final void print(String msg, Object object) { - - if (debuggingOn) { - System.err.println("Debug: " + msg); - System.err.println(" " + object.getClass().getName()); - } - } - -} // Debug diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/util/LeagueDetails.java b/appserver/tests/quicklook/ejb/cmp/src/java/util/LeagueDetails.java deleted file mode 100644 index 0b2045f921f..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/util/LeagueDetails.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package util; - -public class LeagueDetails implements java.io.Serializable { - - private String id; - private String name; - private String sport; - - public LeagueDetails (String id, String name, String sport) { - - this.id = id; - this.name = name; - this.sport = sport; - } - - public String getId() { - return id; - } - - public String getName() { - return name; - } - - public String getSport() { - return sport; - } - - public String toString() { - String s = id + " " + name + " " + sport; - return s; - } - -} // LeagueDetails diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/util/PlayerDetails.java b/appserver/tests/quicklook/ejb/cmp/src/java/util/PlayerDetails.java deleted file mode 100644 index a799e39b00a..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/util/PlayerDetails.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package util; - -public class PlayerDetails implements java.io.Serializable { - - private String id; - private String name; - private String position; - private double salary; - - public PlayerDetails (String id, String name, String position, - double salary) { - - this.id = id; - this.name = name; - this.position = position; - this.salary = salary; - } - - public String getId() { - return id; - } - - public String getName() { - return name; - } - - public String getPosition() { - return position; - } - - public double getSalary() { - return salary; - } - - public String toString() { - String s = id + " " + name + " " + position + " " + salary; - return s; - } - - -} // PlayerDetails diff --git a/appserver/tests/quicklook/ejb/cmp/src/java/util/TeamDetails.java b/appserver/tests/quicklook/ejb/cmp/src/java/util/TeamDetails.java deleted file mode 100644 index cc6753d9a77..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/java/util/TeamDetails.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2001-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package util; - -public class TeamDetails implements java.io.Serializable { - - private String id; - private String name; - private String city; - - public TeamDetails (String id, String name, String city) { - - this.id = id; - this.name = name; - this.city = city; - } - - public String getId() { - return id; - } - - public String getName() { - return name; - } - - public String getCity() { - return city; - } - - public String toString() { - String s = id + " " + name + " " + city; - return s; - } - -} // TeamDetails diff --git a/appserver/tests/quicklook/ejb/cmp/src/test/CmpRosterTestNG.java b/appserver/tests/quicklook/ejb/cmp/src/test/CmpRosterTestNG.java deleted file mode 100644 index f177791764d..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/src/test/CmpRosterTestNG.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -// Portions Copyright [2021] Payara Foundation and/or affiliates - -package test; -import org.testng.annotations.*; -import org.testng.Assert; - -import java.io.*; -import java.net.*; - -/** - * Simple TestNG client for basic WAR containing one JSP,one Servlet and one static - *HTML resource.Each resources (HTML,JSP,Servlet) is invoked as a separate test. - * - */ -public class CmpRosterTestNG { - - private static final String TEST_NAME = "Roster"; - - private final String strContextRoot="roster"; - - static String result = ""; - String host=System.getProperty("http.host"); - String port=System.getProperty("http.port"); - - /* - *If two asserts are mentioned in one method, then last assert is taken in - *to account. - *Each method can act as one test within one test suite - */ - - - @Test(groups = {"pulse"}) // test method - public void test() throws Exception { - - try { - - String testurl = "http://" + host + ":" + port + "/" + strContextRoot + "/" + TEST_NAME; - - URL url = new URL(testurl); - //echo("Connecting to: " + url.toString()); - HttpURLConnection conn = (HttpURLConnection) url.openConnection(); - conn.connect(); - int responseCode = conn.getResponseCode(); - - InputStream is = conn.getInputStream(); - BufferedReader input = new BufferedReader(new InputStreamReader(is)); - - String line = null; - boolean result = false; - String testLine = null; - String EXPECTED_RESPONSE = "ROSTER-FINISHED-OK"; - while ((line = input.readLine()) != null) { - // echo(line); - if (line.contains(EXPECTED_RESPONSE)) { - testLine = line; - //echo(testLine); - result = true; - break; - } - } - - Assert.assertEquals(result, true, "Unexpected Results"); - - } catch (Exception e) { - e.printStackTrace(); - throw new Exception(e); - } - - } - - public static void echo(String msg) { - System.out.println(msg); - } - -} diff --git a/appserver/tests/quicklook/ejb/cmp/web/html/index.html b/appserver/tests/quicklook/ejb/cmp/web/html/index.html deleted file mode 100644 index a06b2b7a9ad..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/web/html/index.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - Welcome to EJB CMP Tests - - -
    Go to EJB CMP Tests - - diff --git a/appserver/tests/quicklook/ejb/cmp/web/jsp/index.jsp b/appserver/tests/quicklook/ejb/cmp/web/jsp/index.jsp deleted file mode 100644 index 7f8f930ca22..00000000000 --- a/appserver/tests/quicklook/ejb/cmp/web/jsp/index.jsp +++ /dev/null @@ -1,48 +0,0 @@ -<%-- - - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - - Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. - - The contents of this file are subject to the terms of either the GNU - General Public License Version 2 only ("GPL") or the Common Development - and Distribution License("CDDL") (collectively, the "License"). You - may not use this file except in compliance with the License. You can - obtain a copy of the License at - https://github.com/payara/Payara/blob/main/LICENSE.txt - See the License for the specific - language governing permissions and limitations under the License. - - When distributing the software, include this License Header Notice in each - file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - - GPL Classpath Exception: - Oracle designates this particular file as subject to the "Classpath" - exception as provided by Oracle in the GPL Version 2 section of the License - file that accompanied this code. - - Modifications: - If applicable, add the following below the License Header, with the fields - enclosed by brackets [] replaced by your own identifying information: - "Portions Copyright [year] [name of copyright owner]" - - Contributor(s): - If you wish your version of this file to be governed by only the CDDL or - only the GPL Version 2, indicate your decision by adding "[Contributor] - elects to include this software in this distribution under the [CDDL or GPL - Version 2] license." If you don't indicate a single choice of license, a - recipient has the option to distribute your version of this file under - either the CDDL, the GPL Version 2 or to extend the choice of license to - its licensees as provided above. However, if you add GPL Version 2 code - and therefore, elected the GPL Version 2 license, then the option applies - only if the new code is made subject to such option by the copyright - holder. - ---%> - - - -

    CMP in EJB (RosterApp)

    -Verify Roster App
    - - diff --git a/appserver/tests/quicklook/gfproject/build-impl.xml b/appserver/tests/quicklook/gfproject/build-impl.xml index d0080e53020..d8dcc2a9468 100644 --- a/appserver/tests/quicklook/gfproject/build-impl.xml +++ b/appserver/tests/quicklook/gfproject/build-impl.xml @@ -89,7 +89,6 @@ - @@ -294,7 +293,6 @@ - - - - - - diff --git a/appserver/tests/quicklook/testng/testng_gd_security.xml b/appserver/tests/quicklook/testng/testng_gd_security.xml index 893b5434cb4..c286fa4013c 100644 --- a/appserver/tests/quicklook/testng/testng_gd_security.xml +++ b/appserver/tests/quicklook/testng/testng_gd_security.xml @@ -142,11 +142,6 @@ - - - - - diff --git a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ModuleLogLevels.java b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ModuleLogLevels.java index 2131c42e4e7..ab3ba286436 100644 --- a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ModuleLogLevels.java +++ b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ModuleLogLevels.java @@ -109,21 +109,6 @@ public interface ModuleLogLevels extends ConfigBeanProxy, PropertyBag { */ public void setEjbContainer(String value) throws PropertyVetoException; - /** - * Gets the value of the cmpContainer property. - * - * @return possible object is {@link String } - */ - @Attribute(defaultValue = "INFO") - public String getCmpContainer(); - - /** - * Sets the value of the cmpContainer property. - * - * @param value allowed object is {@link String } - * @throws PropertyVetoException - */ - public void setCmpContainer(String value) throws PropertyVetoException; /** * Gets the value of the mdbContainer property. @@ -429,21 +414,6 @@ public interface ModuleLogLevels extends ConfigBeanProxy, PropertyBag { */ public void setJdo(String value) throws PropertyVetoException; - /** - * Gets the value of the cmp property. - * - * @return possible object is {@link String } - */ - @Attribute(defaultValue = "INFO") - public String getCmp(); - - /** - * Sets the value of the cmp property. - * - * @param value allowed object is {@link String } - * @throws PropertyVetoException - */ - public void setCmp(String value) throws PropertyVetoException; /** * Gets the value of the util property. @@ -572,7 +542,6 @@ public static Map getAllLogLevels(ModuleLogLevels me) { moduleLevels.put("server", me.getServer()); moduleLevels.put("ejb-container", me.getEjbContainer()); moduleLevels.put("web-container", me.getWebContainer()); - moduleLevels.put("cmp-container", me.getCmpContainer()); moduleLevels.put("mdb-container", me.getMdbContainer()); moduleLevels.put("classloader", me.getClassloader()); moduleLevels.put("configuration", me.getConfiguration()); @@ -591,7 +560,6 @@ public static Map getAllLogLevels(ModuleLogLevels me) { moduleLevels.put("jms", me.getJms()); moduleLevels.put("connector", me.getConnector()); moduleLevels.put("jdo", me.getJdo()); - moduleLevels.put("cmp", me.getCmp()); moduleLevels.put("util", me.getUtil()); moduleLevels.put("resource-adapter", me.getResourceAdapter()); moduleLevels.put("synchronization", me.getSynchronization()); diff --git a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ServerTags.java b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ServerTags.java index 18331b0c168..087b8301b30 100644 --- a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ServerTags.java +++ b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/ServerTags.java @@ -144,7 +144,6 @@ public class ServerTags { public static final String ROOT = "root"; public static final String SERVER = "server"; public static final String EJB_CONTAINER = "ejb-container"; - public static final String CMP_CONTAINER = "cmp-container"; public static final String MDB_CONTAINER = "mdb-container"; public static final String WEB_CONTAINER = "web-container"; public static final String CLASSLOADER = "classloader"; @@ -164,7 +163,6 @@ public class ServerTags { public static final String JMS = "jms"; public static final String CONNECTOR = "connector"; public static final String JDO = "jdo"; - public static final String CMP = "cmp"; public static final String UTIL = "util"; public static final String RESOURCE_ADAPTER = "resource-adapter"; public static final String SYNCHRONIZATION = "synchronization"; diff --git a/nucleus/admin/launcher/src/test/resources/domains/domain1/config/logging.properties b/nucleus/admin/launcher/src/test/resources/domains/domain1/config/logging.properties index 324b48eb39a..f644340c3c4 100644 --- a/nucleus/admin/launcher/src/test/resources/domains/domain1/config/logging.properties +++ b/nucleus/admin/launcher/src/test/resources/domains/domain1/config/logging.properties @@ -75,7 +75,6 @@ javax.enterprise.system.core.config.level=INFO com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0 javax.enterprise.system.level=INFO javax.enterprise.system.core.security.level=INFO -javax.enterprise.system.container.cmp.level=INFO java.util.logging.FileHandler.pattern=%h/java%u.log com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging=false group-management-services=INFO diff --git a/nucleus/admin/launcher/src/test/resources/domains/domain2/config/logging.properties b/nucleus/admin/launcher/src/test/resources/domains/domain2/config/logging.properties index 324b48eb39a..f644340c3c4 100644 --- a/nucleus/admin/launcher/src/test/resources/domains/domain2/config/logging.properties +++ b/nucleus/admin/launcher/src/test/resources/domains/domain2/config/logging.properties @@ -75,7 +75,6 @@ javax.enterprise.system.core.config.level=INFO com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0 javax.enterprise.system.level=INFO javax.enterprise.system.core.security.level=INFO -javax.enterprise.system.container.cmp.level=INFO java.util.logging.FileHandler.pattern=%h/java%u.log com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging=false group-management-services=INFO diff --git a/nucleus/admin/launcher/src/test/resources/domains/domain3/config/logging.properties b/nucleus/admin/launcher/src/test/resources/domains/domain3/config/logging.properties index 324b48eb39a..f644340c3c4 100644 --- a/nucleus/admin/launcher/src/test/resources/domains/domain3/config/logging.properties +++ b/nucleus/admin/launcher/src/test/resources/domains/domain3/config/logging.properties @@ -75,7 +75,6 @@ javax.enterprise.system.core.config.level=INFO com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0 javax.enterprise.system.level=INFO javax.enterprise.system.core.security.level=INFO -javax.enterprise.system.container.cmp.level=INFO java.util.logging.FileHandler.pattern=%h/java%u.log com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging=false group-management-services=INFO diff --git a/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/logging.properties b/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/logging.properties index 324b48eb39a..f644340c3c4 100644 --- a/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/logging.properties +++ b/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/logging.properties @@ -75,7 +75,6 @@ javax.enterprise.system.core.config.level=INFO com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0 javax.enterprise.system.level=INFO javax.enterprise.system.core.security.level=INFO -javax.enterprise.system.container.cmp.level=INFO java.util.logging.FileHandler.pattern=%h/java%u.log com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging=false group-management-services=INFO diff --git a/nucleus/admin/rest/rest-service/src/test/resources/GlassFishI18NData.properties b/nucleus/admin/rest/rest-service/src/test/resources/GlassFishI18NData.properties index 0e0de98f3d8..3dff3b465be 100644 --- a/nucleus/admin/rest/rest-service/src/test/resources/GlassFishI18NData.properties +++ b/nucleus/admin/rest/rest-service/src/test/resources/GlassFishI18NData.properties @@ -997,10 +997,6 @@ com.sun.enterprise.config.serverbeans.ModuleLogLevels.admin.help=admin com.sun.enterprise.config.serverbeans.ModuleLogLevels.admin.label=admin com.sun.enterprise.config.serverbeans.ModuleLogLevels.classloader.help=classloader com.sun.enterprise.config.serverbeans.ModuleLogLevels.classloader.label=classloader -com.sun.enterprise.config.serverbeans.ModuleLogLevels.cmp.help=cmp -com.sun.enterprise.config.serverbeans.ModuleLogLevels.cmp.label=cmp -com.sun.enterprise.config.serverbeans.ModuleLogLevels.cmpContainer.help=cmp-container -com.sun.enterprise.config.serverbeans.ModuleLogLevels.cmpContainer.label=cmp-container com.sun.enterprise.config.serverbeans.ModuleLogLevels.configuration.help=configuration com.sun.enterprise.config.serverbeans.ModuleLogLevels.configuration.label=configuration com.sun.enterprise.config.serverbeans.ModuleLogLevels.connector.help=connector diff --git a/nucleus/admin/template/src/main/resources/config/logging.properties b/nucleus/admin/template/src/main/resources/config/logging.properties index 54561572b9e..89bd73d2c69 100644 --- a/nucleus/admin/template/src/main/resources/config/logging.properties +++ b/nucleus/admin/template/src/main/resources/config/logging.properties @@ -106,7 +106,6 @@ javax.enterprise.resource.webcontainer.jsf.renderkit.level=INFO javax.enterprise.resource.webcontainer.jsf.resource.level=INFO javax.enterprise.resource.webcontainer.jsf.taglib.level=INFO javax.enterprise.resource.webcontainer.jsf.timing.level=INFO -javax.enterprise.system.container.cmp.level=INFO javax.enterprise.system.container.ejb.level=INFO javax.enterprise.system.container.ejb.mdb.level=INFO javax.enterprise.system.container.web.level=INFO diff --git a/nucleus/common/amx-core/src/main/java/org/glassfish/admin/amx/logging/LogModuleNames.java b/nucleus/common/amx-core/src/main/java/org/glassfish/admin/amx/logging/LogModuleNames.java index 9dbf6a38205..f3fc4071058 100644 --- a/nucleus/common/amx-core/src/main/java/org/glassfish/admin/amx/logging/LogModuleNames.java +++ b/nucleus/common/amx-core/src/main/java/org/glassfish/admin/amx/logging/LogModuleNames.java @@ -60,7 +60,6 @@ protected LogModuleNames() {} public static final String ROOT_KEY = "Root"; public static final String SERVER_KEY = "Server"; public static final String EJB_CONTAINER_KEY = "EJBContainer"; - public static final String CMP_CONTAINER_KEY = "CMPContainer"; public static final String MDB_CONTAINER_KEY = "MDBContainer"; public static final String WEB_CONTAINER_KEY = "WebContainer"; public static final String CLASSLOADER_KEY = "Classloader"; @@ -80,7 +79,6 @@ protected LogModuleNames() {} public static final String JMS_KEY = "JMS"; public static final String CONNECTOR_KEY = "Connector"; public static final String JDO_KEY = "JDO"; - public static final String CMP_KEY = "CMP"; public static final String UTIL_KEY = "Util"; public static final String RESOURCE_ADAPTER_KEY = "ResourceAdapter"; public static final String SYNCHRONIZATION_KEY = "Synchronization"; @@ -94,7 +92,6 @@ protected LogModuleNames() {} ROOT_KEY, SERVER_KEY, EJB_CONTAINER_KEY, - CMP_CONTAINER_KEY, MDB_CONTAINER_KEY, WEB_CONTAINER_KEY, CLASSLOADER_KEY, @@ -114,7 +111,6 @@ protected LogModuleNames() {} JMS_KEY, CONNECTOR_KEY, JDO_KEY, - CMP_KEY, UTIL_KEY, RESOURCE_ADAPTER_KEY, SYNCHRONIZATION_KEY, diff --git a/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingXMLNames.java b/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingXMLNames.java index 651c933c12a..0460a36a61e 100644 --- a/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingXMLNames.java +++ b/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingXMLNames.java @@ -88,7 +88,6 @@ public class LoggingXMLNames { public static final String root = "root"; public static final String server = "server"; public static final String ejbcontainer = "ejb-container"; - public static final String cmpcontainer = "cmp-container"; public static final String mdbcontainer = "mdb-container"; public static final String webcontainer = "web-container"; public static final String classloader = "classloader"; @@ -108,7 +107,6 @@ public class LoggingXMLNames { public static final String jms = "jms"; public static final String connector = "connector"; public static final String jdo = "jdo"; - public static final String cmp = "cmp"; public static final String util = "util"; public static final String resourceadapter = "resource-adapter"; public static final String synchronization = "synchronization"; @@ -143,7 +141,6 @@ public class LoggingXMLNames { Map.entry(root, LogDomains.DOMAIN_ROOT + LEVEL), Map.entry(server, LogDomains.SERVER_LOGGER + LEVEL), Map.entry(ejbcontainer, LogDomains.EJB_LOGGER + LEVEL), - Map.entry(cmpcontainer, LogDomains.CMP_LOGGER + LEVEL), Map.entry(mdbcontainer, LogDomains.MDB_LOGGER + LEVEL), Map.entry(webcontainer, LogDomains.WEB_LOGGER + LEVEL), Map.entry(classloader, LogDomains.LOADER_LOGGER + LEVEL), @@ -163,7 +160,6 @@ public class LoggingXMLNames { Map.entry(jms, LogDomains.JMS_LOGGER + LEVEL), // Map.entry(connector, LogDomains. Map.entry(jdo, LogDomains.JDO_LOGGER + LEVEL), - Map.entry(cmp, LogDomains.CMP_LOGGER + LEVEL), Map.entry(util, LogDomains.UTIL_LOGGER + LEVEL), Map.entry(resourceadapter, LogDomains.RSR_LOGGER + LEVEL), // Map.entry(synchronization, LogDomains. diff --git a/nucleus/common/common-util/src/main/java/com/sun/enterprise/admin/monitor/callflow/ComponentType.java b/nucleus/common/common-util/src/main/java/com/sun/enterprise/admin/monitor/callflow/ComponentType.java index e296b5069a5..8e1f4d12932 100644 --- a/nucleus/common/common-util/src/main/java/com/sun/enterprise/admin/monitor/callflow/ComponentType.java +++ b/nucleus/common/common-util/src/main/java/com/sun/enterprise/admin/monitor/callflow/ComponentType.java @@ -68,12 +68,6 @@ public enum ComponentType { public String toString() { return "BEAN_MANAGED_PERSISTENCE"; } }, - CMP { - public String toString() { - return "CONTAINER_MANAGED_PERSISTENCE"; - } - }, - MDB { public String toString() { return "MESSAGE_DRIVEN_BEAN"; } }, diff --git a/nucleus/common/common-util/src/main/java/com/sun/logging/LogDomains.java b/nucleus/common/common-util/src/main/java/com/sun/logging/LogDomains.java index 9ae2d7178db..7ca131841eb 100644 --- a/nucleus/common/common-util/src/main/java/com/sun/logging/LogDomains.java +++ b/nucleus/common/common-util/src/main/java/com/sun/logging/LogDomains.java @@ -110,11 +110,6 @@ private LogDomains() {} */ public static final String WEB_LOGGER = DOMAIN_ROOT + "enterprise.system.container.web"; - /** - * Field - */ - public static final String CMP_LOGGER = DOMAIN_ROOT + "enterprise.system.container.cmp"; - /** * Field */ diff --git a/nucleus/common/common-util/src/test/resources/config/logging.properties b/nucleus/common/common-util/src/test/resources/config/logging.properties index 7217b2b8f39..bdfb2ea2655 100644 --- a/nucleus/common/common-util/src/test/resources/config/logging.properties +++ b/nucleus/common/common-util/src/test/resources/config/logging.properties @@ -97,7 +97,6 @@ javax.enterprise.resource.resourceadapter.level=INFO javax.enterprise.system.core.config.level=INFO javax.enterprise.system.level=INFO javax.enterprise.system.core.security.level=INFO -javax.enterprise.system.container.cmp.level=INFO javax.enterprise.system.core.selfmanagement.level=INFO .level=INFO javax.enterprise.resource.jdo.level=INFO diff --git a/nucleus/common/common-util/src/test/resources/rightordernoclosedomain.xml b/nucleus/common/common-util/src/test/resources/rightordernoclosedomain.xml index fc8d83aef41..40ffad4e513 100644 --- a/nucleus/common/common-util/src/test/resources/rightordernoclosedomain.xml +++ b/nucleus/common/common-util/src/test/resources/rightordernoclosedomain.xml @@ -139,7 +139,7 @@ - + diff --git a/nucleus/common/common-util/src/test/resources/v2domain.xml b/nucleus/common/common-util/src/test/resources/v2domain.xml index 5f766741b04..6da793f41bb 100644 --- a/nucleus/common/common-util/src/test/resources/v2domain.xml +++ b/nucleus/common/common-util/src/test/resources/v2domain.xml @@ -152,7 +152,7 @@ - + diff --git a/nucleus/common/common-util/src/test/resources/wrongordernoclosedomain.xml b/nucleus/common/common-util/src/test/resources/wrongordernoclosedomain.xml index 30879775c44..d682351d529 100644 --- a/nucleus/common/common-util/src/test/resources/wrongordernoclosedomain.xml +++ b/nucleus/common/common-util/src/test/resources/wrongordernoclosedomain.xml @@ -127,7 +127,7 @@ - + diff --git a/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/ModuleToLoggerNameMapper.java b/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/ModuleToLoggerNameMapper.java index e70194dd881..512c2d89791 100644 --- a/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/ModuleToLoggerNameMapper.java +++ b/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/ModuleToLoggerNameMapper.java @@ -67,7 +67,6 @@ public class ModuleToLoggerNameMapper { root %log-level; "INFO" server %log-level; "INFO" ejb-container %log-level; "INFO" - cmp-container %log-level; "INFO" mdb-container %log-level; "INFO" web-container %log-level; "INFO" classloader %log-level; "INFO" @@ -87,7 +86,6 @@ public class ModuleToLoggerNameMapper { jms %log-level; "INFO" connector %log-level; "INFO" jdo %log-level; "INFO" - cmp %log-level; "INFO" util %log-level; "INFO" resource-adapter %log-level; "INFO" synchronization %log-level; "INFO" @@ -99,8 +97,6 @@ public class ModuleToLoggerNameMapper { private static final Object[][] ModuleAndLoggerTable = { {"admin", new String[] { LogDomains.ADMIN_LOGGER } }, //admin {"classloader", new String[] { LogDomains.LOADER_LOGGER} }, //classloader - {"cmp", new String[] { LogDomains.CMP_LOGGER} }, - {"cmp-container", new String[] { LogDomains.CMP_LOGGER} }, //todo: verify with "cmp" {"configuration", new String[] { LogDomains.CONFIG_LOGGER} }, {"connector", new String[] { LogDomains.RSR_LOGGER} }, {"resource-adapter", new String[] { LogDomains.RSR_LOGGER} },//todo: verify with "connector" diff --git a/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-log-levels.1 b/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-log-levels.1 index 4a3973881cf..0e4b0a40e77 100644 --- a/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-log-levels.1 +++ b/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-log-levels.1 @@ -58,7 +58,6 @@ EXAMPLES javax.enterprise.resource.webcontainer.jsf.resource javax.enterprise.resource.webcontainer.jsf.taglib javax.enterprise.resource.webcontainer.jsf.timing - javax.enterprise.system.container.cmp javax.enterprise.system.container.ejb javax.enterprise.system.container.ejb.mdb javax.enterprise.system.container.web diff --git a/nucleus/flashlight/framework/src/main/java/org/glassfish/flashlight/impl/core/ProviderImplGenerator.java b/nucleus/flashlight/framework/src/main/java/org/glassfish/flashlight/impl/core/ProviderImplGenerator.java index 0f118b2f15c..655bd7a0947 100644 --- a/nucleus/flashlight/framework/src/main/java/org/glassfish/flashlight/impl/core/ProviderImplGenerator.java +++ b/nucleus/flashlight/framework/src/main/java/org/glassfish/flashlight/impl/core/ProviderImplGenerator.java @@ -132,7 +132,6 @@ public byte[] generateClassData(FlashlightProbeProvider provider, Class provider Label enabledLabel = new Label(); Label notEnabledLabel = new Label(); - gen.ifCmp(Type.getType(boolean.class), GeneratorAdapter.EQ, enabledLabel); gen.goTo(notEnabledLabel); gen.visitLabel(enabledLabel); gen.loadLocal(index); From 53d0518d5e45d72cf53a9ab1c83cef4caa23185b Mon Sep 17 00:00:00 2001 From: Kalin Chan Date: Wed, 15 Apr 2026 12:26:34 +0100 Subject: [PATCH 019/133] FISH-12430 Fix unit test --- .../sun/common/util/logging/SortedLoggingPropertiesTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nucleus/common/common-util/src/test/java/com/sun/common/util/logging/SortedLoggingPropertiesTest.java b/nucleus/common/common-util/src/test/java/com/sun/common/util/logging/SortedLoggingPropertiesTest.java index 6fc2497d347..adcc9f96967 100644 --- a/nucleus/common/common-util/src/test/java/com/sun/common/util/logging/SortedLoggingPropertiesTest.java +++ b/nucleus/common/common-util/src/test/java/com/sun/common/util/logging/SortedLoggingPropertiesTest.java @@ -75,7 +75,7 @@ public void testSortedKeys() throws IOException { Assert.assertTrue("28th properties line must be 'fish.payara.enterprise.server.logging.PayaraNotificationFileHandler.compressOnRotation' ",lines[28].startsWith("fish.payara.enterprise.server.logging.PayaraNotificationFileHandler.compressOnRotation=")); Assert.assertTrue("37th properties line must be '.level' ",lines[37].startsWith(".level=")); - Assert.assertEquals("Total number of lines is 89 ", 89, lines.length); + Assert.assertEquals("Total number of lines is 88 ", 88, lines.length); Arrays.stream(lines).forEach(System.out::println); From a2d63b8f44f13a1af86efa4454ec689aa2681f84 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Wed, 15 Apr 2026 15:16:27 +0100 Subject: [PATCH 020/133] FISH-13090 Lower log levels further The "processing" messages are now finer, and the "executing" & "deleting" messages are now fine Signed-off-by: Andrew Pielage --- .../core/cdi/extension/DynamicInterfaceDataProducer.java | 6 +++--- .../fish/payara/data/core/cdi/extension/RepositoryImpl.java | 4 ++-- .../fish/payara/data/core/util/DeleteOperationUtility.java | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java index 56c100d53cc..ae787f86745 100644 --- a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java +++ b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java @@ -181,17 +181,17 @@ public String getId() { } private void processQueriesForEntity() { - logger.fine("Processing query for entity class: " + repository); + logger.finer("Processing query for entity class: " + repository); //get entity type Class declaredEntityClass = getEntityTypeFromGenerics(this.repository); // If entity type is not declared via generics, infer it from lifecycle method parameters if (declaredEntityClass == null) { declaredEntityClass = inferEntityTypeFromLifecycleMethods(this.repository); } - logger.fine("Processing entity class " + (declaredEntityClass != null ? declaredEntityClass.getName() : "null")); + logger.finer("Processing entity class " + (declaredEntityClass != null ? declaredEntityClass.getName() : "null")); try (EntityManager entityManager = getEntityManagerSupplier(this.jakartaDataExtension.getApplicationName(), this.dataStore).get()) { for (Method method : this.repository.getMethods()) { - logger.fine("Processing query for " + (declaredEntityClass != null ? declaredEntityClass.getName() : "null") + "." + method.getName()); + logger.finer("Processing query for " + (declaredEntityClass != null ? declaredEntityClass.getName() : "null") + "." + method.getName()); //skip if method is default if (method.isDefault()) { continue; diff --git a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java index 24778d1b423..dd0c3094b7b 100644 --- a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java +++ b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) [2025] Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2025-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -161,7 +161,7 @@ public static void validateMethodArguments(Method method, Object[] args) { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { //In this method we can add implementation to execute dynamic queries - logger.info("executing method:" + method.getName()); + logger.fine("executing method:" + method.getName()); if (method.isDefault()) { return InvocationHandler.invokeDefault(proxy, method, args); } diff --git a/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DeleteOperationUtility.java b/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DeleteOperationUtility.java index a618e21d4de..a170f11e8e5 100644 --- a/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DeleteOperationUtility.java +++ b/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DeleteOperationUtility.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) [2025-2026] Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2025-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -116,7 +116,7 @@ public static int processDeleteByOperation(Object[] args, Class declaredEntit // Clear cache for the affected entity after DELETE clearCache(em, declaredEntityClass); - logger.info("Rows affected from delete operation: " + rowsAffected); + logger.fine("Rows affected from delete operation: " + rowsAffected); return rowsAffected; } From f6e64393f86efba39de9197e214f9420965fccc3 Mon Sep 17 00:00:00 2001 From: Kalin Chan Date: Thu, 16 Apr 2026 10:46:33 +0100 Subject: [PATCH 021/133] FISH-12430 Fix isEjbLite method --- .../main/java/com/sun/ejb/containers/EjbContainerUtilImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/EjbContainerUtilImpl.java b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/EjbContainerUtilImpl.java index 3cee9244dc5..bb07be61eb2 100644 --- a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/EjbContainerUtilImpl.java +++ b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/EjbContainerUtilImpl.java @@ -456,7 +456,7 @@ public EjbDescriptor ejbIdToDescriptor(long ejbId) { @Override public boolean isEJBLite() { - return (!env.isMicro()); + return env.isMicro(); } @Override From 249ba1237a5af16636e063228552eeb9dd06e329 Mon Sep 17 00:00:00 2001 From: luiseufrasio Date: Thu, 16 Apr 2026 10:34:25 -0300 Subject: [PATCH 022/133] FISH-13096 : to create the draft PR --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index dcdefb16719..9c79d8cfebf 100644 --- a/pom.xml +++ b/pom.xml @@ -249,7 +249,7 @@ 3.0.4 5.0.0-B11.payara-p1 9.9.0 - 6.8.0.payara-p1 + 6.8.0.payara-p2-SNAPSHOT 2.1.1 2.1.1 4.0.4.payara-p1 From bf15c3cd259e96ca9135f1b2f4b1de91d637f271 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:28:02 +0000 Subject: [PATCH 023/133] Bump io.projectreactor:reactor-core from 3.8.4 to 3.8.5 Bumps [io.projectreactor:reactor-core](https://github.com/reactor/reactor-core) from 3.8.4 to 3.8.5. - [Release notes](https://github.com/reactor/reactor-core/releases) - [Commits](https://github.com/reactor/reactor-core/compare/v3.8.4...v3.8.5) --- updated-dependencies: - dependency-name: io.projectreactor:reactor-core dependency-version: 3.8.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- appserver/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/pom.xml b/appserver/pom.xml index 90912d3e728..0f3d0180862 100644 --- a/appserver/pom.xml +++ b/appserver/pom.xml @@ -84,7 +84,7 @@ 10.9 2.6.0 2.6.0 - 3.8.4 + 3.8.5 1.0.4 1.0-1 From 64f8d7347315363d276d01a6a691fa08a39ee999 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:30:14 +0000 Subject: [PATCH 024/133] Bump smallrye-config.version from 3.16.0 to 3.17.0 Bumps `smallrye-config.version` from 3.16.0 to 3.17.0. Updates `io.smallrye.config:smallrye-config` from 3.16.0 to 3.17.0 - [Release notes](https://github.com/smallrye/smallrye-config/releases) - [Commits](https://github.com/smallrye/smallrye-config/compare/3.16.0...3.17.0) Updates `io.smallrye.config:smallrye-config-core` from 3.16.0 to 3.17.0 Updates `io.smallrye.config:smallrye-config-common` from 3.16.0 to 3.17.0 - [Release notes](https://github.com/smallrye/smallrye-config/releases) - [Commits](https://github.com/smallrye/smallrye-config/compare/3.16.0...3.17.0) --- updated-dependencies: - dependency-name: io.smallrye.config:smallrye-config dependency-version: 3.17.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.smallrye.config:smallrye-config-core dependency-version: 3.17.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.smallrye.config:smallrye-config-common dependency-version: 3.17.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- appserver/tests/payara-samples/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/payara-samples/pom.xml b/appserver/tests/payara-samples/pom.xml index 7c2c7436ede..6fc1d464a00 100644 --- a/appserver/tests/payara-samples/pom.xml +++ b/appserver/tests/payara-samples/pom.xml @@ -70,7 +70,7 @@ 1.1 - 3.16.0 + 3.17.0 2.17.1 0.3 1.2.6 From d8b6bf3c00df8ad8b7602d9fb06a19f2baf91dce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:32:27 +0000 Subject: [PATCH 025/133] Bump jsftemplating.version from 4.1.0 to 4.2.0 Bumps `jsftemplating.version` from 4.1.0 to 4.2.0. Updates `org.glassfish.jsftemplating:jsftemplating` from 4.1.0 to 4.2.0 - [Release notes](https://github.com/eclipse-ee4j/glassfish-jsftemplating/releases) - [Changelog](https://github.com/eclipse-ee4j/glassfish-jsftemplating/blob/master/CHANGELOG.md) - [Commits](https://github.com/eclipse-ee4j/glassfish-jsftemplating/compare/4.1.0...4.2.0) Updates `org.glassfish.jsftemplating:jsftemplating-dt` from 4.1.0 to 4.2.0 - [Release notes](https://github.com/eclipse-ee4j/glassfish-jsftemplating/releases) - [Changelog](https://github.com/eclipse-ee4j/glassfish-jsftemplating/blob/master/CHANGELOG.md) - [Commits](https://github.com/eclipse-ee4j/glassfish-jsftemplating/compare/4.1.0...4.2.0) --- updated-dependencies: - dependency-name: org.glassfish.jsftemplating:jsftemplating dependency-version: 4.2.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.glassfish.jsftemplating:jsftemplating-dt dependency-version: 4.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- appserver/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/pom.xml b/appserver/pom.xml index 90912d3e728..a3c92912860 100644 --- a/appserver/pom.xml +++ b/appserver/pom.xml @@ -59,7 +59,7 @@ Payara Appserver Parent Project - 4.1.0 + 4.2.0 1.3.1.Final 6.12.0 5.18.1 From 6fe9aa5a66df911953b78ee0735d39ffd1d6882d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:32:53 +0000 Subject: [PATCH 026/133] Bump org.apache.felix:org.apache.felix.scr from 2.2.14 to 2.2.18 Bumps org.apache.felix:org.apache.felix.scr from 2.2.14 to 2.2.18. --- updated-dependencies: - dependency-name: org.apache.felix:org.apache.felix.scr dependency-version: 2.2.18 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- nucleus/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nucleus/pom.xml b/nucleus/pom.xml index 4d299b0d8db..8ba58e1bdfd 100644 --- a/nucleus/pom.xml +++ b/nucleus/pom.xml @@ -117,7 +117,7 @@ 1.1.2 3.7.4.payara-p1 1.9.26 - 2.2.14 + 2.2.18 2.0.10 From 5d23095fbbf83998d5bf26d716fde403cff1aa4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:34:40 +0000 Subject: [PATCH 027/133] Bump com.microsoft.playwright:playwright from 1.58.0 to 1.59.0 Bumps [com.microsoft.playwright:playwright](https://github.com/microsoft/playwright-java) from 1.58.0 to 1.59.0. - [Release notes](https://github.com/microsoft/playwright-java/releases) - [Commits](https://github.com/microsoft/playwright-java/compare/v1.58.0...v1.59.0) --- updated-dependencies: - dependency-name: com.microsoft.playwright:playwright dependency-version: 1.59.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- appserver/tests/payara-samples/samples/cleanboot/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/payara-samples/samples/cleanboot/pom.xml b/appserver/tests/payara-samples/samples/cleanboot/pom.xml index 56af79c4454..b3aae5ed66e 100644 --- a/appserver/tests/payara-samples/samples/cleanboot/pom.xml +++ b/appserver/tests/payara-samples/samples/cleanboot/pom.xml @@ -40,7 +40,7 @@ - 1.58.0 + 1.59.0 From 8a55d1bff0b308b9d635d11838663a1941e77a1c Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Fri, 17 Apr 2026 09:49:55 +0100 Subject: [PATCH 028/133] FISH-13046 Remove yubico property Signed-off-by: Andrew Pielage --- appserver/pom.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/appserver/pom.xml b/appserver/pom.xml index 90912d3e728..4a75ce7a209 100644 --- a/appserver/pom.xml +++ b/appserver/pom.xml @@ -88,8 +88,6 @@ 1.0.4 1.0-1 - - 3.0.2.payara-p1 1.4.13 From d40c7336333c222fc3b6b17c417bfd6bda7a4b5c Mon Sep 17 00:00:00 2001 From: adrian Date: Fri, 17 Apr 2026 15:19:41 +0300 Subject: [PATCH 029/133] FISH-13275: added deployment group tests to Jenkinsfile --- Jenkinsfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 50e37c1d696..52331b66401 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -401,6 +401,12 @@ pipeline { setupDomain() sh """python3 appserver/tests/functional/asadmin/run_all_tests.py \ --asadmin ${pwd()}/payara7/bin/asadmin""" + + echo '*#*#*#*#*#*#*#*#*#*#*#*# Running deployment groups tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' + sh """pip install -r appserver/tests/functional/deployment-groups/requirements.txt""" + sh """export PAYARA_HOME=${pwd()}/payara7 && pytest appserver/tests/functional/deployment-groups/test_deployment_group.py -v -s""" + echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran deployment groups tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' + echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran test *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } post { From 5ffee4604554cde17443129fcf5888938da21849 Mon Sep 17 00:00:00 2001 From: Kalin Chan Date: Fri, 17 Apr 2026 13:59:56 +0100 Subject: [PATCH 030/133] FISH-12430 Remove deploy and undeploy related CMP parameters and documentation --- .../main/help/en/help/reference/deploy.html | 79 +------------ .../main/help/en/help/reference/redeploy.html | 35 +----- .../main/help/en/help/reference/undeploy.html | 26 +--- .../ant/embedded/tasks/DeployTask.java | 12 -- .../org/glassfish/ant/tasks/DeployTask.java | 12 -- .../org/glassfish/ant/tasks/UndeployTask.java | 4 - .../internal/api/ConnectorRuntime.java | 8 +- .../connectors/ConnectorRuntime.java | 2 +- .../common/Java2DBProcessorHelper.java | 111 +----------------- .../EclipseLinkSchemaGenerationProcessor.java | 6 +- .../deployment/DeployCommandParameters.java | 15 --- .../deployment/UndeployCommandParameters.java | 3 - .../admin/LocalStrings_de.properties | 6 - .../admin/LocalStrings_es.properties | 6 - .../admin/LocalStrings_fr.properties | 6 - .../admin/LocalStrings_it.properties | 6 - .../admin/LocalStrings_ja.properties | 6 - .../admin/LocalStrings_ko.properties | 6 - .../admin/LocalStrings_pt_BR.properties | 6 - .../admin/LocalStrings_zh_CN.properties | 6 - .../admin/LocalStrings_zh_TW.properties | 6 - .../deployment/admin/DeployCommand.java | 3 - .../deployment/admin/LocalStrings.properties | 6 - .../org/glassfish/deployment/admin/deploy.1 | 68 +---------- .../org/glassfish/deployment/admin/redeploy.1 | 32 +---- .../org/glassfish/deployment/admin/undeploy.1 | 20 +--- .../common/DeploymentProperties.java | 1 - 27 files changed, 27 insertions(+), 470 deletions(-) diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/deploy.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/deploy.html index b9a5e251a08..392bd6a231e 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/deploy.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/deploy.html @@ -88,8 +88,6 @@

    deploy

    [--upload={true|false}] [--retrieve local_dirpath] [--dbvendorname dbvendorname] -[--createtables={true|false}|--dropandcreatetables={true|false}] -[--uniquetablenames={true|false}] [--deploymentplan deployment_plan] [--altdd alternate_deploymentdescriptor] [--runtimealtdd runtime_alternate_deploymentdescriptor] @@ -119,19 +117,6 @@

    deploy

    false).

    -

    The --createtables and --dropandcreatetables options are boolean -flags and therefore can take the values of true or false. These options -are only used during deployment of CMP beans that have not been mapped -to a database (that is, no sun-cmp-mappings.xml descriptor is provided -in the module’s META-INF directory). They are ignored otherwise.

    -
    -
    -

    The --createtables and --dropandcreatetables options are mutually -exclusive; only one should be used. If drop and/or create tables fails, -the deployment does not fail; a warning message is provided in the log -file.

    -
    -

    This subcommand is supported in remote mode only.

    @@ -239,42 +224,9 @@

    deploy

    derby, javadb, postgresql, and sybase. These values are case-insensitive. If not specified, the value of the database-vendor-name attribute in glassfish-ejb-jar.xml is used. -If no value is specified, a connection is made to the resource -specified by the jndi-name subelement of the cmp-resource element -in the glassfish-ejb-jar.xml file, and the database vendor name is -read. If the connection cannot be established, or if the value is not +If the connection cannot be established, or if the value is not recognized, SQL-92 compliance is presumed.

    -
    --createtables
    -
    -

    If specified as true, creates tables at deployment of an application -with unmapped CMP beans. If specified as false, tables are not -created. If not specified, the value of the create-tables-at-deploy -entry in the cmp-resource element of the glassfish-ejb-jar.xml -file determines whether or not tables are created. No unique -constraints are created for the tables.

    -
    -
    --dropandcreatetables
    -
    -

    If specified as true when the component is redeployed, the tables -created by the previous deployment are dropped before creating the new -tables. Applies to deployed applications with unmapped CMP beans. -Preexisting tables will not be dropped on the initial deployment of an -application or on a deployment that follows an explicit undeploy. If -specified as false, tables are neither dropped nor created. If not -specified, the tables are dropped if the drop-tables-at-undeploy -entry in the cmp-resource element of the glassfish-ejb-jar.xml -file is set to true, and the new tables are created if the -create-tables-at-deploy entry in the cmp-resource element of the -glassfish-ejb-jar.xml file is set to true.

    -
    -
    --uniquetablenames
    -
    -

    Guarantees unique table names for all the beans and results in a hash -code added to the table names. This is useful if you have an -application with case-sensitive bean names. Applies to applications -with unmapped CMP beans.

    -
    --deploymentplan

    Deploys the deployment plan, which is a JAR file that contains @@ -659,29 +611,10 @@

    deploy

    -

    Example 4   Deploying an Enterprise Bean

    -
    -
    -

    This example deploys a component based on the EJB specification -(enterprise bean) with CMP and creates the database tables used by the -bean.

    -
    -
    -

    This example uses the --target option. The target in this example is -an existing cluster, cluster1.

    -
    -
    -
    -
    asadmin> deploy --createtables=true --target cluster1 EmployeeEJB.jar
    -Application deployed successfully with name EmployeeEJB.
    -Command deploy executed successfully
    -
    -
    -

    -

    Example 5   Deploying a Connector Module

    +

    Example 4 Deploying a Connector Module

    This example deploys a connector module that is packaged in a RAR file.

    @@ -702,7 +635,7 @@

    deploy

    -

    Example 6   Specifying the Deployment Order for an Application

    +

    Example 5 Specifying the Deployment Order for an Application

    This example specifies the deployment order for two applications. The @@ -724,7 +657,7 @@

    deploy

    -

    Example 7   Deploying an Application Using an Alternate Java EE 8 +

    Example 6 Deploying an Application Using an Alternate Java EE 8 Deployment Descriptor File

    @@ -742,7 +675,7 @@

    deploy

    -

    Example 8   Deploying an Application Using an Alternate +

    Example 7 Deploying an Application Using an Alternate \{product---name} Deployment Descriptor File

    @@ -761,7 +694,7 @@

    deploy

    -

    Example 9   Wrapping a WAR File as a WAB

    +

    Example 8 Wrapping a WAR File as a WAB

    This example wraps a plain WAR file as a WAB when an OSGi bundle is diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/redeploy.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/redeploy.html index 78a9c331702..6b73dd54547 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/redeploy.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/redeploy.html @@ -90,8 +90,6 @@

    redeploy

    [--upload={true|false}] [--retrieve local_dirpath] [--dbvendorname dbvendorname] -[--createtables={true|false}|--dropandcreatetables={true|false}] -[--uniquetablenames={true|false}] [--deploymentplan deployment_plan] [--altdd alternate_deploymentdescriptor] [--runtimealtdd runtime_alternate_deploymentdescriptor] @@ -226,41 +224,10 @@

    redeploy

    created. Supported values include db2, mssql, oracle, derby, javadb, postgresql, and sybase, case-insensitive. If not specified, the value of the database-vendor-name attribute in -glassfish-ejb-jar.xml is used. If no value is specified, a -connection is made to the resource specified by the jndi-name -subelement of the cmp-resource element in the -glassfish-ejb-jar.xml file, and the database vendor name is read. If +glassfish-ejb-jar.xml is used. If the connection cannot be established, or if the value is not recognized, SQL-92 compliance is presumed.

    -
    --createtables
    -
    -

    If specified as true, creates tables at deployment of an application -with unmapped CMP beans. If specified as false, tables are not -created. If not specified, the value of the create-tables-at-deploy -entry in the cmp-resource element of the glassfish-ejb-jar.xml -file determines whether or not tables are created. No unique -constraints are created for the tables.

    -
    -
    --dropandcreatetables
    -
    -

    If specified as true when the component is redeployed, the tables -created by the previous deployment are dropped before creating the new -tables. Applies to deployed applications with unmapped CMP beans. If -specified as false, tables are neither dropped nor created. If not -specified, the tables are dropped if the drop-tables-at-undeploy -entry in the cmp-resource element of the glassfish-ejb-jar.xml -file is set to true, and the new tables are created if the -create-tables-at-deploy entry in the cmp-resource element of the -glassfish-ejb-jar.xml file is set to true.

    -
    -
    --uniquetablenames
    -
    -

    Guarantees unique table names for all the beans and results in a hash -code added to the table names. This is useful if you have an -application with case-sensitive bean names. Applies to applications -with unmapped CMP beans.

    -
    --deploymentplan

    Deploys the deployment plan, which is a JAR file that contains diff --git a/appserver/admingui/reference-manual/src/main/help/en/help/reference/undeploy.html b/appserver/admingui/reference-manual/src/main/help/en/help/reference/undeploy.html index 042c8df1942..aad24f60ad2 100644 --- a/appserver/admingui/reference-manual/src/main/help/en/help/reference/undeploy.html +++ b/appserver/admingui/reference-manual/src/main/help/en/help/reference/undeploy.html @@ -86,7 +86,7 @@

    undeploy

    asadmin [asadmin-options] undeploy [--help]
    -[--target target] [--droptables={true|false}]
    +[--target target]
     [--cascade={false|true}] name
    @@ -127,14 +127,6 @@

    undeploy

    adapter is undeployed. This option is applicable to connectors (resource adapters) and applications. Default value is false.

    -
    --droptables
    -
    -

    If set to true, drops the tables that the application created by using -CMP beans during deployment. If set to false, tables are not dropped. -If not specified, the value of the drop-tables-at-deploy entry in -the cmp-resource element of the glassfish-ejb-jar.xml file -determines whether or not tables are dropped. Default value is true.

    -
    --target

    Specifies the target from which you are undeploying. Valid values are:

    @@ -205,24 +197,10 @@

    undeploy

    -

    Example 2   Undeploying an Enterprise Bean With Container-Managed -Persistence (CMP)

    -
    -
    -

    This example undeploys a CMP bean named myejb and drops the -corresponding database tables.

    -
    -
    -
    -
    asadmin> undeploy --droptables=true myejb
    -Command undeploy executed successfully.
    -
    -
    -

    -

    Example 3   Undeploying a Connector (Resource Adapter)

    +

    Example 2 Undeploying a Connector (Resource Adapter)

    This example undeploys the connector module named jdbcra and performs diff --git a/appserver/ant-tasks/src/main/java/org/glassfish/ant/embedded/tasks/DeployTask.java b/appserver/ant-tasks/src/main/java/org/glassfish/ant/embedded/tasks/DeployTask.java index 372ecaf8c1f..fdf115b5db5 100644 --- a/appserver/ant-tasks/src/main/java/org/glassfish/ant/embedded/tasks/DeployTask.java +++ b/appserver/ant-tasks/src/main/java/org/glassfish/ant/embedded/tasks/DeployTask.java @@ -81,18 +81,6 @@ public void setVerify(boolean verify) { deployParams.add("--verify=" + verify); } - public void setCreatetables(boolean createtables) { - deployParams.add("--createtables=" + createtables); - } - - public void setDropandcreatetables(boolean dropandcreatetables) { - deployParams.add("--dropandcreatetables=" + dropandcreatetables); - } - - public void setUniquetablenames(boolean uniquetablenames) { - deployParams.add("--uniquetablenames=" + uniquetablenames); - } - public void setEnabled(boolean enabled) { deployParams.add("--enabled=" + enabled); } diff --git a/appserver/ant-tasks/src/main/java/org/glassfish/ant/tasks/DeployTask.java b/appserver/ant-tasks/src/main/java/org/glassfish/ant/tasks/DeployTask.java index 62c04478757..9189ccc2655 100644 --- a/appserver/ant-tasks/src/main/java/org/glassfish/ant/tasks/DeployTask.java +++ b/appserver/ant-tasks/src/main/java/org/glassfish/ant/tasks/DeployTask.java @@ -81,18 +81,6 @@ public void setVerify(boolean verify) { addCommandParameter("verify", Boolean.toString(verify)); } - public void setCreatetables(boolean createtables) { - addCommandParameter("createtables", Boolean.toString(createtables)); - } - - public void setDropandcreatetables(boolean dropandcreatetables) { - addCommandParameter("dropandcreatetables", Boolean.toString(dropandcreatetables)); - } - - public void setUniquetablenames(boolean uniquetablenames) { - addCommandParameter("uniquetablenames", Boolean.toString(uniquetablenames)); - } - public void setEnabled(boolean enabled) { addCommandParameter("enabled", Boolean.toString(enabled)); } diff --git a/appserver/ant-tasks/src/main/java/org/glassfish/ant/tasks/UndeployTask.java b/appserver/ant-tasks/src/main/java/org/glassfish/ant/tasks/UndeployTask.java index ca507bbc32a..eafaef654a6 100644 --- a/appserver/ant-tasks/src/main/java/org/glassfish/ant/tasks/UndeployTask.java +++ b/appserver/ant-tasks/src/main/java/org/glassfish/ant/tasks/UndeployTask.java @@ -63,10 +63,6 @@ public void setForce(boolean force) { addCommandParameter("force", Boolean.toString(force)); } - public void setDroptables(boolean droptables) { - addCommandParameter("droptables", Boolean.toString(droptables)); - } - public void setCascade(boolean cascade) { addCommandParameter("cascade", Boolean.toString(cascade)); } diff --git a/appserver/connectors/connectors-internal-api/src/main/java/com/sun/appserv/connectors/internal/api/ConnectorRuntime.java b/appserver/connectors/connectors-internal-api/src/main/java/com/sun/appserv/connectors/internal/api/ConnectorRuntime.java index 870b2c484a1..1626116670e 100644 --- a/appserver/connectors/connectors-internal-api/src/main/java/com/sun/appserv/connectors/internal/api/ConnectorRuntime.java +++ b/appserver/connectors/connectors-internal-api/src/main/java/com/sun/appserv/connectors/internal/api/ConnectorRuntime.java @@ -137,7 +137,7 @@ public ClassLoader createConnectorClassLoader(String moduleDirectory, ClassLoade *

    * If not found and force is true, this api will try to get a wrapper datasource specified * by the jdbcjndi name. The motivation for having this - * API is to provide the CMP backend/ JPA-Java2DB a means of acquiring a connection during + * API is to provide the JPA-Java2DB a means of acquiring a connection during * the codegen phase. If a user is trying to deploy an JPA-Java2DB app on a remote server, * without this API, a resource reference has to be present both in the DAS * and the server instance. This makes the deployment more complex for the @@ -156,7 +156,7 @@ public ClassLoader createConnectorClassLoader(String moduleDirectory, ClassLoade *

    * If not found and force is true, this api will try to get a wrapper datasource specified * by the jdbcjndi name. The motivation for having this - * API is to provide the CMP backend/ JPA-Java2DB a means of acquiring a connection during + * API is to provide the JPA-Java2DB a means of acquiring a connection during * the codegen phase. If a user is trying to deploy an JPA-Java2DB app on a remote server, * without this API, a resource reference has to be present both in the DAS * and the server instance. This makes the deployment more complex for the @@ -177,7 +177,7 @@ public ClassLoader createConnectorClassLoader(String moduleDirectory, ClassLoade *

    * If not found and force is true, this api will try to get a wrapper datasource specified * by the jdbcjndi name. The motivation for having this - * API is to provide the CMP backend/ JPA-Java2DB a means of acquiring a connection during + * API is to provide the JPA-Java2DB a means of acquiring a connection during * the codegen phase. If a user is trying to deploy an JPA-Java2DB app on a remote server, * without this API, a resource reference has to be present both in the DAS * and the server instance. This makes the deployment more complex for the @@ -196,7 +196,7 @@ public ClassLoader createConnectorClassLoader(String moduleDirectory, ClassLoade *

    * If not found and force is true, this api will try to get a wrapper datasource specified * by the jdbcjndi name. The motivation for having this - * API is to provide the CMP backend/ JPA-Java2DB a means of acquiring a connection during + * API is to provide the JPA-Java2DB a means of acquiring a connection during * the codegen phase. If a user is trying to deploy an JPA-Java2DB app on a remote server, * without this API, a resource reference has to be present both in the DAS * and the server instance. This makes the deployment more complex for the diff --git a/appserver/connectors/connectors-runtime/src/main/java/com/sun/enterprise/connectors/ConnectorRuntime.java b/appserver/connectors/connectors-runtime/src/main/java/com/sun/enterprise/connectors/ConnectorRuntime.java index 9dc47b34d32..15993665a4b 100755 --- a/appserver/connectors/connectors-runtime/src/main/java/com/sun/enterprise/connectors/ConnectorRuntime.java +++ b/appserver/connectors/connectors-runtime/src/main/java/com/sun/enterprise/connectors/ConnectorRuntime.java @@ -576,7 +576,7 @@ private boolean isDAS(){ /** * Get a wrapper datasource specified by the jdbcjndi name * This API is intended to be used in the DAS. The motivation for having this - * API is to provide the CMP backend/ JPA-Java2DB a means of acquiring a connection during + * API is to provide the JPA-Java2DB a means of acquiring a connection during * the codegen phase. If a user is trying to deploy an JPA-Java2DB app on a remote server, * without this API, a resource reference has to be present both in the DAS * and the server instance. This makes the deployment more complex for the diff --git a/appserver/persistence/common/src/main/java/org/glassfish/persistence/common/Java2DBProcessorHelper.java b/appserver/persistence/common/src/main/java/org/glassfish/persistence/common/Java2DBProcessorHelper.java index fe1c16728b7..c4dfd3b5eb1 100644 --- a/appserver/persistence/common/src/main/java/org/glassfish/persistence/common/Java2DBProcessorHelper.java +++ b/appserver/persistence/common/src/main/java/org/glassfish/persistence/common/Java2DBProcessorHelper.java @@ -117,10 +117,6 @@ public class Java2DBProcessorHelper { */ private boolean deploy; - - private Boolean cliCreateTables; - private Boolean cliDropAndCreateTables; - private Boolean cliDropTables; /** * Name with which the application is registered. */ @@ -161,32 +157,11 @@ public Java2DBProcessorHelper(DeploymentContext ctx) { */ public void init() { if (deploy) { - // DeployCommandParameters are available only on deploy or deploy - // part of redeploy - DeployCommandParameters cliOverrides = - ctx.getCommandParameters(DeployCommandParameters.class); - if (logger.isLoggable(Level.FINE)) { - logger.fine("---> cliOverrides " + cliOverrides); - } - - cliCreateTables = cliOverrides.createtables; - cliDropAndCreateTables = cliOverrides.dropandcreatetables; - Application application = ctx.getModuleMetaData(Application.class); appRegisteredName = application.getRegistrationName(); deploymentContextProps.setProperty(APPLICATION_NAME, appRegisteredName); } else { - // UndeployCommandParameters are available only on undeploy or undeploy - // part of redeploy. In the latter case, cliOverrides.droptables - // is set from cliOverrides.dropandcreatetables passed to redeploy. - UndeployCommandParameters cliOverrides = - ctx.getCommandParameters(UndeployCommandParameters.class); - if (logger.isLoggable(Level.FINE)) { - logger.fine("---> cliOverrides " + cliOverrides); - } - - cliDropTables = cliOverrides.droptables; appRegisteredName = deploymentContextProps.getProperty(APPLICATION_NAME); } @@ -419,65 +394,11 @@ public void setGeneratedLocation(String generatedLocation, String bundleName) { } } - /** - * @return true if cli overrides were set during deploy - */ - public boolean hasDeployCliOverrides() { - return (cliCreateTables != null || cliDropAndCreateTables != null); - } - - /** - * @return true if cli overrides were set during undeploy - */ - public boolean hasUndeployCliOverrides() { - return (cliDropTables != null); - } - - /** - * Create tables only on deploy, and only if the CLI options cliCreateTables or - * cliDropAndCreateTables are not set to false. - * If those options are not set (null) the value is taken from the boolean parameter - * provided by the caller. - * @return true if tables are to be created. - */ - public boolean getCreateTables(boolean param) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("---> param " + param); - logger.fine("---> cliCreateTables " + cliCreateTables); - logger.fine("---> cliDropAndCreateTables " + cliDropAndCreateTables); - } - - return - (cliCreateTables != null && cliCreateTables.equals(Boolean.TRUE)) - || (cliDropAndCreateTables != null && cliDropAndCreateTables.equals(Boolean.TRUE)) - || (cliCreateTables == null && cliDropAndCreateTables == null && param); - - } - - /** - * Drop tables on undeploy and redeploy, if the corresponding CLI options - * cliDropAndCreateTables (for redeploy) or cliDropTables (for undeploy) are - * not set to false. - * If the corresponding option is not set the value is taken from the boolean parameter - * provided by the caller. - * @return true if the tables have to be dropped. - */ - public boolean getDropTables(boolean param) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("---> param " + param); - logger.fine("---> cliDropTables " + cliDropTables); - } - return - (cliDropTables != null && cliDropTables.equals(Boolean.TRUE)) - || (cliDropTables == null && param); - - } - /** * Calculate createTables value based on the parameter stored on deploy */ public boolean getCreateTables(String bundleName) { - return getCreateTables(Boolean.valueOf(deploymentContextProps.getProperty(CREATE_TABLE_VALUE + bundleName))); + return Boolean.parseBoolean(deploymentContextProps.getProperty(CREATE_TABLE_VALUE + bundleName)); } /** @@ -494,7 +415,7 @@ public void setCreateTablesValue(boolean createTablesValue, String bundleName) { * Calculate dropTables value based on the parameter stored on deploy */ public boolean getDropTables(String bundleName) { - return getDropTables(Boolean.valueOf(deploymentContextProps.getProperty(DROP_TABLE_VALUE + bundleName))); + return Boolean.parseBoolean(deploymentContextProps.getProperty(DROP_TABLE_VALUE + bundleName)); } /** @@ -577,34 +498,6 @@ public boolean executeDDLStatement(File fileName, String resourceName) { return result; } - /** - * Get the DDL file and execute the statements. - * @param fileNamePrefix the common prefix for the DDL file name - * @param resourceName the jdbc resource name that would be used - * to get a connection to the database. - * @return true if the statements were successfully in the database. - */ - public boolean executeDDLStatement(String fileNamePrefix, String resourceName) { - File file = null; - Connection conn = null; - try { - conn = getConnection(resourceName); - DatabaseMetaData dbMetaData = conn.getMetaData(); - String vendorName = DBVendorTypeHelper.getDBType( - dbMetaData.getDatabaseProductName()).toLowerCase(Locale.ENGLISH); - file = new File(fileNamePrefix + vendorName + DatabaseConstants.SQL_FILE_EXTENSION); - logger.fine("===> File to use: " + file); - } catch (IOException e) { - fileIOError(appRegisteredName, e); - } catch (Exception ex) { - cannotConnect(resourceName, ex); - } finally { - closeConn(conn); - } - - return executeDDLStatement(file, resourceName); - } - /** Get a Connection from the resource specified by the JNDI name * of a resource. diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/EclipseLinkSchemaGenerationProcessor.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/EclipseLinkSchemaGenerationProcessor.java index 651748f3ffd..4a8adefacec 100644 --- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/EclipseLinkSchemaGenerationProcessor.java +++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/schemageneration/EclipseLinkSchemaGenerationProcessor.java @@ -154,18 +154,16 @@ public void init(PersistenceUnitDescriptor pud, DeploymentContext context) { || ddlGenerate.equals(DROP_AND_CREATE)) && !ddlMode.equals(NONE); - boolean createTables = helper.getCreateTables(userCreateTables); - boolean userDropTables = ddlGenerate.equals(DROP_AND_CREATE) && (ddlMode.equals(DDL_DATABASE_GENERATION) || ddlMode.equals(DDL_BOTH_GENERATION)); if (logger.isLoggable(Level.FINE)) { - logger.fine("Processing request with create tables: " + createTables //NOI18N + logger.fine("Processing request with create tables: " + userCreateTables //NOI18N + ", drop tables: " + userDropTables); //NOI18N } - if (createTables || userDropTables) { + if (userCreateTables || userDropTables) { helper.setProcessorType("JPA", pud.getName()); // NOI18N helper.setDropTablesValue(userDropTables, pud.getName()); helper.setCreateTablesValue(userCreateTables && !ddlMode.equals(DDL_SQL_SCRIPT_GENERATION), diff --git a/nucleus/common/glassfish-api/src/main/java/org/glassfish/api/deployment/DeployCommandParameters.java b/nucleus/common/glassfish-api/src/main/java/org/glassfish/api/deployment/DeployCommandParameters.java index 1ee1e65ec1c..966c1e1b49d 100644 --- a/nucleus/common/glassfish-api/src/main/java/org/glassfish/api/deployment/DeployCommandParameters.java +++ b/nucleus/common/glassfish-api/src/main/java/org/glassfish/api/deployment/DeployCommandParameters.java @@ -134,21 +134,6 @@ public String getDBVendorName() { return dbvendorname; } - /** - * mutually exclusive with dropandcreatetables - */ - @Param(optional=true) - public Boolean createtables; - - /** - * mutually exclusive with createtables - */ - @Param(optional=true) - public Boolean dropandcreatetables; - - @Param(optional=true) - public Boolean uniquetablenames; - @Param(name=ParameterNames.DEPLOYMENT_PLAN, optional=true) public File deploymentplan = null; public File getDeploymentPlan() { diff --git a/nucleus/common/glassfish-api/src/main/java/org/glassfish/api/deployment/UndeployCommandParameters.java b/nucleus/common/glassfish-api/src/main/java/org/glassfish/api/deployment/UndeployCommandParameters.java index b835d972bf9..828c051c83f 100644 --- a/nucleus/common/glassfish-api/src/main/java/org/glassfish/api/deployment/UndeployCommandParameters.java +++ b/nucleus/common/glassfish-api/src/main/java/org/glassfish/api/deployment/UndeployCommandParameters.java @@ -66,9 +66,6 @@ public Boolean isRedeploy() { return isredeploy; } - @Param(optional=true) - public Boolean droptables; - @Param(optional=true, defaultValue="false") public Boolean cascade; diff --git a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_de.properties b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_de.properties index 759f0bb9636..211f66ed4f3 100644 --- a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_de.properties +++ b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_de.properties @@ -41,7 +41,6 @@ Usage# deploy.command=Eine Anwendung auf dem Application Server bereitstellen -deploy.command.usagetext=deploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--force[=]]\n\t[--precompilejsp[=]]\n\t[--verify[=]] [--name ]\n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] file_archive | filepath deploy.command.path=Pfad der bereitzustellenden Datei oder des bereitzustellenden Verzeichnisses deploy.command.name=Name f\u00FCr die Anwendung deploy.command.contextroot=Context Root der Webanwendung. Standardeinstellung: Dateiname ohne Erweiterung. @@ -51,9 +50,6 @@ deploy.command.precompilejsp=Wenn der Wert auf True gesetzt ist, werden die JSPs deploy.command.verify=Wenn der Wert auf "True" gesetzt ist, werden Syntax und Semantik des Deployment-Deskriptors \u00FCberpr\u00FCft. Standardeinstellung: "False". deploy.command.retrieve=Ruft die JAR-Datei des Client-Stubs vom Server im lokalen Verzeichnis ab. deploy.command.dbvendorname=Name des Datenbankherstellers, f\u00FCr den Tabellen erstellt werden. -deploy.command.createtables=Erstellt Tabellen beim Deployment einer Anwendung mit nicht zugeordneten CMP-Beans. -deploy.command.dropandcreatetables=Wenn der Wert auf "True" gesetzt ist, werden im Fall eines erneuten Deployments die bei dem vorherigen Deployment erstellten Tabellen verworfen, bevor neue Tabellen erstellt werden. -deploy.command.uniquetablenames=Garantiert eindeutige Tabellennamen f\u00FCr alle Beans und f\u00FChrt zu einem Hashcode, der den Tabellennamen hinzugef\u00FCgt wird. deploy.command.deploymentplan=\u00DCbernimmt den Deployment-Plan, bei dem es sich um eine JAR-Datei mit Sun-spezifischen Deskriptoren handelt, und stellt ihn bereit. deploy.command.enabled=Wenn der Wert auf "True" gesetzt ist, k\u00F6nnen Benutzer auf die Anwendung zugreifen. Standardeinstellung: "True". deploy.command.generatermistubs=Wenn der Wert auf "True" gesetzt ist, werden statische RMI-IIOP-Stubs erstellt und in client.jar abgelegt. Standardeinstellung: "False". @@ -87,7 +83,6 @@ compat.value.not.supported=Warnung: {0} ist kein unterst\u00FCtzter Wert f\u00FC application_withsamename_exists=Es ist bereits eine Anwendung mit demselben Namen {0} vorhanden. W\u00E4hlen Sie einen anderen Namen f\u00FCr das Lebenszyklusmodul. # undeploy.command=Deployment einer zuvor bereitgestellten Anwendung auf dem Application Server aufheben -undeploy.command.usagetext=undeploy\n\t[--target[=]]\n\t[--droptables[=]]\n\t[--cascade[=]]\n\t[-?|--help[=]] name undeploy.command.name=Name der bereitgestellten Anwendung undeploy.command.target=Legen Sie das Ziel f\u00FCr die Aufhebung des Deployments der Anwendung fest. undeploy.command.success=Deployment von {0} erfolgreich aufgehoben @@ -102,7 +97,6 @@ redeploy.command.path=Pfad der bereitzustellenden Datei oder des bereitzustellen redeploy.command.invalid.path=Pfad der Anwendung kann nicht ermittelt werden. redeploy.command.cannot.redeploy=Erneutes Deployment der Anwendung {0} nicht m\u00F6glich ohne Angabe des Pfadoperanden. redeploy.command.success=Erneutes Deployment von {0} erfolgreich -redeploy.command.usagetext=redeploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--precompilejsp[=]]\n\t[--verify[=]] --name \n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] [file_archive | filepath] # enable.command=Aktiviert die Anwendung diff --git a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_es.properties b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_es.properties index 38339252497..2220e2b7c20 100644 --- a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_es.properties +++ b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_es.properties @@ -41,7 +41,6 @@ Usage# deploy.command=Desplegar una aplicaci\u00F3n en el servidor de aplicaciones -deploy.command.usagetext=deploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--force[=]]\n\t[--precompilejsp[=]]\n\t[--verify[=]] [--name ]\n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] file_archive | filepath deploy.command.path=Ruta de acceso al archivo o directorio que se va a desplegar deploy.command.name=Nombre de la aplicaci\u00F3n deploy.command.contextroot=Valor context-root de la aplicaci\u00F3n web. El valor por defecto es el nombre de archivo sin extensi\u00F3n. @@ -51,9 +50,6 @@ deploy.command.precompilejsp=Si es true, las JSP se compilan durante el tiempo d deploy.command.verify=Si es true, se verifica la sintaxis y la sem\u00E1ntica del descriptor de despliegue. El valor por defecto es false. deploy.command.retrieve=Recupera el archivo JAR de stub de cliente de la m\u00E1quina del servidor en el directorio local. deploy.command.dbvendorname=Nombre del proveedor de la base de datos para el que se crean las tablas. -deploy.command.createtables=Crea tablas durante el despliegue de una aplicaci\u00F3n con beans de CMP sin asignar. -deploy.command.dropandcreatetables=Si es true, al volver a desplegar la aplicaci\u00F3n, primero se borrar\u00E1n las tablas creadas por el despliegue anterior para poder crear las tablas nuevas. -deploy.command.uniquetablenames=Garantiza la asignaci\u00F3n de nombres de tabla \u00FAnicos para todos los beans y se agrega un m\u00E9todo hashcode a los nombres de las tablas. deploy.command.deploymentplan=Selecciona el plan de despliegue, un JAR que contiene descriptores espec\u00EDficos de Sun y lo despliega. deploy.command.enabled=Si es true, permite a los usuarios acceder a la aplicaci\u00F3n. El valor por defecto es true. deploy.command.generatermistubs=Si es true, se generan stubs RMI-IIOP est\u00E1ticos y se agregan al archivo client.jar. El valor por defecto es false. @@ -87,7 +83,6 @@ compat.value.not.supported=Advertencia: {0} no es un valor soportado para la pro application_withsamename_exists=La aplicaci\u00F3n con el mismo nombre {0} ya existe. Seleccione un nombre diferente para el m\u00F3dulo de ciclo de vida. # undeploy.command=Anula el despliegue de una aplicaci\u00F3n desplegada anteriormente en el servidor de aplicaciones -undeploy.command.usagetext=undeploy\n\t[--target[=]]\n\t[--droptables[=]]\n\t[--cascade[=]]\n\t[-?|--help[=]] name undeploy.command.name=Nombre de la aplicaci\u00F3n desplegada undeploy.command.target=Especifique el destino en el que anular el despliegue de la aplicaci\u00F3n. undeploy.command.success=El despliegue de {0} se ha anulado correctamente @@ -101,7 +96,6 @@ redeploy.command.path=Ruta de acceso al archivo o directorio que se va a despleg redeploy.command.invalid.path=No se puede determinar la ruta de acceso de la aplicaci\u00F3n. redeploy.command.cannot.redeploy=No se puede volver a desplegar la aplicaci\u00F3n {0} sin especificar el operando de la ruta de acceso. redeploy.command.success={0} se ha vuelto a desplegar correctamente -redeploy.command.usagetext=redeploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--precompilejsp[=]]\n\t[--verify[=]] --name \n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] [file_archive | filepath] # enable.command=Activa la aplicaci\u00F3n diff --git a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_fr.properties b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_fr.properties index 1ae893b7241..0db4a73c6f7 100644 --- a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_fr.properties +++ b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_fr.properties @@ -41,7 +41,6 @@ Usage# deploy.command=D\u00E9ployer une application sur le serveur d'applications -deploy.command.usagetext=deploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--force[=]]\n\t[--precompilejsp[=]]\n\t[--verify[=]] [--name ]\n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] file_archive | filepath deploy.command.path=Chemin d'acc\u00E8s au fichier ou au r\u00E9pertoire \u00E0 d\u00E9ployer deploy.command.name=Nom de l'application deploy.command.contextroot=Racine de contexte de l'application Web. La valeur par d\u00E9faut est le nom de fichier sans extension. @@ -51,9 +50,6 @@ deploy.command.precompilejsp=Si la valeur est True, les JSP sont compil\u00E9s l deploy.command.verify=Si la valeur est True, la syntaxe et la s\u00E9mantique du descripteur de d\u00E9ploiement est v\u00E9rifi\u00E9e. La valeur par d\u00E9faut est False. deploy.command.retrieve=Extrait le fichier JAR du stub client de l'ordinateur serveur vers le r\u00E9pertoire local. deploy.command.dbvendorname=Nom du fournisseur de base de donn\u00E9es pour lequel les tables sont cr\u00E9\u00E9es. -deploy.command.createtables=Cr\u00E9e les tables lors du d\u00E9ploiement d'une application avec des beans CMP non mis en correspondance. -deploy.command.dropandcreatetables=Si la valeur est True, lorsque l'application est red\u00E9ploy\u00E9e, les tables cr\u00E9\u00E9es par le d\u00E9ploiement pr\u00E9c\u00E9dent sont supprim\u00E9es avant la cr\u00E9ation de tables. -deploy.command.uniquetablenames=Garantit des noms de table uniques pour tous les beans en leur ajoutant un code de hachage. deploy.command.deploymentplan=Prend le plan de d\u00E9ploiement (fichier JAR contenant les descripteurs propres \u00E0 Sun) et le d\u00E9ploie. deploy.command.enabled=Si la valeur est True, les utilisateurs peuvent acc\u00E9der \u00E0 l'application. La valeur par d\u00E9faut est True. deploy.command.generatermistubs=Si la valeur est True, les stubs RMI-IIOP statiques sont g\u00E9n\u00E9r\u00E9s et ins\u00E9r\u00E9s dans le fichier client.jar. La valeur par d\u00E9faut est False. @@ -87,7 +83,6 @@ compat.value.not.supported=Avertissement : {0} n''est pas une valeur prise en ch application_withsamename_exists=Une application portant le m\u00EAme nom {0} existe d\u00E9j\u00E0, s\u00E9lectionnez un nom diff\u00E9rent pour le module de cycle de vie. # undeploy.command=Annuler le d\u00E9ploiement d'une application d\u00E9ploy\u00E9e pr\u00E9c\u00E9demment \u00E0 partir du serveur d'applications -undeploy.command.usagetext=undeploy\n\t[--target[=]]\n\t[--droptables[=]]\n\t[--cascade[=]]\n\t[-?|--help[=]] name undeploy.command.name=Nom de l'application d\u00E9ploy\u00E9e undeploy.command.target=Sp\u00E9cifiez la cible sur laquelle annuler le d\u00E9ploiement de l'application. undeploy.command.success={0}\u00A0: d\u00E9ploiement annul\u00E9 @@ -102,7 +97,6 @@ redeploy.command.path=Chemin d'acc\u00E8s au fichier ou au r\u00E9pertoire \u00E redeploy.command.invalid.path=Impossible de d\u00E9terminer le chemin de l'application. redeploy.command.cannot.redeploy=Impossible de red\u00E9ployer l''application {0} sans sp\u00E9cifier l''op\u00E9rande du chemin. redeploy.command.success={0} red\u00E9ploy\u00E9 -redeploy.command.usagetext=redeploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--precompilejsp[=]]\n\t[--verify[=]] --name \n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] [file_archive | filepath] # enable.command=Active l'application diff --git a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_it.properties b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_it.properties index 964c7bc3d34..0bc4b4c35a8 100644 --- a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_it.properties +++ b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_it.properties @@ -41,7 +41,6 @@ Usage# deploy.command=Distribuisce un'applicazione all'application server -deploy.command.usagetext=deploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--force[=]]\n\t[--precompilejsp[=]]\n\t[--verify[=]] [--name ]\n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] file_archive | filepath deploy.command.path=Percorso del file o della directory da distribuire deploy.command.name=Nome per l'applicazione deploy.command.contextroot=Radice di contesto dell'applicazione Web. L'impostazione predefinita \u00E8 il nome file senza estensione. @@ -51,9 +50,6 @@ deploy.command.precompilejsp=Se impostato su true, durante la distribuzione vien deploy.command.verify=Se impostato su true, vengono verificate sintassi e semantica del descrittore di distribuzione. Il valore predefinito \u00E8 false. deploy.command.retrieve=Recupera il file JAR dello stub client dal computer server collocandolo nella directory locale. deploy.command.dbvendorname=Nome del fornitore del database per il quale vengono create le tabelle. -deploy.command.createtables=Crea tabelle alla distribuzione di un'applicazione con bean CMP non mappati. -deploy.command.dropandcreatetables=Se impostato su true, quando l'applicazione viene ridistribuita, le tabelle create dalla distribuzione precedente vengono eliminate prima di creare le nuove tabelle. -deploy.command.uniquetablenames=Garantisce nomi di tabella univoci per tutti i bean e d\u00E0 luogo all'aggiunta di un hashcode ai nomi di tabella. deploy.command.deploymentplan=Distribuisce il piano di distribuzione, costituito da un JAR contenente descrittori specifici per Sun. deploy.command.enabled=Se impostato su true, consente agli utenti di accedere all'applicazione. Il valore predefinito \u00E8 true. deploy.command.generatermistubs=Se impostato su true, stub RMI-IIOP statici vengono generati e inseriti in client.jar. Il valore predefinito \u00E8 false. @@ -87,7 +83,6 @@ compat.value.not.supported=Avvertenza: {0} non \u00E8 un valore supportato per l application_withsamename_exists=Un''applicazione con lo stesso nome {0} esiste gi\u00E0. Scegliere un nome diverso per il modulo del ciclo di vita. # undeploy.command=Annullare la distribuzione dall'application server di un'applicazione distribuita in precedenza -undeploy.command.usagetext=undeploy\n\t[--target[=]]\n\t[--droptables[=]]\n\t[--cascade[=]]\n\t[-?|--help[=]] name undeploy.command.name=Nome dell'applicazione distribuita undeploy.command.target=Specificare la destinazione su cui annullare la distribuzione dell'applicazione. undeploy.command.success=Annullamento della distribuzione di {0} riuscito @@ -102,7 +97,6 @@ redeploy.command.path=Percorso del file o della directory da distribuire. redeploy.command.invalid.path=Impossibile determinare il percorso dell'applicazione. redeploy.command.cannot.redeploy=Impossibile ridistribuire l''applicazione {0} senza specificare l''operando del percorso. redeploy.command.success=Ridistribuzione di {0} riuscita -redeploy.command.usagetext=redeploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--precompilejsp[=]]\n\t[--verify[=]] --name \n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] [file_archive | filepath] # enable.command=Abilita l'applicazione diff --git a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_ja.properties b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_ja.properties index 02981080dc0..42ac18f8ff9 100644 --- a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_ja.properties +++ b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_ja.properties @@ -41,7 +41,6 @@ Usage# deploy.command=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30FB\u30B5\u30FC\u30D0\u30FC\u306B\u30C7\u30D7\u30ED\u30A4\u3057\u307E\u3059 -deploy.command.usagetext=deploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--force[=]]\n\t[--precompilejsp[=]]\n\t[--verify[=]] [--name ]\n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] file_archive | filepath deploy.command.path=\u30C7\u30D7\u30ED\u30A4\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30D1\u30B9 deploy.command.name=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u540D\u524D deploy.command.contextroot=Web\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30FB\u30EB\u30FC\u30C8\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F\u3001\u62E1\u5F35\u5B50\u306A\u3057\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u3067\u3059\u3002 @@ -51,9 +50,6 @@ deploy.command.precompilejsp=true\u306E\u5834\u5408\u3001\u30C7\u30D7\u30ED\u30A deploy.command.verify=true\u306E\u5834\u5408\u3001\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u8A18\u8FF0\u5B50\u306E\u69CB\u6587\u3068\u30BB\u30DE\u30F3\u30C6\u30A3\u30AF\u30B9\u304C\u691C\u8A3C\u3055\u308C\u307E\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306Ffalse\u3067\u3059\u3002 deploy.command.retrieve=\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u30FB\u30B9\u30BF\u30D6JAR\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30FC\u30D0\u30FC\u30FB\u30DE\u30B7\u30F3\u304B\u3089\u53D6\u5F97\u3057\u3066\u30ED\u30FC\u30AB\u30EB\u30FB\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u914D\u7F6E\u3057\u307E\u3059\u3002 deploy.command.dbvendorname=\u4F5C\u6210\u3059\u308B\u8868\u306E\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30FB\u30D9\u30F3\u30C0\u30FC\u306E\u540D\u524D\u3002 -deploy.command.createtables=CMP Bean\u304C\u30DE\u30C3\u30D7\u3055\u308C\u3066\u3044\u306A\u3044\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u3059\u308B\u3068\u304D\u306B\u8868\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002 -deploy.command.dropandcreatetables=true\u306E\u5834\u5408\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u518D\u30C7\u30D7\u30ED\u30A4\u6642\u306B\u3001\u4EE5\u524D\u306E\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u6642\u306B\u4F5C\u6210\u3055\u308C\u305F\u8868\u304C\u3001\u65B0\u3057\u3044\u8868\u3092\u4F5C\u6210\u3059\u308B\u524D\u306B\u30C9\u30ED\u30C3\u30D7\u3055\u308C\u307E\u3059\u3002 -deploy.command.uniquetablenames=\u3059\u3079\u3066\u306EBean\u306B\u5BFE\u3057\u3066\u4E00\u610F\u306E\u8868\u540D\u304C\u4ED8\u3051\u3089\u308C\u308B\u3053\u3068\u3092\u4FDD\u8A3C\u3059\u308B\u305F\u3081\u3001\u8868\u540D\u306B\u30CF\u30C3\u30B7\u30E5\u30FB\u30B3\u30FC\u30C9\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3059\u3002 deploy.command.deploymentplan=\u30C7\u30D7\u30ED\u30A4\u30E1\u30F3\u30C8\u30FB\u30D7\u30E9\u30F3(Sun\u56FA\u6709\u306E\u8A18\u8FF0\u5B50\u304C\u542B\u307E\u308C\u3066\u3044\u308BJAR)\u3092\u53D6\u5F97\u3057\u3066\u30C7\u30D7\u30ED\u30A4\u3057\u307E\u3059\u3002 deploy.command.enabled=true\u306E\u5834\u5408\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u30E6\u30FC\u30B6\u30FC\u306B\u8A31\u53EF\u3055\u308C\u307E\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306Ftrue\u3067\u3059\u3002 deploy.command.generatermistubs=true\u306E\u5834\u5408\u3001\u9759\u7684RMI-IIOP\u30B9\u30BF\u30D6\u304C\u751F\u6210\u3055\u308C\u3001client.jar\u306B\u914D\u7F6E\u3055\u308C\u307E\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306Ffalse\u3067\u3059\u3002 @@ -87,7 +83,6 @@ compat.value.not.supported=\u8B66\u544A: {0}\u306F\u4E92\u63DB\u6027\u30D7\u30ED application_withsamename_exists=\u540C\u3058\u540D\u524D{0}\u306E\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u30E9\u30A4\u30D5\u30B5\u30A4\u30AF\u30EB\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u5225\u306E\u540D\u524D\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 # undeploy.command=\u4EE5\u524D\u306B\u30C7\u30D7\u30ED\u30A4\u3055\u308C\u305F\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30FB\u30B5\u30FC\u30D0\u30FC\u304B\u3089\u30A2\u30F3\u30C7\u30D7\u30ED\u30A4\u3057\u307E\u3059 -undeploy.command.usagetext=undeploy\n\t[--target[=]]\n\t[--droptables[=]]\n\t[--cascade[=]]\n\t[-?|--help[=]] name undeploy.command.name=\u30C7\u30D7\u30ED\u30A4\u3055\u308C\u3066\u3044\u308B\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u540D\u524D undeploy.command.target=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u30A2\u30F3\u30C7\u30D7\u30ED\u30A4\u3059\u308B\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002 undeploy.command.success={0}\u304C\u6B63\u5E38\u306B\u30A2\u30F3\u30C7\u30D7\u30ED\u30A4\u3055\u308C\u307E\u3057\u305F @@ -101,7 +96,6 @@ redeploy.command.path=\u30C7\u30D7\u30ED\u30A4\u3059\u308B\u30D5\u30A1\u30A4\u30 redeploy.command.invalid.path=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u30D1\u30B9\u3092\u7279\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002 redeploy.command.cannot.redeploy=\u30D1\u30B9\u30FB\u30AA\u30DA\u30E9\u30F3\u30C9\u3092\u6307\u5B9A\u305B\u305A\u306B\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3{0}\u3092\u518D\u30C7\u30D7\u30ED\u30A4\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 redeploy.command.success={0}\u304C\u6B63\u5E38\u306B\u518D\u30C7\u30D7\u30ED\u30A4\u3055\u308C\u307E\u3057\u305F -redeploy.command.usagetext=redeploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--precompilejsp[=]]\n\t[--verify[=]] --name \n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] [file_archive | filepath] # enable.command=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u6709\u52B9\u306B\u3057\u307E\u3059 diff --git a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_ko.properties b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_ko.properties index 324507291aa..9d2dc6bd771 100644 --- a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_ko.properties +++ b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_ko.properties @@ -41,7 +41,6 @@ Usage# deploy.command=\uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC744 \uC560\uD50C\uB9AC\uCF00\uC774\uC158 \uC11C\uBC84\uC5D0 \uBC30\uCE58\uD569\uB2C8\uB2E4. -deploy.command.usagetext=deploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--force[=]]\n\t[--precompilejsp[=]]\n\t[--verify[=]] [--name ]\n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] file_archive | filepath deploy.command.path=\uBC30\uCE58\uD560 \uD30C\uC77C \uB610\uB294 \uB514\uB809\uD1A0\uB9AC \uACBD\uB85C\uC785\uB2C8\uB2E4. deploy.command.name=\uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC758 \uC774\uB984\uC785\uB2C8\uB2E4. deploy.command.contextroot=\uC6F9 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC758 \uCEE8\uD14D\uC2A4\uD2B8 \uB8E8\uD2B8\uC785\uB2C8\uB2E4. \uD655\uC7A5\uC790 \uC5C6\uB294 \uD30C\uC77C \uC774\uB984\uC744 \uAE30\uBCF8\uAC12\uC73C\uB85C \uC0AC\uC6A9\uD569\uB2C8\uB2E4. @@ -51,9 +50,6 @@ deploy.command.precompilejsp=true\uC778 \uACBD\uC6B0 \uBC30\uCE58 \uC2DC\uAC04 \ deploy.command.verify=true\uC778 \uACBD\uC6B0 \uBC30\uCE58 \uAE30\uC220\uC790\uC758 \uAD6C\uBB38 \uBC0F \uC758\uBBF8\uAC00 \uAC80\uC99D\uB429\uB2C8\uB2E4. false\uB97C \uAE30\uBCF8\uAC12\uC73C\uB85C \uC0AC\uC6A9\uD569\uB2C8\uB2E4. deploy.command.retrieve=\uC11C\uBC84 \uC2DC\uC2A4\uD15C\uC5D0\uC11C \uB85C\uCEEC \uB514\uB809\uD1A0\uB9AC\uB85C \uD074\uB77C\uC774\uC5B8\uD2B8 \uC2A4\uD141 JAR \uD30C\uC77C\uC744 \uAC80\uC0C9\uD569\uB2C8\uB2E4. deploy.command.dbvendorname=\uD14C\uC774\uBE14\uC744 \uC0DD\uC131\uD560 \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uACF5\uAE09\uC5C5\uCCB4\uC758 \uC774\uB984\uC785\uB2C8\uB2E4. -deploy.command.createtables=\uB9E4\uD551\uB418\uC9C0 \uC54A\uC740 CMP Bean\uC774 \uC788\uB294 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC758 \uBC30\uCE58 \uC2DC \uD14C\uC774\uBE14\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4. -deploy.command.dropandcreatetables=true\uC778 \uACBD\uC6B0 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC774 \uC7AC\uBC30\uCE58\uB418\uBA74 \uC0C8 \uD14C\uC774\uBE14\uC744 \uC0DD\uC131\uD558\uAE30 \uC804\uC5D0 \uC774\uC804 \uBC30\uCE58\uC5D0 \uC758\uD574 \uC0DD\uC131\uB41C \uD14C\uC774\uBE14\uC774 \uC0AD\uC81C\uB429\uB2C8\uB2E4. -deploy.command.uniquetablenames=\uBAA8\uB4E0 Bean\uC5D0 \uB300\uD574 \uACE0\uC720\uD55C \uD14C\uC774\uBE14 \uC774\uB984\uC774 \uBCF4\uC7A5\uB418\uACE0 \uD14C\uC774\uBE14 \uC774\uB984\uC5D0 \uD574\uC2DC \uCF54\uB4DC\uAC00 \uCD94\uAC00\uB429\uB2C8\uB2E4. deploy.command.deploymentplan=Sun \uACE0\uC720 \uAE30\uC220\uC790\uAC00 \uD3EC\uD568\uB41C JAR\uC778 \uBC30\uCE58 \uACC4\uD68D\uC744 \uC0AC\uC6A9\uD558\uACE0 \uBC30\uCE58\uD569\uB2C8\uB2E4. deploy.command.enabled=true\uC778 \uACBD\uC6B0 \uC0AC\uC6A9\uC790\uAC00 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC5D0 \uC561\uC138\uC2A4\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. true\uB97C \uAE30\uBCF8\uAC12\uC73C\uB85C \uC0AC\uC6A9\uD569\uB2C8\uB2E4. deploy.command.generatermistubs=true\uC778 \uACBD\uC6B0 \uC815\uC801 RMI-IIOP \uC2A4\uD141\uC774 \uC0DD\uC131\uB418\uC5B4 client.jar\uC5D0 \uC0BD\uC785\uB429\uB2C8\uB2E4. false\uB97C \uAE30\uBCF8\uAC12\uC73C\uB85C \uC0AC\uC6A9\uD569\uB2C8\uB2E4. @@ -87,7 +83,6 @@ compat.value.not.supported=\uACBD\uACE0: {0}\uC740(\uB294) \uD638\uD658\uC131 \u application_withsamename_exists=\uB3D9\uC77C\uD55C \uC774\uB984 {0}\uC744(\uB97C) \uC0AC\uC6A9\uD558\uB294 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4. \uC218\uBA85 \uC8FC\uAE30 \uBAA8\uB4C8\uC758 \uB2E4\uB978 \uC774\uB984\uC744 \uC120\uD0DD\uD558\uC2ED\uC2DC\uC624. # undeploy.command=\uC560\uD50C\uB9AC\uCF00\uC774\uC158 \uC11C\uBC84\uC5D0\uC11C \uC774\uC804\uC5D0 \uBC30\uCE58\uB41C \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC758 \uBC30\uCE58\uB97C \uD574\uC81C\uD569\uB2C8\uB2E4. -undeploy.command.usagetext=undeploy\n\t[--target[=]]\n\t[--droptables[=]]\n\t[--cascade[=]]\n\t[-?|--help[=]] name undeploy.command.name=\uBC30\uCE58\uB41C \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC758 \uC774\uB984\uC785\uB2C8\uB2E4. undeploy.command.target=\uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC758 \uBC30\uCE58\uB97C \uD574\uC81C\uD560 \uB300\uC0C1\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4. undeploy.command.success={0}\uC758 \uBC30\uCE58\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uD574\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. @@ -101,7 +96,6 @@ redeploy.command.path=\uBC30\uCE58\uD560 \uD30C\uC77C \uB610\uB294 \uB514\uB809\ redeploy.command.invalid.path=\uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 \uACBD\uB85C\uB97C \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. redeploy.command.cannot.redeploy=\uACBD\uB85C \uD53C\uC5F0\uC0B0\uC790\uB97C \uC9C0\uC815\uD558\uC9C0 \uC54A\uACE0\uB294 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 {0}\uC744(\uB97C) \uC7AC\uBC30\uCE58\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. redeploy.command.success={0}\uC774(\uAC00) \uC131\uACF5\uC801\uC73C\uB85C \uC7AC\uBC30\uCE58\uB418\uC5C8\uC2B5\uB2C8\uB2E4. -redeploy.command.usagetext=redeploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--precompilejsp[=]]\n\t[--verify[=]] --name \n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] [file_archive | filepath] # enable.command=\uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC744 \uC0AC\uC6A9\uC73C\uB85C \uC124\uC815\uD569\uB2C8\uB2E4. diff --git a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_pt_BR.properties b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_pt_BR.properties index a0a5802db98..364fc4737e5 100644 --- a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_pt_BR.properties +++ b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_pt_BR.properties @@ -41,7 +41,6 @@ Usage# deploy.command=Implantar uma aplica\u00E7\u00E3o no servidor de aplica\u00E7\u00F5es -deploy.command.usagetext=implantar\\n\\t[--target[=]]\\n\\t[--virtualservers ] [--contextroot ]\\n\\t[--force[=]]\\n\\t[--precompilejsp[=]]\\n\\t[--verify[=]] [--name ]\\n\\t[--upload[=]] [--retrieve ]\\n\\t[--dbvendorname ]\\n\\t[--createtables[=createtables(default:false)>] |\\n\\t --dropandcreatetables[=]]\\n\\t[--uniquetablenames[=]]\\n\\t[--deploymentplan ]\\n\\t[--altdd ]\\n\\t[--runtimealtdd ]\\n\\t[--deploymentorder ]\\n\\t[--enabled[=]]\\n\\t[--availabilityenabled[=]]\\n\\t[--lbenabled[=]]\\n\\t[--asyncreplication[=]]\\n\\t[--keepstate[=]]\\n\\t[--generatermistubs[=]]\\n\\t[--libraries jar_file[,jar_file*]]\\n\\t[--type ]\\n\\t[--properties (name=value)[:name=value]*]\\n\\t[-?|--help[=]] file_archive | filepath deploy.command.path=Caminho para o arquivo ou diret\u00F3rio a ser implantado deploy.command.name=Nome para a aplica\u00E7\u00E3o deploy.command.contextroot=Context-root da aplica\u00E7\u00E3o Web. O default \u00E9 o nome do arquivo sem a extens\u00E3o. @@ -51,9 +50,6 @@ deploy.command.precompilejsp=Se verdadeiro, os JSPs s\u00E3o compilados durante deploy.command.verify=Se verdadeiro, a sintaxe e sem\u00E2ntica do descritor de implanta\u00E7\u00E3o s\u00E3o verificadas. O default \u00E9 falso. deploy.command.retrieve=Recupera o arquivo client stub JAR da m\u00E1quina do servidor para o diret\u00F3rio local. deploy.command.dbvendorname=Nome do fornecedor do banco de dados para o qual as tabelas s\u00E3o criadas. -deploy.command.createtables=Cria tabelas na implanta\u00E7\u00E3o de uma aplica\u00E7\u00E3o com beans CMP n\u00E3o mapeados. -deploy.command.dropandcreatetables=Se verdadeiro, quando a aplica\u00E7\u00E3o \u00E9 reimplantada, as tabelas criadas pela implanta\u00E7\u00E3o anterior s\u00E3o descartadas antes da cria\u00E7\u00E3o das novas tabelas. -deploy.command.uniquetablenames=Garante nomes \u00FAnicos de tabelas para todos os beans e resultados no hashcode adicionado aos nomes das tabelas. deploy.command.deploymentplan=Obt\u00E9m o plano de implanta\u00E7\u00E3o, que \u00E9 um JAR contendo descritores espec\u00EDficos da Sun, e o implanta. deploy.command.enabled=Se verdadeiro, permite que os usu\u00E1rios acessem a aplica\u00E7\u00E3o. O default \u00E9 falso. deploy.command.generatermistubs=Se verdadeiro, os stubs RMI-IIOP s\u00E3o gerados e colocados no client.jar. O default \u00E9 falso. @@ -87,7 +83,6 @@ compat.value.not.supported=Advert\u00EAncia: {0} n\u00E3o \u00E9 um valor suport application_withsamename_exists=J\u00E1 existe uma aplica\u00E7\u00E3o com o mesmo nome {0}; escolha outro nome para o m\u00F3dulo de ciclo de vida. # undeploy.command=Cancelar a implanta\u00E7\u00E3o de uma aplica\u00E7\u00E3o anteriormente implantada com base no servidor de aplica\u00E7\u00F5es -undeploy.command.usagetext=undeploy\n\t[--target[=]]\n\t[--droptables[=]]\n\t[--cascade[=]]\n\t[-?|--help[=]] name undeploy.command.name=Nome da aplica\u00E7\u00E3o implantada undeploy.command.target=Especifique o destino para cancelar a implanta\u00E7\u00E3o da aplica\u00E7\u00E3o. undeploy.command.success={0} implanta\u00E7\u00E3o cancelada com sucesso @@ -101,7 +96,6 @@ redeploy.command.path=Caminho para o arquivo ou diret\u00F3rio a ser implantado. redeploy.command.invalid.path=N\u00E3o \u00E9 poss\u00EDvel determinar o caminho da aplica\u00E7\u00E3o. redeploy.command.cannot.redeploy=N\u00E3o \u00E9 poss\u00EDvel reimplantar a aplica\u00E7\u00E3o, {0} sem especificar o operando do caminho. redeploy.command.success={0} reimplantado com sucesso -redeploy.command.usagetext=redeploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--precompilejsp[=]]\n\t[--verify[=]] --name \n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] [file_archive | filepath] # enable.command=Ativa a aplica\u00E7\u00E3o diff --git a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_zh_CN.properties b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_zh_CN.properties index 650bb03179e..bbe4bd7eeb9 100644 --- a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_zh_CN.properties +++ b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_zh_CN.properties @@ -41,7 +41,6 @@ Usage# deploy.command=\u5C06\u5E94\u7528\u7A0B\u5E8F\u90E8\u7F72\u5230\u5E94\u7528\u7A0B\u5E8F\u670D\u52A1\u5668 -deploy.command.usagetext=deploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--force[=]]\n\t[--precompilejsp[=]]\n\t[--verify[=]] [--name ]\n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] file_archive | filepath deploy.command.path=\u8981\u90E8\u7F72\u7684\u6587\u4EF6\u6216\u76EE\u5F55\u7684\u8DEF\u5F84 deploy.command.name=\u5E94\u7528\u7A0B\u5E8F\u7684\u540D\u79F0 deploy.command.contextroot=Web \u5E94\u7528\u7A0B\u5E8F\u7684\u4E0A\u4E0B\u6587\u6839\u3002\u9ED8\u8BA4\u4E3A\u4E0D\u5E26\u6269\u5C55\u540D\u7684\u6587\u4EF6\u540D\u3002 @@ -51,9 +50,6 @@ deploy.command.precompilejsp=\u5982\u679C\u4E3A\u201C\u771F\u201D, \u5219\u5728\ deploy.command.verify=\u5982\u679C\u4E3A\u201C\u771F\u201D, \u5219\u9A8C\u8BC1\u90E8\u7F72\u63CF\u8FF0\u7B26\u7684\u8BED\u6CD5\u548C\u8BED\u4E49\u3002\u9ED8\u8BA4\u4E3A\u201C\u5047\u201D\u3002 deploy.command.retrieve=\u5C06\u5BA2\u6237\u673A\u5B58\u6839 JAR \u6587\u4EF6\u4ECE\u670D\u52A1\u5668\u8BA1\u7B97\u673A\u68C0\u7D22\u5230\u672C\u5730\u76EE\u5F55\u3002 deploy.command.dbvendorname=\u4E3A\u5176\u521B\u5EFA\u8868\u7684\u6570\u636E\u5E93\u4F9B\u5E94\u5546\u7684\u540D\u79F0\u3002 -deploy.command.createtables=\u5728\u90E8\u7F72\u5177\u6709\u672A\u6620\u5C04\u7684 CMP Bean \u7684\u5E94\u7528\u7A0B\u5E8F\u65F6\u521B\u5EFA\u8868\u3002 -deploy.command.dropandcreatetables=\u5982\u679C\u4E3A\u201C\u771F\u201D, \u5219\u5F53\u91CD\u65B0\u90E8\u7F72\u5E94\u7528\u7A0B\u5E8F\u65F6, \u4E0A\u4E00\u4E2A\u90E8\u7F72\u521B\u5EFA\u7684\u8868\u4F1A\u5728\u521B\u5EFA\u65B0\u8868\u4E4B\u524D\u5220\u9664\u3002 -deploy.command.uniquetablenames=\u4FDD\u8BC1\u6240\u6709 Bean \u6709\u552F\u4E00\u7684\u8868\u540D\u79F0, \u7ED3\u679C\u662F\u5C06 hashcode \u6DFB\u52A0\u5230\u8868\u540D\u79F0\u3002 deploy.command.deploymentplan=\u91C7\u53D6\u90E8\u7F72\u8BA1\u5212 (\u4E00\u4E2A\u5305\u542B Sun \u7279\u5B9A\u63CF\u8FF0\u7B26\u7684 JAR \u6587\u4EF6) \u5E76\u90E8\u7F72\u5B83\u3002 deploy.command.enabled=\u5982\u679C\u4E3A\u201C\u771F\u201D, \u5219\u5141\u8BB8\u7528\u6237\u8BBF\u95EE\u5E94\u7528\u7A0B\u5E8F\u3002\u9ED8\u8BA4\u4E3A\u201C\u771F\u201D\u3002 deploy.command.generatermistubs=\u5982\u679C\u4E3A\u201C\u771F\u201D, \u5219\u751F\u6210\u9759\u6001 RMI-IIOP \u5B58\u6839\u5E76\u5C06\u5176\u653E\u5165 client.jar\u3002\u9ED8\u8BA4\u4E3A\u201C\u5047\u201D\u3002 @@ -87,7 +83,6 @@ compat.value.not.supported=\u8B66\u544A: compatibility \u5C5E\u6027\u4E0D\u652F\ application_withsamename_exists=\u5DF2\u5B58\u5728\u5177\u6709\u76F8\u540C\u540D\u79F0{0}\u7684\u5E94\u7528\u7A0B\u5E8F, \u8BF7\u4E3A\u751F\u547D\u5468\u671F\u6A21\u5757\u9009\u62E9\u5176\u4ED6\u540D\u79F0\u3002 # undeploy.command=\u4ECE\u5E94\u7528\u7A0B\u5E8F\u670D\u52A1\u5668\u53D6\u6D88\u90E8\u7F72\u4EE5\u524D\u90E8\u7F72\u7684\u5E94\u7528\u7A0B\u5E8F -undeploy.command.usagetext=undeploy\n\t[--target[=]]\n\t[--droptables[=]]\n\t[--cascade[=]]\n\t[-?|--help[=]] name undeploy.command.name=\u90E8\u7F72\u7684\u5E94\u7528\u7A0B\u5E8F\u7684\u540D\u79F0 undeploy.command.target=\u6307\u5B9A\u8981\u53D6\u6D88\u90E8\u7F72\u5E94\u7528\u7A0B\u5E8F\u7684\u76EE\u6807\u3002 undeploy.command.success={0}\u53D6\u6D88\u90E8\u7F72\u6210\u529F @@ -101,7 +96,6 @@ redeploy.command.path=\u8981\u90E8\u7F72\u7684\u6587\u4EF6\u6216\u76EE\u5F55\u76 redeploy.command.invalid.path=\u65E0\u6CD5\u786E\u5B9A\u5E94\u7528\u7A0B\u5E8F\u7684\u8DEF\u5F84\u3002 redeploy.command.cannot.redeploy=\u672A\u6307\u5B9A\u8DEF\u5F84\u64CD\u4F5C\u6570, \u65E0\u6CD5\u91CD\u65B0\u90E8\u7F72\u5E94\u7528\u7A0B\u5E8F{0}\u3002 redeploy.command.success={0}\u91CD\u65B0\u90E8\u7F72\u6210\u529F -redeploy.command.usagetext=redeploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--precompilejsp[=]]\n\t[--verify[=]] --name \n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] [file_archive | filepath] # enable.command=\u542F\u7528\u5E94\u7528\u7A0B\u5E8F diff --git a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_zh_TW.properties b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_zh_TW.properties index 14a26e377db..f9008464341 100644 --- a/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_zh_TW.properties +++ b/nucleus/deployment/admin-l10n/src/main/resources/org/glassfish/deployment/admin/LocalStrings_zh_TW.properties @@ -41,7 +41,6 @@ Usage# deploy.command=\u5C07\u61C9\u7528\u7A0B\u5F0F\u5EFA\u7F6E\u81F3\u61C9\u7528\u7A0B\u5F0F\u4F3A\u670D\u5668 -deploy.command.usagetext=deploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--force[=]]\n\t[--precompilejsp[=]]\n\t[--verify[=]] [--name ]\n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] file_archive | filepath deploy.command.path=\u8981\u5EFA\u7F6E\u7684\u6A94\u6848\u6216\u76EE\u9304\u7684\u8DEF\u5F91 deploy.command.name=\u61C9\u7528\u7A0B\u5F0F\u7684\u540D\u7A31 deploy.command.contextroot=Web \u61C9\u7528\u7A0B\u5F0F\u7684\u74B0\u5883\u6839\u76EE\u9304\u3002\u9810\u8A2D\u70BA\u6C92\u6709\u526F\u6A94\u540D\u7684\u6A94\u540D\u3002 @@ -51,9 +50,6 @@ deploy.command.precompilejsp=\u5982\u679C\u70BA true\uFF0C\u5728\u5EFA\u7F6E\u67 deploy.command.verify=\u5982\u679C\u70BA true\uFF0C\u5247\u6703\u9A57\u8B49\u5EFA\u7F6E\u63CF\u8FF0\u5143\u7684\u8A9E\u6CD5\u548C\u8A9E\u7FA9\u3002\u9810\u8A2D\u70BA false\u3002 deploy.command.retrieve=\u5C07\u5F9E\u5C6C\u7AEF Stub JAR \u6A94\u6848\u5F9E\u4F3A\u670D\u5668\u6A5F\u5668\u64F7\u53D6\u81F3\u672C\u6A5F\u76EE\u9304\u3002 deploy.command.dbvendorname=\u5DF2\u70BA\u5176\u5EFA\u7ACB\u8868\u683C\u7684\u8CC7\u6599\u5EAB\u4F9B\u61C9\u5546\u540D\u7A31\u3002 -deploy.command.createtables=\u5728\u5EFA\u7F6E\u61C9\u7528\u7A0B\u5F0F\u6642\u4F7F\u7528\u672A\u5C0D\u61C9\u7684 CMP Bean \u5EFA\u7ACB\u8868\u683C\u3002 -deploy.command.dropandcreatetables=\u5982\u679C\u70BA true\uFF0C\u5247\u5728\u91CD\u65B0\u5EFA\u7F6E\u61C9\u7528\u7A0B\u5F0F\u6642\uFF0C\u6703\u5728\u5EFA\u7ACB\u65B0\u8868\u683C\u4E4B\u524D\u5FFD\u7565\u524D\u4E00\u500B\u5EFA\u7F6E\u6240\u5EFA\u7ACB\u7684\u8868\u683C\u3002 -deploy.command.uniquetablenames=\u70BA\u6240\u6709 Bean \u7522\u751F\u552F\u4E00\u8868\u683C\u540D\u7A31\uFF0C\u4E26\u5C0E\u81F4\u8868\u683C\u540D\u7A31\u4E2D\u52A0\u5165\u96DC\u6E4A\u78BC\u3002 deploy.command.deploymentplan=\u63A1\u7528\u5EFA\u7F6E\u8A08\u5283 (\u5176\u70BA\u5305\u542B Sun \u7279\u6709\u63CF\u8FF0\u5143\u7684 JAR)\uFF0C\u4E26\u5EFA\u7F6E\u5B83\u3002 deploy.command.enabled=\u5982\u679C\u70BA true\uFF0C\u5247\u5BB9\u8A31\u4F7F\u7528\u8005\u5B58\u53D6\u61C9\u7528\u7A0B\u5F0F\u3002\u9810\u8A2D\u70BA true\u3002 deploy.command.generatermistubs=\u5982\u679C\u70BA true\uFF0C\u5247\u6703\u7522\u751F\u975C\u614B RMI-IIOP Stub\uFF0C\u4E26\u653E\u5165 client.jar \u4E2D\u3002\u9810\u8A2D\u70BA false\u3002 @@ -87,7 +83,6 @@ compat.value.not.supported=\u8B66\u544A\uFF1A{0} \u4E0D\u662F\u76F8\u5BB9\u6027\ application_withsamename_exists=\u5DF2\u7D93\u6709\u540D\u7A31\u4E00\u6A23\u70BA {0} \u7684\u61C9\u7528\u7A0B\u5F0F\u5B58\u5728. \u8ACB\u70BA\u751F\u547D\u9031\u671F\u6A21\u7D44\u9078\u64C7\u5176\u4ED6\u540D\u7A31\u3002 # undeploy.command=\u5F9E\u61C9\u7528\u7A0B\u5F0F\u4F3A\u670D\u5668\u53D6\u6D88\u5EFA\u7F6E\u5148\u524D\u5EFA\u7F6E\u7684\u61C9\u7528\u7A0B\u5F0F -undeploy.command.usagetext=undeploy\n\t[--target[=]]\n\t[--droptables[=]]\n\t[--cascade[=]]\n\t[-?|--help[=]] \u540D\u7A31 undeploy.command.name=\u5DF2\u5EFA\u7F6E\u7684\u61C9\u7528\u7A0B\u5F0F\u540D\u7A31 undeploy.command.target=\u6307\u5B9A\u8981\u53D6\u6D88\u5EFA\u7F6E\u61C9\u7528\u7A0B\u5F0F\u7684\u76EE\u6A19\u3002 undeploy.command.success=\u5DF2\u9806\u5229\u53D6\u6D88\u5EFA\u7F6E {0} @@ -101,7 +96,6 @@ redeploy.command.path=\u8981\u5EFA\u7F6E\u7684\u6A94\u6848\u6216\u76EE\u9304\u76 redeploy.command.invalid.path=\u7121\u6CD5\u5224\u5B9A\u61C9\u7528\u7A0B\u5F0F\u7684\u8DEF\u5F91\u3002 redeploy.command.cannot.redeploy=\u6C92\u6709\u6307\u5B9A\u8DEF\u5F91\u904B\u7B97\u5143\u5247\u7121\u6CD5\u91CD\u65B0\u5EFA\u7F6E\u61C9\u7528\u7A0B\u5F0F {0}\u3002 redeploy.command.success=\u5DF2\u9806\u5229\u91CD\u65B0\u5EFA\u7F6E {0} -redeploy.command.usagetext=redeploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--precompilejsp[=]]\n\t[--verify[=]] --name \n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] [file_archive | filepath] # enable.command=\u555F\u7528\u61C9\u7528\u7A0B\u5F0F diff --git a/nucleus/deployment/admin/src/main/java/org/glassfish/deployment/admin/DeployCommand.java b/nucleus/deployment/admin/src/main/java/org/glassfish/deployment/admin/DeployCommand.java index 5e4e3aa925a..385d863fcf3 100644 --- a/nucleus/deployment/admin/src/main/java/org/glassfish/deployment/admin/DeployCommand.java +++ b/nucleus/deployment/admin/src/main/java/org/glassfish/deployment/admin/DeployCommand.java @@ -803,9 +803,6 @@ private Properties handleRedeploy(final String name, final ActionReport report, parameters.add(DeploymentProperties.TARGET, target); parameters.add(DeploymentProperties.KEEP_REPOSITORY_DIRECTORY, keepreposdir.toString()); parameters.add(DeploymentProperties.IS_REDEPLOY, isredeploy.toString()); - if (dropandcreatetables != null) { - parameters.add(DeploymentProperties.DROP_TABLES, dropandcreatetables.toString()); - } parameters.add(DeploymentProperties.IGNORE_CASCADE, force.toString()); if (keepstate != null) { parameters.add(DeploymentProperties.KEEP_STATE, keepstate.toString()); diff --git a/nucleus/deployment/admin/src/main/java/org/glassfish/deployment/admin/LocalStrings.properties b/nucleus/deployment/admin/src/main/java/org/glassfish/deployment/admin/LocalStrings.properties index 7a54ff8c56f..2b8722e2213 100644 --- a/nucleus/deployment/admin/src/main/java/org/glassfish/deployment/admin/LocalStrings.properties +++ b/nucleus/deployment/admin/src/main/java/org/glassfish/deployment/admin/LocalStrings.properties @@ -41,7 +41,6 @@ Usage# deploy.command=Deploy an application to the application server -deploy.command.usagetext=deploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--force[=]]\n\t[--precompilejsp[=]]\n\t[--verify[=]] [--name ]\n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] file_archive | filepath deploy.command.path=Path to the file or directory to deploy deploy.command.name=Name for the application deploy.command.contextroot=Web application's context-root. Defaults to filename without extension. @@ -51,9 +50,6 @@ deploy.command.precompilejsp=If true, JSPs are compiled during deployment time. deploy.command.verify=If true, syntax and semantics of the deployment descriptor is verified. Defaults to false. deploy.command.retrieve=Retrieves the client stub JAR file from the server machine to the local directory. deploy.command.dbvendorname=Name of the database vendor for which tables are created. -deploy.command.createtables=Creates tables at deployment of an application with unmapped CMP beans. -deploy.command.dropandcreatetables=If true, when application is redeployed, the tables created by the previous deployment are dropped before creating the new tables. -deploy.command.uniquetablenames=Guarantees unique table names for all the beans and results in a hashcode added to the table names. deploy.command.deploymentplan=Takes the deployment plan, which is a JAR containing Sun-specific descriptors, and deploys it. deploy.command.enabled=If true, allows users to access the application. Defaults to true. deploy.command.generatermistubs=If true, static RMI-IIOP stubs are generated and put into the client.jar. Defaults to false. @@ -85,7 +81,6 @@ download.errFileExists=Unable to generate files. File [{0}] already exists. download.errParentFileMissing=Unable to generate files. Directory [{0}] does not exist. compat.value.not.supported=Warning: {0} is not a supported value for compatibility property. The current supported value for the property is v2. Ignoring the property. undeploy.command=Undeploy a previously deployed application from the application server -undeploy.command.usagetext=undeploy\n\t[--target[=]]\n\t[--droptables[=]]\n\t[--cascade[=]]\n\t[-?|--help[=]] name undeploy.command.name=Name of the deployed application undeploy.command.target=Specify the target to undeploy the application. undeploy.command.success={0} undeployed successfully @@ -99,7 +94,6 @@ redeploy.command.path=Path to the file or directory to deploy. redeploy.command.invalid.path=Cannot determine the path of application. redeploy.command.cannot.redeploy=Cannot redeploy app, {0} without specifying the path operand. redeploy.command.success={0} redeployed successfully -redeploy.command.usagetext=redeploy\n\t[--target[=]]\n\t[--virtualservers ] [--contextroot ]\n\t[--precompilejsp[=]]\n\t[--verify[=]] --name \n\t[--upload[=]] [--retrieve ]\n\t[--dbvendorname ]\n\t[--createtables[=createtables(default:false)>] |\n\t --dropandcreatetables[=]]\n\t[--uniquetablenames[=]]\n\t[--deploymentplan ]\n\t[--altdd ]\n\t[--runtimealtdd ]\n\t[--deploymentorder ]\n\t[--enabled[=]]\n\t[--availabilityenabled[=]]\n\t[--lbenabled[=]]\n\t[--asyncreplication[=]]\n\t[--keepstate[=]]\n\t[--generatermistubs[=]]\n\t[--libraries jar_file[,jar_file*]]\n\t[--type ]\n\t[--properties (name=value)[:name=value]*]\n\t[-?|--help[=]] [file_archive | filepath] # enable.command=Enables the application diff --git a/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/deploy.1 b/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/deploy.1 index c5ee51acb26..cf8865e3480 100644 --- a/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/deploy.1 +++ b/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/deploy.1 @@ -14,8 +14,6 @@ SYNOPSIS [--upload={true|false}] [--retrieve local_dirpath] [--dbvendorname dbvendorname] - [--createtables={true|false}|--dropandcreatetables={true|false}] - [--uniquetablenames={true|false}] [--deploymentplan deployment_plan] [--altdd alternate_deploymentdescriptor] [--runtimealtdd runtime_alternate_deploymentdescriptor] @@ -40,17 +38,6 @@ DESCRIPTION the component is already deployed or already exists, it is forcibly redeployed if the --force option is set to true (default is false). - The --createtables and --dropandcreatetables options are boolean flags - and therefore can take the values of true or false. These options are - only used during deployment of CMP beans that have not been mapped to a - database (that is, no sun-cmp-mappings.xml descriptor is provided in - the module's META-INF directory). They are ignored otherwise. - - The --createtables and --dropandcreatetables options are mutually - exclusive; only one should be used. If drop and/or create tables fails, - the deployment does not fail; a warning message is provided in the log - file. - This subcommand is supported in remote mode only. OPTIONS @@ -131,41 +118,10 @@ OPTIONS created. Supported values include db2, mssql, mysql, oracle, derby, javadb, postgresql, and sybase. These values are case-insensitive. If not specified, the value of the database-vendor-name attribute - in glassfish-ejb-jar.xml is used. If no value is specified, a - connection is made to the resource specified by the jndi-name - subelement of the cmp-resource element in the glassfish-ejb-jar.xml - file, and the database vendor name is read. If the connection + in glassfish-ejb-jar.xml is used. If the connection cannot be established, or if the value is not recognized, SQL-92 compliance is presumed. - --createtables - If specified as true, creates tables at deployment of an - application with unmapped CMP beans. If specified as false, tables - are not created. If not specified, the value of the - create-tables-at-deploy entry in the cmp-resource element of the - glassfish-ejb-jar.xml file determines whether or not tables are - created. No unique constraints are created for the tables. - - --dropandcreatetables - If specified as true when the component is redeployed, the tables - created by the previous deployment are dropped before creating the - new tables. Applies to deployed applications with unmapped CMP - beans. Preexisting tables will not be dropped on the initial - deployment of an application or on a deployment that follows an - explicit undeploy. If specified as false, tables are neither - dropped nor created. If not specified, the tables are dropped if - the drop-tables-at-undeploy entry in the cmp-resource element of - the glassfish-ejb-jar.xml file is set to true, and the new tables - are created if the create-tables-at-deploy entry in the - cmp-resource element of the glassfish-ejb-jar.xml file is set to - true. - - --uniquetablenames - Guarantees unique table names for all the beans and results in a - hash code added to the table names. This is useful if you have an - application with case-sensitive bean names. Applies to applications - with unmapped CMP beans. - --deploymentplan Deploys the deployment plan, which is a JAR file that contains GlassFish Server descriptors. Specify this option when deploying a @@ -498,19 +454,7 @@ EXAMPLES Application deployed successfully with name hello. Command deploy executed successfully - Example 4, Deploying an Enterprise Bean - This example deploys a component based on the EJB specification - (enterprise bean) with CMP and creates the database tables used by - the bean. - - This example uses the --target option. The target in this example - is an existing cluster, cluster1. - - asadmin> deploy --createtables=true --target cluster1 EmployeeEJB.jar - Application deployed successfully with name EmployeeEJB. - Command deploy executed successfully - - Example 5, Deploying a Connector Module + Example 4, Deploying a Connector Module This example deploys a connector module that is packaged in a RAR file. @@ -522,7 +466,7 @@ EXAMPLES Application deployed successfully with name jdbcra. Command deploy executed successfully - Example 6, Specifying the Deployment Order for an Application + Example 5, Specifying the Deployment Order for an Application This example specifies the deployment order for two applications. The cart application is loaded before the horse application at server startup. @@ -534,7 +478,7 @@ EXAMPLES asadmin> deploy --deploymentorder 110 --name horse horse.war ... - Example 7, Deploying an Application Using an Alternate Java EE 8 + Example 6, Deploying an Application Using an Alternate Java EE 8 Deployment Descriptor File This example deploys an application using a Java EE standard deployment descriptor file that resides outside of the application @@ -544,7 +488,7 @@ EXAMPLES Application deployed successfully with name cart. Command deploy executed successfully - Example 8, Deploying an Application Using an Alternate GlassFish Server + Example 7, Deploying an Application Using an Alternate GlassFish Server Deployment Descriptor File This example deploys an application using a GlassFish Server runtime deployment descriptor file that resides outside of the @@ -554,7 +498,7 @@ EXAMPLES Application deployed successfully with name horse. Command deploy executed successfully - Example 9, Wrapping a WAR File as a WAB + Example 8, Wrapping a WAR File as a WAB This example wraps a plain WAR file as a WAB when an OSGi bundle is deployed, and is specific to components packaged as OSGi bundles. diff --git a/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/redeploy.1 b/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/redeploy.1 index a186d51d9e1..d279b64384c 100644 --- a/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/redeploy.1 +++ b/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/redeploy.1 @@ -9,8 +9,6 @@ SYNOPSIS [--upload={true|false}] [--retrieve local_dirpath] [--dbvendorname dbvendorname] - [--createtables={true|false}|--dropandcreatetables={true|false}] - [--uniquetablenames={true|false}] [--deploymentplan deployment_plan] [--altdd alternate_deploymentdescriptor] [--runtimealtdd runtime_alternate_deploymentdescriptor] @@ -116,38 +114,10 @@ OPTIONS created. Supported values include db2, mssql, oracle, h2, postgresql, and sybase, case-insensitive. If not specified, the value of the database-vendor-name attribute in - glassfish-ejb-jar.xml is used. If no value is specified, a - connection is made to the resource specified by the jndi-name - subelement of the cmp-resource element in the glassfish-ejb-jar.xml - file, and the database vendor name is read. If the connection + glassfish-ejb-jar.xml is used. If the connection cannot be established, or if the value is not recognized, SQL-92 compliance is presumed. - --createtables - If specified as true, creates tables at deployment of an - application with unmapped CMP beans. If specified as false, tables - are not created. If not specified, the value of the - create-tables-at-deploy entry in the cmp-resource element of the - glassfish-ejb-jar.xml file determines whether or not tables are - created. No unique constraints are created for the tables. - - --dropandcreatetables - If specified as true when the component is redeployed, the tables - created by the previous deployment are dropped before creating the - new tables. Applies to deployed applications with unmapped CMP - beans. If specified as false, tables are neither dropped nor - created. If not specified, the tables are dropped if the - drop-tables-at-undeploy entry in the cmp-resource element of the - glassfish-ejb-jar.xml file is set to true, and the new tables are - created if the create-tables-at-deploy entry in the cmp-resource - element of the glassfish-ejb-jar.xml file is set to true. - - --uniquetablenames - Guarantees unique table names for all the beans and results in a - hash code added to the table names. This is useful if you have an - application with case-sensitive bean names. Applies to applications - with unmapped CMP beans. - --deploymentplan Deploys the deployment plan, which is a JAR file that contains GlassFish Server descriptors. Specify this option when deploying a diff --git a/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/undeploy.1 b/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/undeploy.1 index bdbf3d5f656..1974455fd3d 100644 --- a/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/undeploy.1 +++ b/nucleus/deployment/admin/src/main/manpages/org/glassfish/deployment/admin/undeploy.1 @@ -4,7 +4,7 @@ NAME undeploy - removes a deployed component SYNOPSIS - undeploy [--help] [--target target] [--droptables={true|false}] + undeploy [--help] [--target target] [--cascade={false|true}] name DESCRIPTION @@ -29,14 +29,6 @@ OPTIONS connectors (resource adapters) and applications. Default value is false. - --droptables - If set to true, drops the tables that the application created by - using CMP beans during deployment. If set to false, tables are not - dropped. If not specified, the value of the drop-tables-at-deploy - entry in the cmp-resource element of the glassfish-ejb-jar.xml file - determines whether or not tables are dropped. Default value is - true. - --target Specifies the target from which you are undeploying. Valid values are: @@ -76,15 +68,7 @@ EXAMPLES asadmin> undeploy Cart Command undeploy executed successfully. - Example 2, Undeploying an Enterprise Bean With Container-Managed - Persistence (CMP) - This example undeploys a CMP bean named myejb and drops the - corresponding database tables. - - asadmin> undeploy --droptables=true myejb - Command undeploy executed successfully. - - Example 3, Undeploying a Connector (Resource Adapter) + Example 2, Undeploying a Connector (Resource Adapter) This example undeploys the connector module named jdbcra and performs a cascading delete to remove the associated resources and connection pools. diff --git a/nucleus/deployment/common/src/main/java/org/glassfish/deployment/common/DeploymentProperties.java b/nucleus/deployment/common/src/main/java/org/glassfish/deployment/common/DeploymentProperties.java index e61d05fcf58..99c251ce985 100644 --- a/nucleus/deployment/common/src/main/java/org/glassfish/deployment/common/DeploymentProperties.java +++ b/nucleus/deployment/common/src/main/java/org/glassfish/deployment/common/DeploymentProperties.java @@ -539,7 +539,6 @@ private static void initializeKeyMap() { public static final String IS_UNDEPLOY = "isundeploy"; public static final String IGNORE_CASCADE = "_ignoreCascade"; public static final String KEEP_STATE = "keepstate"; - public static final String DROP_TABLES = "droptables"; public static final String ALT_DD = "altdd"; public static final String RUNTIME_ALT_DD = "runtimealtdd"; public static final String COMMAND_PARAMS = "commandparams"; From c793fb704031d436bc2f503907d4fb25c513d87f Mon Sep 17 00:00:00 2001 From: abdulrahim458 <67860725+abdulrahim458@users.noreply.github.com> Date: Fri, 17 Apr 2026 19:10:18 +0530 Subject: [PATCH 031/133] Add Payara Nexus registry to Dependabot config --- .github/dependabot.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index bb4d4ab7031..08819c5eef6 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,8 +1,18 @@ version: 2 + +registries: + payara-private-nexus: + type: maven-repository + url: https://nexus.dev.payara.fish/repository/payara-enterprise-artifacts-private + username: ${{secrets.PAYARA_NEXUS_USERNAME}} + password: ${{secrets.PAYARA_NEXUS_PASSWORD}} + updates: # Configuration for Maven - package-ecosystem: "maven" directory: "/" # Location of package manifests + registries: + - payara-private-nexus schedule: interval: "daily" open-pull-requests-limit: 5 From 2f292a60e046c436453ab8675ba5679fe58e6aae Mon Sep 17 00:00:00 2001 From: luiseufrasio Date: Fri, 17 Apr 2026 12:04:53 -0300 Subject: [PATCH 032/133] FISH-13096 : to create the final PR --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9c79d8cfebf..efb4f7c3714 100644 --- a/pom.xml +++ b/pom.xml @@ -249,7 +249,7 @@ 3.0.4 5.0.0-B11.payara-p1 9.9.0 - 6.8.0.payara-p2-SNAPSHOT + 6.8.0.payara-p2 2.1.1 2.1.1 4.0.4.payara-p1 From 30738ed20e24c72f4a46072ecde90b82793ad132 Mon Sep 17 00:00:00 2001 From: adrian Date: Fri, 17 Apr 2026 18:25:40 +0300 Subject: [PATCH 033/133] FISH-13275: don't start payara at the start of the test --- Jenkinsfile | 6 ++++-- .../functional/deployment-groups/test_deployment_group.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 52331b66401..0a65b8b3640 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -403,8 +403,10 @@ pipeline { --asadmin ${pwd()}/payara7/bin/asadmin""" echo '*#*#*#*#*#*#*#*#*#*#*#*# Running deployment groups tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - sh """pip install -r appserver/tests/functional/deployment-groups/requirements.txt""" - sh """export PAYARA_HOME=${pwd()}/payara7 && pytest appserver/tests/functional/deployment-groups/test_deployment_group.py -v -s""" + sh """curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py""" + sh """python3 get-pip.py --user""" + sh """$HOME/.local/bin/pip install -r appserver/tests/functional/deployment-groups/requirements.txt""" + sh """export PAYARA_HOME=${pwd()}/payara7 && $HOME/.local/bin/pytest appserver/tests/functional/deployment-groups/test_deployment_group.py -v -s""" echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran deployment groups tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran test *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index ab2f58ec77a..f51cd18fd7c 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -141,7 +141,7 @@ def check_http_app_available(host: str, port: str, app_name: str, timeout: int = # Fixtures # --------------------------------------------------------------------------- -@pytest.fixture(scope="session", autouse=True) +@pytest.fixture(scope="session") def payara_domain(): """ Start the Payara domain before all tests and stop it after. From ff68297f4eeea5fc7d36cb67c03959c1401e6bbc Mon Sep 17 00:00:00 2001 From: adrian Date: Fri, 17 Apr 2026 18:46:39 +0300 Subject: [PATCH 034/133] FISH-13275: don't start payara at the start of the test --- .../deployment-groups/test_deployment_group.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index f51cd18fd7c..8b6ae130686 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -156,18 +156,6 @@ def payara_domain(): logger.info("Checking JDK version") java_result = subprocess.run(["java", "-version"], capture_output=True, text=True) logger.info(f"JDK version: {java_result.stderr.strip()}") - - # Start the domain - try: - logger.info("Starting Payara domain") - asadmin.run("start-domain") - logger.info("Payara domain started successfully") - yield - finally: - # Stop the domain - logger.info("Stopping Payara domain") - asadmin.run_no_raise("stop-domain") - logger.info("Payara domain stopped") @pytest.fixture(scope="module") From a91f039356d532ddd7c2a2935ad3abe9eba9f40d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Apr 2026 16:26:53 +0000 Subject: [PATCH 035/133] Bump maven.plugin.api.version from 3.9.14 to 3.9.15 Bumps `maven.plugin.api.version` from 3.9.14 to 3.9.15. Updates `org.apache.maven:maven-plugin-api` from 3.9.14 to 3.9.15 - [Release notes](https://github.com/apache/maven/releases) - [Commits](https://github.com/apache/maven/compare/maven-3.9.14...maven-3.9.15) Updates `org.apache.maven:maven-core` from 3.9.14 to 3.9.15 --- updated-dependencies: - dependency-name: org.apache.maven:maven-plugin-api dependency-version: 3.9.15 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.apache.maven:maven-core dependency-version: 3.9.15 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- nucleus/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nucleus/pom.xml b/nucleus/pom.xml index 8ba58e1bdfd..b8e7ed1e039 100644 --- a/nucleus/pom.xml +++ b/nucleus/pom.xml @@ -69,7 +69,7 @@ 2.6 1.0-alpha-5 - 3.9.14 + 3.9.15 2.0.0.payara-p1 From 9b6701d4d9e81f8a2156e40b32303d4402689c2d Mon Sep 17 00:00:00 2001 From: adrian Date: Fri, 17 Apr 2026 20:10:08 +0300 Subject: [PATCH 036/133] FISH-13275: fix node not existing --- .../test_deployment_group.py | 40 ++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 8b6ae130686..76872be8e1b 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -107,6 +107,20 @@ def get_instance_http_port(self, instance_name: str) -> str | None: return m.group(1) return None + def get_available_nodes(self) -> list[str]: + """Get list of available nodes.""" + result = self.run_no_raise("list-nodes") + nodes = [] + for line in result.stdout.splitlines(): + line = line.strip() + # Skip header lines and empty lines + if not line or line.startswith("Node") or line.startswith("Command"): + continue + parts = line.split() + if parts: + nodes.append(parts[0]) + return nodes + def check_http_app_available(host: str, port: str, app_name: str, timeout: int = 30) -> bool: """ @@ -189,19 +203,35 @@ def deployment_group_env(asadmin, http_port_base): Yielded dict keys: dg_name – deployment group name instances – list of instance names - node_name – "localhost-domain1" (default local node) + node_name – name of the node used (created or existing) """ # Use unique names to avoid conflicts from previous test runs unique_id = str(uuid.uuid4())[:8] dg_name = f"test-dg-{unique_id}" instance_names = [f"test-dg-inst1-{unique_id}", f"test-dg-inst2-{unique_id}"] - node_name = "localhost-domain1" logger.info(f"Setting up deployment group environment: {dg_name}") # --- Pre-setup cleanup (handle stale resources from previous runs) --- logger.info("Checking for and cleaning up any existing resources from previous runs") + # Get or create a node + available_nodes = asadmin.get_available_nodes() + logger.info(f"Available nodes: {available_nodes}") + + if not available_nodes: + # No nodes exist, create a local node + logger.info("No nodes found, creating a local node") + node_name = f"localhost-{unique_id}" + asadmin.run("create-local-instance", "--node", node_name) + logger.info(f"Created local node: {node_name}") + node_created = True + else: + # Use the first available node + node_name = available_nodes[0] + logger.info(f"Using existing node: {node_name}") + node_created = False + # Clean up any test applications at domain level logger.info("Cleaning up test applications from domain level") result = asadmin.run_no_raise("list-applications", "--long") @@ -309,6 +339,12 @@ def deployment_group_env(asadmin, http_port_base): logger.info(f"Deleting deployment group: {dg_name}") asadmin.run_no_raise("delete-deployment-group", dg_name) + + # Delete the node if we created it + if node_created: + logger.info(f"Deleting node: {node_name}") + asadmin.run_no_raise("delete-node", node_name) + logger.info(f"Deployment group environment teardown complete: {dg_name}") # --------------------------------------------------------------------------- From 53bc59b47a2137edf6a402b6613531558fb594e0 Mon Sep 17 00:00:00 2001 From: adrian Date: Fri, 17 Apr 2026 20:35:26 +0300 Subject: [PATCH 037/133] FISH-13275: fixed node creation --- .../test_deployment_group.py | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 76872be8e1b..f0e491f7aa1 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -121,6 +121,21 @@ def get_available_nodes(self) -> list[str]: nodes.append(parts[0]) return nodes + def wait_for_instance_start(self, instance_name: str, timeout: int = 60) -> bool: + """Wait for an instance to be in running state.""" + logger.info(f"Waiting for instance {instance_name} to start (timeout: {timeout}s)") + start_time = time.time() + while time.time() - start_time < timeout: + result = self.run_no_raise("list-instances") + for line in result.stdout.splitlines(): + line = line.strip() + if instance_name in line and "running" in line.lower(): + logger.info(f"Instance {instance_name} is running") + return True + time.sleep(2) + logger.warning(f"Instance {instance_name} did not start within {timeout}s") + return False + def check_http_app_available(host: str, port: str, app_name: str, timeout: int = 30) -> bool: """ @@ -223,7 +238,7 @@ def deployment_group_env(asadmin, http_port_base): # No nodes exist, create a local node logger.info("No nodes found, creating a local node") node_name = f"localhost-{unique_id}" - asadmin.run("create-local-instance", "--node", node_name) + asadmin.run("create-node-config", node_name) logger.info(f"Created local node: {node_name}") node_created = True else: @@ -294,6 +309,16 @@ def deployment_group_env(asadmin, http_port_base): logger.info(f"Starting deployment group: {dg_name}") asadmin.run("start-deployment-group", dg_name) + # 5. Wait for all instances to be running + logger.info("Waiting for instances to start") + for inst in instance_names: + if not asadmin.wait_for_instance_start(inst, timeout=120): + logger.error(f"Instance {inst} failed to start") + # Get instance status for debugging + result = asadmin.run_no_raise("list-instances") + logger.error(f"Current instance status: {result.stdout}") + raise RuntimeError(f"Instance {inst} failed to start") + logger.info(f"Deployment group environment setup complete: {dg_name}") yield { @@ -343,7 +368,7 @@ def deployment_group_env(asadmin, http_port_base): # Delete the node if we created it if node_created: logger.info(f"Deleting node: {node_name}") - asadmin.run_no_raise("delete-node", node_name) + asadmin.run_no_raise("delete-node-config", node_name) logger.info(f"Deployment group environment teardown complete: {dg_name}") From cd68177a7e971fcf7ee8abc59ed07a80e32e1cc3 Mon Sep 17 00:00:00 2001 From: adrian Date: Fri, 17 Apr 2026 20:58:20 +0300 Subject: [PATCH 038/133] FISH-13275: wait for instances to boot --- .../test_deployment_group.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index f0e491f7aa1..8abffc87d8e 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -136,6 +136,25 @@ def wait_for_instance_start(self, instance_name: str, timeout: int = 60) -> bool logger.warning(f"Instance {instance_name} did not start within {timeout}s") return False + def wait_for_instance_stop(self, instance_name: str, timeout: int = 60) -> bool: + """Wait for an instance to be stopped.""" + logger.info(f"Waiting for instance {instance_name} to stop (timeout: {timeout}s)") + start_time = time.time() + while time.time() - start_time < timeout: + result = self.run_no_raise("list-instances") + for line in result.stdout.splitlines(): + line = line.strip() + if instance_name in line and "running" in line.lower(): + logger.debug(f"Instance {instance_name} still running") + break + else: + # Instance not found in list or not running + logger.info(f"Instance {instance_name} is stopped") + return True + time.sleep(2) + logger.warning(f"Instance {instance_name} did not stop within {timeout}s") + return False + def check_http_app_available(host: str, port: str, app_name: str, timeout: int = 30) -> bool: """ @@ -309,6 +328,9 @@ def deployment_group_env(asadmin, http_port_base): logger.info(f"Starting deployment group: {dg_name}") asadmin.run("start-deployment-group", dg_name) + # Give instances time to stabilize before checking status + time.sleep(5) + # 5. Wait for all instances to be running logger.info("Waiting for instances to start") for inst in instance_names: @@ -354,6 +376,11 @@ def deployment_group_env(asadmin, http_port_base): logger.info(f"Stopping deployment group: {dg_name}") asadmin.run_no_raise("stop-deployment-group", dg_name) + # Wait for instances to stop before deleting + logger.info("Waiting for instances to stop") + for inst in instance_names: + asadmin.wait_for_instance_stop(inst, timeout=60) + for inst in instance_names: logger.info(f"Removing instance {inst} from deployment group {dg_name}") asadmin.run_no_raise("remove-instance-from-deployment-group", @@ -389,6 +416,10 @@ def test_deploy_to_group_appears_on_all_instances( asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", test_war) + # Wait for application to deploy on all instances + logger.info("Waiting for application to deploy on all instances") + time.sleep(10) + try: for inst in instances: apps = asadmin.list_applications_on_instance(inst) From 9de07893d78aa8ab193e4de907a4f2fefb770b05 Mon Sep 17 00:00:00 2001 From: adrian Date: Fri, 17 Apr 2026 21:30:33 +0300 Subject: [PATCH 039/133] FISH-13275: force kill instances --- .../test_deployment_group.py | 34 +++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 8abffc87d8e..677d0b13362 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -131,11 +131,33 @@ def wait_for_instance_start(self, instance_name: str, timeout: int = 60) -> bool line = line.strip() if instance_name in line and "running" in line.lower(): logger.info(f"Instance {instance_name} is running") - return True + # Additional check: verify HTTP port is actually listening + http_port = self.get_instance_http_port(instance_name) + if http_port: + if self._is_port_listening("localhost", http_port): + logger.info(f"Instance {instance_name} HTTP port {http_port} is listening") + return True + else: + logger.debug(f"Instance {instance_name} running but HTTP port {http_port} not yet listening") + else: + logger.debug(f"Instance {instance_name} running but HTTP port not yet configured") + break time.sleep(2) logger.warning(f"Instance {instance_name} did not start within {timeout}s") return False + def _is_port_listening(self, host: str, port: str, timeout: int = 2) -> bool: + """Check if a port is accepting TCP connections.""" + import socket + try: + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(timeout) + result = sock.connect_ex((host, int(port))) + sock.close() + return result == 0 + except (socket.error, ValueError): + return False + def wait_for_instance_stop(self, instance_name: str, timeout: int = 60) -> bool: """Wait for an instance to be stopped.""" logger.info(f"Waiting for instance {instance_name} to stop (timeout: {timeout}s)") @@ -310,6 +332,10 @@ def deployment_group_env(asadmin, http_port_base): ), inst, ) + # Add delay between instance creation to avoid resource conflicts + if idx < len(instance_names) - 1: + logger.info("Waiting before creating next instance") + time.sleep(2) # 2. Create the deployment group logger.info(f"Creating deployment group: {dg_name}") @@ -379,7 +405,9 @@ def deployment_group_env(asadmin, http_port_base): # Wait for instances to stop before deleting logger.info("Waiting for instances to stop") for inst in instance_names: - asadmin.wait_for_instance_stop(inst, timeout=60) + if not asadmin.wait_for_instance_stop(inst, timeout=60): + logger.warning(f"Instance {inst} did not stop gracefully, attempting force stop") + asadmin.run_no_raise("stop-instance", "--force", inst) for inst in instance_names: logger.info(f"Removing instance {inst} from deployment group {dg_name}") @@ -418,7 +446,7 @@ def test_deploy_to_group_appears_on_all_instances( # Wait for application to deploy on all instances logger.info("Waiting for application to deploy on all instances") - time.sleep(10) + time.sleep(30) try: for inst in instances: From f76464a07f13f160f8fcf81ca5342042aa467744 Mon Sep 17 00:00:00 2001 From: adrian Date: Sun, 19 Apr 2026 07:32:05 +0300 Subject: [PATCH 040/133] FISH-13275: fixed default node name in Jenkins --- .../tests/functional/deployment-groups/test_deployment_group.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 8b6ae130686..30f66c49730 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -195,7 +195,7 @@ def deployment_group_env(asadmin, http_port_base): unique_id = str(uuid.uuid4())[:8] dg_name = f"test-dg-{unique_id}" instance_names = [f"test-dg-inst1-{unique_id}", f"test-dg-inst2-{unique_id}"] - node_name = "localhost-domain1" + node_name = "localhost-test-domain" logger.info(f"Setting up deployment group environment: {dg_name}") From e294cac88e3b672ce0dbcbfb8e8869a29ab98171 Mon Sep 17 00:00:00 2001 From: adrian Date: Sun, 19 Apr 2026 09:33:25 +0300 Subject: [PATCH 041/133] FISH-13275: increased timeout for http checks --- .../test_deployment_group.py | 50 +++++++++++-------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 30f66c49730..f8c43bc43dd 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -6,8 +6,6 @@ propagates to all instances. The test suite automatically: -- Starts the Payara domain before all tests -- Stops the Payara domain after all tests complete - Logs all operations with detailed output - Uses clusterjsp.war from the test-apps folder @@ -44,6 +42,8 @@ # Helpers # --------------------------------------------------------------------------- +_PORT_OFFSET = 0 + class AsadminRunner: """Thin wrapper around asadmin subprocess calls.""" @@ -108,34 +108,38 @@ def get_instance_http_port(self, instance_name: str) -> str | None: return None -def check_http_app_available(host: str, port: str, app_name: str, timeout: int = 30) -> bool: +def check_http_app_available(host: str, port: str, app_name: str, timeout: int = 60) -> bool: """ - Check if the application is available via HTTP. + Check if the application is available via HTTP, with retries. Args: host: Hostname or IP address port: HTTP port number app_name: Name of the application - timeout: Timeout in seconds for the HTTP request + timeout: Timeout in seconds for the HTTP request to succeed Returns: True if the application responds with HTTP 200, False otherwise """ url = f"http://{host}:{port}/{app_name}" - logger.info(f"Checking HTTP availability: {url}") - - try: - response = requests.get(url, timeout=timeout) - logger.info(f"HTTP response status: {response.status_code}") - if response.status_code == 200: - logger.info(f"✓ Application '{app_name}' is accessible via HTTP at {url}") - return True - else: - logger.warning(f"Application '{app_name}' returned status {response.status_code}") - return False - except requests.exceptions.RequestException as e: - logger.error(f"HTTP request failed for {url}: {e}") - return False + logger.info(f"Checking HTTP availability: {url} (up to {timeout}s)") + + start_time = time.time() + while time.time() - start_time < timeout: + try: + response = requests.get(url, timeout=5) + if response.status_code == 200: + logger.info(f"✓ Application '{app_name}' is accessible via HTTP at {url}") + return True + else: + logger.debug(f"Application '{app_name}' returned status {response.status_code}, retrying...") + except requests.exceptions.RequestException as e: + logger.debug(f"HTTP request failed for {url}: {e}") + + time.sleep(1) + + logger.error(f"Timed out waiting for HTTP availability at {url}") + return False # --------------------------------------------------------------------------- # Fixtures @@ -229,11 +233,12 @@ def deployment_group_env(asadmin, http_port_base): asadmin.run_no_raise("delete-instance", inst) # --- Setup ----------------------------------------------------------- + global _PORT_OFFSET # 1. Create standalone instances with unique HTTP ports for idx, inst in enumerate(instance_names): - http_port = http_port_base + idx - https_port = http_port_base + idx + 100 - admin_port_offset = http_port_base + idx + 200 + http_port = http_port_base + _PORT_OFFSET + idx + https_port = http_port_base + _PORT_OFFSET + idx + 100 + admin_port_offset = http_port_base + _PORT_OFFSET + idx + 200 logger.info(f"Creating instance: {inst} with HTTP port {http_port}") asadmin.run( "create-instance", @@ -246,6 +251,7 @@ def deployment_group_env(asadmin, http_port_base): ), inst, ) + _PORT_OFFSET += 10 # 2. Create the deployment group logger.info(f"Creating deployment group: {dg_name}") From d95ab4d281c9bced17f888a80a7cd1bda16e8789 Mon Sep 17 00:00:00 2001 From: abdulrahim458 <67860725+abdulrahim458@users.noreply.github.com> Date: Sun, 19 Apr 2026 23:56:04 +0530 Subject: [PATCH 042/133] Update dependabot.yml --- .github/dependabot.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 08819c5eef6..218fcb48410 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -3,10 +3,10 @@ version: 2 registries: payara-private-nexus: type: maven-repository - url: https://nexus.dev.payara.fish/repository/payara-enterprise-artifacts-private - username: ${{secrets.PAYARA_NEXUS_USERNAME}} - password: ${{secrets.PAYARA_NEXUS_PASSWORD}} - + url: https://nexus.dev.payara.fish/repository/payara-staging + username: ${{ secrets.PAYARA_NEXUS_USERNAME }} + password: ${{ secrets.PAYARA_NEXUS_PASSWORD }} + updates: # Configuration for Maven - package-ecosystem: "maven" From ac1e32e4a0860004da3e05684a5abc0e53bc9eb2 Mon Sep 17 00:00:00 2001 From: adrian Date: Mon, 20 Apr 2026 07:07:25 +0300 Subject: [PATCH 043/133] FISH-13275: check for open port before booting --- .../test_deployment_group.py | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index f8c43bc43dd..9f0af7e15ea 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -30,6 +30,7 @@ import logging import requests import uuid +import socket logging.basicConfig( level=logging.DEBUG, @@ -108,6 +109,36 @@ def get_instance_http_port(self, instance_name: str) -> str | None: return None +def check_port_open(host: str, port: str, timeout: int = 120) -> bool: + """ + Check if a TCP port is accepting connections. + + Args: + host: Hostname or IP address + port: Port number as string + timeout: Timeout in seconds + + Returns: + True if port is open, False otherwise + """ + port_int = int(port) + logger.info(f"Checking if port {port_int} is open on {host} (up to {timeout}s)") + + start_time = time.time() + while time.time() - start_time < timeout: + try: + with socket.create_connection((host, port_int), timeout=2): + logger.info(f"✓ Port {port_int} is open on {host}") + return True + except (socket.timeout, ConnectionRefusedError, OSError): + logger.debug(f"Port {port_int} not yet open on {host}, retrying...") + + time.sleep(2) + + logger.error(f"Timed out waiting for port {port_int} to open on {host}") + return False + + def check_http_app_available(host: str, port: str, app_name: str, timeout: int = 60) -> bool: """ Check if the application is available via HTTP, with retries. @@ -270,6 +301,14 @@ def deployment_group_env(asadmin, http_port_base): logger.info(f"Starting deployment group: {dg_name}") asadmin.run("start-deployment-group", dg_name) + # 5. Wait for instances to actually start and open their HTTP ports + logger.info("Waiting for instances to start and open HTTP ports...") + for inst in instance_names: + http_port = asadmin.get_instance_http_port(inst) + assert http_port is not None, f"Could not get HTTP port for '{inst}'" + if not check_port_open("localhost", http_port, timeout=120): + raise RuntimeError(f"Instance '{inst}' failed to start on HTTP port {http_port} within timeout") + logger.info(f"Deployment group environment setup complete: {dg_name}") yield { From 799360df7da5e23d16b1bfb6be8566737f9116b5 Mon Sep 17 00:00:00 2001 From: adrian Date: Mon, 20 Apr 2026 07:41:49 +0300 Subject: [PATCH 044/133] FISH-13275: use rando port --- .../test_deployment_group.py | 51 ++++++++++++++----- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 9f0af7e15ea..2569b352ebf 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -43,8 +43,6 @@ # Helpers # --------------------------------------------------------------------------- -_PORT_OFFSET = 0 - class AsadminRunner: """Thin wrapper around asadmin subprocess calls.""" @@ -109,6 +107,34 @@ def get_instance_http_port(self, instance_name: str) -> str | None: return None +def find_free_port(start_port: int = 20000, max_attempts: int = 1000, exclude_ports: list[int] = None) -> int: + """ + Find a free port by checking if it's available. + + Args: + start_port: Starting port number to check from + max_attempts: Maximum number of ports to try + exclude_ports: List of ports to skip even if available + + Returns: + A free port number + """ + if exclude_ports is None: + exclude_ports = [] + + for port in range(start_port, start_port + max_attempts): + if port in exclude_ports: + continue + try: + with socket.create_connection(("localhost", port), timeout=1): + # Port is in use, try next + continue + except (ConnectionRefusedError, socket.timeout, OSError): + # Port is available + return port + raise RuntimeError(f"Could not find a free port in range {start_port}-{start_port + max_attempts}") + + def check_port_open(host: str, port: str, timeout: int = 120) -> bool: """ Check if a TCP port is accepting connections. @@ -198,11 +224,6 @@ def asadmin() -> AsadminRunner: return AsadminRunner() -@pytest.fixture(scope="module") -def http_port_base(request) -> int: - return int(request.config.getoption("--instance-http-port-base")) - - @pytest.fixture(scope="module") def test_war(tmp_path_factory) -> str: """ @@ -216,7 +237,7 @@ def test_war(tmp_path_factory) -> str: @pytest.fixture() -def deployment_group_env(asadmin, http_port_base): +def deployment_group_env(asadmin): """ Create a deployment group with two standalone instances, yield the environment dict, then clean up everything in reverse order. @@ -264,12 +285,15 @@ def deployment_group_env(asadmin, http_port_base): asadmin.run_no_raise("delete-instance", inst) # --- Setup ----------------------------------------------------------- - global _PORT_OFFSET - # 1. Create standalone instances with unique HTTP ports + # 1. Create standalone instances with random free HTTP ports for idx, inst in enumerate(instance_names): - http_port = http_port_base + _PORT_OFFSET + idx - https_port = http_port_base + _PORT_OFFSET + idx + 100 - admin_port_offset = http_port_base + _PORT_OFFSET + idx + 200 + allocated_ports = [] + http_port = find_free_port(exclude_ports=allocated_ports) + allocated_ports.append(http_port) + https_port = find_free_port(exclude_ports=allocated_ports) + allocated_ports.append(https_port) + admin_port_offset = find_free_port(exclude_ports=allocated_ports) + allocated_ports.append(admin_port_offset) logger.info(f"Creating instance: {inst} with HTTP port {http_port}") asadmin.run( "create-instance", @@ -282,7 +306,6 @@ def deployment_group_env(asadmin, http_port_base): ), inst, ) - _PORT_OFFSET += 10 # 2. Create the deployment group logger.info(f"Creating deployment group: {dg_name}") From c7a647d489e57fcfb1f9926c4483520b864e6f1e Mon Sep 17 00:00:00 2001 From: adrian Date: Mon, 20 Apr 2026 09:02:57 +0300 Subject: [PATCH 045/133] FISH-13275: fixed tests order --- Jenkinsfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 0a65b8b3640..919bf1b8ff5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -397,10 +397,7 @@ pipeline { -Dfailsafe.rerunFailingTestsCount=2 \ -f appserver/tests/functional/embeddedtest """ - echo '*#*#*#*#*#*#*#*#*#*#*#*# Running asadmin tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' setupDomain() - sh """python3 appserver/tests/functional/asadmin/run_all_tests.py \ - --asadmin ${pwd()}/payara7/bin/asadmin""" echo '*#*#*#*#*#*#*#*#*#*#*#*# Running deployment groups tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' sh """curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py""" @@ -409,7 +406,10 @@ pipeline { sh """export PAYARA_HOME=${pwd()}/payara7 && $HOME/.local/bin/pytest appserver/tests/functional/deployment-groups/test_deployment_group.py -v -s""" echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran deployment groups tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran test *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' + echo '*#*#*#*#*#*#*#*#*#*#*#*# Running asadmin tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' + sh """python3 appserver/tests/functional/asadmin/run_all_tests.py \ + --asadmin ${pwd()}/payara7/bin/asadmin""" + echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran asadmin test *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } post { always { From 4a0cf5f55b1fe7ccc03a33e4267c798973cdf3d1 Mon Sep 17 00:00:00 2001 From: Abdul Rahim Date: Mon, 20 Apr 2026 15:53:35 +0530 Subject: [PATCH 046/133] FISH-13115 update payara-staging repo --- .github/dependabot.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e194871b369..57511677d29 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,8 +1,18 @@ version: 2 + +registries: + payara-nexus-staging: + type: maven-repository + url: https://nexus.dev.payara.fish/repository/payara-staging + username: ${{ secrets.PAYARA_NEXUS_USERNAME }} + password: ${{ secrets.PAYARA_NEXUS_PASSWORD }} + updates: # Configuration for Maven - package-ecosystem: "maven" directory: "/" # Location of package manifests + registries: + - payara-nexus-staging schedule: interval: "daily" open-pull-requests-limit: 5 @@ -20,12 +30,6 @@ updates: - dependency-name: "fish.payara.*" update-types: ["version-update:semver-major"] - - dependency-name: "*payara-px*" - update-types: - - "version-update:semver-major" - - "version-update:semver-minor" - - "version-update:semver-patch" - # Ignore major version updates for individual dependencies within the org.eclipse.persistence group - dependency-name: "org.eclipse.persistence:org.eclipse.persistence.core" update-types: ["version-update:semver-major"] From 6f3c8cd1ed82e6556f97dc5061b58946c82cb35f Mon Sep 17 00:00:00 2001 From: adrian Date: Mon, 20 Apr 2026 16:17:01 +0300 Subject: [PATCH 047/133] FISH-13275: use only one clusterjsp --- .../tests/functional/deployment-groups/README.md | 6 +++--- .../deployment-groups/test_deployment_group.py | 2 +- .../payara/embedded/EmbeddedDeploymentIT.java | 2 +- .../src/test/resources/clusterjsp.war | Bin 2701 -> 0 bytes .../test-apps/clusterjsp.war | Bin 5 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 appserver/tests/functional/embeddedtest/src/test/resources/clusterjsp.war rename appserver/tests/functional/{deployment-groups => }/test-apps/clusterjsp.war (100%) diff --git a/appserver/tests/functional/deployment-groups/README.md b/appserver/tests/functional/deployment-groups/README.md index d5dcd8d7f2b..7b87f3fcb85 100644 --- a/appserver/tests/functional/deployment-groups/README.md +++ b/appserver/tests/functional/deployment-groups/README.md @@ -31,7 +31,7 @@ export PAYARA_HOME=/path/to/payara 3. Ensure the test WAR file exists: ```bash -test-apps/clusterjsp.war +../test-apps/clusterjsp.war ``` ## Running the Tests @@ -53,7 +53,7 @@ The test suite automatically: - Starts the Payara domain before all tests - Stops the Payara domain after all tests complete - Logs all operations with detailed output -- Uses `clusterjsp.war` from the test-apps folder +- Uses `clusterjsp.war` from the ../test-apps folder ### Custom HTTP Port Base @@ -69,7 +69,7 @@ pytest test_deployment_group.py --instance-http-port-base=28080 -v - Set the PAYARA_HOME environment variable to your Payara installation directory **Error: Test WAR file not found** -- Ensure `clusterjsp.war` exists in the `test-apps/` folder +- Ensure `clusterjsp.war` exists in the `../test-apps/` folder **HTTP requests failing** - Ensure instances are running and accessible on the configured ports diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 2569b352ebf..780f90e2a1e 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -229,7 +229,7 @@ def test_war(tmp_path_factory) -> str: """ Path to a test WAR file. Uses clusterjsp.war from test-apps folder. """ - war_path = os.path.join(os.path.dirname(__file__), "test-apps", "clusterjsp.war") + war_path = os.path.join(os.path.dirname(__file__), "..", "test-apps", "clusterjsp.war") if not os.path.isfile(war_path): raise RuntimeError(f"Test WAR file not found: {war_path}") logger.info(f"Using test WAR: {war_path}") diff --git a/appserver/tests/functional/embeddedtest/src/test/java/fish/payara/embedded/EmbeddedDeploymentIT.java b/appserver/tests/functional/embeddedtest/src/test/java/fish/payara/embedded/EmbeddedDeploymentIT.java index 7138ad6a329..67cf1892100 100644 --- a/appserver/tests/functional/embeddedtest/src/test/java/fish/payara/embedded/EmbeddedDeploymentIT.java +++ b/appserver/tests/functional/embeddedtest/src/test/java/fish/payara/embedded/EmbeddedDeploymentIT.java @@ -84,7 +84,7 @@ public void DeployCluster() throws IOException { glassfish.start(); - glassfish.getDeployer().deploy(new File("./src/test/resources/clusterjsp.war")); + glassfish.getDeployer().deploy(new File("../../../../test-apps/clusterjsp.war")); // Close the logger logger.removeHandler(handler); diff --git a/appserver/tests/functional/embeddedtest/src/test/resources/clusterjsp.war b/appserver/tests/functional/embeddedtest/src/test/resources/clusterjsp.war deleted file mode 100644 index c468d11ee085e5a5bc3ac49ea8b90909f306705c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2701 zcmZ`*c{r5o8=euv*k)qJ92z+kWtmY~LRyfK7-SvBo_(EW?6O8tlqq}SSSFEBWIJVF zvMnzee(JS?SnuxxPl~Biad*(8N6X$vB4<#LUU`&`1UAGfKOe2hV60&A^#C>Lj z7aUiJ%S7PrLEPoEvG$6Q{c*b851978WObQDKs%8L6hjU7VL52!rjaIN zSxomuEz*EWpKR{H-5lv5 ziB>p)ZZRS&y1-4%%(p>GadnE37X>XS6G@89=kFm2Z(+r;j5WdtZACAILNbyI{G!5t zip*eeA^D86UpVy7`)Kxm(crtJ**E$xQWRSbDZ8Pm(A5x|ET%7 z-VNwzYFGTGy=O5mw$o)zPHo>swXJs@zRu26YhnNl09?vhnNZ$@eB7v#vbIZ1?y zb4z7Qk8do6i6ohVKBnUQl3kgNhdOe|q!ee7Rwy0Gav5@*TC+Zxd?;Tj4YJkX#I3v@ zF#WE*Hne)@K)+D}=&okBvEdOXe~0C0N?gr0lLH4S;&t|&Xi1IOZo&9FBcbk8mm6tR z8-@@B<0W>@k*=44JeHr@RK&d@J$*IX};%tF^ z!OLx={>EGJ;DIg~-QeOGh{BP%!voG&#YG4Z(wnh{oVCsLu?L**L>m-XqwR>0ubZCs zICVHr%`FJ(N#9Ho*#nwF=_$!Ghivy<7>cSO!{dmTr7uy+U9HZipX|%}E`$4gZFXF3 z3t8ztzsdLaTqo>NeX1=Nb#!1=CAw5A0n_Ve!^$}fP~p=d>#EvO}KN>XKbpp zCe7HESHvcjPYZS>K!>@$^40u}-Dq<==vSh5twghft>$&Cy<$!Q<7)eZm#E;J5%efwmQIA8iCM{2gwrlVL(An0J& zLNt}NW_vPRcc}PUi}I7BzUt+wOZ?2T!l|*+7{{GL*GJCHPq-L(hnahh%-x;LgscjA zc}Y1%bylATHkhEITEw($l3w)dMGU+WW0JVr%)=L39K`NdAb-&3{*eOk?bWO6TK;c7 zKwk6C7X^B6AE5JMDDE^K#|QwhvHe0vQIWsU5tK$pDlWEGL_J#)$3H9BbycU92*Se^8rPgPR-M93^$i za7-pzjzS7d4hNZBuXwe^AS>o#o9VymlsDI=7MrUcQ;NDCAHsu~Lo6pk75@M_S~k`_ zaFB4hXDF*&ju-c^=i+Lz!my0?4vUe}gsM6m%=!$-&xX5~WvpG~+y>A7v2@cg_%SKv z@wtax??%6@MIH<_M!h@u>iG*JoPuB##>#~V`muiA(5M20s45n3GQCDJkWbqx*b$`c!_eR9?YQ~rga z&sW?K5vMLooYeEogF!aQGu&2V>G+%-$k?vT2q?~8Oa=k~ zJ~Yvz%M9zTthoLrmULM(QdQp7%6($=TlFFPvb=4r(LSy&;rEraCr?1bm%hPOItI{8 zg8CFC7VvX%IZtw#U_ZZ!(OrJul*ixK_jJ{GNN5!5wFo_z@Ym;}X_ zKS<$gjeB}g0<2+uMs+cu=e;18>4YUNPYAa z$4%;{e{bg2re2HD+iKY^h5l@r&_Zw5LRfPX_rR4!mU?ilyWARxV)3WvF=RGhh1v(L zPm@v2jj=^begVjBQIJ`>v$C)JeDY0`w0~Zosnq7yj&?*!En@;^a?Dfn-2ck%65zVM z(@AMNw_9XER#0Flt;qKe(2ERYfB}B>ME^59bWika{4_aqhx9vizeS-tqP;jvoBo9E z^GEwvpj(;!tU|Xkd(lXn{xmkfz-UdkziH`|vlj+T|4%@4G%Mi08+#9pV&328d-r5b h+jIXN(i?p*^!A~Cw7rf76NsJwq77Tx#dGcc+`phhHKPCk diff --git a/appserver/tests/functional/deployment-groups/test-apps/clusterjsp.war b/appserver/tests/functional/test-apps/clusterjsp.war similarity index 100% rename from appserver/tests/functional/deployment-groups/test-apps/clusterjsp.war rename to appserver/tests/functional/test-apps/clusterjsp.war From 2a7e4206b6ae3d7b26f5e61b237941a673d0e9ed Mon Sep 17 00:00:00 2001 From: adrian Date: Mon, 20 Apr 2026 16:40:29 +0300 Subject: [PATCH 048/133] FISH-13275: don't use random ports and random instance names --- .../test_deployment_group.py | 101 ++---------------- 1 file changed, 7 insertions(+), 94 deletions(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 780f90e2a1e..816a89fea42 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -29,7 +29,6 @@ import pytest import logging import requests -import uuid import socket logging.basicConfig( @@ -107,64 +106,6 @@ def get_instance_http_port(self, instance_name: str) -> str | None: return None -def find_free_port(start_port: int = 20000, max_attempts: int = 1000, exclude_ports: list[int] = None) -> int: - """ - Find a free port by checking if it's available. - - Args: - start_port: Starting port number to check from - max_attempts: Maximum number of ports to try - exclude_ports: List of ports to skip even if available - - Returns: - A free port number - """ - if exclude_ports is None: - exclude_ports = [] - - for port in range(start_port, start_port + max_attempts): - if port in exclude_ports: - continue - try: - with socket.create_connection(("localhost", port), timeout=1): - # Port is in use, try next - continue - except (ConnectionRefusedError, socket.timeout, OSError): - # Port is available - return port - raise RuntimeError(f"Could not find a free port in range {start_port}-{start_port + max_attempts}") - - -def check_port_open(host: str, port: str, timeout: int = 120) -> bool: - """ - Check if a TCP port is accepting connections. - - Args: - host: Hostname or IP address - port: Port number as string - timeout: Timeout in seconds - - Returns: - True if port is open, False otherwise - """ - port_int = int(port) - logger.info(f"Checking if port {port_int} is open on {host} (up to {timeout}s)") - - start_time = time.time() - while time.time() - start_time < timeout: - try: - with socket.create_connection((host, port_int), timeout=2): - logger.info(f"✓ Port {port_int} is open on {host}") - return True - except (socket.timeout, ConnectionRefusedError, OSError): - logger.debug(f"Port {port_int} not yet open on {host}, retrying...") - - time.sleep(2) - - logger.error(f"Timed out waiting for port {port_int} to open on {host}") - return False - - def check_http_app_available(host: str, port: str, app_name: str, timeout: int = 60) -> bool: """ Check if the application is available via HTTP, with retries. @@ -247,11 +188,9 @@ def deployment_group_env(asadmin): instances – list of instance names node_name – "localhost-domain1" (default local node) """ - # Use unique names to avoid conflicts from previous test runs - unique_id = str(uuid.uuid4())[:8] - dg_name = f"test-dg-{unique_id}" - instance_names = [f"test-dg-inst1-{unique_id}", f"test-dg-inst2-{unique_id}"] + dg_name = "test-dg" node_name = "localhost-test-domain" + instance_names = ["test-inst1", "test-inst2"] logger.info(f"Setting up deployment group environment: {dg_name}") @@ -274,36 +213,15 @@ def deployment_group_env(asadmin): # Stop and delete deployment group if it exists asadmin.run_no_raise("stop-deployment-group", dg_name) - for inst in instance_names: - asadmin.run_no_raise("remove-instance-from-deployment-group", - f"--instance={inst}", - f"--deploymentgroup={dg_name}") asadmin.run_no_raise("delete-deployment-group", dg_name) - # Delete instances if they exist (in case they weren't cleaned up properly) - for inst in instance_names: - asadmin.run_no_raise("delete-instance", inst) - # --- Setup ----------------------------------------------------------- - # 1. Create standalone instances with random free HTTP ports - for idx, inst in enumerate(instance_names): - allocated_ports = [] - http_port = find_free_port(exclude_ports=allocated_ports) - allocated_ports.append(http_port) - https_port = find_free_port(exclude_ports=allocated_ports) - allocated_ports.append(https_port) - admin_port_offset = find_free_port(exclude_ports=allocated_ports) - allocated_ports.append(admin_port_offset) - logger.info(f"Creating instance: {inst} with HTTP port {http_port}") + # 1. Create standalone instances with Payara default ports and hardcoded names + for inst in instance_names: + logger.info(f"Creating instance: {inst}") asadmin.run( "create-instance", f"--node={node_name}", - f"--systemproperties", - ( - f"HTTP_LISTENER_PORT={http_port}:" - f"HTTP_SSL_LISTENER_PORT={https_port}:" - f"ASADMIN_LISTENER_PORT={admin_port_offset}" - ), inst, ) @@ -324,13 +242,8 @@ def deployment_group_env(asadmin): logger.info(f"Starting deployment group: {dg_name}") asadmin.run("start-deployment-group", dg_name) - # 5. Wait for instances to actually start and open their HTTP ports - logger.info("Waiting for instances to start and open HTTP ports...") - for inst in instance_names: - http_port = asadmin.get_instance_http_port(inst) - assert http_port is not None, f"Could not get HTTP port for '{inst}'" - if not check_port_open("localhost", http_port, timeout=120): - raise RuntimeError(f"Instance '{inst}' failed to start on HTTP port {http_port} within timeout") + # 5. Wait for instances to actually start + logger.info("Waiting for instances to start...") logger.info(f"Deployment group environment setup complete: {dg_name}") From df4a7ab498b0a3f2971991f3745320193829e635 Mon Sep 17 00:00:00 2001 From: adrian Date: Mon, 20 Apr 2026 17:32:21 +0300 Subject: [PATCH 049/133] FISH-13275: use default port if not set --- .../functional/deployment-groups/test_deployment_group.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 816a89fea42..87093f6cc62 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -103,7 +103,8 @@ def get_instance_http_port(self, instance_name: str) -> str | None: m = re.search(r"=\s*(\d+)", line) if m: return m.group(1) - return None + logger.info(f"HTTP_LISTENER_PORT system property not set for {instance_name}, using default 8080") + return "8080" def check_http_app_available(host: str, port: str, app_name: str, timeout: int = 60) -> bool: From 12ed960dcf81db2d0892519977c5832026e87c0c Mon Sep 17 00:00:00 2001 From: adrian Date: Mon, 20 Apr 2026 18:44:53 +0300 Subject: [PATCH 050/133] FISH-13275: fix ports again --- .../test_deployment_group.py | 55 ++++++++++++++----- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 87093f6cc62..ff71bd84e40 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -93,8 +93,10 @@ def list_applications_on_instance(self, instance_name: str) -> list[str]: apps.append(parts[0]) return apps - def get_instance_http_port(self, instance_name: str) -> str | None: - """Get the HTTP listener port for the given instance via get command.""" + def get_instance_http_port(self, instance_name: str, instance_ports: dict = None) -> str | None: + """Get the HTTP listener port for the given instance via get command or from mapping.""" + if instance_ports and instance_name in instance_ports: + return str(instance_ports[instance_name]) result = self.run_no_raise( "get", f"servers.server.{instance_name}.system-property.HTTP_LISTENER_PORT.value", @@ -103,8 +105,7 @@ def get_instance_http_port(self, instance_name: str) -> str | None: m = re.search(r"=\s*(\d+)", line) if m: return m.group(1) - logger.info(f"HTTP_LISTENER_PORT system property not set for {instance_name}, using default 8080") - return "8080" + return None def check_http_app_available(host: str, port: str, app_name: str, timeout: int = 60) -> bool: @@ -192,6 +193,8 @@ def deployment_group_env(asadmin): dg_name = "test-dg" node_name = "localhost-test-domain" instance_names = ["test-inst1", "test-inst2"] + # Use fixed ports to ensure HTTP accessibility + instance_ports = {"test-inst1": 28080, "test-inst2": 28081} logger.info(f"Setting up deployment group environment: {dg_name}") @@ -217,12 +220,13 @@ def deployment_group_env(asadmin): asadmin.run_no_raise("delete-deployment-group", dg_name) # --- Setup ----------------------------------------------------------- - # 1. Create standalone instances with Payara default ports and hardcoded names + # 1. Create standalone instances with explicit HTTP ports for inst in instance_names: - logger.info(f"Creating instance: {inst}") + logger.info(f"Creating instance: {inst} with HTTP port {instance_ports[inst]}") asadmin.run( "create-instance", f"--node={node_name}", + f"--systemproperties=HTTP_LISTENER_PORT={instance_ports[inst]}", inst, ) @@ -251,6 +255,7 @@ def deployment_group_env(asadmin): yield { "dg_name": dg_name, "instances": instance_names, + "instance_ports": instance_ports, "node_name": node_name, } @@ -306,9 +311,14 @@ def test_deploy_to_group_appears_on_all_instances( """Deploying to a deployment group should make the app visible on all instances.""" dg = deployment_group_env["dg_name"] instances = deployment_group_env["instances"] + instance_ports = deployment_group_env["instance_ports"] app_name = "clusterjsp-dg-deploy-test" - asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", test_war) + asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", f"--contextroot={app_name}", test_war) + + # Wait for application to start on instances + logger.info("Waiting for application to start on instances...") + time.sleep(10) try: for inst in instances: @@ -317,7 +327,7 @@ def test_deploy_to_group_appears_on_all_instances( f"Application '{app_name}' not found on instance '{inst}'. Apps: {apps}" ) - http_port = asadmin.get_instance_http_port(inst) + http_port = asadmin.get_instance_http_port(inst, instance_ports) assert http_port is not None, f"Could not get HTTP port for '{inst}'" assert check_http_app_available("localhost", http_port, app_name), ( f"App '{app_name}' not accessible via HTTP on '{inst}'" @@ -330,9 +340,14 @@ def test_deploy_to_group_listed_on_group_target( ): """list-applications on the deployment group should return the deployed app.""" dg = deployment_group_env["dg_name"] + instance_ports = deployment_group_env["instance_ports"] app_name = "clusterjsp-dg-list-test" - asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", test_war) + asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", f"--contextroot={app_name}", test_war) + + # Wait for application to start on instances + logger.info("Waiting for application to start on instances...") + time.sleep(10) try: apps = asadmin.list_applications_on_instance(dg) @@ -341,7 +356,7 @@ def test_deploy_to_group_listed_on_group_target( ) inst = deployment_group_env["instances"][0] - http_port = asadmin.get_instance_http_port(inst) + http_port = asadmin.get_instance_http_port(inst, instance_ports) assert http_port is not None, f"Could not get HTTP port for '{inst}'" assert check_http_app_available("localhost", http_port, app_name), ( f"App '{app_name}' not accessible via HTTP on '{inst}'" @@ -355,12 +370,17 @@ def test_undeploy_from_group_removes_from_all_instances( """Undeploying from a deployment group should remove the app from all instances.""" dg = deployment_group_env["dg_name"] instances = deployment_group_env["instances"] + instance_ports = deployment_group_env["instance_ports"] app_name = "clusterjsp-dg-undeploy-test" - asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", test_war) + asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", f"--contextroot={app_name}", test_war) + + # Wait for application to start on instances + logger.info("Waiting for application to start on instances...") + time.sleep(10) inst = instances[0] - http_port = asadmin.get_instance_http_port(inst) + http_port = asadmin.get_instance_http_port(inst, instance_ports) assert http_port is not None, f"Could not get HTTP port for '{inst}'" assert check_http_app_available("localhost", http_port, app_name), ( f"App '{app_name}' not accessible before undeploy" @@ -380,14 +400,19 @@ def test_redeploy_to_group_propagates_to_all_instances( """Redeploying an app to a deployment group should propagate to all instances.""" dg = deployment_group_env["dg_name"] instances = deployment_group_env["instances"] + instance_ports = deployment_group_env["instance_ports"] app_name = "clusterjsp-dg-redeploy-test" # Initial deployment - asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", test_war) + asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", f"--contextroot={app_name}", test_war) + + # Wait for application to start on instances + logger.info("Waiting for application to start on instances...") + time.sleep(10) try: # Redeploy the same app with force flag - asadmin.run("deploy", "--force=true", f"--target={dg}", f"--name={app_name}", test_war) + asadmin.run("deploy", "--force=true", f"--target={dg}", f"--name={app_name}", f"--contextroot={app_name}", test_war) # Verify redeployment propagated to all instances for inst in instances: @@ -396,7 +421,7 @@ def test_redeploy_to_group_propagates_to_all_instances( f"App '{app_name}' not found on instance '{inst}' after redeploy. Apps: {apps}" ) - http_port = asadmin.get_instance_http_port(inst) + http_port = asadmin.get_instance_http_port(inst, instance_ports) assert http_port is not None, f"Could not get HTTP port for '{inst}'" assert check_http_app_available("localhost", http_port, app_name), ( f"App '{app_name}' not accessible via HTTP on '{inst}' after redeploy" From eb0946372a7d85daa87458e69847bda0047a4946 Mon Sep 17 00:00:00 2001 From: adrian Date: Mon, 20 Apr 2026 18:51:43 +0300 Subject: [PATCH 051/133] FISH-13275: cleanup --- .../functional/deployment-groups/test_deployment_group.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index ff71bd84e40..f3cf7d1320a 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -212,8 +212,8 @@ def deployment_group_env(asadmin): parts = line.split() if parts and parts[0].startswith(test_app_prefix): app_name = parts[0] - logger.info(f"Undeploying test application from domain: {app_name}") - asadmin.run_no_raise("undeploy", "--target=domain", app_name) + logger.info(f"Undeploying test application from all targets: {app_name}") + asadmin.run_no_raise("undeploy", app_name) # Stop and delete deployment group if it exists asadmin.run_no_raise("stop-deployment-group", dg_name) From 6617fb08d499d074376507af823ee1ba300e00c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Apr 2026 18:56:13 +0000 Subject: [PATCH 052/133] Bump org.javassist:javassist from 3.30.2-GA to 3.31.0-GA Bumps [org.javassist:javassist](https://github.com/jboss-javassist/javassist) from 3.30.2-GA to 3.31.0-GA. - [Release notes](https://github.com/jboss-javassist/javassist/releases) - [Changelog](https://github.com/jboss-javassist/javassist/blob/master/Changes.md) - [Commits](https://github.com/jboss-javassist/javassist/commits) --- updated-dependencies: - dependency-name: org.javassist:javassist dependency-version: 3.31.0-GA dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- nucleus/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nucleus/pom.xml b/nucleus/pom.xml index 8ba58e1bdfd..fab67115fd4 100644 --- a/nucleus/pom.xml +++ b/nucleus/pom.xml @@ -92,7 +92,7 @@ 1.7.3 3.6.3.Final - 3.30.2-GA + 3.31.0-GA build-217-jenkins-16 From 50d666efdb9b2a2d60e01475f13614853694248e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Apr 2026 18:59:56 +0000 Subject: [PATCH 053/133] Bump org.testcontainers:testcontainers from 2.0.4 to 2.0.5 Bumps [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) from 2.0.4 to 2.0.5. - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/testcontainers/testcontainers-java/compare/2.0.4...2.0.5) --- updated-dependencies: - dependency-name: org.testcontainers:testcontainers dependency-version: 2.0.5 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- appserver/extras/docker-images/tests/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/extras/docker-images/tests/pom.xml b/appserver/extras/docker-images/tests/pom.xml index 117031b6716..1fb8cf5c5b4 100644 --- a/appserver/extras/docker-images/tests/pom.xml +++ b/appserver/extras/docker-images/tests/pom.xml @@ -73,7 +73,7 @@ org.testcontainers testcontainers - 2.0.4 + 2.0.5 test From 46c913975389a222529d620a6b38fd2fee6b65d8 Mon Sep 17 00:00:00 2001 From: Kalin Chan Date: Tue, 21 Apr 2026 09:48:27 +0100 Subject: [PATCH 054/133] FISH-12430 Remove reference to ByteCodeEnhancer --- .../glassfish/appclient/client/jws/boot/ClassPathManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/jws/boot/ClassPathManager.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/jws/boot/ClassPathManager.java index 4466e3c419e..7513477e3f2 100644 --- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/jws/boot/ClassPathManager.java +++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/jws/boot/ClassPathManager.java @@ -203,7 +203,6 @@ public URL[] locateDownloadedJars() throws String probeClassNames = System.getProperty("com.sun.aas.jar.probe.class.names", "com.sun.enterprise.appclient.jws.boot.JWSACCMain," /* appserv-jwsacc */ + "com.sun.enterprise.appclient.Main," /* appserv-rt */ + - "com.sun.jdo.api.persistence.enhancer.ByteCodeEnhancer," /* appserv-cmp */ + "com.sun.enterprise.admin.servermgmt.DomainConfig," /* appserv-admin */ + "com.sun.enterprise.deployment.client.DeploymentClientUtils," /* appserv-deployment-client */ + "jakarta.ejb.EJB," /* jakarta ee */ + From 19b4482f6fe9b6477efcc5b50e4e721a79054163 Mon Sep 17 00:00:00 2001 From: Kalin Chan Date: Tue, 21 Apr 2026 14:10:26 +0100 Subject: [PATCH 055/133] FISH-12430 Remove CMP dtds --- .../lib/dtds/sun-cmp-mapping_1_0.dtd | 136 ----------------- .../lib/dtds/sun-cmp-mapping_1_1.dtd | 135 ----------------- .../lib/dtds/sun-cmp-mapping_1_2.dtd | 142 ------------------ 3 files changed, 413 deletions(-) delete mode 100644 appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_0.dtd delete mode 100644 appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_1.dtd delete mode 100644 appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_2.dtd diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_0.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_0.dtd deleted file mode 100644 index df925fdf902..00000000000 --- a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_0.dtd +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_1.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_1.dtd deleted file mode 100644 index 0264f24c7e8..00000000000 --- a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_1.dtd +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_2.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_2.dtd deleted file mode 100644 index 07a2007c1e7..00000000000 --- a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-cmp-mapping_1_2.dtd +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 04663f8cb4e51fbe5945ad30aba974534533e7c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Apr 2026 16:25:07 +0000 Subject: [PATCH 056/133] Bump smallrye-config.version from 3.17.0 to 3.17.2 Bumps `smallrye-config.version` from 3.17.0 to 3.17.2. Updates `io.smallrye.config:smallrye-config` from 3.17.0 to 3.17.2 - [Release notes](https://github.com/smallrye/smallrye-config/releases) - [Commits](https://github.com/smallrye/smallrye-config/compare/3.17.0...3.17.2) Updates `io.smallrye.config:smallrye-config-core` from 3.17.0 to 3.17.2 Updates `io.smallrye.config:smallrye-config-common` from 3.17.0 to 3.17.2 - [Release notes](https://github.com/smallrye/smallrye-config/releases) - [Commits](https://github.com/smallrye/smallrye-config/compare/3.17.0...3.17.2) --- updated-dependencies: - dependency-name: io.smallrye.config:smallrye-config dependency-version: 3.17.2 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.smallrye.config:smallrye-config-core dependency-version: 3.17.2 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.smallrye.config:smallrye-config-common dependency-version: 3.17.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- appserver/tests/payara-samples/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/payara-samples/pom.xml b/appserver/tests/payara-samples/pom.xml index 6fc1d464a00..7f4ceb88a64 100644 --- a/appserver/tests/payara-samples/pom.xml +++ b/appserver/tests/payara-samples/pom.xml @@ -70,7 +70,7 @@ 1.1 - 3.17.0 + 3.17.2 2.17.1 0.3 1.2.6 From 519172e72bf978cb2b62135dc33865e12ada929e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 16:26:27 +0000 Subject: [PATCH 057/133] Bump org.eclipse.microprofile.config:microprofile-config-api Bumps [org.eclipse.microprofile.config:microprofile-config-api](https://github.com/eclipse/microprofile-config) from 3.1 to 3.1.1. - [Release notes](https://github.com/eclipse/microprofile-config/releases) - [Commits](https://github.com/eclipse/microprofile-config/compare/3.1...3.1.1) --- updated-dependencies: - dependency-name: org.eclipse.microprofile.config:microprofile-config-api dependency-version: 3.1.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index efb4f7c3714..e77bf381704 100644 --- a/pom.xml +++ b/pom.xml @@ -282,7 +282,7 @@ 6.1.0 6.0.1 6.0.0 - 3.1 + 3.1.1 1.1.7.payara-p1 2.1.4 4.0.5 From cc001f17bf1a81338b70fff26d4b8626ff7e4f07 Mon Sep 17 00:00:00 2001 From: Kalin Chan Date: Thu, 23 Apr 2026 10:33:26 +0100 Subject: [PATCH 058/133] FISH-13385 Switch to getJvmRawOptions() to fix regression introduced in commit 4dc55184f78742e1aa202a02c25a19e8d8a2ab97 --- .../compatibility/JaccProviderCompatibilityStartup.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/appserver/security/jacc.provider.inmemory/src/main/java/fish/payara/security/jacc/provider/compatibility/JaccProviderCompatibilityStartup.java b/appserver/security/jacc.provider.inmemory/src/main/java/fish/payara/security/jacc/provider/compatibility/JaccProviderCompatibilityStartup.java index 61530f53b46..c61b20b1932 100644 --- a/appserver/security/jacc.provider.inmemory/src/main/java/fish/payara/security/jacc/provider/compatibility/JaccProviderCompatibilityStartup.java +++ b/appserver/security/jacc.provider.inmemory/src/main/java/fish/payara/security/jacc/provider/compatibility/JaccProviderCompatibilityStartup.java @@ -165,7 +165,7 @@ private void updateJaccProvider(JaccProvider jaccProvider, private void ensureJaccPolicyFactoryJvmOption(Config config) { JavaConfig javaConfig = config.getJavaConfig(); - List jvmOptions = javaConfig.getJvmOptions(); + List jvmOptions = javaConfig.getJvmRawOptions(); Optional existing = jvmOptions.stream() .filter(opt -> opt.startsWith(JACC_POLICY_FACTORY_JVM_OPTION_KEY)) @@ -183,12 +183,11 @@ private void ensureJaccPolicyFactoryJvmOption(Config config) { } logger.log(Level.INFO, "Adding missing JACC PolicyFactory JVM option: {0}", JACC_POLICY_FACTORY_JVM_OPTION); - jvmOptions.add(JACC_POLICY_FACTORY_JVM_OPTION); try { ConfigSupport.apply(jconfig -> { - jconfig.setJvmOptions(jvmOptions); - return config; + jconfig.getJvmRawOptions().add(JACC_POLICY_FACTORY_JVM_OPTION); + return true; }, javaConfig); logger.log(Level.INFO, "Successfully added JACC PolicyFactory JVM option"); From 724914f81f094b64b69384db0677082db07f97c9 Mon Sep 17 00:00:00 2001 From: luiseufrasio Date: Thu, 23 Apr 2026 08:09:19 -0300 Subject: [PATCH 059/133] FISH-13193 : throwing UnsupportedOperationException when the method is not supported by the Jakarta Data provider --- .../core/cdi/extension/RepositoryImpl.java | 12 +++ .../cdi/extension/RepositoryImplTest.java | 65 +++++++++++++++ .../samples/data/repo/UnsupportedRepo.java | 57 +++++++++++++ .../samples/data/UnsupportedMethodTest.java | 80 +++++++++++++++++++ 4 files changed, 214 insertions(+) create mode 100644 appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java create mode 100644 appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/repo/UnsupportedRepo.java create mode 100644 appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/UnsupportedMethodTest.java diff --git a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java index dd0c3094b7b..b8c996ff35c 100644 --- a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java +++ b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java @@ -166,7 +166,19 @@ public Object invoke(Object proxy, Method method, Object[] args) throws Throwabl return InvocationHandler.invokeDefault(proxy, method, args); } + if (method.getDeclaringClass().equals(Object.class)) { + return switch (method.getName()) { + case "toString" -> repositoryInterface.getName() + " Proxy"; + case "hashCode" -> System.identityHashCode(proxy); + case "equals" -> proxy == args[0]; + default -> method.invoke(this, args); + }; + } + QueryMetadata queryMetadata = queries.get(method); + if (queryMetadata == null) { + throw new UnsupportedOperationException("The method " + method.getName() + " is not supported by the Jakarta Data provider."); + } QueryData dataForQuery = new QueryData(queryMetadata); Object objectToReturn; startTransactionComponents(); diff --git a/appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java b/appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java new file mode 100644 index 00000000000..dac17de126a --- /dev/null +++ b/appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java @@ -0,0 +1,65 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2026 Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * The Payara Foundation designates this particular file as subject to the "Classpath" + * exception as provided by the Payara Foundation in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +package fish.payara.data.core.cdi.extension; + +import org.junit.Test; +import java.lang.reflect.Proxy; +import java.util.Collections; +import java.util.Map; +import java.util.List; + +public class RepositoryImplTest { + + interface MyRepository { + void unsupportedMethod(); + } + + @Test(expected = UnsupportedOperationException.class) + public void testUnsupportedMethodThrowsException() throws Throwable { + Map, List> queriesPerEntityClass = Collections.emptyMap(); + RepositoryImpl handler = new RepositoryImpl<>(MyRepository.class, queriesPerEntityClass, "testApp", null); + MyRepository proxy = (MyRepository) Proxy.newProxyInstance( + MyRepository.class.getClassLoader(), + new Class[]{MyRepository.class}, + handler); + + proxy.unsupportedMethod(); + } +} diff --git a/appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/repo/UnsupportedRepo.java b/appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/repo/UnsupportedRepo.java new file mode 100644 index 00000000000..8c2c54cc0fb --- /dev/null +++ b/appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/repo/UnsupportedRepo.java @@ -0,0 +1,57 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2026 Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * The Payara Foundation designates this particular file as subject to the "Classpath" + * exception as provided by the Payara Foundation in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +package fish.payara.samples.data.repo; + +import jakarta.data.repository.Repository; + +/** + * Repository with a method that cannot be implemented by the provider. + * This should trigger an UnsupportedOperationException when invoked. + */ +@Repository +public interface UnsupportedRepo { + + /** + * This method doesn't follow any convention and has no annotations. + * It also doesn't return an entity type, and the repository itself + * has no primary entity type. + */ + void doSomethingUnsupported(String name); +} diff --git a/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/UnsupportedMethodTest.java b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/UnsupportedMethodTest.java new file mode 100644 index 00000000000..776cd15e590 --- /dev/null +++ b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/UnsupportedMethodTest.java @@ -0,0 +1,80 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2026 Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * The Payara Foundation designates this particular file as subject to the "Classpath" + * exception as provided by the Payara Foundation in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +package fish.payara.samples.data; + +import fish.payara.samples.data.repo.UnsupportedRepo; +import jakarta.inject.Inject; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.EmptyAsset; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.assertNotNull; + +/** + * Test case for invoking an unsupported Jakarta Data repository method. + */ +@RunWith(Arquillian.class) +public class UnsupportedMethodTest { + + @Deployment + public static WebArchive createDeployment() { + return ShrinkWrap.create(WebArchive.class, "unsupported-method-test.war") + .addPackages(true, "fish.payara.samples.data.entity") + .addPackages(true, "fish.payara.samples.data.repo") + .addAsResource("META-INF/persistence.xml") + .addAsWebInfResource("WEB-INF/web.xml", "web.xml") + .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml"); + } + + @Inject + private UnsupportedRepo unsupportedRepo; + + @Test(expected = UnsupportedOperationException.class) + public void testInvokeUnsupportedMethodThrowsException() { + assertNotNull("UnsupportedRepo should be injected", unsupportedRepo); + + // This method cannot be implemented by the provider and should throw UnsupportedOperationException + unsupportedRepo.doSomethingUnsupported("test"); + } +} From 087bf7b3d56f91ad96f12668af56ea9331a7f984 Mon Sep 17 00:00:00 2001 From: luiseufrasio Date: Thu, 23 Apr 2026 11:17:13 -0300 Subject: [PATCH 060/133] FISH-13193 : Fix NullPointerException in RepositoryImpl during unit tests The RepositoryImpl constructor was attempting to access Globals.defaultHabitat to obtain an EntityManagerSupplier, which caused a NullPointerException in environments where the GlassFish/Payara runtime is not fully initialized (like unit tests). Changes: - Added a new constructor to RepositoryImpl that accepts a Supplier to allow dependency injection during testing. - Updated RepositoryImplTest to use this new constructor with a mock supplier. - Maintained the setTransactionManager changes from the previous attempt to ensure the TransactionManager is also properly mocked. --- .../data/core/cdi/extension/RepositoryImpl.java | 16 +++++++++++++++- .../core/cdi/extension/RepositoryImplTest.java | 8 +++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java index b8c996ff35c..f730bf4c2a7 100644 --- a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java +++ b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java @@ -116,9 +116,13 @@ public class RepositoryImpl implements InvocationHandler { private final Map, Member> idAccessorCache = new ConcurrentHashMap<>(); public RepositoryImpl(Class repositoryInterface, Map, List> queriesPerEntityClass, String applicationName, String dataStore) { + this(repositoryInterface, queriesPerEntityClass, applicationName, getEntityManagerSupplier(applicationName, dataStore)); + } + + public RepositoryImpl(Class repositoryInterface, Map, List> queriesPerEntityClass, String applicationName, Supplier entityManagerSupplier) { this.repositoryInterface = repositoryInterface; this.applicationName = applicationName; - this.entityManagerSupplier = getEntityManagerSupplier(applicationName, dataStore); + this.entityManagerSupplier = entityManagerSupplier; Map r = queriesPerEntityClass.entrySet().stream().map(e -> e.getValue()) .flatMap(List::stream).collect(Collectors.toMap(QueryMetadata::getMethod, Function.identity())); @@ -658,8 +662,18 @@ public Object processQueryOperation(Object[] args, QueryData dataForQuery) throw entityManagerSupplier.get(), getTransactionManager(), dataParameter); } + public void setTransactionManager(TransactionManager transactionManager) { + this.transactionManager = transactionManager; + } + public TransactionManager getTransactionManager() { + if (transactionManager != null) { + return transactionManager; + } ServiceLocator locator = Globals.get(ServiceLocator.class); + if (locator == null) { + return null; + } ServiceHandle inhabitant = locator.getServiceHandle(TransactionManager.class); if (inhabitant != null && inhabitant.isActive()) { diff --git a/appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java b/appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java index dac17de126a..36974028c3d 100644 --- a/appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java +++ b/appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java @@ -40,6 +40,8 @@ package fish.payara.data.core.cdi.extension; import org.junit.Test; +import org.mockito.Mockito; +import jakarta.transaction.TransactionManager; import java.lang.reflect.Proxy; import java.util.Collections; import java.util.Map; @@ -54,7 +56,11 @@ interface MyRepository { @Test(expected = UnsupportedOperationException.class) public void testUnsupportedMethodThrowsException() throws Throwable { Map, List> queriesPerEntityClass = Collections.emptyMap(); - RepositoryImpl handler = new RepositoryImpl<>(MyRepository.class, queriesPerEntityClass, "testApp", null); + RepositoryImpl handler = new RepositoryImpl<>(MyRepository.class, queriesPerEntityClass, "testApp", () -> null); + + // Inject a mock transaction manager to avoid NullPointerException + handler.setTransactionManager(Mockito.mock(TransactionManager.class)); + MyRepository proxy = (MyRepository) Proxy.newProxyInstance( MyRepository.class.getClassLoader(), new Class[]{MyRepository.class}, From 068cd6def2b8c4a41d80b71c19b562f279d0dc36 Mon Sep 17 00:00:00 2001 From: luiseufrasio Date: Thu, 23 Apr 2026 12:14:41 -0300 Subject: [PATCH 061/133] FISH-13193 : Adding mockito dependency --- appserver/data/data-core/pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/appserver/data/data-core/pom.xml b/appserver/data/data-core/pom.xml index bb2045badf4..4d6ca1efed9 100644 --- a/appserver/data/data-core/pom.xml +++ b/appserver/data/data-core/pom.xml @@ -70,6 +70,11 @@ weld-integration ${project.version} + + org.mockito + mockito-core + test + From 263092409272115e1afc03af81cff2a8d331846f Mon Sep 17 00:00:00 2001 From: adrian Date: Thu, 23 Apr 2026 18:52:31 +0300 Subject: [PATCH 062/133] FISH-13275: fixed pytest path --- Jenkinsfile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 919bf1b8ff5..0a7f2fb6e30 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -400,10 +400,7 @@ pipeline { setupDomain() echo '*#*#*#*#*#*#*#*#*#*#*#*# Running deployment groups tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - sh """curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py""" - sh """python3 get-pip.py --user""" - sh """$HOME/.local/bin/pip install -r appserver/tests/functional/deployment-groups/requirements.txt""" - sh """export PAYARA_HOME=${pwd()}/payara7 && $HOME/.local/bin/pytest appserver/tests/functional/deployment-groups/test_deployment_group.py -v -s""" + sh """export PAYARA_HOME=${pwd()}/payara7 && pytest appserver/tests/functional/deployment-groups/test_deployment_group.py -v -s""" echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran deployment groups tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' echo '*#*#*#*#*#*#*#*#*#*#*#*# Running asadmin tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' From 44792cb71d69b90bd3c2a645df25c12c47084cc8 Mon Sep 17 00:00:00 2001 From: luiseufrasio Date: Fri, 24 Apr 2026 19:41:50 -0300 Subject: [PATCH 063/133] FISH-13193 : Improve test coverage for UnsupportedOperationException behavior - Remove dead setTransactionManager() and null-guards in getTransactionManager() that were added solely to support tests but were never exercised by any code path - Remove mockito-core test dependency (no longer needed) - Rewrite RepositoryImplTest with four focused cases: UOE throw with method name in message, toString/hashCode/equals proxy delegation (covers the new Object.class branch added in the main fix) - Simplify UnsupportedMethodTest to deploy only UnsupportedRepo.class, and assert that the exception message identifies the offending method name --- appserver/data/data-core/pom.xml | 5 -- .../core/cdi/extension/RepositoryImpl.java | 10 --- .../cdi/extension/RepositoryImplTest.java | 84 +++++++++++++++---- .../samples/data/UnsupportedMethodTest.java | 22 +++-- 4 files changed, 79 insertions(+), 42 deletions(-) diff --git a/appserver/data/data-core/pom.xml b/appserver/data/data-core/pom.xml index 4d6ca1efed9..bb2045badf4 100644 --- a/appserver/data/data-core/pom.xml +++ b/appserver/data/data-core/pom.xml @@ -70,11 +70,6 @@ weld-integration ${project.version} - - org.mockito - mockito-core - test - diff --git a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java index f730bf4c2a7..297e4906916 100644 --- a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java +++ b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/RepositoryImpl.java @@ -662,18 +662,8 @@ public Object processQueryOperation(Object[] args, QueryData dataForQuery) throw entityManagerSupplier.get(), getTransactionManager(), dataParameter); } - public void setTransactionManager(TransactionManager transactionManager) { - this.transactionManager = transactionManager; - } - public TransactionManager getTransactionManager() { - if (transactionManager != null) { - return transactionManager; - } ServiceLocator locator = Globals.get(ServiceLocator.class); - if (locator == null) { - return null; - } ServiceHandle inhabitant = locator.getServiceHandle(TransactionManager.class); if (inhabitant != null && inhabitant.isActive()) { diff --git a/appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java b/appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java index 36974028c3d..0402d80a9b7 100644 --- a/appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java +++ b/appserver/data/data-core/src/test/java/fish/payara/data/core/cdi/extension/RepositoryImplTest.java @@ -39,33 +39,81 @@ */ package fish.payara.data.core.cdi.extension; +import org.junit.Before; import org.junit.Test; -import org.mockito.Mockito; -import jakarta.transaction.TransactionManager; + import java.lang.reflect.Proxy; import java.util.Collections; -import java.util.Map; -import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; public class RepositoryImplTest { - interface MyRepository { + private interface UnsupportedMethodRepository { void unsupportedMethod(); } - @Test(expected = UnsupportedOperationException.class) - public void testUnsupportedMethodThrowsException() throws Throwable { - Map, List> queriesPerEntityClass = Collections.emptyMap(); - RepositoryImpl handler = new RepositoryImpl<>(MyRepository.class, queriesPerEntityClass, "testApp", () -> null); - - // Inject a mock transaction manager to avoid NullPointerException - handler.setTransactionManager(Mockito.mock(TransactionManager.class)); - - MyRepository proxy = (MyRepository) Proxy.newProxyInstance( - MyRepository.class.getClassLoader(), - new Class[]{MyRepository.class}, + private UnsupportedMethodRepository proxy; + + @Before + public void setUp() { + RepositoryImpl handler = new RepositoryImpl<>( + UnsupportedMethodRepository.class, + Collections.emptyMap(), + "testApp", + () -> null); + + proxy = (UnsupportedMethodRepository) Proxy.newProxyInstance( + UnsupportedMethodRepository.class.getClassLoader(), + new Class[]{UnsupportedMethodRepository.class}, handler); - - proxy.unsupportedMethod(); + } + + @Test + public void unsupportedMethodThrowsUnsupportedOperationExceptionWithMethodName() { + UnsupportedOperationException ex = assertThrows( + UnsupportedOperationException.class, + proxy::unsupportedMethod); + + assertTrue( + "Exception message should identify the offending method, but was: " + ex.getMessage(), + ex.getMessage().contains("unsupportedMethod")); + } + + @Test + public void toStringReturnsRepositoryInterfaceName() { + String text = proxy.toString(); + + assertTrue( + "toString should reference the repository interface, but was: " + text, + text.contains(UnsupportedMethodRepository.class.getName())); + } + + @Test + public void hashCodeIsStableAndMatchesIdentityHashCode() { + assertEquals(System.identityHashCode(proxy), proxy.hashCode()); + assertEquals(proxy.hashCode(), proxy.hashCode()); + } + + @Test + public void equalsIsReflexiveAndDistinguishesDifferentProxies() { + assertTrue("Proxy should be equal to itself", proxy.equals(proxy)); + assertFalse("Proxy should not be equal to null", proxy.equals(null)); + + RepositoryImpl otherHandler = new RepositoryImpl<>( + UnsupportedMethodRepository.class, + Collections.emptyMap(), + "testApp", + () -> null); + UnsupportedMethodRepository otherProxy = (UnsupportedMethodRepository) Proxy.newProxyInstance( + UnsupportedMethodRepository.class.getClassLoader(), + new Class[]{UnsupportedMethodRepository.class}, + otherHandler); + + assertNotEquals("Distinct proxies should not be equal", proxy, otherProxy); } } diff --git a/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/UnsupportedMethodTest.java b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/UnsupportedMethodTest.java index 776cd15e590..3aa5121209b 100644 --- a/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/UnsupportedMethodTest.java +++ b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/UnsupportedMethodTest.java @@ -50,6 +50,8 @@ import org.junit.runner.RunWith; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; /** * Test case for invoking an unsupported Jakarta Data repository method. @@ -60,21 +62,23 @@ public class UnsupportedMethodTest { @Deployment public static WebArchive createDeployment() { return ShrinkWrap.create(WebArchive.class, "unsupported-method-test.war") - .addPackages(true, "fish.payara.samples.data.entity") - .addPackages(true, "fish.payara.samples.data.repo") - .addAsResource("META-INF/persistence.xml") - .addAsWebInfResource("WEB-INF/web.xml", "web.xml") + .addClass(UnsupportedRepo.class) .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml"); } @Inject private UnsupportedRepo unsupportedRepo; - @Test(expected = UnsupportedOperationException.class) - public void testInvokeUnsupportedMethodThrowsException() { + @Test + public void invokingUnsupportedMethodThrowsWithMethodName() { assertNotNull("UnsupportedRepo should be injected", unsupportedRepo); - - // This method cannot be implemented by the provider and should throw UnsupportedOperationException - unsupportedRepo.doSomethingUnsupported("test"); + + UnsupportedOperationException ex = assertThrows( + UnsupportedOperationException.class, + () -> unsupportedRepo.doSomethingUnsupported("test")); + + assertTrue( + "Exception message should identify the offending method, but was: " + ex.getMessage(), + ex.getMessage().contains("doSomethingUnsupported")); } } From cad14a927458042c40e14e788deb79b5e000b18b Mon Sep 17 00:00:00 2001 From: luiseufrasio Date: Sat, 25 Apr 2026 14:00:27 -0300 Subject: [PATCH 064/133] FISH-13193 : Allow repository deployment when no persistence unit is registered The UnsupportedMethodTest deployment failed with NPE in DataCommonOperationUtility.getEntityManagerSupplier because the application registered no EntityManagerFactory and factoryList was null. - DataCommonOperationUtility.getEntityManagerSupplier: return a () -> null supplier when factoryList is null or empty instead of dereferencing it. - DynamicInterfaceDataProducer.processQueriesForEntity: if no EntityManager is available, log a warning and skip query registration. Methods then throw UnsupportedOperationException at runtime via RepositoryImpl.invoke. --- .../core/cdi/extension/DynamicInterfaceDataProducer.java | 8 +++++++- .../payara/data/core/util/DataCommonOperationUtility.java | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java index ae787f86745..6dd5ce244d0 100644 --- a/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java +++ b/appserver/data/data-core/src/main/java/fish/payara/data/core/cdi/extension/DynamicInterfaceDataProducer.java @@ -189,7 +189,13 @@ private void processQueriesForEntity() { declaredEntityClass = inferEntityTypeFromLifecycleMethods(this.repository); } logger.finer("Processing entity class " + (declaredEntityClass != null ? declaredEntityClass.getName() : "null")); - try (EntityManager entityManager = getEntityManagerSupplier(this.jakartaDataExtension.getApplicationName(), this.dataStore).get()) { + EntityManager entityManager = getEntityManagerSupplier(this.jakartaDataExtension.getApplicationName(), this.dataStore).get(); + if (entityManager == null) { + logger.warning("No persistence unit available for repository " + repository.getName() + + "; methods will throw UnsupportedOperationException at runtime."); + return; + } + try (entityManager) { for (Method method : this.repository.getMethods()) { logger.finer("Processing query for " + (declaredEntityClass != null ? declaredEntityClass.getName() : "null") + "." + method.getName()); //skip if method is default diff --git a/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DataCommonOperationUtility.java b/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DataCommonOperationUtility.java index b2cfebd09e1..abce531db10 100644 --- a/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DataCommonOperationUtility.java +++ b/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DataCommonOperationUtility.java @@ -159,6 +159,10 @@ public static Supplier getEntityManagerSupplier(String applicatio ApplicationInfo applicationInfo = applicationRegistry.get(applicationName); List factoryList = applicationInfo.getTransientAppMetaData(EntityManagerFactory.class.toString(), List.class); + if (factoryList == null || factoryList.isEmpty()) { + return () -> null; + } + if (factoryList.size() == 1) { EntityManagerFactory entityManagerFactory = factoryList.getFirst(); return () -> entityManagerFactory.createEntityManager(); From 36abf50a7c0d82810fac76fcc02462953fb4cd22 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 09:34:11 +0100 Subject: [PATCH 065/133] FISH-13437 Upgrade Docker JDK to 21.0.11 Signed-off-by: Andrew Pielage --- appserver/extras/docker-images/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/extras/docker-images/pom.xml b/appserver/extras/docker-images/pom.xml index b6b4c065eb7..2a76a233f22 100644 --- a/appserver/extras/docker-images/pom.xml +++ b/appserver/extras/docker-images/pom.xml @@ -57,7 +57,7 @@ true azul/zulu-openjdk - 21.0.10-jdk + 21.0.11-jdk 25.0.2-jdk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application_11-0.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application_11-0.dtd new file mode 100644 index 00000000000..b1cde77e70f --- /dev/null +++ b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application_11-0.dtd @@ -0,0 +1,575 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd new file mode 100644 index 00000000000..1d39fef73c7 --- /dev/null +++ b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd @@ -0,0 +1,1071 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-web-app_6_1-0.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-web-app_6_1-0.dtd new file mode 100644 index 00000000000..348550990f8 --- /dev/null +++ b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-web-app_6_1-0.dtd @@ -0,0 +1,871 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 711833afcb838d8e8ebb374afb8ecdc413700f2e Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Tue, 14 Apr 2026 17:14:41 +0100 Subject: [PATCH 072/133] FISH-13126 Add new static Strings for new files --- .../sun/enterprise/deployment/xml/DTDRegistry.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java index f9a86d995f6..465ba3080e9 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018] Payara Foundation and/or affiliates +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates // START OF IASRI 4661135 @@ -280,6 +280,18 @@ public final class DTDRegistry { public static final String PAYARA_WEBAPP_4_DTD_PUBLIC_ID = "-//Payara.fish//DTD Payara Server 4 Servlet 3.0//EN"; public static final String PAYARA_WEBAPP_4_DTD_SYSTEM_ID = "https://docs.payara.fish/schemas/payara-web-app_4.dtd"; + + public static final String PAYARA_WEBAPP_610_DTD_PUBLIC_ID = "-//Payara.fish//DTD Payara Server 7 Servlet 6.1//EN"; + public static final String PAYARA_WEBAPP_610_DTD_SYSTEM_ID = "https://docs.payara.fish/schemas/payara-web-app_6_1-0.dtd"; + + public static final String PAYARA_APPCLIENT_110_DTD_PUBLIC_ID = "-//Payara.fish//DTD Payara Application Server 7 Jakarta EE Application Client 11//EN"; + public static final String PAYARA_APPCLIENT_110_DTD_SYSTEM_ID = "https://docs.payara.fish/schemas/payara-application-client_11-0.dtd"; + + public static final String PAYARA_APPLICATION_110_DTD_PUBLIC_ID = "-//Payara.fish//DTD Payara Application Server 7 Jakarta EE Application 11//EN"; + public static final String PAYARA_APPLICATION_110_DTD_SYSTEM_ID = "https://docs.payara.fish/schemas/payara-application_11-0.dtd"; + + public static final String PAYARA_EJBJAR_400_DTD_PUBLIC_ID = "-//Payara.fish//DTD Payara Application Server 7 EJB 4.0//EN"; + public static final String PAYARA_EJBJAR_400_DTD_SYSTEM_ID = "https://docs.payara.fish/schemas/payara-ejb-jar_4_0-0.dtd"; } From de4d50136aaaef539b85e1e10d0d4681c57be7c4 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 10:29:00 +0100 Subject: [PATCH 073/133] FISH-13126 Delete sun loadbalancer DTDs Signed-off-by: Andrew Pielage --- .../lib/dtds/sun-loadbalancer_1_0.dtd | 156 ---------------- .../lib/dtds/sun-loadbalancer_1_1.dtd | 172 ------------------ 2 files changed, 328 deletions(-) delete mode 100644 appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-loadbalancer_1_0.dtd delete mode 100644 appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-loadbalancer_1_1.dtd diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-loadbalancer_1_0.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-loadbalancer_1_0.dtd deleted file mode 100644 index 34c13e9009c..00000000000 --- a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-loadbalancer_1_0.dtd +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-loadbalancer_1_1.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-loadbalancer_1_1.dtd deleted file mode 100644 index 13a7b7b6cc6..00000000000 --- a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/sun-loadbalancer_1_1.dtd +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 0e0633d5ea59d6d02c3e442a6a46bf0b0fce7512 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 10:51:53 +0100 Subject: [PATCH 074/133] FISH-13126 Deprecate sun and glassfish constants Signed-off-by: Andrew Pielage --- .../deployment/io/DescriptorConstants.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java index 1d79f04a7d7..b023df932c2 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java @@ -52,9 +52,11 @@ public interface DescriptorConstants { /** Prefix used for S1AS xmls */ + @Deprecated String S1AS_PREFIX = "sun-"; /** Prefix used for GF xmls */ + @Deprecated String GF_PREFIX = "glassfish-"; String PAYARA_PREFIX = "payara-"; @@ -82,12 +84,15 @@ public interface DescriptorConstants { String EJB_IN_WAR_ENTRY = "WEB-INF/ejb-jar.xml"; /** The name of the Sun deployment descriptor entry in ejb module jar. */ + @Deprecated String S1AS_EJB_DD_ENTRY="META-INF"+File.separator+S1AS_PREFIX+"ejb-jar.xml"; /** The Sun ejb deployment descriptor entry inside an ejb jar. */ + @Deprecated String S1AS_EJB_JAR_ENTRY = "META-INF/" + S1AS_PREFIX + "ejb-jar.xml"; /** The Sun ejb deployment descriptor entry inside a war. */ + @Deprecated String S1AS_EJB_IN_WAR_ENTRY = "WEB-INF/" + S1AS_PREFIX + "ejb-jar.xml"; /** The name of the deployment descriptor entry in the web module. */ @@ -114,12 +119,15 @@ public interface DescriptorConstants { String RAR_JAR_ENTRY = "META-INF/ra.xml"; /** The name of the deployment descriptor entry in the rar module */ + @Deprecated String S1AS_RAR_DD_ENTRY = "META-INF"+File.separator+S1AS_PREFIX+"ra.xml"; /** The name of the deployment descriptor entry in the rar jar */ + @Deprecated String S1AS_RAR_JAR_ENTRY = "META-INF/" + S1AS_PREFIX + "ra.xml"; /** The name of the glassfish deployment descriptor entry inside the ear. */ + @Deprecated String GF_APPLICATION_JAR_ENTRY = "META-INF/" + GF_PREFIX + "application.xml"; @@ -128,12 +136,15 @@ public interface DescriptorConstants { String GF_WEB_JAR_ENTRY = "WEB-INF/" + GF_PREFIX + "web.xml"; /** The name of the glassfish deployment descriptor entry in the ejb jar. */ + @Deprecated String GF_EJB_JAR_ENTRY = "META-INF/" + GF_PREFIX + "ejb-jar.xml"; /** The name of the glassfish deployment descriptor entry in the war. */ + @Deprecated String GF_EJB_IN_WAR_ENTRY = "WEB-INF/" + GF_PREFIX + "ejb-jar.xml"; /** The name of the glassfish deployment descriptor entry in the client jar. */ + @Deprecated String GF_APP_CLIENT_JAR_ENTRY = "META-INF/"+ GF_PREFIX + "application-client.xml"; /** The name of the Payara deployment descriptor entry in web jar. */ @@ -169,11 +180,13 @@ public interface DescriptorConstants { String APP_CLIENT_JAR_ENTRY = "META-INF/application-client.xml"; /** The name of the deployment descriptor entry in the client jar. */ + @Deprecated String S1AS_APP_CLIENT_DD_ENTRY = "META-INF" + File.separator + S1AS_PREFIX+"application-client.xml"; /** The Sun application client entry inside a jar file. */ + @Deprecated String S1AS_APP_CLIENT_JAR_ENTRY = "META-INF/" + S1AS_PREFIX + "application-client.xml"; From 0b4038d0084dddc11eb079404f40f5909d8a0c2b Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 11:43:55 +0100 Subject: [PATCH 075/133] FISH-13126 Deprecate old application xsd versions, and update version to 11 Also renames the variables for versioning sanity Signed-off-by: Andrew Pielage --- .../deployment/node/ApplicationNode.java | 56 +++++++++++-------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/ApplicationNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/ApplicationNode.java index d69a51adb5d..21f5a4e58af 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/ApplicationNode.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/ApplicationNode.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2022] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.deployment.node; @@ -76,26 +76,37 @@ @Service public class ApplicationNode extends AbstractBundleNode { - /** + /** * The public ID. */ + @Deprecated public final static String PUBLIC_DTD_ID = "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"; + @Deprecated public final static String PUBLIC_DTD_ID_12 = "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN"; /** * The system ID. */ + @Deprecated public final static String SYSTEM_ID = "http://java.sun.com/dtd/application_1_3.dtd"; - public final static String SYSTEM_ID_12 = "http://java.sun.com/dtd/application_1_2.dtd"; - - public final static String SCHEMA_ID_14 = "application_1_4.xsd"; - - public final static String SCHEMA_ID_15 = "application_5.xsd"; - public final static String SCHEMA_ID_16 = "application_6.xsd"; - public final static String SCHEMA_ID_17 = "application_7.xsd"; - public final static String SCHEMA_ID_18 = "application_8.xsd"; - public final static String SCHEMA_ID_19 = "application_9.xsd"; - public final static String SCHEMA_ID = "application_10.xsd"; - public final static String SPEC_VERSION = "10"; + @Deprecated + public final static String SYSTEM_ID_1_2 = "http://java.sun.com/dtd/application_1_2.dtd"; + + @Deprecated + public final static String SCHEMA_ID_1_4 = "application_1_4.xsd"; + @Deprecated + public final static String SCHEMA_ID_5 = "application_5.xsd"; + @Deprecated + public final static String SCHEMA_ID_6 = "application_6.xsd"; + @Deprecated + public final static String SCHEMA_ID_7 = "application_7.xsd"; + @Deprecated + public final static String SCHEMA_ID_8 = "application_8.xsd"; + @Deprecated + public final static String SCHEMA_ID_9 = "application_9.xsd"; + @Deprecated + public final static String SCHEMA_ID_10 = "application_10.xsd"; + public final static String SCHEMA_ID_11 = "application_11.xsd"; + public final static String SPEC_VERSION = "11"; private final static List systemIDs = initSystemIDs(); // The XML tag associated with this Node @@ -103,13 +114,14 @@ public class ApplicationNode extends AbstractBundleNode { private final static List initSystemIDs() { List systemIDs = new ArrayList<>(); - systemIDs.add(SCHEMA_ID); - systemIDs.add(SCHEMA_ID_14); - systemIDs.add(SCHEMA_ID_15); - systemIDs.add(SCHEMA_ID_16); - systemIDs.add(SCHEMA_ID_17); - systemIDs.add(SCHEMA_ID_18); - systemIDs.add(SCHEMA_ID_19); + systemIDs.add(SCHEMA_ID_11); + systemIDs.add(SCHEMA_ID_1_4); + systemIDs.add(SCHEMA_ID_5); + systemIDs.add(SCHEMA_ID_6); + systemIDs.add(SCHEMA_ID_7); + systemIDs.add(SCHEMA_ID_8); + systemIDs.add(SCHEMA_ID_9); + systemIDs.add(SCHEMA_ID_10); return Collections.unmodifiableList(systemIDs); } @@ -124,7 +136,7 @@ private final static List initSystemIDs() { */ public String registerBundle(Map publicIDToDTD) { publicIDToDTD.put(PUBLIC_DTD_ID, SYSTEM_ID); - publicIDToDTD.put(PUBLIC_DTD_ID_12, SYSTEM_ID_12); + publicIDToDTD.put(PUBLIC_DTD_ID_12, SYSTEM_ID_1_2); return tag.getQName(); } @@ -268,7 +280,7 @@ public String getDocType() { */ @Override public String getSystemID() { - return SCHEMA_ID; + return SCHEMA_ID_11; } /** From e6a03a8229d826189f5e4bd2ec1edfe97e2174f5 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 11:44:42 +0100 Subject: [PATCH 076/133] FISH-13126 Deprecate ConnectorNode Is the sun-connector.xml still a thing? Signed-off-by: Andrew Pielage --- .../node/runtime/connector/ConnectorNode.java | 2 + .../deployment/xml/DTDRegistry.java | 165 +++++++++--------- 2 files changed, 83 insertions(+), 84 deletions(-) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/connector/ConnectorNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/connector/ConnectorNode.java index 4c5ac9706eb..989e5e2df53 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/connector/ConnectorNode.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/connector/ConnectorNode.java @@ -37,6 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates package com.sun.enterprise.deployment.node.runtime.connector; @@ -59,6 +60,7 @@ * @author Jerome Dochez * @version */ +@Deprecated // Is the sun connector still a thing? public class ConnectorNode extends RuntimeBundleNode { protected SunConnector connector=null; diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java index 465ba3080e9..2cadb881e6d 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java @@ -45,130 +45,99 @@ public final class DTDRegistry { - public static final String Package = "com.sun.enterprise.deployment.xml"; + public static final String Package = "com.sun.enterprise.deployment.xml"; - public static final String DTD_LOCATION= System.getProperty("com.sun.aas.installRoot") + java.io.File.separator + "lib" + java.io.File.separator + "dtds"; + public static final String DTD_LOCATION = System.getProperty("com.sun.aas.installRoot") + + java.io.File.separator + "lib" + java.io.File.separator + "dtds"; - public static final String SCHEMA_LOCATION=System.getProperty("com.sun.aas.installRoot") + java.io.File.separator + "lib" + java.io.File.separator + "schemas"; - - // Standard DTDs - - public static final String APPLICATION_13_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"; - public static final String APPLICATION_13_DTD_SYSTEM_ID = - "http://java.sun.com/dtd/application_1_3.dtd"; - - public static final String APPLICATION_12_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN"; - public static final String APPLICATION_12_DTD_SYSTEM_ID = - "http://java.sun.com/dtd/application_1_2.dtd"; - - public static final String EJBJAR_20_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"; - public static final String EJBJAR_20_DTD_SYSTEM_ID = - "http://java.sun.com/dtd/ejb-jar_2_0.dtd"; - - public static final String EJBJAR_11_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"; - public static final String EJBJAR_11_DTD_SYSTEM_ID = - "http://java.sun.com/dtd/ejb-jar_1_1.dtd"; - - public static final String APPCLIENT_13_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN"; - public static final String APPCLIENT_13_DTD_SYSTEM_ID = - "http://java.sun.com/dtd/application-client_1_3.dtd"; - - public static final String APPCLIENT_12_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.2//EN"; - public static final String APPCLIENT_12_DTD_SYSTEM_ID = - "http://java.sun.com/dtd/application-client_1_2.dtd"; - - public static final String CONNECTOR_10_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Connector 1.0//EN"; - public static final String CONNECTOR_10_DTD_SYSTEM_ID = - "http://java.sun.com/dtd/connector_1_0.dtd"; - - public static final String WEBAPP_23_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"; - public static final String WEBAPP_23_DTD_SYSTEM_ID = - "http://java.sun.com/dtd/web-app_2_3.dtd"; - - public static final String WEBAPP_22_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"; - public static final String WEBAPP_22_DTD_SYSTEM_ID = - "http://java.sun.com/dtd/web-app_2_2.dtd"; - - public static final String TAGLIB_12_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"; - public static final String TAGLIB_12_DTD_SYSTEM_ID = - "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"; - - public static final String TAGLIB_11_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"; - public static final String TAGLIB_11_DTD_SYSTEM_ID = - "http://java.sun.com/dtd/web-jsptaglibrary_1_1.dtd"; - + public static final String SCHEMA_LOCATION = System.getProperty("com.sun.aas.installRoot") + + java.io.File.separator + "lib" + java.io.File.separator + "schemas"; //SunONE specific dtds /** * Application: Sun ONE App Server specific dtd info. */ + @Deprecated public static final String SUN_APPLICATION_130_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 J2EE Application 1.3//EN"; + @Deprecated public static final String SUN_APPLICATION_130_DTD_SYSTEM_ID = "http://www.sun.com/software/sunone/appserver/dtds/sun-application_1_3-0.dtd"; + @Deprecated public static final String SUN_APPLICATION_140beta_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 8.0 J2EE Application 1.4//EN"; + @Deprecated public static final String SUN_APPLICATION_140beta_DTD_SYSTEM_ID = - "http://www.sun.com/software/sunone/appserver/dtds/sun-application_1_4-0.dtd"; + "http://www.sun.com/software/sunone/appserver/dtds/sun-application_1_4-0.dtd"; + @Deprecated public static final String SUN_APPLICATION_140_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Application Server 8.0 J2EE Application 1.4//EN"; + @Deprecated public static final String SUN_APPLICATION_140_DTD_SYSTEM_ID = - "http://www.sun.com/software/appserver/dtds/sun-application_1_4-0.dtd"; + "http://www.sun.com/software/appserver/dtds/sun-application_1_4-0.dtd"; + @Deprecated public static final String SUN_APPLICATION_141_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Application Server 8.1 J2EE Application 1.4//EN"; + @Deprecated public static final String SUN_APPLICATION_141_DTD_SYSTEM_ID = - "http://www.sun.com/software/appserver/dtds/sun-application_1_4-0.dtd"; + "http://www.sun.com/software/appserver/dtds/sun-application_1_4-0.dtd"; + @Deprecated public static final String SUN_APPLICATION_500_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Java EE Application 5.0//EN"; + @Deprecated public static final String SUN_APPLICATION_500_DTD_SYSTEM_ID = - "http://www.sun.com/software/appserver/dtds/sun-application_5_0-0.dtd"; + "http://www.sun.com/software/appserver/dtds/sun-application_5_0-0.dtd"; + @Deprecated public static final String SUN_APPLICATION_600_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Java EE Application 6.0//EN"; + @Deprecated public static final String SUN_APPLICATION_600_DTD_SYSTEM_ID = - "http://www.sun.com/software/appserver/dtds/sun-application_6_0-0.dtd"; + "http://www.sun.com/software/appserver/dtds/sun-application_6_0-0.dtd"; /** * EJB: Sun ONE App Server specific dtd info. */ + @Deprecated public static final String SUN_EJBJAR_200_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 EJB 2.0//EN"; + @Deprecated public static final String SUN_EJBJAR_200_DTD_SYSTEM_ID = "http://www.sun.com/software/sunone/appserver/dtds/sun-ejb-jar_2_0-0.dtd"; + @Deprecated public static final String SUN_EJBJAR_201_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.1 EJB 2.0//EN"; + @Deprecated public static final String SUN_EJBJAR_201_DTD_SYSTEM_ID = "http://www.sun.com/software/sunone/appserver/dtds/sun-ejb-jar_2_0-1.dtd"; + @Deprecated public static final String SUN_EJBJAR_210beta_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 8.0 EJB 2.1//EN"; + @Deprecated public static final String SUN_EJBJAR_210beta_DTD_SYSTEM_ID = - "http://www.sun.com/software/sunone/appserver/dtds/sun-ejb-jar_2_1-0.dtd"; + "http://www.sun.com/software/sunone/appserver/dtds/sun-ejb-jar_2_1-0.dtd"; + @Deprecated public static final String SUN_EJBJAR_210_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Application Server 8.0 EJB 2.1//EN"; + @Deprecated public static final String SUN_EJBJAR_210_DTD_SYSTEM_ID = - "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_2_1-0.dtd"; + "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_2_1-0.dtd"; + @Deprecated public static final String SUN_EJBJAR_211_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Application Server 8.1 EJB 2.1//EN"; + @Deprecated public static final String SUN_EJBJAR_211_DTD_SYSTEM_ID = - "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_2_1-1.dtd"; + "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_2_1-1.dtd"; + @Deprecated public static final String SUN_EJBJAR_300_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Application Server 9.0 EJB 3.0//EN"; + @Deprecated public static final String SUN_EJBJAR_300_DTD_SYSTEM_ID = "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_3_0-0.dtd"; - + @Deprecated public static final String SUN_EJBJAR_310_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 EJB 3.1//EN"; + @Deprecated public static final String SUN_EJBJAR_310_DTD_SYSTEM_ID = "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_3_1-0.dtd"; @@ -176,102 +145,130 @@ public final class DTDRegistry { /** * Application Client: Sun ONE App Server specific dtd info. */ + @Deprecated public static final String SUN_APPCLIENT_130_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 Application Client 1.3//EN"; + @Deprecated public static final String SUN_APPCLIENT_130_DTD_SYSTEM_ID = "http://www.sun.com/software/sunone/appserver/dtds/sun-application-client_1_3-0.dtd"; + @Deprecated public static final String SUN_APPCLIENT_140beta_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 8.0 Application Client 1.4//EN"; + @Deprecated public static final String SUN_APPCLIENT_140beta_DTD_SYSTEM_ID = - "http://www.sun.com/software/sunone/appserver/dtds/sun-application-client_1_4-0.dtd"; + "http://www.sun.com/software/sunone/appserver/dtds/sun-application-client_1_4-0.dtd"; + @Deprecated public static final String SUN_APPCLIENT_140_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Application Server 8.0 Application Client 1.4//EN"; + @Deprecated public static final String SUN_APPCLIENT_140_DTD_SYSTEM_ID = - "http://www.sun.com/software/appserver/dtds/sun-application-client_1_4-0.dtd"; + "http://www.sun.com/software/appserver/dtds/sun-application-client_1_4-0.dtd"; + @Deprecated public static final String SUN_APPCLIENT_141_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Application Server 8.1 Application Client 1.4//EN"; + @Deprecated public static final String SUN_APPCLIENT_141_DTD_SYSTEM_ID = "http://www.sun.com/software/appserver/dtds/sun-application-client_1_4-1.dtd"; + @Deprecated public static final String SUN_APPCLIENT_500_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Application Client 5.0//EN"; + @Deprecated public static final String SUN_APPCLIENT_500_DTD_SYSTEM_ID = "http://www.sun.com/software/appserver/dtds/sun-application-client_5_0-0.dtd"; + @Deprecated public static final String SUN_APPCLIENT_600_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Application Client 6.0//EN"; + @Deprecated public static final String SUN_APPCLIENT_600_DTD_SYSTEM_ID = "http://www.sun.com/software/appserver/dtds/sun-application-client_6_0-0.dtd"; /** * Connectors: Sun ONE App Server specific dtd info. */ + @Deprecated // Is the sun-connector still a thing? public static final String SUN_CONNECTOR_100_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 Connector 1.0//EN"; + @Deprecated // Is the sun-connector still a thing? public static final String SUN_CONNECTOR_100_DTD_SYSTEM_ID = "http://www.sun.com/software/sunone/appserver/dtds/sun-connector_1_0-0.dtd"; /** * Web: Sun ONE App Server specific dtd info. */ + @Deprecated public static final String SUN_WEBAPP_230_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 Servlet 2.3//EN"; + @Deprecated public static final String SUN_WEBAPP_230_DTD_SYSTEM_ID = "http://www.sun.com/software/sunone/appserver/dtds/sun-web-app_2_3-0.dtd"; + @Deprecated public static final String SUN_WEBAPP_231_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.1 Servlet 2.3//EN"; + @Deprecated public static final String SUN_WEBAPP_231_DTD_SYSTEM_ID = "http://www.sun.com/software/sunone/appserver/dtds/sun-web-app_2_3-1.dtd"; + @Deprecated public static final String SUN_WEBAPP_240beta_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 8.0 Servlet 2.4//EN"; + "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 8.0 Servlet 2.4//EN"; + @Deprecated public static final String SUN_WEBAPP_240beta_DTD_SYSTEM_ID = "http://www.sun.com/software/sunone/appserver/dtds/sun-web-app_2_4-0.dtd"; + @Deprecated public static final String SUN_WEBAPP_240_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Application Server 8.0 Servlet 2.4//EN"; + "-//Sun Microsystems, Inc.//DTD Application Server 8.0 Servlet 2.4//EN"; + @Deprecated public static final String SUN_WEBAPP_240_DTD_SYSTEM_ID = "http://www.sun.com/software/appserver/dtds/sun-web-app_2_4-0.dtd"; + @Deprecated public static final String SUN_WEBAPP_241_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Application Server 8.1 Servlet 2.4//EN"; + "-//Sun Microsystems, Inc.//DTD Application Server 8.1 Servlet 2.4//EN"; + @Deprecated public static final String SUN_WEBAPP_241_DTD_SYSTEM_ID = "http://www.sun.com/software/appserver/dtds/sun-web-app_2_4-1.dtd"; + @Deprecated public static final String SUN_WEBAPP_250_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN"; + "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN"; + @Deprecated public static final String SUN_WEBAPP_250_DTD_SYSTEM_ID = "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd"; + @Deprecated public static final String SUN_WEBAPP_300_DTD_PUBLIC_ID = "-//Sun Microsystems, Inc.//DTD GlassFish Application Server 3.0 Servlet 3.0//EN"; + @Deprecated public static final String SUN_WEBAPP_300_DTD_SYSTEM_ID = "http://www.sun.com/software/appserver/dtds/sun-web-app_3_0-0.dtd"; - - /** - * Application Client Container: Sun ONE App Server specific dtd info. - */ - public static final String SUN_CLIENTCONTAINER_700_DTD_PUBLIC_ID = - "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 Application Client Container 1.0//EN"; - public static final String SUN_CLIENTCONTAINER_700_DTD_SYSTEM_ID = - "http://www.sun.com/software/sunone/appserver/dtds/sun-application-client-container_1_0.dtd"; + @Deprecated public static final String GF_WEBAPP_301_DTD_PUBLIC_ID = "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN"; + @Deprecated public static final String GF_WEBAPP_301_DTD_SYSTEM_ID = "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"; + @Deprecated public static final String GF_APPLICATION_601_DTD_PUBLIC_ID = "-//GlassFish.org//DTD GlassFish Application Server 3.1 Java EE Application 6.0//EN"; + @Deprecated public static final String GF_APPLICATION_601_DTD_SYSTEM_ID = "http://glassfish.org/dtds/glassfish-application_6_0-1.dtd"; + @Deprecated public static final String GF_APPCLIENT_602_DTD_PUBLIC_ID = "-//GlassFish.org//DTD GlassFish Application Server 3.1 Java EE Application Client 6.0//EN"; + @Deprecated public static final String GF_APPCLIENT_602_DTD_SYSTEM_ID = "http://glassfish.org/dtds/glassfish-application-client_6_0-2.dtd"; + @Deprecated public static final String GF_EJBJAR_311_DTD_PUBLIC_ID = "-//GlassFish.org//DTD GlassFish Application Server 3.1 EJB 3.1//EN"; + @Deprecated public static final String GF_EJBJAR_311_DTD_SYSTEM_ID = "http://glassfish.org/dtds/glassfish-ejb-jar_3_1-1.dtd"; From 1f050fdfc076373f14fdad16eeee4e6a1169ff83 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 11:46:04 +0100 Subject: [PATCH 077/133] FISH-13126 Deprecate ConnectorRuntimeDDFile Signed-off-by: Andrew Pielage --- .../deployment/io/runtime/ConnectorRuntimeDDFile.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/ConnectorRuntimeDDFile.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/ConnectorRuntimeDDFile.java index 3a222f5c9fb..c82d14a1cb0 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/ConnectorRuntimeDDFile.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/ConnectorRuntimeDDFile.java @@ -37,6 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates package com.sun.enterprise.deployment.io.runtime; @@ -53,6 +54,7 @@ * * @author Jerome Dochez */ +@Deprecated public class ConnectorRuntimeDDFile extends ConfigurationDeploymentDescriptorFile { /** From 1f188edf9c3c82ec3eb77365f80110101d0355fe Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 11:46:21 +0100 Subject: [PATCH 078/133] FISH-13126 Deprecate GFAppClientRuntimeDDFile Signed-off-by: Andrew Pielage --- .../deployment/io/runtime/GFAppClientRuntimeDDFile.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/GFAppClientRuntimeDDFile.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/GFAppClientRuntimeDDFile.java index d631bc02d22..9195f9a40dc 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/GFAppClientRuntimeDDFile.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/GFAppClientRuntimeDDFile.java @@ -37,6 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates package com.sun.enterprise.deployment.io.runtime; @@ -51,6 +52,7 @@ * This class is responsible for handling the XML configuration information * for the Glassfish Application Client Container */ +@Deprecated public class GFAppClientRuntimeDDFile extends ConfigurationDeploymentDescriptorFile { /** * @return the location of the DeploymentDescriptor file for a From eee9db30ba0e93dcb29f6959055da0b1341b59d5 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 11:46:33 +0100 Subject: [PATCH 079/133] FISH-13126 Deprecate GFApplicationRuntimeDDFile Signed-off-by: Andrew Pielage --- .../deployment/io/runtime/GFApplicationRuntimeDDFile.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/GFApplicationRuntimeDDFile.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/GFApplicationRuntimeDDFile.java index b09945e49f8..3c5ecd7d407 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/GFApplicationRuntimeDDFile.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/GFApplicationRuntimeDDFile.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.deployment.io.runtime; import org.glassfish.deployment.common.Descriptor; @@ -60,6 +60,7 @@ @ConfigurationDeploymentDescriptorFileFor(EarType.ARCHIVE_TYPE) @PerLookup @Service +@Deprecated public class GFApplicationRuntimeDDFile extends ConfigurationDeploymentDescriptorFile { /** From 1a0e606f394febdf5d5397d6b61108fff3db88ab Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 11:46:49 +0100 Subject: [PATCH 080/133] FISH-13126 Deprecate ApplicationRuntimeDDFile Signed-off-by: Andrew Pielage --- .../deployment/io/runtime/ApplicationRuntimeDDFile.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/ApplicationRuntimeDDFile.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/ApplicationRuntimeDDFile.java index d541a5aa1e7..dd6d0fd3f97 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/ApplicationRuntimeDDFile.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/ApplicationRuntimeDDFile.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.deployment.io.runtime; import com.sun.enterprise.deployment.Application; @@ -62,6 +62,7 @@ @ConfigurationDeploymentDescriptorFileFor(EarType.ARCHIVE_TYPE) @PerLookup @Service +@Deprecated public class ApplicationRuntimeDDFile extends ConfigurationDeploymentDescriptorFile { /** From 18bb397b5c92f43fd790303b575d79c85131f32b Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 11:48:00 +0100 Subject: [PATCH 081/133] FISH-13126 Register payara-application-client.xml in AppClientSniffer and CarDetector Also deprecates some more old file variables Signed-off-by: Andrew Pielage --- .../appclient/server/connector/AppClientSniffer.java | 5 ++++- .../appclient/server/connector/CarDetector.java | 10 ++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/appserver/appclient/server/connector/src/main/java/org/glassfish/appclient/server/connector/AppClientSniffer.java b/appserver/appclient/server/connector/src/main/java/org/glassfish/appclient/server/connector/AppClientSniffer.java index 2b4bc1d6545..9aad7307cc8 100644 --- a/appserver/appclient/server/connector/src/main/java/org/glassfish/appclient/server/connector/AppClientSniffer.java +++ b/appserver/appclient/server/connector/src/main/java/org/glassfish/appclient/server/connector/AppClientSniffer.java @@ -37,6 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates package org.glassfish.appclient.server.connector; @@ -60,7 +61,8 @@ @Singleton public class AppClientSniffer extends GenericSniffer { private static final String[] stigmas = { - "META-INF/application-client.xml", "META-INF/sun-application-client.xml", "META-INF/glassfish-application-client.xml" + "META-INF/application-client.xml", "META-INF/sun-application-client.xml", + "META-INF/glassfish-application-client.xml", "META-INF/payara-application-client.xml" }; private static final String[] containers = {"appclient"}; @@ -164,6 +166,7 @@ private static List initDeploymentConfigurationPaths() { result.add("META-INF/application-client.xml"); result.add("META-INF/sun-application-client.xml"); result.add("META-INF/glassfish-application-client.xml"); + result.add("META-INF/payara-application-client.xml"); return result; } diff --git a/appserver/appclient/server/connector/src/main/java/org/glassfish/appclient/server/connector/CarDetector.java b/appserver/appclient/server/connector/src/main/java/org/glassfish/appclient/server/connector/CarDetector.java index 088930f8e86..f7cf1c572fe 100644 --- a/appserver/appclient/server/connector/src/main/java/org/glassfish/appclient/server/connector/CarDetector.java +++ b/appserver/appclient/server/connector/src/main/java/org/glassfish/appclient/server/connector/CarDetector.java @@ -37,6 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates package org.glassfish.appclient.server.connector; @@ -53,7 +54,6 @@ import org.glassfish.api.deployment.archive.ArchiveHandler; import org.glassfish.api.deployment.archive.ArchiveType; import org.glassfish.api.deployment.archive.ReadableArchive; -import org.glassfish.deployment.common.DeploymentUtils; import org.glassfish.hk2.api.ServiceLocator; import org.jvnet.hk2.annotations.Service; @@ -82,8 +82,11 @@ public class CarDetector implements ArchiveDetector { private Logger logger = Logger.getLogger(getClass().getPackage().getName()); private static final String APPLICATION_CLIENT_XML = "META-INF/application-client.xml"; + @Deprecated private static final String SUN_APPLICATION_CLIENT_XML = "META-INF/sun-application-client.xml"; + @Deprecated private static final String GF_APPLICATION_CLIENT_XML = "META-INF/glassfish-application-client.xml"; + private static final String PAYARA_APPLICATION_CLIENT_XML = "META-INF/payara-application-client.xml"; @Override public int rank() { @@ -93,9 +96,8 @@ public int rank() { @Override public boolean handles(ReadableArchive archive) throws IOException { try { - if (archive.exists(APPLICATION_CLIENT_XML) || - archive.exists(SUN_APPLICATION_CLIENT_XML) || - archive.exists(GF_APPLICATION_CLIENT_XML)) { + if (archive.exists(APPLICATION_CLIENT_XML) || archive.exists(SUN_APPLICATION_CLIENT_XML) || + archive.exists(GF_APPLICATION_CLIENT_XML) || archive.exists(PAYARA_APPLICATION_CLIENT_XML)) { return true; } From 46b304d866cf95185700ec3284774e1fd355216c Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 11:48:15 +0100 Subject: [PATCH 082/133] FISH-13126 Deprecate GFApplicationRuntimeNode Signed-off-by: Andrew Pielage --- .../node/runtime/application/gf/GFApplicationRuntimeNode.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/application/gf/GFApplicationRuntimeNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/application/gf/GFApplicationRuntimeNode.java index b7a3b86aedc..647ad260748 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/application/gf/GFApplicationRuntimeNode.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/application/gf/GFApplicationRuntimeNode.java @@ -37,6 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates package com.sun.enterprise.deployment.node.runtime.application.gf; @@ -52,6 +53,7 @@ * This node is responsible for handling all runtime information for * application. */ +@Deprecated public class GFApplicationRuntimeNode extends ApplicationRuntimeNode { public GFApplicationRuntimeNode(Application descriptor) { From 63cb01daa470a37945354097cc4d1ea2dfb3c433 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 12:09:56 +0100 Subject: [PATCH 083/133] FISH-13126 Remove unnecessary public static finals Signed-off-by: Andrew Pielage --- .../deployment/xml/RuntimeTagNames.java | 366 +++++++++--------- 1 file changed, 183 insertions(+), 183 deletions(-) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java index f8ded54e69e..e75cb5a540b 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java @@ -49,45 +49,45 @@ public interface RuntimeTagNames extends TagNames { - public final static String S1AS_EJB_RUNTIME_TAG = "sun-ejb-jar"; - public final static String S1AS_APPCLIENT_RUNTIME_TAG = "sun-application-client"; - public final static String S1AS_APPLICATION_RUNTIME_TAG = "sun-application"; - public final static String S1AS_WEB_RUNTIME_TAG = "sun-web-app"; - public final static String S1AS_CONNECTOR_RUNTIME_TAG = "sun-connector"; + String S1AS_EJB_RUNTIME_TAG = "sun-ejb-jar"; + String S1AS_APPCLIENT_RUNTIME_TAG = "sun-application-client"; + String S1AS_APPLICATION_RUNTIME_TAG = "sun-application"; + String S1AS_WEB_RUNTIME_TAG = "sun-web-app"; + String S1AS_CONNECTOR_RUNTIME_TAG = "sun-connector"; - public final static String GF_EJB_RUNTIME_TAG = "glassfish-ejb-jar"; - public final static String GF_APPCLIENT_RUNTIME_TAG = "glassfish-application-client"; - public final static String GF_APPLICATION_RUNTIME_TAG = "glassfish-application"; - public final static String GF_WEB_RUNTIME_TAG = "glassfish-web-app"; + String GF_EJB_RUNTIME_TAG = "glassfish-ejb-jar"; + String GF_APPCLIENT_RUNTIME_TAG = "glassfish-application-client"; + String GF_APPLICATION_RUNTIME_TAG = "glassfish-application"; + String GF_WEB_RUNTIME_TAG = "glassfish-web-app"; - public final static String PAYARA_CLASSLOADING_DELEGATE = "classloading-delegate"; - public final static String PAYARA_ENABLE_IMPLICIT_CDI = "enable-implicit-cdi"; - public final static String PAYARA_SCANNING_EXCLUDE = "scanning-exclude"; - public final static String PAYARA_SCANNING_INCLUDE = "scanning-include"; - public final static String PAYARA_WHITELIST_PACKAGE = "whitelist-package"; - public final static String PAYARA_JAXRS_ROLES_ALLOWED_ENABLED = "jaxrs-roles-allowed-enabled"; - public final static String PAYARA_APPLICATION_RUNTIME_TAG = "payara-application"; - public final static String PAYARA_WEB_RUNTIME_TAG = "payara-web-app"; + String PAYARA_CLASSLOADING_DELEGATE = "classloading-delegate"; + String PAYARA_ENABLE_IMPLICIT_CDI = "enable-implicit-cdi"; + String PAYARA_SCANNING_EXCLUDE = "scanning-exclude"; + String PAYARA_SCANNING_INCLUDE = "scanning-include"; + String PAYARA_WHITELIST_PACKAGE = "whitelist-package"; + String PAYARA_JAXRS_ROLES_ALLOWED_ENABLED = "jaxrs-roles-allowed-enabled"; + String PAYARA_APPLICATION_RUNTIME_TAG = "payara-application"; + String PAYARA_WEB_RUNTIME_TAG = "payara-web-app"; // The name of the deployment context property used to disable implicit bean discovery for a // particular application deployment. - public final static String IMPLICIT_CDI_ENABLED_PROP = "implicitCdiEnabled"; - public final static String PAYARA_CLUSTERED_BEAN = "clustered-bean"; - public final static String PAYARA_CLUSTERED_KEY_NAME = "clustered-key-name"; - public final static String PAYARA_CLUSTERED_LOCK_TYPE = "clustered-lock-type"; - public final static String PAYARA_CLUSTERED_POSTCONSTRUCT_ON_ATTACH = "clustered-attach-postconstruct"; - public final static String PAYARA_CLUSTERED_PREDESTROY_ON_DETTACH = "clustered-detach-predestroy"; + String IMPLICIT_CDI_ENABLED_PROP = "implicitCdiEnabled"; + String PAYARA_CLUSTERED_BEAN = "clustered-bean"; + String PAYARA_CLUSTERED_KEY_NAME = "clustered-key-name"; + String PAYARA_CLUSTERED_LOCK_TYPE = "clustered-lock-type"; + String PAYARA_CLUSTERED_POSTCONSTRUCT_ON_ATTACH = "clustered-attach-postconstruct"; + String PAYARA_CLUSTERED_PREDESTROY_ON_DETTACH = "clustered-detach-predestroy"; String AS_CONTEXT = "as-context"; String AUTH_METHOD = "auth-method"; String CALLER_PROPAGATION = "caller-propagation"; String CONFIDENTIALITY = "confidentiality"; - public static final String DURABLE_SUBSCRIPTION = "jms-durable-subscription-name"; + String DURABLE_SUBSCRIPTION = "jms-durable-subscription-name"; String ESTABLISH_TRUST_IN_CLIENT = "establish-trust-in-client"; String ESTABLISH_TRUST_IN_TARGET = "establish-trust-in-target"; String INTEGRITY = "integrity"; String IOR_CONFIG = "ior-security-config"; - public static final String MDB_CONNECTION_FACTORY = "mdb-connection-factory"; + String MDB_CONNECTION_FACTORY = "mdb-connection-factory"; String MESSAGE_DESTINATION = "message-destination"; String MESSAGE_DESTINATION_NAME = "message-destination-name"; String REALM = "realm"; @@ -102,204 +102,204 @@ public interface RuntimeTagNames extends TagNames { String ACTIVATION_CONFIG_PROPERTY_NAME = "activation-config-property-name"; String ACTIVATION_CONFIG_PROPERTY_VALUE = "activation-config-property-value"; - public static final String APPLICATION_CLIENT = "app-client"; - public static final String DEFAULT_RESOURCE_PRINCIPAL = "default-resource-principal"; - public static final String DISPLAY_NAME = "display-name"; - public static final String EJB = "ejb"; - public static final String EJB_NAME = "ejb-name"; - public static final String EJBS = "enterprise-beans"; - public static final String WEBSERVICE_DEFAULT_LOGIN_CONFIG = "webservice-default-login-config"; - public static final String FIELD = "field"; + String APPLICATION_CLIENT = "app-client"; + String DEFAULT_RESOURCE_PRINCIPAL = "default-resource-principal"; + String DISPLAY_NAME = "display-name"; + String EJB = "ejb"; + String EJB_NAME = "ejb-name"; + String EJBS = "enterprise-beans"; + String WEBSERVICE_DEFAULT_LOGIN_CONFIG = "webservice-default-login-config"; + String FIELD = "field"; - public static final String GROUP = "group"; - public static final String GROUPS = "groups"; - public static final String JOIN_OBJECT = "join-object"; - public static final String JNDI_NAME = "jndi-name"; - public static final String LOCAL_PART = "localpart"; - public static final String MAIL_CONFIG = "mail-configuration"; - public static final String MAIL_FROM = "mail-from"; - public static final String MAIL_HOST = "mail-host"; - public static final String METHOD = "method"; - public static final String NAME = "name"; - public static final String NAMESPACE_URI = "namespace-uri"; - public static final String OPERATION = "operation"; + String GROUP = "group"; + String GROUPS = "groups"; + String JOIN_OBJECT = "join-object"; + String JNDI_NAME = "jndi-name"; + String LOCAL_PART = "localpart"; + String MAIL_CONFIG = "mail-configuration"; + String MAIL_FROM = "mail-from"; + String MAIL_HOST = "mail-host"; + String METHOD = "method"; + String NAME = "name"; + String NAMESPACE_URI = "namespace-uri"; + String OPERATION = "operation"; - public static final String PASSWORD = "password"; - public static final String PRINCIPALS = "principals"; - public static final String PRINCIPAL = "principal"; - public static final String REMOTE_ENTITY = "remote-entity"; - public static final String ROLE = "role"; - public static final String ROLE_MAPPING = "rolemapping"; - public static final String ROLE_ENTRY = "role"; - public static final String SERVER_NAME = "server-name"; + String PASSWORD = "password"; + String PRINCIPALS = "principals"; + String PRINCIPAL = "principal"; + String REMOTE_ENTITY = "remote-entity"; + String ROLE = "role"; + String ROLE_MAPPING = "rolemapping"; + String ROLE_ENTRY = "role"; + String SERVER_NAME = "server-name"; - public static final String SERVLET = "servlet"; - public static final String SERVLET_NAME = "servlet-name"; - public static final String SOURCE = "source"; - public static final String SINK = "sink"; - public static final String SQL = "sql"; - public static final String SQL_STATEMENT = "sql-statement"; - public static final String TABLE_CREATE = "table-create-sql"; - public static final String TABLE_REMOVE = "table-remove-sql"; + String SERVLET = "servlet"; + String SERVLET_NAME = "servlet-name"; + String SOURCE = "source"; + String SINK = "sink"; + String SQL = "sql"; + String SQL_STATEMENT = "sql-statement"; + String TABLE_CREATE = "table-create-sql"; + String TABLE_REMOVE = "table-remove-sql"; - public static final String UNIQUE_ID = "unique-id"; - public static final String WEB = "web"; - public static final String WEB_SERVICE_ENDPOINT = "web-service-endpoint"; + String UNIQUE_ID = "unique-id"; + String WEB = "web"; + String WEB_SERVICE_ENDPOINT = "web-service-endpoint"; - public static final String EJB_IMPL = "ejb-impl"; - public static final String REMOTE_IMPL = "remote-impl"; - public static final String LOCAL_IMPL = "local-impl"; - public static final String REMOTE_HOME_IMPL = "remote-home-impl"; - public static final String LOCAL_HOME_IMPL = "local-home-impl"; - public static final String STATE_IMPL = "state-impl"; - public static final String GEN_CLASSES = "gen-classes"; + String EJB_IMPL = "ejb-impl"; + String REMOTE_IMPL = "remote-impl"; + String LOCAL_IMPL = "local-impl"; + String REMOTE_HOME_IMPL = "remote-home-impl"; + String LOCAL_HOME_IMPL = "local-home-impl"; + String STATE_IMPL = "state-impl"; + String GEN_CLASSES = "gen-classes"; // acceptable values - public static final String TRUE = "true"; - public static final String FALSE = "false"; + String TRUE = "true"; + String FALSE = "false"; // SECURITY related - public static final String SECURITY_ROLE_MAPPING = "security-role-mapping"; - public static final String SECURITY_ROLE_ASSIGNMENT = "security-role-assignment"; - public static final String ROLE_NAME = "role-name"; - public static final String PRINCIPAL_NAME = "principal-name"; - public static final String GROUP_NAME = "group-name"; - public static final String EXTERNALLY_DEFINED = "externally-defined"; + String SECURITY_ROLE_MAPPING = "security-role-mapping"; + String SECURITY_ROLE_ASSIGNMENT = "security-role-assignment"; + String ROLE_NAME = "role-name"; + String PRINCIPAL_NAME = "principal-name"; + String GROUP_NAME = "group-name"; + String EXTERNALLY_DEFINED = "externally-defined"; // common - public static final String EJB_REF = "ejb-ref"; - public static final String RESOURCE_REF = "resource-ref"; - public static final String RESOURCE_ENV_REF = "resource-env-ref"; + String EJB_REF = "ejb-ref"; + String RESOURCE_REF = "resource-ref"; + String RESOURCE_ENV_REF = "resource-env-ref"; // S1AS specific - public static final String PASS_BY_REFERENCE = "pass-by-reference"; - public static final String JMS_MAX_MESSAGES_LOAD = "jms-max-messages-load"; - public static final String IS_READ_ONLY_BEAN = "is-read-only-bean"; - public static final String REFRESH_PERIOD_IN_SECONDS = "refresh-period-in-seconds"; - public static final String COMMIT_OPTION = "commit-option"; - public static final String CMT_TIMEOUT_IN_SECONDS = "cmt-timeout-in-seconds"; - public static final String USE_THREAD_POOL_ID = "use-thread-pool-id"; - public static final String AVAILABILITY_ENABLED = "availability-enabled"; - public static final String DISABLE_NONPORTABLE_JNDI_NAMES = "disable-nonportable-jndi-names"; - public static final String PER_REQUEST_LOAD_BALANCING = "per-request-load-balancing"; + String PASS_BY_REFERENCE = "pass-by-reference"; + String JMS_MAX_MESSAGES_LOAD = "jms-max-messages-load"; + String IS_READ_ONLY_BEAN = "is-read-only-bean"; + String REFRESH_PERIOD_IN_SECONDS = "refresh-period-in-seconds"; + String COMMIT_OPTION = "commit-option"; + String CMT_TIMEOUT_IN_SECONDS = "cmt-timeout-in-seconds"; + String USE_THREAD_POOL_ID = "use-thread-pool-id"; + String AVAILABILITY_ENABLED = "availability-enabled"; + String DISABLE_NONPORTABLE_JNDI_NAMES = "disable-nonportable-jndi-names"; + String PER_REQUEST_LOAD_BALANCING = "per-request-load-balancing"; // BEAN-POOL related - public static final String BEAN_POOL = "bean-pool"; - public static final String STEADY_POOL_SIZE = "steady-pool-size"; - public static final String POOL_RESIZE_QUANTITY = "resize-quantity"; - public static final String MAX_POOL_SIZE = "max-pool-size"; - public static final String POOL_IDLE_TIMEOUT_IN_SECONDS = "pool-idle-timeout-in-seconds"; + String BEAN_POOL = "bean-pool"; + String STEADY_POOL_SIZE = "steady-pool-size"; + String POOL_RESIZE_QUANTITY = "resize-quantity"; + String MAX_POOL_SIZE = "max-pool-size"; + String POOL_IDLE_TIMEOUT_IN_SECONDS = "pool-idle-timeout-in-seconds"; // BEAN-CACHE related - public static final String BEAN_CACHE = "bean-cache"; - public static final String MAX_CACHE_SIZE = "max-cache-size"; - public static final String RESIZE_QUANTITY = "resize-quantity"; - public static final String CACHE_IDLE_TIMEOUT_IN_SECONDS = "cache-idle-timeout-in-seconds"; - public static final String REMOVAL_TIMEOUT_IN_SECONDS = "removal-timeout-in-seconds"; - public static final String VICTIM_SELECTION_POLICY = "victim-selection-policy"; + String BEAN_CACHE = "bean-cache"; + String MAX_CACHE_SIZE = "max-cache-size"; + String RESIZE_QUANTITY = "resize-quantity"; + String CACHE_IDLE_TIMEOUT_IN_SECONDS = "cache-idle-timeout-in-seconds"; + String REMOVAL_TIMEOUT_IN_SECONDS = "removal-timeout-in-seconds"; + String VICTIM_SELECTION_POLICY = "victim-selection-policy"; // thread-pool related - public static final String THREAD_CORE_POOL_SIZE = "thread-core-pool-size"; - public static final String THREAD_MAX_POOL_SIZE = "thread-max-pool-size"; - public static final String THREAD_KEEP_ALIVE_SECONDS = "thread-keep-alive-seconds"; - public static final String THREAD_QUEUE_CAPACITY = "thread-queue-capacity"; - public static final String ALLOW_CORE_THREAD_TIMEOUT = "allow-core-thread-timeout"; - public static final String PRESTART_ALL_CORE_THREADS = "prestart-all-core-threads"; + String THREAD_CORE_POOL_SIZE = "thread-core-pool-size"; + String THREAD_MAX_POOL_SIZE = "thread-max-pool-size"; + String THREAD_KEEP_ALIVE_SECONDS = "thread-keep-alive-seconds"; + String THREAD_QUEUE_CAPACITY = "thread-queue-capacity"; + String ALLOW_CORE_THREAD_TIMEOUT = "allow-core-thread-timeout"; + String PRESTART_ALL_CORE_THREADS = "prestart-all-core-threads"; // flush-at-end-of-method - public static final String FLUSH_AT_END_OF_METHOD = + String FLUSH_AT_END_OF_METHOD = "flush-at-end-of-method"; // checkpoint-at-end-of-method, equivalent element of // checkpointed-methods in 8.1 and later releases - public static final String CHECKPOINT_AT_END_OF_METHOD = + String CHECKPOINT_AT_END_OF_METHOD = "checkpoint-at-end-of-method"; // prefetch-disabled - public static final String PREFETCH_DISABLED = + String PREFETCH_DISABLED = "prefetch-disabled"; - public static final String QUERY_METHOD = "query-method"; + String QUERY_METHOD = "query-method"; // Connector related - public static final String RESOURCE_ADAPTER = "resource-adapter"; - public static final String ROLE_MAP = "role-map"; - public static final String IDLE_TIMEOUT_IN_SECONDS = "idle-timeout-in-seconds"; - public static final String PROPERTY = "property"; - public static final String MAP_ELEMENT = "map-element"; - public static final String MAP_ID = "map-id"; - public static final String BACKEND_PRINCIPAL = "backend-principal"; - public static final String USER_NAME = "user-name"; - public static final String CREDENTIAL = "credential"; + String RESOURCE_ADAPTER = "resource-adapter"; + String ROLE_MAP = "role-map"; + String IDLE_TIMEOUT_IN_SECONDS = "idle-timeout-in-seconds"; + String PROPERTY = "property"; + String MAP_ELEMENT = "map-element"; + String MAP_ID = "map-id"; + String BACKEND_PRINCIPAL = "backend-principal"; + String USER_NAME = "user-name"; + String CREDENTIAL = "credential"; // application related - public static final String WEB_URI = "web-uri"; - public static final String CONTEXT_ROOT = "context-root"; // also used in java web start support - public final static String ARCHIVE_NAME = "archive-name"; - public final static String COMPATIBILITY = "compatibility"; - public final static String KEEP_STATE = "keep-state"; - public static final String VERSION_IDENTIFIER = "version-identifier"; - public final static String APPLICATION_PARAM = "application-param"; - public static final String PARAM_NAME = "param-name"; - public static final String PARAM_VALUE = "param-value"; - public final static String MODULE = "module"; - public final static String TYPE = "type"; - public final static String PATH = "path"; + String WEB_URI = "web-uri"; + String CONTEXT_ROOT = "context-root"; // also used in java web start support + String ARCHIVE_NAME = "archive-name"; + String COMPATIBILITY = "compatibility"; + String KEEP_STATE = "keep-state"; + String VERSION_IDENTIFIER = "version-identifier"; + String APPLICATION_PARAM = "application-param"; + String PARAM_NAME = "param-name"; + String PARAM_VALUE = "param-value"; + String MODULE = "module"; + String TYPE = "type"; + String PATH = "path"; // Web - public static final String CACHE_MAPPING = "cache-mapping"; - public static final String CACHE_HELPER = "cache-helper"; - public static final String CACHE_HELPER_REF = "cache-helper-ref"; - public static final String CLASS_NAME = "class-name"; - public static final String COOKIE_PROPERTIES = "cookie-properties"; - public static final String CONSTRAINT_FIELD = "constraint-field"; - public static final String CONSTRAINT_FIELD_VALUE = "constraint-field-value"; - public static final String DEFAULT_HELPER = "default-helper"; - public static final String MAX_ENTRIES = "max-entries"; - public static final String TIMEOUT_IN_SECONDS = "timeout-in-seconds"; - public static final String ENABLED = "enabled"; - public static final String PARAMETER_ENCODING = "parameter-encoding"; - public static final String FORM_HINT_FIELD = "form-hint-field"; - public static final String DEFAULT_CHARSET = "default-charset"; - public static final String STORE_PROPERTIES = "store-properties"; - public static final String MANAGER_PROPERTIES = "manager-properties"; - public static final String REFRESH_FIELD = "refresh-field"; - public static final String SESSION_MANAGER = "session-manager"; - public static final String SESSION_PROPERTIES = "session-properties"; - public static final String SESSION_CONFIG = "session-config"; - public static final String TIMEOUT = "timeout"; - public static final String PERSISTENCE_TYPE = "persistence-type"; - public static final String JSP_CONFIG = "jsp-config"; - public static final String CLASS_LOADER = "class-loader"; - public static final String EXTRA_CLASS_PATH = "extra-class-path"; - public static final String DELEGATE = "delegate"; - public static final String DYNAMIC_RELOAD_INTERVAL = + String CACHE_MAPPING = "cache-mapping"; + String CACHE_HELPER = "cache-helper"; + String CACHE_HELPER_REF = "cache-helper-ref"; + String CLASS_NAME = "class-name"; + String COOKIE_PROPERTIES = "cookie-properties"; + String CONSTRAINT_FIELD = "constraint-field"; + String CONSTRAINT_FIELD_VALUE = "constraint-field-value"; + String DEFAULT_HELPER = "default-helper"; + String MAX_ENTRIES = "max-entries"; + String TIMEOUT_IN_SECONDS = "timeout-in-seconds"; + String ENABLED = "enabled"; + String PARAMETER_ENCODING = "parameter-encoding"; + String FORM_HINT_FIELD = "form-hint-field"; + String DEFAULT_CHARSET = "default-charset"; + String STORE_PROPERTIES = "store-properties"; + String MANAGER_PROPERTIES = "manager-properties"; + String REFRESH_FIELD = "refresh-field"; + String SESSION_MANAGER = "session-manager"; + String SESSION_PROPERTIES = "session-properties"; + String SESSION_CONFIG = "session-config"; + String TIMEOUT = "timeout"; + String PERSISTENCE_TYPE = "persistence-type"; + String JSP_CONFIG = "jsp-config"; + String CLASS_LOADER = "class-loader"; + String EXTRA_CLASS_PATH = "extra-class-path"; + String DELEGATE = "delegate"; + String DYNAMIC_RELOAD_INTERVAL = "dynamic-reload-interval"; - public static final String CACHE = "cache"; - public static final String KEY_FIELD = "key-field"; - public static final String URL_PATTERN = "url-pattern"; - public static final String HTTP_METHOD = "http-method"; - public static final String DISPATCHER = "dispatcher"; - public static final String SCOPE = "scope"; - public static final String CACHE_ON_MATCH = "cache-on-match"; - public static final String CACHE_ON_MATCH_FAILURE = "cache-on-match-failure"; - public static final String MATCH_EXPR = "match-expr"; - public static final String VALUE = "value"; - public static final String IDEMPOTENT_URL_PATTERN = "idempotent-url-pattern"; - public static final String ERROR_URL = "error-url"; - public static final String HTTPSERVLET_SECURITY_PROVIDER = "httpservlet-security-provider"; - public static final String NUM_OF_RETRIES = "num-of-retries"; + String CACHE = "cache"; + String KEY_FIELD = "key-field"; + String URL_PATTERN = "url-pattern"; + String HTTP_METHOD = "http-method"; + String DISPATCHER = "dispatcher"; + String SCOPE = "scope"; + String CACHE_ON_MATCH = "cache-on-match"; + String CACHE_ON_MATCH_FAILURE = "cache-on-match-failure"; + String MATCH_EXPR = "match-expr"; + String VALUE = "value"; + String IDEMPOTENT_URL_PATTERN = "idempotent-url-pattern"; + String ERROR_URL = "error-url"; + String HTTPSERVLET_SECURITY_PROVIDER = "httpservlet-security-provider"; + String NUM_OF_RETRIES = "num-of-retries"; - public static final String JAVA_METHOD = "java-method"; - public final static String METHOD_PARAMS = "method-params"; - public final static String METHOD_PARAM = "method-param"; + String JAVA_METHOD = "java-method"; + String METHOD_PARAMS = "method-params"; + String METHOD_PARAM = "method-param"; - public final static String VALVE = "valve"; + String VALVE = "valve"; // Java Web Start-support related - public final static String JAVA_WEB_START_ACCESS = "java-web-start-access"; - public final static String ELIGIBLE = "eligible"; - public final static String VENDOR = "vendor"; - public final static String JNLP_DOC = "jnlp-doc"; + String JAVA_WEB_START_ACCESS = "java-web-start-access"; + String ELIGIBLE = "eligible"; + String VENDOR = "vendor"; + String JNLP_DOC = "jnlp-doc"; // also uses CONTEXT_ROOT defined above in the application-related section } From 4cf602a9d845da06e890c36bfa9af725d9350ab0 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 12:11:32 +0100 Subject: [PATCH 084/133] FISH-13126 Remove unused runtime tags Signed-off-by: Andrew Pielage --- .../deployment/xml/RuntimeTagNames.java | 28 ------------------- 1 file changed, 28 deletions(-) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java index e75cb5a540b..c72f1fb4505 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java @@ -102,9 +102,7 @@ public interface RuntimeTagNames extends TagNames { String ACTIVATION_CONFIG_PROPERTY_NAME = "activation-config-property-name"; String ACTIVATION_CONFIG_PROPERTY_VALUE = "activation-config-property-value"; - String APPLICATION_CLIENT = "app-client"; String DEFAULT_RESOURCE_PRINCIPAL = "default-resource-principal"; - String DISPLAY_NAME = "display-name"; String EJB = "ejb"; String EJB_NAME = "ejb-name"; String EJBS = "enterprise-beans"; @@ -112,48 +110,29 @@ public interface RuntimeTagNames extends TagNames { String FIELD = "field"; String GROUP = "group"; - String GROUPS = "groups"; - String JOIN_OBJECT = "join-object"; String JNDI_NAME = "jndi-name"; - String LOCAL_PART = "localpart"; - String MAIL_CONFIG = "mail-configuration"; String MAIL_FROM = "mail-from"; String MAIL_HOST = "mail-host"; String METHOD = "method"; String NAME = "name"; - String NAMESPACE_URI = "namespace-uri"; - String OPERATION = "operation"; String PASSWORD = "password"; - String PRINCIPALS = "principals"; String PRINCIPAL = "principal"; - String REMOTE_ENTITY = "remote-entity"; - String ROLE = "role"; - String ROLE_MAPPING = "rolemapping"; - String ROLE_ENTRY = "role"; - String SERVER_NAME = "server-name"; String SERVLET = "servlet"; String SERVLET_NAME = "servlet-name"; String SOURCE = "source"; - String SINK = "sink"; String SQL = "sql"; - String SQL_STATEMENT = "sql-statement"; - String TABLE_CREATE = "table-create-sql"; - String TABLE_REMOVE = "table-remove-sql"; String UNIQUE_ID = "unique-id"; String WEB = "web"; - String WEB_SERVICE_ENDPOINT = "web-service-endpoint"; - String EJB_IMPL = "ejb-impl"; String REMOTE_IMPL = "remote-impl"; String LOCAL_IMPL = "local-impl"; String REMOTE_HOME_IMPL = "remote-home-impl"; String LOCAL_HOME_IMPL = "local-home-impl"; - String STATE_IMPL = "state-impl"; String GEN_CLASSES = "gen-classes"; // acceptable values @@ -162,11 +141,9 @@ public interface RuntimeTagNames extends TagNames { // SECURITY related String SECURITY_ROLE_MAPPING = "security-role-mapping"; - String SECURITY_ROLE_ASSIGNMENT = "security-role-assignment"; String ROLE_NAME = "role-name"; String PRINCIPAL_NAME = "principal-name"; String GROUP_NAME = "group-name"; - String EXTERNALLY_DEFINED = "externally-defined"; // common String EJB_REF = "ejb-ref"; @@ -215,9 +192,6 @@ public interface RuntimeTagNames extends TagNames { // checkpointed-methods in 8.1 and later releases String CHECKPOINT_AT_END_OF_METHOD = "checkpoint-at-end-of-method"; - // prefetch-disabled - String PREFETCH_DISABLED = - "prefetch-disabled"; String QUERY_METHOD = "query-method"; @@ -240,8 +214,6 @@ public interface RuntimeTagNames extends TagNames { String KEEP_STATE = "keep-state"; String VERSION_IDENTIFIER = "version-identifier"; String APPLICATION_PARAM = "application-param"; - String PARAM_NAME = "param-name"; - String PARAM_VALUE = "param-value"; String MODULE = "module"; String TYPE = "type"; String PATH = "path"; From 4a1f8152bfcbfd0c1ed743c72b0169c1549aaa93 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 12:28:32 +0100 Subject: [PATCH 085/133] FISH-13126 Delete unused DescriptorList Signed-off-by: Andrew Pielage --- .../deployment/io/DescriptorList.java | 101 ------------------ 1 file changed, 101 deletions(-) delete mode 100755 appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorList.java diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorList.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorList.java deleted file mode 100755 index c5a8e4da3c7..00000000000 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorList.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ - -package com.sun.enterprise.deployment.io; - -import org.glassfish.api.deployment.archive.ArchiveType; - -import com.sun.enterprise.deployment.util.DOLUtils; - -/** - * Repository of descriptors - * This class will evolve to provide a comprhensive list of - * descriptors for any given type of j2ee application or - * stand-alone module. - * - * @author Sreenivas Munnangi - */ - -public class DescriptorList { - - private final static String [] earList = { - DescriptorConstants.APPLICATION_DD_ENTRY, - DescriptorConstants.S1AS_APPLICATION_DD_ENTRY - }; - - private final static String [] ejbList = { - DescriptorConstants.EJB_DD_ENTRY, - DescriptorConstants.S1AS_EJB_DD_ENTRY, - DescriptorConstants.EJB_WEBSERVICES_JAR_ENTRY - }; - - private final static String [] warList = { - DescriptorConstants.WEB_DD_ENTRY, - DescriptorConstants.S1AS_WEB_DD_ENTRY, - DescriptorConstants.WEB_WEBSERVICES_JAR_ENTRY, - DescriptorConstants.JAXRPC_JAR_ENTRY - }; - - private final static String [] rarList = { - DescriptorConstants.RAR_DD_ENTRY, - DescriptorConstants.S1AS_RAR_DD_ENTRY - }; - - private final static String [] carList = { - DescriptorConstants.APP_CLIENT_DD_ENTRY, - DescriptorConstants.S1AS_APP_CLIENT_DD_ENTRY - }; - - public final static String [] getDescriptorsList (ArchiveType moduleType) { - if (moduleType == null) return null; - if (moduleType.equals(DOLUtils.earType())) { - return (String[])earList.clone(); - } else if (moduleType.equals(DOLUtils.ejbType())) { - return (String[])ejbList.clone(); - } else if (moduleType.equals(DOLUtils.warType())) { - return (String[])warList.clone(); - } else if (moduleType.equals(DOLUtils.rarType())) { - return (String[])rarList.clone(); - } else if (moduleType.equals(DOLUtils.carType())) { - return (String[])carList.clone(); - } - return null; - } -} From 89067f95992f25d8bf4356ead21186de5b1165c9 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 12:35:58 +0100 Subject: [PATCH 086/133] FISH-13126 Add warnings to EjbBundleNode We need to come back to this - what we've added here should never have been done, we should've added these vendor-specific options to a payara-ejb-jar.xml descriptor Signed-off-by: Andrew Pielage --- .../glassfish/ejb/deployment/node/EjbBundleNode.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java index a6ac41f875d..3230c00c267 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2022] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package org.glassfish.ejb.deployment.node; import static java.util.Collections.unmodifiableList; @@ -93,9 +93,9 @@ public class EjbBundleNode extends AbstractBundleNode { public final static String SCHEMA_ID_30 = "ejb-jar_3_0.xsd"; public final static String SCHEMA_ID_31 = "ejb-jar_3_1.xsd"; public final static String SCHEMA_ID_32 = "ejb-jar_3_2.xsd"; - public final static String SCHEMA_ID_33 = "ejb-jar_4_0.xsd"; - public final static String SCHEMA_ID = "ejb-jar_4_1.xsd"; - public final static String SPEC_VERSION = "4.1"; + public final static String SCHEMA_ID_40 = "ejb-jar_4_0.xsd"; + public final static String SCHEMA_ID = "ejb-jar_4_1.xsd"; // This is currently being misused - EJB 4.1 doesn't exist yet - we've added vendor-specific things which should be a part of a payara-ejb-jar.xml descriptor instead + public final static String SPEC_VERSION = "4.1"; // This is currently being misused - EJB 4.1 doesn't exist yet - we've added vendor-specific things which should be a part of a payara-ejb-jar.xml descriptor instead private final static List systemIDs = initSystemIDs(); /** @@ -124,7 +124,7 @@ public Map> registerRuntimeBundle(Map publicIDT private static List initSystemIDs() { List systemIDs = new ArrayList(3); systemIDs.add(SCHEMA_ID); - systemIDs.add(SCHEMA_ID_33); + systemIDs.add(SCHEMA_ID_40); systemIDs.add(SCHEMA_ID_32); systemIDs.add(SCHEMA_ID_31); systemIDs.add(SCHEMA_ID_30); From 638ddc1a5a7772547150a1629db7d1c5168161ef Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 12:37:47 +0100 Subject: [PATCH 087/133] FISH-13126 Add deprecation notes to old EjbBundleNode variable versions Signed-off-by: Andrew Pielage --- .../glassfish/ejb/deployment/node/EjbBundleNode.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java index 3230c00c267..9d69c399e58 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java @@ -83,15 +83,23 @@ public class EjbBundleNode extends AbstractBundleNode { public final static XMLElement tag = new XMLElement(EjbTagNames.EJB_BUNDLE_TAG); + @Deprecated public final static String PUBLIC_DTD_ID = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"; + @Deprecated public final static String PUBLIC_DTD_ID_12 = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"; /** The system ID of an ejb-jar document. */ + @Deprecated public final static String SYSTEM_ID = "http://java.sun.com/dtd/ejb-jar_2_0.dtd"; + @Deprecated public final static String SYSTEM_ID_12 = "http://java.sun.com/dtd/ejb-jar_1_1.dtd"; + @Deprecated public final static String SCHEMA_ID_21 = "ejb-jar_2_1.xsd"; + @Deprecated public final static String SCHEMA_ID_30 = "ejb-jar_3_0.xsd"; + @Deprecated public final static String SCHEMA_ID_31 = "ejb-jar_3_1.xsd"; + @Deprecated public final static String SCHEMA_ID_32 = "ejb-jar_3_2.xsd"; public final static String SCHEMA_ID_40 = "ejb-jar_4_0.xsd"; public final static String SCHEMA_ID = "ejb-jar_4_1.xsd"; // This is currently being misused - EJB 4.1 doesn't exist yet - we've added vendor-specific things which should be a part of a payara-ejb-jar.xml descriptor instead @@ -113,7 +121,7 @@ public String registerBundle(Map publicIDToDTD) { @Override public Map> registerRuntimeBundle(Map publicIDToDTD, Map>> versionUpgrades) { - Map> result = new HashMap>(); + Map> result = new HashMap<>(); result.put(EjbBundleRuntimeNode.registerBundle(publicIDToDTD), EjbBundleRuntimeNode.class); result.put(GFEjbBundleRuntimeNode.registerBundle(publicIDToDTD), GFEjbBundleRuntimeNode.class); @@ -122,7 +130,7 @@ public Map> registerRuntimeBundle(Map publicIDT } private static List initSystemIDs() { - List systemIDs = new ArrayList(3); + List systemIDs = new ArrayList<>(3); systemIDs.add(SCHEMA_ID); systemIDs.add(SCHEMA_ID_40); systemIDs.add(SCHEMA_ID_32); From cb647cae7cd36880b3ad901a381525e8e64e06e3 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 17:17:42 +0100 Subject: [PATCH 088/133] FISH-13126 Updates payara-web handling for new descriptor file version Also deprecates the GFWebBundleRuntimeNode and WebBundleRuntimeNode classes Signed-off-by: Andrew Pielage --- .../deployment/io/runtime/PayaraWebRuntimeDDFile.java | 2 +- .../node/runtime/gf/GFWebBundleRuntimeNode.java | 3 ++- .../node/runtime/gf/PayaraWebBundleRuntimeNode.java | 9 ++++++--- .../deployment/node/runtime/gf/WebBundleRuntimeNode.java | 1 + 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/io/runtime/PayaraWebRuntimeDDFile.java b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/io/runtime/PayaraWebRuntimeDDFile.java index 269065b38a0..936829a8974 100644 --- a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/io/runtime/PayaraWebRuntimeDDFile.java +++ b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/io/runtime/PayaraWebRuntimeDDFile.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) [2018] Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2018-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development diff --git a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/GFWebBundleRuntimeNode.java b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/GFWebBundleRuntimeNode.java index 7548fa3cbb2..61ba1f00289 100644 --- a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/GFWebBundleRuntimeNode.java +++ b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/GFWebBundleRuntimeNode.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package org.glassfish.web.deployment.node.runtime.gf; import static com.sun.enterprise.deployment.xml.DTDRegistry.GF_WEBAPP_301_DTD_PUBLIC_ID; @@ -54,6 +54,7 @@ /** * This node is responsible for handling all runtime information for web bundle. */ +@Deprecated public class GFWebBundleRuntimeNode extends WebBundleRuntimeNode { /** Creates new GFWebBundleRuntimeNode */ diff --git a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/PayaraWebBundleRuntimeNode.java b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/PayaraWebBundleRuntimeNode.java index 0d4184b8ad2..544c4595de5 100644 --- a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/PayaraWebBundleRuntimeNode.java +++ b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/PayaraWebBundleRuntimeNode.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) [2018] Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2018-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -44,6 +44,8 @@ import static com.sun.enterprise.deployment.xml.DTDRegistry.PAYARA_WEBAPP_4_DTD_PUBLIC_ID; import static com.sun.enterprise.deployment.xml.DTDRegistry.PAYARA_WEBAPP_4_DTD_SYSTEM_ID; +import static com.sun.enterprise.deployment.xml.DTDRegistry.PAYARA_WEBAPP_610_DTD_PUBLIC_ID; +import static com.sun.enterprise.deployment.xml.DTDRegistry.PAYARA_WEBAPP_610_DTD_SYSTEM_ID; import static com.sun.enterprise.deployment.xml.RuntimeTagNames.PAYARA_WEB_RUNTIME_TAG; import java.util.List; @@ -75,12 +77,12 @@ protected XMLElement getXMLRootTag() { @Override public String getDocType() { - return PAYARA_WEBAPP_4_DTD_PUBLIC_ID; + return PAYARA_WEBAPP_610_DTD_PUBLIC_ID; } @Override public String getSystemID() { - return PAYARA_WEBAPP_4_DTD_SYSTEM_ID; + return PAYARA_WEBAPP_610_DTD_SYSTEM_ID; } /** @@ -92,6 +94,7 @@ public String getSystemID() { */ public static String registerBundle(Map publicIDToDTD, Map>> versionUpgrades) { publicIDToDTD.put(PAYARA_WEBAPP_4_DTD_PUBLIC_ID, PAYARA_WEBAPP_4_DTD_SYSTEM_ID); + publicIDToDTD.put(PAYARA_WEBAPP_610_DTD_PUBLIC_ID, PAYARA_WEBAPP_610_DTD_SYSTEM_ID); return PAYARA_WEB_RUNTIME_TAG; } diff --git a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/WebBundleRuntimeNode.java b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/WebBundleRuntimeNode.java index e7cafa121d7..646f479ef0d 100644 --- a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/WebBundleRuntimeNode.java +++ b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/runtime/gf/WebBundleRuntimeNode.java @@ -96,6 +96,7 @@ * @author Jerome Dochez * @version */ +@Deprecated // When we remove support for sun-web.xml files, we should roll all of this into PayaraWebBundleRuntimeNode (or vice versa) public class WebBundleRuntimeNode extends RuntimeBundleNode { /** From 51294c3f03ea643c94e0bfbffa142dd4503223d6 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 17:28:32 +0100 Subject: [PATCH 089/133] FISH-13126 Add payara-ejb-jar.xml Also deprecates the sun and glassfish handlers Signed-off-by: Andrew Pielage --- .../deployment/xml/RuntimeTagNames.java | 1 + .../deployment/io/PayaraEjbRuntimeDDFile.java | 84 +++++++++++++++++ .../runtime/PayaraEjbBundleRuntimeNode.java | 92 +++++++++++++++++++ .../ejb/deployment/io/EjbRuntimeDDFile.java | 2 + .../ejb/deployment/io/GFEjbRuntimeDDFile.java | 2 + .../ejb/deployment/node/EjbBundleNode.java | 2 + .../node/runtime/EjbBundleRuntimeNode.java | 3 +- .../node/runtime/GFEjbBundleRuntimeNode.java | 2 + 8 files changed, 187 insertions(+), 1 deletion(-) create mode 100644 appserver/ejb/ejb-container/src/main/java/fish/payara/ejb/deployment/io/PayaraEjbRuntimeDDFile.java create mode 100644 appserver/ejb/ejb-container/src/main/java/fish/payara/ejb/deployment/node/runtime/PayaraEjbBundleRuntimeNode.java diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java index c72f1fb4505..52509b2ab29 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java @@ -68,6 +68,7 @@ public interface RuntimeTagNames extends TagNames { String PAYARA_JAXRS_ROLES_ALLOWED_ENABLED = "jaxrs-roles-allowed-enabled"; String PAYARA_APPLICATION_RUNTIME_TAG = "payara-application"; String PAYARA_WEB_RUNTIME_TAG = "payara-web-app"; + String PAYARA_EJB_RUNTIME_TAG = "payara-ejb-jar"; // The name of the deployment context property used to disable implicit bean discovery for a // particular application deployment. diff --git a/appserver/ejb/ejb-container/src/main/java/fish/payara/ejb/deployment/io/PayaraEjbRuntimeDDFile.java b/appserver/ejb/ejb-container/src/main/java/fish/payara/ejb/deployment/io/PayaraEjbRuntimeDDFile.java new file mode 100644 index 00000000000..bf8cad69806 --- /dev/null +++ b/appserver/ejb/ejb-container/src/main/java/fish/payara/ejb/deployment/io/PayaraEjbRuntimeDDFile.java @@ -0,0 +1,84 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2010-2012 Oracle and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * Oracle designates this particular file as subject to the "Classpath" + * exception as provided by Oracle in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates + +package fish.payara.ejb.deployment.io; + +import com.sun.ejb.containers.EjbContainerUtil; +import com.sun.enterprise.deployment.io.ConfigurationDeploymentDescriptorFile; +import com.sun.enterprise.deployment.io.ConfigurationDeploymentDescriptorFileFor; +import com.sun.enterprise.deployment.io.DescriptorConstants; +import com.sun.enterprise.deployment.node.RootXMLNode; +import com.sun.enterprise.deployment.util.DOLUtils; +import fish.payara.ejb.deployment.node.runtime.PayaraEjbBundleRuntimeNode; +import org.glassfish.deployment.common.Descriptor; +import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; +import org.glassfish.hk2.api.PerLookup; +import org.jvnet.hk2.annotations.Service; + +/** + * This class is responsible for handling the XML configuration information + * for the Payara EJB Container + */ +@ConfigurationDeploymentDescriptorFileFor(EjbContainerUtil.EJB_CONTAINER_NAME) +@Service +@PerLookup +public class PayaraEjbRuntimeDDFile extends ConfigurationDeploymentDescriptorFile { + /** + * @return the location of the DeploymentDescriptor file for a + * particular type of J2EE Archive + */ + public String getDeploymentDescriptorPath() { + return DOLUtils.warType().equals(getArchiveType()) ? + DescriptorConstants.PAYARA_EJB_IN_WAR_ENTRY : DescriptorConstants.PAYARA_EJB_JAR_ENTRY; + } + + /** + * @param descriptor the descriptor for which we need the node + * @return a RootXMLNode responsible for handling the deployment + * descriptors associated with this J2EE module + */ + public RootXMLNode getRootXMLNode(Descriptor descriptor) { + if (descriptor instanceof EjbBundleDescriptorImpl) { + return new PayaraEjbBundleRuntimeNode((EjbBundleDescriptorImpl) descriptor); + } + return null; + } +} \ No newline at end of file diff --git a/appserver/ejb/ejb-container/src/main/java/fish/payara/ejb/deployment/node/runtime/PayaraEjbBundleRuntimeNode.java b/appserver/ejb/ejb-container/src/main/java/fish/payara/ejb/deployment/node/runtime/PayaraEjbBundleRuntimeNode.java new file mode 100644 index 00000000000..1b43f02f7b5 --- /dev/null +++ b/appserver/ejb/ejb-container/src/main/java/fish/payara/ejb/deployment/node/runtime/PayaraEjbBundleRuntimeNode.java @@ -0,0 +1,92 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2010-2012 Oracle and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * Oracle designates this particular file as subject to the "Classpath" + * exception as provided by Oracle in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates + +package fish.payara.ejb.deployment.node.runtime; + +import com.sun.enterprise.deployment.node.XMLElement; +import com.sun.enterprise.deployment.xml.DTDRegistry; +import com.sun.enterprise.deployment.xml.RuntimeTagNames; +import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; +import org.glassfish.ejb.deployment.node.runtime.EjbBundleRuntimeNode; + +import java.util.Map; + + +/** + * This node is responsible for handling all runtime information for + * ejb. + */ +public class PayaraEjbBundleRuntimeNode extends EjbBundleRuntimeNode { + + public PayaraEjbBundleRuntimeNode(EjbBundleDescriptorImpl descriptor) { + super(descriptor); + } + + public PayaraEjbBundleRuntimeNode() { + super(null); + } + + @Override + protected XMLElement getXMLRootTag() { + return new XMLElement(RuntimeTagNames.PAYARA_EJB_RUNTIME_TAG); + } + + @Override + public String getDocType() { + return DTDRegistry.PAYARA_EJBJAR_400_DTD_PUBLIC_ID; + } + + @Override + public String getSystemID() { + return DTDRegistry.PAYARA_EJBJAR_400_DTD_SYSTEM_ID; + } + + /** + * register this node as a root node capable of loading entire DD files + * + * @param publicIDToDTD is a mapping between xml Public-ID to DTD + * @return the doctype tag name + */ + public static String registerBundle(Map publicIDToDTD) { + publicIDToDTD.put(DTDRegistry.PAYARA_EJBJAR_400_DTD_PUBLIC_ID, DTDRegistry.PAYARA_EJBJAR_400_DTD_SYSTEM_ID); + return RuntimeTagNames.PAYARA_EJB_RUNTIME_TAG; + } +} \ No newline at end of file diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/io/EjbRuntimeDDFile.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/io/EjbRuntimeDDFile.java index eb430ebd6a5..8d7c9d7cb25 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/io/EjbRuntimeDDFile.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/io/EjbRuntimeDDFile.java @@ -37,6 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates package org.glassfish.ejb.deployment.io; @@ -64,6 +65,7 @@ @ConfigurationDeploymentDescriptorFileFor(EjbContainerUtil.EJB_CONTAINER_NAME) @Service @PerLookup +@Deprecated public class EjbRuntimeDDFile extends ConfigurationDeploymentDescriptorFile { /** diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/io/GFEjbRuntimeDDFile.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/io/GFEjbRuntimeDDFile.java index e8ca0b15f42..3925e9c87f5 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/io/GFEjbRuntimeDDFile.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/io/GFEjbRuntimeDDFile.java @@ -37,6 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates package org.glassfish.ejb.deployment.io; @@ -61,6 +62,7 @@ @ConfigurationDeploymentDescriptorFileFor(EjbContainerUtil.EJB_CONTAINER_NAME) @Service @PerLookup +@Deprecated public class GFEjbRuntimeDDFile extends ConfigurationDeploymentDescriptorFile { /** * @return the location of the DeploymentDescriptor file for a diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java index 9d69c399e58..e42ef0405d3 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java @@ -50,6 +50,7 @@ import java.util.Set; import java.util.Vector; +import fish.payara.ejb.deployment.node.runtime.PayaraEjbBundleRuntimeNode; import org.glassfish.ejb.deployment.EjbTagNames; import org.glassfish.ejb.deployment.descriptor.EjbApplicationExceptionInfo; import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl; @@ -125,6 +126,7 @@ public Map> registerRuntimeBundle(Map publicIDT result.put(EjbBundleRuntimeNode.registerBundle(publicIDToDTD), EjbBundleRuntimeNode.class); result.put(GFEjbBundleRuntimeNode.registerBundle(publicIDToDTD), GFEjbBundleRuntimeNode.class); + result.put(PayaraEjbBundleRuntimeNode.registerBundle(publicIDToDTD), PayaraEjbBundleRuntimeNode.class); return result; } diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EjbBundleRuntimeNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EjbBundleRuntimeNode.java index a98471eae63..4c293a7b845 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EjbBundleRuntimeNode.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/EjbBundleRuntimeNode.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2016-2018] [Payara Foundation and/or its affiliates] +// Portions Copyright 2016-2026 Payara Foundation and/or its affiliates package org.glassfish.ejb.deployment.node.runtime; import com.sun.enterprise.config.serverbeans.ConfigBeansUtilities; @@ -67,6 +67,7 @@ * @author Jerome Dochez * @version */ +@Deprecated // When we remove support for sun-ejb-jar.xml files, we should roll all of this into PayaraEjbBundleRuntimeNode (or vice versa) public class EjbBundleRuntimeNode extends RuntimeBundleNode { diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/GFEjbBundleRuntimeNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/GFEjbBundleRuntimeNode.java index ce232cbb080..79d95b6c437 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/GFEjbBundleRuntimeNode.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/runtime/GFEjbBundleRuntimeNode.java @@ -37,6 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates package org.glassfish.ejb.deployment.node.runtime; @@ -52,6 +53,7 @@ * This node is responsible for handling all runtime information for * ejb. */ +@Deprecated public class GFEjbBundleRuntimeNode extends EjbBundleRuntimeNode { public GFEjbBundleRuntimeNode(EjbBundleDescriptorImpl descriptor) { From ab7b4f6f8113bd42553419e0baa7996f62eebd54 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 17:29:09 +0100 Subject: [PATCH 090/133] FISH-13126 Add payara-application and payara-application-client handlers Also deprecates the sun and glassfish files Signed-off-by: Andrew Pielage --- .../deployment/io/DescriptorConstants.java | 35 +------ .../io/runtime/AppClientRuntimeDDFile.java | 2 + .../node/runtime/GFAppClientRuntimeNode.java | 1 + .../gf/ApplicationRuntimeNode.java | 3 +- .../deployment/xml/RuntimeTagNames.java | 1 + .../runtime/PayaraAppClientRuntimeDDFile.java | 77 +++++++++++++++ .../PayaraApplicationRuntimeDDFile.java | 96 ++++++++++++++++++ .../runtime/PayaraAppClientRuntimeNode.java | 97 +++++++++++++++++++ .../PayaraApplicationRuntimeNode.java | 94 ++++++++++++++++++ 9 files changed, 374 insertions(+), 32 deletions(-) create mode 100644 appserver/deployment/dol/src/main/java/fish/payara/deployment/io/runtime/PayaraAppClientRuntimeDDFile.java create mode 100644 appserver/deployment/dol/src/main/java/fish/payara/deployment/io/runtime/PayaraApplicationRuntimeDDFile.java create mode 100644 appserver/deployment/dol/src/main/java/fish/payara/deployment/node/runtime/PayaraAppClientRuntimeNode.java create mode 100644 appserver/deployment/dol/src/main/java/fish/payara/deployment/node/runtime/application/PayaraApplicationRuntimeNode.java diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java index b023df932c2..d331a8b9758 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/DescriptorConstants.java @@ -159,17 +159,8 @@ public interface DescriptorConstants { /** The name of the Payara deployment descriptor entry in the client jar. */ String PAYARA_APP_CLIENT_JAR_ENTRY = "META-INF/"+ PAYARA_PREFIX + "application-client.xml"; - /** The name of the WEB-INF entry in a war. */ - String WEB_INF = "WEB-INF"; - - // no need for File.separator - String WEB_INF_CLASSES_DIR = WEB_INF + "/CLASSES"; - - // no need for File.separator - String WEB_INF_LIB_DIR = WEB_INF + "/LIB"; - - /** The file extension for jsp tag library. */ - String TAG_LIB_EXT = ".tld"; + /** The name of the Payara deployment descriptor entry inside the ear. */ + String PAYARA_APPLICATION_JAR_ENTRY = "META-INF/"+ PAYARA_PREFIX + "application.xml"; /** The name of the deployment descriptor entry in the client jar. */ String APP_CLIENT_DD_ENTRY = "META-INF" @@ -181,26 +172,11 @@ public interface DescriptorConstants { /** The name of the deployment descriptor entry in the client jar. */ @Deprecated - String S1AS_APP_CLIENT_DD_ENTRY = "META-INF" - + File.separator - + S1AS_PREFIX+"application-client.xml"; + String S1AS_APP_CLIENT_DD_ENTRY = "META-INF" + File.separator + S1AS_PREFIX + "application-client.xml"; /** The Sun application client entry inside a jar file. */ @Deprecated - String S1AS_APP_CLIENT_JAR_ENTRY = "META-INF/" - + S1AS_PREFIX + "application-client.xml"; - - /** The manifest file name from an archive. */ - String MANIFEST_ENTRY = "META-INF" + File.separator + "MANIFEST.MF"; - - /** The manifest file name from an archive; without File.separator */ - String JAR_MANIFEST_ENTRY = "META-INF/MANIFEST.MF"; - - /** prefix used for application role mapper key */ - String APP_ROLEMAPPER_PREFIX = "app_"; - - /** prefix used for module role mapper key */ - String MODULE_ROLEMAPPER_PREFIX = "module_"; + String S1AS_APP_CLIENT_JAR_ENTRY = "META-INF/" + S1AS_PREFIX + "application-client.xml"; /** JaxRPC deployment descriptor file */ String JAXRPC_JAR_ENTRY = "WEB-INF/jaxrpc-ri.xml"; @@ -213,7 +189,4 @@ public interface DescriptorConstants { /** Persistence Unit Deployment Descriptor entry */ String PERSISTENCE_DD_ENTRY = "META-INF/persistence.xml"; - - /** Object to Relational mapping DD entry */ - String ORM_DD_ENTRY = "META-INF/orm.xml"; } \ No newline at end of file diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/AppClientRuntimeDDFile.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/AppClientRuntimeDDFile.java index cd98d7d363c..f7e3d5d39a6 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/AppClientRuntimeDDFile.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/io/runtime/AppClientRuntimeDDFile.java @@ -37,6 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates package com.sun.enterprise.deployment.io.runtime; @@ -54,6 +55,7 @@ * * @author Jerome Dochez */ +@Deprecated public class AppClientRuntimeDDFile extends ConfigurationDeploymentDescriptorFile { /** diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/GFAppClientRuntimeNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/GFAppClientRuntimeNode.java index 7dec64cb156..952b4b55f14 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/GFAppClientRuntimeNode.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/GFAppClientRuntimeNode.java @@ -52,6 +52,7 @@ * This node is responsible for handling all runtime information for * application client. */ +@Deprecated public class GFAppClientRuntimeNode extends AppClientRuntimeNode { public GFAppClientRuntimeNode(ApplicationClientDescriptor descriptor) { diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/application/gf/ApplicationRuntimeNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/application/gf/ApplicationRuntimeNode.java index c36291c1a52..adcb31048a7 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/application/gf/ApplicationRuntimeNode.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/runtime/application/gf/ApplicationRuntimeNode.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2016-2019] [Payara Foundation and/or its affiliates] +// Portions Copyright 2016-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.deployment.node.runtime.application.gf; @@ -74,6 +74,7 @@ * @author Jerome Dochez * @version */ +@Deprecated // When we remove support for sun-application.xml files, we should roll all of this into PayaraApplicationRuntimeNode (or vice versa) public class ApplicationRuntimeNode extends RuntimeBundleNode { private String currentWebUri=null; diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java index 52509b2ab29..01cae649b1b 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/RuntimeTagNames.java @@ -69,6 +69,7 @@ public interface RuntimeTagNames extends TagNames { String PAYARA_APPLICATION_RUNTIME_TAG = "payara-application"; String PAYARA_WEB_RUNTIME_TAG = "payara-web-app"; String PAYARA_EJB_RUNTIME_TAG = "payara-ejb-jar"; + String PAYARA_APPCLIENT_RUNTIME_TAG = "payara-application-client"; // The name of the deployment context property used to disable implicit bean discovery for a // particular application deployment. diff --git a/appserver/deployment/dol/src/main/java/fish/payara/deployment/io/runtime/PayaraAppClientRuntimeDDFile.java b/appserver/deployment/dol/src/main/java/fish/payara/deployment/io/runtime/PayaraAppClientRuntimeDDFile.java new file mode 100644 index 00000000000..72043485391 --- /dev/null +++ b/appserver/deployment/dol/src/main/java/fish/payara/deployment/io/runtime/PayaraAppClientRuntimeDDFile.java @@ -0,0 +1,77 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * Oracle designates this particular file as subject to the "Classpath" + * exception as provided by Oracle in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates + +package fish.payara.deployment.io.runtime; + +import com.sun.enterprise.deployment.ApplicationClientDescriptor; +import com.sun.enterprise.deployment.io.ConfigurationDeploymentDescriptorFile; +import com.sun.enterprise.deployment.io.DescriptorConstants; +import com.sun.enterprise.deployment.node.RootXMLNode; +import fish.payara.deployment.node.runtime.PayaraAppClientRuntimeNode; +import org.glassfish.deployment.common.Descriptor; + +/** + * This class is responsible for handling the XML configuration information + * for the Glassfish Application Client Container + */ +public class PayaraAppClientRuntimeDDFile extends ConfigurationDeploymentDescriptorFile { + /** + * @return the location of the DeploymentDescriptor file for a + * particular type of J2EE Archive + */ + public String getDeploymentDescriptorPath() { + return DescriptorConstants.PAYARA_APP_CLIENT_JAR_ENTRY; + } + + /** + * @return a RootXMLNode responsible for handling the deployment + * descriptors associated with this J2EE module + * + * @param descriptor The descriptor for which we need the node + */ + public RootXMLNode getRootXMLNode(Descriptor descriptor) { + + if (descriptor instanceof ApplicationClientDescriptor) { + return new PayaraAppClientRuntimeNode((ApplicationClientDescriptor) descriptor); + } + return null; + } +} \ No newline at end of file diff --git a/appserver/deployment/dol/src/main/java/fish/payara/deployment/io/runtime/PayaraApplicationRuntimeDDFile.java b/appserver/deployment/dol/src/main/java/fish/payara/deployment/io/runtime/PayaraApplicationRuntimeDDFile.java new file mode 100644 index 00000000000..7bd42ec9cf5 --- /dev/null +++ b/appserver/deployment/dol/src/main/java/fish/payara/deployment/io/runtime/PayaraApplicationRuntimeDDFile.java @@ -0,0 +1,96 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2010-2012 Oracle and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * Oracle designates this particular file as subject to the "Classpath" + * exception as provided by Oracle in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates +package fish.payara.deployment.io.runtime; + +import com.sun.enterprise.deployment.Application; +import com.sun.enterprise.deployment.EarType; +import com.sun.enterprise.deployment.io.ConfigurationDeploymentDescriptorFile; +import com.sun.enterprise.deployment.io.ConfigurationDeploymentDescriptorFileFor; +import com.sun.enterprise.deployment.io.DescriptorConstants; +import com.sun.enterprise.deployment.node.RootXMLNode; +import fish.payara.deployment.node.runtime.application.PayaraApplicationRuntimeNode; +import org.glassfish.deployment.common.Descriptor; +import org.glassfish.hk2.api.PerLookup; +import org.jvnet.hk2.annotations.Service; + +import java.util.List; +import java.util.Map; + +/** + * This class is responsible for handling the XML configuration information for the Glassfish Application Container + */ +@ConfigurationDeploymentDescriptorFileFor(EarType.ARCHIVE_TYPE) +@PerLookup +@Service +public class PayaraApplicationRuntimeDDFile extends ConfigurationDeploymentDescriptorFile { + + /** + * @return the location of the DeploymentDescriptor file for a particular type of EE Archive + */ + public String getDeploymentDescriptorPath() { + return DescriptorConstants.PAYARA_APPLICATION_JAR_ENTRY; + } + + /** + * @return a RootXMLNode responsible for handling the deployment descriptors associated with this J2EE module + * + * @param descriptor The descriptor for which we need the node + */ + public RootXMLNode getRootXMLNode(Descriptor descriptor) { + if (descriptor instanceof Application) { + return new PayaraApplicationRuntimeNode((Application) descriptor); + } + + return null; + } + + /** + * Register the root node for this runtime deployment descriptor file in the root nodes map, and also in the dtd map + * which will be used for dtd validation. + * + * @param rootNodesMap the map for storing all the root nodes + * @param publicIDToDTDMap the map for storing public id to dtd mapping + * @param versionUpgrades The list of upgrades from older versions + */ + public void registerBundle(Map> rootNodesMap, Map publicIDToDTDMap, Map>> versionUpgrades) { + rootNodesMap.put(PayaraApplicationRuntimeNode.registerBundle(publicIDToDTDMap), PayaraApplicationRuntimeNode.class); + } +} \ No newline at end of file diff --git a/appserver/deployment/dol/src/main/java/fish/payara/deployment/node/runtime/PayaraAppClientRuntimeNode.java b/appserver/deployment/dol/src/main/java/fish/payara/deployment/node/runtime/PayaraAppClientRuntimeNode.java new file mode 100644 index 00000000000..15b0a8d3448 --- /dev/null +++ b/appserver/deployment/dol/src/main/java/fish/payara/deployment/node/runtime/PayaraAppClientRuntimeNode.java @@ -0,0 +1,97 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2010-2012 Oracle and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * Oracle designates this particular file as subject to the "Classpath" + * exception as provided by Oracle in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates + +package fish.payara.deployment.node.runtime; + +import com.sun.enterprise.deployment.ApplicationClientDescriptor; +import com.sun.enterprise.deployment.node.XMLElement; +import com.sun.enterprise.deployment.node.runtime.AppClientRuntimeNode; +import com.sun.enterprise.deployment.xml.DTDRegistry; +import com.sun.enterprise.deployment.xml.RuntimeTagNames; + +import java.util.Map; + + +/** + * This node is responsible for handling all runtime information for + * application client. + */ +public class PayaraAppClientRuntimeNode extends AppClientRuntimeNode { + + public PayaraAppClientRuntimeNode(ApplicationClientDescriptor descriptor) { + super(descriptor); + } + + public PayaraAppClientRuntimeNode() { + } + + /** + * @return the XML tag associated with this XMLNode + */ + protected XMLElement getXMLRootTag() { + return new XMLElement(RuntimeTagNames.PAYARA_APPCLIENT_RUNTIME_TAG); + } + + /** + * @return the DOCTYPE that should be written to the XML file + */ + public String getDocType() { + return DTDRegistry.PAYARA_APPCLIENT_110_DTD_PUBLIC_ID; + } + + /** + * @return the SystemID of the XML file + */ + public String getSystemID() { + return DTDRegistry.PAYARA_APPCLIENT_110_DTD_SYSTEM_ID; + } + + /** + * register this node as a root node capable of loading entire DD files + * + * @param publicIDToDTD is a mapping between xml Public-ID to DTD + * @return the doctype tag name + */ + public static String registerBundle(Map publicIDToDTD) { + publicIDToDTD.put(DTDRegistry.PAYARA_APPCLIENT_110_DTD_PUBLIC_ID, DTDRegistry.PAYARA_APPCLIENT_110_DTD_SYSTEM_ID); + return RuntimeTagNames.PAYARA_APPCLIENT_RUNTIME_TAG; + } +} \ No newline at end of file diff --git a/appserver/deployment/dol/src/main/java/fish/payara/deployment/node/runtime/application/PayaraApplicationRuntimeNode.java b/appserver/deployment/dol/src/main/java/fish/payara/deployment/node/runtime/application/PayaraApplicationRuntimeNode.java new file mode 100644 index 00000000000..b717d3d0d98 --- /dev/null +++ b/appserver/deployment/dol/src/main/java/fish/payara/deployment/node/runtime/application/PayaraApplicationRuntimeNode.java @@ -0,0 +1,94 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2010-2012 Oracle and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * Oracle designates this particular file as subject to the "Classpath" + * exception as provided by Oracle in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +// Portions Copyright 2026 Payara Foundation and/or its affiliates + +package fish.payara.deployment.node.runtime.application; + +import com.sun.enterprise.deployment.Application; +import com.sun.enterprise.deployment.node.XMLElement; +import com.sun.enterprise.deployment.node.runtime.application.gf.ApplicationRuntimeNode; +import com.sun.enterprise.deployment.xml.DTDRegistry; +import com.sun.enterprise.deployment.xml.RuntimeTagNames; + +import java.util.Map; + + +/** + * This node is responsible for handling all runtime information for + * application. + */ +public class PayaraApplicationRuntimeNode extends ApplicationRuntimeNode { + + public PayaraApplicationRuntimeNode(Application descriptor) { + super(descriptor); + } + + /** + * @return the XML tag associated with this XMLNode + */ + protected XMLElement getXMLRootTag() { + return new XMLElement(RuntimeTagNames.PAYARA_APPLICATION_RUNTIME_TAG); + } + + /** + * @return the DOCTYPE that should be written to the XML file + */ + public String getDocType() { + return DTDRegistry.PAYARA_APPLICATION_110_DTD_PUBLIC_ID; + } + + /** + * @return the SystemID of the XML file + */ + public String getSystemID() { + return DTDRegistry.PAYARA_APPLICATION_110_DTD_SYSTEM_ID; + } + + /** + * register this node as a root node capable of loading entire DD files + * + * @param publicIDToDTD is a mapping between xml Public-ID to DTD + * @return the doctype tag name + */ + public static String registerBundle(Map publicIDToDTD) { + publicIDToDTD.put(DTDRegistry.PAYARA_APPLICATION_110_DTD_PUBLIC_ID, DTDRegistry.PAYARA_APPLICATION_110_DTD_SYSTEM_ID); + return RuntimeTagNames.PAYARA_APPLICATION_RUNTIME_TAG; + } +} \ No newline at end of file From 7466b2f3463fa44a281c6db94aff9e29fc6b9030 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 27 Apr 2026 17:33:53 +0100 Subject: [PATCH 091/133] FISH-13126 Convert ClusteredSingletonTest to use new payara-ejb-jar Signed-off-by: Andrew Pielage --- .../WEB-INF/{glassfish-ejb-jar.xml => payara-ejb-jar.xml} | 6 +++--- .../samples/clustered/singleton/ClusteredSingletonTest.java | 2 +- .../META-INF/{glassfish-ejb-jar.xml => payara-ejb-jar.xml} | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) rename appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/main/webapp/WEB-INF/{glassfish-ejb-jar.xml => payara-ejb-jar.xml} (73%) rename appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/resources/ForFailures/META-INF/{glassfish-ejb-jar.xml => payara-ejb-jar.xml} (56%) diff --git a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/main/webapp/WEB-INF/glassfish-ejb-jar.xml b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/main/webapp/WEB-INF/payara-ejb-jar.xml similarity index 73% rename from appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/main/webapp/WEB-INF/glassfish-ejb-jar.xml rename to appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/main/webapp/WEB-INF/payara-ejb-jar.xml index 7fd7efe07ce..a952db346b0 100644 --- a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/main/webapp/WEB-INF/glassfish-ejb-jar.xml +++ b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/main/webapp/WEB-INF/payara-ejb-jar.xml @@ -1,5 +1,5 @@ - - + + ClusteredSingletonEjbXml1 @@ -13,4 +13,4 @@ true - + diff --git a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/java/fish/payara/samples/clustered/singleton/ClusteredSingletonTest.java b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/java/fish/payara/samples/clustered/singleton/ClusteredSingletonTest.java index 4ff347b8b8b..0f5b9aa7359 100644 --- a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/java/fish/payara/samples/clustered/singleton/ClusteredSingletonTest.java +++ b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/java/fish/payara/samples/clustered/singleton/ClusteredSingletonTest.java @@ -74,7 +74,7 @@ public static WebArchive createDeployment() { "fish.payara.samples.clustered.singleton.api", "fish.payara.samples.clustered.singleton.interceptor") .addAsWebInfResource(new File(WEBAPP_SRC, "WEB-INF/ejb-jar.xml")) - .addAsWebInfResource(new File(WEBAPP_SRC, "WEB-INF/glassfish-ejb-jar.xml")); + .addAsWebInfResource(new File(WEBAPP_SRC, "WEB-INF/payara-ejb-jar.xml")); } @Test diff --git a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/resources/ForFailures/META-INF/glassfish-ejb-jar.xml b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/resources/ForFailures/META-INF/payara-ejb-jar.xml similarity index 56% rename from appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/resources/ForFailures/META-INF/glassfish-ejb-jar.xml rename to appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/resources/ForFailures/META-INF/payara-ejb-jar.xml index 435f9edbb38..b1efdc16120 100644 --- a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/resources/ForFailures/META-INF/glassfish-ejb-jar.xml +++ b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/resources/ForFailures/META-INF/payara-ejb-jar.xml @@ -1,5 +1,5 @@ - - + + ClusteredSingletonEjbXml @@ -7,4 +7,4 @@ true - + From 70c6c744428fe5a7b4af06b3dd2795b45a109445 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Tue, 28 Apr 2026 11:03:19 +0100 Subject: [PATCH 092/133] FISH-13126 Remove ejb-jar_4_1.xsd This implementation is erroneous - it should have been done via a payara-ejb-jar.xml file, not by editing the Jakarta defined XSDs. This also removes the sample test for it - we will add it back once we've reimplemented it properly Signed-off-by: Andrew Pielage --- .../glassfish/lib/schemas/ejb-jar_4_1.xsd | 3387 ----------------- .../ejb/deployment/node/EjbBundleNode.java | 6 +- ...anagedExecutorDefinitionEJBFromConfig.java | 69 - .../ManagedExecutorDefinitionEJBRest.java | 14 +- ...ManagedScheduledExecutorEJBFromConfig.java | 79 - .../ManagedScheduledExecutorEJBRest.java | 16 +- .../ManagedThreadFactoryEJBFromConfig.java | 73 - .../ManagedThreadFactoryEJBRest.java | 15 +- .../ContextServiceApplicationIT.java | 5 +- .../ManagedExecutorApplicationIT.java | 24 +- ...ManagedScheduledExecutorApplicationIT.java | 24 +- .../ManagedThreadFactoryApplicationIT.java | 19 +- .../src/test/resources/ejb-jar.xml | 56 - .../src/test/resources/ejb-jar2.xml | 55 - .../src/test/resources/ejb-jar3.xml | 56 - .../src/test/resources/ejb-jar4.xml | 58 - 16 files changed, 16 insertions(+), 3940 deletions(-) delete mode 100644 appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/ejb-jar_4_1.xsd delete mode 100644 appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorDefinitionEJBFromConfig.java delete mode 100644 appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorEJBFromConfig.java delete mode 100644 appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryEJBFromConfig.java delete mode 100644 appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar.xml delete mode 100644 appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar2.xml delete mode 100644 appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar3.xml delete mode 100644 appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar4.xml diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/ejb-jar_4_1.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/ejb-jar_4_1.xsd deleted file mode 100644 index d6f65c773f1..00000000000 --- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/ejb-jar_4_1.xsd +++ /dev/null @@ -1,3387 +0,0 @@ - - - - - - Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved. - - This program and the accompanying materials are made available under the - terms of the Eclipse Public License v. 2.0, which is available at - http://www.eclipse.org/legal/epl-2.0. - - This Source Code may also be made available under the following Secondary - Licenses when the conditions for such availability set forth in the - Eclipse Public License v. 2.0 are satisfied: GNU General Public License, - version 2 with the GNU Classpath Exception, which is available at - https://www.gnu.org/software/classpath/license.html. - - SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - - - - - - - - ... - - - The instance documents may indicate the published version of - the schema using the xsi:schemaLocation attribute for the - Jakarta EE namespace with the following location: - - https://jakarta.ee/xml/ns/jakartaee/ejb-jar_4_0.xsd - - ]]> - - - - - - - The following conventions apply to all Jakarta EE - deployment descriptor elements unless indicated otherwise. - - - In elements that specify a pathname to a file within the - same JAR file, relative filenames (i.e., those not - starting with "/") are considered relative to the root of - the JAR file's namespace. Absolute filenames (i.e., those - starting with "/") also specify names in the root of the - JAR file's namespace. In general, relative names are - preferred. The exception is .war files where absolute - names are preferred for consistency with the Servlet API. - - - - - - - - - - - - - - This is the root of the ejb-jar deployment descriptor. - - - - - - - - The ejb-name element contains the name of an enterprise - bean. The name must be unique within the ejb-jar file or - .war file. - - - - - - - - - - - The keyref indicates the references from - relationship-role-source must be to a specific ejb-name - defined within the scope of enterprise-beans element. - - - - - - - - - - - A role-name-key is specified to allow the references - from the security-role-refs. - - - - - - - - - - - The keyref indicates the references from - security-role-ref to a specified role-name. - - - - - - - - - - - - - - - - The access-timeoutType represents the maximum amount of - time (in a given time unit) that the container should wait for - a concurrency lock before throwing a timeout exception to the - client. - - A timeout value of 0 means concurrent access is not permitted. - - A timeout value of -1 means wait indefinitely to acquire a lock. - - - - - - - - - - - - - - - - - - The async-methodType element specifies that a session - bean method has asynchronous invocation semantics. - - - - - - - - - - - - - - - - - - The activation-configType defines information about the - expected configuration properties of the message-driven bean - in its operational environment. This may include information - about message acknowledgement, message selector, expected - destination type, destination or connection factory lookup - string, subscription name, etc. - - The configuration information is expressed in terms of - name/value configuration properties. - - The properties that are recognized for a particular - message-driven bean are determined by the messaging type. - - - - - - - - - - - - - - - - - - The activation-config-propertyType contains a name/value - configuration property pair for a message-driven bean. - - The properties that are recognized for a particular - message-driven bean are determined by the messaging type. - - - - - - - - - The activation-config-property-name element contains - the name for an activation configuration property of - a message-driven bean. - - For Jakarta Messaging message-driven beans, the following property - names are recognized: acknowledgeMode, - messageSelector, destinationType, subscriptionDurability, - destinationLookup, connectionFactoryLookup, subscriptionName, - and clientId. - - - - - - - - - The activation-config-property-value element - contains the value for an activation configuration - property of a message-driven bean. - - - - - - - - - - - - - - - - The around-invoke type specifies a method on a - class to be called during the around invoke portion of an - ejb invocation. Note that each class may have only one - around invoke method and that the method may not be - overloaded. - - If the class element is missing then - the class defining the callback is assumed to be the - interceptor class or component class in scope at the - location in the descriptor in which the around invoke - definition appears. - - - - - - - - - - - - - - - - - The around-timeout type specifies a method on a - class to be called during the around-timeout portion of - a timer timeout callback. Note that each class may have - only one around-timeout method and that the method may not - be overloaded. - - If the class element is missing then - the class defining the callback is assumed to be the - interceptor class or component class in scope at the - location in the descriptor in which the around-timeout - definition appears. - - - - - - - - - - - - - - - - - The assembly-descriptorType defines - application-assembly information. - - The application-assembly information consists of the - following parts: the definition of security roles, the - definition of method permissions, the definition of - transaction attributes for enterprise beans with - container-managed transaction demarcation, the definition - of interceptor bindings, a list of - methods to be excluded from being invoked, and a list of - exception types that should be treated as application exceptions. - - All the parts are optional in the sense that they are - omitted if the lists represented by them are empty. - - Providing an assembly-descriptor in the deployment - descriptor is optional for the ejb-jar file or .war file producer. - - - - - - - - - - - - - - - - - - - - - - - The cmp-fieldType describes a container-managed field. The - cmp-fieldType contains an optional description of the field, - and the name of the field. - - - - - - - - - - The field-name element specifies the name of a - container managed field. - - The name of the cmp-field of an entity bean with - cmp-version 2.x must begin with a lowercase - letter. This field is accessed by methods whose - names consists of the name of the field specified by - field-name in which the first letter is uppercased, - prefixed by "get" or "set". - - The name of the cmp-field of an entity bean with - cmp-version 1.x must denote a public field of the - enterprise bean class or one of its superclasses. - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - - - - - - - The cmp-versionType specifies the version of an entity bean - with container-managed persistence. It is used by - cmp-version elements. - - The value must be one of the two following: - - 1.x - 2.x - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - - - - - - - - - - The cmr-fieldType describes the Bean Provider's view of - a relationship. It consists of an optional description, and - the name and the class type of a field in the source of a - role of a relationship. The cmr-field-name element - corresponds to the name used for the get and set accessor - methods for the relationship. The cmr-field-type element is - used only for collection-valued cmr-fields. It specifies the - type of the collection that is used. - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - The cmr-field-name element specifies the name of a - logical relationship field in the entity bean - class. The name of the cmr-field must begin with a - lowercase letter. This field is accessed by methods - whose names consist of the name of the field - specified by cmr-field-name in which the first - letter is uppercased, prefixed by "get" or "set". - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - - - - - - - - The cmr-field-type element specifies the class of a - collection-valued logical relationship field in the entity - bean class. The value of an element using cmr-field-typeType - must be either: java.util.Collection or java.util.Set. - - - - - - - - - - - - - - - - - - - The concurrency-management-typeType specifies the way concurrency - is managed for a singleton or stateful session bean. - - The concurrency management type must be one of the following: - - Bean - Container - - Bean managed concurrency can only be specified for a singleton bean. - - - - - - - - - - - - - - - - - - - The concurrent-lock-typeType specifies how the container must - manage concurrent access to a method of a Singleton bean - with container-managed concurrency. - - The container managed concurrency lock type must be one - of the following : - - Read - Write - - - - - - - - - - - - - - - - - - - The concurrent-methodType specifies information about a method - of a bean with container managed concurrency. - - The optional lock element specifies the kind of concurrency - lock asssociated with the method. - - The optional access-timeout element specifies the amount of - time (in a given time unit) the container should wait for a - concurrency lock before throwing an exception to the client. - - - - - - - - - - - - - - - - - - - The container-transactionType specifies how the container - must manage transaction scopes for the enterprise bean's - method invocations. It defines an optional description, a - list of method elements, and a transaction attribute. The - transaction attribute is to be applied to all the specified - methods. - - - - - - - - - - - - - - - - - - - The depends-onType is used to express initialization - ordering dependencies between Singleton components. - The depends-onType specifies the names of one or more - Singleton beans in the same application as the referring - Singleton, each of which must be initialized before - the referring bean. - - Each dependent bean is expressed using ejb-link syntax. - The order in which dependent beans are initialized at - runtime is not guaranteed to match the order in which - they are listed. - - - - - - - - - - - - - - - - com.wombat.empl.EmployeeServiceBean - - ]]> - - - - - - - - - - - - - - - The ejb-jarType defines the root element of the Enterprise Beans - deployment descriptor. It contains - - - an optional description of the ejb-jar file - - an optional display name - - an optional icon that contains a small and a large - icon file name - - an optional module name. Only applicable to - stand-alone ejb-jars or ejb-jars packaged in an ear. - Ignored if specified for an ejb-jar.xml within a .war file. - In that case, standard .war file module-name rules apply. - - structural information about all included - enterprise beans that is not specified through - annotations - - structural information about interceptor classes - - a descriptor for container managed relationships, - if any. - - an optional application-assembly descriptor - - an optional name of an ejb-client-jar file for the - ejb-jar. - - - - - - - - - - - - - - The ejb-relation-name contains the name of a - relation. The name must be unique within - relationships. - - - - - - - - - - - - Providing an assembly-descriptor in the deployment - descriptor is optional for the ejb-jar file or .war file - producer. - - - - - - - - employee_service_client.jar - - - ]]> - - - - - - - - - The version specifies the version of the - Enterprise Beans specification that the instance document must - comply with. This information enables deployment tools - to validate a particular Enterprise Beans Deployment - Descriptor with respect to a specific version of the Enterprise Beans - schema. - - - - - - - - - The metadata-complete attribute defines whether this - deployment descriptor and other related deployment - descriptors for this module (e.g., web service - descriptors) are complete, or whether the class - files available to this module and packaged with - this application should be examined for annotations - that specify deployment information. - - If metadata-complete is set to "true", the deployment - tool must ignore any annotations that specify deployment - information, which might be present in the class files - of the application. - - If metadata-complete is not specified or is set to - "false", the deployment tool must examine the class - files of the application for annotations, as - specified by the specifications. - - - - - - - - - - - - - - EmployeeService - - ]]> - - - - - - - - - - - - - - - The ejb-relationType describes a relationship between two - entity beans with container-managed persistence. It is used - by ejb-relation elements. It contains a description; an - optional ejb-relation-name element; and exactly two - relationship role declarations, defined by the - ejb-relationship-role elements. The name of the - relationship, if specified, is unique within the ejb-jar - file. - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - The ejb-relation-name element provides a unique name - within the ejb-jar file for a relationship. - - - - - - - - - - - - - - - - - Product-LineItem - - product-has-lineitems - - One - - ProductEJB - - - - - Support for entity beans is optional as of Enterprise Beans 3.2. - - ]]> - - - - - - - - - The ejb-relationship-role-name element defines a - name for a role that is unique within an - ejb-relation. Different relationships can use the - same name for a role. - - - - - - - - - - The cascade-delete element specifies that, within a - particular relationship, the lifetime of one or more - entity beans is dependent upon the lifetime of - another entity bean. The cascade-delete element can - only be specified for an ejb-relationship-role - element contained in an ejb-relation element in - which the other ejb-relationship-role - element specifies a multiplicity of One. - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - - - - - - - - - The enterprise-beansType declares one or more enterprise - beans. Each bean can be a session, entity or message-driven - bean. - - - - - - - - - - The ejb-ref-name element contains the name of - an enterprise bean reference. The enterprise bean reference is an entry in - the component's environment and is relative to the - java:comp/env context. The name must be unique within - the component. - - It is recommended that name be prefixed with "ejb/". - - - - - - - - - - - The ejb-ref-name element contains the name of an enterprise bean - reference. The enterprise bean reference is an entry in the - component's environment and is relative to the - java:comp/env context. The name must be unique - within the component. - - It is recommended that name is prefixed with "ejb/". - - - - - - - - - - - The resource-env-ref-name element specifies the name - of a resource environment reference; its value is - the environment entry name used in the component - code. The name is a JNDI name relative to the - java:comp/env context and must be unique within an - component. - - - - - - - - - - - The message-destination-ref-name element specifies the name - of a message destination reference; its value is - the message destination reference name used in the component - code. The name is a JNDI name relative to the - java:comp/env context and must be unique within an - component. - - - - - - - - - - - The res-ref-name element specifies the name of a - resource manager connection factory reference. The name - is a JNDI name relative to the java:comp/env context. - The name must be unique within an component. - - - - - - - - - - - The env-entry-name element contains the name of a - component's environment entry. The name is a JNDI - name relative to the java:comp/env context. The - name must be unique within an component. - - - - - - - - - - - - - The ejb-ref-name element contains the name of - an enterprise bean reference. The enterprise bean reference is an entry in - the component's environment and is relative to the - java:comp/env context. The name must be unique within - the component. - - It is recommended that name be prefixed with "ejb/". - - - - - - - - - - - The ejb-ref-name element contains the name of an enterprise bean - reference. The enterprise bean reference is an entry in the - component's environment and is relative to the - java:comp/env context. The name must be unique - within the component. - - It is recommended that name is prefixed with "ejb/". - - - - - - - - - - - The resource-env-ref-name element specifies the name - of a resource environment reference; its value is - the environment entry name used in the component - code. The name is a JNDI name relative to the - java:comp/env context and must be unique within an - component. - - - - - - - - - - - The message-destination-ref-name element specifies the name - of a message destination reference; its value is - the message destination reference name used in the component - code. The name is a JNDI name relative to the - java:comp/env context and must be unique within an - component. - - - - - - - - - - - The res-ref-name element specifies the name of a - resource manager connection factory reference. The name - is a JNDI name relative to the java:comp/env context. - The name must be unique within an component. - - - - - - - - - - - The env-entry-name element contains the name of a - component's environment entry. The name is a JNDI - name relative to the java:comp/env context. The - name must be unique within an component. - - - - - - - - - - - - - The ejb-ref-name element contains the name of - an enterprise bean reference. The enterprise bean reference is an entry in - the component's environment and is relative to the - java:comp/env context. The name must be unique within - the component. - - It is recommended that name be prefixed with "ejb/". - - - - - - - - - - - The ejb-ref-name element contains the name of an enterprise bean - reference. The enterprise bean reference is an entry in the - component's environment and is relative to the - java:comp/env context. The name must be unique - within the component. - - It is recommended that name is prefixed with "ejb/". - - - - - - - - - - - The resource-env-ref-name element specifies the name - of a resource environment reference; its value is - the environment entry name used in the component - code. The name is a JNDI name relative to the - java:comp/env context and must be unique within an - component. - - - - - - - - - - - The message-destination-ref-name element specifies the name - of a message destination reference; its value is - the message destination reference name used in the component - code. The name is a JNDI name relative to the - java:comp/env context and must be unique within an - component. - - - - - - - - - - - The res-ref-name element specifies the name of a - resource manager connection factory reference. The name - is a JNDI name relative to the java:comp/env context. - The name must be unique within an component. - - - - - - - - - - - The env-entry-name element contains the name of a - component's environment entry. The name is a JNDI - name relative to the java:comp/env context. The - name must be unique within an component. - - - - - - - - - - - - - - - - - - - Support for entity beans is optional as of Enterprise Beans 3.2. - - The entity-beanType declares an entity bean. The declaration - consists of: - - - an optional description - - an optional display name - - an optional icon element that contains a small and a large - icon file name - - a unique name assigned to the enterprise bean - in the deployment descriptor - - an optional mapped-name element that can be used to provide - vendor-specific deployment information such as the physical - jndi-name of the entity bean's remote home interface. This - element is not required to be supported by all implementations. - Any use of this element is non-portable. - - the names of the entity bean's remote home - and remote interfaces, if any - - the names of the entity bean's local home and local - interfaces, if any - - the entity bean's implementation class - - the optional entity bean's persistence management type. If - this element is not specified it is defaulted to Container. - - the entity bean's primary key class name - - an indication of the entity bean's reentrancy - - an optional specification of the - entity bean's cmp-version - - an optional specification of the entity bean's - abstract schema name - - an optional list of container-managed fields - - an optional specification of the primary key - field - - an optional declaration of the bean's environment - entries - - an optional declaration of the bean's enterprise bean - references - - an optional declaration of the bean's local enterprise bean - references - - an optional declaration of the bean's web - service references - - an optional declaration of the security role - references - - an optional declaration of the security identity - to be used for the execution of the bean's methods - - an optional declaration of the bean's - resource manager connection factory references - - an optional declaration of the bean's - resource environment references - - an optional declaration of the bean's message - destination references - - an optional set of query declarations - for finder and select methods for an entity - bean with cmp-version 2.x. - - The optional abstract-schema-name element must be specified - for an entity bean with container-managed persistence and - cmp-version 2.x. - - The optional primkey-field may be present in the descriptor - if the entity's persistence-type is Container. - - The optional cmp-version element may be present in the - descriptor if the entity's persistence-type is Container. If - the persistence-type is Container and the cmp-version - element is not specified, its value defaults to 2.x. - - The optional home and remote elements must be specified if - the entity bean cmp-version is 1.x. - - The optional home and remote elements must be specified if - the entity bean has a remote home and remote interface. - - The optional local-home and local elements must be specified - if the entity bean has a local home and local interface. - - Either both the local-home and the local elements or both - the home and the remote elements must be specified. - - The optional query elements must be present if the - persistence-type is Container and the cmp-version is 2.x and - query methods other than findByPrimaryKey have been defined - for the entity bean. - - The other elements that are optional are "optional" in the - sense that they are omitted if the lists represented by them - are empty. - - At least one cmp-field element must be present in the - descriptor if the entity's persistence-type is Container and - the cmp-version is 1.x, and none must not be present if the - entity's persistence-type is Bean. - - - - - - - - - - - - - - - - - - The prim-key-class element contains the - fully-qualified name of an - entity bean's primary key class. - - If the definition of the primary key class is - deferred to deployment time, the prim-key-class - element should specify java.lang.Object. - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - The reentrant element specifies whether an entity - bean is reentrant or not. - - The reentrant element must be one of the two - following: true or false - - - - - - - - - - The abstract-schema-name element specifies the name - of the abstract schema type of an entity bean with - cmp-version 2.x. It is used in Enterprise Beans QL queries. - - For example, the abstract-schema-name for an entity - bean whose local interface is - com.acme.commerce.Order might be Order. - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - The primkey-field element is used to specify the - name of the primary key field for an entity with - container-managed persistence. - - The primkey-field must be one of the fields declared - in the cmp-field element, and the type of the field - must be the same as the primary key type. - - The primkey-field element is not used if the primary - key maps to multiple container-managed fields - (i.e. the key is a compound key). In this case, the - fields of the primary key class must be public, and - their names must correspond to the field names of - the entity bean class that comprise the key. - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - - - - - - - - - - - - - - - The exclude-listType specifies one or more methods which - the Assembler marks to be uncallable. - - If the method permission relation contains methods that are - in the exclude list, the Deployer should consider those - methods to be uncallable. - - - - - - - - - - - - - - - - - - The application-exceptionType declares an application - exception. The declaration consists of: - - - the exception class. When the container receives - an exception of this type, it is required to - forward this exception as an applcation exception - to the client regardless of whether it is a checked - or unchecked exception. - - an optional rollback element. If this element is - set to true, the container must rollback the current - transaction before forwarding the exception to the - client. If not specified, it defaults to false. - - an optional inherited element. If this element is - set to true, subclasses of the exception class type - are also automatically considered application - exceptions (unless overriden at a lower level). - If set to false, only the exception class type is - considered an application-exception, not its - exception subclasses. If not specified, this - value defaults to true. - - - - - - - - - - - - - - - - - - - The interceptorsType element declares one or more interceptor - classes used by components within this ejb-jar file or .war file. The declaration - consists of : - - - An optional description. - - One or more interceptor elements. - - - - - - - - - - - - - - - - - - The interceptorType element declares information about a single - interceptor class. It consists of : - - - An optional description. - - The fully-qualified name of the interceptor class. - - An optional list of around invoke methods declared on the - interceptor class and/or its super-classes. - - An optional list of around timeout methods declared on the - interceptor class and/or its super-classes. - - An optional list environment dependencies for the interceptor - class and/or its super-classes. - - An optional list of post-activate methods declared on the - interceptor class and/or its super-classes. - - An optional list of pre-passivate methods declared on the - interceptor class and/or its super-classes. - - - - - - - - - - - - - - - - - - - - - - - - * - INTERCEPTOR - - - Specifying the ejb-name as the wildcard value "*" designates - default interceptors (interceptors that apply to all session and - message-driven beans contained in the ejb-jar file or .war file). - - 2. - - EJBNAME - INTERCEPTOR - - - This style is used to refer to interceptors associated with the - specified enterprise bean(class-level interceptors). - - 3. - - EJBNAME - INTERCEPTOR - - METHOD - - - - This style is used to associate a method-level interceptor with - the specified enterprise bean. If there are multiple methods - with the same overloaded name, the element of this style refers - to all the methods with the overloaded name. Method-level - interceptors can only be associated with business methods of the - bean class. Note that the wildcard value "*" cannot be used - to specify method-level interceptors. - - 4. - - EJBNAME - INTERCEPTOR - - METHOD - - PARAM-1 - PARAM-2 - ... - PARAM-N - - - - - This style is used to associate a method-level interceptor with - the specified method of the specified enterprise bean. This - style is used to refer to a single method within a set of methods - with an overloaded name. The values PARAM-1 through PARAM-N - are the fully-qualified Java types of the method's input parameters - (if the method has no input arguments, the method-params element - contains no method-param elements). Arrays are specified by the - array element's type, followed by one or more pair of square - brackets (e.g. int[][]). - - ]]> - - - - - - - - - - - - - - - - - - - - - - - - The interceptor-orderType element describes a total ordering - of interceptor classes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The message-driven element declares a message-driven - bean. The declaration consists of: - - - an optional description - - an optional display name - - an optional icon element that contains a small and a large - icon file name. - - a name assigned to the enterprise bean in - the deployment descriptor - - an optional mapped-name element that can be used to provide - vendor-specific deployment information such as the physical - jndi-name of destination from which this message-driven bean - should consume. This element is not required to be supported - by all implementations. Any use of this element is non-portable. - - the message-driven bean's implementation class - - an optional declaration of the bean's messaging - type - - an optional declaration of the bean's timeout method for - handling programmatically created timers - - an optional declaration of timers to be automatically created at - deployment time - - the optional message-driven bean's transaction management - type. If it is not defined, it is defaulted to Container. - - an optional declaration of the bean's - message-destination-type - - an optional declaration of the bean's - message-destination-link - - an optional declaration of the message-driven bean's - activation configuration properties - - an optional list of the message-driven bean class and/or - superclass around-invoke methods. - - an optional list of the message-driven bean class and/or - superclass around-timeout methods. - - an optional declaration of the bean's environment - entries - - an optional declaration of the bean's enterprise bean references - - an optional declaration of the bean's local enterprise bean - references - - an optional declaration of the bean's web service - references - - an optional declaration of the security role - references - - an optional declaration of the security - identity to be used for the execution of the bean's - methods - - an optional declaration of the bean's - resource manager connection factory - references - - an optional declaration of the bean's resource - environment references. - - an optional declaration of the bean's message - destination references - - - - - - - - - - - - The ejb-class element specifies the fully qualified name - of the bean class for this ejb. It is required unless - there is a component-defining annotation for the same - ejb-name. - - - - - - - - - The messaging-type element specifies the message - listener interface of the message-driven bean. - - - - - - - - - The timeout-method element specifies the method that - will receive callbacks for programmatically - created timers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EJBNAME - * - - - This style is used to refer to all of the following methods - of the specified enterprise bean: - business interface methods - home interface methods - component interface methods - web service endpoint interface methods - no-interface view methods - singleton session bean lifecycle callback methods - timeout callback methods - message-driven bean message listener method - - This style may also be used in combination with the - method-intf element that contains LifecycleCallback as - the value to specify transaction attributes of a stateful - session bean PostConstruct, PreDestroy, PrePassivate, - and PostActivate lifecycle callback methods or to override - transaction attributes of a singleton session bean - PostConstruct and PreDestroy lifecycle callback methods. - - 2. - - EJBNAME - METHOD - - - This style is used to refer to the specified method of - the specified enterprise bean. If there are multiple - methods with the same overloaded name, the element of - this style refers to all the methods with the overloaded - name. - - This style may be used to refer to stateful session bean - PostConstruct, PreDestroy, PrePassivate, and PostActivate - lifecycle callback methods to specify their transaction - attributes if any of the following is true: - there is only one method with this name in the specified - enterprise bean - all overloaded methods with this name in the specified - enterprise bean are lifecycle callback methods - method-intf element is specified and it contains - LifecycleCallback as the value - - 3. - - EJBNAME - METHOD - - PARAM-1 - PARAM-2 - ... - PARAM-n - - - - This style is used to refer to a single method within a - set of methods with an overloaded name. PARAM-1 through - PARAM-n are the fully-qualified Java types of the - method's input parameters (if the method has no input - arguments, the method-params element contains no - method-param elements). Arrays are specified by the - array element's type, followed by one or more pair of - square brackets (e.g. int[][]). - If a method with the same name and signature is defined - on more than one interface of an enterprise bean, this - style refers to all those methods. - - Examples: - - Style 1: The following method element refers to all of the - following methods of the EmployeeService bean: - no interface view methods - business interface methods - home interface methods - component business interface methods - singleton session bean lifecycle callback methods, if any - timeout callback methods - web service endpoint interface methods - message-driven bean message listener methods (if the bean - a message-driven bean) - - - EmployeeService - * - - - Style 2: The following method element refers to all the - create methods of the EmployeeService bean's home - interface(s). - - - EmployeeService - create - - - Style 3: The following method element refers to the - create(String firstName, String LastName) method of the - EmployeeService bean's home interface(s). - - - EmployeeService - create - - java.lang.String - java.lang.String - - - - The following example illustrates a Style 3 element with - more complex parameter types. The method - foobar(char s, int i, int[] iar, mypackage.MyClass mycl, - mypackage.MyClass[][] myclaar) would be specified as: - - - EmployeeService - foobar - - char - int - int[] - mypackage.MyClass - mypackage.MyClass[][] - - - - The optional method-intf element can be used when it becomes - necessary to differentiate between a method that is defined - multiple times with the same name and signature across any - of the following methods of an enterprise bean: - business interface methods - home interface methods - component interface methods - web service endpoint methods - no-interface view methods - singleton or stateful session bean lifecycle callback methods - timeout callback methods - message-driven bean message listener methods - - However, if the same method is a method of both the local - business interface, and the local component interface, - the same attribute applies to the method for both interfaces. - Likewise, if the same method is a method of both the remote - business interface and the remote component interface, the same - attribute applies to the method for both interfaces. - - For example, the method element - - - EmployeeService - Remote - create - - java.lang.String - java.lang.String - - - - can be used to differentiate the create(String, String) - method defined in the remote interface from the - create(String, String) method defined in the remote home - interface, which would be defined as - - - EmployeeService - Home - create - - java.lang.String - java.lang.String - - - - and the create method that is defined in the local home - interface which would be defined as - - - EmployeeService - LocalHome - create - - java.lang.String - java.lang.String - - - - The method-intf element can be used with all three Styles - of the method element usage. For example, the following - method element example could be used to refer to all the - methods of the EmployeeService bean's remote home interface - and the remote business interface. - - - EmployeeService - Home - * - - - ]]> - - - - - - - - - - - - - - - - - - - - - The method-intf element allows a method element to - differentiate between the methods with the same name and - signature that are multiply defined across the home and - component interfaces (e.g, in both an enterprise bean's - remote and local interfaces or in both an enterprise bean's - home and remote interfaces, etc.); the component and web - service endpoint interfaces, and so on. - - Local applies to the local component interface, local business - interfaces, and the no-interface view. - - Remote applies to both remote component interface and the remote - business interfaces. - - ServiceEndpoint refers to methods exposed through a web service - endpoint. - - Timer refers to the bean's timeout callback methods. - - MessageEndpoint refers to the methods of a message-driven bean's - message-listener interface. - - LifecycleCallback refers to the PostConstruct and PreDestroy - lifecycle callback methods of a singleton session bean and - to the PostConstruct, PreDestroy, PrePassivate, and PostActivate - lifecycle callback methods of a stateful session bean. - - The method-intf element must be one of the following: - - Home - Remote - LocalHome - Local - ServiceEndpoint - Timer - MessageEndpoint - LifecycleCallback - - - - - - - - - - - - - - - - - - - - - - - - - The method-nameType contains a name of an enterprise - bean method or the asterisk (*) character. The asterisk is - used when the element denotes all the methods of an - enterprise bean's client view interfaces. - - - - - - - - - - - - - - - - The method-paramsType defines a list of the - fully-qualified Java type names of the method parameters. - - - - - - - - - The method-param element contains a primitive - or a fully-qualified Java type name of a method - parameter. - - - - - - - - - - - - - - - - The method-permissionType specifies that one or more - security roles are allowed to invoke one or more enterprise - bean methods. The method-permissionType consists of an - optional description, a list of security role names or an - indicator to state that the method is unchecked for - authorization, and a list of method elements. - - Except as noted below the security roles used in the - method-permissionType must be defined in the security-role - elements of the deployment descriptor, and the methods - must be methods defined in the enterprise bean's no-interface - view, business, home, component and/or web service endpoint - interfaces. - - If the role name "**" is included in the list of allowed - roles, and the application has not defined in its deployment - descriptor an application security role with this name, - then the list of allowed roles includes every and any - authenticated user. - - - - - - - - - - - - The unchecked element specifies that a method is - not checked for authorization by the container - prior to invocation of the method. - - - - - - - - - - - - - - - - - - The multiplicityType describes the multiplicity of the - role that participates in a relation. - - The value must be one of the two following: - - One - Many - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - - - - - - - - - - The persistence-typeType specifies an entity bean's persistence - management type. - - The persistence-type element must be one of the two following: - - Bean - Container - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - - - - - - - - - - The queryType defines a finder or select - query. It contains - - an optional description of the query - - the specification of the finder or select - method it is used by - - an optional specification of the result type - mapping, if the query is for a select method - and entity objects are returned. - - the Enterprise Beans QL query string that defines the query. - - Queries that are expressible in Enterprise Beans QL must use the ejb-ql - element to specify the query. If a query is not expressible - in Enterprise Beans QL, the description element should be used to - describe the semantics of the query and the ejb-ql element - should be empty. - - The result-type-mapping is an optional element. It can only - be present if the query-method specifies a select method - that returns entity objects. The default value for the - result-type-mapping element is "Local". - - - - - - - - - - - - - - - - - - - - Method finds large orders - - findLargeOrders - - - - SELECT OBJECT(o) FROM Order o - WHERE o.amount > 1000 - - - - Support for entity beans is optional as of Enterprise Beans 3.2. - - ]]> - - - - - - - - - - - - - - - - - The relationship-role-sourceType designates the source of a - role that participates in a relationship. A - relationship-role-sourceType is used by - relationship-role-source elements to uniquely identify an - entity bean. - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - - - - - - - - - The relationshipsType describes the relationships in - which entity beans with container-managed persistence - participate. The relationshipsType contains an optional - description; and a list of ejb-relation elements, which - specify the container managed relationships. - - Support for entity beans is optional as of Enterprise Beans 3.2. - - - - - - - - - - - The ejb-relationship-role-name contains the name of a - relationship role. The name must be unique within - a relationship, but can be reused in different - relationships. - - - - - - - - - - - - - - - - - - - The result-type-mappingType is used in the query element to - specify whether an abstract schema type returned by a query - for a select method is to be mapped to an EJBLocalObject or - EJBObject type. - - The value must be one of the following: - - Local - Remote - - - - - - - - - - - - - - - - - - - The security-identityType specifies whether the caller's - security identity is to be used for the execution of the - methods of the enterprise bean or whether a specific run-as - identity is to be used. It contains an optional description - and a specification of the security identity to be used. - - - - - - - - - - - The use-caller-identity element specifies that - the caller's security identity be used as the - security identity for the execution of the - enterprise bean's methods. - - - - - - - - - - - - - - - - - - The session-beanType declares an session bean. The - declaration consists of: - - - an optional description - - an optional display name - - an optional icon element that contains a small and a large - icon file name - - a name assigned to the enterprise bean - in the deployment description - - an optional mapped-name element that can be used to provide - vendor-specific deployment information such as the physical - jndi-name of the session bean's remote home/business interface. - This element is not required to be supported by all - implementations. Any use of this element is non-portable. - - the names of all the remote or local business interfaces, - if any - - the names of the session bean's remote home and - remote interfaces, if any - - the names of the session bean's local home and - local interfaces, if any - - an optional declaration that this bean exposes a - no-interface view - - the name of the session bean's web service endpoint - interface, if any - - the session bean's implementation class - - the session bean's state management type - - an optional declaration of a stateful session bean's timeout value - - an optional declaration of the session bean's timeout method for - handling programmatically created timers - - an optional declaration of timers to be automatically created at - deployment time - - an optional declaration that a Singleton bean has eager - initialization - - an optional declaration of a Singleton/Stateful bean's concurrency - management type - - an optional declaration of the method locking metadata - for a Singleton with container managed concurrency - - an optional declaration of the other Singleton beans in the - application that must be initialized before this bean - - an optional declaration of the session bean's asynchronous - methods - - the optional session bean's transaction management type. - If it is not present, it is defaulted to Container. - - an optional declaration of a stateful session bean's - afterBegin, beforeCompletion, and/or afterCompletion methods - - an optional list of the session bean class and/or - superclass around-invoke methods. - - an optional list of the session bean class and/or - superclass around-timeout methods. - - an optional declaration of the bean's - environment entries - - an optional declaration of the bean's enterprise bean references - - an optional declaration of the bean's local enterprise bean - references - - an optional declaration of the bean's web - service references - - an optional declaration of the security role - references - - an optional declaration of the security identity - to be used for the execution of the bean's methods - - an optional declaration of the bean's resource - manager connection factory references - - an optional declaration of the bean's resource - environment references. - - an optional declaration of the bean's message - destination references - - an optional specification as to whether the stateful - session bean is passivation capable or not. If not - specified, the bean is assumed to be passivation capable - - The elements that are optional are "optional" in the sense - that they are omitted when if lists represented by them are - empty. - - The service-endpoint element may only be specified if the - bean is a stateless session bean. - - - - - - - - - - - - - - - - - - The local-bean element declares that this - session bean exposes a no-interface Local client view. - - - - - - - - - The service-endpoint element contains the - fully-qualified name of the enterprise bean's web - service endpoint interface. The service-endpoint - element may only be specified for a stateless - session bean. The specified interface must be a - valid Jakarta XML RPC service endpoint interface. - - - - - - - - - The ejb-class element specifies the fully qualified name - of the bean class for this ejb. It is required unless - there is a component-defining annotation for the same - ejb-name. - - - - - - - - - - - The timeout-method element specifies the method that - will receive callbacks for programmatically - created timers. - - - - - - - - - - The init-on-startup element specifies that a Singleton - bean has eager initialization. - This element can only be specified for singleton session - beans. - - - - - - - - - - - - The init-method element specifies the mappings for - Enterprise Beans 2.x style create methods for an Enterprise Beans 3.x bean. - This element can only be specified for stateful - session beans. - - - - - - - - - The remove-method element specifies the mappings for - Enterprise Beans 2.x style remove methods for an Enterprise Beans 3.x bean. - This element can only be specified for stateful - session beans. - - - - - - - - - - - - - - - - - - - - - The passivation-capable element specifies whether the - stateful session bean is passivation capable or not. - If not specified, the bean is assumed to be passivation - capable. - - - - - - - - - - - - - - - - - - - - The session-typeType describes whether the session bean is a - singleton, stateful or stateless session. It is used by - session-type elements. - - The value must be one of the three following: - - Singleton - Stateful - Stateless - - - - - - - - - - - - - - - - - - - - The stateful-timeoutType represents the amount of time - a stateful session bean can be idle(not receive any client - invocations) before it is eligible for removal by the container. - - A timeout value of 0 means the bean is immediately eligible for removal. - - A timeout value of -1 means the bean will never be removed due to timeout. - - - - - - - - - - - - - - - - - - The time-unit-typeType represents a time duration at a given - unit of granularity. - - The time unit type must be one of the following : - - Days - Hours - Minutes - Seconds - Milliseconds - Microseconds - Nanoseconds - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The timerType specifies an enterprise bean timer. Each - timer is automatically created by the container upon - deployment. Timer callbacks occur based on the - schedule attributes. All callbacks are made to the - timeout-method associated with the timer. - - A timer can have an optional start and/or end date. If - a start date is specified, it takes precedence over the - associated timer schedule such that any matching - expirations prior to the start time will not occur. - Likewise, no matching expirations will occur after any - end date. Start/End dates are specified using the - XML Schema dateTime type, which follows the ISO-8601 - standard for date(and optional time-within-the-day) - representation. - - An optional flag can be used to control whether - this timer has persistent(true) delivery semantics or - non-persistent(false) delivery semantics. If not specified, - the value defaults to persistent(true). - - A time zone can optionally be associated with a timer. - If specified, the timer's schedule is evaluated in the context - of that time zone, regardless of the default time zone in which - the container is executing. Time zones are specified as an - ID string. The set of required time zone IDs is defined by - the Zone Name(TZ) column of the public domain zoneinfo database. - - An optional info string can be assigned to the timer and - retrieved at runtime through the Timer.getInfo() method. - - The timerType can only be specified on stateless session - beans, singleton session beans, and message-driven beans. - - - - - - - - - - - - - - - - - - - - - - - - The trans-attributeType specifies how the container must - manage the transaction boundaries when delegating a method - invocation to an enterprise bean's business method. - - The value must be one of the following: - - NotSupported - Supports - Required - RequiresNew - Mandatory - Never - - - - - - - - - - - - - - - - - - - - - - - The transaction-typeType specifies an enterprise bean's - transaction management type. - - The transaction-type must be one of the two following: - - Bean - Container - - - - - - - - - - - - diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java index e42ef0405d3..c7549212762 100644 --- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java +++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java @@ -103,8 +103,7 @@ public class EjbBundleNode extends AbstractBundleNode { @Deprecated public final static String SCHEMA_ID_32 = "ejb-jar_3_2.xsd"; public final static String SCHEMA_ID_40 = "ejb-jar_4_0.xsd"; - public final static String SCHEMA_ID = "ejb-jar_4_1.xsd"; // This is currently being misused - EJB 4.1 doesn't exist yet - we've added vendor-specific things which should be a part of a payara-ejb-jar.xml descriptor instead - public final static String SPEC_VERSION = "4.1"; // This is currently being misused - EJB 4.1 doesn't exist yet - we've added vendor-specific things which should be a part of a payara-ejb-jar.xml descriptor instead + public final static String SPEC_VERSION = "4.0"; private final static List systemIDs = initSystemIDs(); /** @@ -133,7 +132,6 @@ public Map> registerRuntimeBundle(Map publicIDT private static List initSystemIDs() { List systemIDs = new ArrayList<>(3); - systemIDs.add(SCHEMA_ID); systemIDs.add(SCHEMA_ID_40); systemIDs.add(SCHEMA_ID_32); systemIDs.add(SCHEMA_ID_31); @@ -257,7 +255,7 @@ public String getDocType() { @Override public String getSystemID() { - return SCHEMA_ID; + return SCHEMA_ID_40; } @Override diff --git a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorDefinitionEJBFromConfig.java b/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorDefinitionEJBFromConfig.java deleted file mode 100644 index 8117c17b6fe..00000000000 --- a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorDefinitionEJBFromConfig.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) [2022] Payara Foundation and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * The Payara Foundation designates this particular file as subject to the "Classpath" - * exception as provided by the Payara Foundation in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -package fish.payara.sample.concurrency.annotations.managedexecutor; - -import jakarta.annotation.Resource; -import jakarta.ejb.Stateless; -import jakarta.enterprise.concurrent.ManagedExecutorService; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.Future; -import java.util.logging.Level; -import java.util.logging.Logger; - -@Stateless -public class ManagedExecutorDefinitionEJBFromConfig { - - public static final Logger log = Logger.getLogger(ManagedExecutorDefinitionEJBFromConfig.class.getName()); - - @Resource(lookup = "java:app/jakartaee/EJBExecutor") - ManagedExecutorService ejbExecutor; - - public String submitEJBExecutor() throws InterruptedException, ExecutionException { - log.log(Level.INFO, "EJBExecutor:"+ejbExecutor); - AtomicInteger numberExecution = new AtomicInteger(0); - Future future = ejbExecutor.submit(() -> { - numberExecution.incrementAndGet(); - System.out.println("Job running"); - }); - future.get(); - return "Executor submitted:" + numberExecution.get(); - } -} \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorDefinitionEJBRest.java b/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorDefinitionEJBRest.java index 790ba0ba237..7276ea5e4f2 100644 --- a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorDefinitionEJBRest.java +++ b/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorDefinitionEJBRest.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) [2022] Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2022-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -39,7 +39,6 @@ */ package fish.payara.sample.concurrency.annotations.managedexecutor; -import jakarta.annotation.Resource; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; @@ -58,9 +57,6 @@ public class ManagedExecutorDefinitionEJBRest { @EJB ManagedExecutorDefinitionEJB managedExecutorDefinitionEJB; - @EJB - ManagedExecutorDefinitionEJBFromConfig managedExecutorDefinitionEJBFromConfig; - @GET @Path("application") @Produces(MediaType.TEXT_PLAIN) @@ -69,12 +65,4 @@ public String processManagedExecutor() throws InterruptedException, ExecutionExc return managedExecutorDefinitionEJB.submitApplicationExecutor(); } - @GET - @Path("ejbconfig") - @Produces(MediaType.TEXT_PLAIN) - public String processEJBManagedExecutor() throws InterruptedException, ExecutionException { - logger.log(Level.INFO, "Processing xml tag from ejb config"); - return managedExecutorDefinitionEJBFromConfig.submitEJBExecutor(); - } - } \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorEJBFromConfig.java b/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorEJBFromConfig.java deleted file mode 100644 index b7c3db5e2a5..00000000000 --- a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorEJBFromConfig.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) [2022] Payara Foundation and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * The Payara Foundation designates this particular file as subject to the "Classpath" - * exception as provided by the Payara Foundation in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -package fish.payara.sample.concurrency.annotations.managedscheduledexecutor; - -import jakarta.annotation.Resource; -import jakarta.ejb.Stateless; -import jakarta.enterprise.concurrent.ManagedScheduledExecutorService; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.Future; -import java.util.logging.Level; -import java.util.logging.Logger; - -import jakarta.enterprise.concurrent.Trigger; -import jakarta.enterprise.concurrent.CronTrigger; -import java.time.ZoneId; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.atomic.AtomicInteger; - - -@Stateless -public class ManagedScheduledExecutorEJBFromConfig { - - public static final Logger logger = Logger.getLogger(ManagedScheduledExecutorEJBFromConfig.class.getName()); - - @Resource(lookup = "java:app/jakartaee/CustomManagedScheduledExecutorE") - ManagedScheduledExecutorService customManagedScheduleExecutorE; - - public String processCustomManagedScheduled() throws InterruptedException, ExecutionException { - logger.log(Level.INFO, String.format("Processing schedule executor: %s", customManagedScheduleExecutorE)); - AtomicInteger numberExecution = new AtomicInteger(); - ZoneId mexico = ZoneId.of("America/Mexico_City"); - Trigger trigger = new CronTrigger("* * * * * *", mexico); - ScheduledFuture feature = customManagedScheduleExecutorE.schedule(() -> { - numberExecution.getAndIncrement(); - System.out.println("Cron Trigger running"); - }, trigger); - Thread.sleep(1500); - feature.cancel(true); - return "CronTrigger Submitted:"+numberExecution.get(); - } -} \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorEJBRest.java b/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorEJBRest.java index 4e599c0e768..a0de386ea57 100644 --- a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorEJBRest.java +++ b/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorEJBRest.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) [2022] Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2022-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -39,7 +39,6 @@ */ package fish.payara.sample.concurrency.annotations.managedscheduledexecutor; -import jakarta.annotation.Resource; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; @@ -48,8 +47,6 @@ import java.util.logging.Level; import java.util.logging.Logger; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.concurrent.Future; import java.util.concurrent.ExecutionException; @Path("xml") @@ -60,9 +57,6 @@ public class ManagedScheduledExecutorEJBRest { @EJB ManagedScheduledExecutorEJB managedScheduledExecutorEJB; - @EJB - ManagedScheduledExecutorEJBFromConfig managedScheduledExecutorEJBFromConfig; - @GET @Path("application") @Produces(MediaType.TEXT_PLAIN) @@ -71,12 +65,4 @@ public String processManagedScheduledExecutor() throws InterruptedException, Exe return managedScheduledExecutorEJB.processCustomManagedScheduled(); } - @GET - @Path("ejbconfig") - @Produces(MediaType.TEXT_PLAIN) - public String processManagedScheduledExecutorFromEJBConfig() throws InterruptedException, ExecutionException { - logger.log(Level.INFO, "Processing xml tag from ejb config"); - return managedScheduledExecutorEJBFromConfig.processCustomManagedScheduled(); - } - } \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryEJBFromConfig.java b/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryEJBFromConfig.java deleted file mode 100644 index f986c17bf08..00000000000 --- a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryEJBFromConfig.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) [2022] Payara Foundation and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * https://github.com/payara/Payara/blob/main/LICENSE.txt - * See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. - * - * GPL Classpath Exception: - * The Payara Foundation designates this particular file as subject to the "Classpath" - * exception as provided by the Payara Foundation in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -package fish.payara.sample.concurrency.annotations.managedthreadfactory; - -import jakarta.annotation.Resource; -import jakarta.ejb.Stateless; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.util.concurrent.Future; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ForkJoinPool; -import java.util.concurrent.ForkJoinTask; -import java.util.concurrent.RecursiveTask; -import java.util.stream.LongStream; -import java.util.Arrays; -import jakarta.enterprise.concurrent.ManagedThreadFactory; - -@Stateless -public class ManagedThreadFactoryEJBFromConfig { - public static final Logger logger = Logger.getLogger(ManagedThreadFactoryEJBFromConfig.class.getName()); - - @Resource(lookup = "java:app/jakartaee/ManagedThreadFactoryE") - ManagedThreadFactory managedThreadFactoryE; - - public String submitJob() throws InterruptedException, ExecutionException { - logger.log(Level.INFO, String.format("ManagedThreadFactory:%s", managedThreadFactoryE)); - final long[] numbers = LongStream.rangeClosed(1, 500_000).toArray(); - ForkJoinPool pool = new ForkJoinPool(Runtime.getRuntime().availableProcessors(), managedThreadFactoryE, null, false); - ForkJoinTask totals = pool.submit(() -> Arrays.stream(numbers).parallel().reduce(0L, Long::sum)); - Long t = totals.join(); - String message = String.format("Counting numbers total:%d", t); - logger.log(Level.INFO, message); - pool.shutdown(); - return message; - } -} \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryEJBRest.java b/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryEJBRest.java index a56eca222e9..e57a32b8bf3 100644 --- a/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryEJBRest.java +++ b/appserver/tests/payara-samples/samples/concurrency/src/main/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryEJBRest.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) [2022] Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2022-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -39,7 +39,6 @@ */ package fish.payara.sample.concurrency.annotations.managedthreadfactory; -import jakarta.annotation.Resource; import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; @@ -59,10 +58,6 @@ public class ManagedThreadFactoryEJBRest { @EJB ManagedThreadFactoryEJB managedThreadFactoryEJB; - @EJB - ManagedThreadFactoryEJBFromConfig managedThreadFactoryEJBCFromConfig; - - @GET @Path("application") @Produces(MediaType.TEXT_PLAIN) @@ -71,12 +66,4 @@ public String processApplicationManagedThreadFactory() throws InterruptedExcepti return managedThreadFactoryEJB.submitJob(); } - @GET - @Path("ejbconfig") - @Produces(MediaType.TEXT_PLAIN) - public String processEJBManagedThreadFactory() throws InterruptedException, ExecutionException { - logger.log(Level.INFO, "Processing xml tag from ejb config"); - return managedThreadFactoryEJBCFromConfig.submitJob(); - } - } \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/contextservice/ContextServiceApplicationIT.java b/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/contextservice/ContextServiceApplicationIT.java index 784bf7ef839..7b5fe88262d 100644 --- a/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/contextservice/ContextServiceApplicationIT.java +++ b/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/contextservice/ContextServiceApplicationIT.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) [2022] Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2022-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -85,8 +85,7 @@ public static Archive createDeployment() { JavaArchive ejbJar = ShrinkWrap.create(JavaArchive.class, "ejb-jar.jar") .addPackage("fish.payara.sample.concurrency.annotations.contextservice.util") .addClasses(ContextServiceEJBFromConfig.class) - .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml") - .addAsResource("ejb-jar4.xml", "META-INF/ejb-jar.xml"); + .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); System.out.println(ejbJar.toString(true)); //Creating web module WebArchive webWar = ShrinkWrap.create(WebArchive.class, "test.war") diff --git a/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorApplicationIT.java b/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorApplicationIT.java index 780bf8ed848..9d3d4095942 100644 --- a/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorApplicationIT.java +++ b/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedexecutor/ManagedExecutorApplicationIT.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) [2022] Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2022-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -84,9 +84,8 @@ public class ManagedExecutorApplicationIT { public static Archive createDeployment() { //Creating Jar ejb module JavaArchive ejbJar = ShrinkWrap.create(JavaArchive.class, "ejb-jar.jar") - .addClasses(ManagedExecutorDefinitionEJB.class, ManagedExecutorDefinitionEJBFromConfig.class) - .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml") - .addAsResource("ejb-jar.xml", "META-INF/ejb-jar.xml"); + .addClasses(ManagedExecutorDefinitionEJB.class) + .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); System.out.println(ejbJar.toString(true)); //Creating web module WebArchive webWar = ShrinkWrap.create(WebArchive.class, "test.war") @@ -131,21 +130,4 @@ public void testManagedExecutorDefinitionFromApplicationConfig() throws Malforme assertTrue(message.contains("Executor submitted")); } - @Test - @DisplayName("testing ManagedExecutor tag from EJB config") - @RunAsClient - public void testManagedExecutorDefinitionFromEJBConfig() throws MalformedURLException { - logger.log(Level.INFO, "Consuming service to test ManagedExecutorDefinition ejb xml configuration {0}", - new Object[]{client}); - WebTarget target = this.client.target(new URL(this.base, "xml/ejbconfig").toExternalForm()); - String message = target.request().accept(MediaType.TEXT_PLAIN).get(String.class); - logger.log(Level.INFO, "Returned message {0}", new Object[]{message}); - String[] data = message.split(":"); - if (data[1] != null) { - int numberOfExecutions = Integer.parseInt(data[1]); - assertTrue(numberOfExecutions == 1); - } - assertTrue(message.contains("Executor submitted")); - } - } \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorApplicationIT.java b/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorApplicationIT.java index 02c9db7e006..c7b07991718 100644 --- a/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorApplicationIT.java +++ b/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedscheduledexecutor/ManagedScheduledExecutorApplicationIT.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) [2022-2024] Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2022-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -80,9 +80,8 @@ public class ManagedScheduledExecutorApplicationIT { public static Archive createDeployment() { //Creating Jar ejb module JavaArchive ejbJar = ShrinkWrap.create(JavaArchive.class, "ejb-jar.jar") - .addClasses(ManagedScheduledExecutorEJB.class, ManagedScheduledExecutorEJBFromConfig.class) - .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml") - .addAsResource("ejb-jar3.xml", "META-INF/ejb-jar.xml"); + .addClasses(ManagedScheduledExecutorEJB.class) + .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); System.out.println(ejbJar.toString(true)); //Creating web module WebArchive webWar = ShrinkWrap.create(WebArchive.class, "test.war") @@ -126,21 +125,4 @@ public void processManagedScheduledExecutorFromApplicationConfig() throws Malfor } assertTrue(message.contains("CronTrigger Submitted")); } - - @Test - @DisplayName("testing ManagedScheduledExecutor tag from EJB config") - @RunAsClient - public void processManagedScheduledExecutorFromEJBConfig() throws MalformedURLException { - logger.log(Level.INFO, "Consuming service to test ManagedScheduledExecutor xml tag from ejb config {0}", - new Object[]{client}); - WebTarget target = this.client.target(new URL(this.base, "xml/ejbconfig").toExternalForm()); - String message = target.request().accept(MediaType.TEXT_PLAIN).get(String.class); - logger.log(Level.INFO, "Returned message {0}", new Object[]{message}); - String[] data = message.split(":"); - if(data[1] != null) { - int numberOfExecutions = Integer.parseInt(data[1]); - assertTrue(numberOfExecutions > 0 && numberOfExecutions <= 3, "Expected number of executions for 1.5 second is 1-3, was " + numberOfExecutions); - } - assertTrue(message.contains("CronTrigger Submitted")); - } } \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryApplicationIT.java b/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryApplicationIT.java index 385dba5a2fc..9de35eff5c3 100644 --- a/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryApplicationIT.java +++ b/appserver/tests/payara-samples/samples/concurrency/src/test/java/fish/payara/sample/concurrency/annotations/managedthreadfactory/ManagedThreadFactoryApplicationIT.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) [2022] Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2022-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -83,9 +83,8 @@ public class ManagedThreadFactoryApplicationIT { public static Archive createDeployment() { //Creating Jar ejb module JavaArchive ejbJar = ShrinkWrap.create(JavaArchive.class, "ejb-jar.jar") - .addClasses(ManagedThreadFactoryEJB.class, ManagedThreadFactoryEJBFromConfig.class) - .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml") - .addAsResource("ejb-jar2.xml", "META-INF/ejb-jar.xml"); + .addClasses(ManagedThreadFactoryEJB.class) + .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); System.out.println(ejbJar.toString(true)); //Creating web module WebArchive webWar = ShrinkWrap.create(WebArchive.class, "test.war") @@ -125,16 +124,4 @@ public void testManagedThreadFactoryFromApplicationConfig() throws MalformedURLE assertTrue(message.contains("125000250000")); } - @Test - @DisplayName("testing ManagedThreadFactory tag from EJB config") - @RunAsClient - public void testManagedThreadFactoryFromEJBConfig() throws MalformedURLException { - logger.log(Level.INFO, "Consuming service to submit xml config ManagedThreadFactory {0}", new Object[]{client}); - WebTarget target = this.client.target(new URL(this.base, "xml/ejbconfig").toExternalForm()); - String message = target.request().accept(MediaType.TEXT_PLAIN).get(String.class); - logger.log(Level.INFO, "Returned message {0}", new Object[]{message}); - assertTrue(message.contains("Counting numbers total")); - assertTrue(message.contains("125000250000")); - } - } \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar.xml b/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar.xml deleted file mode 100644 index ba4ac19bcd6..00000000000 --- a/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - ManagedExecutorDefinitionEJBFromConfig - fish.payara.sample.concurrency.annotations.managedexecutor.ManagedExecutorDefinitionEJBFromConfig - - java:app/jakartaee/EJBExecutor - 2 - 120000 - - - - \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar2.xml b/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar2.xml deleted file mode 100644 index 8cf49fffcc6..00000000000 --- a/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar2.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - ManagedThreadFactoryEJBFromConfig - fish.payara.sample.concurrency.annotations.managedthreadfactory.ManagedThreadFactoryEJBFromConfig - - java:app/jakartaee/ManagedThreadFactoryE - 4 - - - - \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar3.xml b/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar3.xml deleted file mode 100644 index f56ce255a0c..00000000000 --- a/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar3.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - ManagedScheduledExecutorEJBFromConfig - fish.payara.sample.concurrency.annotations.managedscheduledexecutor.ManagedScheduledExecutorEJBFromConfig - - java:app/jakartaee/CustomManagedScheduledExecutorE - 5 - 120000 - - - - \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar4.xml b/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar4.xml deleted file mode 100644 index 75dad98b6ce..00000000000 --- a/appserver/tests/payara-samples/samples/concurrency/src/test/resources/ejb-jar4.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - ContextServiceEJBFromConfig - fish.payara.sample.concurrency.annotations.contextservice.ContextServiceEJBFromConfig - - java:global/concurrent/ContextE - IntContext - Application - IntContextProvider - Transaction - - - - \ No newline at end of file From fe02e9cba54c2227fbee071278f3ba23006314b6 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Tue, 28 Apr 2026 17:27:00 +0100 Subject: [PATCH 093/133] FISH-13126 Convert sun-application-client.xml in Quicklook to payara-application-client.xml Signed-off-by: Andrew Pielage --- ...pplication-client.xml => payara-application-client.xml} | 7 ++++--- appserver/tests/quicklook/gfproject/build-impl.xml | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) rename appserver/tests/quicklook/ejb/mdb/metadata/{sun-application-client.xml => payara-application-client.xml} (86%) mode change 100755 => 100644 diff --git a/appserver/tests/quicklook/ejb/mdb/metadata/sun-application-client.xml b/appserver/tests/quicklook/ejb/mdb/metadata/payara-application-client.xml old mode 100755 new mode 100644 similarity index 86% rename from appserver/tests/quicklook/ejb/mdb/metadata/sun-application-client.xml rename to appserver/tests/quicklook/ejb/mdb/metadata/payara-application-client.xml index eacb08d7082..dfa3286db3f --- a/appserver/tests/quicklook/ejb/mdb/metadata/sun-application-client.xml +++ b/appserver/tests/quicklook/ejb/mdb/metadata/payara-application-client.xml @@ -1,5 +1,5 @@ - + + - + ClientQueue jms/ejb_ejb30_hello_mdb_OutQueue - + diff --git a/appserver/tests/quicklook/gfproject/build-impl.xml b/appserver/tests/quicklook/gfproject/build-impl.xml index d8dcc2a9468..3d39a2d0211 100644 --- a/appserver/tests/quicklook/gfproject/build-impl.xml +++ b/appserver/tests/quicklook/gfproject/build-impl.xml @@ -40,7 +40,7 @@ holder. --> - + @@ -317,11 +317,11 @@ failonerror="false" destdir="${class.output}"/> - + - + From 188b70b431082a4e0e94543faff9a3d18115361c Mon Sep 17 00:00:00 2001 From: adrian Date: Wed, 29 Apr 2026 06:35:55 +0300 Subject: [PATCH 094/133] FISH-12523: added more deployment group tests --- .../test_deployment_group.py | 521 +++++++++++++++++- 1 file changed, 498 insertions(+), 23 deletions(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index f3cf7d1320a..19041174c56 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -135,9 +135,9 @@ def check_http_app_available(host: str, port: str, app_name: str, timeout: int = logger.debug(f"Application '{app_name}' returned status {response.status_code}, retrying...") except requests.exceptions.RequestException as e: logger.debug(f"HTTP request failed for {url}: {e}") - + time.sleep(1) - + logger.error(f"Timed out waiting for HTTP availability at {url}") return False @@ -151,11 +151,11 @@ def payara_domain(): Start the Payara domain before all tests and stop it after. """ asadmin = AsadminRunner() - + # Log PAYARA_HOME payara_home = os.environ.get("PAYARA_HOME") logger.info(f"PAYARA_HOME: {payara_home}") - + # Log JDK version logger.info("Checking JDK version") java_result = subprocess.run(["java", "-version"], capture_output=True, text=True) @@ -179,6 +179,137 @@ def test_war(tmp_path_factory) -> str: return war_path +@pytest.fixture() +def deployment_group_env(asadmin): + """ + Create a deployment group with two standalone instances, yield the + environment dict, then clean up everything in reverse order. + + Yielded dict keys: + dg_name – deployment group name + instances – list of instance names + node_name – "localhost-domain1" (default local node) + """ + dg_name = "test-dg" + node_name = "localhost-test-domain" + instance_names = ["test-inst1", "test-inst2"] + # Use fixed ports to ensure HTTP accessibility + instance_ports = {"test-inst1": 28080, "test-inst2": 28081} + + +@pytest.fixture() +def single_instance_deployment_group_env(asadmin): + """ + Create a deployment group with a single standalone instance, yield the + environment dict, then clean up everything in reverse order. + + Yielded dict keys: + dg_name – deployment group name + instance – instance name + instance_port – HTTP port for the instance + node_name – "localhost-domain1" (default local node) + """ + dg_name = "test-dg-single" + node_name = "localhost-test-domain" + instance_name = "test-inst-single" + instance_port = 28090 + + logger.info(f"Setting up single instance deployment group environment: {dg_name}") + + logger.info("Checking for and cleaning up any existing resources from previous runs") + + # Clean up any test applications at domain level + logger.info("Cleaning up test applications from domain level") + result = asadmin.run_no_raise("list-applications", "--long") + test_app_prefix = "clusterjsp-dg-" + for line in result.stdout.splitlines(): + line = line.strip() + if not line or line.startswith("Command") or line.startswith("Nothing"): + continue + parts = line.split() + if parts and parts[0].startswith(test_app_prefix): + app_name = parts[0] + logger.info(f"Undeploying test application from all targets: {app_name}") + asadmin.run_no_raise("undeploy", app_name) + + # Stop and delete deployment group if it exists + asadmin.run_no_raise("stop-deployment-group", dg_name) + asadmin.run_no_raise("delete-deployment-group", dg_name) + + # Stop and delete instance if it exists + asadmin.run_no_raise("stop-instance", instance_name) + asadmin.run_no_raise("delete-instance", instance_name) + + logger.info(f"Creating instance: {instance_name} with HTTP port {instance_port}") + asadmin.run( + "create-instance", + f"--node={node_name}", + f"--systemproperties=HTTP_LISTENER_PORT={instance_port}", + instance_name, + ) + + logger.info(f"Creating deployment group: {dg_name}") + asadmin.run("create-deployment-group", dg_name) + + logger.info(f"Adding instance {instance_name} to deployment group {dg_name}") + asadmin.run( + "add-instance-to-deployment-group", + f"--instance={instance_name}", + f"--deploymentgroup={dg_name}", + ) + + logger.info(f"Starting deployment group: {dg_name}") + asadmin.run("start-deployment-group", dg_name) + + logger.info("Waiting for instance to start...") + time.sleep(10) + + logger.info(f"Single instance deployment group environment setup complete: {dg_name}") + + yield { + "dg_name": dg_name, + "instance": instance_name, + "instance_port": instance_port, + "node_name": node_name, + } + + logger.info(f"Tearing down single instance deployment group environment: {dg_name}") + + apps = asadmin.list_applications_on_instance(dg_name) + if apps: + logger.info(f"Undeploying remaining apps from {dg_name}: {apps}") + for app in apps: + asadmin.run_no_raise("undeploy", f"--target={dg_name}", app) + + # Clean up any test applications at domain level + logger.info("Cleaning up test applications from domain level") + result = asadmin.run_no_raise("list-applications", "--long") + test_app_prefix = "clusterjsp-dg-" + for line in result.stdout.splitlines(): + line = line.strip() + if not line or line.startswith("Command") or line.startswith("Nothing"): + continue + parts = line.split() + if parts and parts[0].startswith(test_app_prefix): + app_name = parts[0] + logger.info(f"Undeploying test application from domain: {app_name}") + asadmin.run_no_raise("undeploy", "--target=domain", app_name) + + logger.info(f"Stopping deployment group: {dg_name}") + asadmin.run_no_raise("stop-deployment-group", dg_name) + + logger.info(f"Removing instance {instance_name} from deployment group {dg_name}") + asadmin.run_no_raise("remove-instance-from-deployment-group", + f"--instance={instance_name}", + f"--deploymentgroup={dg_name}") + logger.info(f"Deleting instance: {instance_name}") + asadmin.run_no_raise("delete-instance", instance_name) + + logger.info(f"Deleting deployment group: {dg_name}") + asadmin.run_no_raise("delete-deployment-group", dg_name) + logger.info(f"Single instance deployment group environment teardown complete: {dg_name}") + + @pytest.fixture() def deployment_group_env(asadmin): """ @@ -219,8 +350,6 @@ def deployment_group_env(asadmin): asadmin.run_no_raise("stop-deployment-group", dg_name) asadmin.run_no_raise("delete-deployment-group", dg_name) - # --- Setup ----------------------------------------------------------- - # 1. Create standalone instances with explicit HTTP ports for inst in instance_names: logger.info(f"Creating instance: {inst} with HTTP port {instance_ports[inst]}") asadmin.run( @@ -230,11 +359,9 @@ def deployment_group_env(asadmin): inst, ) - # 2. Create the deployment group logger.info(f"Creating deployment group: {dg_name}") asadmin.run("create-deployment-group", dg_name) - # 3. Add both instances to the deployment group for inst in instance_names: logger.info(f"Adding instance {inst} to deployment group {dg_name}") asadmin.run( @@ -243,13 +370,11 @@ def deployment_group_env(asadmin): f"--deploymentgroup={dg_name}", ) - # 4. Start the deployment group (starts all member instances) logger.info(f"Starting deployment group: {dg_name}") asadmin.run("start-deployment-group", dg_name) - # 5. Wait for instances to actually start logger.info("Waiting for instances to start...") - + logger.info(f"Deployment group environment setup complete: {dg_name}") yield { @@ -259,10 +384,8 @@ def deployment_group_env(asadmin): "node_name": node_name, } - # --- Teardown (always runs) ------------------------------------------ logger.info(f"Tearing down deployment group environment: {dg_name}") - # Undeploy any remaining apps from deployment group (best-effort) apps = asadmin.list_applications_on_instance(dg_name) if apps: logger.info(f"Undeploying remaining apps from {dg_name}: {apps}") @@ -306,7 +429,7 @@ class TestDeploymentGroupDeployment: """Tests for deployment group functionality.""" def test_deploy_to_group_appears_on_all_instances( - self, asadmin, deployment_group_env, test_war + self, asadmin, deployment_group_env, test_war ): """Deploying to a deployment group should make the app visible on all instances.""" dg = deployment_group_env["dg_name"] @@ -326,7 +449,7 @@ def test_deploy_to_group_appears_on_all_instances( assert app_name in apps, ( f"Application '{app_name}' not found on instance '{inst}'. Apps: {apps}" ) - + http_port = asadmin.get_instance_http_port(inst, instance_ports) assert http_port is not None, f"Could not get HTTP port for '{inst}'" assert check_http_app_available("localhost", http_port, app_name), ( @@ -336,7 +459,7 @@ def test_deploy_to_group_appears_on_all_instances( asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) def test_deploy_to_group_listed_on_group_target( - self, asadmin, deployment_group_env, test_war + self, asadmin, deployment_group_env, test_war ): """list-applications on the deployment group should return the deployed app.""" dg = deployment_group_env["dg_name"] @@ -354,7 +477,7 @@ def test_deploy_to_group_listed_on_group_target( assert app_name in apps, ( f"App '{app_name}' not listed on deployment group '{dg}'. Apps: {apps}" ) - + inst = deployment_group_env["instances"][0] http_port = asadmin.get_instance_http_port(inst, instance_ports) assert http_port is not None, f"Could not get HTTP port for '{inst}'" @@ -365,7 +488,7 @@ def test_deploy_to_group_listed_on_group_target( asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) def test_undeploy_from_group_removes_from_all_instances( - self, asadmin, deployment_group_env, test_war + self, asadmin, deployment_group_env, test_war ): """Undeploying from a deployment group should remove the app from all instances.""" dg = deployment_group_env["dg_name"] @@ -374,18 +497,18 @@ def test_undeploy_from_group_removes_from_all_instances( app_name = "clusterjsp-dg-undeploy-test" asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", f"--contextroot={app_name}", test_war) - + # Wait for application to start on instances logger.info("Waiting for application to start on instances...") time.sleep(10) - + inst = instances[0] http_port = asadmin.get_instance_http_port(inst, instance_ports) assert http_port is not None, f"Could not get HTTP port for '{inst}'" assert check_http_app_available("localhost", http_port, app_name), ( f"App '{app_name}' not accessible before undeploy" ) - + asadmin.run("undeploy", f"--target={dg}", app_name) for inst in instances: @@ -395,7 +518,7 @@ def test_undeploy_from_group_removes_from_all_instances( ) def test_redeploy_to_group_propagates_to_all_instances( - self, asadmin, deployment_group_env, test_war + self, asadmin, deployment_group_env, test_war ): """Redeploying an app to a deployment group should propagate to all instances.""" dg = deployment_group_env["dg_name"] @@ -412,7 +535,8 @@ def test_redeploy_to_group_propagates_to_all_instances( try: # Redeploy the same app with force flag - asadmin.run("deploy", "--force=true", f"--target={dg}", f"--name={app_name}", f"--contextroot={app_name}", test_war) + asadmin.run("deploy", "--force=true", f"--target={dg}", f"--name={app_name}", f"--contextroot={app_name}", + test_war) # Verify redeployment propagated to all instances for inst in instances: @@ -428,3 +552,354 @@ def test_redeploy_to_group_propagates_to_all_instances( ) finally: asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) + + def test_deploy_redeploy_to_offline_instance( + self, asadmin, deployment_group_env, test_war + ): + """Test that applications are deployed/redeployed to an instance that was offline when the deployment/redeployment took place.""" + dg = deployment_group_env["dg_name"] + instances = deployment_group_env["instances"] + instance_ports = deployment_group_env["instance_ports"] + app_name = "clusterjsp-dg-offline-test" + + # Use the second instance as the one to be taken offline + offline_inst = instances[1] + online_inst = instances[0] + + logger.info(f"Stopping instance {offline_inst} to test offline deployment") + asadmin.run("stop-instance", offline_inst) + time.sleep(5) + + try: + # Deploy to the deployment group while one instance is offline + logger.info(f"Deploying app {app_name} to deployment group {dg} while {offline_inst} is offline") + asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", f"--contextroot={app_name}", test_war) + + # Wait for application to start on the online instance + logger.info("Waiting for application to start on online instance...") + time.sleep(10) + + # Verify app is on the online instance + apps = asadmin.list_applications_on_instance(online_inst) + assert app_name in apps, ( + f"Application '{app_name}' not found on online instance '{online_inst}'. Apps: {apps}" + ) + + http_port = asadmin.get_instance_http_port(online_inst, instance_ports) + assert http_port is not None, f"Could not get HTTP port for '{online_inst}'" + assert check_http_app_available("localhost", http_port, app_name), ( + f"App '{app_name}' not accessible via HTTP on online instance '{online_inst}'" + ) + + # Start the offline instance + logger.info(f"Starting offline instance {offline_inst}") + asadmin.run("start-instance", offline_inst) + time.sleep(10) + + # Verify the app gets deployed to the previously offline instance + logger.info(f"Verifying app {app_name} is deployed to previously offline instance {offline_inst}") + apps = asadmin.list_applications_on_instance(offline_inst) + assert app_name in apps, ( + f"Application '{app_name}' not found on previously offline instance '{offline_inst}'. Apps: {apps}" + ) + + http_port = asadmin.get_instance_http_port(offline_inst, instance_ports) + assert http_port is not None, f"Could not get HTTP port for '{offline_inst}'" + assert check_http_app_available("localhost", http_port, app_name), ( + f"App '{app_name}' not accessible via HTTP on previously offline instance '{offline_inst}'" + ) + + # Now test redeployment scenario: stop the instance again + logger.info(f"Stopping instance {offline_inst} again to test offline redeployment") + asadmin.run("stop-instance", offline_inst) + time.sleep(5) + + # Redeploy the app while instance is offline + logger.info(f"Redeploying app {app_name} to deployment group {dg} while {offline_inst} is offline") + asadmin.run("deploy", "--force=true", f"--target={dg}", f"--name={app_name}", f"--contextroot={app_name}", + test_war) + + # Wait for redeployment on online instance + logger.info("Waiting for redeployment on online instance...") + time.sleep(10) + + # Verify app is still on the online instance after redeploy + apps = asadmin.list_applications_on_instance(online_inst) + assert app_name in apps, ( + f"Application '{app_name}' not found on online instance '{online_inst}' after redeploy. Apps: {apps}" + ) + + http_port = asadmin.get_instance_http_port(online_inst, instance_ports) + assert http_port is not None, f"Could not get HTTP port for '{online_inst}'" + assert check_http_app_available("localhost", http_port, app_name), ( + f"App '{app_name}' not accessible via HTTP on online instance '{online_inst}' after redeploy" + ) + + # Start the offline instance again + logger.info(f"Starting offline instance {offline_inst} after redeployment") + asadmin.run("start-instance", offline_inst) + time.sleep(10) + + # Verify the redeployed app gets deployed to the previously offline instance + logger.info(f"Verifying redeployed app {app_name} is deployed to previously offline instance {offline_inst}") + apps = asadmin.list_applications_on_instance(offline_inst) + assert app_name in apps, ( + f"Application '{app_name}' not found on previously offline instance '{offline_inst}' after redeploy. Apps: {apps}" + ) + + http_port = asadmin.get_instance_http_port(offline_inst, instance_ports) + assert http_port is not None, f"Could not get HTTP port for '{offline_inst}'" + assert check_http_app_available("localhost", http_port, app_name), ( + f"App '{app_name}' not accessible via HTTP on previously offline instance '{offline_inst}' after redeploy" + ) + + finally: + # Ensure the offline instance is started before cleanup + logger.info(f"Ensuring instance {offline_inst} is started before cleanup") + asadmin.run_no_raise("start-instance", offline_inst) + time.sleep(5) + asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) + + def test_deploy_then_add_instance_propagates_app( + self, asadmin, deployment_group_env, test_war + ): + """Test that applications deployed to a deployment group are propagated to a running instance when added to the group after deployment.""" + dg = deployment_group_env["dg_name"] + instances = deployment_group_env["instances"] + instance_ports = deployment_group_env["instance_ports"] + node_name = deployment_group_env["node_name"] + app_name = "clusterjsp-dg-add-instance-test" + + # Use only the first instance for initial deployment + initial_inst = instances[0] + + # Remove the second instance from the deployment group temporarily + logger.info(f"Removing instance {instances[1]} from deployment group {dg}") + asadmin.run( + "remove-instance-from-deployment-group", + f"--instance={instances[1]}", + f"--deploymentgroup={dg}", + ) + + try: + # Deploy application to deployment group (only has one instance now) + logger.info(f"Deploying app {app_name} to deployment group {dg}") + asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", f"--contextroot={app_name}", test_war) + + # Wait for application to start on the initial instance + logger.info("Waiting for application to start on initial instance...") + time.sleep(10) + + # Verify app is on the initial instance + apps = asadmin.list_applications_on_instance(initial_inst) + assert app_name in apps, ( + f"Application '{app_name}' not found on initial instance '{initial_inst}'. Apps: {apps}" + ) + + http_port = asadmin.get_instance_http_port(initial_inst, instance_ports) + assert http_port is not None, f"Could not get HTTP port for '{initial_inst}'" + assert check_http_app_available("localhost", http_port, app_name), ( + f"App '{app_name}' not accessible via HTTP on initial instance '{initial_inst}'" + ) + + # Create a new instance + new_inst = "test-inst-new" + new_port = 28082 + logger.info(f"Creating new instance: {new_inst} with HTTP port {new_port}") + asadmin.run( + "create-instance", + f"--node={node_name}", + f"--systemproperties=HTTP_LISTENER_PORT={new_port}", + new_inst, + ) + + try: + # Start the new instance + logger.info(f"Starting new instance: {new_inst}") + asadmin.run("start-instance", new_inst) + time.sleep(10) + + # Add the new instance to the deployment group + logger.info(f"Adding instance {new_inst} to deployment group {dg}") + asadmin.run( + "add-instance-to-deployment-group", + f"--instance={new_inst}", + f"--deploymentgroup={dg}", + ) + + # Wait for the application to propagate to the new instance + logger.info("Waiting for application to propagate to newly added instance...") + time.sleep(15) + + # Verify the app is deployed to the newly added instance + apps = asadmin.list_applications_on_instance(new_inst) + assert app_name in apps, ( + f"Application '{app_name}' not found on newly added instance '{new_inst}'. Apps: {apps}" + ) + + new_instance_ports = {new_inst: new_port} + http_port = asadmin.get_instance_http_port(new_inst, new_instance_ports) + assert http_port is not None, f"Could not get HTTP port for '{new_inst}'" + assert check_http_app_available("localhost", http_port, app_name), ( + f"App '{app_name}' not accessible via HTTP on newly added instance '{new_inst}'" + ) + + finally: + # Cleanup the new instance + logger.info(f"Removing instance {new_inst} from deployment group {dg}") + asadmin.run_no_raise( + "remove-instance-from-deployment-group", + f"--instance={new_inst}", + f"--deploymentgroup={dg}", + ) + logger.info(f"Stopping instance: {new_inst}") + asadmin.run_no_raise("stop-instance", new_inst) + time.sleep(5) + logger.info(f"Deleting instance: {new_inst}") + asadmin.run_no_raise("delete-instance", new_inst) + + finally: + # Re-add the second instance to the deployment group for cleanup + logger.info(f"Re-adding instance {instances[1]} to deployment group {dg}") + asadmin.run_no_raise( + "add-instance-to-deployment-group", + f"--instance={instances[1]}", + f"--deploymentgroup={dg}", + ) + asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) + + def test_versioned_deployment_undeploy_old_version_keeps_new_accessible( + self, asadmin, deployment_group_env, test_war + ): + """ + Test that undeploying an old version of a versioned deployment does not break + access to the newer version when both share the same context root. + + Reproduces bug: After deploying sample-app:1.0.0 and sample-app:1.0.1 with the + same context root, undeploying sample-app:1.0.0 causes the app to return HTTP 503, + even though sample-app:1.0.1 is still deployed and enabled. + """ + dg = deployment_group_env["dg_name"] + instances = deployment_group_env["instances"] + instance_ports = deployment_group_env["instance_ports"] + app_base_name = "sample-app" + context_root = "sample-app" + app_v1 = f"{app_base_name}:1.0.0" + app_v2 = f"{app_base_name}:1.0.1" + + try: + # Deploy version 1.0.0 + logger.info(f"Deploying {app_v1} with context root {context_root}") + asadmin.run("deploy", f"--target={dg}", f"--name={app_v1}", f"--contextroot={context_root}", test_war) + + # Wait for application to start + logger.info("Waiting for v1.0.0 to start...") + time.sleep(10) + + # Verify v1.0.0 is accessible + inst = instances[0] + http_port = asadmin.get_instance_http_port(inst, instance_ports) + assert http_port is not None, f"Could not get HTTP port for '{inst}'" + assert check_http_app_available("localhost", http_port, context_root), ( + f"App v1.0.0 not accessible via HTTP on '{inst}'" + ) + logger.info(f"✓ {app_v1} is accessible via HTTP") + + # Deploy version 1.0.1 (same context root) + logger.info(f"Deploying {app_v2} with context root {context_root}") + asadmin.run("deploy", f"--target={dg}", f"--name={app_v2}", f"--contextroot={context_root}", test_war) + + # Wait for application to start + logger.info("Waiting for v1.0.1 to start...") + time.sleep(10) + + # Verify v1.0.1 is accessible (should now be the active version) + assert check_http_app_available("localhost", http_port, context_root), ( + f"App v1.0.1 not accessible via HTTP on '{inst}' after deployment" + ) + logger.info(f"✓ {app_v2} is accessible via HTTP") + + # Undeploy the old version (1.0.0) + logger.info(f"Undeploying old version {app_v1}") + asadmin.run("undeploy", f"--target={dg}", app_v1) + + # Wait for undeployment to complete + time.sleep(5) + + # Verify v1.0.1 is still accessible after v1.0.0 is removed + # This is the bug - currently returns HTTP 503 + assert check_http_app_available("localhost", http_port, context_root), ( + f"App v1.0.1 not accessible via HTTP on '{inst}' after undeploying v1.0.0. " + f"This is the bug - the newer version should remain accessible." + ) + logger.info(f"✓ {app_v2} remains accessible after undeploying {app_v1}") + + # Verify v1.0.1 is still listed as deployed + apps = asadmin.list_applications_on_instance(dg) + assert app_v2 in apps, ( + f"App v1.0.1 not listed on deployment group '{dg}' after undeploying v1.0.0. Apps: {apps}" + ) + logger.info(f"✓ {app_v2} is still listed as deployed") + + finally: + # Cleanup both versions + logger.info(f"Cleaning up versioned deployments") + asadmin.run_no_raise("undeploy", f"--target={dg}", app_v1) + asadmin.run_no_raise("undeploy", f"--target={dg}", app_v2) + + def test_redeploy_breaks_virtual_server_default_module( + self, asadmin, single_instance_deployment_group_env, test_war + ): + """ + Test that redeploying an application to a deployment group breaks the virtual server + when the application is used as the Default Web Module. + + Reproduces bug: After setting a deployed app as the Default Web Module for an instance's + virtual server, redeploying the app with --force=true causes the virtual server endpoint + to fail with an exception in the server log. + """ + dg = single_instance_deployment_group_env["dg_name"] + inst = single_instance_deployment_group_env["instance"] + http_port = str(single_instance_deployment_group_env["instance_port"]) + app_name = "clusterjsp-dg-default-module-test" + context_root = "/" + + virtual_server = "server" + + try: + logger.info(f"Deploying {app_name} to deployment group {dg}") + asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", f"--contextroot={context_root}", test_war) + + logger.info("Waiting for application to start...") + time.sleep(10) + + root_url = f"http://localhost:{http_port}/" + try: + response = requests.get(root_url, timeout=5) + assert response.status_code == 200, ( + f"App '{app_name}' not accessible via HTTP on '{inst}' at root URL (status: {response.status_code})" + ) + logger.info(f"✓ {app_name} is accessible via root URL") + except requests.exceptions.RequestException as e: + pytest.fail(f"App '{app_name}' not accessible via HTTP on '{inst}' at root URL: {e}") + + logger.info(f"Redeploying {app_name} to deployment group {dg} with --force=true") + asadmin.run("deploy", "--force=true", f"--target={dg}", f"--name={app_name}", f"--contextroot={context_root}", + test_war) + + logger.info("Waiting for redeployment to complete...") + time.sleep(10) + + logger.info(f"Testing virtual server endpoint after redeploy: {root_url}") + try: + response = requests.get(root_url, timeout=5) + assert response.status_code == 200, ( + f"Virtual server endpoint returned status {response.status_code} after redeploy. " + f"This indicates the bug is not fixed." + ) + logger.info(f"✓ Virtual server endpoint is accessible after redeploy (status: {response.status_code})") + except requests.exceptions.RequestException as e: + pytest.fail(f"Virtual server endpoint failed after redeploy: {e}. This indicates the bug is not fixed.") + + finally: + asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) \ No newline at end of file From 90f64943e0f54353e3218815ec2287111bfc654c Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Wed, 29 Apr 2026 11:42:53 +0100 Subject: [PATCH 095/133] FISH-13126 Add missing registrations for payara-application-client.xml Signed-off-by: Andrew Pielage --- .../enterprise/deployment/archivist/AppClientArchivist.java | 4 +++- .../enterprise/deployment/node/appclient/AppClientNode.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/archivist/AppClientArchivist.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/archivist/AppClientArchivist.java index 3849ab696b6..59ba5853e67 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/archivist/AppClientArchivist.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/archivist/AppClientArchivist.java @@ -37,12 +37,13 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2020] Payara Foundation and/or affiliates +// Portions Copyright 2020-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.deployment.archivist; import com.sun.enterprise.deployment.Application; import com.sun.enterprise.deployment.ApplicationClientDescriptor; +import fish.payara.deployment.io.runtime.PayaraAppClientRuntimeDDFile; import org.glassfish.deployment.common.RootDeploymentDescriptor; import com.sun.enterprise.deployment.io.AppClientDeploymentDescriptorFile; import com.sun.enterprise.deployment.io.DeploymentDescriptorFile; @@ -152,6 +153,7 @@ public DeploymentDescriptorFile getStandardDDFile() public List getConfigurationDDFiles() { if (confDDFiles == null) { confDDFiles = new ArrayList<>(); + confDDFiles.add(new PayaraAppClientRuntimeDDFile()); confDDFiles.add(new GFAppClientRuntimeDDFile()); confDDFiles.add(new AppClientRuntimeDDFile()); } diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/appclient/AppClientNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/appclient/AppClientNode.java index c0c616c31b4..85ce7265cee 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/appclient/AppClientNode.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/appclient/AppClientNode.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018-2020] [Payara Foundation and/or its affiliates] +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates package com.sun.enterprise.deployment.node.appclient; @@ -47,6 +47,7 @@ import java.util.List; import java.util.Map; +import fish.payara.deployment.node.runtime.PayaraAppClientRuntimeNode; import org.glassfish.deployment.common.JavaEEResourceType; import org.jvnet.hk2.annotations.Service; import org.w3c.dom.Node; @@ -164,6 +165,7 @@ public Map> registerRuntimeBundle(Map publicIDT Map> result = new HashMap<>(); result.put(AppClientRuntimeNode.registerBundle(publicIDToDTD), AppClientRuntimeNode.class); result.put(GFAppClientRuntimeNode.registerBundle(publicIDToDTD), GFAppClientRuntimeNode.class); + result.put(PayaraAppClientRuntimeNode.registerBundle(publicIDToDTD), PayaraAppClientRuntimeNode.class); return result; } From 282ec9268ca18350f87f4a993382ca87c7a709f4 Mon Sep 17 00:00:00 2001 From: luiseufrasio Date: Wed, 29 Apr 2026 09:57:44 -0300 Subject: [PATCH 096/133] FISH-11884 : samples tests for Transactional --- appserver/data/data-core/pom.xml | 10 + .../core/util/DataCommonOperationUtility.java | 50 +- .../data/repo/TransactionalEmployees.java | 70 +++ .../samples/data/service/EmployeeService.java | 150 ++++++ .../data/EjbTransactionRepositoryTests.java | 321 ++++++++++++ .../data/TransactionEnlistmentTests.java | 485 ++++++++++++++++++ .../data/TransactionalRepositoryTests.java | 263 ++++++++++ 7 files changed, 1343 insertions(+), 6 deletions(-) create mode 100644 appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/repo/TransactionalEmployees.java create mode 100644 appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/service/EmployeeService.java create mode 100644 appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/EjbTransactionRepositoryTests.java create mode 100644 appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionEnlistmentTests.java create mode 100644 appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionalRepositoryTests.java diff --git a/appserver/data/data-core/pom.xml b/appserver/data/data-core/pom.xml index bb2045badf4..7d7d121f2fa 100644 --- a/appserver/data/data-core/pom.xml +++ b/appserver/data/data-core/pom.xml @@ -70,6 +70,16 @@ weld-integration ${project.version} + + fish.payara.server.internal.transaction + transaction-internal-api + ${project.version} + + + fish.payara.server.internal.common + container-common + ${project.version} + diff --git a/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DataCommonOperationUtility.java b/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DataCommonOperationUtility.java index b2cfebd09e1..9aa7bda3664 100644 --- a/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DataCommonOperationUtility.java +++ b/appserver/data/data-core/src/main/java/fish/payara/data/core/util/DataCommonOperationUtility.java @@ -82,8 +82,14 @@ import java.util.function.Supplier; import java.util.stream.Stream; +import com.sun.enterprise.container.common.impl.PhysicalEntityManagerWrapper; +import com.sun.enterprise.transaction.api.JavaEETransaction; +import com.sun.enterprise.transaction.api.JavaEETransactionManager; +import com.sun.enterprise.transaction.api.SimpleResource; import jakarta.persistence.Entity; +import jakarta.persistence.SynchronizationType; import jakarta.persistence.Table; +import org.glassfish.hk2.api.ServiceLocator; import org.glassfish.internal.api.Globals; import org.glassfish.internal.data.ApplicationInfo; import org.glassfish.internal.data.ApplicationRegistry; @@ -161,7 +167,7 @@ public static Supplier getEntityManagerSupplier(String applicatio if (factoryList.size() == 1) { EntityManagerFactory entityManagerFactory = factoryList.getFirst(); - return () -> entityManagerFactory.createEntityManager(); + return () -> resolveEntityManager(entityManagerFactory); } if (dataStore != null && !dataStore.isEmpty()) { @@ -169,7 +175,7 @@ public static Supplier getEntityManagerSupplier(String applicatio Map emfNameMap = applicationInfo.getTransientAppMetaData(EMF_NAME_KEY, Map.class); if (emfNameMap != null && emfNameMap.containsKey(dataStore)) { EntityManagerFactory entityManagerFactory = emfNameMap.get(dataStore); - return () -> entityManagerFactory.createEntityManager(); + return () -> resolveEntityManager(entityManagerFactory); } throw new AmbiguousPersistenceUnitException(String.format( @@ -189,6 +195,37 @@ public static ApplicationRegistry getRegistry() { return registry; } + /** + * Returns the EntityManager that participates in the current JTA transaction's + * shared persistence context (the same PC as any {@code @PersistenceContext} EM + * using the same persistence unit). When no JTA transaction is active, a fresh + * app-managed EM is returned for data-core to begin its own transaction. + * + * The lookup/registration mirrors what GlassFish's EntityManagerWrapper does: + * the first caller within a tx creates and registers the EM; every subsequent + * caller (data-core or a container @PersistenceContext) reuses it, so all + * share one persistence context / L1 cache for the lifetime of the tx. + */ + private static EntityManager resolveEntityManager(EntityManagerFactory emf) { + ServiceLocator locator = Globals.get(ServiceLocator.class); + if (locator != null) { + JavaEETransactionManager txMgr = locator.getService(JavaEETransactionManager.class); + if (txMgr != null) { + JavaEETransaction tx = txMgr.getCurrentTransaction(); + if (tx != null) { + SimpleResource resource = tx.getTxEntityManagerResource(emf); + if (resource instanceof PhysicalEntityManagerWrapper wrapper) { + return wrapper.getEM(); + } + EntityManager em = emf.createEntityManager(SynchronizationType.SYNCHRONIZED, null); + tx.addTxEntityManagerMapping(emf, new PhysicalEntityManagerWrapper(em, SynchronizationType.SYNCHRONIZED)); + return em; + } + } + } + return emf.createEntityManager(); + } + public static EntityMetadata preprocesEntityMetadata(Map, EntityMetadata> mapOfMetaData, EntityManager entityManager, Class declaredEntityClass, Method method) { if (mapOfMetaData != null && mapOfMetaData.containsKey(declaredEntityClass)) { @@ -444,20 +481,21 @@ public static void startTransactionAndJoin(TransactionManager transactionManager EntityManager em, QueryData dataForQuery) throws SystemException, NotSupportedException { if (dataForQuery.isUserTransaction()) { + em.joinTransaction(); return; } - + if (transactionManager.getStatus() == jakarta.transaction.Status.STATUS_NO_TRANSACTION) { transactionManager.begin(); dataForQuery.setNewTransaction(true); - } - + } + em.joinTransaction(); } public static void endTransaction(TransactionManager transactionManager, EntityManager em, QueryData dataForQuery) throws HeuristicRollbackException, SystemException, HeuristicMixedException, RollbackException { - if(!dataForQuery.isUserTransaction()) { + if (!dataForQuery.isUserTransaction()) { em.flush(); if (dataForQuery.isNewTransaction()) { transactionManager.commit(); diff --git a/appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/repo/TransactionalEmployees.java b/appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/repo/TransactionalEmployees.java new file mode 100644 index 00000000000..d499110f118 --- /dev/null +++ b/appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/repo/TransactionalEmployees.java @@ -0,0 +1,70 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2026 Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + */ +package fish.payara.samples.data.repo; + +import fish.payara.samples.data.entity.Employee; +import jakarta.data.repository.BasicRepository; +import jakarta.data.repository.Repository; +import jakarta.transaction.Transactional; + +import java.util.List; +import java.util.UUID; + +/** + * Jakarta Data repository for Employee with {@code @Transactional} declared at the + * interface level (REQUIRED) and per-method overrides for + * REQUIRES_NEW, MANDATORY and NEVER. + * + *

    According to the Jakarta Data specification (Jakarta EE integration): + * "In the Jakarta EE environment, the @Transactional annotation is automatically + * inherited by the repository implementation from the user-written repository + * interface, and the semantics of the @Transactional annotation are applied + * automatically by the implementation of Jakarta Interceptors supplied by the + * Jakarta EE container." + * + *

    Note: query methods are declared here (instead of overriding inherited + * {@code BasicRepository} methods) so that the provider generates concrete + * proxy methods that the {@code @Transactional} interceptor can intercept + * unambiguously. + */ +@Repository +@Transactional(Transactional.TxType.REQUIRED) +public interface TransactionalEmployees extends BasicRepository { + + List findByLastName(String lastName); + + long countByActive(boolean active); + + /** + * REQUIRES_NEW override. Must suspend any caller transaction and execute + * within a new, independent transaction. + */ + @Transactional(Transactional.TxType.REQUIRES_NEW) + List findByActive(boolean active); + + /** + * MANDATORY override. Must throw TransactionalException when invoked + * outside any active transaction. + */ + @Transactional(Transactional.TxType.MANDATORY) + long countByLastName(String lastName); + + /** + * NEVER override. Must throw TransactionalException when invoked while + * a transaction is already active on the calling thread. + */ + @Transactional(Transactional.TxType.NEVER) + boolean existsByEmail(String email); +} diff --git a/appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/service/EmployeeService.java b/appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/service/EmployeeService.java new file mode 100644 index 00000000000..42f6e80b483 --- /dev/null +++ b/appserver/tests/payara-samples/samples/data/src/main/java/fish/payara/samples/data/service/EmployeeService.java @@ -0,0 +1,150 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2026 Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + */ +package fish.payara.samples.data.service; + +import fish.payara.samples.data.entity.Address; +import fish.payara.samples.data.entity.Employee; +import fish.payara.samples.data.repo.Addresses; +import fish.payara.samples.data.repo.Employees; +import jakarta.annotation.Resource; +import jakarta.ejb.EJBException; +import jakarta.ejb.Stateless; +import jakarta.ejb.TransactionAttribute; +import jakarta.ejb.TransactionAttributeType; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import jakarta.transaction.Status; +import jakarta.transaction.SystemException; +import jakarta.transaction.TransactionSynchronizationRegistry; + +import java.util.UUID; + +/** + * Stateless session bean used to drive Jakarta Data repositories from various + * EJB transaction attribute boundaries (REQUIRED, REQUIRES_NEW, MANDATORY, + * NEVER, NOT_SUPPORTED). Lets tests verify the spec rule that repository + * operations enlist in the caller's global transaction rather than + * creating their own. + */ +@Stateless +public class EmployeeService { + + @Inject + private Employees employees; + + @Inject + private Addresses addresses; + + @PersistenceContext(unitName = "samples-dataPU") + private EntityManager em; + + @Resource + private TransactionSynchronizationRegistry tsr; + + @TransactionAttribute(TransactionAttributeType.REQUIRED) + public Employee saveInRequired(Employee e) { + return employees.save(e); + } + + /** + * REQUIRES_NEW: suspends the caller transaction and runs the save in a + * fresh transaction. Any failure in the caller after this returns must + * not undo the persisted Employee. + */ + @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) + public Employee saveInRequiresNew(Employee e) { + return employees.save(e); + } + + /** + * MANDATORY: requires a caller-managed transaction. Throws + * EJBTransactionRequiredException when called without one. + */ + @TransactionAttribute(TransactionAttributeType.MANDATORY) + public Employee saveInMandatory(Employee e) { + return employees.save(e); + } + + /** + * NEVER: forbids a caller transaction. Throws EJBException when invoked + * with an active transaction. Used to verify the test infrastructure. + */ + @TransactionAttribute(TransactionAttributeType.NEVER) + public long countWithoutTransaction() { + return employees.findAll().count(); + } + + /** + * Performs two repository writes (Address + Employee) in a single + * REQUIRED transaction, then forces a rollback by throwing. Verifies + * that the spec's "enlistment, not creation" rule means both writes + * are discarded together. + */ + @TransactionAttribute(TransactionAttributeType.REQUIRED) + public void saveAddressThenEmployeeThenFail(Address address, Employee employee) { + addresses.save(address); + employees.save(employee); + throw new IllegalStateException("forced rollback to test enlistment"); + } + + /** + * Persists an Employee, then asks the container to mark the transaction + * for rollback. Verifies that the spec rule "the repository operation + * must not commit or roll back a transaction which was already + * associated with the thread" is preserved when the application itself + * marks the transaction for rollback. + */ + @TransactionAttribute(TransactionAttributeType.REQUIRED) + public void saveAndMarkRollback(Employee e) { + employees.save(e); + tsr.setRollbackOnly(); + } + + /** + * Returns the current JTA transaction status as observed inside the + * EJB context — used to verify enlistment from the caller's transaction. + */ + @TransactionAttribute(TransactionAttributeType.MANDATORY) + public int currentTransactionStatus() { + return tsr.getTransactionStatus(); + } + + /** + * Persists an Employee, then reads it back through a separate repository + * (Addresses) within the same JTA transaction, exercising the spec's + * recommendation that providers propagate a single persistence context + * across repositories within a transaction. + */ + @TransactionAttribute(TransactionAttributeType.REQUIRED) + public boolean saveAndImmediatelyFind(Employee e) { + employees.save(e); + // forces a flush & query through a sibling repository in the same tx + return employees.findById(e.id).isPresent(); + } + + /** + * Helper used by tests to assert persistence context isolation between + * transactions: writes a new UUID into the EM, then validates a separate + * fetch picks it up only after commit. + */ + @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) + public boolean existsOutsideTransaction(UUID id) throws SystemException { + if (tsr.getTransactionStatus() != Status.STATUS_NO_TRANSACTION) { + throw new EJBException("expected NO_TRANSACTION, got status=" + tsr.getTransactionStatus()); + } + return employees.findById(id).isPresent(); + } +} diff --git a/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/EjbTransactionRepositoryTests.java b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/EjbTransactionRepositoryTests.java new file mode 100644 index 00000000000..4bf4ff25e31 --- /dev/null +++ b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/EjbTransactionRepositoryTests.java @@ -0,0 +1,321 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2026 Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + */ +package fish.payara.samples.data; + +import fish.payara.samples.data.entity.Address; +import fish.payara.samples.data.entity.Employee; +import fish.payara.samples.data.repo.Addresses; +import fish.payara.samples.data.repo.Employees; +import fish.payara.samples.data.service.EmployeeService; +import jakarta.annotation.Resource; +import jakarta.ejb.EJBException; +import jakarta.ejb.EJBTransactionRequiredException; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import jakarta.transaction.Status; +import jakarta.transaction.UserTransaction; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.EmptyAsset; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.After; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.UUID; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Verifies that Jakarta Data repositories enlist correctly when invoked from + * EJB transactional boundaries — the most common Jakarta EE topology. + * + *

    Spec emphasis: repositories must enlist in caller-managed + * transactions; they must not commit nor roll back transactions they did not + * create. EJB transaction attributes drive the boundaries here. + */ +@RunWith(Arquillian.class) +public class EjbTransactionRepositoryTests { + + @Deployment + public static WebArchive createDeployment() { + return ShrinkWrap.create(WebArchive.class, "ejb-transaction-repository-tests.war") + .addPackages(true, "fish.payara.samples.data.entity") + .addPackages(true, "fish.payara.samples.data.repo") + .addPackages(true, "fish.payara.samples.data.service") + .addAsResource("META-INF/persistence.xml") + .addAsWebInfResource("WEB-INF/web.xml", "web.xml") + .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml"); + } + + @PersistenceContext(unitName = "samples-dataPU") + private EntityManager em; + + @Resource + private UserTransaction utx; + + @Inject + private EmployeeService service; + + @Inject + private Employees employees; + + @Inject + private Addresses addresses; + + @After + public void rollbackLeftovers() throws Exception { + if (utx.getStatus() == Status.STATUS_ACTIVE + || utx.getStatus() == Status.STATUS_MARKED_ROLLBACK) { + utx.rollback(); + } + } + + /** + * Repository called from an EJB REQUIRED method: the method establishes + * the transaction (because none is active on call), and the repository + * write commits with it. + */ + @Test + public void ejbRequiredEstablishesTransactionForRepositoryWrite() throws Exception { + UUID id = UUID.randomUUID(); + service.saveInRequired(newEmployee(id, "Ejb", "Required")); + + utx.begin(); + try { + assertTrue(employees.findById(id).isPresent()); + } finally { + utx.commit(); + } + } + + /** + * Repository write inside an EJB REQUIRED method that throws after the + * write must roll back. This is the canonical "all-or-nothing" check the + * spec implies: repository is enlisted, EJB drives commit/rollback. + */ + @Test + public void ejbRequiredRollsBackBothRepositoryWritesAtomically() throws Exception { + UUID addrId = UUID.randomUUID(); + UUID empId = UUID.randomUUID(); + Address a = Address.of(addrId, "1 Atomic Way", "Town", "ST", "12345", "ZZ"); + Employee e = newEmployee(empId, "Atomic", "Rollback"); + + try { + service.saveAddressThenEmployeeThenFail(a, e); + fail("EJB method was supposed to throw"); + } catch (EJBException expected) { + // pass + } + + utx.begin(); + try { + assertFalse("Address must be rolled back with the EJB transaction", + addresses.findById(addrId).isPresent()); + assertFalse("Employee must be rolled back with the EJB transaction", + employees.findById(empId).isPresent()); + } finally { + utx.commit(); + } + } + + /** + * REQUIRES_NEW: outer caller's transaction is suspended; the inner save + * commits independently. After the call, the caller's transaction can + * still be rolled back without affecting the inner write. + */ + @Test + public void ejbRequiresNewCommitsIndependentlyOfCallerRollback() throws Exception { + UUID innerId = UUID.randomUUID(); + UUID outerId = UUID.randomUUID(); + + utx.begin(); + try { + // Outer write — will be rolled back at the end of this block. + employees.save(newEmployee(outerId, "Outer", "Doomed")); + + // Inner save in a brand-new tx that commits before returning. + service.saveInRequiresNew(newEmployee(innerId, "Inner", "Survivor")); + + assertEquals("Caller tx must be reinstated as ACTIVE after REQUIRES_NEW returns", + Status.STATUS_ACTIVE, utx.getStatus()); + } finally { + utx.rollback(); + } + + utx.begin(); + try { + assertTrue("REQUIRES_NEW write must survive caller rollback", + employees.findById(innerId).isPresent()); + assertFalse("Outer write must NOT survive caller rollback", + employees.findById(outerId).isPresent()); + } finally { + utx.commit(); + } + } + + /** + * MANDATORY without an active caller transaction must fail with + * EJBTransactionRequiredException. + */ + @Test + public void ejbMandatoryWithoutCallerTransactionFails() throws Exception { + assertEquals(Status.STATUS_NO_TRANSACTION, utx.getStatus()); + try { + service.saveInMandatory(newEmployee(UUID.randomUUID(), "Mandatory", "Fail")); + fail("Expected EJBTransactionRequiredException"); + } catch (EJBTransactionRequiredException expected) { + assertNotNull(expected); + } + } + + /** + * MANDATORY with an active caller tx joins it and the repository write + * commits on caller commit. + */ + @Test + public void ejbMandatoryJoinsCallerTransaction() throws Exception { + UUID id = UUID.randomUUID(); + utx.begin(); + try { + service.saveInMandatory(newEmployee(id, "Mandatory", "Joined")); + // Caller decides to commit: + utx.commit(); + } catch (RuntimeException re) { + if (utx.getStatus() == Status.STATUS_ACTIVE + || utx.getStatus() == Status.STATUS_MARKED_ROLLBACK) { + utx.rollback(); + } + throw re; + } + + utx.begin(); + try { + assertTrue(employees.findById(id).isPresent()); + } finally { + utx.commit(); + } + } + + /** + * Application-driven setRollbackOnly inside the EJB tx must cause the + * repository write to be discarded. Payara's container performs the + * rollback silently when the EJB method returns normally; the spec only + * mandates the rollback effect, not that an EJBTransactionRolledbackException + * be surfaced when the application code itself completed without throwing. + */ + @Test + public void setRollbackOnlyInsideEjbDiscardsRepositoryWrite() throws Exception { + UUID id = UUID.randomUUID(); + try { + service.saveAndMarkRollback(newEmployee(id, "MarkedFor", "Rollback")); + } catch (EJBException acceptable) { + // Some containers do throw EJBTransactionRolledbackException — also valid. + } + + utx.begin(); + try { + assertFalse( + "setRollbackOnly inside the EJB tx must discard the repository write", + employees.findById(id).isPresent()); + } finally { + utx.commit(); + } + } + + /** + * NEVER with an active caller tx must fail. Verifies that test-side + * transaction propagation actually reaches the EJB layer. + */ + @Test + public void ejbNeverInsideCallerTransactionFails() throws Exception { + utx.begin(); + try { + try { + long c = service.countWithoutTransaction(); + fail("Expected EJBException for NEVER inside an active caller tx, got count=" + c); + } catch (EJBException expected) { + // pass + } + } finally { + utx.rollback(); + } + } + + /** + * NOT_SUPPORTED: the caller's transaction is suspended. The repository read + * inside the EJB must observe a Status.STATUS_NO_TRANSACTION context and + * still return the previously committed entity. + */ + @Test + public void notSupportedSuspendsCallerForRepositoryRead() throws Exception { + UUID id = UUID.randomUUID(); + utx.begin(); + employees.save(newEmployee(id, "Suspended", "Read")); + utx.commit(); + + utx.begin(); + try { + // Add a new not-yet-committed write + UUID volatileId = UUID.randomUUID(); + employees.save(newEmployee(volatileId, "Volatile", "InCaller")); + + boolean foundCommitted = service.existsOutsideTransaction(id); + boolean foundVolatile = service.existsOutsideTransaction(volatileId); + + assertTrue("Committed entity must be visible through suspended-tx read", + foundCommitted); + assertFalse( + "Uncommitted caller-tx writes must NOT be visible to a NOT_SUPPORTED read", + foundVolatile); + } finally { + utx.rollback(); + } + } + + /** + * Inside an EJB MANDATORY method, the transaction status observed by the + * EJB code must be ACTIVE, proving the caller's UserTransaction propagated + * into the EJB call. This pins down the "enlistment, not creation" rule: + * there is exactly one transaction across the whole call chain. + */ + @Test + public void callerTransactionPropagatesIntoMandatoryEjb() throws Exception { + utx.begin(); + try { + int innerStatus = service.currentTransactionStatus(); + assertEquals("EJB must observe the caller's ACTIVE transaction", + Status.STATUS_ACTIVE, innerStatus); + assertEquals("Caller tx must remain ACTIVE on return", + Status.STATUS_ACTIVE, utx.getStatus()); + } finally { + utx.rollback(); + } + } + + private static Employee newEmployee(UUID id, String first, String last) { + return Employee.of(id, first, last, + first.toLowerCase() + "." + last.toLowerCase() + "@x", + null, null, "Engineer", new BigDecimal("90000.00"), true, LocalDate.now()); + } +} diff --git a/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionEnlistmentTests.java b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionEnlistmentTests.java new file mode 100644 index 00000000000..ad0506758e2 --- /dev/null +++ b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionEnlistmentTests.java @@ -0,0 +1,485 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2026 Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + */ +package fish.payara.samples.data; + +import fish.payara.samples.data.entity.Address; +import fish.payara.samples.data.entity.Company; +import fish.payara.samples.data.entity.Employee; +import fish.payara.samples.data.repo.Addresses; +import fish.payara.samples.data.repo.Companies; +import fish.payara.samples.data.repo.Employees; +import jakarta.annotation.Resource; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import jakarta.transaction.Status; +import jakarta.transaction.Synchronization; +import jakarta.transaction.TransactionSynchronizationRegistry; +import jakarta.transaction.UserTransaction; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.EmptyAsset; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.After; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; +import java.util.UUID; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Verifies the JTA enlistment guarantees that the Jakarta Data specification + * places on repository operations (Jakarta EE integration section). + * + *

    The spec only mandates enlistment — i.e. when a global + * transaction is already active on the calling thread, the data source backing + * the repository must enlist in it. The spec does not mandate the + * implicit creation of a new transaction by repository operations. + * + *

    Each test isolates one of the following invariants: + *

      + *
    1. Repository writes commit when the caller-driven transaction commits.
    2. + *
    3. Repository writes are discarded when the caller-driven transaction rolls back.
    4. + *
    5. The repository operation does not commit the caller's transaction.
    6. + *
    7. The repository operation does not roll back the caller's transaction.
    8. + *
    9. Multiple repositories rollback atomically with a caller-driven rollback.
    10. + *
    11. Multiple repositories commit atomically with a caller-driven commit.
    12. + *
    13. A repository write is visible via the shared transaction-scoped persistence context.
    14. + *
    + */ +@RunWith(Arquillian.class) +public class TransactionEnlistmentTests { + + @Deployment + public static WebArchive createDeployment() { + return ShrinkWrap.create(WebArchive.class, "transaction-enlistment-tests.war") + .addPackages(true, "fish.payara.samples.data.entity") + .addPackages(true, "fish.payara.samples.data.repo") + .addAsResource("META-INF/persistence.xml") + .addAsWebInfResource("WEB-INF/web.xml", "web.xml") + .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml"); + } + + @PersistenceContext(unitName = "samples-dataPU") + private EntityManager em; + + @Resource + private UserTransaction utx; + + @Resource + private TransactionSynchronizationRegistry tsr; + + @Inject + private Employees employees; + + @Inject + private Addresses addresses; + + @Inject + private Companies companies; + + @After + public void rollbackLeftovers() throws Exception { + if (utx.getStatus() == Status.STATUS_ACTIVE + || utx.getStatus() == Status.STATUS_MARKED_ROLLBACK) { + utx.rollback(); + } + } + + @Test + public void repositoryWritesEnlistAndCommitWithCallerTransaction() throws Exception { + UUID id = UUID.randomUUID(); + + utx.begin(); + employees.save(newEmployee(id, "Enlist", "Commit")); + utx.commit(); + + utx.begin(); + try { + assertTrue("Employee must be visible after caller commit", + employees.findById(id).isPresent()); + } finally { + utx.commit(); + } + } + + @Test + public void repositoryWritesAreDiscardedWhenCallerRollsBack() throws Exception { + UUID id = UUID.randomUUID(); + + utx.begin(); + employees.save(newEmployee(id, "Enlist", "Rollback")); + utx.rollback(); + + utx.begin(); + try { + assertFalse( + "Repository write must roll back together with the caller transaction. " + + "If this fails, the data source is not enlisted (auto-commit).", + employees.findById(id).isPresent()); + } finally { + utx.commit(); + } + } + + @Test + public void repositoryDoesNotCommitTheCallerTransaction() throws Exception { + UUID id = UUID.randomUUID(); + + utx.begin(); + try { + employees.save(newEmployee(id, "Caller", "Owns")); + + assertEquals( + "Spec: 'The repository operation must not commit ... a transaction which " + + "was already associated with the thread'. Status must remain ACTIVE.", + Status.STATUS_ACTIVE, utx.getStatus()); + } finally { + utx.rollback(); + } + + // The save above was inside an active tx that we rolled back ourselves. + utx.begin(); + try { + assertFalse( + "If the repository had silently committed, the entity would still exist.", + employees.findById(id).isPresent()); + } finally { + utx.commit(); + } + } + + @Test + public void repositoryDoesNotRollBackTheCallerTransaction() throws Exception { + UUID id = UUID.randomUUID(); + + utx.begin(); + employees.save(newEmployee(id, "Caller", "Decides")); + + assertEquals( + "Spec: repository must not roll back caller's tx — status must still be ACTIVE.", + Status.STATUS_ACTIVE, utx.getStatus()); + + // Caller decides to commit — the repository must not have rolled back. + utx.commit(); + + utx.begin(); + try { + assertTrue(employees.findById(id).isPresent()); + } finally { + utx.commit(); + } + } + + /** + * All writes to multiple repositories in one JTA transaction must be + * discarded together when the caller rolls back. + */ + @Test + public void multipleRepositoriesRollbackAtomically() throws Exception { + UUID addrId = UUID.randomUUID(); + UUID compId = UUID.randomUUID(); + UUID empId = UUID.randomUUID(); + + utx.begin(); + addresses.save(Address.of(addrId, "1 Spec St", "Rollbackville", "ZZ", "00000", "ZZ")); + companies.save(newCompany(compId, "Spec Inc.")); + employees.save(newEmployee(empId, "Cross", "Repo")); + utx.rollback(); + + utx.begin(); + try { + assertFalse("Address write must be enlisted with the rolled-back tx", + addresses.findById(addrId).isPresent()); + assertFalse("Company write must be enlisted with the rolled-back tx", + companies.findById(compId).isPresent()); + assertFalse("Employee write must be enlisted with the rolled-back tx", + employees.findById(empId).isPresent()); + } finally { + utx.rollback(); // read-only verify — rollback avoids cascading RollbackException + } + } + + /** + * All writes to multiple repositories in one JTA transaction must be + * committed together when the caller commits. + */ + @Test + public void multipleRepositoriesCommitAtomically() throws Exception { + UUID addrId = UUID.randomUUID(); + UUID compId = UUID.randomUUID(); + UUID empId = UUID.randomUUID(); + + utx.begin(); + addresses.save(Address.of(addrId, "2 Spec St", "Commitville", "ZZ", "00000", "ZZ")); + companies.save(newCompany(compId, "Spec LLC")); + employees.save(newEmployee(empId, "Multi", "Commit")); + utx.commit(); + + utx.begin(); + try { + assertTrue("Address write must be visible after commit", + addresses.findById(addrId).isPresent()); + assertTrue("Company write must be visible after commit", + companies.findById(compId).isPresent()); + assertTrue("Employee write must be visible after commit", + employees.findById(empId).isPresent()); + } finally { + utx.rollback(); // read-only verify + } + } + + @Test + public void repositoryWriteIsVisibleViaSharedPersistenceContext() throws Exception { + UUID id = UUID.randomUUID(); + + utx.begin(); + try { + employees.save(newEmployee(id, "Read", "Own")); + // JPA §7.6.3: all container-managed transaction-scoped EntityManagers + // for the same persistence unit within the same JTA transaction share + // one underlying persistence context (first-level / identity-map cache). + // em.find() must return the entity the repository just enlisted — + // no DB flush is required for an identity-map lookup. + Employee found = em.find(Employee.class, id); + assertNotNull( + "Repository save() must enlist in the caller's JTA transaction. " + + "em.find() within the same tx must return the entity from " + + "the shared transaction-scoped persistence context.", + found); + assertEquals("Read", found.firstName); + } finally { + utx.rollback(); + } + } + + /** + * Spec: "A persistence context is never shared across transactions." + * Once the writing tx commits, a fresh tx must observe the entity through + * a brand-new persistence context, not a stale one. + */ + @Test + public void readsInANewTransactionUseAFreshPersistenceContext() throws Exception { + UUID id = UUID.randomUUID(); + + utx.begin(); + employees.save(newEmployee(id, "Fresh", "Context")); + utx.commit(); + + // Fresh transaction => fresh PC + utx.begin(); + try { + Employee e = employees.findById(id).orElseThrow(() -> new AssertionError("not found")); + assertNotNull(e.id); + assertEquals("Fresh", e.firstName); + } finally { + utx.commit(); + } + } + + /** + * Jakarta Data's {@code BasicRepository.save()} is defined as an + * upsert, so saving a second entity with an existing id quietly + * updates the row instead of failing. Verify that semantic — and verify + * that the upsert still rolls back together with a caller-driven rollback, + * leaving the previously-committed row intact. + */ + @Test + public void upsertWithExistingIdRollsBackWithCallerTransaction() throws Exception { + UUID id = UUID.randomUUID(); + + utx.begin(); + employees.save(newEmployee(id, "First", "Insert")); + utx.commit(); + + utx.begin(); + // save() is an upsert — this updates the row in-memory; rollback must discard it. + employees.save(newEmployee(id, "Second", "Upsert")); + utx.rollback(); + + utx.begin(); + try { + Employee e = employees.findById(id).orElseThrow( + () -> new AssertionError("First insert was unexpectedly removed")); + assertEquals( + "Upsert in a rolled-back tx must leave the previously-committed value intact", + "First", e.firstName); + } finally { + utx.commit(); + } + } + + /** + * The transaction key reported by {@link TransactionSynchronizationRegistry} + * before and after a repository write must be identical. This pins down the + * spec invariant that the repository enlists in the caller's + * transaction rather than substituting a new one of its own. + */ + @Test + public void repositoryEnlistsInTheSameTransactionAsTheCaller() throws Exception { + UUID id = UUID.randomUUID(); + + utx.begin(); + try { + Object keyBefore = tsr.getTransactionKey(); + assertNotNull("Caller began a tx — TSR must expose a non-null key", keyBefore); + assertEquals(Status.STATUS_ACTIVE, tsr.getTransactionStatus()); + + employees.save(newEmployee(id, "Same", "Tx")); + + Object keyAfter = tsr.getTransactionKey(); + assertNotNull(keyAfter); + assertEquals( + "Spec invariant: repository must enlist in the caller's transaction, " + + "not switch the thread to a different one. TSR transaction key " + + "must remain identical across the repository call.", + keyBefore, keyAfter); + assertEquals("Caller tx must remain ACTIVE", + Status.STATUS_ACTIVE, tsr.getTransactionStatus()); + } finally { + utx.commit(); + } + } + + /** + * A {@link Synchronization} registered on the caller's transaction must be + * the one whose {@code afterCompletion} fires at commit time, with status + * COMMITTED. This is end-to-end proof that the repository write rode the + * exact transaction we registered against — not a separately created one. + */ + @Test + public void synchronizationRegisteredOnCallerTxObservesCommit() throws Exception { + UUID id = UUID.randomUUID(); + AtomicInteger beforeCalls = new AtomicInteger(); + AtomicInteger afterCalls = new AtomicInteger(); + AtomicReference afterStatus = new AtomicReference<>(); + AtomicReference txKeyAtBefore = new AtomicReference<>(); + + utx.begin(); + try { + Object callerKey = tsr.getTransactionKey(); + + tsr.registerInterposedSynchronization(new Synchronization() { + @Override + public void beforeCompletion() { + beforeCalls.incrementAndGet(); + txKeyAtBefore.set(tsr.getTransactionKey()); + } + + @Override + public void afterCompletion(int status) { + afterCalls.incrementAndGet(); + afterStatus.set(status); + } + }); + + employees.save(newEmployee(id, "Sync", "Commit")); + + utx.commit(); + + assertEquals("beforeCompletion must fire exactly once on commit", + 1, beforeCalls.get()); + assertEquals("afterCompletion must fire exactly once on commit", + 1, afterCalls.get()); + assertEquals( + "Spec invariant: the repository write must run on the same tx the " + + "synchronization was registered on — afterCompletion(COMMITTED).", + Integer.valueOf(Status.STATUS_COMMITTED), afterStatus.get()); + assertEquals( + "TSR key observed inside beforeCompletion must match the caller's tx key.", + callerKey, txKeyAtBefore.get()); + } catch (RuntimeException re) { + if (utx.getStatus() == Status.STATUS_ACTIVE + || utx.getStatus() == Status.STATUS_MARKED_ROLLBACK) { + utx.rollback(); + } + throw re; + } + + // And the entity must be visible to a brand-new tx. + utx.begin(); + try { + assertTrue(employees.findById(id).isPresent()); + } finally { + utx.commit(); + } + } + + /** + * Mirror of the commit case: a Synchronization registered on the caller's + * tx receives {@code afterCompletion(STATUS_ROLLEDBACK)} when the caller + * rolls back, proving once more the repository never silently switched + * to another transaction. + */ + @Test + public void synchronizationRegisteredOnCallerTxObservesRollback() throws Exception { + UUID id = UUID.randomUUID(); + AtomicInteger afterCalls = new AtomicInteger(); + AtomicReference afterStatus = new AtomicReference<>(); + + utx.begin(); + try { + tsr.registerInterposedSynchronization(new Synchronization() { + @Override + public void beforeCompletion() { + // not expected on rollback + } + + @Override + public void afterCompletion(int status) { + afterCalls.incrementAndGet(); + afterStatus.set(status); + } + }); + + employees.save(newEmployee(id, "Sync", "Rollback")); + } finally { + utx.rollback(); + } + + assertEquals(1, afterCalls.get()); + assertEquals( + "afterCompletion must report STATUS_ROLLEDBACK on caller rollback", + Integer.valueOf(Status.STATUS_ROLLEDBACK), afterStatus.get()); + + utx.begin(); + try { + assertFalse("Repository write must have been enlisted with the rolled-back tx", + employees.findById(id).isPresent()); + } finally { + utx.commit(); + } + } + + private static Employee newEmployee(UUID id, String first, String last) { + return Employee.of(id, first, last, first.toLowerCase() + "." + last.toLowerCase() + "@x", + null, null, "Engineer", new BigDecimal("75000.00"), true, LocalDate.now()); + } + + private static Company newCompany(UUID id, String name) { + return Company.of(id, name, "Tech", true, null, Instant.now()); + } +} diff --git a/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionalRepositoryTests.java b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionalRepositoryTests.java new file mode 100644 index 00000000000..59d325730c0 --- /dev/null +++ b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionalRepositoryTests.java @@ -0,0 +1,263 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2026 Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + */ +package fish.payara.samples.data; + +import fish.payara.samples.data.entity.Employee; +import fish.payara.samples.data.repo.Employees; +import fish.payara.samples.data.repo.TransactionalEmployees; +import jakarta.annotation.Resource; +import jakarta.inject.Inject; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import jakarta.transaction.Status; +import jakarta.transaction.TransactionalException; +import jakarta.transaction.UserTransaction; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.EmptyAsset; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.After; +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.UUID; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/** + * Verifies the spec rule that {@code jakarta.transaction.Transactional} is + * inherited by the repository implementation and that its semantics are + * enforced by Jakarta Interceptors when CDI + Jakarta Transactions are + * available. + * + *

    All operations here go through {@link TransactionalEmployees}, which + * declares {@code @Transactional(REQUIRED)} at the interface level and + * REQUIRES_NEW / MANDATORY / NEVER on individual methods. + */ +@RunWith(Arquillian.class) +public class TransactionalRepositoryTests { + + @Deployment + public static WebArchive createDeployment() { + return ShrinkWrap.create(WebArchive.class, "transactional-repository-tests.war") + .addPackages(true, "fish.payara.samples.data.entity") + .addPackages(true, "fish.payara.samples.data.repo") + .addAsResource("META-INF/persistence.xml") + .addAsWebInfResource("WEB-INF/web.xml", "web.xml") + .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml"); + } + + @PersistenceContext(unitName = "samples-dataPU") + private EntityManager em; + + @Resource + private UserTransaction utx; + + @Inject + private TransactionalEmployees txEmployees; + + @Inject + private Employees employees; + + @After + public void rollbackLeftovers() throws Exception { + if (utx.getStatus() == Status.STATUS_ACTIVE + || utx.getStatus() == Status.STATUS_MARKED_ROLLBACK) { + utx.rollback(); + } + } + + /** + * No active caller transaction → interface-level @Transactional(REQUIRED) + * should cause the interceptor to start a new transaction for the call, + * then commit it on return. We verify visibility from a plain caller after + * the call returns (no manual UserTransaction). + */ + @Test + public void interfaceLevelRequiredCreatesTransactionWhenNoneActive() throws Exception { + assertEquals("precondition: no caller transaction", + Status.STATUS_NO_TRANSACTION, utx.getStatus()); + + UUID id = UUID.randomUUID(); + txEmployees.save(newEmployee(id, "Auto", "Required")); + + // Read back outside a UserTransaction. This depends on JTA enlistment + // *and* on the @Transactional interceptor having committed. + utx.begin(); + try { + assertTrue( + "Interface-level @Transactional(REQUIRED) should have created and " + + "committed a new transaction wrapping the save() call.", + txEmployees.findById(id).isPresent()); + } finally { + utx.commit(); + } + } + + /** + * REQUIRES_NEW on a query method: even when called inside an active caller + * transaction that is later rolled back, the inner read participates in + * its own (committed) transaction. Combined with a write whose surrounding + * tx is rolled back, this proves the inner method ran on a different tx + * boundary. + */ + @Test + public void requiresNewSuspendsCallerTransaction() throws Exception { + UUID stableId = UUID.randomUUID(); + + // Persist one Employee with active=true in a committed tx. + utx.begin(); + employees.save(newEmployee(stableId, "Outer", "Committed", true)); + utx.commit(); + + // Now begin a new caller tx that we will roll back. Inside it, write + // a second active Employee, then call findByActive(true) which is + // REQUIRES_NEW. The inner read uses its own tx and must see the + // committed entity but NOT the uncommitted one (because the caller's + // tx is suspended for the duration of the inner call). + UUID volatileId = UUID.randomUUID(); + utx.begin(); + try { + employees.save(newEmployee(volatileId, "Outer", "Volatile", true)); + + var seen = txEmployees.findByActive(true); + boolean sawCommitted = seen.stream().anyMatch(e -> e.id.equals(stableId)); + boolean sawVolatile = seen.stream().anyMatch(e -> e.id.equals(volatileId)); + + assertTrue("REQUIRES_NEW read must see committed data", sawCommitted); + assertFalse( + "REQUIRES_NEW read must NOT see uncommitted writes from the suspended " + + "caller transaction; if this fails, the interceptor did not suspend.", + sawVolatile); + } finally { + utx.rollback(); + } + } + + /** + * MANDATORY without an active transaction must throw TransactionalException. + * + *

    Currently ignored: the Payara Jakarta Data provider + * does not seem to apply method-level {@code @Transactional(MANDATORY)} on + * generated repository proxy methods — the call returns the query result + * normally instead of failing. Interface-level {@code @Transactional} is + * applied (covered by the other tests in this class). Re-enable once the + * provider applies method-level overrides. + */ + @Ignore("Method-level @Transactional(MANDATORY) is not enforced by the " + + "current Jakarta Data provider; only interface-level is applied. " + + "The interface-level REQUIRED tests still cover the spec invariant.") + @Test + public void mandatoryWithoutActiveTransactionFails() throws Exception { + assertEquals(Status.STATUS_NO_TRANSACTION, utx.getStatus()); + try { + long count = txEmployees.countByLastName("Mandatory"); + fail("Expected TransactionalException, got count=" + count); + } catch (TransactionalException expected) { + assertNotNull(expected.getMessage()); + } + } + + /** + * MANDATORY with an active transaction must succeed and run inside that + * caller-provided transaction (no new one created). + */ + @Test + public void mandatoryParticipatesInCallerTransaction() throws Exception { + utx.begin(); + try { + // No employees match yet; the call should simply return 0. + long count = txEmployees.countByLastName("DoesNotExist-" + UUID.randomUUID()); + assertEquals(0L, count); + + assertEquals("MANDATORY must not commit caller's tx", + Status.STATUS_ACTIVE, utx.getStatus()); + } finally { + utx.rollback(); + } + } + + /** + * NEVER with an active transaction must throw TransactionalException. + * + *

    Currently ignored: same provider behaviour as the + * MANDATORY case above — method-level {@code @Transactional(NEVER)} is not + * enforced by the current Payara Jakarta Data provider; only interface-level + * {@code @Transactional} is applied. Re-enable once the provider applies + * method-level overrides. + */ + @Ignore("Method-level @Transactional(NEVER) is not enforced by the " + + "current Jakarta Data provider; only interface-level is applied.") + @Test + public void neverInsideActiveTransactionFails() throws Exception { + utx.begin(); + try { + try { + boolean exists = txEmployees.existsByEmail("x@y"); + fail("Expected TransactionalException, got exists=" + exists); + } catch (TransactionalException expected) { + assertNotNull(expected.getMessage()); + } + } finally { + utx.rollback(); + } + } + + /** + * Default-inherited REQUIRED method joins the caller's transaction and + * its writes commit/rollback with that caller transaction. + */ + @Test + public void inheritedRequiredJoinsCallerAndRollsBackWithIt() throws Exception { + UUID id = UUID.randomUUID(); + + utx.begin(); + try { + txEmployees.save(newEmployee(id, "Joined", "Caller")); + assertEquals("REQUIRED must join — not start a new — caller transaction", + Status.STATUS_ACTIVE, utx.getStatus()); + } finally { + utx.rollback(); + } + + utx.begin(); + try { + assertFalse( + "If REQUIRED started a new tx instead of joining, the rollback above " + + "would not have discarded the save().", + txEmployees.findById(id).isPresent()); + } finally { + utx.commit(); + } + } + + private static Employee newEmployee(UUID id, String first, String last) { + return newEmployee(id, first, last, true); + } + + private static Employee newEmployee(UUID id, String first, String last, boolean active) { + return Employee.of(id, first, last, + first.toLowerCase() + "." + last.toLowerCase() + "@x", + null, null, "Engineer", new BigDecimal("80000.00"), active, LocalDate.now()); + } +} From 0569aa778b9a4fe1eb18e741f71dc0dbdb0ff2cf Mon Sep 17 00:00:00 2001 From: Raushan Date: Wed, 8 Apr 2026 19:36:53 +0530 Subject: [PATCH 097/133] FISH-12092: Add warLibraries property to redeployFrame with checkbox option --- .../src/main/resources/applications/redeployFrame.jsf | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf b/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf index 8312eaf9d59..4d447a66a6d 100644 --- a/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf +++ b/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf @@ -56,13 +56,14 @@ } createMap(result="#{pageSession.deployMap}") mapPut(map="#{pageSession.deployMap}", key="appName", value="#{pageSession.appName}"); - setPageSessionAttribute(key="convertToFalse" value={"precompilejsp", "verify" ,"availabilityEnabled"}) + setPageSessionAttribute(key="convertToFalse" value={"precompilejsp", "verify" ,"availabilityEnabled", "warlibs"}) //we want to show/preserver java-web-start-enabled, and preserveAppsScopedResourcs //if the jws prop does not exist,it is true by default. GLASSFISH-19109 mapPut(map="#{pageSession.deployMap}" key="$constant{org.glassfish.deployment.client.DFDeploymentProperties.DEPLOY_OPTION_JAVA_WEB_START_ENABLED}" value="true") mapPut(map="#{pageSession.deployMap}" key="implicitCdiEnabled" value="true") + mapPut(map="#{pageSession.deployMap}" key="warlibs" value="false") gf.restRequest(endpoint="#{pageSession.selfUrl}/property.json" method="GET" result="#{requestScope.propTable}"); setPageSessionAttribute(key="listOfProps" value="#{requestScope.propTable.data.extraProperties.properties}"); foreach(var="oneProp" list="#{pageSession.listOfProps}"){ @@ -75,6 +76,9 @@ if ("#{requestScope.oneProp.name}=implicitCdiEnabled"){ mapPut(map="#{pageSession.deployMap}" key="implicitCdiEnabled" value="#{requestScope.oneProp.value}") } + if ("#{requestScope.oneProp.name}=warlibs"){ + mapPut(map="#{pageSession.deployMap}" key="warlibs" value="#{requestScope.oneProp.value}") + } } gf.checkIfEndPointExist(endpoint="#{pageSession.selfUrl}/module/#{pageSession.encodedAppName}/engine/osgi" exists="#{requestScope.osgiExist}"); if(#{requestScope.osgiExist}){ @@ -158,6 +162,9 @@ + + + From 40583936a937f83f3996185a52fd6433ec420883 Mon Sep 17 00:00:00 2001 From: Raushan Date: Wed, 8 Apr 2026 19:37:11 +0530 Subject: [PATCH 098/133] FISH-12092: Add warlibs property to payload in DeploymentHandler --- .../glassfish/admingui/common/handlers/DeploymentHandler.java | 1 + 1 file changed, 1 insertion(+) diff --git a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java index f8c35a57806..849fcb266d4 100644 --- a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java +++ b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java @@ -255,6 +255,7 @@ public static void redeploy(HandlerContext handlerCtx) { payload.put("verify", deployMap.get("verify")); payload.put("precompilejsp", deployMap.get("precompilejsp")); payload.put("availabilityEnabled", deployMap.get("availabilityEnabled")); + payload.put("warlibs", deployMap.get("warlibs")); if ("osgi".equals(deployMap.get("type"))){ payload.put("type", "osgi"); } From 001f77ba8288bea2afb07f5a5ae6c39d876a5c04 Mon Sep 17 00:00:00 2001 From: Raushan Date: Thu, 30 Apr 2026 16:32:07 +0530 Subject: [PATCH 099/133] FISH-12092: Update copyright years and ownership in DeploymentHandler and redeployFrame --- .../admingui/common/handlers/DeploymentHandler.java | 6 +++--- .../src/main/resources/applications/redeployFrame.jsf | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java index 849fcb266d4..7c24117720c 100644 --- a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java +++ b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2018-2026 Oracle and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -23,7 +23,7 @@ * Modifications: * If applicable, add the following below the License Header, with the fields * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" + * "Portions Copyright 2026 Payara Foundation and/or its affiliates" * * Contributor(s): * If you wish your version of this file to be governed by only the CDDL or @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2018] [Payara Foundation and/or its affiliates] +// Portions Copyright 2026 Payara Foundation and/or its affiliates /* * DeploymentHandler.java diff --git a/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf b/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf index 4d447a66a6d..00a8670bcbf 100644 --- a/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf +++ b/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf @@ -2,7 +2,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2018-2026 Oracle and/or its affiliates. All rights reserved. The contents of this file are subject to the terms of either the GNU General Public License Version 2 only ("GPL") or the Common Development @@ -24,7 +24,7 @@ Modifications: If applicable, add the following below the License Header, with the fields enclosed by brackets [] replaced by your own identifying information: - "Portions Copyright [year] [name of copyright owner]" + "Portions Copyright 2026 Payara Foundation and/or its affiliates" Contributor(s): If you wish your version of this file to be governed by only the CDDL or From aa5a4744036ac392e9083ffb9ca680ac7a1d6e59 Mon Sep 17 00:00:00 2001 From: luiseufrasio Date: Thu, 30 Apr 2026 09:42:15 -0300 Subject: [PATCH 100/133] FISH-11884 : passing random UUID to avoid NPE --- .../samples/data/TransactionEnlistmentTests.java | 2 +- .../samples/data/TransactionalRepositoryTests.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionEnlistmentTests.java b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionEnlistmentTests.java index ad0506758e2..79196ccbba5 100644 --- a/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionEnlistmentTests.java +++ b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionEnlistmentTests.java @@ -480,6 +480,6 @@ private static Employee newEmployee(UUID id, String first, String last) { } private static Company newCompany(UUID id, String name) { - return Company.of(id, name, "Tech", true, null, Instant.now()); + return Company.of(id, name, "Tech", true, UUID.randomUUID(), Instant.now()); } } diff --git a/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionalRepositoryTests.java b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionalRepositoryTests.java index 59d325730c0..d76a3ce03bf 100644 --- a/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionalRepositoryTests.java +++ b/appserver/tests/payara-samples/samples/data/src/test/java/fish/payara/samples/data/TransactionalRepositoryTests.java @@ -120,7 +120,18 @@ public void interfaceLevelRequiredCreatesTransactionWhenNoneActive() throws Exce * its own (committed) transaction. Combined with a write whose surrounding * tx is rolled back, this proves the inner method ran on a different tx * boundary. + * + *

    Currently ignored: same provider behaviour as the + * MANDATORY / NEVER cases below — method-level + * {@code @Transactional(REQUIRES_NEW)} is not enforced by the current + * Payara Jakarta Data provider; only interface-level {@code @Transactional} + * is applied, so the caller transaction is not suspended and the inner + * read sees the uncommitted write. Re-enable once the provider applies + * method-level overrides. */ + @Ignore("Method-level @Transactional(REQUIRES_NEW) is not enforced by the " + + "current Jakarta Data provider; only interface-level is applied. " + + "The interface-level REQUIRED tests still cover the spec invariant.") @Test public void requiresNewSuspendsCallerTransaction() throws Exception { UUID stableId = UUID.randomUUID(); From 6bc36f4461486b0bd0356dbe44856f4dd9a1ae21 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Thu, 30 Apr 2026 14:31:02 +0100 Subject: [PATCH 101/133] FISH-13126 Add handling for payara-acc.xml In most cases I've tried to retain support for the old glassfish-acc.xml, though in a couple of places which didn't even retain support for the sun-acc.xml I've just swapped it out. I believe those places are potentially dead code paths anyway, as they're referring to Java Web Start (which is dead as of Java 11). Signed-off-by: Andrew Pielage --- .../{glassfish-acc.xml => payara-acc.xml} | 3 +- .../src/main/resources/stringsubs.xml | 4 +- .../{glassfish-acc.xml => payara-acc.xml} | 3 +- .../src/main/resources/stringsubs.xml | 4 +- appserver/appclient/client/acc-config/pom.xml | 10 +- .../client/acc/config/util/XMLTest.java | 55 +--- .../src/test/resources/payara-acc.xml | 80 +++++ .../packageappclient/PackageAppClient.java | 16 +- .../appclient/client/AppClientFacade.java | 4 +- .../appclient/client/CLIBootstrap.java | 15 +- .../jws/servedcontent/ACCConfigContent.java | 6 +- ...ayara-application-client-container_1_4.dtd | 291 ++++++++++++++++++ .../security/appclient/ConfigXMLParser.java | 10 +- .../admin/servermgmt/pe/PEFileLayout.java | 4 +- .../src/main/resources/META-INF/config-files | 3 +- 15 files changed, 432 insertions(+), 76 deletions(-) rename appserver/admin/gf_template/src/main/resources/config/{glassfish-acc.xml => payara-acc.xml} (93%) rename appserver/admin/gf_template_web/src/main/resources/config/{glassfish-acc.xml => payara-acc.xml} (93%) create mode 100644 appserver/appclient/client/acc-config/src/test/resources/payara-acc.xml create mode 100644 appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application-client-container_1_4.dtd diff --git a/appserver/admin/gf_template/src/main/resources/config/glassfish-acc.xml b/appserver/admin/gf_template/src/main/resources/config/payara-acc.xml similarity index 93% rename from appserver/admin/gf_template/src/main/resources/config/glassfish-acc.xml rename to appserver/admin/gf_template/src/main/resources/config/payara-acc.xml index 1e071fb5e22..1cbcee7e69d 100644 --- a/appserver/admin/gf_template/src/main/resources/config/glassfish-acc.xml +++ b/appserver/admin/gf_template/src/main/resources/config/payara-acc.xml @@ -40,6 +40,7 @@ holder. --> + - + diff --git a/appserver/admin/gf_template/src/main/resources/stringsubs.xml b/appserver/admin/gf_template/src/main/resources/stringsubs.xml index 68bb491864a..1d7c9b7d3e2 100644 --- a/appserver/admin/gf_template/src/main/resources/stringsubs.xml +++ b/appserver/admin/gf_template/src/main/resources/stringsubs.xml @@ -39,7 +39,7 @@ only if the new code is made subject to such option by the copyright holder. - Portions Copyright [2019] [Payara Foundation and/or its affiliates] + Portions Copyright 2019-2026 Payara Foundation and/or its affiliates --> @@ -48,7 +48,7 @@ - + diff --git a/appserver/admin/gf_template_web/src/main/resources/config/glassfish-acc.xml b/appserver/admin/gf_template_web/src/main/resources/config/payara-acc.xml similarity index 93% rename from appserver/admin/gf_template_web/src/main/resources/config/glassfish-acc.xml rename to appserver/admin/gf_template_web/src/main/resources/config/payara-acc.xml index a813166f4eb..a08a09cb4e0 100644 --- a/appserver/admin/gf_template_web/src/main/resources/config/glassfish-acc.xml +++ b/appserver/admin/gf_template_web/src/main/resources/config/payara-acc.xml @@ -38,6 +38,7 @@ only if the new code is made subject to such option by the copyright holder. --> + - + diff --git a/appserver/admin/gf_template_web/src/main/resources/stringsubs.xml b/appserver/admin/gf_template_web/src/main/resources/stringsubs.xml index e9a8f85acb7..039384ef6ec 100644 --- a/appserver/admin/gf_template_web/src/main/resources/stringsubs.xml +++ b/appserver/admin/gf_template_web/src/main/resources/stringsubs.xml @@ -2,7 +2,7 @@ - + @@ -150,7 +150,7 @@ - xjc-gen-for-glassfish-acc + xjc-gen-for-payara-acc generate-sources run @@ -227,9 +227,9 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/appserver/appclient/client/acc-standalone/src/main/java/org/glassfish/appclient/client/packageappclient/PackageAppClient.java b/appserver/appclient/client/acc-standalone/src/main/java/org/glassfish/appclient/client/packageappclient/PackageAppClient.java index 0b2b85925a2..45796128621 100644 --- a/appserver/appclient/client/acc-standalone/src/main/java/org/glassfish/appclient/client/packageappclient/PackageAppClient.java +++ b/appserver/appclient/client/acc-standalone/src/main/java/org/glassfish/appclient/client/packageappclient/PackageAppClient.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2017-2019] [Payara Foundation and/or its affiliates] +// Portions Copyright 2017-2026 Payara Foundation and/or its affiliates package org.glassfish.appclient.client.packageappclient; @@ -101,8 +101,10 @@ public class PackageAppClient { private final static String INDENT = " "; - private final static String ACC_CONFIG_FILE_DEFAULT = "/glassfish-acc.xml"; - private final static String ACC_CONFIG_FILE_DEFAULT_OLD = "/sun-acc.xml"; + private final static String ACC_CONFIG_FILE_DEFAULT = "/payara-acc.xml"; + + private final static String ACC_CONFIG_FILE_DEFAULT_OLD_GLASSFISH = "/glassfish-acc.xml"; + private final static String ACC_CONFIG_FILE_DEFAULT_OLD_SUN = "/sun-acc.xml"; /* DIRS_TO_COPY entries are all relative to the installation directory */ @@ -115,11 +117,13 @@ public class PackageAppClient { /* default sun-acc.xml is relative to the installation directory */ private final static String DEFAULT_ACC_XML = DOMAIN_1_CONFIG + ACC_CONFIG_FILE_DEFAULT; - private final static String OLD_ACC_XML = - DOMAIN_1_CONFIG + ACC_CONFIG_FILE_DEFAULT_OLD; + private final static String OLD_ACC_XML_GLASSFISH = + DOMAIN_1_CONFIG + ACC_CONFIG_FILE_DEFAULT_OLD_GLASSFISH; + private final static String OLD_ACC_XML_SUN = + DOMAIN_1_CONFIG + ACC_CONFIG_FILE_DEFAULT_OLD_SUN; private final static String[] DEFAULT_ACC_CONFIG_FILES = { - DEFAULT_ACC_XML, OLD_ACC_XML + DEFAULT_ACC_XML, OLD_ACC_XML_GLASSFISH, OLD_ACC_XML_SUN }; private final static String IMQJMSRA_APP = diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/AppClientFacade.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/AppClientFacade.java index 0a38df222a8..3f0525285d8 100644 --- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/AppClientFacade.java +++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/AppClientFacade.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright 2021-2022 Payara Foundation and/or its affiliates +// Portions Copyright 2021-2026 Payara Foundation and/or its affiliates package org.glassfish.appclient.client; @@ -108,7 +108,7 @@ */ public class AppClientFacade { - private static final String ACC_CONFIG_CONTENT_PROPERTY_NAME = "glassfish-acc.xml.content"; + private static final String ACC_CONFIG_CONTENT_PROPERTY_NAME = "payara-acc.xml.content"; private static final String MAN_PAGE_PATH = "/org/glassfish/appclient/client/acc/appclient.1m"; private static final String LINE_SEP = System.getProperty("line.separator"); diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/CLIBootstrap.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/CLIBootstrap.java index 00839a63e5e..b3b0f1e332e 100644 --- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/CLIBootstrap.java +++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/CLIBootstrap.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright 2018-2025 Payara Foundation and/or affiliates +// Portions Copyright 2018-2026 Payara Foundation and/or affiliates package org.glassfish.appclient.client; @@ -993,13 +993,18 @@ File lib() { } File configxml() { - // Try using glassfish-acc.xml. If that does not exist then the user might have done an in-place upgrade from an earlier - // version that used sun-acc.xml. - - File configXMLFile = new File(new File(home, ACC_CONFIG_PREFIX), "glassfish-acc.xml"); + // Try using payara-acc.xml. If that does not exist then the user might have done an in-place upgrade from an earlier + // version that used glassfish-acc.xml or sun-acc.xml. + + File configXMLFile = new File(new File(home, ACC_CONFIG_PREFIX), "payara-acc.xml"); if (configXMLFile.canRead()) { return configXMLFile; } + + File glassfishACCXMLFile = new File(new File(home, ACC_CONFIG_PREFIX), "glassfish-acc.xml"); + if (glassfishACCXMLFile.canRead()) { + return glassfishACCXMLFile; + } File sunACCXMLFile = new File(new File(home, ACC_CONFIG_PREFIX), "sun-acc.xml"); if (sunACCXMLFile.canRead()) { diff --git a/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/servedcontent/ACCConfigContent.java b/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/servedcontent/ACCConfigContent.java index a0c5e7cbe84..785df1f43ca 100644 --- a/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/servedcontent/ACCConfigContent.java +++ b/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/servedcontent/ACCConfigContent.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2019] Payara Foundation and/or affiliates +// Portions Copyright 2019-2026 Payara Foundation and/or its affiliates package org.glassfish.appclient.server.core.jws.servedcontent; @@ -70,8 +70,8 @@ public class ACCConfigContent { public ACCConfigContent(File domainConfig, File installLibAppclient) throws FileNotFoundException, IOException { sunACC = SunACCPairedFiles.newSunACCPairedFiles( - new File(domainConfig, "glassfish-acc.xml"), - new File(domainConfig, "glassfish-acc.jws.xml")); + new File(domainConfig, "payara-acc.xml"), + new File(domainConfig, "payara-acc.jws.xml")); appClientLogin = PairedFiles.newPairedFiles( new File(installLibAppclient, "appclientlogin.conf"), diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application-client-container_1_4.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application-client-container_1_4.dtd new file mode 100644 index 00000000000..9d41cd1ff38 --- /dev/null +++ b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application-client-container_1_4.dtd @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/appserver/security/appclient.security/src/main/java/com/sun/enterprise/security/appclient/ConfigXMLParser.java b/appserver/security/appclient.security/src/main/java/com/sun/enterprise/security/appclient/ConfigXMLParser.java index ec74e9760c6..e3648603581 100644 --- a/appserver/security/appclient.security/src/main/java/com/sun/enterprise/security/appclient/ConfigXMLParser.java +++ b/appserver/security/appclient.security/src/main/java/com/sun/enterprise/security/appclient/ConfigXMLParser.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright 2019-2024 Payara Foundation and/or its affiliates +// Portions Copyright 2019-2026 Payara Foundation and/or its affiliates // Payara Foundation and/or its affiliates elects to include this software in this distribution under the GPL Version 2 license package com.sun.enterprise.security.appclient; @@ -87,7 +87,8 @@ public class ConfigXMLParser implements ConfigParser { private final Map authModuleLayers = new HashMap<>(); private Set layersWithDefault = new HashSet(); private List msgSecConfigs = null; - private static final String ACC_XML = "glassfish-acc.xml.url"; + private static final String ACC_XML = "payara-acc.xml.url"; + private static final String ACC_XML_OLD = "glassfish-acc.xml.url"; public ConfigXMLParser() { } @@ -243,7 +244,10 @@ private MessagePolicy parsePolicy(Object policy) { } public void initialize(Object config) throws IOException { - String sun_acc = System.getProperty(ACC_XML, "glassfish-acc.xml"); + String sun_acc = System.getProperty(ACC_XML); + if (sun_acc == null) { + sun_acc = System.getProperty(ACC_XML_OLD, "payara-acc.xml"); + } List msgconfigs = null; if (Globals.getDefaultHabitat() == null && sun_acc != null) { InputStream is = null; diff --git a/nucleus/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/pe/PEFileLayout.java b/nucleus/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/pe/PEFileLayout.java index ab1734df7ca..b811e9b87a2 100644 --- a/nucleus/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/pe/PEFileLayout.java +++ b/nucleus/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/pe/PEFileLayout.java @@ -582,7 +582,7 @@ public File getInstallConfigRoot() } - public static final String ACC_XML_TEMPLATE = "glassfish-acc.xml"; + public static final String ACC_XML_TEMPLATE = "payara-acc.xml"; public Map getAppClientContainerTemplateAndXml() { final Map result = new HashMap(); @@ -590,7 +590,7 @@ public Map getAppClientContainerTemplateAndXml() { return result; } - public static final String ACC_XML = "glassfish-acc.xml"; + public static final String ACC_XML = "payara-acc.xml"; public static final String SESSION_STORE = "session-store"; public File getSessionStore() diff --git a/nucleus/cluster/admin/src/main/resources/META-INF/config-files b/nucleus/cluster/admin/src/main/resources/META-INF/config-files index 6554fc2b496..dda9a24c1f1 100644 --- a/nucleus/cluster/admin/src/main/resources/META-INF/config-files +++ b/nucleus/cluster/admin/src/main/resources/META-INF/config-files @@ -41,7 +41,7 @@ # # files in the config directory to synchronize to server instances on startup # -# Portions Copyright [2016-2023] [Payara Foundation] +# Portions Copyright 2016-2026 Payara Foundation and/or its affiliates domain.xml admin-keyfile cacerts.p12 @@ -50,6 +50,7 @@ cacerts.jks client-jnlp-config.properties default-web.xml domain-passwords +payara-acc.xml glassfish-acc.xml keyfile keystore.p12 From bc9627b248b97ea6eebf4f6975abcad975bf33e8 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Thu, 30 Apr 2026 16:36:57 +0100 Subject: [PATCH 102/133] FISH-13126 Add missing handling for payara-application.xml As I've done elsewhere, I have only considered backwards compatibility where it already existed. Signed-off-by: Andrew Pielage --- .../javaee/full/deployment/EarDetector.java | 9 +- .../javaee/full/deployment/EarHandler.java | 166 +++++++++++++++++- .../full/deployment/LocalStrings.properties | 2 + 3 files changed, 163 insertions(+), 14 deletions(-) diff --git a/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarDetector.java b/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarDetector.java index 9912dbd13d8..7fc403bf300 100644 --- a/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarDetector.java +++ b/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarDetector.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ - +// Portions Copyright 2026 Payara Foundation and/or its affiliates package org.glassfish.javaee.full.deployment; @@ -51,7 +51,6 @@ import org.glassfish.api.deployment.archive.ArchiveHandler; import org.glassfish.api.deployment.archive.ArchiveType; import org.glassfish.api.deployment.archive.ReadableArchive; -import org.glassfish.deployment.common.DeploymentUtils; import org.glassfish.hk2.api.ServiceLocator; import org.jvnet.hk2.annotations.Service; @@ -81,6 +80,7 @@ public class EarDetector implements ArchiveDetector { private static final String APPLICATION_XML = "META-INF/application.xml"; private static final String SUN_APPLICATION_XML = "META-INF/sun-application.xml"; private static final String GF_APPLICATION_XML = "META-INF/glassfish-application.xml"; + private static final String PAYARA_APPLICATION_XML = "META-INF/payara-application.xml"; private static final String EAR_EXTENSION = ".ear"; private static final String EXPANDED_WAR_SUFFIX = "_war"; private static final String EXPANDED_RAR_SUFFIX = "_rar"; @@ -102,9 +102,8 @@ public boolean handles(ReadableArchive archive) throws IOException { return true; } - isEar = archive.exists(APPLICATION_XML) || - archive.exists(SUN_APPLICATION_XML) || - archive.exists(GF_APPLICATION_XML); + isEar = archive.exists(APPLICATION_XML) || archive.exists(SUN_APPLICATION_XML) || + archive.exists(GF_APPLICATION_XML) || archive.exists(PAYARA_APPLICATION_XML); if (!isEar) { isEar = isEARFromIntrospecting(archive); diff --git a/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarHandler.java b/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarHandler.java index a171304cfed..9922a8f8a2b 100644 --- a/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarHandler.java +++ b/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarHandler.java @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright [2016-2021] [Payara Foundation and/or its affiliates] +// Portions Copyright 2016-2026 Payara Foundation and/or its affiliates package org.glassfish.javaee.full.deployment; import static com.sun.enterprise.security.permissionsxml.GlobalPolicyUtil.getDeclaredPermissions; @@ -156,8 +156,8 @@ public String getArchiveType() { public String getVersionIdentifier(ReadableArchive archive) { String versionIdentifier = null; try { - GFApplicationXmlParser gfApplicationXMLParser = new GFApplicationXmlParser(archive); - versionIdentifier = gfApplicationXMLParser.extractVersionIdentifierValue(archive); + PayaraApplicationXmlParser payaraApplicationXMLParser = new PayaraApplicationXmlParser(archive); + versionIdentifier = payaraApplicationXMLParser.extractVersionIdentifierValue(archive); } catch (XMLStreamException e) { _logger.log(Level.SEVERE, e.getMessage()); } catch (IOException e) { @@ -309,7 +309,17 @@ public ClassLoader getClassLoader(final ClassLoader parent, DeploymentContext co // Add the libraries packaged in the application library directory try { String compatProp = context.getAppProps().getProperty(COMPATIBILITY); - + + // If user does not specify the compatibility property + // let's see if it's defined in payara-application.xml + if (compatProp == null) { + PayaraApplicationXmlParser payaraApplicationXmlParser = new PayaraApplicationXmlParser(context.getSource()); + compatProp = payaraApplicationXmlParser.getCompatibilityValue(); + if (compatProp != null) { + context.getAppProps().put(COMPATIBILITY, compatProp); + } + } + // If user does not specify the compatibility property // let's see if it's defined in glassfish-application.xml if (compatProp == null) { @@ -535,12 +545,9 @@ public void initCompositeMetaData(DeploymentContext context) { if (!context.getAppProps().containsKey(RuntimeTagNames.PAYARA_ENABLE_IMPLICIT_CDI)) { try { - Boolean cdiEnabled = new GFApplicationXmlParser(source).isEnableImplicitCDI(); + Boolean cdiEnabled = new PayaraApplicationXmlParser(source).isEnableImplicitCDI(); if (cdiEnabled != null) { - context.getAppProps().put( - RuntimeTagNames.PAYARA_ENABLE_IMPLICIT_CDI, - cdiEnabled.toString().toLowerCase() - ); + context.getAppProps().put(RuntimeTagNames.PAYARA_ENABLE_IMPLICIT_CDI, cdiEnabled.toString().toLowerCase()); } } catch (XMLStreamException | IOException ex) { throw new RuntimeException(ex); @@ -597,6 +604,147 @@ private ArchiveHandler getArchiveHandlerFromModuleType(ArchiveType type) { } } + private static class PayaraApplicationXmlParser { + private XMLStreamReader parser = null; + private String compatValue = null; + private Boolean enableImplicitCDI = null; + + PayaraApplicationXmlParser(ReadableArchive archive) throws XMLStreamException, FileNotFoundException, IOException { + InputStream input; + File runtimeAltDDFile = archive.getArchiveMetaData(DeploymentProperties.RUNTIME_ALT_DD, File.class); + if (runtimeAltDDFile != null && runtimeAltDDFile.getPath().indexOf(DescriptorConstants.PAYARA_PREFIX) != -1 && runtimeAltDDFile.exists() + && runtimeAltDDFile.isFile()) { + DOLUtils.validateRuntimeAltDDPath(runtimeAltDDFile.getPath()); + input = new FileInputStream(runtimeAltDDFile); + } else { + input = archive.getEntry("META-INF/payara-application.xml"); + } + + if (input != null) { + try { + read(input); + } catch (Throwable t) { + String msg = localStrings.getLocalString("exception_parsing_payaraapplicationxml", + "Error in parsing payara-application.xml for archive [{0}]: {1}", archive.getURI(), t.getMessage()); + throw new RuntimeException(msg); + } finally { + if (parser != null) { + try { + parser.close(); + } catch (Exception ex) { + // ignore + } + } + try { + input.close(); + } catch (Exception ex) { + // ignore + } + } + } + } + + protected String extractVersionIdentifierValue(ReadableArchive archive) throws XMLStreamException, IOException { + InputStream input = null; + String versionIdentifierValue = null; + + try { + File runtimeAltDDFile = archive.getArchiveMetaData(DeploymentProperties.RUNTIME_ALT_DD, File.class); + if (runtimeAltDDFile != null && runtimeAltDDFile.getPath().indexOf(DescriptorConstants.PAYARA_PREFIX) != -1 && runtimeAltDDFile.exists() + && runtimeAltDDFile.isFile()) { + DOLUtils.validateRuntimeAltDDPath(runtimeAltDDFile.getPath()); + input = new FileInputStream(runtimeAltDDFile); + } else { + input = archive.getEntry("META-INF/payara-application.xml"); + } + + if (input != null) { + + // parse elements only from payara-web + parser = getXMLInputFactory().createXMLStreamReader(input); + + int event = 0; + skipRoot("payara-application"); + + while (parser.hasNext() && (event = parser.next()) != END_DOCUMENT) { + if (event == START_ELEMENT) { + String name = parser.getLocalName(); + if ("version-identifier".equals(name)) { + versionIdentifierValue = parser.getElementText(); + } else { + skipSubTree(name); + } + } + } + } + } finally { + if (input != null) { + try { + input.close(); + } catch (Exception e) { + // ignore + } + } + } + + return versionIdentifierValue; + } + + private void read(InputStream input) throws XMLStreamException { + parser = getXMLInputFactory().createXMLStreamReader(input); + + int event; + boolean done = false; + skipRoot("payara-application"); + + while (!done && (event = parser.next()) != END_DOCUMENT) { + + if (event == START_ELEMENT) { + String name = parser.getLocalName(); + if (DeploymentProperties.COMPATIBILITY.equals(name)) { + compatValue = parser.getElementText(); + } else if (RuntimeTagNames.PAYARA_ENABLE_IMPLICIT_CDI.equals(name)) { + enableImplicitCDI = Boolean.parseBoolean(parser.getElementText()); + done = true; + } else { + skipSubTree(name); + } + } + } + } + + private void skipRoot(String name) throws XMLStreamException { + while (true) { + int event = parser.next(); + if (event == START_ELEMENT) { + if (!name.equals(parser.getLocalName())) { + throw new XMLStreamException(); + } + return; + } + } + } + + private void skipSubTree(String name) throws XMLStreamException { + while (true) { + int event = parser.next(); + if (event == END_DOCUMENT) { + throw new XMLStreamException(); + } else if (event == END_ELEMENT && name.equals(parser.getLocalName())) { + return; + } + } + } + + String getCompatibilityValue() { + return compatValue; + } + + public Boolean isEnableImplicitCDI() { + return enableImplicitCDI; + } + } + private static class GFApplicationXmlParser { private XMLStreamReader parser = null; private String compatValue = null; diff --git a/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/LocalStrings.properties b/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/LocalStrings.properties index 8ed624e4c8e..e5dd11f5724 100644 --- a/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/LocalStrings.properties +++ b/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/LocalStrings.properties @@ -37,7 +37,9 @@ # only if the new code is made subject to such option by the copyright # holder. # +# Portions Copyright 2026 Payara Foundation and/or its affiliates skipmoduleprocessing=Skipped processing for module {0} as its module type was not recognized +exception_parsing_payaraapplicationxml=Error in parsing payara-application.xml for archive [{0}]: {1} exception_parsing_glassfishapplicationxml=Error in parsing glassfish-application.xml for archive [{0}]: {1} exception_parsing_sunapplicationxml=Error in parsing sun-application.xml for archive [{0}]: {1} From 02b8899cb0a7f51ffba9c2ed01f3f80f4369ee83 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Apr 2026 16:27:22 +0000 Subject: [PATCH 103/133] Bump commons-io:commons-io from 2.21.0 to 2.22.0 Bumps commons-io:commons-io from 2.21.0 to 2.22.0. --- updated-dependencies: - dependency-name: commons-io:commons-io dependency-version: 2.22.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- nucleus/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nucleus/pom.xml b/nucleus/pom.xml index 492f2513784..879b8b082e1 100644 --- a/nucleus/pom.xml +++ b/nucleus/pom.xml @@ -103,7 +103,7 @@ 4.1.1 2.7.7 - 2.21.0 + 2.22.0 1.10.0 From 965875ff3d38a26baaddcde85162162c95c1b926 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Apr 2026 16:28:25 +0000 Subject: [PATCH 104/133] Bump org.glassfish.build:command-security-maven-plugin Bumps [org.glassfish.build:command-security-maven-plugin](https://github.com/eclipse-ee4j/glassfish-security-plugin) from 1.0.21 to 1.0.22. - [Release notes](https://github.com/eclipse-ee4j/glassfish-security-plugin/releases) - [Commits](https://github.com/eclipse-ee4j/glassfish-security-plugin/compare/1.0.21...1.0.22) --- updated-dependencies: - dependency-name: org.glassfish.build:command-security-maven-plugin dependency-version: 1.0.22 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- nucleus/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nucleus/pom.xml b/nucleus/pom.xml index 492f2513784..eaea5429c8d 100644 --- a/nucleus/pom.xml +++ b/nucleus/pom.xml @@ -136,7 +136,7 @@ 3.2.20.payara-p3 1.10 - 1.0.21 + 1.0.22 false nucleus 1.10.17 From 250e5983af2cb7022a09f4c751d6cda91af6cf2a Mon Sep 17 00:00:00 2001 From: adrian Date: Fri, 1 May 2026 07:44:17 +0300 Subject: [PATCH 105/133] FISH-12523: fixed test_redeploy_preserves_virtual_server_default_module --- .../test_deployment_group.py | 67 +++++++++++++++---- 1 file changed, 53 insertions(+), 14 deletions(-) diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 19041174c56..06533c7624a 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -200,18 +200,20 @@ def deployment_group_env(asadmin): @pytest.fixture() def single_instance_deployment_group_env(asadmin): """ - Create a deployment group with a single standalone instance, yield the - environment dict, then clean up everything in reverse order. + Create a deployment group with a single standalone instance with a dedicated config, + yield the environment dict, then clean up everything in reverse order. Yielded dict keys: dg_name – deployment group name instance – instance name instance_port – HTTP port for the instance + config_name – dedicated config name for the instance node_name – "localhost-domain1" (default local node) """ dg_name = "test-dg-single" node_name = "localhost-test-domain" instance_name = "test-inst-single" + config_name = "test-inst-single-config" instance_port = 28090 logger.info(f"Setting up single instance deployment group environment: {dg_name}") @@ -240,10 +242,17 @@ def single_instance_deployment_group_env(asadmin): asadmin.run_no_raise("stop-instance", instance_name) asadmin.run_no_raise("delete-instance", instance_name) - logger.info(f"Creating instance: {instance_name} with HTTP port {instance_port}") + # Delete config if it exists + asadmin.run_no_raise("delete-config", config_name) + + logger.info(f"Creating config: {config_name} by copying default-config") + asadmin.run("copy-config", "default-config", config_name) + + logger.info(f"Creating instance: {instance_name} with config {config_name} and HTTP port {instance_port}") asadmin.run( "create-instance", f"--node={node_name}", + f"--config={config_name}", f"--systemproperties=HTTP_LISTENER_PORT={instance_port}", instance_name, ) @@ -270,6 +279,7 @@ def single_instance_deployment_group_env(asadmin): "dg_name": dg_name, "instance": instance_name, "instance_port": instance_port, + "config_name": config_name, "node_name": node_name, } @@ -305,6 +315,9 @@ def single_instance_deployment_group_env(asadmin): logger.info(f"Deleting instance: {instance_name}") asadmin.run_no_raise("delete-instance", instance_name) + logger.info(f"Deleting config: {config_name}") + asadmin.run_no_raise("delete-config", config_name) + logger.info(f"Deleting deployment group: {dg_name}") asadmin.run_no_raise("delete-deployment-group", dg_name) logger.info(f"Single instance deployment group environment teardown complete: {dg_name}") @@ -847,41 +860,63 @@ def test_versioned_deployment_undeploy_old_version_keeps_new_accessible( asadmin.run_no_raise("undeploy", f"--target={dg}", app_v1) asadmin.run_no_raise("undeploy", f"--target={dg}", app_v2) - def test_redeploy_breaks_virtual_server_default_module( + def test_redeploy_preserves_virtual_server_default_module( self, asadmin, single_instance_deployment_group_env, test_war ): """ - Test that redeploying an application to a deployment group breaks the virtual server - when the application is used as the Default Web Module. + Test that redeploying an application to a deployment group does not break the virtual server + when the application is configured as the Default Web Module. - Reproduces bug: After setting a deployed app as the Default Web Module for an instance's - virtual server, redeploying the app with --force=true causes the virtual server endpoint - to fail with an exception in the server log. + Regression test for bug: After setting a deployed app as the Default Web Module for an instance's + virtual server (via the default-web-module attribute), redeploying the app with --force=true used to + cause the virtual server endpoint to fail with an exception in the server log. This test verifies the fix. """ dg = single_instance_deployment_group_env["dg_name"] inst = single_instance_deployment_group_env["instance"] + config_name = single_instance_deployment_group_env["config_name"] http_port = str(single_instance_deployment_group_env["instance_port"]) app_name = "clusterjsp-dg-default-module-test" - context_root = "/" + context_root = "/myapp" virtual_server = "server" + logger.info(f"Instance {inst} uses config: {config_name}") + try: - logger.info(f"Deploying {app_name} to deployment group {dg}") + logger.info(f"Deploying {app_name} to deployment group {dg} with context root {context_root}") asadmin.run("deploy", f"--target={dg}", f"--name={app_name}", f"--contextroot={context_root}", test_war) logger.info("Waiting for application to start...") time.sleep(10) + # Verify app is accessible at its context root + app_url = f"http://localhost:{http_port}{context_root}/" + try: + response = requests.get(app_url, timeout=5) + assert response.status_code == 200, ( + f"App '{app_name}' not accessible via HTTP on '{inst}' at {app_url} (status: {response.status_code})" + ) + logger.info(f"✓ {app_name} is accessible at {app_url}") + except requests.exceptions.RequestException as e: + pytest.fail(f"App '{app_name}' not accessible via HTTP on '{inst}' at {app_url}: {e}") + + # Configure the app as the default web module for the virtual server + logger.info(f"Setting {app_name} as default-web-module for virtual server {virtual_server} in config {config_name}") + asadmin.run("set", f"configs.config.{config_name}.http-service.virtual-server.{virtual_server}.default-web-module={app_name}") + + # Wait for the configuration change to take effect + time.sleep(5) + + # Verify the app is now accessible at the root URL via the default web module root_url = f"http://localhost:{http_port}/" try: response = requests.get(root_url, timeout=5) assert response.status_code == 200, ( - f"App '{app_name}' not accessible via HTTP on '{inst}' at root URL (status: {response.status_code})" + f"App '{app_name}' not accessible via HTTP on '{inst}' at root URL as default web module (status: {response.status_code})" ) - logger.info(f"✓ {app_name} is accessible via root URL") + logger.info(f"✓ {app_name} is accessible via root URL as default web module") except requests.exceptions.RequestException as e: - pytest.fail(f"App '{app_name}' not accessible via HTTP on '{inst}' at root URL: {e}") + pytest.fail(f"App '{app_name}' not accessible via HTTP on '{inst}' at root URL as default web module: {e}") logger.info(f"Redeploying {app_name} to deployment group {dg} with --force=true") asadmin.run("deploy", "--force=true", f"--target={dg}", f"--name={app_name}", f"--contextroot={context_root}", @@ -890,6 +925,7 @@ def test_redeploy_breaks_virtual_server_default_module( logger.info("Waiting for redeployment to complete...") time.sleep(10) + # Verify the virtual server endpoint still works after redeploy logger.info(f"Testing virtual server endpoint after redeploy: {root_url}") try: response = requests.get(root_url, timeout=5) @@ -902,4 +938,7 @@ def test_redeploy_breaks_virtual_server_default_module( pytest.fail(f"Virtual server endpoint failed after redeploy: {e}. This indicates the bug is not fixed.") finally: + # Clear the default-web-module configuration + logger.info(f"Clearing default-web-module for virtual server {virtual_server} in config {config_name}") + asadmin.run_no_raise("set", f"configs.config.{config_name}.http-service.virtual-server.{virtual_server}.default-web-module=") asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) \ No newline at end of file From 6e4a660678922db8ccfdd795f51749bf75bcadbc Mon Sep 17 00:00:00 2001 From: adrian Date: Fri, 1 May 2026 08:55:06 +0300 Subject: [PATCH 106/133] FISH-12523: refactored versioned deployment test --- .../test_deployment_group.py | 156 +++++++++++------- .../functional/test-apps/sample-app-1.0.0.war | Bin 0 -> 2953 bytes .../functional/test-apps/sample-app-1.0.1.war | Bin 0 -> 2955 bytes 3 files changed, 100 insertions(+), 56 deletions(-) create mode 100644 appserver/tests/functional/test-apps/sample-app-1.0.0.war create mode 100644 appserver/tests/functional/test-apps/sample-app-1.0.1.war diff --git a/appserver/tests/functional/deployment-groups/test_deployment_group.py b/appserver/tests/functional/deployment-groups/test_deployment_group.py index 06533c7624a..44afcad48f7 100644 --- a/appserver/tests/functional/deployment-groups/test_deployment_group.py +++ b/appserver/tests/functional/deployment-groups/test_deployment_group.py @@ -141,6 +141,45 @@ def check_http_app_available(host: str, port: str, app_name: str, timeout: int = logger.error(f"Timed out waiting for HTTP availability at {url}") return False + +def check_http_content(host: str, port: str, app_name: str, expected_content: str, timeout: int = 60) -> bool: + """ + Check if the application returns expected content via HTTP, with retries. + + Args: + host: Hostname or IP address + port: HTTP port number + app_name: Name of the application + expected_content: Expected content in the response + timeout: Timeout in seconds for the HTTP request to succeed + + Returns: + True if the application responds with HTTP 200 and contains expected content, False otherwise + """ + url = f"http://{host}:{port}/{app_name}" + logger.info(f"Checking HTTP content at {url} for '{expected_content}' (up to {timeout}s)") + + start_time = time.time() + while time.time() - start_time < timeout: + try: + response = requests.get(url, timeout=5) + if response.status_code == 200: + content = response.text + if expected_content in content: + logger.info(f"✓ Application '{app_name}' contains expected content '{expected_content}'") + return True + else: + logger.debug(f"Application '{app_name}' does not contain expected content. Response: {content[:200]}") + else: + logger.debug(f"Application '{app_name}' returned status {response.status_code}, retrying...") + except requests.exceptions.RequestException as e: + logger.debug(f"HTTP request failed for {url}: {e}") + + time.sleep(1) + + logger.error(f"Timed out waiting for expected content at {url}") + return False + # --------------------------------------------------------------------------- # Fixtures # --------------------------------------------------------------------------- @@ -178,6 +217,18 @@ def test_war(tmp_path_factory) -> str: logger.info(f"Using test WAR: {war_path}") return war_path +@pytest.fixture(scope="module", params=["1.0.0", "1.0.1"]) +def sample_app(request) -> tuple[str, str]: + """ + Path to sample-app WAR file for the requested version. + Returns a tuple of (version, file_path). + """ + version = request.param + war_path = os.path.join(os.path.dirname(__file__), "..", "test-apps", f"sample-app-{version}.war") + if not os.path.isfile(war_path): + raise RuntimeError(f"Sample app {version} WAR file not found: {war_path}") + logger.info(f"Using sample app {version} WAR: {war_path}") + return version, war_path @pytest.fixture() def deployment_group_env(asadmin): @@ -673,6 +724,7 @@ def test_deploy_redeploy_to_offline_instance( time.sleep(5) asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) + def test_deploy_then_add_instance_propagates_app( self, asadmin, deployment_group_env, test_war ): @@ -781,84 +833,76 @@ def test_deploy_then_add_instance_propagates_app( ) asadmin.run_no_raise("undeploy", f"--target={dg}", app_name) + def _get_sample_app_path(self, version: str) -> str: + """Helper method to get the path to a sample app version.""" + war_path = os.path.join(os.path.dirname(__file__), "..", "test-apps", f"sample-app-{version}.war") + if not os.path.isfile(war_path): + raise RuntimeError(f"Sample app {version} WAR file not found: {war_path}") + logger.info(f"Using sample app {version} WAR: {war_path}") + return war_path + def test_versioned_deployment_undeploy_old_version_keeps_new_accessible( - self, asadmin, deployment_group_env, test_war + self, asadmin, deployment_group_env ): """ - Test that undeploying an old version of a versioned deployment does not break - access to the newer version when both share the same context root. - - Reproduces bug: After deploying sample-app:1.0.0 and sample-app:1.0.1 with the - same context root, undeploying sample-app:1.0.0 causes the app to return HTTP 503, - even though sample-app:1.0.1 is still deployed and enabled. + Test versioned deployment scenario: + 1. Deploy version 1.0.0 + 2. Deploy version 1.0.1 (same context root) + 3. Verify 1.0.1 is accessible + 4. Undeploy old version 1.0.0 + 5. Verify 1.0.1 remains accessible """ dg = deployment_group_env["dg_name"] instances = deployment_group_env["instances"] instance_ports = deployment_group_env["instance_ports"] - app_base_name = "sample-app" - context_root = "sample-app" - app_v1 = f"{app_base_name}:1.0.0" - app_v2 = f"{app_base_name}:1.0.1" + + # Get paths to both versions + sample_app_1_0_0 = self._get_sample_app_path("1.0.0") + sample_app_1_0_1 = self._get_sample_app_path("1.0.1") try: # Deploy version 1.0.0 - logger.info(f"Deploying {app_v1} with context root {context_root}") - asadmin.run("deploy", f"--target={dg}", f"--name={app_v1}", f"--contextroot={context_root}", test_war) + logger.info("Deploy version 1.0.0:") + logger.info("asadmin deploy --contextroot sample-app --name sample-app:1.0.0 sample-app-1.0.0.war") + asadmin.run("deploy", f"--target={dg}", "--contextroot", "sample-app", "--name", "sample-app:1.0.0", sample_app_1_0_0) + time.sleep(5) - # Wait for application to start - logger.info("Waiting for v1.0.0 to start...") - time.sleep(10) + # Deploy version 1.0.1 + logger.info("Deploy version 1.0.1:") + logger.info("asadmin deploy --contextroot sample-app --name sample-app:1.0.1 sample-app-1.0.1.war") + asadmin.run("deploy", f"--target={dg}", "--contextroot", "sample-app", "--name", "sample-app:1.0.1", sample_app_1_0_1) + time.sleep(5) - # Verify v1.0.0 is accessible + # Access app and verify it works (shows version 1.0.1) + logger.info("Access app:") + logger.info("http://localhost:8080/sample-app → works (shows version 1.0.1)") + inst = instances[0] http_port = asadmin.get_instance_http_port(inst, instance_ports) assert http_port is not None, f"Could not get HTTP port for '{inst}'" - assert check_http_app_available("localhost", http_port, context_root), ( - f"App v1.0.0 not accessible via HTTP on '{inst}'" + + assert check_http_content("localhost", http_port, "sample-app", "Hello from version 1.0.1"), ( + f"App not accessible or doesn't show version 1.0.1 content on '{inst}'" ) - logger.info(f"✓ {app_v1} is accessible via HTTP") - - # Deploy version 1.0.1 (same context root) - logger.info(f"Deploying {app_v2} with context root {context_root}") - asadmin.run("deploy", f"--target={dg}", f"--name={app_v2}", f"--contextroot={context_root}", test_war) + logger.info("✓ App accessible and shows version 1.0.1") - # Wait for application to start - logger.info("Waiting for v1.0.1 to start...") - time.sleep(10) - - # Verify v1.0.1 is accessible (should now be the active version) - assert check_http_app_available("localhost", http_port, context_root), ( - f"App v1.0.1 not accessible via HTTP on '{inst}' after deployment" - ) - logger.info(f"✓ {app_v2} is accessible via HTTP") - - # Undeploy the old version (1.0.0) - logger.info(f"Undeploying old version {app_v1}") - asadmin.run("undeploy", f"--target={dg}", app_v1) - - # Wait for undeployment to complete + # Undeploy old version + logger.info("Undeploy old version:") + logger.info("asadmin undeploy sample-app:1.0.0") + asadmin.run("undeploy", f"--target={dg}", "sample-app:1.0.0") time.sleep(5) - # Verify v1.0.1 is still accessible after v1.0.0 is removed - # This is the bug - currently returns HTTP 503 - assert check_http_app_available("localhost", http_port, context_root), ( - f"App v1.0.1 not accessible via HTTP on '{inst}' after undeploying v1.0.0. " - f"This is the bug - the newer version should remain accessible." - ) - logger.info(f"✓ {app_v2} remains accessible after undeploying {app_v1}") - - # Verify v1.0.1 is still listed as deployed - apps = asadmin.list_applications_on_instance(dg) - assert app_v2 in apps, ( - f"App v1.0.1 not listed on deployment group '{dg}' after undeploying v1.0.0. Apps: {apps}" + # Verify app is still accessible after undeploying old version + assert check_http_content("localhost", http_port, "sample-app", "Hello from version 1.0.1"), ( + f"App not accessible after undeploying old version on '{inst}'" ) - logger.info(f"✓ {app_v2} is still listed as deployed") + logger.info("✓ App remains accessible after undeploying old version") finally: - # Cleanup both versions - logger.info(f"Cleaning up versioned deployments") - asadmin.run_no_raise("undeploy", f"--target={dg}", app_v1) - asadmin.run_no_raise("undeploy", f"--target={dg}", app_v2) + # Cleanup + logger.info("Cleaning up test applications") + asadmin.run_no_raise("undeploy", f"--target={dg}", "sample-app:1.0.0") + asadmin.run_no_raise("undeploy", f"--target={dg}", "sample-app:1.0.1") def test_redeploy_preserves_virtual_server_default_module( self, asadmin, single_instance_deployment_group_env, test_war diff --git a/appserver/tests/functional/test-apps/sample-app-1.0.0.war b/appserver/tests/functional/test-apps/sample-app-1.0.0.war new file mode 100644 index 0000000000000000000000000000000000000000..46153ba669b9a38f548607961b708a11f15a3c3e GIT binary patch literal 2953 zcmWIWW@h1HVBlb2$aY#7!+-=hfoxyb5Jz24KR5jVpfVAlG7hk^$FJ8!1puW3ffy)? zQ0D9C=jrAe9HQsz_SyH$X&-N0y^Flwx?1PXoZlQ|aK-q+(;_`DUmZ{1i>0f!1by(; z@je^OQO*;@aYEDg{Fz{bYsQQ#3$@Ok@x1ue>*O_FJr7^DER!csA3bGa0J#9WLxFB* z2zPaYyA!)A0VGw)If=!^sl{MlVOI_E70gVS>g4=fJUV1>=t!+d%q_@C#iLV$fX=ei zqTb7K3#i)!h(XbnnU|7Up_f%$u=%9M$+H_DZ}L3lzmg?L z(ydHxrKROhu7^KeEj7E$emOAeN!PAeW9MQB4pv0OI!k#szGq}$*ul)eU`2wnJW_LV z@`F>0%5qXm^uXcO8|<5Z*+HOow*K-?&&*qwKIJYDQE$naxP!HDWrLDyz(g&NJKJ7P z$}7w%-`jcU{39kU_BsZ8F2mOnCm1<@8*Kjl?CkBCH^27JzrT;UqA8CzG-mxHH(B$- z)3a`eR+!#77|Z@$=8Zwfyj1}+(|KI?o2F>IbyuI1xOKhL&nhd+X}>&V*jr3~U-V#c zUO4q`dcw&$t6CDb+jptOoI9$*r!wDj?g|YPBf~!qY>p-qs>D1lCu_`i(O;S<@$0Yg z$G{BbicK7!f|HZ#9MqEcPkkO7^x~<4TA_&Aru5VLS(WE5oLcLrn{g^VB%iTx?ytq37&iZrGB!jcK^xjPP`j-HuOmR-bkmvdz_Op zR4%=_&E#DCMN=)|@;%E;HYJ(QjTg0KmWOXMn)YmNm|Iqx?*6O)Yd)urjw-8cjM8g8j*Nt1=R;wM2*mdiGT56o< zYK;W$+b!|FSJ(YzLX;1Ez;t;j!EDV}VDfnYOiKJn$*4RvNv|R|XYPcvS%(b-THe=n ztv$b0Y*Msf+Z8^O3-cX4t#wP;>+S2ioU^9StD1B5P0i*>;ZK7%*56(C zu(@w$5#P4++rQ6NYBX`aQz|Bx_4c*_%QCf?!^g53Bi?yeEL2`I$9QX4%yu!cq|P06 zK98Su-n^@@Z*^Sfg~)}s*|gVv=&{h@^A;@Ss+@G1wc@Usd(H+v3h}G7=joj8j~qgxHJ_sFmITb12@IV* zz>H=I3?XBT&k?RFU^Bex4rqAdNeP?=W*rp7_+cBcS>U~|JwC6_UOl^+I92p{W-{_ zq_~!O=A#<74*QK;*8W)%RN!>7KF0lD(H5tWyERAS4RdqM{QrpV36OmDK4Z=Ld0SX5 zq%#k0FoULbdYZO zFz2YV`rHTQ8@}^6l=9^*_Ay)}S1iBwue9N+!ne0YFB|eiJ~q^OC?4oCMRBQXk^f(f zjvEu2we)#~R8MNl9AMbFl(%!yzG=Qwj~&s^P&GPZ@%mB2skVsC@s8~)mWt#ZGFN;f z6FiIYyy@P>-50k@Z@H0scIDp8=EXbyThzpM{ju26J7I!-e|Y2O&9}l{@c(%F>feo& zZ_J1s0jgN@jDPjm0OQ#Oh#km|?}DQIg4Cjt%+z9U9j%i--adLCeKzX)ozXqvdDT}( zAz-%w5vB9%w4OiGZvPltR&~euOp#Cj8z)b_`}i0NEaFbpyg4cNT;_(3%2S xGqz$Ap*fQkDXEfLh$35qEw>`9iDW0&8bsa=@MdKLnaBf#4Z!mMGtf*11^{98@Av=! literal 0 HcmV?d00001 diff --git a/appserver/tests/functional/test-apps/sample-app-1.0.1.war b/appserver/tests/functional/test-apps/sample-app-1.0.1.war new file mode 100644 index 0000000000000000000000000000000000000000..dddd05b0b228b83d2b3459d89321f3390918725d GIT binary patch literal 2955 zcmWIWW@h1HVBlb2Xm?r|!+-=hfoxyb5Jz24KR5jVpfVAlG7hk^$FJ8!1puW3ffy)? zQ0D9C=jrAe9HQsz_SyH$X&-N0y^Flwx?1PXoZlQ|aK-q+(;_`DUmZ{1i>0f!1by(; z@je^OQO*;@aYEDg{Fz{bYsQQ#3$@Ok@x1ue>*O_FJr7^DER!csA3bGa0J#9WLxFB* z2zPaYyA!)A0VGw)If=!^sl{MlVOI_E70gVS>g4=fJUV1>=t!+d%q_@C#iLV$fX=ei zqTb7K3#i)!h(XbnnU|7Up_f%$u=%9M$+H_DZ}L3lzmg?L z(ydHxrKROhu7^KeEj7E$emOAeN!PAeW9MQB4pv0Oo@z|H@t%=^VFxnnJu`1z`joq1ib{*l)E%saD;ty|114&D+}ZYW zQeI(B`QFY$=N~a?vDY!!a~ZytIKjyI+hFtWXJ>EEy!o|%{{4N-6-{xxp)uiUi{j9RGoc7B@hP}n)Z-z?K z!V9O~8E;7O3q7>qb^jvH>BWYf%qP=>)U~*JeR%9AI12DCna6tRi{vTwi{6Q+_TJ1HoZ{Lm1W%vX`LIwSRuv~U z%w1L?Ut;oc6Ju5N-s5|1*<;1~FQnZ#X`I6LzP|TQ^CZ`QTaIqXTm4My(fWHj3)k*( zPRdZZ^yW5`bMY5VwS>#}EHl}ZWIi`u)RI{qzRhUbv$ZvU_SplG8& z)fopn-|BI^bhQ3*>1{Z}=FMu+%VpKipO|hPf6#7u;`AIh(o^%KinP!dFi$dR4NgyEJIatb0oOm$$4|I~uX;)&aHD zIM3A@3Ea0^;(f2K`^$tVANqjl@=}7?nyq!Pd1{hgMQ+aA31_no8wj+# zuj^WSeyiA|Xu-BCd?pv>I|O<8J5HQ_%ynApma^B|*LOK*O`lga=jxl9&6C2P25+pt zyY69g-^?PuZRfXtpRLqr;(Vu6OfKu~Z3C8NYB7h8Wi>{;^R8H^yk?H^*07lEVq!_1 zJL-HMKkK}CS7G1kxXufa3vaV&ulvwrp~L4bSjts7>BMIPe}~tbI+j0J?!ZsIwI~S$k zgpcKCc6_d7@zaV?nq85Ud;eeP>d$J$T{HKb4SW>hS831FIo%&Qgj#_GZTz#qW3z#w zvj>>bEP){eFKBZU%Tn|7fkllTwBXP~&i=*VvP3trpg_L>s00|6y_0?Y4;%2bz5gwm zDDLNLWv4R3>AeTfgb5AOpQ7?pvL|bJ+JAfRc`Gkld%}yQpI)2y$zOkZYlZBxJ`-2H zw}=1Sw%nVtrh!Y9mG`B2Q0lffUsI3fW%xX&&KHs?-h?B!p(zQ!K?*i^f2-n~Bu znUoaQGS7TeH`(gk_s=(N&brXm!o*&BQY&C0f6VsjTW%(3`_B7g$Z^ieXok@h4dW>* z9i&@6%sJ|;KKDWShVMKMrF?mdeGC`L70a*vD{Z){@a=8U%Z5CWkMn*UpYfqvL+R9n zOG-PJ*NM2~oN$~vovm}y6H&f|hC7$qTms`yFY`)%B)&yRGHp(2p+lOd`zK zYd%mt0s#UHZyiA_c-n+$L(~@N%>bxAh9!;a$l8z^1^6rmRpSrk>j z5CGD39>|30f>qo2bc3pS2mtB+3uL0}hE)2vg9}vcLjcGGePEWxW&)xSfZHTcGXP;y zCIOR>O9kY3!PYE*nY*NMJ=?|Z0J1&UY6pZp?kos< zpmhbZW^4r~LUSf7Qc@+g7)7=QTW&>I6U|PpHHf?$;LXYgGLZ)e8-O*ySD={;3;^jN B|5^Y5 literal 0 HcmV?d00001 From 222d05bb8f7c49169a6fc7369953d5dfedd5d80e Mon Sep 17 00:00:00 2001 From: Raushan Date: Fri, 1 May 2026 15:05:01 +0530 Subject: [PATCH 107/133] FISH-12092: Update copyright years and ownership --- .../admingui/common/handlers/DeploymentHandler.java | 6 +++--- .../src/main/resources/applications/redeployFrame.jsf | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java index 7c24117720c..e1cd0027c4e 100644 --- a/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java +++ b/appserver/admingui/common/src/main/java/org/glassfish/admingui/common/handlers/DeploymentHandler.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) 2018-2026 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -23,7 +23,7 @@ * Modifications: * If applicable, add the following below the License Header, with the fields * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright 2026 Payara Foundation and/or its affiliates" + * "Portions Copyright [year] [name of copyright owner]" * * Contributor(s): * If you wish your version of this file to be governed by only the CDDL or @@ -37,7 +37,7 @@ * only if the new code is made subject to such option by the copyright * holder. */ -// Portions Copyright 2026 Payara Foundation and/or its affiliates +// Portions Copyright 2018-2026 Payara Foundation and/or its affiliates /* * DeploymentHandler.java diff --git a/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf b/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf index 00a8670bcbf..8ef65dd5bb9 100644 --- a/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf +++ b/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf @@ -2,7 +2,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - Copyright (c) 2018-2026 Oracle and/or its affiliates. All rights reserved. + Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. The contents of this file are subject to the terms of either the GNU General Public License Version 2 only ("GPL") or the Common Development @@ -24,7 +24,7 @@ Modifications: If applicable, add the following below the License Header, with the fields enclosed by brackets [] replaced by your own identifying information: - "Portions Copyright 2026 Payara Foundation and/or its affiliates" + "Portions Copyright [year] [name of copyright owner]" Contributor(s): If you wish your version of this file to be governed by only the CDDL or @@ -38,6 +38,8 @@ only if the new code is made subject to such option by the copyright holder. + Portions Copyright 2018-2026 Payara Foundation and/or its affiliates + --> From 9a0783ada37217f5f7c535bb6ced438a678767d2 Mon Sep 17 00:00:00 2001 From: Raushan Date: Fri, 1 May 2026 15:13:36 +0530 Subject: [PATCH 108/133] FISH-12092: Update copyright year --- .../common/src/main/resources/applications/redeployFrame.jsf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf b/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf index 8ef65dd5bb9..97632c12b3b 100644 --- a/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf +++ b/appserver/admingui/common/src/main/resources/applications/redeployFrame.jsf @@ -38,7 +38,7 @@ only if the new code is made subject to such option by the copyright holder. - Portions Copyright 2018-2026 Payara Foundation and/or its affiliates + Portions Copyright 2026 Payara Foundation and/or its affiliates --> From d2e9aa3844012a90fe19df2fe9e9082dbd39fa74 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Fri, 1 May 2026 11:40:48 +0100 Subject: [PATCH 109/133] FISH-13126 Update use-bundled-jsf-primefaces Make it use the new versions, a little bit of cleanup, and ensure the versions are aligned Signed-off-by: Andrew Pielage --- .../samples/use-bundled-jsf-primefaces/pom.xml | 16 ++-------------- .../src/main/webapp/WEB-INF/beans.xml | 6 +++--- .../src/main/webapp/WEB-INF/faces-config.xml | 6 +++--- .../src/main/webapp/WEB-INF/payara-web.xml | 5 ++--- .../src/main/webapp/WEB-INF/web.xml | 6 +++--- .../primefaces/DontUseBundledJsfTest.java | 4 ++-- .../primefaces/ParallelUseBundledJsfTest.java | 6 +++--- .../primefaces/UseBundledJsfEarTest.java | 4 ++-- .../primefaces/UseBundledJsfTest.java | 4 ++-- 9 files changed, 22 insertions(+), 35 deletions(-) diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml index e17dcf8abef..df6171143b0 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml @@ -2,7 +2,7 @@ - - jakarta.ws.rs - jakarta.ws.rs-api - provided - - - jakarta.enterprise - jakarta.enterprise.cdi-api - provided - - @@ -82,7 +70,7 @@ org.primefaces primefaces - 15.0.14 + 15.0.14 jakarta diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/beans.xml b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/beans.xml index f0e4f7a9963..86fca00405a 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/beans.xml +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/beans.xml @@ -2,7 +2,7 @@ + version="4.1"> \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/faces-config.xml b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/faces-config.xml index 2c91123e84b..9ff8a686cdf 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/faces-config.xml +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/faces-config.xml @@ -2,7 +2,7 @@ + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee/web-facesconfig_4_1.xsd" + version="4.1"> \ No newline at end of file diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/payara-web.xml b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/payara-web.xml index b6a93012018..e5495f1ab46 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/payara-web.xml +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/payara-web.xml @@ -2,7 +2,7 @@ - + usebundledjsfsample diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/web.xml b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/web.xml index 4a372f8fd60..86b6452c3c1 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/web.xml +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/web.xml @@ -2,7 +2,7 @@ + xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee/web-app_6_1.xsd" + version="6.1"> 30 diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/DontUseBundledJsfTest.java b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/DontUseBundledJsfTest.java index 716b9816c19..cc70687d556 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/DontUseBundledJsfTest.java +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/DontUseBundledJsfTest.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) 2023 Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2023-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -78,7 +78,7 @@ public static WebArchive createDeployment() { // Don't add payara-web.xml so that useBundledJsf and class loader delegation are not configured // .addAsWebInfResource(new File("src/main/webapp/WEB-INF", "payara-web.xml")) .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.glassfish:jakarta.faces:" + JSF_VERSION)) - .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.primefaces:primefaces:jar:jakarta:13.0.1")); + .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.primefaces:primefaces:jar:jakarta:15.0.4")); } @Test diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/ParallelUseBundledJsfTest.java b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/ParallelUseBundledJsfTest.java index d105bc5aaf7..c7aa6eb26ec 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/ParallelUseBundledJsfTest.java +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/ParallelUseBundledJsfTest.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) 2023 Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2023-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -75,7 +75,7 @@ public static WebArchive createDontDeployment() { // Don't add payara-web.xml so that useBundledJsf and class loader delegation are not configured // .addAsWebInfResource(new File("src/main/webapp/WEB-INF", "payara-web.xml")) .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.glassfish:jakarta.faces:" + JSF_VERSION)) - .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.primefaces:primefaces:jar:jakarta:13.0.1")); + .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.primefaces:primefaces:jar:jakarta:15.0.4")); } @Deployment(name = "usebundledjsfprimefaces") @@ -87,7 +87,7 @@ public static WebArchive createUseDeployment() { .addAsWebInfResource(new File("src/main/webapp/WEB-INF", "web.xml")) .addAsWebInfResource(new File("src/main/webapp/WEB-INF", "payara-web.xml")) .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.glassfish:jakarta.faces:" + JSF_VERSION)) - .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.primefaces:primefaces:jar:jakarta:13.0.1")); + .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.primefaces:primefaces:jar:jakarta:15.0.4")); } diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/UseBundledJsfEarTest.java b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/UseBundledJsfEarTest.java index c5b402542f6..b125e1c30ae 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/UseBundledJsfEarTest.java +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/UseBundledJsfEarTest.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) 2023 Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2023-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -81,7 +81,7 @@ public static EnterpriseArchive createDeployment() { .addAsWebInfResource(new File("src/main/webapp/WEB-INF", "web.xml")) .addAsWebInfResource(new File("src/main/webapp/WEB-INF", "payara-web.xml")) .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.glassfish:jakarta.faces:" + JSF_VERSION)) - .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.primefaces:primefaces:jar:jakarta:13.0.1"))); + .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.primefaces:primefaces:jar:jakarta:15.0.4"))); } @Test diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/UseBundledJsfTest.java b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/UseBundledJsfTest.java index a9f6c331cba..e2bf6aa686e 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/UseBundledJsfTest.java +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/test/java/fish/payara/samples/usebundledjsf/primefaces/UseBundledJsfTest.java @@ -1,7 +1,7 @@ /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * - * Copyright (c) 2023 Payara Foundation and/or its affiliates. All rights reserved. + * Copyright (c) 2023-2026 Payara Foundation and/or its affiliates. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development @@ -77,7 +77,7 @@ public static WebArchive createDeployment() { .addAsWebInfResource(new File("src/main/webapp/WEB-INF", "web.xml")) .addAsWebInfResource(new File("src/main/webapp/WEB-INF", "payara-web.xml")) .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.glassfish:jakarta.faces:" + JSF_VERSION)) - .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.primefaces:primefaces:jar:jakarta:13.0.1")); + .addAsLibraries(Libraries.resolveMavenCoordinatesToFiles("org.primefaces:primefaces:jar:jakarta:15.0.4")); } @Test From e507466178572d16b8b54fa670f0bdbe4b58aa80 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Fri, 1 May 2026 11:50:06 +0100 Subject: [PATCH 110/133] FISH-13126 Fix payara-micro relative pom Signed-off-by: Andrew Pielage --- appserver/tests/functional/payara-micro/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/functional/payara-micro/pom.xml b/appserver/tests/functional/payara-micro/pom.xml index d848574850d..b6dc6d36a81 100644 --- a/appserver/tests/functional/payara-micro/pom.xml +++ b/appserver/tests/functional/payara-micro/pom.xml @@ -47,7 +47,7 @@ fish.payara.samples payara-samples-profiled-tests 7.2026.5-SNAPSHOT - ../payara-samples/samples + ../../payara-samples/samples payara-micro From b8c26a1c323816683f345def95a978cf1c751ef9 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Fri, 1 May 2026 11:50:36 +0100 Subject: [PATCH 111/133] FISH-13126 Add simple functional test for payara-application.xml Signed-off-by: Andrew Pielage --- Jenkinsfile | 7 ++ .../functional/payara-application-xml/pom.xml | 91 ++++++++++++++++++ .../src/test/META-INF/payara-application.xml | 48 ++++++++++ .../payaraapplicationxml/HelloWorld.java | 54 +++++++++++ .../payaraapplicationxml/HelloWorldIT.java | 94 +++++++++++++++++++ .../payaraapplicationxml/Resources.java | 47 ++++++++++ .../src/test/webapp/WEB-INF/beans.xml | 46 +++++++++ 7 files changed, 387 insertions(+) create mode 100644 appserver/tests/functional/payara-application-xml/pom.xml create mode 100644 appserver/tests/functional/payara-application-xml/src/test/META-INF/payara-application.xml create mode 100644 appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/HelloWorld.java create mode 100644 appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/HelloWorldIT.java create mode 100644 appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/Resources.java create mode 100644 appserver/tests/functional/payara-application-xml/src/test/webapp/WEB-INF/beans.xml diff --git a/Jenkinsfile b/Jenkinsfile index c2082dd4dcb..bdf5726277e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -429,6 +429,13 @@ pipeline { sh """python3 appserver/tests/functional/asadmin/run_all_tests.py \ --asadmin ${pwd()}/payara7/bin/asadmin""" echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran asadmin test *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' + + echo '*#*#*#*#*#*#*#*#*#*#*#*# Running payara-application.xml tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' + sh """mvn -V -B -ff clean verify --strict-checksums --Ppayara-server-remote \ + -Dsurefire.rerunFailingTestsCount=2 \ + -Dfailsafe.rerunFailingTestsCount=2 \ + -f appserver/tests/functional/payara-application-xml """ + echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran payara-application.xml tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' } post { always { diff --git a/appserver/tests/functional/payara-application-xml/pom.xml b/appserver/tests/functional/payara-application-xml/pom.xml new file mode 100644 index 00000000000..242da4cbd99 --- /dev/null +++ b/appserver/tests/functional/payara-application-xml/pom.xml @@ -0,0 +1,91 @@ + + + + 4.0.0 + + + fish.payara.samples + payara-samples-profiled-tests + 7.2026.5-SNAPSHOT + ../../payara-samples/samples + + + fish.payara.functional-tests + payara-application-xml + Payara Functional Tests: payara-application-xml + + + + jakarta.platform + jakarta.jakartaee-api + provided + + + + org.jboss.shrinkwrap.resolver + shrinkwrap-resolver-impl-maven + test + + + org.jboss.shrinkwrap.resolver + shrinkwrap-resolver-api-maven + test + + + + fish.payara.samples + samples-test-utils + + + + org.glassfish.jersey.core + jersey-client + test + + + org.glassfish.jersey.inject + jersey-hk2 + test + + + + diff --git a/appserver/tests/functional/payara-application-xml/src/test/META-INF/payara-application.xml b/appserver/tests/functional/payara-application-xml/src/test/META-INF/payara-application.xml new file mode 100644 index 00000000000..5f2ba5cf00a --- /dev/null +++ b/appserver/tests/functional/payara-application-xml/src/test/META-INF/payara-application.xml @@ -0,0 +1,48 @@ + + + + + + + helloworld.war + /goodbye + + \ No newline at end of file diff --git a/appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/HelloWorld.java b/appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/HelloWorld.java new file mode 100644 index 00000000000..e7956d9bde7 --- /dev/null +++ b/appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/HelloWorld.java @@ -0,0 +1,54 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2026 Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * The Payara Foundation designates this particular file as subject to the "Classpath" + * exception as provided by the Payara Foundation in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +package fish.payara.tests.functional.payaraapplicationxml; + +import jakarta.enterprise.context.RequestScoped; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; + +@RequestScoped +@Path("/hello") +public class HelloWorld { + + @GET + public String sayHello() { + return "Hello World!"; + } +} diff --git a/appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/HelloWorldIT.java b/appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/HelloWorldIT.java new file mode 100644 index 00000000000..fb21af2dea0 --- /dev/null +++ b/appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/HelloWorldIT.java @@ -0,0 +1,94 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2026 Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * The Payara Foundation designates this particular file as subject to the "Classpath" + * exception as provided by the Payara Foundation in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +package fish.payara.tests.functional.payaraapplicationxml; + +import fish.payara.samples.NotMicroCompatible; +import fish.payara.samples.PayaraArquillianTestRunner; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.RunAsClient; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; + +import jakarta.ws.rs.client.ClientBuilder; +import jakarta.ws.rs.client.WebTarget; +import jakarta.ws.rs.core.Response; +import java.io.File; +import java.net.URI; + +/** + * Test that checks that the context root defined in an EAR's payara-application.xml is used + */ +@RunWith(PayaraArquillianTestRunner.class) +@NotMicroCompatible +public class HelloWorldIT { + + @ArquillianResource + private URI uri; + + @Deployment + public static EnterpriseArchive createDeployment() { + return ShrinkWrap.create(EnterpriseArchive.class, "helloworld.ear") + .addAsManifestResource(new File("src/test/META-INF", "payara-application.xml")) + .addAsModule(ShrinkWrap.create(WebArchive.class, "helloworld.war") + .addClasses(Resources.class, HelloWorld.class) + .addAsWebInfResource(new File("src/test/webapp/WEB-INF", "beans.xml"))); + } + + @Test + @RunAsClient + public void checkFacesContextImplementationVersionApplicationXml() { + WebTarget target = ClientBuilder.newClient().target(uri).path("resources").path("hello"); + Response response = target.request().get(); + + System.out.println("Context root should be \"goodbye\" as defined by the EAR's payara-application.xml, " + + "overriding the default context root of \"helloworld\" obtained from the EAR's name: " + uri.getPath()); + + String message = response.readEntity(String.class); + + Assert.assertEquals(200, response.getStatus()); + Assert.assertEquals("Hello World!", message); + Assert.assertTrue(uri.getPath().equals("/goodbye/")); + } +} \ No newline at end of file diff --git a/appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/Resources.java b/appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/Resources.java new file mode 100644 index 00000000000..45d104ab36e --- /dev/null +++ b/appserver/tests/functional/payara-application-xml/src/test/java/fish/payara/tests/functional/payaraapplicationxml/Resources.java @@ -0,0 +1,47 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2026 Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/main/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at legal/OPEN-SOURCE-LICENSE.txt. + * + * GPL Classpath Exception: + * The Payara Foundation designates this particular file as subject to the "Classpath" + * exception as provided by the Payara Foundation in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +package fish.payara.tests.functional.payaraapplicationxml; + +import jakarta.ws.rs.ApplicationPath; +import jakarta.ws.rs.core.Application; + +@ApplicationPath("/resources") +public class Resources extends Application { +} diff --git a/appserver/tests/functional/payara-application-xml/src/test/webapp/WEB-INF/beans.xml b/appserver/tests/functional/payara-application-xml/src/test/webapp/WEB-INF/beans.xml new file mode 100644 index 00000000000..dc616f22ae4 --- /dev/null +++ b/appserver/tests/functional/payara-application-xml/src/test/webapp/WEB-INF/beans.xml @@ -0,0 +1,46 @@ + + + + \ No newline at end of file From 7e328015e997d474d17a69d3aa91a48c4c9a8a8d Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Fri, 1 May 2026 11:50:53 +0100 Subject: [PATCH 112/133] FISH-13126 Add profile for functional tests Signed-off-by: Andrew Pielage --- appserver/tests/pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/appserver/tests/pom.xml b/appserver/tests/pom.xml index 6d214948a5c..f7fdbe558a5 100755 --- a/appserver/tests/pom.xml +++ b/appserver/tests/pom.xml @@ -67,6 +67,14 @@ fish372-tests + + functional-tests + + functional/payara-micro + functional/embeddedtest + functional/payara-application-xml + + From e44ccd5492f78aa5ae944487aec21fe60e9a5f11 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Fri, 1 May 2026 13:50:12 +0100 Subject: [PATCH 113/133] FISH-13126 Remove duplicate - Signed-off-by: Andrew Pielage --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index bdf5726277e..2a71a157682 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -431,7 +431,7 @@ pipeline { echo '*#*#*#*#*#*#*#*#*#*#*#*# Ran asadmin test *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' echo '*#*#*#*#*#*#*#*#*#*#*#*# Running payara-application.xml tests *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#' - sh """mvn -V -B -ff clean verify --strict-checksums --Ppayara-server-remote \ + sh """mvn -V -B -ff clean verify --strict-checksums -Ppayara-server-remote \ -Dsurefire.rerunFailingTestsCount=2 \ -Dfailsafe.rerunFailingTestsCount=2 \ -f appserver/tests/functional/payara-application-xml """ From 7812cb717a52814d1185218eb157469176c03d36 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Fri, 1 May 2026 16:02:17 +0100 Subject: [PATCH 114/133] FISH-13126 Update DTD locations Signed-off-by: Andrew Pielage --- .../gf_template/src/main/resources/config/payara-acc.xml | 2 +- .../src/main/resources/config/payara-acc.xml | 2 +- .../client/acc-config/src/test/resources/payara-acc.xml | 2 +- .../com/sun/enterprise/deployment/xml/DTDRegistry.java | 8 ++++---- .../glassfish/lib/dtds/payara-application-client_11-0.dtd | 2 +- .../glassfish/lib/dtds/payara-application_11-0.dtd | 2 +- .../resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd | 2 +- .../resources/glassfish/lib/dtds/payara-web-app_6_1-0.dtd | 2 +- .../src/test/META-INF/payara-application.xml | 2 +- .../src/main/webapp/WEB-INF/payara-ejb-jar.xml | 2 +- .../resources/ForFailures/META-INF/payara-ejb-jar.xml | 2 +- .../src/main/webapp/WEB-INF/payara-web.xml | 2 +- .../ejb/mdb/metadata/payara-application-client.xml | 2 +- 13 files changed, 16 insertions(+), 16 deletions(-) diff --git a/appserver/admin/gf_template/src/main/resources/config/payara-acc.xml b/appserver/admin/gf_template/src/main/resources/config/payara-acc.xml index 1cbcee7e69d..c7e8941973d 100644 --- a/appserver/admin/gf_template/src/main/resources/config/payara-acc.xml +++ b/appserver/admin/gf_template/src/main/resources/config/payara-acc.xml @@ -49,7 +49,7 @@ - Property security.config in message-security-config --> - + diff --git a/appserver/admin/gf_template_web/src/main/resources/config/payara-acc.xml b/appserver/admin/gf_template_web/src/main/resources/config/payara-acc.xml index a08a09cb4e0..a32a03ed338 100644 --- a/appserver/admin/gf_template_web/src/main/resources/config/payara-acc.xml +++ b/appserver/admin/gf_template_web/src/main/resources/config/payara-acc.xml @@ -47,7 +47,7 @@ - Property security.config in message-security-config --> - + diff --git a/appserver/appclient/client/acc-config/src/test/resources/payara-acc.xml b/appserver/appclient/client/acc-config/src/test/resources/payara-acc.xml index 88b009ca771..74dc3bd5dc0 100644 --- a/appserver/appclient/client/acc-config/src/test/resources/payara-acc.xml +++ b/appserver/appclient/client/acc-config/src/test/resources/payara-acc.xml @@ -49,7 +49,7 @@ - Property security.config in message-security-config --> - + diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java index 2cadb881e6d..ed4e8a1c4f3 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/DTDRegistry.java @@ -279,16 +279,16 @@ public final class DTDRegistry { public static final String PAYARA_WEBAPP_4_DTD_SYSTEM_ID = "https://docs.payara.fish/schemas/payara-web-app_4.dtd"; public static final String PAYARA_WEBAPP_610_DTD_PUBLIC_ID = "-//Payara.fish//DTD Payara Server 7 Servlet 6.1//EN"; - public static final String PAYARA_WEBAPP_610_DTD_SYSTEM_ID = "https://docs.payara.fish/schemas/payara-web-app_6_1-0.dtd"; + public static final String PAYARA_WEBAPP_610_DTD_SYSTEM_ID = "https://raw.githubusercontent.com/payara/Payara-Documentation/main-7/docs/modules/ROOT/pages/Appendix/Schemas/payara-web-app_6_1-0.dtd"; public static final String PAYARA_APPCLIENT_110_DTD_PUBLIC_ID = "-//Payara.fish//DTD Payara Application Server 7 Jakarta EE Application Client 11//EN"; - public static final String PAYARA_APPCLIENT_110_DTD_SYSTEM_ID = "https://docs.payara.fish/schemas/payara-application-client_11-0.dtd"; + public static final String PAYARA_APPCLIENT_110_DTD_SYSTEM_ID = "https://raw.githubusercontent.com/payara/Payara-Documentation/main-7/docs/modules/ROOT/pages/Appendix/Schemas/payara-application-client_11-0.dtd"; public static final String PAYARA_APPLICATION_110_DTD_PUBLIC_ID = "-//Payara.fish//DTD Payara Application Server 7 Jakarta EE Application 11//EN"; - public static final String PAYARA_APPLICATION_110_DTD_SYSTEM_ID = "https://docs.payara.fish/schemas/payara-application_11-0.dtd"; + public static final String PAYARA_APPLICATION_110_DTD_SYSTEM_ID = "https://raw.githubusercontent.com/payara/Payara-Documentation/main-7/docs/modules/ROOT/pages/Appendix/Schemas/payara-application_11-0.dtd"; public static final String PAYARA_EJBJAR_400_DTD_PUBLIC_ID = "-//Payara.fish//DTD Payara Application Server 7 EJB 4.0//EN"; - public static final String PAYARA_EJBJAR_400_DTD_SYSTEM_ID = "https://docs.payara.fish/schemas/payara-ejb-jar_4_0-0.dtd"; + public static final String PAYARA_EJBJAR_400_DTD_SYSTEM_ID = "https://raw.githubusercontent.com/payara/Payara-Documentation/main-7/docs/modules/ROOT/pages/Appendix/Schemas/payara-ejb-jar_4_0-0.dtd"; } diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application-client_11-0.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application-client_11-0.dtd index 20305c51594..686df0528fd 100644 --- a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application-client_11-0.dtd +++ b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application-client_11-0.dtd @@ -47,7 +47,7 @@ It must include a DOCTYPE of the following form: - + --> diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application_11-0.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application_11-0.dtd index b1cde77e70f..6cbf0690ac9 100644 --- a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application_11-0.dtd +++ b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application_11-0.dtd @@ -47,7 +47,7 @@ It must include a DOCTYPE of the following form: - + --> diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd index 1d39fef73c7..7c97a5e2130 100644 --- a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd +++ b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd @@ -47,7 +47,7 @@ It must include a DOCTYPE of the following form: - + --> diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-web-app_6_1-0.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-web-app_6_1-0.dtd index 348550990f8..6b21bf85e43 100644 --- a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-web-app_6_1-0.dtd +++ b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-web-app_6_1-0.dtd @@ -49,7 +49,7 @@ It must include a DOCTYPE of the following form: - + --> diff --git a/appserver/tests/functional/payara-application-xml/src/test/META-INF/payara-application.xml b/appserver/tests/functional/payara-application-xml/src/test/META-INF/payara-application.xml index 5f2ba5cf00a..08f2e39ac61 100644 --- a/appserver/tests/functional/payara-application-xml/src/test/META-INF/payara-application.xml +++ b/appserver/tests/functional/payara-application-xml/src/test/META-INF/payara-application.xml @@ -38,7 +38,7 @@ only if the new code is made subject to such option by the copyright holder. --> - + diff --git a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/main/webapp/WEB-INF/payara-ejb-jar.xml b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/main/webapp/WEB-INF/payara-ejb-jar.xml index a952db346b0..98c54f99619 100644 --- a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/main/webapp/WEB-INF/payara-ejb-jar.xml +++ b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/main/webapp/WEB-INF/payara-ejb-jar.xml @@ -1,4 +1,4 @@ - + diff --git a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/resources/ForFailures/META-INF/payara-ejb-jar.xml b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/resources/ForFailures/META-INF/payara-ejb-jar.xml index b1efdc16120..b12438a400a 100644 --- a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/resources/ForFailures/META-INF/payara-ejb-jar.xml +++ b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/src/test/resources/ForFailures/META-INF/payara-ejb-jar.xml @@ -1,4 +1,4 @@ - + diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/payara-web.xml b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/payara-web.xml index e5495f1ab46..acc77f7bd44 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/payara-web.xml +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/src/main/webapp/WEB-INF/payara-web.xml @@ -38,7 +38,7 @@ only if the new code is made subject to such option by the copyright holder. --> - + usebundledjsfsample diff --git a/appserver/tests/quicklook/ejb/mdb/metadata/payara-application-client.xml b/appserver/tests/quicklook/ejb/mdb/metadata/payara-application-client.xml index dfa3286db3f..480b638b71b 100644 --- a/appserver/tests/quicklook/ejb/mdb/metadata/payara-application-client.xml +++ b/appserver/tests/quicklook/ejb/mdb/metadata/payara-application-client.xml @@ -1,5 +1,5 @@ - + diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application_11-0.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application_11-0.dtd index 6cbf0690ac9..b389800c27a 100644 --- a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application_11-0.dtd +++ b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-application_11-0.dtd @@ -64,7 +64,7 @@ This is the root element of the runtime descriptor document. which will be the default mode of operation. This can be set to true for non-compliant and possibly higher performance. For a stand-alone, this can be set at this level. By setting - a similarly named element at glassfish-application, it can apply to + a similarly named element at payara-application, it can apply to all the enclosed ejb modules. Allowed values are true and false. Default will be false. --> From 23a3c7de2c87976ef82ce18d47f0d21016cb595e Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 4 May 2026 12:26:24 +0100 Subject: [PATCH 116/133] FISH-13126 Another rename Signed-off-by: Andrew Pielage --- .../resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd index 7c97a5e2130..af9144d8670 100644 --- a/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd +++ b/appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds/payara-ejb-jar_4_0-0.dtd @@ -494,7 +494,7 @@ pass-by-reference elements controls use of Pass by Reference semantics. EJB spec requires pass by value, which will be the default mode of operation. This can be set to true for non-compliant operation and possibly higher performance. For a stand-alone server, this can be used. By setting a similarly -named element at glassfish-application.xml, it can apply to all the enclosed +named element at payara-application.xml, it can apply to all the enclosed ejb modules. Allowed values are true and false. Default will be false. --> @@ -1039,7 +1039,7 @@ removes these Java EE 6 restrictions. From 452084da2270d30d0a1aaf97057ad7ecba9b0b2f Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 4 May 2026 14:13:36 +0100 Subject: [PATCH 117/133] FISH-13126 Update javadoc Signed-off-by: Andrew Pielage --- .../main/java/com/sun/enterprise/deployment/util/DOLUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/util/DOLUtils.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/util/DOLUtils.java index 4a1f719dcd3..83b9486b40c 100644 --- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/util/DOLUtils.java +++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/util/DOLUtils.java @@ -424,7 +424,7 @@ private static List sortConfigurationDDFi } /** - * If the path does not contain "glassfish-" this method throws an IllegalArgumentException + * If the path does not contain "glassfish-" or "payara-" this method throws an IllegalArgumentException * @param runtimeAltDDPath */ public static void validateRuntimeAltDDPath(String runtimeAltDDPath) { From 7e285e7dba360fc1e82c2063bc54e8542a5ae051 Mon Sep 17 00:00:00 2001 From: Andrew Pielage Date: Mon, 4 May 2026 14:13:59 +0100 Subject: [PATCH 118/133] FISH-13126 Rename property name Signed-off-by: Andrew Pielage --- .../appclient/server/core/jws/AppClientHTTPAdapter.java | 2 +- .../core/jws/templates/appclientMainDocumentTemplate.jnlp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/AppClientHTTPAdapter.java b/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/AppClientHTTPAdapter.java index 413ce5cea74..fefff35d3e2 100644 --- a/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/AppClientHTTPAdapter.java +++ b/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/AppClientHTTPAdapter.java @@ -366,7 +366,7 @@ private Properties prepareRequestPlaceholders( answer.setProperty("request.adapter.context.root", contextRoot()); - answer.setProperty("request.glassfish-acc.xml.content", + answer.setProperty("request.payara-acc.xml.content", Util.toXMLEscaped(accConfigContent.sunACC())); answer.setProperty("request.appclient.login.conf.content", Util.toXMLEscaped(accConfigContent.appClientLogin())); diff --git a/appserver/appclient/server/core/src/main/resources/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp b/appserver/appclient/server/core/src/main/resources/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp index 3914cceec88..1be21dc6b22 100644 --- a/appserver/appclient/server/core/src/main/resources/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp +++ b/appserver/appclient/server/core/src/main/resources/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp @@ -40,6 +40,7 @@ holder. --> + - + From 18b2681805350485509dda70988d3ab8caeac2c8 Mon Sep 17 00:00:00 2001 From: Payara-CI Date: Tue, 5 May 2026 07:39:49 +0000 Subject: [PATCH 119/133] Increment version numbers for Release --- api/payara-api/pom.xml | 2 +- api/payara-bom/pom.xml | 2 +- api/pom.xml | 2 +- appserver/admin/admin-core/pom.xml | 2 +- appserver/admin/backup-l10n/pom.xml | 2 +- appserver/admin/backup/pom.xml | 2 +- appserver/admin/cli-optional-l10n/pom.xml | 2 +- appserver/admin/cli-optional/pom.xml | 2 +- appserver/admin/cli/pom.xml | 2 +- appserver/admin/gf_template/pom.xml | 2 +- appserver/admin/gf_template_web/pom.xml | 2 +- appserver/admin/pom.xml | 2 +- .../admingui/cdieventbus-notifier-console-plugin-l10n/pom.xml | 2 +- .../admingui/cdieventbus-notifier-console-plugin/pom.xml | 2 +- appserver/admingui/cluster-l10n/pom.xml | 2 +- appserver/admingui/cluster/pom.xml | 2 +- appserver/admingui/common-l10n/pom.xml | 2 +- appserver/admingui/common/pom.xml | 2 +- appserver/admingui/concurrent-l10n/pom.xml | 2 +- appserver/admingui/concurrent/pom.xml | 2 +- appserver/admingui/corba-l10n/pom.xml | 2 +- appserver/admingui/corba/pom.xml | 2 +- appserver/admingui/core-l10n/pom.xml | 2 +- appserver/admingui/core/pom.xml | 2 +- appserver/admingui/dataprovider/pom.xml | 2 +- appserver/admingui/devtests/pom.xml | 2 +- appserver/admingui/dist-fragment/pom.xml | 2 +- appserver/admingui/ejb-l10n/pom.xml | 2 +- appserver/admingui/ejb-lite-l10n/pom.xml | 2 +- appserver/admingui/ejb-lite/pom.xml | 2 +- appserver/admingui/ejb/pom.xml | 2 +- .../admingui/eventbus-notifier-console-plugin-l10n/pom.xml | 2 +- appserver/admingui/eventbus-notifier-console-plugin/pom.xml | 2 +- appserver/admingui/faces-compat/pom.xml | 2 +- appserver/admingui/full-l10n/pom.xml | 2 +- appserver/admingui/full/pom.xml | 2 +- appserver/admingui/gf-admingui-connector/pom.xml | 2 +- .../admingui/healthcheck-service-console-plugin-l10n/pom.xml | 2 +- appserver/admingui/healthcheck-service-console-plugin/pom.xml | 2 +- appserver/admingui/jca-l10n/pom.xml | 2 +- appserver/admingui/jca/pom.xml | 2 +- appserver/admingui/jdbc-l10n/pom.xml | 2 +- appserver/admingui/jdbc/pom.xml | 2 +- appserver/admingui/jms-notifier-console-plugin-l10n/pom.xml | 2 +- appserver/admingui/jms-notifier-console-plugin/pom.xml | 2 +- appserver/admingui/jms-plugin-l10n/pom.xml | 2 +- appserver/admingui/jms-plugin/pom.xml | 2 +- appserver/admingui/jmx-monitoring-plugin-l10n/pom.xml | 2 +- appserver/admingui/jmx-monitoring-plugin/pom.xml | 2 +- appserver/admingui/jts-l10n/pom.xml | 2 +- appserver/admingui/jts/pom.xml | 2 +- appserver/admingui/microprofile-console-plugin-l10n/pom.xml | 2 +- appserver/admingui/microprofile-console-plugin/pom.xml | 2 +- appserver/admingui/payara-console-extras-l10n/pom.xml | 2 +- appserver/admingui/payara-console-extras/pom.xml | 2 +- appserver/admingui/payara-theme-l10n/pom.xml | 2 +- appserver/admingui/payara-theme/pom.xml | 2 +- appserver/admingui/plugin-service/pom.xml | 2 +- appserver/admingui/pom.xml | 2 +- appserver/admingui/reference-manual/pom.xml | 2 +- appserver/admingui/war/pom.xml | 2 +- appserver/admingui/web-l10n/pom.xml | 2 +- appserver/admingui/web/pom.xml | 2 +- appserver/admingui/webui-jsf-plugin-l10n/pom.xml | 2 +- appserver/admingui/webui-jsf-suntheme-plugin-l10n/pom.xml | 2 +- appserver/ant-tasks/pom.xml | 2 +- appserver/appclient/client/acc-config/pom.xml | 2 +- appserver/appclient/client/acc-l10n/pom.xml | 2 +- appserver/appclient/client/acc-standalone-l10n/pom.xml | 2 +- appserver/appclient/client/acc-standalone/pom.xml | 2 +- appserver/appclient/client/acc/pom.xml | 2 +- appserver/appclient/client/appclient-scripts/pom.xml | 2 +- appserver/appclient/client/pom.xml | 2 +- appserver/appclient/pom.xml | 2 +- appserver/appclient/server/connector/pom.xml | 2 +- appserver/appclient/server/core-l10n/pom.xml | 2 +- appserver/appclient/server/core/pom.xml | 2 +- appserver/appclient/server/pom.xml | 2 +- appserver/batch/batch-database/pom.xml | 2 +- appserver/batch/glassfish-batch-commands/pom.xml | 2 +- appserver/batch/glassfish-batch-connector/pom.xml | 2 +- appserver/batch/hazelcast-jbatch-store/pom.xml | 2 +- appserver/batch/jbatch-repackaged/pom.xml | 2 +- appserver/batch/pom.xml | 2 +- appserver/common/amx-javaee/pom.xml | 2 +- appserver/common/annotation-framework-l10n/pom.xml | 2 +- appserver/common/annotation-framework/pom.xml | 2 +- appserver/common/container-common-l10n/pom.xml | 2 +- appserver/common/container-common/pom.xml | 2 +- appserver/common/glassfish-ee-api/pom.xml | 2 +- appserver/common/glassfish-naming-l10n/pom.xml | 2 +- appserver/common/glassfish-naming/pom.xml | 2 +- appserver/common/pom.xml | 2 +- appserver/common/stats77-l10n/pom.xml | 2 +- appserver/common/stats77/pom.xml | 2 +- appserver/concurrent/concurrent-connector-l10n/pom.xml | 2 +- appserver/concurrent/concurrent-connector/pom.xml | 2 +- appserver/concurrent/concurrent-impl-l10n/pom.xml | 2 +- appserver/concurrent/concurrent-impl/pom.xml | 2 +- appserver/concurrent/pom.xml | 2 +- appserver/connectors/admin-l10n/pom.xml | 2 +- appserver/connectors/admin/pom.xml | 2 +- appserver/connectors/connectors-connector/pom.xml | 2 +- appserver/connectors/connectors-inbound-runtime-l10n/pom.xml | 2 +- appserver/connectors/connectors-inbound-runtime/pom.xml | 2 +- appserver/connectors/connectors-internal-api-l10n/pom.xml | 2 +- appserver/connectors/connectors-internal-api/pom.xml | 2 +- appserver/connectors/connectors-runtime-l10n/pom.xml | 2 +- appserver/connectors/connectors-runtime/pom.xml | 2 +- appserver/connectors/descriptors/pom.xml | 2 +- appserver/connectors/pom.xml | 2 +- appserver/connectors/work-management-l10n/pom.xml | 2 +- appserver/connectors/work-management/pom.xml | 2 +- appserver/core/api-exporter-fragment/pom.xml | 2 +- appserver/core/jakartaee-kernel/pom.xml | 2 +- appserver/core/pom.xml | 2 +- appserver/data/data-core/pom.xml | 2 +- appserver/data/pom.xml | 2 +- appserver/deployment/client-l10n/pom.xml | 2 +- appserver/deployment/client/pom.xml | 2 +- appserver/deployment/dol-l10n/pom.xml | 2 +- appserver/deployment/dol/pom.xml | 2 +- appserver/deployment/dtds/pom.xml | 2 +- appserver/deployment/javaee-core-l10n/pom.xml | 2 +- appserver/deployment/javaee-core/pom.xml | 2 +- appserver/deployment/javaee-full-l10n/pom.xml | 2 +- appserver/deployment/javaee-full/pom.xml | 2 +- appserver/deployment/jsr88-jar/pom.xml | 2 +- appserver/deployment/jsr88-jar/sun-as-jsr88-dm-frag/pom.xml | 2 +- appserver/deployment/jsr88-jar/sun-as-jsr88-dm/pom.xml | 2 +- appserver/deployment/pom.xml | 2 +- appserver/deployment/schemas/pom.xml | 2 +- appserver/distributions/payara-ml/pom.xml | 2 +- appserver/distributions/payara-web-ml/pom.xml | 2 +- appserver/distributions/payara-web/pom.xml | 2 +- appserver/distributions/payara/pom.xml | 2 +- appserver/distributions/pom.xml | 2 +- appserver/docker/pom.xml | 2 +- appserver/ejb/ejb-all/pom.xml | 2 +- appserver/ejb/ejb-client/pom.xml | 2 +- appserver/ejb/ejb-connector-l10n/pom.xml | 2 +- appserver/ejb/ejb-connector/pom.xml | 2 +- appserver/ejb/ejb-container-l10n/pom.xml | 2 +- appserver/ejb/ejb-container/pom.xml | 2 +- appserver/ejb/ejb-full-container/pom.xml | 2 +- appserver/ejb/ejb-http-remoting/admin/pom.xml | 2 +- appserver/ejb/ejb-http-remoting/client/pom.xml | 2 +- appserver/ejb/ejb-http-remoting/endpoint/pom.xml | 2 +- appserver/ejb/ejb-http-remoting/pom.xml | 2 +- appserver/ejb/ejb-internal-api/pom.xml | 2 +- appserver/ejb/ejb-opentracing/pom.xml | 2 +- appserver/ejb/ejb-timer-databases/pom.xml | 2 +- appserver/ejb/ejb-timer-service-app/pom.xml | 2 +- appserver/ejb/pom.xml | 2 +- appserver/extras/appserv-rt/dist-frag/pom.xml | 2 +- appserver/extras/appserv-rt/manifest-jar/pom.xml | 2 +- appserver/extras/appserv-rt/pom.xml | 2 +- appserver/extras/docker-images/micro/pom.xml | 2 +- appserver/extras/docker-images/pom.xml | 2 +- appserver/extras/docker-images/server-full/pom.xml | 2 +- appserver/extras/docker-images/server-node/pom.xml | 2 +- appserver/extras/docker-images/server-web/pom.xml | 2 +- appserver/extras/docker-images/tests/pom.xml | 2 +- appserver/extras/embedded/all/pom.xml | 2 +- appserver/extras/embedded/pom.xml | 2 +- .../embedded/shell/glassfish-embedded-shell-frag/pom.xml | 2 +- .../extras/embedded/shell/glassfish-embedded-shell/pom.xml | 2 +- .../shell/glassfish-embedded-static-shell-frag/pom.xml | 2 +- .../embedded/shell/glassfish-embedded-static-shell/pom.xml | 2 +- appserver/extras/embedded/shell/pom.xml | 2 +- appserver/extras/embedded/tests/embedded-vs-jersey/pom.xml | 2 +- appserver/extras/embedded/tests/pom.xml | 2 +- appserver/extras/embedded/web/pom.xml | 2 +- appserver/extras/javaee/dist-frag/pom.xml | 2 +- appserver/extras/javaee/manifest-jar/pom.xml | 2 +- appserver/extras/javaee/pom.xml | 2 +- appserver/extras/payara-micro/payara-micro-boot/pom.xml | 2 +- appserver/extras/payara-micro/payara-micro-core/pom.xml | 2 +- .../extras/payara-micro/payara-micro-distribution/pom.xml | 2 +- appserver/extras/payara-micro/pom.xml | 2 +- appserver/extras/pom.xml | 2 +- appserver/featuresets/glassfish/pom.xml | 2 +- appserver/featuresets/minnow-ml/pom.xml | 2 +- appserver/featuresets/minnow/pom.xml | 2 +- appserver/featuresets/payara-ml/pom.xml | 2 +- appserver/featuresets/payara-web-ml/pom.xml | 2 +- appserver/featuresets/payara-web/pom.xml | 2 +- appserver/featuresets/payara/pom.xml | 2 +- appserver/featuresets/pom.xml | 2 +- appserver/featuresets/web/pom.xml | 2 +- appserver/flashlight/btrace/pom.xml | 2 +- appserver/flashlight/client/pom.xml | 2 +- appserver/flashlight/pom.xml | 2 +- appserver/grizzly/glassfish-grizzly-extra-all/pom.xml | 2 +- appserver/grizzly/grizzly-container/pom.xml | 2 +- appserver/grizzly/pom.xml | 2 +- appserver/ha/ha-file-store/pom.xml | 2 +- appserver/ha/ha-hazelcast-store/pom.xml | 2 +- appserver/ha/pom.xml | 2 +- appserver/jdbc/admin-l10n/pom.xml | 2 +- appserver/jdbc/admin/pom.xml | 2 +- appserver/jdbc/jdbc-config-l10n/pom.xml | 2 +- appserver/jdbc/jdbc-config/pom.xml | 2 +- appserver/jdbc/jdbc-ra/jdbc-core-l10n/pom.xml | 2 +- appserver/jdbc/jdbc-ra/jdbc-core/pom.xml | 2 +- appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml | 2 +- appserver/jdbc/jdbc-ra/jdbc40/pom.xml | 2 +- appserver/jdbc/jdbc-ra/pom.xml | 2 +- appserver/jdbc/jdbc-runtime-l10n/pom.xml | 2 +- appserver/jdbc/jdbc-runtime/pom.xml | 2 +- appserver/jdbc/pom.xml | 2 +- appserver/jdbc/templates/pom.xml | 2 +- appserver/jms/admin-l10n/pom.xml | 2 +- appserver/jms/admin/pom.xml | 2 +- appserver/jms/gf-jms-connector-l10n/pom.xml | 2 +- appserver/jms/gf-jms-connector/pom.xml | 2 +- appserver/jms/gf-jms-injection-l10n/pom.xml | 2 +- appserver/jms/gf-jms-injection/pom.xml | 2 +- appserver/jms/jms-core-l10n/pom.xml | 2 +- appserver/jms/jms-core/pom.xml | 2 +- appserver/jms/jms-handlers/pom.xml | 2 +- appserver/jms/pom.xml | 2 +- appserver/orb/orb-connector-l10n/pom.xml | 2 +- appserver/orb/orb-connector/pom.xml | 2 +- appserver/orb/orb-enabler/pom.xml | 2 +- appserver/orb/orb-iiop/pom.xml | 2 +- appserver/orb/pom.xml | 2 +- appserver/osgi-platforms/felix-webconsole-extension/pom.xml | 2 +- .../osgi-platforms/glassfish-osgi-console-plugin-l10n/pom.xml | 2 +- .../osgi-platforms/glassfish-osgi-console-plugin/pom.xml | 2 +- appserver/osgi-platforms/pom.xml | 2 +- appserver/packager/JMX-Monitoring/pom.xml | 2 +- appserver/packager/appserver-base/pom.xml | 2 +- appserver/packager/appserver-core/pom.xml | 2 +- appserver/packager/asadmin-recorder/pom.xml | 2 +- appserver/packager/cdi-auth-roles/pom.xml | 2 +- appserver/packager/data/pom.xml | 2 +- appserver/packager/docker/pom.xml | 2 +- appserver/packager/environment-warning/pom.xml | 2 +- appserver/packager/external/ant/pom.xml | 2 +- appserver/packager/external/h2db/pom.xml | 2 +- appserver/packager/external/jakarta-data-api/pom.xml | 2 +- appserver/packager/external/jakarta-ee11-shim/pom.xml | 2 +- appserver/packager/external/jakarta-ee9-shim/pom.xml | 2 +- appserver/packager/external/jcip/pom.xml | 2 +- appserver/packager/external/jmsra/pom.xml | 2 +- appserver/packager/external/libpam4j/pom.xml | 2 +- appserver/packager/external/metro-xmlsec/pom.xml | 2 +- appserver/packager/external/pom.xml | 2 +- appserver/packager/felix/pom.xml | 2 +- appserver/packager/glassfish-ant-tasks/pom.xml | 2 +- appserver/packager/glassfish-appclient-l10n/pom.xml | 2 +- appserver/packager/glassfish-appclient/pom.xml | 2 +- appserver/packager/glassfish-cluster-l10n/pom.xml | 2 +- appserver/packager/glassfish-cluster/pom.xml | 2 +- appserver/packager/glassfish-common-full-l10n/pom.xml | 2 +- appserver/packager/glassfish-common-full/pom.xml | 2 +- appserver/packager/glassfish-common-l10n/pom.xml | 2 +- appserver/packager/glassfish-common-web-l10n/pom.xml | 2 +- appserver/packager/glassfish-common-web/pom.xml | 2 +- appserver/packager/glassfish-common/pom.xml | 2 +- appserver/packager/glassfish-corba-base/pom.xml | 2 +- appserver/packager/glassfish-corba/pom.xml | 2 +- appserver/packager/glassfish-ejb-l10n/pom.xml | 2 +- appserver/packager/glassfish-ejb-lite-l10n/pom.xml | 2 +- appserver/packager/glassfish-ejb-lite/pom.xml | 2 +- appserver/packager/glassfish-ejb/pom.xml | 2 +- appserver/packager/glassfish-entitybeans-container/pom.xml | 2 +- appserver/packager/glassfish-full-incorporation/pom.xml | 2 +- appserver/packager/glassfish-full-profile/pom.xml | 2 +- appserver/packager/glassfish-grizzly-full/pom.xml | 2 +- appserver/packager/glassfish-grizzly/pom.xml | 2 +- appserver/packager/glassfish-gui-l10n/pom.xml | 2 +- appserver/packager/glassfish-gui/pom.xml | 2 +- appserver/packager/glassfish-ha/pom.xml | 2 +- appserver/packager/glassfish-hk2/pom.xml | 2 +- appserver/packager/glassfish-javahelp/pom.xml | 2 +- appserver/packager/glassfish-jca-l10n/pom.xml | 2 +- appserver/packager/glassfish-jca/pom.xml | 2 +- appserver/packager/glassfish-jcdi/pom.xml | 2 +- appserver/packager/glassfish-jdbc-l10n/pom.xml | 2 +- appserver/packager/glassfish-jdbc/pom.xml | 2 +- appserver/packager/glassfish-jms-l10n/pom.xml | 2 +- appserver/packager/glassfish-jms/pom.xml | 2 +- appserver/packager/glassfish-jmx/pom.xml | 2 +- appserver/packager/glassfish-jpa-l10n/pom.xml | 2 +- appserver/packager/glassfish-jpa/pom.xml | 2 +- appserver/packager/glassfish-jsf/pom.xml | 2 +- appserver/packager/glassfish-jta-l10n/pom.xml | 2 +- appserver/packager/glassfish-jta/pom.xml | 2 +- appserver/packager/glassfish-jts-l10n/pom.xml | 2 +- appserver/packager/glassfish-jts/pom.xml | 2 +- appserver/packager/glassfish-management-l10n/pom.xml | 2 +- appserver/packager/glassfish-management/pom.xml | 2 +- appserver/packager/glassfish-nucleus-l10n/pom.xml | 2 +- appserver/packager/glassfish-nucleus/pom.xml | 2 +- appserver/packager/glassfish-osgi-feature-pack/pom.xml | 2 +- appserver/packager/glassfish-osgi-gui-l10n/pom.xml | 2 +- appserver/packager/glassfish-osgi-gui/pom.xml | 2 +- appserver/packager/glassfish-osgi-http/pom.xml | 2 +- appserver/packager/glassfish-osgi-incorporation/pom.xml | 2 +- appserver/packager/glassfish-osgi/pom.xml | 2 +- appserver/packager/glassfish-web-incorporation/pom.xml | 2 +- appserver/packager/glassfish-web-l10n/pom.xml | 2 +- appserver/packager/glassfish-web-profile/pom.xml | 2 +- appserver/packager/glassfish-web/pom.xml | 2 +- appserver/packager/h2db/pom.xml | 2 +- appserver/packager/hazelcast-l10n/pom.xml | 2 +- appserver/packager/hazelcast/pom.xml | 2 +- appserver/packager/healthcheck/pom.xml | 2 +- appserver/packager/jersey/pom.xml | 2 +- appserver/packager/json/pom.xml | 2 +- appserver/packager/legal/pom.xml | 2 +- appserver/packager/metro-l10n/pom.xml | 2 +- appserver/packager/metro/pom.xml | 2 +- appserver/packager/microprofile-package/pom.xml | 2 +- appserver/packager/mq/pom.xml | 2 +- appserver/packager/notification-jms/pom.xml | 2 +- appserver/packager/notification/pom.xml | 2 +- appserver/packager/opentracing-jaxws-package/pom.xml | 2 +- appserver/packager/payara-api/pom.xml | 2 +- appserver/packager/payara-executor-service/pom.xml | 2 +- appserver/packager/payara-micro/pom.xml | 2 +- appserver/packager/payara-mvc/pom.xml | 2 +- appserver/packager/payara-rest-endpoints/pom.xml | 2 +- appserver/packager/phonehome/pom.xml | 2 +- appserver/packager/pom.xml | 2 +- appserver/packager/requesttracing/pom.xml | 2 +- appserver/payara-appserver-modules/cdi-auth-roles/pom.xml | 2 +- .../payara-appserver-modules/environment-warning/pom.xml | 2 +- .../hazelcast-eclipselink-coordination/pom.xml | 2 +- .../payara-appserver-modules/hazelcast-ejb-timer/pom.xml | 2 +- .../payara-appserver-modules/healthcheck-checker/pom.xml | 2 +- .../payara-appserver-modules/healthcheck-metrics/pom.xml | 2 +- .../payara-appserver-modules/jaspic-servlet-utils/pom.xml | 2 +- .../payara-appserver-modules/jaxrs-client-tracing/pom.xml | 2 +- .../payara-appserver-modules/jmx-monitoring-service/pom.xml | 2 +- .../microprofile/config-extensions/pom.xml | 2 +- .../payara-appserver-modules/microprofile/config/pom.xml | 2 +- .../microprofile/fault-tolerance/pom.xml | 2 +- .../payara-appserver-modules/microprofile/healthcheck/pom.xml | 2 +- .../payara-appserver-modules/microprofile/jwt-auth/pom.xml | 2 +- .../payara-appserver-modules/microprofile/metrics/pom.xml | 2 +- .../microprofile/microprofile-common/pom.xml | 2 +- .../microprofile/microprofile-connector/pom.xml | 2 +- .../payara-appserver-modules/microprofile/openapi/pom.xml | 2 +- .../microprofile/opentracing-jaxws/pom.xml | 2 +- .../payara-appserver-modules/microprofile/opentracing/pom.xml | 2 +- appserver/payara-appserver-modules/microprofile/pom.xml | 2 +- .../microprofile/rest-client-ssl/pom.xml | 2 +- .../payara-appserver-modules/microprofile/rest-client/pom.xml | 2 +- .../payara-appserver-modules/microprofile/telemetry/pom.xml | 2 +- .../payara-appserver-modules/notification-jms-core/pom.xml | 2 +- appserver/payara-appserver-modules/payara-jsr107/pom.xml | 2 +- appserver/payara-appserver-modules/payara-micro-cdi/pom.xml | 2 +- .../payara-appserver-modules/payara-micro-service/pom.xml | 2 +- .../payara-appserver-modules/payara-rest-endpoints/pom.xml | 2 +- appserver/payara-appserver-modules/pom.xml | 2 +- appserver/persistence/common/pom.xml | 2 +- appserver/persistence/eclipselink-wrapper/pom.xml | 2 +- appserver/persistence/gf-jpa-connector/pom.xml | 2 +- appserver/persistence/jpa-container-l10n/pom.xml | 2 +- appserver/persistence/jpa-container/pom.xml | 2 +- appserver/persistence/oracle-jdbc-driver-packages/pom.xml | 2 +- appserver/persistence/pom.xml | 2 +- appserver/pom.xml | 2 +- appserver/resources/javamail/javamail-connector-l10n/pom.xml | 2 +- appserver/resources/javamail/javamail-connector/pom.xml | 2 +- appserver/resources/javamail/javamail-runtime/pom.xml | 2 +- appserver/resources/javamail/pom.xml | 2 +- appserver/resources/pom.xml | 2 +- appserver/resources/resources-connector-l10n/pom.xml | 2 +- appserver/resources/resources-connector/pom.xml | 2 +- appserver/resources/resources-runtime/pom.xml | 2 +- appserver/security/appclient.security/pom.xml | 2 +- appserver/security/core-ee-l10n/pom.xml | 2 +- appserver/security/core-ee/pom.xml | 2 +- appserver/security/ejb.security/pom.xml | 2 +- appserver/security/jacc.provider.inmemory/pom.xml | 2 +- appserver/security/pom.xml | 2 +- appserver/security/realm-stores/pom.xml | 2 +- appserver/security/security-all/pom.xml | 2 +- appserver/security/webintegration/pom.xml | 2 +- appserver/security/webservices.security-l10n/pom.xml | 2 +- appserver/security/webservices.security/pom.xml | 2 +- appserver/tests/fish372-tests/datagrid-tests/pom.xml | 2 +- appserver/tests/fish372-tests/pom.xml | 2 +- appserver/tests/functional/embeddedtest/pom.xml | 4 ++-- appserver/tests/functional/payara-application-xml/pom.xml | 2 +- appserver/tests/functional/payara-micro/pom.xml | 2 +- appserver/tests/payara-samples/classloader-data-api/pom.xml | 2 +- .../tests/payara-samples/ejb-invoker-secure-endpoint/pom.xml | 2 +- appserver/tests/payara-samples/micro-programmatic/pom.xml | 2 +- appserver/tests/payara-samples/pom.xml | 2 +- .../repackaged/http-matchers-repackaged/pom.xml | 2 +- appserver/tests/payara-samples/repackaged/pom.xml | 2 +- .../repackaged/smallrye-config-repackaged/pom.xml | 2 +- appserver/tests/payara-samples/samples/cleanboot/pom.xml | 2 +- .../samples/client-certificate-validator/pom.xml | 2 +- .../clustered-singleton/clustered-singleton-ejb/pom.xml | 2 +- .../clustered-singleton/clustered-singleton-test/pom.xml | 2 +- .../tests/payara-samples/samples/clustered-singleton/pom.xml | 2 +- appserver/tests/payara-samples/samples/concurrency/pom.xml | 2 +- .../tests/payara-samples/samples/corba-read-timeout/pom.xml | 2 +- .../custom-loginmodule-realm/loginmodule-realm-impl/pom.xml | 2 +- .../custom-loginmodule-realm/loginmodule-realm-test/pom.xml | 2 +- .../payara-samples/samples/custom-loginmodule-realm/pom.xml | 2 +- appserver/tests/payara-samples/samples/data/pom.xml | 2 +- appserver/tests/payara-samples/samples/dynamic-roles/pom.xml | 2 +- .../tests/payara-samples/samples/ejb-http-remoting/pom.xml | 2 +- appserver/tests/payara-samples/samples/formauth/pom.xml | 2 +- appserver/tests/payara-samples/samples/http/pom.xml | 2 +- appserver/tests/payara-samples/samples/jacc-per-app/pom.xml | 2 +- .../payara-samples/samples/jaxrs-rolesallowed-servlet/pom.xml | 2 +- .../tests/payara-samples/samples/jaxrs-rolesallowed/pom.xml | 2 +- appserver/tests/payara-samples/samples/jaxws-security/pom.xml | 2 +- appserver/tests/payara-samples/samples/jaxws-tracing/pom.xml | 2 +- .../samples/legacy-mode-empty-beans-xml/pom.xml | 2 +- appserver/tests/payara-samples/samples/logging/pom.xml | 2 +- .../tests/payara-samples/samples/microprofile-config/pom.xml | 2 +- .../samples/microprofile-endpoints/insecure/pom.xml | 2 +- .../payara-samples/samples/microprofile-endpoints/pom.xml | 2 +- .../samples/microprofile-endpoints/secure/pom.xml | 2 +- .../payara-samples/samples/microprofile-healthcheck/pom.xml | 2 +- .../samples/microprofile-jwt-error-cache/pom.xml | 2 +- .../tests/payara-samples/samples/microprofile-rc-ft/pom.xml | 2 +- .../payara-samples/samples/microprofile-rest-client/pom.xml | 2 +- .../tests/payara-samples/samples/multiple-keystores/pom.xml | 2 +- appserver/tests/payara-samples/samples/mvc/pom.xml | 2 +- appserver/tests/payara-samples/samples/oauth2/pom.xml | 2 +- appserver/tests/payara-samples/samples/openid/pom.xml | 2 +- appserver/tests/payara-samples/samples/opentelemetry/pom.xml | 2 +- .../samples/payara-expression-config-properties/pom.xml | 2 +- appserver/tests/payara-samples/samples/pom.xml | 2 +- .../payara-samples/samples/realm-identity-stores/pom.xml | 2 +- .../tests/payara-samples/samples/remote-ejb-tracing/pom.xml | 2 +- appserver/tests/payara-samples/samples/reproducers/pom.xml | 2 +- .../tests/payara-samples/samples/rest-management/pom.xml | 2 +- appserver/tests/payara-samples/samples/rolesPermitted/pom.xml | 2 +- .../samples/rolesallowed-unprotected-methods/pom.xml | 2 +- .../tests/payara-samples/samples/sfsb-passivation/pom.xml | 2 +- .../payara-samples/samples/use-bundled-jsf-primefaces/pom.xml | 2 +- .../tests/payara-samples/samples/versioned-deployment/pom.xml | 2 +- appserver/tests/payara-samples/test-domain-setup/pom.xml | 4 ++-- appserver/tests/payara-samples/test-utils/pom.xml | 2 +- appserver/tests/pom.xml | 2 +- appserver/tests/quicklook/admin/pom.xml | 2 +- appserver/tests/quicklook/pom.xml | 2 +- appserver/transaction/internal-api-l10n/pom.xml | 2 +- appserver/transaction/internal-api/pom.xml | 2 +- appserver/transaction/jta-l10n/pom.xml | 2 +- appserver/transaction/jta/pom.xml | 2 +- appserver/transaction/jts-l10n/pom.xml | 2 +- appserver/transaction/jts/pom.xml | 2 +- appserver/transaction/pom.xml | 2 +- appserver/web/admin-l10n/pom.xml | 2 +- appserver/web/admin/pom.xml | 2 +- appserver/web/cdi-api-fragment/pom.xml | 2 +- appserver/web/gf-web-connector/pom.xml | 2 +- appserver/web/gf-weld-connector/pom.xml | 2 +- appserver/web/gui-plugin-common-l10n/pom.xml | 2 +- appserver/web/gui-plugin-common/pom.xml | 2 +- appserver/web/jersey-mvc-connector/pom.xml | 2 +- appserver/web/jsf-connector/pom.xml | 2 +- appserver/web/jspcaching-connector/pom.xml | 2 +- appserver/web/jstl-connector/pom.xml | 2 +- appserver/web/pom.xml | 2 +- appserver/web/war-util-l10n/pom.xml | 2 +- appserver/web/war-util/pom.xml | 2 +- appserver/web/web-core-l10n/pom.xml | 2 +- appserver/web/web-core/pom.xml | 2 +- appserver/web/web-embed/api/pom.xml | 2 +- appserver/web/web-embed/pom.xml | 2 +- appserver/web/web-glue-l10n/pom.xml | 2 +- appserver/web/web-glue/pom.xml | 2 +- appserver/web/web-ha/pom.xml | 2 +- appserver/web/web-naming-l10n/pom.xml | 2 +- appserver/web/web-naming/pom.xml | 2 +- appserver/web/web-sse/pom.xml | 2 +- appserver/web/webtier-all/pom.xml | 2 +- appserver/web/weld-integration-fragment/pom.xml | 2 +- appserver/web/weld-integration-test-fragment/pom.xml | 2 +- appserver/web/weld-integration/pom.xml | 2 +- appserver/webservices/connector-l10n/pom.xml | 2 +- appserver/webservices/connector/pom.xml | 2 +- appserver/webservices/jsr109-impl-l10n/pom.xml | 2 +- appserver/webservices/jsr109-impl/pom.xml | 2 +- appserver/webservices/metro-fragments/pom.xml | 2 +- appserver/webservices/metro-glue/pom.xml | 2 +- appserver/webservices/pom.xml | 2 +- appserver/webservices/soap-tcp/pom.xml | 2 +- appserver/webservices/webservices-scripts/pom.xml | 2 +- nucleus/admin/cli-l10n/pom.xml | 2 +- nucleus/admin/cli/pom.xml | 2 +- nucleus/admin/config-api-l10n/pom.xml | 2 +- nucleus/admin/config-api/pom.xml | 2 +- nucleus/admin/launcher-l10n/pom.xml | 2 +- nucleus/admin/launcher/pom.xml | 2 +- nucleus/admin/monitor-l10n/pom.xml | 2 +- nucleus/admin/monitor/pom.xml | 2 +- nucleus/admin/pom.xml | 2 +- nucleus/admin/rest/gf-restadmin-connector/pom.xml | 2 +- nucleus/admin/rest/pom.xml | 2 +- nucleus/admin/rest/rest-client/pom.xml | 2 +- nucleus/admin/rest/rest-service-l10n/pom.xml | 2 +- nucleus/admin/rest/rest-service/pom.xml | 2 +- nucleus/admin/rest/rest-testing/pom.xml | 2 +- nucleus/admin/server-mgmt-l10n/pom.xml | 2 +- nucleus/admin/server-mgmt/pom.xml | 2 +- nucleus/admin/template/pom.xml | 2 +- nucleus/admin/util-l10n/pom.xml | 2 +- nucleus/admin/util/pom.xml | 2 +- nucleus/cluster/admin-l10n/pom.xml | 2 +- nucleus/cluster/admin/pom.xml | 2 +- nucleus/cluster/cli-l10n/pom.xml | 2 +- nucleus/cluster/cli/pom.xml | 2 +- nucleus/cluster/common-l10n/pom.xml | 2 +- nucleus/cluster/common/pom.xml | 2 +- nucleus/cluster/pom.xml | 2 +- nucleus/cluster/ssh-l10n/pom.xml | 2 +- nucleus/cluster/ssh/pom.xml | 2 +- nucleus/common/amx-core/pom.xml | 2 +- nucleus/common/common-util-l10n/pom.xml | 2 +- nucleus/common/common-util/pom.xml | 2 +- nucleus/common/glassfish-api-l10n/pom.xml | 2 +- nucleus/common/glassfish-api/pom.xml | 2 +- nucleus/common/internal-api-l10n/pom.xml | 2 +- nucleus/common/internal-api/pom.xml | 2 +- nucleus/common/mbeanserver-l10n/pom.xml | 2 +- nucleus/common/mbeanserver/pom.xml | 2 +- nucleus/common/pom.xml | 2 +- nucleus/common/scattered-archive-api/pom.xml | 2 +- nucleus/common/simple-glassfish-api/pom.xml | 2 +- nucleus/core/api-exporter/pom.xml | 2 +- nucleus/core/bootstrap/pom.xml | 2 +- nucleus/core/context-propagation/pom.xml | 2 +- nucleus/core/extra-jre-packages/pom.xml | 2 +- nucleus/core/javassist-packages/pom.xml | 2 +- nucleus/core/kernel-l10n/pom.xml | 2 +- nucleus/core/kernel/pom.xml | 2 +- nucleus/core/logging-l10n/pom.xml | 2 +- nucleus/core/logging/pom.xml | 2 +- nucleus/core/pom.xml | 2 +- nucleus/deployment/admin-l10n/pom.xml | 2 +- nucleus/deployment/admin/pom.xml | 2 +- nucleus/deployment/autodeploy-l10n/pom.xml | 2 +- nucleus/deployment/autodeploy/pom.xml | 2 +- nucleus/deployment/common-l10n/pom.xml | 2 +- nucleus/deployment/common/pom.xml | 2 +- nucleus/deployment/dtds/pom.xml | 2 +- nucleus/deployment/pom.xml | 2 +- nucleus/deployment/schemas/pom.xml | 2 +- nucleus/diagnostics/context/pom.xml | 2 +- nucleus/diagnostics/diagnostics-api/pom.xml | 2 +- nucleus/diagnostics/pom.xml | 2 +- nucleus/distributions/payara-minimal/pom.xml | 2 +- nucleus/distributions/pom.xml | 2 +- nucleus/flashlight/agent/pom.xml | 2 +- nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml | 2 +- nucleus/flashlight/framework-l10n/pom.xml | 2 +- nucleus/flashlight/framework/pom.xml | 2 +- nucleus/flashlight/pom.xml | 2 +- nucleus/grizzly/config/pom.xml | 2 +- nucleus/grizzly/nucleus-grizzly-all/pom.xml | 2 +- nucleus/grizzly/pom.xml | 2 +- nucleus/hk2/config-generator/pom.xml | 2 +- nucleus/hk2/config-types/pom.xml | 2 +- nucleus/hk2/hk2-config/pom.xml | 2 +- nucleus/hk2/pom.xml | 2 +- nucleus/osgi-platforms/felix/pom.xml | 2 +- nucleus/osgi-platforms/osgi-cli-interactive-l10n/pom.xml | 2 +- nucleus/osgi-platforms/osgi-cli-interactive/pom.xml | 2 +- nucleus/osgi-platforms/osgi-cli-remote-l10n/pom.xml | 2 +- nucleus/osgi-platforms/osgi-cli-remote/pom.xml | 2 +- nucleus/osgi-platforms/osgi-container/pom.xml | 2 +- nucleus/osgi-platforms/pom.xml | 2 +- nucleus/packager/asadmin-recorder-package/pom.xml | 2 +- nucleus/packager/external/antlr/pom.xml | 2 +- nucleus/packager/external/jmxremote_optional/pom.xml | 2 +- nucleus/packager/external/ldapbp/pom.xml | 2 +- nucleus/packager/external/opentelemetry-repackaged/pom.xml | 2 +- nucleus/packager/external/opentracing-repackaged/pom.xml | 2 +- nucleus/packager/external/pom.xml | 2 +- nucleus/packager/external/tiger-types/pom.xml | 2 +- nucleus/packager/external/trilead-ssh2/pom.xml | 2 +- nucleus/packager/external/vboxjws/pom.xml | 2 +- nucleus/packager/hazelcast-package/pom.xml | 2 +- nucleus/packager/healthcheck-package/pom.xml | 2 +- nucleus/packager/notification-package/pom.xml | 2 +- nucleus/packager/nucleus-cluster-l10n/pom.xml | 2 +- nucleus/packager/nucleus-cluster/pom.xml | 2 +- nucleus/packager/nucleus-common-l10n/pom.xml | 2 +- nucleus/packager/nucleus-common/pom.xml | 2 +- nucleus/packager/nucleus-corba-base/pom.xml | 2 +- nucleus/packager/nucleus-felix/pom.xml | 2 +- nucleus/packager/nucleus-grizzly/pom.xml | 2 +- nucleus/packager/nucleus-hk2/pom.xml | 2 +- nucleus/packager/nucleus-jersey/pom.xml | 2 +- nucleus/packager/nucleus-jmx/pom.xml | 2 +- nucleus/packager/nucleus-l10n/pom.xml | 2 +- nucleus/packager/nucleus-management-l10n/pom.xml | 2 +- nucleus/packager/nucleus-management/pom.xml | 2 +- nucleus/packager/nucleus-osgi/pom.xml | 2 +- nucleus/packager/nucleus/pom.xml | 2 +- nucleus/packager/payara-api-package/pom.xml | 2 +- nucleus/packager/payara-executor-service-package/pom.xml | 2 +- nucleus/packager/phonehome-package/pom.xml | 2 +- nucleus/packager/pom.xml | 2 +- nucleus/packager/requesttracing-package/pom.xml | 2 +- nucleus/payara-modules/asadmin-audit/pom.xml | 2 +- nucleus/payara-modules/asadmin-recorder/pom.xml | 2 +- nucleus/payara-modules/hazelcast-bootstrap/pom.xml | 2 +- nucleus/payara-modules/healthcheck-core/pom.xml | 2 +- nucleus/payara-modules/healthcheck-cpool/pom.xml | 2 +- nucleus/payara-modules/healthcheck-stuck/pom.xml | 2 +- nucleus/payara-modules/jsr107-repackaged/pom.xml | 2 +- nucleus/payara-modules/notification-cdi-eventbus-core/pom.xml | 2 +- nucleus/payara-modules/notification-core/pom.xml | 2 +- nucleus/payara-modules/notification-eventbus-core/pom.xml | 2 +- .../nucleus-microprofile/config-service/pom.xml | 2 +- nucleus/payara-modules/nucleus-microprofile/pom.xml | 2 +- nucleus/payara-modules/opentracing-adapter/pom.xml | 2 +- nucleus/payara-modules/payara-executor-service/pom.xml | 2 +- nucleus/payara-modules/phonehome-bootstrap/pom.xml | 2 +- nucleus/payara-modules/pom.xml | 2 +- nucleus/payara-modules/requesttracing-core/pom.xml | 2 +- nucleus/payara-modules/service-exemplar/pom.xml | 2 +- nucleus/pom.xml | 2 +- nucleus/resources-l10n/pom.xml | 2 +- nucleus/resources/pom.xml | 2 +- nucleus/security/core-l10n/pom.xml | 2 +- nucleus/security/core/pom.xml | 2 +- nucleus/security/pom.xml | 2 +- nucleus/security/services-l10n/pom.xml | 2 +- nucleus/security/services/pom.xml | 2 +- nucleus/security/ssl-impl/pom.xml | 2 +- nucleus/test-utils/pom.xml | 2 +- nucleus/test-utils/utils-ng/pom.xml | 2 +- nucleus/test-utils/utils/pom.xml | 2 +- nucleus/tests/admin/pom.xml | 2 +- nucleus/tests/pom.xml | 2 +- nucleus/tests/quicklook/pom.xml | 2 +- pom.xml | 2 +- 643 files changed, 645 insertions(+), 645 deletions(-) diff --git a/api/payara-api/pom.xml b/api/payara-api/pom.xml index 7226c2336a9..060cde59785 100644 --- a/api/payara-api/pom.xml +++ b/api/payara-api/pom.xml @@ -45,7 +45,7 @@ fish.payara.api api-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.api payara-api diff --git a/api/payara-bom/pom.xml b/api/payara-bom/pom.xml index b12f918aa37..745dfe1e14b 100644 --- a/api/payara-bom/pom.xml +++ b/api/payara-bom/pom.xml @@ -44,7 +44,7 @@ fish.payara.api api-parent - 7.2026.5-SNAPSHOT + 7.2026.5 payara-bom diff --git a/api/pom.xml b/api/pom.xml index ac6f37ea8ec..41d95144c88 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -43,7 +43,7 @@ fish.payara.server payara-aggregator - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.api diff --git a/appserver/admin/admin-core/pom.xml b/appserver/admin/admin-core/pom.xml index d9a218ae84e..094b8780b66 100755 --- a/appserver/admin/admin-core/pom.xml +++ b/appserver/admin/admin-core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 admin-core diff --git a/appserver/admin/backup-l10n/pom.xml b/appserver/admin/backup-l10n/pom.xml index b8f6eae0d77..ec22ec9f2c9 100644 --- a/appserver/admin/backup-l10n/pom.xml +++ b/appserver/admin/backup-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 backup-l10n diff --git a/appserver/admin/backup/pom.xml b/appserver/admin/backup/pom.xml index 48c73e4bc2d..2979068e8fa 100644 --- a/appserver/admin/backup/pom.xml +++ b/appserver/admin/backup/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 backup diff --git a/appserver/admin/cli-optional-l10n/pom.xml b/appserver/admin/cli-optional-l10n/pom.xml index cf276a4ecf6..8f08a64575b 100755 --- a/appserver/admin/cli-optional-l10n/pom.xml +++ b/appserver/admin/cli-optional-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin admin - 7.2026.5-SNAPSHOT + 7.2026.5 cli-optional-l10n diff --git a/appserver/admin/cli-optional/pom.xml b/appserver/admin/cli-optional/pom.xml index 1cfe5829380..e96b04f19c4 100755 --- a/appserver/admin/cli-optional/pom.xml +++ b/appserver/admin/cli-optional/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin admin - 7.2026.5-SNAPSHOT + 7.2026.5 cli-optional glassfish-jar diff --git a/appserver/admin/cli/pom.xml b/appserver/admin/cli/pom.xml index 3f3e0fc2bfa..4d2ae21117f 100755 --- a/appserver/admin/cli/pom.xml +++ b/appserver/admin/cli/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin admin - 7.2026.5-SNAPSHOT + 7.2026.5 appserver-cli glassfish-jar diff --git a/appserver/admin/gf_template/pom.xml b/appserver/admin/gf_template/pom.xml index 04aaec366f9..a9757723091 100644 --- a/appserver/admin/gf_template/pom.xml +++ b/appserver/admin/gf_template/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin admin - 7.2026.5-SNAPSHOT + 7.2026.5 appserver-domain diff --git a/appserver/admin/gf_template_web/pom.xml b/appserver/admin/gf_template_web/pom.xml index a6c8934512c..451b79b7511 100644 --- a/appserver/admin/gf_template_web/pom.xml +++ b/appserver/admin/gf_template_web/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.admin admin - 7.2026.5-SNAPSHOT + 7.2026.5 appserver-domain-web diff --git a/appserver/admin/pom.xml b/appserver/admin/pom.xml index 741f9dec3cb..f04efb779ce 100755 --- a/appserver/admin/pom.xml +++ b/appserver/admin/pom.xml @@ -48,7 +48,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.admin admin diff --git a/appserver/admingui/cdieventbus-notifier-console-plugin-l10n/pom.xml b/appserver/admingui/cdieventbus-notifier-console-plugin-l10n/pom.xml index e493ca3b8f3..938e22c3dd7 100644 --- a/appserver/admingui/cdieventbus-notifier-console-plugin-l10n/pom.xml +++ b/appserver/admingui/cdieventbus-notifier-console-plugin-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 cdieventbus-notifier-console-plugin-l10n diff --git a/appserver/admingui/cdieventbus-notifier-console-plugin/pom.xml b/appserver/admingui/cdieventbus-notifier-console-plugin/pom.xml index 827123bfce2..ee018985356 100644 --- a/appserver/admingui/cdieventbus-notifier-console-plugin/pom.xml +++ b/appserver/admingui/cdieventbus-notifier-console-plugin/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 cdieventbus-notifier-console-plugin glassfish-jar diff --git a/appserver/admingui/cluster-l10n/pom.xml b/appserver/admingui/cluster-l10n/pom.xml index 1b7cfee8efb..499c95b1bf5 100644 --- a/appserver/admingui/cluster-l10n/pom.xml +++ b/appserver/admingui/cluster-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-cluster-plugin-l10n diff --git a/appserver/admingui/cluster/pom.xml b/appserver/admingui/cluster/pom.xml index 44be15340c8..9135efd773a 100644 --- a/appserver/admingui/cluster/pom.xml +++ b/appserver/admingui/cluster/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-cluster-plugin glassfish-jar diff --git a/appserver/admingui/common-l10n/pom.xml b/appserver/admingui/common-l10n/pom.xml index c7a2ba0abbd..4dcd3c9a637 100644 --- a/appserver/admingui/common-l10n/pom.xml +++ b/appserver/admingui/common-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-common-l10n diff --git a/appserver/admingui/common/pom.xml b/appserver/admingui/common/pom.xml index c61acad1fac..ab8cc8259a0 100644 --- a/appserver/admingui/common/pom.xml +++ b/appserver/admingui/common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-common glassfish-jar diff --git a/appserver/admingui/concurrent-l10n/pom.xml b/appserver/admingui/concurrent-l10n/pom.xml index 22bf9311814..05dd0a4fe47 100644 --- a/appserver/admingui/concurrent-l10n/pom.xml +++ b/appserver/admingui/concurrent-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-concurrent-plugin-l10n diff --git a/appserver/admingui/concurrent/pom.xml b/appserver/admingui/concurrent/pom.xml index 8e14e82624a..80ab2f40b52 100644 --- a/appserver/admingui/concurrent/pom.xml +++ b/appserver/admingui/concurrent/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-concurrent-plugin glassfish-jar diff --git a/appserver/admingui/corba-l10n/pom.xml b/appserver/admingui/corba-l10n/pom.xml index c629b67652c..ceb7996fd7f 100644 --- a/appserver/admingui/corba-l10n/pom.xml +++ b/appserver/admingui/corba-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-corba-plugin-l10n diff --git a/appserver/admingui/corba/pom.xml b/appserver/admingui/corba/pom.xml index 2cff5a5f309..583cfdc54d2 100644 --- a/appserver/admingui/corba/pom.xml +++ b/appserver/admingui/corba/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-corba-plugin glassfish-jar diff --git a/appserver/admingui/core-l10n/pom.xml b/appserver/admingui/core-l10n/pom.xml index ea31708b0d0..26a716104bd 100644 --- a/appserver/admingui/core-l10n/pom.xml +++ b/appserver/admingui/core-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-core-l10n diff --git a/appserver/admingui/core/pom.xml b/appserver/admingui/core/pom.xml index c3692391e0b..b4760d39827 100644 --- a/appserver/admingui/core/pom.xml +++ b/appserver/admingui/core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-core glassfish-jar diff --git a/appserver/admingui/dataprovider/pom.xml b/appserver/admingui/dataprovider/pom.xml index fe5fcdc75ff..84470459eef 100644 --- a/appserver/admingui/dataprovider/pom.xml +++ b/appserver/admingui/dataprovider/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 dataprovider DataProvider diff --git a/appserver/admingui/devtests/pom.xml b/appserver/admingui/devtests/pom.xml index fea83af0189..b10fbe7defd 100644 --- a/appserver/admingui/devtests/pom.xml +++ b/appserver/admingui/devtests/pom.xml @@ -49,7 +49,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-devtests diff --git a/appserver/admingui/dist-fragment/pom.xml b/appserver/admingui/dist-fragment/pom.xml index fa71f80a057..978ce5fd531 100644 --- a/appserver/admingui/dist-fragment/pom.xml +++ b/appserver/admingui/dist-fragment/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 dist-fragment diff --git a/appserver/admingui/ejb-l10n/pom.xml b/appserver/admingui/ejb-l10n/pom.xml index 70fd69c9e04..a9ac29a0620 100644 --- a/appserver/admingui/ejb-l10n/pom.xml +++ b/appserver/admingui/ejb-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-ejb-plugin-l10n diff --git a/appserver/admingui/ejb-lite-l10n/pom.xml b/appserver/admingui/ejb-lite-l10n/pom.xml index a18216d950f..08b1a35184c 100644 --- a/appserver/admingui/ejb-lite-l10n/pom.xml +++ b/appserver/admingui/ejb-lite-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-ejb-lite-plugin-l10n diff --git a/appserver/admingui/ejb-lite/pom.xml b/appserver/admingui/ejb-lite/pom.xml index 9bc9231ce96..26929f341e1 100644 --- a/appserver/admingui/ejb-lite/pom.xml +++ b/appserver/admingui/ejb-lite/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-ejb-lite-plugin glassfish-jar diff --git a/appserver/admingui/ejb/pom.xml b/appserver/admingui/ejb/pom.xml index c4eea952319..7b33fba0f7a 100644 --- a/appserver/admingui/ejb/pom.xml +++ b/appserver/admingui/ejb/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-ejb-plugin glassfish-jar diff --git a/appserver/admingui/eventbus-notifier-console-plugin-l10n/pom.xml b/appserver/admingui/eventbus-notifier-console-plugin-l10n/pom.xml index c408f393eda..0b541c6e6b5 100644 --- a/appserver/admingui/eventbus-notifier-console-plugin-l10n/pom.xml +++ b/appserver/admingui/eventbus-notifier-console-plugin-l10n/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 eventbus-notifier-console-plugin-l10n diff --git a/appserver/admingui/eventbus-notifier-console-plugin/pom.xml b/appserver/admingui/eventbus-notifier-console-plugin/pom.xml index d0a9bfca62d..25e046c8a37 100644 --- a/appserver/admingui/eventbus-notifier-console-plugin/pom.xml +++ b/appserver/admingui/eventbus-notifier-console-plugin/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 eventbus-notifier-console-plugin glassfish-jar diff --git a/appserver/admingui/faces-compat/pom.xml b/appserver/admingui/faces-compat/pom.xml index 4152414e9cf..c28e9243ca5 100644 --- a/appserver/admingui/faces-compat/pom.xml +++ b/appserver/admingui/faces-compat/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 faces-compat diff --git a/appserver/admingui/full-l10n/pom.xml b/appserver/admingui/full-l10n/pom.xml index 7037c3c7165..d31f0e51208 100644 --- a/appserver/admingui/full-l10n/pom.xml +++ b/appserver/admingui/full-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-common-full-plugin-l10n diff --git a/appserver/admingui/full/pom.xml b/appserver/admingui/full/pom.xml index a0fea0fd5ef..8fbc3b4355d 100644 --- a/appserver/admingui/full/pom.xml +++ b/appserver/admingui/full/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-common-full-plugin glassfish-jar diff --git a/appserver/admingui/gf-admingui-connector/pom.xml b/appserver/admingui/gf-admingui-connector/pom.xml index fa549ac040d..5ea5db4d7dc 100755 --- a/appserver/admingui/gf-admingui-connector/pom.xml +++ b/appserver/admingui/gf-admingui-connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 gf-admingui-connector glassfish-jar diff --git a/appserver/admingui/healthcheck-service-console-plugin-l10n/pom.xml b/appserver/admingui/healthcheck-service-console-plugin-l10n/pom.xml index 7a49f8e1239..69d8c3f22af 100644 --- a/appserver/admingui/healthcheck-service-console-plugin-l10n/pom.xml +++ b/appserver/admingui/healthcheck-service-console-plugin-l10n/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 healthcheck-service-console-plugin-l10n diff --git a/appserver/admingui/healthcheck-service-console-plugin/pom.xml b/appserver/admingui/healthcheck-service-console-plugin/pom.xml index 2fcc6084279..25fca2fe10a 100644 --- a/appserver/admingui/healthcheck-service-console-plugin/pom.xml +++ b/appserver/admingui/healthcheck-service-console-plugin/pom.xml @@ -43,7 +43,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 healthcheck-service-console-plugin glassfish-jar diff --git a/appserver/admingui/jca-l10n/pom.xml b/appserver/admingui/jca-l10n/pom.xml index 1ae0fa7ba83..287ad0325e0 100644 --- a/appserver/admingui/jca-l10n/pom.xml +++ b/appserver/admingui/jca-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-jca-plugin-l10n diff --git a/appserver/admingui/jca/pom.xml b/appserver/admingui/jca/pom.xml index 2552fb84df2..879466c65ce 100644 --- a/appserver/admingui/jca/pom.xml +++ b/appserver/admingui/jca/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-jca-plugin glassfish-jar diff --git a/appserver/admingui/jdbc-l10n/pom.xml b/appserver/admingui/jdbc-l10n/pom.xml index dea2d20adaa..3ed41d0c55e 100644 --- a/appserver/admingui/jdbc-l10n/pom.xml +++ b/appserver/admingui/jdbc-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-jdbc-plugin-l10n diff --git a/appserver/admingui/jdbc/pom.xml b/appserver/admingui/jdbc/pom.xml index 57c32c261dc..d33031c7da4 100644 --- a/appserver/admingui/jdbc/pom.xml +++ b/appserver/admingui/jdbc/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-jdbc-plugin glassfish-jar diff --git a/appserver/admingui/jms-notifier-console-plugin-l10n/pom.xml b/appserver/admingui/jms-notifier-console-plugin-l10n/pom.xml index 7cdfe99ab00..bff669931e6 100644 --- a/appserver/admingui/jms-notifier-console-plugin-l10n/pom.xml +++ b/appserver/admingui/jms-notifier-console-plugin-l10n/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 jms-notifier-console-plugin-l10n diff --git a/appserver/admingui/jms-notifier-console-plugin/pom.xml b/appserver/admingui/jms-notifier-console-plugin/pom.xml index 42a72061063..273cc821a76 100644 --- a/appserver/admingui/jms-notifier-console-plugin/pom.xml +++ b/appserver/admingui/jms-notifier-console-plugin/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 jms-notifier-console-plugin glassfish-jar diff --git a/appserver/admingui/jms-plugin-l10n/pom.xml b/appserver/admingui/jms-plugin-l10n/pom.xml index 805e022b8bb..6675a7ef299 100644 --- a/appserver/admingui/jms-plugin-l10n/pom.xml +++ b/appserver/admingui/jms-plugin-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-jms-plugin-l10n diff --git a/appserver/admingui/jms-plugin/pom.xml b/appserver/admingui/jms-plugin/pom.xml index 244575d0317..f05c78759d0 100644 --- a/appserver/admingui/jms-plugin/pom.xml +++ b/appserver/admingui/jms-plugin/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-jms-plugin glassfish-jar diff --git a/appserver/admingui/jmx-monitoring-plugin-l10n/pom.xml b/appserver/admingui/jmx-monitoring-plugin-l10n/pom.xml index 42714c5b48c..099fb92f092 100644 --- a/appserver/admingui/jmx-monitoring-plugin-l10n/pom.xml +++ b/appserver/admingui/jmx-monitoring-plugin-l10n/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 jmx-monitoring-plugin-l10n diff --git a/appserver/admingui/jmx-monitoring-plugin/pom.xml b/appserver/admingui/jmx-monitoring-plugin/pom.xml index b90c6d975d8..aa1676be19c 100644 --- a/appserver/admingui/jmx-monitoring-plugin/pom.xml +++ b/appserver/admingui/jmx-monitoring-plugin/pom.xml @@ -45,7 +45,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 jmx-monitoring-plugin diff --git a/appserver/admingui/jts-l10n/pom.xml b/appserver/admingui/jts-l10n/pom.xml index 3347c589764..87ef315c18b 100644 --- a/appserver/admingui/jts-l10n/pom.xml +++ b/appserver/admingui/jts-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-jts-plugin-l10n diff --git a/appserver/admingui/jts/pom.xml b/appserver/admingui/jts/pom.xml index d67b0ebd20d..b208d01948e 100644 --- a/appserver/admingui/jts/pom.xml +++ b/appserver/admingui/jts/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-jts-plugin glassfish-jar diff --git a/appserver/admingui/microprofile-console-plugin-l10n/pom.xml b/appserver/admingui/microprofile-console-plugin-l10n/pom.xml index ef08e6cb655..999938f898d 100644 --- a/appserver/admingui/microprofile-console-plugin-l10n/pom.xml +++ b/appserver/admingui/microprofile-console-plugin-l10n/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-console-plugin-l10n diff --git a/appserver/admingui/microprofile-console-plugin/pom.xml b/appserver/admingui/microprofile-console-plugin/pom.xml index 63de58f945e..4b297028e85 100644 --- a/appserver/admingui/microprofile-console-plugin/pom.xml +++ b/appserver/admingui/microprofile-console-plugin/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-console-plugin glassfish-jar diff --git a/appserver/admingui/payara-console-extras-l10n/pom.xml b/appserver/admingui/payara-console-extras-l10n/pom.xml index 8fe7b87f9a9..fea91effdcb 100644 --- a/appserver/admingui/payara-console-extras-l10n/pom.xml +++ b/appserver/admingui/payara-console-extras-l10n/pom.xml @@ -21,7 +21,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 payara-console-extras-l10n glassfish-jar diff --git a/appserver/admingui/payara-console-extras/pom.xml b/appserver/admingui/payara-console-extras/pom.xml index 7cf9f2caec6..b8a7bbd87b0 100644 --- a/appserver/admingui/payara-console-extras/pom.xml +++ b/appserver/admingui/payara-console-extras/pom.xml @@ -44,7 +44,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 payara-console-extras glassfish-jar diff --git a/appserver/admingui/payara-theme-l10n/pom.xml b/appserver/admingui/payara-theme-l10n/pom.xml index 20bbb15dc35..38c6d0fa947 100644 --- a/appserver/admingui/payara-theme-l10n/pom.xml +++ b/appserver/admingui/payara-theme-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-payara-branding-plugin-l10n diff --git a/appserver/admingui/payara-theme/pom.xml b/appserver/admingui/payara-theme/pom.xml index a76f76fcdea..afdd5695da3 100644 --- a/appserver/admingui/payara-theme/pom.xml +++ b/appserver/admingui/payara-theme/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-payara-branding-plugin glassfish-jar diff --git a/appserver/admingui/plugin-service/pom.xml b/appserver/admingui/plugin-service/pom.xml index 9101788cb7a..288b50d0230 100644 --- a/appserver/admingui/plugin-service/pom.xml +++ b/appserver/admingui/plugin-service/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-plugin-service glassfish-jar diff --git a/appserver/admingui/pom.xml b/appserver/admingui/pom.xml index 9204b04695a..1bd40bc14e5 100644 --- a/appserver/admingui/pom.xml +++ b/appserver/admingui/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.admingui admingui diff --git a/appserver/admingui/reference-manual/pom.xml b/appserver/admingui/reference-manual/pom.xml index 4e26069b10e..b53858b4654 100644 --- a/appserver/admingui/reference-manual/pom.xml +++ b/appserver/admingui/reference-manual/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-reference-manual-plugin diff --git a/appserver/admingui/war/pom.xml b/appserver/admingui/war/pom.xml index 065aaedeb37..afa6d1312b1 100644 --- a/appserver/admingui/war/pom.xml +++ b/appserver/admingui/war/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 war war diff --git a/appserver/admingui/web-l10n/pom.xml b/appserver/admingui/web-l10n/pom.xml index b7ee1f83662..18d2e27b477 100644 --- a/appserver/admingui/web-l10n/pom.xml +++ b/appserver/admingui/web-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-web-plugin-l10n diff --git a/appserver/admingui/web/pom.xml b/appserver/admingui/web/pom.xml index 964b0cd7ac1..0d48b36a57b 100644 --- a/appserver/admingui/web/pom.xml +++ b/appserver/admingui/web/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 console-web-plugin glassfish-jar diff --git a/appserver/admingui/webui-jsf-plugin-l10n/pom.xml b/appserver/admingui/webui-jsf-plugin-l10n/pom.xml index 3b68a28b767..3fb8ab94856 100644 --- a/appserver/admingui/webui-jsf-plugin-l10n/pom.xml +++ b/appserver/admingui/webui-jsf-plugin-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 webui-jsf-plugin-l10n Woodstock webuijsf localization diff --git a/appserver/admingui/webui-jsf-suntheme-plugin-l10n/pom.xml b/appserver/admingui/webui-jsf-suntheme-plugin-l10n/pom.xml index fe8980f5d9d..c904e746b29 100644 --- a/appserver/admingui/webui-jsf-suntheme-plugin-l10n/pom.xml +++ b/appserver/admingui/webui-jsf-suntheme-plugin-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 webui-jsf-suntheme-plugin-l10n Woodstock webuijsf suntheme localization diff --git a/appserver/ant-tasks/pom.xml b/appserver/ant-tasks/pom.xml index 5d424f86b2b..60687e5beb4 100644 --- a/appserver/ant-tasks/pom.xml +++ b/appserver/ant-tasks/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.ant-tasks diff --git a/appserver/appclient/client/acc-config/pom.xml b/appserver/appclient/client/acc-config/pom.xml index c958573da3d..98e04433883 100644 --- a/appserver/appclient/client/acc-config/pom.xml +++ b/appserver/appclient/client/acc-config/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.appclient client - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 acc-config diff --git a/appserver/appclient/client/acc-l10n/pom.xml b/appserver/appclient/client/acc-l10n/pom.xml index d239aa6b22a..0318956c0fd 100644 --- a/appserver/appclient/client/acc-l10n/pom.xml +++ b/appserver/appclient/client/acc-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.appclient client - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 gf-client-module-l10n diff --git a/appserver/appclient/client/acc-standalone-l10n/pom.xml b/appserver/appclient/client/acc-standalone-l10n/pom.xml index 0c68a438558..f98ad9ab50e 100644 --- a/appserver/appclient/client/acc-standalone-l10n/pom.xml +++ b/appserver/appclient/client/acc-standalone-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.appclient client - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 gf-client-l10n diff --git a/appserver/appclient/client/acc-standalone/pom.xml b/appserver/appclient/client/acc-standalone/pom.xml index 8f6f216b042..91e718acaa9 100755 --- a/appserver/appclient/client/acc-standalone/pom.xml +++ b/appserver/appclient/client/acc-standalone/pom.xml @@ -61,7 +61,7 @@ fish.payara.server.appclient client - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 gf-client diff --git a/appserver/appclient/client/acc/pom.xml b/appserver/appclient/client/acc/pom.xml index b69dd4ddf2b..8391bcc1ad2 100755 --- a/appserver/appclient/client/acc/pom.xml +++ b/appserver/appclient/client/acc/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.appclient client - 7.2026.5-SNAPSHOT + 7.2026.5 diff --git a/appserver/appclient/client/appclient-scripts/pom.xml b/appserver/appclient/client/appclient-scripts/pom.xml index 94f0d1342a3..cd47f528d7c 100644 --- a/appserver/appclient/client/appclient-scripts/pom.xml +++ b/appserver/appclient/client/appclient-scripts/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.appclient client - 7.2026.5-SNAPSHOT + 7.2026.5 appclient-scripts diff --git a/appserver/appclient/client/pom.xml b/appserver/appclient/client/pom.xml index c4929b59f93..e5b96229c37 100755 --- a/appserver/appclient/client/pom.xml +++ b/appserver/appclient/client/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.appclient appclient - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.appclient client diff --git a/appserver/appclient/pom.xml b/appserver/appclient/pom.xml index e002c3b2e73..c67b8f69831 100755 --- a/appserver/appclient/pom.xml +++ b/appserver/appclient/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.appclient diff --git a/appserver/appclient/server/connector/pom.xml b/appserver/appclient/server/connector/pom.xml index 281faceecdd..c41f0cd4f65 100644 --- a/appserver/appclient/server/connector/pom.xml +++ b/appserver/appclient/server/connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.appclient server - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.appclient.server diff --git a/appserver/appclient/server/core-l10n/pom.xml b/appserver/appclient/server/core-l10n/pom.xml index acb55852cb6..7d81294e7e6 100644 --- a/appserver/appclient/server/core-l10n/pom.xml +++ b/appserver/appclient/server/core-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.appclient server - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 fish.payara.server.internal.appclient.server diff --git a/appserver/appclient/server/core/pom.xml b/appserver/appclient/server/core/pom.xml index acf734f4fbe..399f1d7042f 100644 --- a/appserver/appclient/server/core/pom.xml +++ b/appserver/appclient/server/core/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.appclient server - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.appclient.server diff --git a/appserver/appclient/server/pom.xml b/appserver/appclient/server/pom.xml index 1bdf15095e0..86fc66ab798 100755 --- a/appserver/appclient/server/pom.xml +++ b/appserver/appclient/server/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.appclient appclient - 7.2026.5-SNAPSHOT + 7.2026.5 server pom diff --git a/appserver/batch/batch-database/pom.xml b/appserver/batch/batch-database/pom.xml index 45e7d0ef451..4e75c62fc0f 100644 --- a/appserver/batch/batch-database/pom.xml +++ b/appserver/batch/batch-database/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.batch batch - 7.2026.5-SNAPSHOT + 7.2026.5 batch-databases diff --git a/appserver/batch/glassfish-batch-commands/pom.xml b/appserver/batch/glassfish-batch-commands/pom.xml index 8293eb5b3b3..e19f23d4f27 100755 --- a/appserver/batch/glassfish-batch-commands/pom.xml +++ b/appserver/batch/glassfish-batch-commands/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.batch batch - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-batch-commands diff --git a/appserver/batch/glassfish-batch-connector/pom.xml b/appserver/batch/glassfish-batch-connector/pom.xml index faa779b6ab4..480d1ca6efc 100755 --- a/appserver/batch/glassfish-batch-connector/pom.xml +++ b/appserver/batch/glassfish-batch-connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.batch batch - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-batch-connector diff --git a/appserver/batch/hazelcast-jbatch-store/pom.xml b/appserver/batch/hazelcast-jbatch-store/pom.xml index cbb3f58746a..449451da71d 100755 --- a/appserver/batch/hazelcast-jbatch-store/pom.xml +++ b/appserver/batch/hazelcast-jbatch-store/pom.xml @@ -43,7 +43,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.batch batch - 7.2026.5-SNAPSHOT + 7.2026.5 hazelcast-jbatch-store diff --git a/appserver/batch/jbatch-repackaged/pom.xml b/appserver/batch/jbatch-repackaged/pom.xml index 9c59d4c8e18..0f80a8858a3 100644 --- a/appserver/batch/jbatch-repackaged/pom.xml +++ b/appserver/batch/jbatch-repackaged/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.batch batch - 7.2026.5-SNAPSHOT + 7.2026.5 payara-jbatch diff --git a/appserver/batch/pom.xml b/appserver/batch/pom.xml index 688b180df97..73ffb7a6356 100755 --- a/appserver/batch/pom.xml +++ b/appserver/batch/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.batch diff --git a/appserver/common/amx-javaee/pom.xml b/appserver/common/amx-javaee/pom.xml index eba76671d5a..58cf2ed52dd 100755 --- a/appserver/common/amx-javaee/pom.xml +++ b/appserver/common/amx-javaee/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 amx-javaee diff --git a/appserver/common/annotation-framework-l10n/pom.xml b/appserver/common/annotation-framework-l10n/pom.xml index ab748f687fc..90453bfc3d2 100755 --- a/appserver/common/annotation-framework-l10n/pom.xml +++ b/appserver/common/annotation-framework-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common common - 7.2026.5-SNAPSHOT + 7.2026.5 annotation-framework-l10n diff --git a/appserver/common/annotation-framework/pom.xml b/appserver/common/annotation-framework/pom.xml index 8c76e1e007e..e1b8357e430 100755 --- a/appserver/common/annotation-framework/pom.xml +++ b/appserver/common/annotation-framework/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common common - 7.2026.5-SNAPSHOT + 7.2026.5 annotation-framework glassfish-jar diff --git a/appserver/common/container-common-l10n/pom.xml b/appserver/common/container-common-l10n/pom.xml index f7d244f2309..a438c25c5bc 100755 --- a/appserver/common/container-common-l10n/pom.xml +++ b/appserver/common/container-common-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 container-common-l10n diff --git a/appserver/common/container-common/pom.xml b/appserver/common/container-common/pom.xml index a664938cf18..e4110f07708 100755 --- a/appserver/common/container-common/pom.xml +++ b/appserver/common/container-common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common common - 7.2026.5-SNAPSHOT + 7.2026.5 container-common diff --git a/appserver/common/glassfish-ee-api/pom.xml b/appserver/common/glassfish-ee-api/pom.xml index cd66f64ade0..9cbbd1fa67e 100644 --- a/appserver/common/glassfish-ee-api/pom.xml +++ b/appserver/common/glassfish-ee-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common common - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-ee-api diff --git a/appserver/common/glassfish-naming-l10n/pom.xml b/appserver/common/glassfish-naming-l10n/pom.xml index 5440136670b..8b9b2a28e61 100755 --- a/appserver/common/glassfish-naming-l10n/pom.xml +++ b/appserver/common/glassfish-naming-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 glassfish-naming-l10n diff --git a/appserver/common/glassfish-naming/pom.xml b/appserver/common/glassfish-naming/pom.xml index 9aa2277626f..9eb34d9c7d4 100755 --- a/appserver/common/glassfish-naming/pom.xml +++ b/appserver/common/glassfish-naming/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/common/pom.xml b/appserver/common/pom.xml index ca865ba1adf..aaaa2ae4f69 100755 --- a/appserver/common/pom.xml +++ b/appserver/common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.common common diff --git a/appserver/common/stats77-l10n/pom.xml b/appserver/common/stats77-l10n/pom.xml index 91904c7d7ab..bde809c6e0c 100644 --- a/appserver/common/stats77-l10n/pom.xml +++ b/appserver/common/stats77-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.common common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 stats77-l10n diff --git a/appserver/common/stats77/pom.xml b/appserver/common/stats77/pom.xml index 65e7a3ee23a..f3a52e904e9 100755 --- a/appserver/common/stats77/pom.xml +++ b/appserver/common/stats77/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/concurrent/concurrent-connector-l10n/pom.xml b/appserver/concurrent/concurrent-connector-l10n/pom.xml index 80a2200a4c6..9eeef3b1a1a 100644 --- a/appserver/concurrent/concurrent-connector-l10n/pom.xml +++ b/appserver/concurrent/concurrent-connector-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.concurrent concurrent - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 concurrent-connector-l10n diff --git a/appserver/concurrent/concurrent-connector/pom.xml b/appserver/concurrent/concurrent-connector/pom.xml index eea3791eac7..355f0dab161 100644 --- a/appserver/concurrent/concurrent-connector/pom.xml +++ b/appserver/concurrent/concurrent-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.concurrent concurrent - 7.2026.5-SNAPSHOT + 7.2026.5 concurrent-connector glassfish-jar diff --git a/appserver/concurrent/concurrent-impl-l10n/pom.xml b/appserver/concurrent/concurrent-impl-l10n/pom.xml index 322196afb50..cfa1aa546f0 100644 --- a/appserver/concurrent/concurrent-impl-l10n/pom.xml +++ b/appserver/concurrent/concurrent-impl-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.concurrent concurrent - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 concurrent-impl-l10n diff --git a/appserver/concurrent/concurrent-impl/pom.xml b/appserver/concurrent/concurrent-impl/pom.xml index 76b1ce13a13..6e55c58f221 100644 --- a/appserver/concurrent/concurrent-impl/pom.xml +++ b/appserver/concurrent/concurrent-impl/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.concurrent concurrent - 7.2026.5-SNAPSHOT + 7.2026.5 concurrent-impl glassfish-jar diff --git a/appserver/concurrent/pom.xml b/appserver/concurrent/pom.xml index ef53d6f7b49..c7d93afa848 100755 --- a/appserver/concurrent/pom.xml +++ b/appserver/concurrent/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/connectors/admin-l10n/pom.xml b/appserver/connectors/admin-l10n/pom.xml index 05da31a134a..8bcdb1859f1 100644 --- a/appserver/connectors/admin-l10n/pom.xml +++ b/appserver/connectors/admin-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 connectors-admin-l10n diff --git a/appserver/connectors/admin/pom.xml b/appserver/connectors/admin/pom.xml index 373b0c711df..56b9ae7dd01 100644 --- a/appserver/connectors/admin/pom.xml +++ b/appserver/connectors/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 connectors-admin glassfish-jar diff --git a/appserver/connectors/connectors-connector/pom.xml b/appserver/connectors/connectors-connector/pom.xml index caf52f7ece4..c2ad31615df 100644 --- a/appserver/connectors/connectors-connector/pom.xml +++ b/appserver/connectors/connectors-connector/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 gf-connectors-connector diff --git a/appserver/connectors/connectors-inbound-runtime-l10n/pom.xml b/appserver/connectors/connectors-inbound-runtime-l10n/pom.xml index 9138de9729e..fa11b0cf816 100644 --- a/appserver/connectors/connectors-inbound-runtime-l10n/pom.xml +++ b/appserver/connectors/connectors-inbound-runtime-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 connectors-inbound-runtime-l10n diff --git a/appserver/connectors/connectors-inbound-runtime/pom.xml b/appserver/connectors/connectors-inbound-runtime/pom.xml index 15bce61278c..b3bda833f60 100644 --- a/appserver/connectors/connectors-inbound-runtime/pom.xml +++ b/appserver/connectors/connectors-inbound-runtime/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 connectors-inbound-runtime diff --git a/appserver/connectors/connectors-internal-api-l10n/pom.xml b/appserver/connectors/connectors-internal-api-l10n/pom.xml index cc7e03fd7bf..475a5d0a3ac 100755 --- a/appserver/connectors/connectors-internal-api-l10n/pom.xml +++ b/appserver/connectors/connectors-internal-api-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 connectors-internal-api-l10n diff --git a/appserver/connectors/connectors-internal-api/pom.xml b/appserver/connectors/connectors-internal-api/pom.xml index 306037e6fc6..f4f4004496e 100755 --- a/appserver/connectors/connectors-internal-api/pom.xml +++ b/appserver/connectors/connectors-internal-api/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/connectors/connectors-runtime-l10n/pom.xml b/appserver/connectors/connectors-runtime-l10n/pom.xml index 524574f44f2..a723cd4c57d 100644 --- a/appserver/connectors/connectors-runtime-l10n/pom.xml +++ b/appserver/connectors/connectors-runtime-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 connectors-runtime-l10n diff --git a/appserver/connectors/connectors-runtime/pom.xml b/appserver/connectors/connectors-runtime/pom.xml index 8652d862a0f..8ea9f47d000 100644 --- a/appserver/connectors/connectors-runtime/pom.xml +++ b/appserver/connectors/connectors-runtime/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 connectors-runtime diff --git a/appserver/connectors/descriptors/pom.xml b/appserver/connectors/descriptors/pom.xml index 1381e9f52ba..3a8e86cdec1 100644 --- a/appserver/connectors/descriptors/pom.xml +++ b/appserver/connectors/descriptors/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 descriptors distribution-fragment diff --git a/appserver/connectors/pom.xml b/appserver/connectors/pom.xml index 6e6988d4481..7cd7aa333d2 100644 --- a/appserver/connectors/pom.xml +++ b/appserver/connectors/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.connectors connectors diff --git a/appserver/connectors/work-management-l10n/pom.xml b/appserver/connectors/work-management-l10n/pom.xml index aa9118e672d..a32c8ad733b 100644 --- a/appserver/connectors/work-management-l10n/pom.xml +++ b/appserver/connectors/work-management-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 work-management-l10n diff --git a/appserver/connectors/work-management/pom.xml b/appserver/connectors/work-management/pom.xml index 98754b1a161..79206490040 100644 --- a/appserver/connectors/work-management/pom.xml +++ b/appserver/connectors/work-management/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5-SNAPSHOT + 7.2026.5 work-management diff --git a/appserver/core/api-exporter-fragment/pom.xml b/appserver/core/api-exporter-fragment/pom.xml index 3d06378b98c..151738e1136 100755 --- a/appserver/core/api-exporter-fragment/pom.xml +++ b/appserver/core/api-exporter-fragment/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core core - 7.2026.5-SNAPSHOT + 7.2026.5 api-exporter-fragment GlassFish API Exporter Module Fragment diff --git a/appserver/core/jakartaee-kernel/pom.xml b/appserver/core/jakartaee-kernel/pom.xml index d9c5f13cad6..b48e2b228e2 100755 --- a/appserver/core/jakartaee-kernel/pom.xml +++ b/appserver/core/jakartaee-kernel/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core core - 7.2026.5-SNAPSHOT + 7.2026.5 jakartaee-kernel glassfish-jar diff --git a/appserver/core/pom.xml b/appserver/core/pom.xml index 81f3b5853fa..2a752fa89dd 100644 --- a/appserver/core/pom.xml +++ b/appserver/core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.core core diff --git a/appserver/data/data-core/pom.xml b/appserver/data/data-core/pom.xml index 7d7d121f2fa..29638b85332 100644 --- a/appserver/data/data-core/pom.xml +++ b/appserver/data/data-core/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.data data - 7.2026.5-SNAPSHOT + 7.2026.5 data-core diff --git a/appserver/data/pom.xml b/appserver/data/pom.xml index e867e6b8866..624e048667b 100755 --- a/appserver/data/pom.xml +++ b/appserver/data/pom.xml @@ -45,7 +45,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.data data diff --git a/appserver/deployment/client-l10n/pom.xml b/appserver/deployment/client-l10n/pom.xml index f7b36ceecb0..b0c568231de 100644 --- a/appserver/deployment/client-l10n/pom.xml +++ b/appserver/deployment/client-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5-SNAPSHOT + 7.2026.5 deployment-client-l10n diff --git a/appserver/deployment/client/pom.xml b/appserver/deployment/client/pom.xml index d7fe990f8d7..7f04ffb7355 100644 --- a/appserver/deployment/client/pom.xml +++ b/appserver/deployment/client/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5-SNAPSHOT + 7.2026.5 deployment-client glassfish-jar diff --git a/appserver/deployment/dol-l10n/pom.xml b/appserver/deployment/dol-l10n/pom.xml index ff62eda34bd..218fbefeddd 100755 --- a/appserver/deployment/dol-l10n/pom.xml +++ b/appserver/deployment/dol-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5-SNAPSHOT + 7.2026.5 dol-l10n diff --git a/appserver/deployment/dol/pom.xml b/appserver/deployment/dol/pom.xml index 0fcb111fe43..824901c4cd6 100755 --- a/appserver/deployment/dol/pom.xml +++ b/appserver/deployment/dol/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5-SNAPSHOT + 7.2026.5 dol diff --git a/appserver/deployment/dtds/pom.xml b/appserver/deployment/dtds/pom.xml index 849b0c3e60f..34cd68b8be2 100644 --- a/appserver/deployment/dtds/pom.xml +++ b/appserver/deployment/dtds/pom.xml @@ -5,7 +5,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5-SNAPSHOT + 7.2026.5 dtds distribution-fragment diff --git a/appserver/deployment/javaee-core-l10n/pom.xml b/appserver/deployment/javaee-core-l10n/pom.xml index 7456f627d79..3a3654151dd 100755 --- a/appserver/deployment/javaee-core-l10n/pom.xml +++ b/appserver/deployment/javaee-core-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 deployment-javaee-core-l10n diff --git a/appserver/deployment/javaee-core/pom.xml b/appserver/deployment/javaee-core/pom.xml index f3829138c2c..87fd8c84a57 100755 --- a/appserver/deployment/javaee-core/pom.xml +++ b/appserver/deployment/javaee-core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/deployment/javaee-full-l10n/pom.xml b/appserver/deployment/javaee-full-l10n/pom.xml index 6b6ab5a631b..08e4d3ee11a 100755 --- a/appserver/deployment/javaee-full-l10n/pom.xml +++ b/appserver/deployment/javaee-full-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 deployment-javaee-full-l10n diff --git a/appserver/deployment/javaee-full/pom.xml b/appserver/deployment/javaee-full/pom.xml index 0cdc507d43f..f5dbcbe0d8b 100755 --- a/appserver/deployment/javaee-full/pom.xml +++ b/appserver/deployment/javaee-full/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 deployment-javaee-full diff --git a/appserver/deployment/jsr88-jar/pom.xml b/appserver/deployment/jsr88-jar/pom.xml index 2dedb6f5cc3..523e0aba2de 100755 --- a/appserver/deployment/jsr88-jar/pom.xml +++ b/appserver/deployment/jsr88-jar/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 ../../pom.xml fish.payara.server.internal.deployment diff --git a/appserver/deployment/jsr88-jar/sun-as-jsr88-dm-frag/pom.xml b/appserver/deployment/jsr88-jar/sun-as-jsr88-dm-frag/pom.xml index 1b1a1e9d13a..8da6b0c7b61 100644 --- a/appserver/deployment/jsr88-jar/sun-as-jsr88-dm-frag/pom.xml +++ b/appserver/deployment/jsr88-jar/sun-as-jsr88-dm-frag/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment jsr-88 - 7.2026.5-SNAPSHOT + 7.2026.5 sun-as-jsr88-dm-frag diff --git a/appserver/deployment/jsr88-jar/sun-as-jsr88-dm/pom.xml b/appserver/deployment/jsr88-jar/sun-as-jsr88-dm/pom.xml index 652bcca2653..2a70b904a50 100644 --- a/appserver/deployment/jsr88-jar/sun-as-jsr88-dm/pom.xml +++ b/appserver/deployment/jsr88-jar/sun-as-jsr88-dm/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment jsr-88 - 7.2026.5-SNAPSHOT + 7.2026.5 sun-as-jsr88-dm JSR-88 implementation declaration JAR diff --git a/appserver/deployment/pom.xml b/appserver/deployment/pom.xml index 8ace473dd9c..a427c44cbe6 100755 --- a/appserver/deployment/pom.xml +++ b/appserver/deployment/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.deployment deployment diff --git a/appserver/deployment/schemas/pom.xml b/appserver/deployment/schemas/pom.xml index f21e0848303..1d34b9cb088 100644 --- a/appserver/deployment/schemas/pom.xml +++ b/appserver/deployment/schemas/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5-SNAPSHOT + 7.2026.5 schemas diff --git a/appserver/distributions/payara-ml/pom.xml b/appserver/distributions/payara-ml/pom.xml index 3de507bb73c..fab695b73e3 100644 --- a/appserver/distributions/payara-ml/pom.xml +++ b/appserver/distributions/payara-ml/pom.xml @@ -46,7 +46,7 @@ fish.payara.distributions distributions - 7.2026.5-SNAPSHOT + 7.2026.5 payara-ml Payara Multi-Language Distribution diff --git a/appserver/distributions/payara-web-ml/pom.xml b/appserver/distributions/payara-web-ml/pom.xml index 101c0a53dd0..aa9f1b3eb13 100644 --- a/appserver/distributions/payara-web-ml/pom.xml +++ b/appserver/distributions/payara-web-ml/pom.xml @@ -46,7 +46,7 @@ fish.payara.distributions distributions - 7.2026.5-SNAPSHOT + 7.2026.5 payara-web-ml Payara Web Multi-Language Distribution diff --git a/appserver/distributions/payara-web/pom.xml b/appserver/distributions/payara-web/pom.xml index 39287a13a1a..b56f3aaa7a0 100644 --- a/appserver/distributions/payara-web/pom.xml +++ b/appserver/distributions/payara-web/pom.xml @@ -47,7 +47,7 @@ fish.payara.distributions distributions - 7.2026.5-SNAPSHOT + 7.2026.5 payara-web Payara Web Distribution diff --git a/appserver/distributions/payara/pom.xml b/appserver/distributions/payara/pom.xml index d8b3b45c294..9d188a62b4b 100644 --- a/appserver/distributions/payara/pom.xml +++ b/appserver/distributions/payara/pom.xml @@ -47,7 +47,7 @@ fish.payara.distributions distributions - 7.2026.5-SNAPSHOT + 7.2026.5 payara diff --git a/appserver/distributions/pom.xml b/appserver/distributions/pom.xml index 7acf8f559b1..c453550fe7f 100644 --- a/appserver/distributions/pom.xml +++ b/appserver/distributions/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.distributions diff --git a/appserver/docker/pom.xml b/appserver/docker/pom.xml index f07db5407d7..899cfc3d1fc 100644 --- a/appserver/docker/pom.xml +++ b/appserver/docker/pom.xml @@ -44,7 +44,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/ejb/ejb-all/pom.xml b/appserver/ejb/ejb-all/pom.xml index 36be07b16a2..4beee53d2fe 100755 --- a/appserver/ejb/ejb-all/pom.xml +++ b/appserver/ejb/ejb-all/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-all diff --git a/appserver/ejb/ejb-client/pom.xml b/appserver/ejb/ejb-client/pom.xml index c392833bb1a..cd310f47c96 100755 --- a/appserver/ejb/ejb-client/pom.xml +++ b/appserver/ejb/ejb-client/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-client diff --git a/appserver/ejb/ejb-connector-l10n/pom.xml b/appserver/ejb/ejb-connector-l10n/pom.xml index a69b89e0c71..16b60e79538 100755 --- a/appserver/ejb/ejb-connector-l10n/pom.xml +++ b/appserver/ejb/ejb-connector-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 gf-ejb-connector-l10n diff --git a/appserver/ejb/ejb-connector/pom.xml b/appserver/ejb/ejb-connector/pom.xml index 4f883dc7083..f852e8a890c 100755 --- a/appserver/ejb/ejb-connector/pom.xml +++ b/appserver/ejb/ejb-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 gf-ejb-connector glassfish-jar diff --git a/appserver/ejb/ejb-container-l10n/pom.xml b/appserver/ejb/ejb-container-l10n/pom.xml index b23f87316b8..a53ed7a520c 100755 --- a/appserver/ejb/ejb-container-l10n/pom.xml +++ b/appserver/ejb/ejb-container-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-container-l10n diff --git a/appserver/ejb/ejb-container/pom.xml b/appserver/ejb/ejb-container/pom.xml index dbe6d4a3bef..a34e9e03cf2 100755 --- a/appserver/ejb/ejb-container/pom.xml +++ b/appserver/ejb/ejb-container/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-container diff --git a/appserver/ejb/ejb-full-container/pom.xml b/appserver/ejb/ejb-full-container/pom.xml index 53ef6e00401..535f5012b15 100644 --- a/appserver/ejb/ejb-full-container/pom.xml +++ b/appserver/ejb/ejb-full-container/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-full-container diff --git a/appserver/ejb/ejb-http-remoting/admin/pom.xml b/appserver/ejb/ejb-http-remoting/admin/pom.xml index b482fcb29ee..03ed26086bb 100644 --- a/appserver/ejb/ejb-http-remoting/admin/pom.xml +++ b/appserver/ejb/ejb-http-remoting/admin/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.ejb ejb-http-remoting - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-http-admin diff --git a/appserver/ejb/ejb-http-remoting/client/pom.xml b/appserver/ejb/ejb-http-remoting/client/pom.xml index 2d269418e83..28fc00e8a0e 100644 --- a/appserver/ejb/ejb-http-remoting/client/pom.xml +++ b/appserver/ejb/ejb-http-remoting/client/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.ejb ejb-http-remoting - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.extras diff --git a/appserver/ejb/ejb-http-remoting/endpoint/pom.xml b/appserver/ejb/ejb-http-remoting/endpoint/pom.xml index e16dbefcd8b..77f8bb3dfea 100644 --- a/appserver/ejb/ejb-http-remoting/endpoint/pom.xml +++ b/appserver/ejb/ejb-http-remoting/endpoint/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.ejb ejb-http-remoting - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-http-endpoint diff --git a/appserver/ejb/ejb-http-remoting/pom.xml b/appserver/ejb/ejb-http-remoting/pom.xml index 93e1aa743e5..e9ce7eae01d 100755 --- a/appserver/ejb/ejb-http-remoting/pom.xml +++ b/appserver/ejb/ejb-http-remoting/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-http-remoting diff --git a/appserver/ejb/ejb-internal-api/pom.xml b/appserver/ejb/ejb-internal-api/pom.xml index 5b53bb7b374..221ed4ef693 100755 --- a/appserver/ejb/ejb-internal-api/pom.xml +++ b/appserver/ejb/ejb-internal-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-internal-api diff --git a/appserver/ejb/ejb-opentracing/pom.xml b/appserver/ejb/ejb-opentracing/pom.xml index d16fa4496f0..f7c455bfa67 100644 --- a/appserver/ejb/ejb-opentracing/pom.xml +++ b/appserver/ejb/ejb-opentracing/pom.xml @@ -43,7 +43,7 @@ holder. fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-opentracing diff --git a/appserver/ejb/ejb-timer-databases/pom.xml b/appserver/ejb/ejb-timer-databases/pom.xml index 183bf62abe8..617f1bef626 100644 --- a/appserver/ejb/ejb-timer-databases/pom.xml +++ b/appserver/ejb/ejb-timer-databases/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-timer-databases diff --git a/appserver/ejb/ejb-timer-service-app/pom.xml b/appserver/ejb/ejb-timer-service-app/pom.xml index 6dceed921af..c190034373b 100644 --- a/appserver/ejb/ejb-timer-service-app/pom.xml +++ b/appserver/ejb/ejb-timer-service-app/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-timer-service-app diff --git a/appserver/ejb/pom.xml b/appserver/ejb/pom.xml index 4200ff423d3..5ba573273c5 100755 --- a/appserver/ejb/pom.xml +++ b/appserver/ejb/pom.xml @@ -45,7 +45,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.ejb diff --git a/appserver/extras/appserv-rt/dist-frag/pom.xml b/appserver/extras/appserv-rt/dist-frag/pom.xml index 5336e2db465..2e570981bb3 100644 --- a/appserver/extras/appserv-rt/dist-frag/pom.xml +++ b/appserver/extras/appserv-rt/dist-frag/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.extras appserv-rt-pom - 7.2026.5-SNAPSHOT + 7.2026.5 GlassFish appserv-rt distribution fragment appserv-rt-frag diff --git a/appserver/extras/appserv-rt/manifest-jar/pom.xml b/appserver/extras/appserv-rt/manifest-jar/pom.xml index 5fc0cb9e0bb..37eb970ce76 100644 --- a/appserver/extras/appserv-rt/manifest-jar/pom.xml +++ b/appserver/extras/appserv-rt/manifest-jar/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.extras appserv-rt-pom - 7.2026.5-SNAPSHOT + 7.2026.5 GlassFish appserv-rt.jar diff --git a/appserver/extras/appserv-rt/pom.xml b/appserver/extras/appserv-rt/pom.xml index dcb1ff8250e..a0764f72bc5 100644 --- a/appserver/extras/appserv-rt/pom.xml +++ b/appserver/extras/appserv-rt/pom.xml @@ -46,7 +46,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.extras diff --git a/appserver/extras/docker-images/micro/pom.xml b/appserver/extras/docker-images/micro/pom.xml index a04e072cd43..355a13867cc 100644 --- a/appserver/extras/docker-images/micro/pom.xml +++ b/appserver/extras/docker-images/micro/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras docker-images - 7.2026.5-SNAPSHOT + 7.2026.5 micro-docker-image pom diff --git a/appserver/extras/docker-images/pom.xml b/appserver/extras/docker-images/pom.xml index c3d023ca18b..e165d1d5956 100644 --- a/appserver/extras/docker-images/pom.xml +++ b/appserver/extras/docker-images/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 docker-images pom diff --git a/appserver/extras/docker-images/server-full/pom.xml b/appserver/extras/docker-images/server-full/pom.xml index ae3aa463bd5..84a44286251 100644 --- a/appserver/extras/docker-images/server-full/pom.xml +++ b/appserver/extras/docker-images/server-full/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras docker-images - 7.2026.5-SNAPSHOT + 7.2026.5 server-full-docker-image pom diff --git a/appserver/extras/docker-images/server-node/pom.xml b/appserver/extras/docker-images/server-node/pom.xml index 003281df777..e3467cb9b13 100644 --- a/appserver/extras/docker-images/server-node/pom.xml +++ b/appserver/extras/docker-images/server-node/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras docker-images - 7.2026.5-SNAPSHOT + 7.2026.5 server-node-docker-image pom diff --git a/appserver/extras/docker-images/server-web/pom.xml b/appserver/extras/docker-images/server-web/pom.xml index 188a1595c41..9b8cae5a5ba 100644 --- a/appserver/extras/docker-images/server-web/pom.xml +++ b/appserver/extras/docker-images/server-web/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras docker-images - 7.2026.5-SNAPSHOT + 7.2026.5 server-web-docker-image pom diff --git a/appserver/extras/docker-images/tests/pom.xml b/appserver/extras/docker-images/tests/pom.xml index 1fb8cf5c5b4..9adce706105 100644 --- a/appserver/extras/docker-images/tests/pom.xml +++ b/appserver/extras/docker-images/tests/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras docker-images - 7.2026.5-SNAPSHOT + 7.2026.5 docker-images-tests jar diff --git a/appserver/extras/embedded/all/pom.xml b/appserver/extras/embedded/all/pom.xml index 0d0049a3bd1..0f071634016 100644 --- a/appserver/extras/embedded/all/pom.xml +++ b/appserver/extras/embedded/all/pom.xml @@ -48,7 +48,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 ../../pom.xml diff --git a/appserver/extras/embedded/pom.xml b/appserver/extras/embedded/pom.xml index 8328ed6c280..4f29b83ae34 100644 --- a/appserver/extras/embedded/pom.xml +++ b/appserver/extras/embedded/pom.xml @@ -46,7 +46,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.extras diff --git a/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml index 9fa8d6f7f9b..89bced04de8 100644 --- a/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml +++ b/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml @@ -46,7 +46,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 ../../../pom.xml diff --git a/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml index a64c3f55d18..4c928264f3d 100755 --- a/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml +++ b/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml @@ -48,7 +48,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 ../../../pom.xml diff --git a/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml index 64e6657e6ef..e58c5007615 100644 --- a/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml +++ b/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml @@ -46,7 +46,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 ../../../pom.xml diff --git a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml index 7d3b08dd042..449d2475978 100755 --- a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml +++ b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml @@ -47,7 +47,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 ../../../pom.xml diff --git a/appserver/extras/embedded/shell/pom.xml b/appserver/extras/embedded/shell/pom.xml index 2847d58a5a5..a6ea634721b 100755 --- a/appserver/extras/embedded/shell/pom.xml +++ b/appserver/extras/embedded/shell/pom.xml @@ -48,7 +48,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 ../../pom.xml diff --git a/appserver/extras/embedded/tests/embedded-vs-jersey/pom.xml b/appserver/extras/embedded/tests/embedded-vs-jersey/pom.xml index a0c33f039fa..b340f363555 100644 --- a/appserver/extras/embedded/tests/embedded-vs-jersey/pom.xml +++ b/appserver/extras/embedded/tests/embedded-vs-jersey/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.extras embedded-tests - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.extras.embedded-tests diff --git a/appserver/extras/embedded/tests/pom.xml b/appserver/extras/embedded/tests/pom.xml index dec2534f419..faef94b358d 100644 --- a/appserver/extras/embedded/tests/pom.xml +++ b/appserver/extras/embedded/tests/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.extras embedded - 7.2026.5-SNAPSHOT + 7.2026.5 embedded-tests diff --git a/appserver/extras/embedded/web/pom.xml b/appserver/extras/embedded/web/pom.xml index db7af8ad40c..916e7d3121e 100644 --- a/appserver/extras/embedded/web/pom.xml +++ b/appserver/extras/embedded/web/pom.xml @@ -48,7 +48,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 ../../pom.xml diff --git a/appserver/extras/javaee/dist-frag/pom.xml b/appserver/extras/javaee/dist-frag/pom.xml index beb5398e97a..1815e447296 100644 --- a/appserver/extras/javaee/dist-frag/pom.xml +++ b/appserver/extras/javaee/dist-frag/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.extras javaee-pom - 7.2026.5-SNAPSHOT + 7.2026.5 GlassFish javaee.jar distribution fragment javaee-frag diff --git a/appserver/extras/javaee/manifest-jar/pom.xml b/appserver/extras/javaee/manifest-jar/pom.xml index 1e3dac1863e..940e2c7fb28 100644 --- a/appserver/extras/javaee/manifest-jar/pom.xml +++ b/appserver/extras/javaee/manifest-jar/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.extras javaee-pom - 7.2026.5-SNAPSHOT + 7.2026.5 GlassFish javaee.jar diff --git a/appserver/extras/javaee/pom.xml b/appserver/extras/javaee/pom.xml index 7434a1d0a04..a0930778dc6 100644 --- a/appserver/extras/javaee/pom.xml +++ b/appserver/extras/javaee/pom.xml @@ -46,7 +46,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.extras diff --git a/appserver/extras/payara-micro/payara-micro-boot/pom.xml b/appserver/extras/payara-micro/payara-micro-boot/pom.xml index 53bcdfdab52..074c3810553 100644 --- a/appserver/extras/payara-micro/payara-micro-boot/pom.xml +++ b/appserver/extras/payara-micro/payara-micro-boot/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.extras payara-micro-parent - 7.2026.5-SNAPSHOT + 7.2026.5 payara-micro-boot glassfish-jar diff --git a/appserver/extras/payara-micro/payara-micro-core/pom.xml b/appserver/extras/payara-micro/payara-micro-core/pom.xml index 2d2a7511265..9db40fe7d16 100644 --- a/appserver/extras/payara-micro/payara-micro-core/pom.xml +++ b/appserver/extras/payara-micro/payara-micro-core/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.extras payara-micro-parent - 7.2026.5-SNAPSHOT + 7.2026.5 payara-micro-core glassfish-jar diff --git a/appserver/extras/payara-micro/payara-micro-distribution/pom.xml b/appserver/extras/payara-micro/payara-micro-distribution/pom.xml index 993473a78d7..9e309fb9aaf 100644 --- a/appserver/extras/payara-micro/payara-micro-distribution/pom.xml +++ b/appserver/extras/payara-micro/payara-micro-distribution/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.extras payara-micro-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.extras payara-micro diff --git a/appserver/extras/payara-micro/pom.xml b/appserver/extras/payara-micro/pom.xml index 6c7fbc950b2..243f968e4c4 100644 --- a/appserver/extras/payara-micro/pom.xml +++ b/appserver/extras/payara-micro/pom.xml @@ -4,7 +4,7 @@ fish.payara.extras extras - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.extras payara-micro-parent diff --git a/appserver/extras/pom.xml b/appserver/extras/pom.xml index 048f1a260ae..dba5ad91b69 100755 --- a/appserver/extras/pom.xml +++ b/appserver/extras/pom.xml @@ -48,7 +48,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.extras diff --git a/appserver/featuresets/glassfish/pom.xml b/appserver/featuresets/glassfish/pom.xml index 32aea7f8fdc..3a77b453c2d 100644 --- a/appserver/featuresets/glassfish/pom.xml +++ b/appserver/featuresets/glassfish/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish Glassfish Featureset diff --git a/appserver/featuresets/minnow-ml/pom.xml b/appserver/featuresets/minnow-ml/pom.xml index d89d07bcf4b..b02edbb1875 100644 --- a/appserver/featuresets/minnow-ml/pom.xml +++ b/appserver/featuresets/minnow-ml/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5-SNAPSHOT + 7.2026.5 minnow-ml Glassfish Minnow Multi-Language Featureset diff --git a/appserver/featuresets/minnow/pom.xml b/appserver/featuresets/minnow/pom.xml index c2ec21406e1..c7b9f405ecf 100644 --- a/appserver/featuresets/minnow/pom.xml +++ b/appserver/featuresets/minnow/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5-SNAPSHOT + 7.2026.5 minnow Glassfish Minnow Featureset diff --git a/appserver/featuresets/payara-ml/pom.xml b/appserver/featuresets/payara-ml/pom.xml index 82bec340dd4..23d043c8a11 100644 --- a/appserver/featuresets/payara-ml/pom.xml +++ b/appserver/featuresets/payara-ml/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5-SNAPSHOT + 7.2026.5 payara-ml-featureset Payara Multi-Language Featureset diff --git a/appserver/featuresets/payara-web-ml/pom.xml b/appserver/featuresets/payara-web-ml/pom.xml index 6f34b8381dd..790e36c06f7 100644 --- a/appserver/featuresets/payara-web-ml/pom.xml +++ b/appserver/featuresets/payara-web-ml/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5-SNAPSHOT + 7.2026.5 payara-web-ml-featureset Payara Web Multi-Language Featureset diff --git a/appserver/featuresets/payara-web/pom.xml b/appserver/featuresets/payara-web/pom.xml index 43f4abcb6c2..8d880c8f024 100644 --- a/appserver/featuresets/payara-web/pom.xml +++ b/appserver/featuresets/payara-web/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5-SNAPSHOT + 7.2026.5 payara-web-featureset diff --git a/appserver/featuresets/payara/pom.xml b/appserver/featuresets/payara/pom.xml index 07f8d14903a..a7a3f472db8 100644 --- a/appserver/featuresets/payara/pom.xml +++ b/appserver/featuresets/payara/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5-SNAPSHOT + 7.2026.5 payara-featureset diff --git a/appserver/featuresets/pom.xml b/appserver/featuresets/pom.xml index 59e5da43dac..2c82426bc6e 100644 --- a/appserver/featuresets/pom.xml +++ b/appserver/featuresets/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 pom fish.payara.server.internal.featuresets diff --git a/appserver/featuresets/web/pom.xml b/appserver/featuresets/web/pom.xml index b3a38a911a4..9ee47b9e7e9 100644 --- a/appserver/featuresets/web/pom.xml +++ b/appserver/featuresets/web/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5-SNAPSHOT + 7.2026.5 web Glassfish Web Featureset diff --git a/appserver/flashlight/btrace/pom.xml b/appserver/flashlight/btrace/pom.xml index 9435c05c9b1..d0c078656eb 100644 --- a/appserver/flashlight/btrace/pom.xml +++ b/appserver/flashlight/btrace/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.flashlight glassfish-flashlight - 7.2026.5-SNAPSHOT + 7.2026.5 btrace-jars btrace jar files diff --git a/appserver/flashlight/client/pom.xml b/appserver/flashlight/client/pom.xml index 7a9a529a1b0..544f713c90e 100755 --- a/appserver/flashlight/client/pom.xml +++ b/appserver/flashlight/client/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.flashlight glassfish-flashlight - 7.2026.5-SNAPSHOT + 7.2026.5 flashlight-client glassfish-jar diff --git a/appserver/flashlight/pom.xml b/appserver/flashlight/pom.xml index 9f76241117a..f4c87048d8c 100755 --- a/appserver/flashlight/pom.xml +++ b/appserver/flashlight/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.flashlight glassfish-flashlight diff --git a/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml b/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml index f27ad775c8f..218862d026e 100644 --- a/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml +++ b/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.grizzly glassfish-grizzly - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 glassfish-grizzly-extra-all diff --git a/appserver/grizzly/grizzly-container/pom.xml b/appserver/grizzly/grizzly-container/pom.xml index c2c4be99217..490a7ef2544 100755 --- a/appserver/grizzly/grizzly-container/pom.xml +++ b/appserver/grizzly/grizzly-container/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.grizzly glassfish-grizzly - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-grizzly-container diff --git a/appserver/grizzly/pom.xml b/appserver/grizzly/pom.xml index 1d0f37b3aa5..4e354f2e34d 100755 --- a/appserver/grizzly/pom.xml +++ b/appserver/grizzly/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.grizzly glassfish-grizzly diff --git a/appserver/ha/ha-file-store/pom.xml b/appserver/ha/ha-file-store/pom.xml index 159d0a636a1..159824bc376 100644 --- a/appserver/ha/ha-file-store/pom.xml +++ b/appserver/ha/ha-file-store/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.ha ha - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 ha-file-store diff --git a/appserver/ha/ha-hazelcast-store/pom.xml b/appserver/ha/ha-hazelcast-store/pom.xml index 1d7b516f6e5..0adae596311 100644 --- a/appserver/ha/ha-hazelcast-store/pom.xml +++ b/appserver/ha/ha-hazelcast-store/pom.xml @@ -42,7 +42,7 @@ fish.payara.server.internal.ha ha - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 ha-hazelcast-store diff --git a/appserver/ha/pom.xml b/appserver/ha/pom.xml index 6272c60d95b..fe6c9f0f741 100755 --- a/appserver/ha/pom.xml +++ b/appserver/ha/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.ha ha diff --git a/appserver/jdbc/admin-l10n/pom.xml b/appserver/jdbc/admin-l10n/pom.xml index 32012926047..110f6d2ab63 100755 --- a/appserver/jdbc/admin-l10n/pom.xml +++ b/appserver/jdbc/admin-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5-SNAPSHOT + 7.2026.5 jdbc-admin-l10n diff --git a/appserver/jdbc/admin/pom.xml b/appserver/jdbc/admin/pom.xml index 26c0a2f2b89..bfa648db6d0 100644 --- a/appserver/jdbc/admin/pom.xml +++ b/appserver/jdbc/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5-SNAPSHOT + 7.2026.5 jdbc-admin glassfish-jar diff --git a/appserver/jdbc/jdbc-config-l10n/pom.xml b/appserver/jdbc/jdbc-config-l10n/pom.xml index 7df4d8e5c5d..bca4a91e9bd 100644 --- a/appserver/jdbc/jdbc-config-l10n/pom.xml +++ b/appserver/jdbc/jdbc-config-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5-SNAPSHOT + 7.2026.5 jdbc-config-l10n diff --git a/appserver/jdbc/jdbc-config/pom.xml b/appserver/jdbc/jdbc-config/pom.xml index c51402852b7..a22e70d25e4 100644 --- a/appserver/jdbc/jdbc-config/pom.xml +++ b/appserver/jdbc/jdbc-config/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 jdbc-config diff --git a/appserver/jdbc/jdbc-ra/jdbc-core-l10n/pom.xml b/appserver/jdbc/jdbc-ra/jdbc-core-l10n/pom.xml index 41579a69db9..5acdd4624ad 100755 --- a/appserver/jdbc/jdbc-ra/jdbc-core-l10n/pom.xml +++ b/appserver/jdbc/jdbc-ra/jdbc-core-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc.jdbc-ra jdbc-ra - 7.2026.5-SNAPSHOT + 7.2026.5 jdbc-core-l10n diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml b/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml index a950720f943..aa365cc21b1 100644 --- a/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml +++ b/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc.jdbc-ra jdbc-ra - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 fish.payara.server.internal.jdbc.jdbc-ra.jdbc-core diff --git a/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml b/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml index 1fa21990331..f179156286c 100644 --- a/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml +++ b/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.jdbc.jdbc-ra jdbc-ra - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 fish.payara.server.internal.jdbc.jdbc-ra.jdbc-ra-distribution diff --git a/appserver/jdbc/jdbc-ra/jdbc40/pom.xml b/appserver/jdbc/jdbc-ra/jdbc40/pom.xml index 19b7b0ecd11..b29540b1c35 100644 --- a/appserver/jdbc/jdbc-ra/jdbc40/pom.xml +++ b/appserver/jdbc/jdbc-ra/jdbc40/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.jdbc.jdbc-ra jdbc-ra - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 fish.payara.server.internal.jdbc.jdbc-ra.jdbc40 diff --git a/appserver/jdbc/jdbc-ra/pom.xml b/appserver/jdbc/jdbc-ra/pom.xml index 2a52b3171fe..73ce1a3a10e 100644 --- a/appserver/jdbc/jdbc-ra/pom.xml +++ b/appserver/jdbc/jdbc-ra/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 ../../pom.xml diff --git a/appserver/jdbc/jdbc-runtime-l10n/pom.xml b/appserver/jdbc/jdbc-runtime-l10n/pom.xml index 7e69e34d40b..470581b479f 100644 --- a/appserver/jdbc/jdbc-runtime-l10n/pom.xml +++ b/appserver/jdbc/jdbc-runtime-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5-SNAPSHOT + 7.2026.5 jdbc-runtime-l10n diff --git a/appserver/jdbc/jdbc-runtime/pom.xml b/appserver/jdbc/jdbc-runtime/pom.xml index e544bdb026a..cd4cb33bf06 100644 --- a/appserver/jdbc/jdbc-runtime/pom.xml +++ b/appserver/jdbc/jdbc-runtime/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5-SNAPSHOT + 7.2026.5 jdbc-runtime diff --git a/appserver/jdbc/pom.xml b/appserver/jdbc/pom.xml index 2a518ad58b1..d6b8072c163 100755 --- a/appserver/jdbc/pom.xml +++ b/appserver/jdbc/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/jdbc/templates/pom.xml b/appserver/jdbc/templates/pom.xml index b28bc44c4de..372506585dd 100644 --- a/appserver/jdbc/templates/pom.xml +++ b/appserver/jdbc/templates/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/jms/admin-l10n/pom.xml b/appserver/jms/admin-l10n/pom.xml index 44eed2b64ea..1beb7fc2f63 100755 --- a/appserver/jms/admin-l10n/pom.xml +++ b/appserver/jms/admin-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jms jms - 7.2026.5-SNAPSHOT + 7.2026.5 jms-admin-l10n diff --git a/appserver/jms/admin/pom.xml b/appserver/jms/admin/pom.xml index a927c9f4cf0..568c20ef73b 100644 --- a/appserver/jms/admin/pom.xml +++ b/appserver/jms/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jms jms - 7.2026.5-SNAPSHOT + 7.2026.5 jms-admin glassfish-jar diff --git a/appserver/jms/gf-jms-connector-l10n/pom.xml b/appserver/jms/gf-jms-connector-l10n/pom.xml index adede486078..dfb0250d7a6 100644 --- a/appserver/jms/gf-jms-connector-l10n/pom.xml +++ b/appserver/jms/gf-jms-connector-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jms jms - 7.2026.5-SNAPSHOT + 7.2026.5 gf-jms-connector-l10n diff --git a/appserver/jms/gf-jms-connector/pom.xml b/appserver/jms/gf-jms-connector/pom.xml index c3fef20e719..3944d9066e8 100644 --- a/appserver/jms/gf-jms-connector/pom.xml +++ b/appserver/jms/gf-jms-connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.jms jms - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 gf-jms-connector diff --git a/appserver/jms/gf-jms-injection-l10n/pom.xml b/appserver/jms/gf-jms-injection-l10n/pom.xml index 3fecfc16918..378e80f3d57 100644 --- a/appserver/jms/gf-jms-injection-l10n/pom.xml +++ b/appserver/jms/gf-jms-injection-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jms jms - 7.2026.5-SNAPSHOT + 7.2026.5 gf-jms-injection-l10n diff --git a/appserver/jms/gf-jms-injection/pom.xml b/appserver/jms/gf-jms-injection/pom.xml index 4d85156d028..b96db8e6369 100644 --- a/appserver/jms/gf-jms-injection/pom.xml +++ b/appserver/jms/gf-jms-injection/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.jms jms - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/jms/jms-core-l10n/pom.xml b/appserver/jms/jms-core-l10n/pom.xml index ba5221ce28d..57ca461c575 100755 --- a/appserver/jms/jms-core-l10n/pom.xml +++ b/appserver/jms/jms-core-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jms jms - 7.2026.5-SNAPSHOT + 7.2026.5 jms-core-l10n diff --git a/appserver/jms/jms-core/pom.xml b/appserver/jms/jms-core/pom.xml index 6d0cc5d8bb2..9ab61415b15 100644 --- a/appserver/jms/jms-core/pom.xml +++ b/appserver/jms/jms-core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.jms jms - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 jms-core diff --git a/appserver/jms/jms-handlers/pom.xml b/appserver/jms/jms-handlers/pom.xml index d4b2d99784a..c88cd4d7300 100644 --- a/appserver/jms/jms-handlers/pom.xml +++ b/appserver/jms/jms-handlers/pom.xml @@ -43,7 +43,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.jms jms - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 jms-handlers diff --git a/appserver/jms/pom.xml b/appserver/jms/pom.xml index d088774c520..90b9a687768 100644 --- a/appserver/jms/pom.xml +++ b/appserver/jms/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.jms jms diff --git a/appserver/orb/orb-connector-l10n/pom.xml b/appserver/orb/orb-connector-l10n/pom.xml index f4eb5a73af3..c375044da70 100755 --- a/appserver/orb/orb-connector-l10n/pom.xml +++ b/appserver/orb/orb-connector-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.orb orb - 7.2026.5-SNAPSHOT + 7.2026.5 orb-connector-l10n diff --git a/appserver/orb/orb-connector/pom.xml b/appserver/orb/orb-connector/pom.xml index 90503981cf1..f2a99e90e69 100755 --- a/appserver/orb/orb-connector/pom.xml +++ b/appserver/orb/orb-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.orb orb - 7.2026.5-SNAPSHOT + 7.2026.5 orb-connector glassfish-jar diff --git a/appserver/orb/orb-enabler/pom.xml b/appserver/orb/orb-enabler/pom.xml index 35c944b410f..1481f828094 100755 --- a/appserver/orb/orb-enabler/pom.xml +++ b/appserver/orb/orb-enabler/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.orb orb - 7.2026.5-SNAPSHOT + 7.2026.5 orb-enabler glassfish-jar diff --git a/appserver/orb/orb-iiop/pom.xml b/appserver/orb/orb-iiop/pom.xml index f29a478242c..14d18d0668d 100755 --- a/appserver/orb/orb-iiop/pom.xml +++ b/appserver/orb/orb-iiop/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.orb orb - 7.2026.5-SNAPSHOT + 7.2026.5 orb-iiop glassfish-jar diff --git a/appserver/orb/pom.xml b/appserver/orb/pom.xml index 20be4e6b6b1..deec84db851 100755 --- a/appserver/orb/pom.xml +++ b/appserver/orb/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.orb orb diff --git a/appserver/osgi-platforms/felix-webconsole-extension/pom.xml b/appserver/osgi-platforms/felix-webconsole-extension/pom.xml index 0ed17ece685..d6f40c8fe9d 100644 --- a/appserver/osgi-platforms/felix-webconsole-extension/pom.xml +++ b/appserver/osgi-platforms/felix-webconsole-extension/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.osgi-platforms osgi-console-extensions - 7.2026.5-SNAPSHOT + 7.2026.5 felix-webconsole-extension glassfish-jar diff --git a/appserver/osgi-platforms/glassfish-osgi-console-plugin-l10n/pom.xml b/appserver/osgi-platforms/glassfish-osgi-console-plugin-l10n/pom.xml index 4f366686e94..1a94b8e7f4c 100755 --- a/appserver/osgi-platforms/glassfish-osgi-console-plugin-l10n/pom.xml +++ b/appserver/osgi-platforms/glassfish-osgi-console-plugin-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 ../../admingui/pom.xml diff --git a/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml b/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml index f5132de73c0..af5ca925fb9 100644 --- a/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml +++ b/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5-SNAPSHOT + 7.2026.5 ../../admingui/pom.xml fish.payara.server.internal.osgi-platforms diff --git a/appserver/osgi-platforms/pom.xml b/appserver/osgi-platforms/pom.xml index cda1ede777e..15ec447f3f3 100644 --- a/appserver/osgi-platforms/pom.xml +++ b/appserver/osgi-platforms/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 pom fish.payara.server.internal.osgi-platforms diff --git a/appserver/packager/JMX-Monitoring/pom.xml b/appserver/packager/JMX-Monitoring/pom.xml index c9f24695b3a..020fcadc862 100644 --- a/appserver/packager/JMX-Monitoring/pom.xml +++ b/appserver/packager/JMX-Monitoring/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 jmx-monitoring-package distribution-fragment diff --git a/appserver/packager/appserver-base/pom.xml b/appserver/packager/appserver-base/pom.xml index 0ac3fb0980a..29654a5592a 100644 --- a/appserver/packager/appserver-base/pom.xml +++ b/appserver/packager/appserver-base/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 appserver-base diff --git a/appserver/packager/appserver-core/pom.xml b/appserver/packager/appserver-core/pom.xml index f2f25d0b031..aa779d7abed 100644 --- a/appserver/packager/appserver-core/pom.xml +++ b/appserver/packager/appserver-core/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 appserver-core Payara Appserver Core Modules diff --git a/appserver/packager/asadmin-recorder/pom.xml b/appserver/packager/asadmin-recorder/pom.xml index 71d2fc28a96..fa72df22e9c 100644 --- a/appserver/packager/asadmin-recorder/pom.xml +++ b/appserver/packager/asadmin-recorder/pom.xml @@ -19,7 +19,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 asadmin-recorder Payara Asadmin Recorder Package diff --git a/appserver/packager/cdi-auth-roles/pom.xml b/appserver/packager/cdi-auth-roles/pom.xml index 637a003c62a..7c7ec8c942a 100644 --- a/appserver/packager/cdi-auth-roles/pom.xml +++ b/appserver/packager/cdi-auth-roles/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 cdi-auth-roles Payara CDI Auth Roles Package diff --git a/appserver/packager/data/pom.xml b/appserver/packager/data/pom.xml index cfb0144c973..08bd1422b3c 100644 --- a/appserver/packager/data/pom.xml +++ b/appserver/packager/data/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 data diff --git a/appserver/packager/docker/pom.xml b/appserver/packager/docker/pom.xml index 272c7b5b419..ece1264aeb6 100644 --- a/appserver/packager/docker/pom.xml +++ b/appserver/packager/docker/pom.xml @@ -5,7 +5,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/packager/environment-warning/pom.xml b/appserver/packager/environment-warning/pom.xml index b10507f1931..b6a19284154 100644 --- a/appserver/packager/environment-warning/pom.xml +++ b/appserver/packager/environment-warning/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 environment-warning Payara Environment Warning Package diff --git a/appserver/packager/external/ant/pom.xml b/appserver/packager/external/ant/pom.xml index 73dd26775e6..b566a0c579a 100644 --- a/appserver/packager/external/ant/pom.xml +++ b/appserver/packager/external/ant/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager external - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 ant diff --git a/appserver/packager/external/h2db/pom.xml b/appserver/packager/external/h2db/pom.xml index 9a0e5f979b9..42532963a63 100644 --- a/appserver/packager/external/h2db/pom.xml +++ b/appserver/packager/external/h2db/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager external - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 h2db-repackaged diff --git a/appserver/packager/external/jakarta-data-api/pom.xml b/appserver/packager/external/jakarta-data-api/pom.xml index 769e2a7da04..bc4395b5170 100755 --- a/appserver/packager/external/jakarta-data-api/pom.xml +++ b/appserver/packager/external/jakarta-data-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager external - 7.2026.5-SNAPSHOT + 7.2026.5 jakarta.data-api diff --git a/appserver/packager/external/jakarta-ee11-shim/pom.xml b/appserver/packager/external/jakarta-ee11-shim/pom.xml index 60fddc0257d..55ab5761d20 100644 --- a/appserver/packager/external/jakarta-ee11-shim/pom.xml +++ b/appserver/packager/external/jakarta-ee11-shim/pom.xml @@ -47,7 +47,7 @@ external fish.payara.server.internal.packager - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/packager/external/jakarta-ee9-shim/pom.xml b/appserver/packager/external/jakarta-ee9-shim/pom.xml index f553b2e4488..e5fc15b993e 100644 --- a/appserver/packager/external/jakarta-ee9-shim/pom.xml +++ b/appserver/packager/external/jakarta-ee9-shim/pom.xml @@ -47,7 +47,7 @@ external fish.payara.server.internal.packager - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/packager/external/jcip/pom.xml b/appserver/packager/external/jcip/pom.xml index 5387f21d1e5..5fd1783be09 100644 --- a/appserver/packager/external/jcip/pom.xml +++ b/appserver/packager/external/jcip/pom.xml @@ -45,7 +45,7 @@ holder. fish.payara.server.internal.packager external - 7.2026.5-SNAPSHOT + 7.2026.5 jcip-annotations-repackaged jcip-annotations repackaged diff --git a/appserver/packager/external/jmsra/pom.xml b/appserver/packager/external/jmsra/pom.xml index b687842b398..3dd3a2121e1 100644 --- a/appserver/packager/external/jmsra/pom.xml +++ b/appserver/packager/external/jmsra/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager external - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 jmsra diff --git a/appserver/packager/external/libpam4j/pom.xml b/appserver/packager/external/libpam4j/pom.xml index 8d146cb4cc2..a72abffb54d 100644 --- a/appserver/packager/external/libpam4j/pom.xml +++ b/appserver/packager/external/libpam4j/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager external - 7.2026.5-SNAPSHOT + 7.2026.5 libpam4j-repackaged diff --git a/appserver/packager/external/metro-xmlsec/pom.xml b/appserver/packager/external/metro-xmlsec/pom.xml index 0e73907c598..4ada3f58a81 100755 --- a/appserver/packager/external/metro-xmlsec/pom.xml +++ b/appserver/packager/external/metro-xmlsec/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager external - 7.2026.5-SNAPSHOT + 7.2026.5 metro-xmlsec-repackaged diff --git a/appserver/packager/external/pom.xml b/appserver/packager/external/pom.xml index 4ccb8d4298b..8bc32c83c77 100644 --- a/appserver/packager/external/pom.xml +++ b/appserver/packager/external/pom.xml @@ -52,7 +52,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 ../../pom.xml diff --git a/appserver/packager/felix/pom.xml b/appserver/packager/felix/pom.xml index b3487701d33..7ab98bfe52d 100644 --- a/appserver/packager/felix/pom.xml +++ b/appserver/packager/felix/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 felix Felix Package diff --git a/appserver/packager/glassfish-ant-tasks/pom.xml b/appserver/packager/glassfish-ant-tasks/pom.xml index 50c87a5c53b..2b38633a0ee 100644 --- a/appserver/packager/glassfish-ant-tasks/pom.xml +++ b/appserver/packager/glassfish-ant-tasks/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-ant-tasks GlassFish Ant Tasks Package diff --git a/appserver/packager/glassfish-appclient-l10n/pom.xml b/appserver/packager/glassfish-appclient-l10n/pom.xml index d938fd7851d..25f400b1946 100644 --- a/appserver/packager/glassfish-appclient-l10n/pom.xml +++ b/appserver/packager/glassfish-appclient-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-appclient-l10n Glassfish Application Client l10n Package diff --git a/appserver/packager/glassfish-appclient/pom.xml b/appserver/packager/glassfish-appclient/pom.xml index 44872bd79a7..27c9a6ad7d1 100644 --- a/appserver/packager/glassfish-appclient/pom.xml +++ b/appserver/packager/glassfish-appclient/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-appclient Glassfish Application Client Package diff --git a/appserver/packager/glassfish-cluster-l10n/pom.xml b/appserver/packager/glassfish-cluster-l10n/pom.xml index 4d0a1754cee..d655bde1281 100644 --- a/appserver/packager/glassfish-cluster-l10n/pom.xml +++ b/appserver/packager/glassfish-cluster-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-cluster-l10n Glassfish cluster l10n Package diff --git a/appserver/packager/glassfish-cluster/pom.xml b/appserver/packager/glassfish-cluster/pom.xml index 85a0137b7c8..36a99c84894 100644 --- a/appserver/packager/glassfish-cluster/pom.xml +++ b/appserver/packager/glassfish-cluster/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-cluster Glassfish Clustering Package diff --git a/appserver/packager/glassfish-common-full-l10n/pom.xml b/appserver/packager/glassfish-common-full-l10n/pom.xml index 45496ac7ceb..0ca7b52336f 100644 --- a/appserver/packager/glassfish-common-full-l10n/pom.xml +++ b/appserver/packager/glassfish-common-full-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-common-full-l10n Glassfish Commons for Full Distribution l10n diff --git a/appserver/packager/glassfish-common-full/pom.xml b/appserver/packager/glassfish-common-full/pom.xml index 38042591726..6419173a866 100644 --- a/appserver/packager/glassfish-common-full/pom.xml +++ b/appserver/packager/glassfish-common-full/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-common-full Glassfish Commons for Full Distribution diff --git a/appserver/packager/glassfish-common-l10n/pom.xml b/appserver/packager/glassfish-common-l10n/pom.xml index 8fc75dbbcc3..eb51cbe86b8 100644 --- a/appserver/packager/glassfish-common-l10n/pom.xml +++ b/appserver/packager/glassfish-common-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-common-l10n Glassfish Commons l10n Package diff --git a/appserver/packager/glassfish-common-web-l10n/pom.xml b/appserver/packager/glassfish-common-web-l10n/pom.xml index c62bf3b107a..e3181df76bc 100644 --- a/appserver/packager/glassfish-common-web-l10n/pom.xml +++ b/appserver/packager/glassfish-common-web-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-common-web-l10n Glassfish Commons Web l10n Package diff --git a/appserver/packager/glassfish-common-web/pom.xml b/appserver/packager/glassfish-common-web/pom.xml index 1b21407edef..dfec0ecf48d 100644 --- a/appserver/packager/glassfish-common-web/pom.xml +++ b/appserver/packager/glassfish-common-web/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-common-web Glassfish Commons for Web Profile Distribution diff --git a/appserver/packager/glassfish-common/pom.xml b/appserver/packager/glassfish-common/pom.xml index 4ed6bd325f0..ec31d6b7684 100644 --- a/appserver/packager/glassfish-common/pom.xml +++ b/appserver/packager/glassfish-common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-common Glassfish Commons Package diff --git a/appserver/packager/glassfish-corba-base/pom.xml b/appserver/packager/glassfish-corba-base/pom.xml index 204b838a6c5..bcfa2ead1fc 100644 --- a/appserver/packager/glassfish-corba-base/pom.xml +++ b/appserver/packager/glassfish-corba-base/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-corba-base Base CORBA APIs Package diff --git a/appserver/packager/glassfish-corba/pom.xml b/appserver/packager/glassfish-corba/pom.xml index 74f036c1f29..dca6ef0983c 100644 --- a/appserver/packager/glassfish-corba/pom.xml +++ b/appserver/packager/glassfish-corba/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-corba Corba Package diff --git a/appserver/packager/glassfish-ejb-l10n/pom.xml b/appserver/packager/glassfish-ejb-l10n/pom.xml index 61cbbb862fe..47670a0fda1 100644 --- a/appserver/packager/glassfish-ejb-l10n/pom.xml +++ b/appserver/packager/glassfish-ejb-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-ejb-l10n Glassfish EJB l10n Package diff --git a/appserver/packager/glassfish-ejb-lite-l10n/pom.xml b/appserver/packager/glassfish-ejb-lite-l10n/pom.xml index d9da1e99046..ff021d7f7ff 100644 --- a/appserver/packager/glassfish-ejb-lite-l10n/pom.xml +++ b/appserver/packager/glassfish-ejb-lite-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-ejb-lite-l10n Glassfish EJB Lite Container l10n Package diff --git a/appserver/packager/glassfish-ejb-lite/pom.xml b/appserver/packager/glassfish-ejb-lite/pom.xml index 10613c39453..e7677982cfa 100644 --- a/appserver/packager/glassfish-ejb-lite/pom.xml +++ b/appserver/packager/glassfish-ejb-lite/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-ejb-lite Glassfish EJB Lite Container Package diff --git a/appserver/packager/glassfish-ejb/pom.xml b/appserver/packager/glassfish-ejb/pom.xml index 166424b8307..ae733088593 100644 --- a/appserver/packager/glassfish-ejb/pom.xml +++ b/appserver/packager/glassfish-ejb/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-ejb diff --git a/appserver/packager/glassfish-entitybeans-container/pom.xml b/appserver/packager/glassfish-entitybeans-container/pom.xml index e441280ce39..fd6168566d8 100644 --- a/appserver/packager/glassfish-entitybeans-container/pom.xml +++ b/appserver/packager/glassfish-entitybeans-container/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-entitybeans-container Glassfish EntityBeans Container Package diff --git a/appserver/packager/glassfish-full-incorporation/pom.xml b/appserver/packager/glassfish-full-incorporation/pom.xml index f8661695eb0..e9c328029a8 100644 --- a/appserver/packager/glassfish-full-incorporation/pom.xml +++ b/appserver/packager/glassfish-full-incorporation/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-full-incorporation Glassfish Full Profile Incorporation Package diff --git a/appserver/packager/glassfish-full-profile/pom.xml b/appserver/packager/glassfish-full-profile/pom.xml index b7cdd5df2bf..a8e100aa39a 100644 --- a/appserver/packager/glassfish-full-profile/pom.xml +++ b/appserver/packager/glassfish-full-profile/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-full-profile Glassfish Full Profile Metapackage diff --git a/appserver/packager/glassfish-grizzly-full/pom.xml b/appserver/packager/glassfish-grizzly-full/pom.xml index 28800f93645..4b25c1ce502 100644 --- a/appserver/packager/glassfish-grizzly-full/pom.xml +++ b/appserver/packager/glassfish-grizzly-full/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-grizzly-full Glassfish Grizzly Package diff --git a/appserver/packager/glassfish-grizzly/pom.xml b/appserver/packager/glassfish-grizzly/pom.xml index 5ea3bfee622..9b1cc89fcc2 100644 --- a/appserver/packager/glassfish-grizzly/pom.xml +++ b/appserver/packager/glassfish-grizzly/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-grizzly Glassfish Grizzly Package diff --git a/appserver/packager/glassfish-gui-l10n/pom.xml b/appserver/packager/glassfish-gui-l10n/pom.xml index 25d01d1be20..902087798b8 100644 --- a/appserver/packager/glassfish-gui-l10n/pom.xml +++ b/appserver/packager/glassfish-gui-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-gui-l10n Glassfish Admin GUI Localization Package diff --git a/appserver/packager/glassfish-gui/pom.xml b/appserver/packager/glassfish-gui/pom.xml index e618ad023f4..c2a61c2839f 100644 --- a/appserver/packager/glassfish-gui/pom.xml +++ b/appserver/packager/glassfish-gui/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-gui Glassfish Admin GUI Package diff --git a/appserver/packager/glassfish-ha/pom.xml b/appserver/packager/glassfish-ha/pom.xml index 12e10aee0a5..9818d540ae6 100644 --- a/appserver/packager/glassfish-ha/pom.xml +++ b/appserver/packager/glassfish-ha/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-ha Glassfish HA Package diff --git a/appserver/packager/glassfish-hk2/pom.xml b/appserver/packager/glassfish-hk2/pom.xml index bea4f244d5d..d16bb20c603 100644 --- a/appserver/packager/glassfish-hk2/pom.xml +++ b/appserver/packager/glassfish-hk2/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-hk2 GlassFish HK2 Package diff --git a/appserver/packager/glassfish-javahelp/pom.xml b/appserver/packager/glassfish-javahelp/pom.xml index a267b9aec44..cdb8fb08f48 100644 --- a/appserver/packager/glassfish-javahelp/pom.xml +++ b/appserver/packager/glassfish-javahelp/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-javahelp Glassfish JavaHelp Package diff --git a/appserver/packager/glassfish-jca-l10n/pom.xml b/appserver/packager/glassfish-jca-l10n/pom.xml index 2219693802b..2b5d19bb82b 100644 --- a/appserver/packager/glassfish-jca-l10n/pom.xml +++ b/appserver/packager/glassfish-jca-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jca-l10n Glassfish Connector l10n Package diff --git a/appserver/packager/glassfish-jca/pom.xml b/appserver/packager/glassfish-jca/pom.xml index 568e8d9aec8..1617a5bb306 100644 --- a/appserver/packager/glassfish-jca/pom.xml +++ b/appserver/packager/glassfish-jca/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jca Glassfish Connector Package diff --git a/appserver/packager/glassfish-jcdi/pom.xml b/appserver/packager/glassfish-jcdi/pom.xml index b2b12a85009..a5c454930c4 100644 --- a/appserver/packager/glassfish-jcdi/pom.xml +++ b/appserver/packager/glassfish-jcdi/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jcdi diff --git a/appserver/packager/glassfish-jdbc-l10n/pom.xml b/appserver/packager/glassfish-jdbc-l10n/pom.xml index ef3999ae903..4a5e741ffe1 100644 --- a/appserver/packager/glassfish-jdbc-l10n/pom.xml +++ b/appserver/packager/glassfish-jdbc-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jdbc-l10n Glassfish JDBC l10n Package diff --git a/appserver/packager/glassfish-jdbc/pom.xml b/appserver/packager/glassfish-jdbc/pom.xml index 351a9467ed6..54da475d9f6 100644 --- a/appserver/packager/glassfish-jdbc/pom.xml +++ b/appserver/packager/glassfish-jdbc/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jdbc Glassfish JDBC Package diff --git a/appserver/packager/glassfish-jms-l10n/pom.xml b/appserver/packager/glassfish-jms-l10n/pom.xml index eb613bc5c33..420e5ba70c6 100644 --- a/appserver/packager/glassfish-jms-l10n/pom.xml +++ b/appserver/packager/glassfish-jms-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jms-l10n Glassfish Java Message Service l10n diff --git a/appserver/packager/glassfish-jms/pom.xml b/appserver/packager/glassfish-jms/pom.xml index f8fb0cab4a4..713e8e2a16e 100644 --- a/appserver/packager/glassfish-jms/pom.xml +++ b/appserver/packager/glassfish-jms/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jms Glassfish Java Message Service diff --git a/appserver/packager/glassfish-jmx/pom.xml b/appserver/packager/glassfish-jmx/pom.xml index e3eb23ee1fd..15771bfd2a2 100644 --- a/appserver/packager/glassfish-jmx/pom.xml +++ b/appserver/packager/glassfish-jmx/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jmx Glassfish JMX Package diff --git a/appserver/packager/glassfish-jpa-l10n/pom.xml b/appserver/packager/glassfish-jpa-l10n/pom.xml index dbf974de1b6..60ac8d123a8 100644 --- a/appserver/packager/glassfish-jpa-l10n/pom.xml +++ b/appserver/packager/glassfish-jpa-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jpa-l10n Glassfish JPA l10n Package diff --git a/appserver/packager/glassfish-jpa/pom.xml b/appserver/packager/glassfish-jpa/pom.xml index b09a6003e43..d40327b35a6 100644 --- a/appserver/packager/glassfish-jpa/pom.xml +++ b/appserver/packager/glassfish-jpa/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jpa Glassfish JPA Package diff --git a/appserver/packager/glassfish-jsf/pom.xml b/appserver/packager/glassfish-jsf/pom.xml index 24816ecbf69..71cf064afc5 100644 --- a/appserver/packager/glassfish-jsf/pom.xml +++ b/appserver/packager/glassfish-jsf/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jsf Glassfish JSF Package diff --git a/appserver/packager/glassfish-jta-l10n/pom.xml b/appserver/packager/glassfish-jta-l10n/pom.xml index 65ea8c2c0ac..c44aa283156 100644 --- a/appserver/packager/glassfish-jta-l10n/pom.xml +++ b/appserver/packager/glassfish-jta-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jta-l10n Glassfish Transaction Package l10n diff --git a/appserver/packager/glassfish-jta/pom.xml b/appserver/packager/glassfish-jta/pom.xml index f1ee8f2d4c2..259fe411b21 100644 --- a/appserver/packager/glassfish-jta/pom.xml +++ b/appserver/packager/glassfish-jta/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jta Glassfish Transaction Package diff --git a/appserver/packager/glassfish-jts-l10n/pom.xml b/appserver/packager/glassfish-jts-l10n/pom.xml index 9b6719a32e6..c1a84a4bded 100644 --- a/appserver/packager/glassfish-jts-l10n/pom.xml +++ b/appserver/packager/glassfish-jts-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jts-l10n Glassfish Java Transaction Service l10n diff --git a/appserver/packager/glassfish-jts/pom.xml b/appserver/packager/glassfish-jts/pom.xml index 14906c3ef0f..5679becf332 100644 --- a/appserver/packager/glassfish-jts/pom.xml +++ b/appserver/packager/glassfish-jts/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-jts Glassfish Java Transaction Service diff --git a/appserver/packager/glassfish-management-l10n/pom.xml b/appserver/packager/glassfish-management-l10n/pom.xml index 6a6231e4b2d..13b68391c8a 100644 --- a/appserver/packager/glassfish-management-l10n/pom.xml +++ b/appserver/packager/glassfish-management-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-management-l10n Glassfish Management Package l10n Package diff --git a/appserver/packager/glassfish-management/pom.xml b/appserver/packager/glassfish-management/pom.xml index 22cc3acd283..9cf17fe8702 100644 --- a/appserver/packager/glassfish-management/pom.xml +++ b/appserver/packager/glassfish-management/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-management Glassfish Management Package diff --git a/appserver/packager/glassfish-nucleus-l10n/pom.xml b/appserver/packager/glassfish-nucleus-l10n/pom.xml index 2c924c5f56c..7cc2756b7e1 100644 --- a/appserver/packager/glassfish-nucleus-l10n/pom.xml +++ b/appserver/packager/glassfish-nucleus-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-nucleus-l10n Glassfish Nucleus l10n Package diff --git a/appserver/packager/glassfish-nucleus/pom.xml b/appserver/packager/glassfish-nucleus/pom.xml index 774b47bc309..a57cf72c25c 100644 --- a/appserver/packager/glassfish-nucleus/pom.xml +++ b/appserver/packager/glassfish-nucleus/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-nucleus Glassfish Nucleus Package diff --git a/appserver/packager/glassfish-osgi-feature-pack/pom.xml b/appserver/packager/glassfish-osgi-feature-pack/pom.xml index ca743cdbb6d..81e2b9e8ed6 100644 --- a/appserver/packager/glassfish-osgi-feature-pack/pom.xml +++ b/appserver/packager/glassfish-osgi-feature-pack/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-osgi-feature-pack Glassfish OSGi Feature Pack Metapackage diff --git a/appserver/packager/glassfish-osgi-gui-l10n/pom.xml b/appserver/packager/glassfish-osgi-gui-l10n/pom.xml index 59421ce42ee..2709ab02775 100644 --- a/appserver/packager/glassfish-osgi-gui-l10n/pom.xml +++ b/appserver/packager/glassfish-osgi-gui-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-osgi-gui-l10n Glassfish OSGi Management console l10n Package diff --git a/appserver/packager/glassfish-osgi-gui/pom.xml b/appserver/packager/glassfish-osgi-gui/pom.xml index 290c966ba1e..4c9ffeb2be2 100644 --- a/appserver/packager/glassfish-osgi-gui/pom.xml +++ b/appserver/packager/glassfish-osgi-gui/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-osgi-gui Glassfish OSGi Management console package diff --git a/appserver/packager/glassfish-osgi-http/pom.xml b/appserver/packager/glassfish-osgi-http/pom.xml index e4ae9eaa78f..81dd1447489 100644 --- a/appserver/packager/glassfish-osgi-http/pom.xml +++ b/appserver/packager/glassfish-osgi-http/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-osgi-http Glassfish OSGi HTTP Service package diff --git a/appserver/packager/glassfish-osgi-incorporation/pom.xml b/appserver/packager/glassfish-osgi-incorporation/pom.xml index 55f434f5b6b..9f42f464bc1 100644 --- a/appserver/packager/glassfish-osgi-incorporation/pom.xml +++ b/appserver/packager/glassfish-osgi-incorporation/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-osgi-incorporation Glassfish OSGi Feature Pack Incorporation Package diff --git a/appserver/packager/glassfish-osgi/pom.xml b/appserver/packager/glassfish-osgi/pom.xml index 5881051b6fa..ed90ba8890b 100644 --- a/appserver/packager/glassfish-osgi/pom.xml +++ b/appserver/packager/glassfish-osgi/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-osgi Glassfish OSGi Support Package diff --git a/appserver/packager/glassfish-web-incorporation/pom.xml b/appserver/packager/glassfish-web-incorporation/pom.xml index ea50ce7652c..469e75bf885 100644 --- a/appserver/packager/glassfish-web-incorporation/pom.xml +++ b/appserver/packager/glassfish-web-incorporation/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-web-incorporation Glassfish Web Profile Incorporation Package diff --git a/appserver/packager/glassfish-web-l10n/pom.xml b/appserver/packager/glassfish-web-l10n/pom.xml index cb9fef05bcd..57d2471e250 100644 --- a/appserver/packager/glassfish-web-l10n/pom.xml +++ b/appserver/packager/glassfish-web-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-web-l10n Glassfish Web Container l10n Package diff --git a/appserver/packager/glassfish-web-profile/pom.xml b/appserver/packager/glassfish-web-profile/pom.xml index cb8def7bb31..94aa5a7640f 100644 --- a/appserver/packager/glassfish-web-profile/pom.xml +++ b/appserver/packager/glassfish-web-profile/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-web-profile Glassfish Web Profile Metapackage diff --git a/appserver/packager/glassfish-web/pom.xml b/appserver/packager/glassfish-web/pom.xml index 250a4890bb3..702a9311e5c 100644 --- a/appserver/packager/glassfish-web/pom.xml +++ b/appserver/packager/glassfish-web/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-web diff --git a/appserver/packager/h2db/pom.xml b/appserver/packager/h2db/pom.xml index 466afb25088..502ef910d06 100644 --- a/appserver/packager/h2db/pom.xml +++ b/appserver/packager/h2db/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 h2db H2 DB Package diff --git a/appserver/packager/hazelcast-l10n/pom.xml b/appserver/packager/hazelcast-l10n/pom.xml index bc7f7cbc432..1d4291c242d 100644 --- a/appserver/packager/hazelcast-l10n/pom.xml +++ b/appserver/packager/hazelcast-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 hazelcast-l10n Hazelcast Localization Package diff --git a/appserver/packager/hazelcast/pom.xml b/appserver/packager/hazelcast/pom.xml index 399fe2d8dc8..c202b35804c 100644 --- a/appserver/packager/hazelcast/pom.xml +++ b/appserver/packager/hazelcast/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 hazelcast Hazelcast Package diff --git a/appserver/packager/healthcheck/pom.xml b/appserver/packager/healthcheck/pom.xml index 8940475e690..8c61a991105 100644 --- a/appserver/packager/healthcheck/pom.xml +++ b/appserver/packager/healthcheck/pom.xml @@ -19,7 +19,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 healthcheck Healthcheck Package diff --git a/appserver/packager/jersey/pom.xml b/appserver/packager/jersey/pom.xml index 356a20312cd..cbea02ebfd7 100644 --- a/appserver/packager/jersey/pom.xml +++ b/appserver/packager/jersey/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 jersey diff --git a/appserver/packager/json/pom.xml b/appserver/packager/json/pom.xml index 639f335ab59..a1e1431ff96 100644 --- a/appserver/packager/json/pom.xml +++ b/appserver/packager/json/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 json JSON Package diff --git a/appserver/packager/legal/pom.xml b/appserver/packager/legal/pom.xml index 77836ff8057..85384542b2f 100644 --- a/appserver/packager/legal/pom.xml +++ b/appserver/packager/legal/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 legal-fragment diff --git a/appserver/packager/metro-l10n/pom.xml b/appserver/packager/metro-l10n/pom.xml index d88ecaf3ac9..ad3366bea6e 100644 --- a/appserver/packager/metro-l10n/pom.xml +++ b/appserver/packager/metro-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 metro-l10n Metro l10n Package diff --git a/appserver/packager/metro/pom.xml b/appserver/packager/metro/pom.xml index f80836c0cb8..99a64e67781 100644 --- a/appserver/packager/metro/pom.xml +++ b/appserver/packager/metro/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 metro Metro Package diff --git a/appserver/packager/microprofile-package/pom.xml b/appserver/packager/microprofile-package/pom.xml index 8d4830682ae..8c8dc1a6cb1 100644 --- a/appserver/packager/microprofile-package/pom.xml +++ b/appserver/packager/microprofile-package/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-package diff --git a/appserver/packager/mq/pom.xml b/appserver/packager/mq/pom.xml index 0eb766ffd4f..19853545e04 100644 --- a/appserver/packager/mq/pom.xml +++ b/appserver/packager/mq/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 mq MQ Package diff --git a/appserver/packager/notification-jms/pom.xml b/appserver/packager/notification-jms/pom.xml index 8abcc162f47..436dbece30f 100644 --- a/appserver/packager/notification-jms/pom.xml +++ b/appserver/packager/notification-jms/pom.xml @@ -19,7 +19,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 notification-jms JMS Notification Package diff --git a/appserver/packager/notification/pom.xml b/appserver/packager/notification/pom.xml index 9144429419e..e382b002412 100644 --- a/appserver/packager/notification/pom.xml +++ b/appserver/packager/notification/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 notification Notification Package diff --git a/appserver/packager/opentracing-jaxws-package/pom.xml b/appserver/packager/opentracing-jaxws-package/pom.xml index 84058bcb88b..00b4cde1017 100644 --- a/appserver/packager/opentracing-jaxws-package/pom.xml +++ b/appserver/packager/opentracing-jaxws-package/pom.xml @@ -5,7 +5,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/packager/payara-api/pom.xml b/appserver/packager/payara-api/pom.xml index f0b3ffee63e..c1fca23b69c 100644 --- a/appserver/packager/payara-api/pom.xml +++ b/appserver/packager/payara-api/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 payara-api diff --git a/appserver/packager/payara-executor-service/pom.xml b/appserver/packager/payara-executor-service/pom.xml index 1159a667418..da7da426e03 100644 --- a/appserver/packager/payara-executor-service/pom.xml +++ b/appserver/packager/payara-executor-service/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 payara-executor-service Payara Executor Service Package diff --git a/appserver/packager/payara-micro/pom.xml b/appserver/packager/payara-micro/pom.xml index 2f98f583991..4d86420fc02 100644 --- a/appserver/packager/payara-micro/pom.xml +++ b/appserver/packager/payara-micro/pom.xml @@ -19,7 +19,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 payara-micro-package Payara Micro Package diff --git a/appserver/packager/payara-mvc/pom.xml b/appserver/packager/payara-mvc/pom.xml index f7dd85dcc40..ef8aaacfef3 100644 --- a/appserver/packager/payara-mvc/pom.xml +++ b/appserver/packager/payara-mvc/pom.xml @@ -6,7 +6,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 payara-mvc diff --git a/appserver/packager/payara-rest-endpoints/pom.xml b/appserver/packager/payara-rest-endpoints/pom.xml index 70a25f93eb7..6ed90eac63e 100644 --- a/appserver/packager/payara-rest-endpoints/pom.xml +++ b/appserver/packager/payara-rest-endpoints/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 payara-rest-endpoints Payara REST Endpoint information diff --git a/appserver/packager/phonehome/pom.xml b/appserver/packager/phonehome/pom.xml index c1060990350..2773d978157 100644 --- a/appserver/packager/phonehome/pom.xml +++ b/appserver/packager/phonehome/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 phonehome diff --git a/appserver/packager/pom.xml b/appserver/packager/pom.xml index d82c28951f6..449187b26fc 100644 --- a/appserver/packager/pom.xml +++ b/appserver/packager/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.packager diff --git a/appserver/packager/requesttracing/pom.xml b/appserver/packager/requesttracing/pom.xml index a66b1459de2..1cc3145281d 100644 --- a/appserver/packager/requesttracing/pom.xml +++ b/appserver/packager/requesttracing/pom.xml @@ -19,7 +19,7 @@ fish.payara.server.internal.packager packages - 7.2026.5-SNAPSHOT + 7.2026.5 requesttracing Request Tracing Package diff --git a/appserver/payara-appserver-modules/cdi-auth-roles/pom.xml b/appserver/payara-appserver-modules/cdi-auth-roles/pom.xml index 07faf1ff2b5..270a2e0dbc6 100644 --- a/appserver/payara-appserver-modules/cdi-auth-roles/pom.xml +++ b/appserver/payara-appserver-modules/cdi-auth-roles/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 cdi-auth-roles diff --git a/appserver/payara-appserver-modules/environment-warning/pom.xml b/appserver/payara-appserver-modules/environment-warning/pom.xml index 975d5b21b4e..de18068023f 100644 --- a/appserver/payara-appserver-modules/environment-warning/pom.xml +++ b/appserver/payara-appserver-modules/environment-warning/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 environment-warning glassfish-jar diff --git a/appserver/payara-appserver-modules/hazelcast-eclipselink-coordination/pom.xml b/appserver/payara-appserver-modules/hazelcast-eclipselink-coordination/pom.xml index 7391c754e16..0fabcda102f 100644 --- a/appserver/payara-appserver-modules/hazelcast-eclipselink-coordination/pom.xml +++ b/appserver/payara-appserver-modules/hazelcast-eclipselink-coordination/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 hazelcast-eclipselink-coordination glassfish-jar diff --git a/appserver/payara-appserver-modules/hazelcast-ejb-timer/pom.xml b/appserver/payara-appserver-modules/hazelcast-ejb-timer/pom.xml index e2be93128ff..1af3cf46b6e 100644 --- a/appserver/payara-appserver-modules/hazelcast-ejb-timer/pom.xml +++ b/appserver/payara-appserver-modules/hazelcast-ejb-timer/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 hazelcast-ejb-timer glassfish-jar diff --git a/appserver/payara-appserver-modules/healthcheck-checker/pom.xml b/appserver/payara-appserver-modules/healthcheck-checker/pom.xml index 2e7b1195f2b..186e1add613 100644 --- a/appserver/payara-appserver-modules/healthcheck-checker/pom.xml +++ b/appserver/payara-appserver-modules/healthcheck-checker/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 healthcheck-checker glassfish-jar diff --git a/appserver/payara-appserver-modules/healthcheck-metrics/pom.xml b/appserver/payara-appserver-modules/healthcheck-metrics/pom.xml index 801c36de2cd..acce1cb319f 100644 --- a/appserver/payara-appserver-modules/healthcheck-metrics/pom.xml +++ b/appserver/payara-appserver-modules/healthcheck-metrics/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 healthcheck-metrics glassfish-jar diff --git a/appserver/payara-appserver-modules/jaspic-servlet-utils/pom.xml b/appserver/payara-appserver-modules/jaspic-servlet-utils/pom.xml index ece57dd19a3..7f2b168e521 100644 --- a/appserver/payara-appserver-modules/jaspic-servlet-utils/pom.xml +++ b/appserver/payara-appserver-modules/jaspic-servlet-utils/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 jaspic-servlet-utils glassfish-jar diff --git a/appserver/payara-appserver-modules/jaxrs-client-tracing/pom.xml b/appserver/payara-appserver-modules/jaxrs-client-tracing/pom.xml index c153545326e..b98f9ca1e0c 100644 --- a/appserver/payara-appserver-modules/jaxrs-client-tracing/pom.xml +++ b/appserver/payara-appserver-modules/jaxrs-client-tracing/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 jaxrs-client-tracing diff --git a/appserver/payara-appserver-modules/jmx-monitoring-service/pom.xml b/appserver/payara-appserver-modules/jmx-monitoring-service/pom.xml index b4179531bdd..56092dacd36 100644 --- a/appserver/payara-appserver-modules/jmx-monitoring-service/pom.xml +++ b/appserver/payara-appserver-modules/jmx-monitoring-service/pom.xml @@ -43,7 +43,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 jmx-monitoring glassfish-jar diff --git a/appserver/payara-appserver-modules/microprofile/config-extensions/pom.xml b/appserver/payara-appserver-modules/microprofile/config-extensions/pom.xml index 95c707bb8d9..f229ab43de5 100644 --- a/appserver/payara-appserver-modules/microprofile/config-extensions/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/config-extensions/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-config-extensions diff --git a/appserver/payara-appserver-modules/microprofile/config/pom.xml b/appserver/payara-appserver-modules/microprofile/config/pom.xml index 047ceace1cd..129ed4aedc0 100644 --- a/appserver/payara-appserver-modules/microprofile/config/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/config/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.payara-appserver-modules diff --git a/appserver/payara-appserver-modules/microprofile/fault-tolerance/pom.xml b/appserver/payara-appserver-modules/microprofile/fault-tolerance/pom.xml index c2b4ab4b3c0..b7d4767ad06 100644 --- a/appserver/payara-appserver-modules/microprofile/fault-tolerance/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/fault-tolerance/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.payara-appserver-modules microprofile-fault-tolerance diff --git a/appserver/payara-appserver-modules/microprofile/healthcheck/pom.xml b/appserver/payara-appserver-modules/microprofile/healthcheck/pom.xml index 65b467df0c2..b1c33975eb2 100644 --- a/appserver/payara-appserver-modules/microprofile/healthcheck/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/healthcheck/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.payara-appserver-modules microprofile-healthcheck diff --git a/appserver/payara-appserver-modules/microprofile/jwt-auth/pom.xml b/appserver/payara-appserver-modules/microprofile/jwt-auth/pom.xml index b2059c18fe1..4c9334fd559 100644 --- a/appserver/payara-appserver-modules/microprofile/jwt-auth/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/jwt-auth/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.payara-appserver-modules diff --git a/appserver/payara-appserver-modules/microprofile/metrics/pom.xml b/appserver/payara-appserver-modules/microprofile/metrics/pom.xml index c96308220d1..71ad011c7a3 100644 --- a/appserver/payara-appserver-modules/microprofile/metrics/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/metrics/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.payara-appserver-modules microprofile-metrics diff --git a/appserver/payara-appserver-modules/microprofile/microprofile-common/pom.xml b/appserver/payara-appserver-modules/microprofile/microprofile-common/pom.xml index d2d6ecf7df9..0bef0b6077a 100644 --- a/appserver/payara-appserver-modules/microprofile/microprofile-common/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/microprofile-common/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.payara-appserver-modules microprofile-common diff --git a/appserver/payara-appserver-modules/microprofile/microprofile-connector/pom.xml b/appserver/payara-appserver-modules/microprofile/microprofile-connector/pom.xml index 4a7e3bc5d13..06ba992dfbf 100644 --- a/appserver/payara-appserver-modules/microprofile/microprofile-connector/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/microprofile-connector/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-connector diff --git a/appserver/payara-appserver-modules/microprofile/openapi/pom.xml b/appserver/payara-appserver-modules/microprofile/openapi/pom.xml index 568c773435c..7978e94f363 100644 --- a/appserver/payara-appserver-modules/microprofile/openapi/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/openapi/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.payara-appserver-modules diff --git a/appserver/payara-appserver-modules/microprofile/opentracing-jaxws/pom.xml b/appserver/payara-appserver-modules/microprofile/opentracing-jaxws/pom.xml index 9dcdaddcb3b..fd1cfefc30b 100644 --- a/appserver/payara-appserver-modules/microprofile/opentracing-jaxws/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/opentracing-jaxws/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 opentracing-jaxws diff --git a/appserver/payara-appserver-modules/microprofile/opentracing/pom.xml b/appserver/payara-appserver-modules/microprofile/opentracing/pom.xml index 2e17e3fc381..100562dd13d 100644 --- a/appserver/payara-appserver-modules/microprofile/opentracing/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/opentracing/pom.xml @@ -43,7 +43,7 @@ holder. fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-opentracing diff --git a/appserver/payara-appserver-modules/microprofile/pom.xml b/appserver/payara-appserver-modules/microprofile/pom.xml index 6446739ed06..cf8c416c804 100644 --- a/appserver/payara-appserver-modules/microprofile/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/pom.xml @@ -43,7 +43,7 @@ holder. fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.payara-appserver-modules diff --git a/appserver/payara-appserver-modules/microprofile/rest-client-ssl/pom.xml b/appserver/payara-appserver-modules/microprofile/rest-client-ssl/pom.xml index 6417d0fb17e..04dfe50954b 100644 --- a/appserver/payara-appserver-modules/microprofile/rest-client-ssl/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/rest-client-ssl/pom.xml @@ -45,7 +45,7 @@ holder. fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 rest-client-ssl diff --git a/appserver/payara-appserver-modules/microprofile/rest-client/pom.xml b/appserver/payara-appserver-modules/microprofile/rest-client/pom.xml index f0b9a73bfd2..dab91e3cf74 100644 --- a/appserver/payara-appserver-modules/microprofile/rest-client/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/rest-client/pom.xml @@ -45,7 +45,7 @@ holder. fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-rest-client diff --git a/appserver/payara-appserver-modules/microprofile/telemetry/pom.xml b/appserver/payara-appserver-modules/microprofile/telemetry/pom.xml index 635d77ae444..5c98af921ab 100644 --- a/appserver/payara-appserver-modules/microprofile/telemetry/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/telemetry/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 diff --git a/appserver/payara-appserver-modules/notification-jms-core/pom.xml b/appserver/payara-appserver-modules/notification-jms-core/pom.xml index ad432b6bd95..abb12a36a24 100644 --- a/appserver/payara-appserver-modules/notification-jms-core/pom.xml +++ b/appserver/payara-appserver-modules/notification-jms-core/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 notification-jms-core glassfish-jar diff --git a/appserver/payara-appserver-modules/payara-jsr107/pom.xml b/appserver/payara-appserver-modules/payara-jsr107/pom.xml index 74904878df6..196226d55f7 100644 --- a/appserver/payara-appserver-modules/payara-jsr107/pom.xml +++ b/appserver/payara-appserver-modules/payara-jsr107/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 payara-jsr107 glassfish-jar diff --git a/appserver/payara-appserver-modules/payara-micro-cdi/pom.xml b/appserver/payara-appserver-modules/payara-micro-cdi/pom.xml index 3b9a0034673..840ce6551a5 100644 --- a/appserver/payara-appserver-modules/payara-micro-cdi/pom.xml +++ b/appserver/payara-appserver-modules/payara-micro-cdi/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 payara-micro-cdi glassfish-jar diff --git a/appserver/payara-appserver-modules/payara-micro-service/pom.xml b/appserver/payara-appserver-modules/payara-micro-service/pom.xml index e6f64e6dba8..48fe791ae72 100644 --- a/appserver/payara-appserver-modules/payara-micro-service/pom.xml +++ b/appserver/payara-appserver-modules/payara-micro-service/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 payara-micro-service diff --git a/appserver/payara-appserver-modules/payara-rest-endpoints/pom.xml b/appserver/payara-appserver-modules/payara-rest-endpoints/pom.xml index 2c6e4cd96b4..ba0ed065b89 100644 --- a/appserver/payara-appserver-modules/payara-rest-endpoints/pom.xml +++ b/appserver/payara-appserver-modules/payara-rest-endpoints/pom.xml @@ -44,7 +44,7 @@ holder. fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5-SNAPSHOT + 7.2026.5 payara-rest-endpoints diff --git a/appserver/payara-appserver-modules/pom.xml b/appserver/payara-appserver-modules/pom.xml index dd23563d206..78bef8e8def 100644 --- a/appserver/payara-appserver-modules/pom.xml +++ b/appserver/payara-appserver-modules/pom.xml @@ -43,7 +43,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.payara-appserver-modules payara-appserver-modules diff --git a/appserver/persistence/common/pom.xml b/appserver/persistence/common/pom.xml index 3ab3eb91695..2cd772ca0e6 100644 --- a/appserver/persistence/common/pom.xml +++ b/appserver/persistence/common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5-SNAPSHOT + 7.2026.5 persistence-common glassfish-jar diff --git a/appserver/persistence/eclipselink-wrapper/pom.xml b/appserver/persistence/eclipselink-wrapper/pom.xml index ee48beea6a6..c381006906f 100644 --- a/appserver/persistence/eclipselink-wrapper/pom.xml +++ b/appserver/persistence/eclipselink-wrapper/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5-SNAPSHOT + 7.2026.5 eclipselink-wrapper pom diff --git a/appserver/persistence/gf-jpa-connector/pom.xml b/appserver/persistence/gf-jpa-connector/pom.xml index 23c1e7244ac..55ee2e6ee24 100644 --- a/appserver/persistence/gf-jpa-connector/pom.xml +++ b/appserver/persistence/gf-jpa-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5-SNAPSHOT + 7.2026.5 gf-jpa-connector diff --git a/appserver/persistence/jpa-container-l10n/pom.xml b/appserver/persistence/jpa-container-l10n/pom.xml index 59729d1c2d3..084f579317b 100755 --- a/appserver/persistence/jpa-container-l10n/pom.xml +++ b/appserver/persistence/jpa-container-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5-SNAPSHOT + 7.2026.5 jpa-container-l10n diff --git a/appserver/persistence/jpa-container/pom.xml b/appserver/persistence/jpa-container/pom.xml index 4d4e2511f2c..b3c6ef6c8b8 100644 --- a/appserver/persistence/jpa-container/pom.xml +++ b/appserver/persistence/jpa-container/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5-SNAPSHOT + 7.2026.5 jpa-container glassfish-jar diff --git a/appserver/persistence/oracle-jdbc-driver-packages/pom.xml b/appserver/persistence/oracle-jdbc-driver-packages/pom.xml index 5cc7a3e27a2..2e6669d6732 100755 --- a/appserver/persistence/oracle-jdbc-driver-packages/pom.xml +++ b/appserver/persistence/oracle-jdbc-driver-packages/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-oracle-jdbc-driver-packages GlassFish Oracle JDBC Packages diff --git a/appserver/persistence/pom.xml b/appserver/persistence/pom.xml index 6dcad6ecadb..1f241444032 100644 --- a/appserver/persistence/pom.xml +++ b/appserver/persistence/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.persistence persistence diff --git a/appserver/pom.xml b/appserver/pom.xml index 4af13d9cdce..e6699474e9d 100644 --- a/appserver/pom.xml +++ b/appserver/pom.xml @@ -49,7 +49,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 ../nucleus/pom.xml diff --git a/appserver/resources/javamail/javamail-connector-l10n/pom.xml b/appserver/resources/javamail/javamail-connector-l10n/pom.xml index a254aa56cbe..4fea2b726f1 100755 --- a/appserver/resources/javamail/javamail-connector-l10n/pom.xml +++ b/appserver/resources/javamail/javamail-connector-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.resources javamail - 7.2026.5-SNAPSHOT + 7.2026.5 javamail-connector-l10n diff --git a/appserver/resources/javamail/javamail-connector/pom.xml b/appserver/resources/javamail/javamail-connector/pom.xml index 3778f57b46a..038db5f4d08 100644 --- a/appserver/resources/javamail/javamail-connector/pom.xml +++ b/appserver/resources/javamail/javamail-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.resources javamail - 7.2026.5-SNAPSHOT + 7.2026.5 javamail-connector diff --git a/appserver/resources/javamail/javamail-runtime/pom.xml b/appserver/resources/javamail/javamail-runtime/pom.xml index f52d149f52f..be44a74730c 100644 --- a/appserver/resources/javamail/javamail-runtime/pom.xml +++ b/appserver/resources/javamail/javamail-runtime/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.resources javamail - 7.2026.5-SNAPSHOT + 7.2026.5 javamail-runtime diff --git a/appserver/resources/javamail/pom.xml b/appserver/resources/javamail/pom.xml index 35c1e28f8fd..5d8cbd573f1 100644 --- a/appserver/resources/javamail/pom.xml +++ b/appserver/resources/javamail/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.resources resources - 7.2026.5-SNAPSHOT + 7.2026.5 javamail diff --git a/appserver/resources/pom.xml b/appserver/resources/pom.xml index 14518475824..90b0fafad0b 100644 --- a/appserver/resources/pom.xml +++ b/appserver/resources/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.resources resources diff --git a/appserver/resources/resources-connector-l10n/pom.xml b/appserver/resources/resources-connector-l10n/pom.xml index 5f59306aa1c..371971f4d4c 100755 --- a/appserver/resources/resources-connector-l10n/pom.xml +++ b/appserver/resources/resources-connector-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.resources resources - 7.2026.5-SNAPSHOT + 7.2026.5 resources-connector-l10n diff --git a/appserver/resources/resources-connector/pom.xml b/appserver/resources/resources-connector/pom.xml index 4d9a446335e..63d4e7355f6 100755 --- a/appserver/resources/resources-connector/pom.xml +++ b/appserver/resources/resources-connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.resources resources - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 resources-connector diff --git a/appserver/resources/resources-runtime/pom.xml b/appserver/resources/resources-runtime/pom.xml index 5f5a38110dc..9d8ba870c5f 100755 --- a/appserver/resources/resources-runtime/pom.xml +++ b/appserver/resources/resources-runtime/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.resources resources - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 resources-runtime diff --git a/appserver/security/appclient.security/pom.xml b/appserver/security/appclient.security/pom.xml index ceb7626b65b..1cde61bf825 100644 --- a/appserver/security/appclient.security/pom.xml +++ b/appserver/security/appclient.security/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5-SNAPSHOT + 7.2026.5 appclient.security glassfish-jar diff --git a/appserver/security/core-ee-l10n/pom.xml b/appserver/security/core-ee-l10n/pom.xml index 5c7509368a1..d30349357a8 100755 --- a/appserver/security/core-ee-l10n/pom.xml +++ b/appserver/security/core-ee-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5-SNAPSHOT + 7.2026.5 security-ee-l10n diff --git a/appserver/security/core-ee/pom.xml b/appserver/security/core-ee/pom.xml index 22774e72c85..39069f1328d 100644 --- a/appserver/security/core-ee/pom.xml +++ b/appserver/security/core-ee/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.security security-ee diff --git a/appserver/security/ejb.security/pom.xml b/appserver/security/ejb.security/pom.xml index 05183b99914..89fb40afe79 100644 --- a/appserver/security/ejb.security/pom.xml +++ b/appserver/security/ejb.security/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5-SNAPSHOT + 7.2026.5 ejb.security glassfish-jar diff --git a/appserver/security/jacc.provider.inmemory/pom.xml b/appserver/security/jacc.provider.inmemory/pom.xml index 3aabbfcb3b3..58450124e96 100644 --- a/appserver/security/jacc.provider.inmemory/pom.xml +++ b/appserver/security/jacc.provider.inmemory/pom.xml @@ -49,7 +49,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5-SNAPSHOT + 7.2026.5 jacc.provider.inmemory diff --git a/appserver/security/pom.xml b/appserver/security/pom.xml index 38590dc59da..7726a9776ce 100644 --- a/appserver/security/pom.xml +++ b/appserver/security/pom.xml @@ -49,7 +49,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.security diff --git a/appserver/security/realm-stores/pom.xml b/appserver/security/realm-stores/pom.xml index d4c419aca17..cd431c980b1 100644 --- a/appserver/security/realm-stores/pom.xml +++ b/appserver/security/realm-stores/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5-SNAPSHOT + 7.2026.5 realm-stores diff --git a/appserver/security/security-all/pom.xml b/appserver/security/security-all/pom.xml index 67c027439d6..55196fd975a 100644 --- a/appserver/security/security-all/pom.xml +++ b/appserver/security/security-all/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5-SNAPSHOT + 7.2026.5 security-all pom diff --git a/appserver/security/webintegration/pom.xml b/appserver/security/webintegration/pom.xml index 6433a48c710..b646d2c2772 100644 --- a/appserver/security/webintegration/pom.xml +++ b/appserver/security/webintegration/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.security diff --git a/appserver/security/webservices.security-l10n/pom.xml b/appserver/security/webservices.security-l10n/pom.xml index ff02a4f601f..b428a40e872 100755 --- a/appserver/security/webservices.security-l10n/pom.xml +++ b/appserver/security/webservices.security-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5-SNAPSHOT + 7.2026.5 webservices.security-l10n diff --git a/appserver/security/webservices.security/pom.xml b/appserver/security/webservices.security/pom.xml index 787ef35902c..9894c10da5a 100644 --- a/appserver/security/webservices.security/pom.xml +++ b/appserver/security/webservices.security/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5-SNAPSHOT + 7.2026.5 webservices.security glassfish-jar diff --git a/appserver/tests/fish372-tests/datagrid-tests/pom.xml b/appserver/tests/fish372-tests/datagrid-tests/pom.xml index 16d3abc2f77..2e1a7a9d387 100644 --- a/appserver/tests/fish372-tests/datagrid-tests/pom.xml +++ b/appserver/tests/fish372-tests/datagrid-tests/pom.xml @@ -46,7 +46,7 @@ fish372-tests fish.payara.server - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 datagrid-tests diff --git a/appserver/tests/fish372-tests/pom.xml b/appserver/tests/fish372-tests/pom.xml index ca2f2c63e02..4a8cdcf6be8 100644 --- a/appserver/tests/fish372-tests/pom.xml +++ b/appserver/tests/fish372-tests/pom.xml @@ -46,7 +46,7 @@ payara-parent fish.payara.server - 7.2026.5-SNAPSHOT + 7.2026.5 ../../pom.xml 4.0.0 diff --git a/appserver/tests/functional/embeddedtest/pom.xml b/appserver/tests/functional/embeddedtest/pom.xml index 7e453039443..31a63be7a82 100644 --- a/appserver/tests/functional/embeddedtest/pom.xml +++ b/appserver/tests/functional/embeddedtest/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.tests payara-tests - 7.2026.5-SNAPSHOT + 7.2026.5 ../../pom.xml @@ -54,7 +54,7 @@ 4.0.0 payara-embedded-test jar - 7.2026.5-SNAPSHOT + 7.2026.5 all diff --git a/appserver/tests/functional/payara-application-xml/pom.xml b/appserver/tests/functional/payara-application-xml/pom.xml index 242da4cbd99..dd3552622b8 100644 --- a/appserver/tests/functional/payara-application-xml/pom.xml +++ b/appserver/tests/functional/payara-application-xml/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 ../../payara-samples/samples diff --git a/appserver/tests/functional/payara-micro/pom.xml b/appserver/tests/functional/payara-micro/pom.xml index b6dc6d36a81..f7e09b33f54 100644 --- a/appserver/tests/functional/payara-micro/pom.xml +++ b/appserver/tests/functional/payara-micro/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 ../../payara-samples/samples diff --git a/appserver/tests/payara-samples/classloader-data-api/pom.xml b/appserver/tests/payara-samples/classloader-data-api/pom.xml index b7d4a130304..b5dc05ce5bb 100644 --- a/appserver/tests/payara-samples/classloader-data-api/pom.xml +++ b/appserver/tests/payara-samples/classloader-data-api/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.samples diff --git a/appserver/tests/payara-samples/ejb-invoker-secure-endpoint/pom.xml b/appserver/tests/payara-samples/ejb-invoker-secure-endpoint/pom.xml index f9671057ccc..a469033a107 100644 --- a/appserver/tests/payara-samples/ejb-invoker-secure-endpoint/pom.xml +++ b/appserver/tests/payara-samples/ejb-invoker-secure-endpoint/pom.xml @@ -5,7 +5,7 @@ fish.payara.samples payara-samples - 7.2026.5-SNAPSHOT + 7.2026.5 ejb-invoker-secure-endpoint diff --git a/appserver/tests/payara-samples/micro-programmatic/pom.xml b/appserver/tests/payara-samples/micro-programmatic/pom.xml index 5e4f7bb4fb8..1f664365df0 100644 --- a/appserver/tests/payara-samples/micro-programmatic/pom.xml +++ b/appserver/tests/payara-samples/micro-programmatic/pom.xml @@ -7,7 +7,7 @@ fish.payara.samples payara-samples - 7.2026.5-SNAPSHOT + 7.2026.5 samples-micro-programmatic diff --git a/appserver/tests/payara-samples/pom.xml b/appserver/tests/payara-samples/pom.xml index 7f4ceb88a64..437da67dddd 100644 --- a/appserver/tests/payara-samples/pom.xml +++ b/appserver/tests/payara-samples/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.tests payara-tests - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.samples diff --git a/appserver/tests/payara-samples/repackaged/http-matchers-repackaged/pom.xml b/appserver/tests/payara-samples/repackaged/http-matchers-repackaged/pom.xml index c9388fe0f52..d716f27acf3 100644 --- a/appserver/tests/payara-samples/repackaged/http-matchers-repackaged/pom.xml +++ b/appserver/tests/payara-samples/repackaged/http-matchers-repackaged/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.tests repackaged - 7.2026.5-SNAPSHOT + 7.2026.5 http-matchers-repackaged diff --git a/appserver/tests/payara-samples/repackaged/pom.xml b/appserver/tests/payara-samples/repackaged/pom.xml index 7d9f171a04a..7ff4819735f 100644 --- a/appserver/tests/payara-samples/repackaged/pom.xml +++ b/appserver/tests/payara-samples/repackaged/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.tests diff --git a/appserver/tests/payara-samples/repackaged/smallrye-config-repackaged/pom.xml b/appserver/tests/payara-samples/repackaged/smallrye-config-repackaged/pom.xml index eda50187a0e..1f538dde31e 100644 --- a/appserver/tests/payara-samples/repackaged/smallrye-config-repackaged/pom.xml +++ b/appserver/tests/payara-samples/repackaged/smallrye-config-repackaged/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.tests repackaged - 7.2026.5-SNAPSHOT + 7.2026.5 smallrye-config-repackaged Payara Samples - Payara - smallrye-config repackaged as a module diff --git a/appserver/tests/payara-samples/samples/cleanboot/pom.xml b/appserver/tests/payara-samples/samples/cleanboot/pom.xml index b3aae5ed66e..46e8d9f4881 100644 --- a/appserver/tests/payara-samples/samples/cleanboot/pom.xml +++ b/appserver/tests/payara-samples/samples/cleanboot/pom.xml @@ -36,7 +36,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 diff --git a/appserver/tests/payara-samples/samples/client-certificate-validator/pom.xml b/appserver/tests/payara-samples/samples/client-certificate-validator/pom.xml index 73d23c3d9c0..4e13b5f676f 100644 --- a/appserver/tests/payara-samples/samples/client-certificate-validator/pom.xml +++ b/appserver/tests/payara-samples/samples/client-certificate-validator/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-ejb/pom.xml b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-ejb/pom.xml index ff853579111..74542fff5df 100644 --- a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-ejb/pom.xml +++ b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-ejb/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples clustered-singleton-parent - 7.2026.5-SNAPSHOT + 7.2026.5 clustered-singleton-ejb diff --git a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/pom.xml b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/pom.xml index 1932f31d777..97debdb0c21 100644 --- a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/pom.xml +++ b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples clustered-singleton-parent - 7.2026.5-SNAPSHOT + 7.2026.5 diff --git a/appserver/tests/payara-samples/samples/clustered-singleton/pom.xml b/appserver/tests/payara-samples/samples/clustered-singleton/pom.xml index c28e95f0dde..40a25a2aef3 100644 --- a/appserver/tests/payara-samples/samples/clustered-singleton/pom.xml +++ b/appserver/tests/payara-samples/samples/clustered-singleton/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 clustered-singleton-parent diff --git a/appserver/tests/payara-samples/samples/concurrency/pom.xml b/appserver/tests/payara-samples/samples/concurrency/pom.xml index dca7638a9a6..26149d07288 100644 --- a/appserver/tests/payara-samples/samples/concurrency/pom.xml +++ b/appserver/tests/payara-samples/samples/concurrency/pom.xml @@ -45,7 +45,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5-SNAPSHOT + 7.2026.5 concurrency diff --git a/appserver/tests/payara-samples/samples/corba-read-timeout/pom.xml b/appserver/tests/payara-samples/samples/corba-read-timeout/pom.xml index 81d0a8dc897..86563ecf057 100644 --- a/appserver/tests/payara-samples/samples/corba-read-timeout/pom.xml +++ b/appserver/tests/payara-samples/samples/corba-read-timeout/pom.xml @@ -44,7 +44,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-impl/pom.xml b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-impl/pom.xml index 3a93c0643a5..3398ca376b5 100644 --- a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-impl/pom.xml +++ b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-impl/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples custom-loginmodule-realm - 7.2026.5-SNAPSHOT + 7.2026.5 loginmodule-realm-impl diff --git a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-test/pom.xml b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-test/pom.xml index 733e3eb4f00..600106dd269 100644 --- a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-test/pom.xml +++ b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-test/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples custom-loginmodule-realm - 7.2026.5-SNAPSHOT + 7.2026.5 loginmodule-realm-test diff --git a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/pom.xml b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/pom.xml index 9d6bb60ebca..42faf70c0d2 100644 --- a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/pom.xml +++ b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/pom.xml @@ -7,7 +7,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 custom-loginmodule-realm diff --git a/appserver/tests/payara-samples/samples/data/pom.xml b/appserver/tests/payara-samples/samples/data/pom.xml index 14b6228d681..eb9ce1e556d 100644 --- a/appserver/tests/payara-samples/samples/data/pom.xml +++ b/appserver/tests/payara-samples/samples/data/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 data diff --git a/appserver/tests/payara-samples/samples/dynamic-roles/pom.xml b/appserver/tests/payara-samples/samples/dynamic-roles/pom.xml index 59826cbcd10..83e97cf4e0a 100644 --- a/appserver/tests/payara-samples/samples/dynamic-roles/pom.xml +++ b/appserver/tests/payara-samples/samples/dynamic-roles/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 dynamic-roles diff --git a/appserver/tests/payara-samples/samples/ejb-http-remoting/pom.xml b/appserver/tests/payara-samples/samples/ejb-http-remoting/pom.xml index 68c3d6d7820..ba9a71cd06a 100644 --- a/appserver/tests/payara-samples/samples/ejb-http-remoting/pom.xml +++ b/appserver/tests/payara-samples/samples/ejb-http-remoting/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 diff --git a/appserver/tests/payara-samples/samples/formauth/pom.xml b/appserver/tests/payara-samples/samples/formauth/pom.xml index d375579a4f8..a00ff740777 100644 --- a/appserver/tests/payara-samples/samples/formauth/pom.xml +++ b/appserver/tests/payara-samples/samples/formauth/pom.xml @@ -32,7 +32,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 formauth diff --git a/appserver/tests/payara-samples/samples/http/pom.xml b/appserver/tests/payara-samples/samples/http/pom.xml index 40bcd3cf37d..66389c49f21 100644 --- a/appserver/tests/payara-samples/samples/http/pom.xml +++ b/appserver/tests/payara-samples/samples/http/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 http diff --git a/appserver/tests/payara-samples/samples/jacc-per-app/pom.xml b/appserver/tests/payara-samples/samples/jacc-per-app/pom.xml index 5015593d09c..b86ab857f7c 100644 --- a/appserver/tests/payara-samples/samples/jacc-per-app/pom.xml +++ b/appserver/tests/payara-samples/samples/jacc-per-app/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 jacc-per-app diff --git a/appserver/tests/payara-samples/samples/jaxrs-rolesallowed-servlet/pom.xml b/appserver/tests/payara-samples/samples/jaxrs-rolesallowed-servlet/pom.xml index e1c5feb6d8b..a258ea4ee4a 100644 --- a/appserver/tests/payara-samples/samples/jaxrs-rolesallowed-servlet/pom.xml +++ b/appserver/tests/payara-samples/samples/jaxrs-rolesallowed-servlet/pom.xml @@ -7,7 +7,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 jaxrs-rolesallowed-servlet diff --git a/appserver/tests/payara-samples/samples/jaxrs-rolesallowed/pom.xml b/appserver/tests/payara-samples/samples/jaxrs-rolesallowed/pom.xml index 8b7355d660c..1ac64b8af86 100644 --- a/appserver/tests/payara-samples/samples/jaxrs-rolesallowed/pom.xml +++ b/appserver/tests/payara-samples/samples/jaxrs-rolesallowed/pom.xml @@ -7,7 +7,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 jaxrs-rolesallowed-EE diff --git a/appserver/tests/payara-samples/samples/jaxws-security/pom.xml b/appserver/tests/payara-samples/samples/jaxws-security/pom.xml index 7db69bfec89..8da303a4785 100644 --- a/appserver/tests/payara-samples/samples/jaxws-security/pom.xml +++ b/appserver/tests/payara-samples/samples/jaxws-security/pom.xml @@ -5,7 +5,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 jaxws-security diff --git a/appserver/tests/payara-samples/samples/jaxws-tracing/pom.xml b/appserver/tests/payara-samples/samples/jaxws-tracing/pom.xml index e113db2ae8f..356072abe70 100644 --- a/appserver/tests/payara-samples/samples/jaxws-tracing/pom.xml +++ b/appserver/tests/payara-samples/samples/jaxws-tracing/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 jaxws-tracing diff --git a/appserver/tests/payara-samples/samples/legacy-mode-empty-beans-xml/pom.xml b/appserver/tests/payara-samples/samples/legacy-mode-empty-beans-xml/pom.xml index 61d95f50d11..dc8f825e27c 100644 --- a/appserver/tests/payara-samples/samples/legacy-mode-empty-beans-xml/pom.xml +++ b/appserver/tests/payara-samples/samples/legacy-mode-empty-beans-xml/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 diff --git a/appserver/tests/payara-samples/samples/logging/pom.xml b/appserver/tests/payara-samples/samples/logging/pom.xml index 423d61f00e4..95db3f7b4bd 100644 --- a/appserver/tests/payara-samples/samples/logging/pom.xml +++ b/appserver/tests/payara-samples/samples/logging/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/tests/payara-samples/samples/microprofile-config/pom.xml b/appserver/tests/payara-samples/samples/microprofile-config/pom.xml index 31f049449a0..fee20943074 100644 --- a/appserver/tests/payara-samples/samples/microprofile-config/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-config/pom.xml @@ -44,7 +44,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/tests/payara-samples/samples/microprofile-endpoints/insecure/pom.xml b/appserver/tests/payara-samples/samples/microprofile-endpoints/insecure/pom.xml index 0b67eb91f02..12ba9aaeb5c 100644 --- a/appserver/tests/payara-samples/samples/microprofile-endpoints/insecure/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-endpoints/insecure/pom.xml @@ -32,7 +32,7 @@ fish.payara.samples microprofile-endpoints - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-insecure-endpoints diff --git a/appserver/tests/payara-samples/samples/microprofile-endpoints/pom.xml b/appserver/tests/payara-samples/samples/microprofile-endpoints/pom.xml index df6a00c4071..5d837ea9cdd 100644 --- a/appserver/tests/payara-samples/samples/microprofile-endpoints/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-endpoints/pom.xml @@ -32,7 +32,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-endpoints diff --git a/appserver/tests/payara-samples/samples/microprofile-endpoints/secure/pom.xml b/appserver/tests/payara-samples/samples/microprofile-endpoints/secure/pom.xml index 9c71a32ff9b..fedb0d2e09d 100644 --- a/appserver/tests/payara-samples/samples/microprofile-endpoints/secure/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-endpoints/secure/pom.xml @@ -32,7 +32,7 @@ fish.payara.samples microprofile-endpoints - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-secure-endpoints diff --git a/appserver/tests/payara-samples/samples/microprofile-healthcheck/pom.xml b/appserver/tests/payara-samples/samples/microprofile-healthcheck/pom.xml index 4979f1dda6b..2b94e064930 100644 --- a/appserver/tests/payara-samples/samples/microprofile-healthcheck/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-healthcheck/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.samples.microprofile diff --git a/appserver/tests/payara-samples/samples/microprofile-jwt-error-cache/pom.xml b/appserver/tests/payara-samples/samples/microprofile-jwt-error-cache/pom.xml index b6d9c82306f..622efbacd4a 100644 --- a/appserver/tests/payara-samples/samples/microprofile-jwt-error-cache/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-jwt-error-cache/pom.xml @@ -6,7 +6,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-jwt-error-cache diff --git a/appserver/tests/payara-samples/samples/microprofile-rc-ft/pom.xml b/appserver/tests/payara-samples/samples/microprofile-rc-ft/pom.xml index 30298ba47fa..4d9b70a0d05 100644 --- a/appserver/tests/payara-samples/samples/microprofile-rc-ft/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-rc-ft/pom.xml @@ -44,7 +44,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/tests/payara-samples/samples/microprofile-rest-client/pom.xml b/appserver/tests/payara-samples/samples/microprofile-rest-client/pom.xml index d88cab3b3e5..b1e53406ecb 100644 --- a/appserver/tests/payara-samples/samples/microprofile-rest-client/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-rest-client/pom.xml @@ -44,7 +44,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/tests/payara-samples/samples/multiple-keystores/pom.xml b/appserver/tests/payara-samples/samples/multiple-keystores/pom.xml index 114301344ba..e0ad3f6c466 100644 --- a/appserver/tests/payara-samples/samples/multiple-keystores/pom.xml +++ b/appserver/tests/payara-samples/samples/multiple-keystores/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 multiple-keystore diff --git a/appserver/tests/payara-samples/samples/mvc/pom.xml b/appserver/tests/payara-samples/samples/mvc/pom.xml index 7cc586216cd..c114d618345 100644 --- a/appserver/tests/payara-samples/samples/mvc/pom.xml +++ b/appserver/tests/payara-samples/samples/mvc/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 mvc diff --git a/appserver/tests/payara-samples/samples/oauth2/pom.xml b/appserver/tests/payara-samples/samples/oauth2/pom.xml index 09176193e54..e3db5c5ba85 100644 --- a/appserver/tests/payara-samples/samples/oauth2/pom.xml +++ b/appserver/tests/payara-samples/samples/oauth2/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 oauth2 diff --git a/appserver/tests/payara-samples/samples/openid/pom.xml b/appserver/tests/payara-samples/samples/openid/pom.xml index 5d0ba21736a..d3ab9d5e980 100644 --- a/appserver/tests/payara-samples/samples/openid/pom.xml +++ b/appserver/tests/payara-samples/samples/openid/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 openid diff --git a/appserver/tests/payara-samples/samples/opentelemetry/pom.xml b/appserver/tests/payara-samples/samples/opentelemetry/pom.xml index 33c0446456c..aa6999920c9 100644 --- a/appserver/tests/payara-samples/samples/opentelemetry/pom.xml +++ b/appserver/tests/payara-samples/samples/opentelemetry/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 Payara Samples - OpenTelemetry diff --git a/appserver/tests/payara-samples/samples/payara-expression-config-properties/pom.xml b/appserver/tests/payara-samples/samples/payara-expression-config-properties/pom.xml index 3decd2edbea..19fd3832c8b 100644 --- a/appserver/tests/payara-samples/samples/payara-expression-config-properties/pom.xml +++ b/appserver/tests/payara-samples/samples/payara-expression-config-properties/pom.xml @@ -46,7 +46,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/tests/payara-samples/samples/pom.xml b/appserver/tests/payara-samples/samples/pom.xml index 9d0e61623b4..78f1a198ea4 100644 --- a/appserver/tests/payara-samples/samples/pom.xml +++ b/appserver/tests/payara-samples/samples/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples - 7.2026.5-SNAPSHOT + 7.2026.5 payara-samples-profiled-tests diff --git a/appserver/tests/payara-samples/samples/realm-identity-stores/pom.xml b/appserver/tests/payara-samples/samples/realm-identity-stores/pom.xml index 636405dd59e..ae6d0c4e7cd 100644 --- a/appserver/tests/payara-samples/samples/realm-identity-stores/pom.xml +++ b/appserver/tests/payara-samples/samples/realm-identity-stores/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 realm-identity-stores diff --git a/appserver/tests/payara-samples/samples/remote-ejb-tracing/pom.xml b/appserver/tests/payara-samples/samples/remote-ejb-tracing/pom.xml index 7eeeddf3f38..e07115c637d 100644 --- a/appserver/tests/payara-samples/samples/remote-ejb-tracing/pom.xml +++ b/appserver/tests/payara-samples/samples/remote-ejb-tracing/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 diff --git a/appserver/tests/payara-samples/samples/reproducers/pom.xml b/appserver/tests/payara-samples/samples/reproducers/pom.xml index 7fdc63f2b9c..977ab43314a 100644 --- a/appserver/tests/payara-samples/samples/reproducers/pom.xml +++ b/appserver/tests/payara-samples/samples/reproducers/pom.xml @@ -45,7 +45,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/appserver/tests/payara-samples/samples/rest-management/pom.xml b/appserver/tests/payara-samples/samples/rest-management/pom.xml index 2aeb4270150..35b3feff5c3 100644 --- a/appserver/tests/payara-samples/samples/rest-management/pom.xml +++ b/appserver/tests/payara-samples/samples/rest-management/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 rest-management diff --git a/appserver/tests/payara-samples/samples/rolesPermitted/pom.xml b/appserver/tests/payara-samples/samples/rolesPermitted/pom.xml index d89e4da0ddc..eec7f2d565d 100644 --- a/appserver/tests/payara-samples/samples/rolesPermitted/pom.xml +++ b/appserver/tests/payara-samples/samples/rolesPermitted/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 rolesPermitted diff --git a/appserver/tests/payara-samples/samples/rolesallowed-unprotected-methods/pom.xml b/appserver/tests/payara-samples/samples/rolesallowed-unprotected-methods/pom.xml index a9b2491a462..14c9bfc464f 100644 --- a/appserver/tests/payara-samples/samples/rolesallowed-unprotected-methods/pom.xml +++ b/appserver/tests/payara-samples/samples/rolesallowed-unprotected-methods/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 diff --git a/appserver/tests/payara-samples/samples/sfsb-passivation/pom.xml b/appserver/tests/payara-samples/samples/sfsb-passivation/pom.xml index b178e599afc..cd40f91d17d 100644 --- a/appserver/tests/payara-samples/samples/sfsb-passivation/pom.xml +++ b/appserver/tests/payara-samples/samples/sfsb-passivation/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 sfsb-passivation diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml index df6171143b0..93f6904bf7c 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 use-bundled-jsf-primefaces diff --git a/appserver/tests/payara-samples/samples/versioned-deployment/pom.xml b/appserver/tests/payara-samples/samples/versioned-deployment/pom.xml index 65e6d48413c..439f17ee51d 100644 --- a/appserver/tests/payara-samples/samples/versioned-deployment/pom.xml +++ b/appserver/tests/payara-samples/samples/versioned-deployment/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5-SNAPSHOT + 7.2026.5 versioned-deployment diff --git a/appserver/tests/payara-samples/test-domain-setup/pom.xml b/appserver/tests/payara-samples/test-domain-setup/pom.xml index 12c51a78d41..0abf8adad40 100644 --- a/appserver/tests/payara-samples/test-domain-setup/pom.xml +++ b/appserver/tests/payara-samples/test-domain-setup/pom.xml @@ -6,7 +6,7 @@ fish.payara.samples payara-samples - 7.2026.5-SNAPSHOT + 7.2026.5 test-domain-setup @@ -34,7 +34,7 @@ fish.payara.samples samples-test-utils - 7.2026.5-SNAPSHOT + 7.2026.5 org.jboss.arquillian.junit diff --git a/appserver/tests/payara-samples/test-utils/pom.xml b/appserver/tests/payara-samples/test-utils/pom.xml index dd6f2244bd6..5700ab74f0f 100644 --- a/appserver/tests/payara-samples/test-utils/pom.xml +++ b/appserver/tests/payara-samples/test-utils/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples - 7.2026.5-SNAPSHOT + 7.2026.5 samples-test-utils diff --git a/appserver/tests/pom.xml b/appserver/tests/pom.xml index f7fdbe558a5..05cf71296fc 100755 --- a/appserver/tests/pom.xml +++ b/appserver/tests/pom.xml @@ -45,7 +45,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.tests diff --git a/appserver/tests/quicklook/admin/pom.xml b/appserver/tests/quicklook/admin/pom.xml index 294bb78e4f1..292d2632f7b 100644 --- a/appserver/tests/quicklook/admin/pom.xml +++ b/appserver/tests/quicklook/admin/pom.xml @@ -50,7 +50,7 @@ quicklook org.glassfish.quicklook - 7.2026.5-SNAPSHOT + 7.2026.5 ../ Runs the tests on admin/asadmin code diff --git a/appserver/tests/quicklook/pom.xml b/appserver/tests/quicklook/pom.xml index 12db96ff005..769e65b3301 100644 --- a/appserver/tests/quicklook/pom.xml +++ b/appserver/tests/quicklook/pom.xml @@ -49,7 +49,7 @@ fish.payara.server.internal.tests payara-tests - 7.2026.5-SNAPSHOT + 7.2026.5 org.glassfish.quicklook diff --git a/appserver/transaction/internal-api-l10n/pom.xml b/appserver/transaction/internal-api-l10n/pom.xml index b27f655dab3..85b12594931 100755 --- a/appserver/transaction/internal-api-l10n/pom.xml +++ b/appserver/transaction/internal-api-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5-SNAPSHOT + 7.2026.5 transaction-internal-api-l10n diff --git a/appserver/transaction/internal-api/pom.xml b/appserver/transaction/internal-api/pom.xml index f8aef41b44e..49cc760a2bf 100644 --- a/appserver/transaction/internal-api/pom.xml +++ b/appserver/transaction/internal-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 transaction-internal-api diff --git a/appserver/transaction/jta-l10n/pom.xml b/appserver/transaction/jta-l10n/pom.xml index 01d8d294452..e997dd9d987 100755 --- a/appserver/transaction/jta-l10n/pom.xml +++ b/appserver/transaction/jta-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5-SNAPSHOT + 7.2026.5 jta-l10n diff --git a/appserver/transaction/jta/pom.xml b/appserver/transaction/jta/pom.xml index 3ef5ab96b99..751094a9144 100644 --- a/appserver/transaction/jta/pom.xml +++ b/appserver/transaction/jta/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 jta diff --git a/appserver/transaction/jts-l10n/pom.xml b/appserver/transaction/jts-l10n/pom.xml index 3ac64e01fca..122d78c3198 100755 --- a/appserver/transaction/jts-l10n/pom.xml +++ b/appserver/transaction/jts-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5-SNAPSHOT + 7.2026.5 jts-l10n diff --git a/appserver/transaction/jts/pom.xml b/appserver/transaction/jts/pom.xml index 60f52ef346d..e5908b4a693 100644 --- a/appserver/transaction/jts/pom.xml +++ b/appserver/transaction/jts/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 jts diff --git a/appserver/transaction/pom.xml b/appserver/transaction/pom.xml index 2cab23dcee7..abf642682b8 100644 --- a/appserver/transaction/pom.xml +++ b/appserver/transaction/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.transaction transaction diff --git a/appserver/web/admin-l10n/pom.xml b/appserver/web/admin-l10n/pom.xml index 263edcc6335..5cdea1d3633 100755 --- a/appserver/web/admin-l10n/pom.xml +++ b/appserver/web/admin-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 web-cli-l10n diff --git a/appserver/web/admin/pom.xml b/appserver/web/admin/pom.xml index aea3e3540a8..ffec9974f33 100644 --- a/appserver/web/admin/pom.xml +++ b/appserver/web/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 web-cli glassfish-jar diff --git a/appserver/web/cdi-api-fragment/pom.xml b/appserver/web/cdi-api-fragment/pom.xml index 215e129bf30..294636755bb 100644 --- a/appserver/web/cdi-api-fragment/pom.xml +++ b/appserver/web/cdi-api-fragment/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 cdi-api-fragment diff --git a/appserver/web/gf-web-connector/pom.xml b/appserver/web/gf-web-connector/pom.xml index 3fc277be8ff..fcaa37f2e2c 100755 --- a/appserver/web/gf-web-connector/pom.xml +++ b/appserver/web/gf-web-connector/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 gf-web-connector diff --git a/appserver/web/gf-weld-connector/pom.xml b/appserver/web/gf-weld-connector/pom.xml index fab7e341abf..604a319f3fd 100644 --- a/appserver/web/gf-weld-connector/pom.xml +++ b/appserver/web/gf-weld-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 gf-weld-connector glassfish-jar diff --git a/appserver/web/gui-plugin-common-l10n/pom.xml b/appserver/web/gui-plugin-common-l10n/pom.xml index d50e69bf952..9b79800129e 100755 --- a/appserver/web/gui-plugin-common-l10n/pom.xml +++ b/appserver/web/gui-plugin-common-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 web-gui-plugin-common-l10n diff --git a/appserver/web/gui-plugin-common/pom.xml b/appserver/web/gui-plugin-common/pom.xml index 50f099ce738..e482a848cf8 100755 --- a/appserver/web/gui-plugin-common/pom.xml +++ b/appserver/web/gui-plugin-common/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 web-gui-plugin-common diff --git a/appserver/web/jersey-mvc-connector/pom.xml b/appserver/web/jersey-mvc-connector/pom.xml index 3458b3c4060..6e9a6119946 100644 --- a/appserver/web/jersey-mvc-connector/pom.xml +++ b/appserver/web/jersey-mvc-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 jersey-mvc-connector glassfish-jar diff --git a/appserver/web/jsf-connector/pom.xml b/appserver/web/jsf-connector/pom.xml index ac4807840e2..090496fab80 100644 --- a/appserver/web/jsf-connector/pom.xml +++ b/appserver/web/jsf-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 jsf-connector glassfish-jar diff --git a/appserver/web/jspcaching-connector/pom.xml b/appserver/web/jspcaching-connector/pom.xml index 75c6acf0f8c..7cb05c9799b 100644 --- a/appserver/web/jspcaching-connector/pom.xml +++ b/appserver/web/jspcaching-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 jspcaching-connector glassfish-jar diff --git a/appserver/web/jstl-connector/pom.xml b/appserver/web/jstl-connector/pom.xml index 1278f6bb4f0..244d5472898 100644 --- a/appserver/web/jstl-connector/pom.xml +++ b/appserver/web/jstl-connector/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 jstl-connector diff --git a/appserver/web/pom.xml b/appserver/web/pom.xml index d356443ef8e..482e0a0e146 100755 --- a/appserver/web/pom.xml +++ b/appserver/web/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.web web diff --git a/appserver/web/war-util-l10n/pom.xml b/appserver/web/war-util-l10n/pom.xml index 257ab3bc84b..34feca610fc 100755 --- a/appserver/web/war-util-l10n/pom.xml +++ b/appserver/web/war-util-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 war-util-l10n diff --git a/appserver/web/war-util/pom.xml b/appserver/web/war-util/pom.xml index 141781e0c26..8cae043e5d4 100755 --- a/appserver/web/war-util/pom.xml +++ b/appserver/web/war-util/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 war-util diff --git a/appserver/web/web-core-l10n/pom.xml b/appserver/web/web-core-l10n/pom.xml index 5090ddba5e6..7715ed731fe 100755 --- a/appserver/web/web-core-l10n/pom.xml +++ b/appserver/web/web-core-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 web-core-l10n diff --git a/appserver/web/web-core/pom.xml b/appserver/web/web-core/pom.xml index be6dfb077ae..101e773207e 100755 --- a/appserver/web/web-core/pom.xml +++ b/appserver/web/web-core/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 web-core diff --git a/appserver/web/web-embed/api/pom.xml b/appserver/web/web-embed/api/pom.xml index 057fba9f596..2df1d57ba23 100755 --- a/appserver/web/web-embed/api/pom.xml +++ b/appserver/web/web-embed/api/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web-embed - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 fish.payara.server.internal.web diff --git a/appserver/web/web-embed/pom.xml b/appserver/web/web-embed/pom.xml index 03474f01b2d..1a6c9d32aa0 100755 --- a/appserver/web/web-embed/pom.xml +++ b/appserver/web/web-embed/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 web-embed pom diff --git a/appserver/web/web-glue-l10n/pom.xml b/appserver/web/web-glue-l10n/pom.xml index cee8eaf0834..8b898c79dde 100755 --- a/appserver/web/web-glue-l10n/pom.xml +++ b/appserver/web/web-glue-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 web-glue-l10n diff --git a/appserver/web/web-glue/pom.xml b/appserver/web/web-glue/pom.xml index 65a2cb5937a..3bd9a0eb128 100755 --- a/appserver/web/web-glue/pom.xml +++ b/appserver/web/web-glue/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 web-glue diff --git a/appserver/web/web-ha/pom.xml b/appserver/web/web-ha/pom.xml index 06b8f6af9f3..4077a2c7350 100755 --- a/appserver/web/web-ha/pom.xml +++ b/appserver/web/web-ha/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 web-ha diff --git a/appserver/web/web-naming-l10n/pom.xml b/appserver/web/web-naming-l10n/pom.xml index ce9a9d38a89..13698a6d5d6 100644 --- a/appserver/web/web-naming-l10n/pom.xml +++ b/appserver/web/web-naming-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 web-naming-l10n diff --git a/appserver/web/web-naming/pom.xml b/appserver/web/web-naming/pom.xml index a7931f8815b..05a15cb7b4d 100755 --- a/appserver/web/web-naming/pom.xml +++ b/appserver/web/web-naming/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 web-naming diff --git a/appserver/web/web-sse/pom.xml b/appserver/web/web-sse/pom.xml index 6eb98db7a34..707980cdbf9 100755 --- a/appserver/web/web-sse/pom.xml +++ b/appserver/web/web-sse/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 web-sse diff --git a/appserver/web/webtier-all/pom.xml b/appserver/web/webtier-all/pom.xml index ed07ea2fe87..b39a890a14c 100755 --- a/appserver/web/webtier-all/pom.xml +++ b/appserver/web/webtier-all/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 webtier-all diff --git a/appserver/web/weld-integration-fragment/pom.xml b/appserver/web/weld-integration-fragment/pom.xml index 8ab0e89fa57..ba2be8bdc86 100644 --- a/appserver/web/weld-integration-fragment/pom.xml +++ b/appserver/web/weld-integration-fragment/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 weld-integration-fragment diff --git a/appserver/web/weld-integration-test-fragment/pom.xml b/appserver/web/weld-integration-test-fragment/pom.xml index a117a4656d4..1edba3f7c65 100644 --- a/appserver/web/weld-integration-test-fragment/pom.xml +++ b/appserver/web/weld-integration-test-fragment/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 weld-integration-test-fragment Fragment bundle for Weld related testing diff --git a/appserver/web/weld-integration/pom.xml b/appserver/web/weld-integration/pom.xml index 4f4a829af66..add4d32dabc 100644 --- a/appserver/web/weld-integration/pom.xml +++ b/appserver/web/weld-integration/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.web web - 7.2026.5-SNAPSHOT + 7.2026.5 weld-integration diff --git a/appserver/webservices/connector-l10n/pom.xml b/appserver/webservices/connector-l10n/pom.xml index bbcf9666579..09df242f1e1 100644 --- a/appserver/webservices/connector-l10n/pom.xml +++ b/appserver/webservices/connector-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5-SNAPSHOT + 7.2026.5 webservices-connector-l10n diff --git a/appserver/webservices/connector/pom.xml b/appserver/webservices/connector/pom.xml index b840945acee..061b33b2326 100755 --- a/appserver/webservices/connector/pom.xml +++ b/appserver/webservices/connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 webservices-connector diff --git a/appserver/webservices/jsr109-impl-l10n/pom.xml b/appserver/webservices/jsr109-impl-l10n/pom.xml index 00a9580da29..0046949ad03 100755 --- a/appserver/webservices/jsr109-impl-l10n/pom.xml +++ b/appserver/webservices/jsr109-impl-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5-SNAPSHOT + 7.2026.5 jsr109-impl-l10n diff --git a/appserver/webservices/jsr109-impl/pom.xml b/appserver/webservices/jsr109-impl/pom.xml index e6671e19e4f..d59e1ac172d 100755 --- a/appserver/webservices/jsr109-impl/pom.xml +++ b/appserver/webservices/jsr109-impl/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5-SNAPSHOT + 7.2026.5 jsr109-impl glassfish-jar diff --git a/appserver/webservices/metro-fragments/pom.xml b/appserver/webservices/metro-fragments/pom.xml index 8369b47588d..bfc46b3129e 100644 --- a/appserver/webservices/metro-fragments/pom.xml +++ b/appserver/webservices/metro-fragments/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5-SNAPSHOT + 7.2026.5 metro-fragments diff --git a/appserver/webservices/metro-glue/pom.xml b/appserver/webservices/metro-glue/pom.xml index 30a3089f677..b737f59fdcc 100644 --- a/appserver/webservices/metro-glue/pom.xml +++ b/appserver/webservices/metro-glue/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5-SNAPSHOT + 7.2026.5 metro-glue diff --git a/appserver/webservices/pom.xml b/appserver/webservices/pom.xml index 13e1aaffb93..48a19777e1d 100755 --- a/appserver/webservices/pom.xml +++ b/appserver/webservices/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.webservices webservices diff --git a/appserver/webservices/soap-tcp/pom.xml b/appserver/webservices/soap-tcp/pom.xml index 420688d3b06..d1235523cb8 100755 --- a/appserver/webservices/soap-tcp/pom.xml +++ b/appserver/webservices/soap-tcp/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5-SNAPSHOT + 7.2026.5 soap-tcp glassfish-jar diff --git a/appserver/webservices/webservices-scripts/pom.xml b/appserver/webservices/webservices-scripts/pom.xml index 07a9c167dad..b541baac21e 100644 --- a/appserver/webservices/webservices-scripts/pom.xml +++ b/appserver/webservices/webservices-scripts/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5-SNAPSHOT + 7.2026.5 webservices-scripts diff --git a/nucleus/admin/cli-l10n/pom.xml b/nucleus/admin/cli-l10n/pom.xml index 9b5ced007ae..17cf246b24d 100644 --- a/nucleus/admin/cli-l10n/pom.xml +++ b/nucleus/admin/cli-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 admin-cli-l10n diff --git a/nucleus/admin/cli/pom.xml b/nucleus/admin/cli/pom.xml index 770cab100c6..d200b80216b 100755 --- a/nucleus/admin/cli/pom.xml +++ b/nucleus/admin/cli/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 admin-cli glassfish-jar diff --git a/nucleus/admin/config-api-l10n/pom.xml b/nucleus/admin/config-api-l10n/pom.xml index aa1bb47da89..1fd696842c9 100644 --- a/nucleus/admin/config-api-l10n/pom.xml +++ b/nucleus/admin/config-api-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 config-api-l10n diff --git a/nucleus/admin/config-api/pom.xml b/nucleus/admin/config-api/pom.xml index d5dc41d4d24..a78461cf5c4 100644 --- a/nucleus/admin/config-api/pom.xml +++ b/nucleus/admin/config-api/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 config-api diff --git a/nucleus/admin/launcher-l10n/pom.xml b/nucleus/admin/launcher-l10n/pom.xml index ac680c6ad1c..34b657ab728 100644 --- a/nucleus/admin/launcher-l10n/pom.xml +++ b/nucleus/admin/launcher-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 launcher-l10n diff --git a/nucleus/admin/launcher/pom.xml b/nucleus/admin/launcher/pom.xml index 375d65f4eac..9f09e07dee6 100644 --- a/nucleus/admin/launcher/pom.xml +++ b/nucleus/admin/launcher/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/nucleus/admin/monitor-l10n/pom.xml b/nucleus/admin/monitor-l10n/pom.xml index 6e98db8cb12..1d6dd59cf96 100644 --- a/nucleus/admin/monitor-l10n/pom.xml +++ b/nucleus/admin/monitor-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 monitoring-core-l10n diff --git a/nucleus/admin/monitor/pom.xml b/nucleus/admin/monitor/pom.xml index fcc81edb8bb..913445c7e13 100755 --- a/nucleus/admin/monitor/pom.xml +++ b/nucleus/admin/monitor/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/nucleus/admin/pom.xml b/nucleus/admin/pom.xml index ad0af7161be..0b360f1917d 100755 --- a/nucleus/admin/pom.xml +++ b/nucleus/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.admin nucleus-admin diff --git a/nucleus/admin/rest/gf-restadmin-connector/pom.xml b/nucleus/admin/rest/gf-restadmin-connector/pom.xml index 96989f0cbe0..6acc35401a3 100644 --- a/nucleus/admin/rest/gf-restadmin-connector/pom.xml +++ b/nucleus/admin/rest/gf-restadmin-connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin rest-service-parent - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 gf-restadmin-connector diff --git a/nucleus/admin/rest/pom.xml b/nucleus/admin/rest/pom.xml index d0138bcdd44..7e05547384f 100644 --- a/nucleus/admin/rest/pom.xml +++ b/nucleus/admin/rest/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 rest-service-parent diff --git a/nucleus/admin/rest/rest-client/pom.xml b/nucleus/admin/rest/rest-client/pom.xml index f3c664c44ec..251f170f617 100644 --- a/nucleus/admin/rest/rest-client/pom.xml +++ b/nucleus/admin/rest/rest-client/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin rest-service-parent - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 rest-client diff --git a/nucleus/admin/rest/rest-service-l10n/pom.xml b/nucleus/admin/rest/rest-service-l10n/pom.xml index 5a2fe4c63f9..0c7f17721b8 100644 --- a/nucleus/admin/rest/rest-service-l10n/pom.xml +++ b/nucleus/admin/rest/rest-service-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin rest-service-parent - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 rest-service-l10n diff --git a/nucleus/admin/rest/rest-service/pom.xml b/nucleus/admin/rest/rest-service/pom.xml index ade6cceada0..818a442fe5e 100644 --- a/nucleus/admin/rest/rest-service/pom.xml +++ b/nucleus/admin/rest/rest-service/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.admin rest-service-parent - 7.2026.5-SNAPSHOT + 7.2026.5 rest-service diff --git a/nucleus/admin/rest/rest-testing/pom.xml b/nucleus/admin/rest/rest-testing/pom.xml index ac29beb4164..0f1722abb6f 100644 --- a/nucleus/admin/rest/rest-testing/pom.xml +++ b/nucleus/admin/rest/rest-testing/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin rest-service-parent - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 rest-testing diff --git a/nucleus/admin/server-mgmt-l10n/pom.xml b/nucleus/admin/server-mgmt-l10n/pom.xml index 19cb63ebc4f..3fb458806b7 100644 --- a/nucleus/admin/server-mgmt-l10n/pom.xml +++ b/nucleus/admin/server-mgmt-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 server-mgmt-l10n diff --git a/nucleus/admin/server-mgmt/pom.xml b/nucleus/admin/server-mgmt/pom.xml index b4bec378df9..b1ba0f0dde9 100644 --- a/nucleus/admin/server-mgmt/pom.xml +++ b/nucleus/admin/server-mgmt/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 server-mgmt diff --git a/nucleus/admin/template/pom.xml b/nucleus/admin/template/pom.xml index 4ccf8d14347..5cc38b98ddb 100644 --- a/nucleus/admin/template/pom.xml +++ b/nucleus/admin/template/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-domain diff --git a/nucleus/admin/util-l10n/pom.xml b/nucleus/admin/util-l10n/pom.xml index c26d8ce92c6..00e4865531c 100644 --- a/nucleus/admin/util-l10n/pom.xml +++ b/nucleus/admin/util-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 admin-util-l10n diff --git a/nucleus/admin/util/pom.xml b/nucleus/admin/util/pom.xml index b7226ba4087..169e56b636e 100755 --- a/nucleus/admin/util/pom.xml +++ b/nucleus/admin/util/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5-SNAPSHOT + 7.2026.5 admin-util diff --git a/nucleus/cluster/admin-l10n/pom.xml b/nucleus/cluster/admin-l10n/pom.xml index 767e8698e77..a001330ca10 100644 --- a/nucleus/cluster/admin-l10n/pom.xml +++ b/nucleus/cluster/admin-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 cluster-admin-l10n diff --git a/nucleus/cluster/admin/pom.xml b/nucleus/cluster/admin/pom.xml index cfa74f7b310..5a411915090 100644 --- a/nucleus/cluster/admin/pom.xml +++ b/nucleus/cluster/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5-SNAPSHOT + 7.2026.5 cluster-admin glassfish-jar diff --git a/nucleus/cluster/cli-l10n/pom.xml b/nucleus/cluster/cli-l10n/pom.xml index 1b1651c8d21..47504eea7c0 100644 --- a/nucleus/cluster/cli-l10n/pom.xml +++ b/nucleus/cluster/cli-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 cluster-cli-l10n diff --git a/nucleus/cluster/cli/pom.xml b/nucleus/cluster/cli/pom.xml index 87a66f7ae2c..714b4c7b17a 100755 --- a/nucleus/cluster/cli/pom.xml +++ b/nucleus/cluster/cli/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5-SNAPSHOT + 7.2026.5 cluster-cli glassfish-jar diff --git a/nucleus/cluster/common-l10n/pom.xml b/nucleus/cluster/common-l10n/pom.xml index 8c2453f9a69..52d8bed3207 100644 --- a/nucleus/cluster/common-l10n/pom.xml +++ b/nucleus/cluster/common-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 cluster-common-l10n diff --git a/nucleus/cluster/common/pom.xml b/nucleus/cluster/common/pom.xml index 64a8da63788..c3a63d82ba6 100644 --- a/nucleus/cluster/common/pom.xml +++ b/nucleus/cluster/common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5-SNAPSHOT + 7.2026.5 cluster-common glassfish-jar diff --git a/nucleus/cluster/pom.xml b/nucleus/cluster/pom.xml index 47255aa8e69..ec35b977805 100755 --- a/nucleus/cluster/pom.xml +++ b/nucleus/cluster/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.cluster cluster diff --git a/nucleus/cluster/ssh-l10n/pom.xml b/nucleus/cluster/ssh-l10n/pom.xml index f7174f83f4e..a577e9983a0 100644 --- a/nucleus/cluster/ssh-l10n/pom.xml +++ b/nucleus/cluster/ssh-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 cluster-ssh-l10n diff --git a/nucleus/cluster/ssh/pom.xml b/nucleus/cluster/ssh/pom.xml index 89815d561f3..7032c69504c 100644 --- a/nucleus/cluster/ssh/pom.xml +++ b/nucleus/cluster/ssh/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5-SNAPSHOT + 7.2026.5 cluster-ssh glassfish-jar diff --git a/nucleus/common/amx-core/pom.xml b/nucleus/common/amx-core/pom.xml index 86a0d64a0b7..606184c3a2c 100755 --- a/nucleus/common/amx-core/pom.xml +++ b/nucleus/common/amx-core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 amx-core diff --git a/nucleus/common/common-util-l10n/pom.xml b/nucleus/common/common-util-l10n/pom.xml index 424f8a7b1c4..02eaf9bf332 100644 --- a/nucleus/common/common-util-l10n/pom.xml +++ b/nucleus/common/common-util-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 common-util-l10n diff --git a/nucleus/common/common-util/pom.xml b/nucleus/common/common-util/pom.xml index 3b7969a04ab..6d6a8da9344 100755 --- a/nucleus/common/common-util/pom.xml +++ b/nucleus/common/common-util/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/nucleus/common/glassfish-api-l10n/pom.xml b/nucleus/common/glassfish-api-l10n/pom.xml index a3ece9692e8..8ba7a992886 100644 --- a/nucleus/common/glassfish-api-l10n/pom.xml +++ b/nucleus/common/glassfish-api-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 glassfish-api-l10n diff --git a/nucleus/common/glassfish-api/pom.xml b/nucleus/common/glassfish-api/pom.xml index 9f4f022dc52..bba51529e75 100644 --- a/nucleus/common/glassfish-api/pom.xml +++ b/nucleus/common/glassfish-api/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-api diff --git a/nucleus/common/internal-api-l10n/pom.xml b/nucleus/common/internal-api-l10n/pom.xml index 61b96a3470b..856ab57748c 100644 --- a/nucleus/common/internal-api-l10n/pom.xml +++ b/nucleus/common/internal-api-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 internal-api-l10n diff --git a/nucleus/common/internal-api/pom.xml b/nucleus/common/internal-api/pom.xml index 53d969f3e15..b3b7fc527f1 100644 --- a/nucleus/common/internal-api/pom.xml +++ b/nucleus/common/internal-api/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5-SNAPSHOT + 7.2026.5 internal-api diff --git a/nucleus/common/mbeanserver-l10n/pom.xml b/nucleus/common/mbeanserver-l10n/pom.xml index 99772856175..933abf2a350 100644 --- a/nucleus/common/mbeanserver-l10n/pom.xml +++ b/nucleus/common/mbeanserver-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 glassfish-mbeanserver-l10n diff --git a/nucleus/common/mbeanserver/pom.xml b/nucleus/common/mbeanserver/pom.xml index 1604275f9dd..ec335ebdba9 100755 --- a/nucleus/common/mbeanserver/pom.xml +++ b/nucleus/common/mbeanserver/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/nucleus/common/pom.xml b/nucleus/common/pom.xml index 71c7e774198..2c52ad4a7df 100755 --- a/nucleus/common/pom.xml +++ b/nucleus/common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.common nucleus-common diff --git a/nucleus/common/scattered-archive-api/pom.xml b/nucleus/common/scattered-archive-api/pom.xml index 02fdb6a7685..45813cf48c4 100644 --- a/nucleus/common/scattered-archive-api/pom.xml +++ b/nucleus/common/scattered-archive-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5-SNAPSHOT + 7.2026.5 scattered-archive-api glassfish-jar diff --git a/nucleus/common/simple-glassfish-api/pom.xml b/nucleus/common/simple-glassfish-api/pom.xml index 121d51958ad..ea2eeb06e7c 100644 --- a/nucleus/common/simple-glassfish-api/pom.xml +++ b/nucleus/common/simple-glassfish-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5-SNAPSHOT + 7.2026.5 simple-glassfish-api diff --git a/nucleus/core/api-exporter/pom.xml b/nucleus/core/api-exporter/pom.xml index 4b8678fa249..7c63cb45d58 100755 --- a/nucleus/core/api-exporter/pom.xml +++ b/nucleus/core/api-exporter/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5-SNAPSHOT + 7.2026.5 api-exporter diff --git a/nucleus/core/bootstrap/pom.xml b/nucleus/core/bootstrap/pom.xml index 6e7d48a6793..ff11fd42f0b 100755 --- a/nucleus/core/bootstrap/pom.xml +++ b/nucleus/core/bootstrap/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish diff --git a/nucleus/core/context-propagation/pom.xml b/nucleus/core/context-propagation/pom.xml index 4544696effc..71ad12ec69a 100644 --- a/nucleus/core/context-propagation/pom.xml +++ b/nucleus/core/context-propagation/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5-SNAPSHOT + 7.2026.5 context-propagation diff --git a/nucleus/core/extra-jre-packages/pom.xml b/nucleus/core/extra-jre-packages/pom.xml index a539a22d410..bad974b7c5c 100755 --- a/nucleus/core/extra-jre-packages/pom.xml +++ b/nucleus/core/extra-jre-packages/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-extra-jre-packages GlassFish Extra JRE Packages diff --git a/nucleus/core/javassist-packages/pom.xml b/nucleus/core/javassist-packages/pom.xml index 45dd2f4ef37..93f7bff76ef 100644 --- a/nucleus/core/javassist-packages/pom.xml +++ b/nucleus/core/javassist-packages/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5-SNAPSHOT + 7.2026.5 glassfish-javassist-packages GlassFish Javassist Packages diff --git a/nucleus/core/kernel-l10n/pom.xml b/nucleus/core/kernel-l10n/pom.xml index 8da0f8a6b7f..332b1b39ee0 100644 --- a/nucleus/core/kernel-l10n/pom.xml +++ b/nucleus/core/kernel-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 kernel-l10n diff --git a/nucleus/core/kernel/pom.xml b/nucleus/core/kernel/pom.xml index cbcc7040327..2bd658b755d 100755 --- a/nucleus/core/kernel/pom.xml +++ b/nucleus/core/kernel/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5-SNAPSHOT + 7.2026.5 kernel diff --git a/nucleus/core/logging-l10n/pom.xml b/nucleus/core/logging-l10n/pom.xml index 3bbac381132..8fa45517f8a 100644 --- a/nucleus/core/logging-l10n/pom.xml +++ b/nucleus/core/logging-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 logging-l10n diff --git a/nucleus/core/logging/pom.xml b/nucleus/core/logging/pom.xml index 4557263713f..fa7e8d964d9 100755 --- a/nucleus/core/logging/pom.xml +++ b/nucleus/core/logging/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/nucleus/core/pom.xml b/nucleus/core/pom.xml index bc8c77d35f2..c65d7396624 100644 --- a/nucleus/core/pom.xml +++ b/nucleus/core/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.core nucleus-core diff --git a/nucleus/deployment/admin-l10n/pom.xml b/nucleus/deployment/admin-l10n/pom.xml index 3f31b7a7daa..cab866eb992 100644 --- a/nucleus/deployment/admin-l10n/pom.xml +++ b/nucleus/deployment/admin-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 deployment-admin-l10n diff --git a/nucleus/deployment/admin/pom.xml b/nucleus/deployment/admin/pom.xml index e4de6e8dd70..d3e27e34255 100755 --- a/nucleus/deployment/admin/pom.xml +++ b/nucleus/deployment/admin/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 deployment-admin diff --git a/nucleus/deployment/autodeploy-l10n/pom.xml b/nucleus/deployment/autodeploy-l10n/pom.xml index fc5db7f1dc8..9dfda45cebe 100644 --- a/nucleus/deployment/autodeploy-l10n/pom.xml +++ b/nucleus/deployment/autodeploy-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 deployment-autodeploy-l10n diff --git a/nucleus/deployment/autodeploy/pom.xml b/nucleus/deployment/autodeploy/pom.xml index 68f7903eaf0..5185f3093c5 100755 --- a/nucleus/deployment/autodeploy/pom.xml +++ b/nucleus/deployment/autodeploy/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 deployment-autodeploy diff --git a/nucleus/deployment/common-l10n/pom.xml b/nucleus/deployment/common-l10n/pom.xml index f74b3c4f108..bb1769a08a1 100644 --- a/nucleus/deployment/common-l10n/pom.xml +++ b/nucleus/deployment/common-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 deployment-common-l10n diff --git a/nucleus/deployment/common/pom.xml b/nucleus/deployment/common/pom.xml index e419466ff4b..15ab372905a 100755 --- a/nucleus/deployment/common/pom.xml +++ b/nucleus/deployment/common/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 deployment-common diff --git a/nucleus/deployment/dtds/pom.xml b/nucleus/deployment/dtds/pom.xml index f7472812360..4c2090fc705 100644 --- a/nucleus/deployment/dtds/pom.xml +++ b/nucleus/deployment/dtds/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-dtds distribution-fragment diff --git a/nucleus/deployment/pom.xml b/nucleus/deployment/pom.xml index 62601184ea8..e17b2b7781c 100755 --- a/nucleus/deployment/pom.xml +++ b/nucleus/deployment/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.deployment nucleus-deployment diff --git a/nucleus/deployment/schemas/pom.xml b/nucleus/deployment/schemas/pom.xml index 4906881444d..1766a1cf785 100644 --- a/nucleus/deployment/schemas/pom.xml +++ b/nucleus/deployment/schemas/pom.xml @@ -4,7 +4,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-schemas distribution-fragment diff --git a/nucleus/diagnostics/context/pom.xml b/nucleus/diagnostics/context/pom.xml index 9524aa6fe7e..572f3259670 100644 --- a/nucleus/diagnostics/context/pom.xml +++ b/nucleus/diagnostics/context/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.diagnostics nucleus-diagnostics - 7.2026.5-SNAPSHOT + 7.2026.5 diagnostics-context diff --git a/nucleus/diagnostics/diagnostics-api/pom.xml b/nucleus/diagnostics/diagnostics-api/pom.xml index a1a469736f6..659f8e076fb 100755 --- a/nucleus/diagnostics/diagnostics-api/pom.xml +++ b/nucleus/diagnostics/diagnostics-api/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.diagnostics nucleus-diagnostics - 7.2026.5-SNAPSHOT + 7.2026.5 diagnostics-api diff --git a/nucleus/diagnostics/pom.xml b/nucleus/diagnostics/pom.xml index eb6be91a302..e7ca032eed8 100755 --- a/nucleus/diagnostics/pom.xml +++ b/nucleus/diagnostics/pom.xml @@ -32,7 +32,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.diagnostics diff --git a/nucleus/distributions/payara-minimal/pom.xml b/nucleus/distributions/payara-minimal/pom.xml index 6ff26201df1..bbe8503080b 100644 --- a/nucleus/distributions/payara-minimal/pom.xml +++ b/nucleus/distributions/payara-minimal/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.distributions nucleus-distributions - 7.2026.5-SNAPSHOT + 7.2026.5 payara-minimal Payara Minimal Distribution diff --git a/nucleus/distributions/pom.xml b/nucleus/distributions/pom.xml index c6164bbf1c5..370ad532a97 100644 --- a/nucleus/distributions/pom.xml +++ b/nucleus/distributions/pom.xml @@ -49,7 +49,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 pom fish.payara.server.internal.distributions diff --git a/nucleus/flashlight/agent/pom.xml b/nucleus/flashlight/agent/pom.xml index 152200eb07d..5e3b9b0268c 100755 --- a/nucleus/flashlight/agent/pom.xml +++ b/nucleus/flashlight/agent/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.flashlight nucleus-flashlight - 7.2026.5-SNAPSHOT + 7.2026.5 flashlight-agent flashlight-agent diff --git a/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml b/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml index d170b64942c..9fb1b276de2 100755 --- a/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml +++ b/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.flashlight nucleus-flashlight - 7.2026.5-SNAPSHOT + 7.2026.5 flashlight-extra-jdk-packages GlassFish Flashlight Extra JDK Pkgs diff --git a/nucleus/flashlight/framework-l10n/pom.xml b/nucleus/flashlight/framework-l10n/pom.xml index 44b08e2a912..4e3d549930f 100644 --- a/nucleus/flashlight/framework-l10n/pom.xml +++ b/nucleus/flashlight/framework-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.flashlight nucleus-flashlight - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 flashlight-framework-l10n diff --git a/nucleus/flashlight/framework/pom.xml b/nucleus/flashlight/framework/pom.xml index 306bb2ebe59..2e1b0112391 100755 --- a/nucleus/flashlight/framework/pom.xml +++ b/nucleus/flashlight/framework/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.flashlight nucleus-flashlight - 7.2026.5-SNAPSHOT + 7.2026.5 flashlight-framework glassfish-jar diff --git a/nucleus/flashlight/pom.xml b/nucleus/flashlight/pom.xml index 06c2616a9c9..c145b8766bb 100755 --- a/nucleus/flashlight/pom.xml +++ b/nucleus/flashlight/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.flashlight nucleus-flashlight diff --git a/nucleus/grizzly/config/pom.xml b/nucleus/grizzly/config/pom.xml index 6a04c45b272..88fbc93c1fc 100644 --- a/nucleus/grizzly/config/pom.xml +++ b/nucleus/grizzly/config/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.grizzly nucleus-grizzly - 7.2026.5-SNAPSHOT + 7.2026.5 grizzly-config diff --git a/nucleus/grizzly/nucleus-grizzly-all/pom.xml b/nucleus/grizzly/nucleus-grizzly-all/pom.xml index 2a31dfbdd9d..0eb0bcbafc3 100644 --- a/nucleus/grizzly/nucleus-grizzly-all/pom.xml +++ b/nucleus/grizzly/nucleus-grizzly-all/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.grizzly nucleus-grizzly - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-grizzly-all diff --git a/nucleus/grizzly/pom.xml b/nucleus/grizzly/pom.xml index b8f50a10f1d..21e3b8bdff1 100644 --- a/nucleus/grizzly/pom.xml +++ b/nucleus/grizzly/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.grizzly nucleus-grizzly diff --git a/nucleus/hk2/config-generator/pom.xml b/nucleus/hk2/config-generator/pom.xml index f2235cacbde..6f2b7d23c04 100644 --- a/nucleus/hk2/config-generator/pom.xml +++ b/nucleus/hk2/config-generator/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.hk2 glassfish-nucleus-hk2 - 7.2026.5-SNAPSHOT + 7.2026.5 config-generator maven-plugin diff --git a/nucleus/hk2/config-types/pom.xml b/nucleus/hk2/config-types/pom.xml index 7c59dbd839b..b0ae100522c 100644 --- a/nucleus/hk2/config-types/pom.xml +++ b/nucleus/hk2/config-types/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.hk2 glassfish-nucleus-hk2 - 7.2026.5-SNAPSHOT + 7.2026.5 config-types diff --git a/nucleus/hk2/hk2-config/pom.xml b/nucleus/hk2/hk2-config/pom.xml index 79e96e18f78..7488dd03529 100644 --- a/nucleus/hk2/hk2-config/pom.xml +++ b/nucleus/hk2/hk2-config/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.hk2 glassfish-nucleus-hk2 - 7.2026.5-SNAPSHOT + 7.2026.5 hk2-config diff --git a/nucleus/hk2/pom.xml b/nucleus/hk2/pom.xml index 2201ae4234f..7ce1b1461d4 100644 --- a/nucleus/hk2/pom.xml +++ b/nucleus/hk2/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.hk2 glassfish-nucleus-hk2 diff --git a/nucleus/osgi-platforms/felix/pom.xml b/nucleus/osgi-platforms/felix/pom.xml index a62c0379848..6cdd64b18f7 100644 --- a/nucleus/osgi-platforms/felix/pom.xml +++ b/nucleus/osgi-platforms/felix/pom.xml @@ -66,7 +66,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5-SNAPSHOT + 7.2026.5 felix diff --git a/nucleus/osgi-platforms/osgi-cli-interactive-l10n/pom.xml b/nucleus/osgi-platforms/osgi-cli-interactive-l10n/pom.xml index 903ff6c72ff..744d70b03d9 100644 --- a/nucleus/osgi-platforms/osgi-cli-interactive-l10n/pom.xml +++ b/nucleus/osgi-platforms/osgi-cli-interactive-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml b/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml index 3f2655278de..cdd5c92f8b7 100644 --- a/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml +++ b/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5-SNAPSHOT + 7.2026.5 osgi-cli-interactive diff --git a/nucleus/osgi-platforms/osgi-cli-remote-l10n/pom.xml b/nucleus/osgi-platforms/osgi-cli-remote-l10n/pom.xml index e0caef30477..31c3b68d15b 100644 --- a/nucleus/osgi-platforms/osgi-cli-remote-l10n/pom.xml +++ b/nucleus/osgi-platforms/osgi-cli-remote-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/nucleus/osgi-platforms/osgi-cli-remote/pom.xml b/nucleus/osgi-platforms/osgi-cli-remote/pom.xml index f40b4efa2d6..27e8ce29c90 100644 --- a/nucleus/osgi-platforms/osgi-cli-remote/pom.xml +++ b/nucleus/osgi-platforms/osgi-cli-remote/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5-SNAPSHOT + 7.2026.5 osgi-cli-remote diff --git a/nucleus/osgi-platforms/osgi-container/pom.xml b/nucleus/osgi-platforms/osgi-container/pom.xml index 201f5176220..b0a14a28c48 100755 --- a/nucleus/osgi-platforms/osgi-container/pom.xml +++ b/nucleus/osgi-platforms/osgi-container/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5-SNAPSHOT + 7.2026.5 osgi-container diff --git a/nucleus/osgi-platforms/pom.xml b/nucleus/osgi-platforms/pom.xml index 78a9b52f5fb..891355c1ecd 100644 --- a/nucleus/osgi-platforms/pom.xml +++ b/nucleus/osgi-platforms/pom.xml @@ -51,7 +51,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 pom fish.payara.server.internal.osgi-platforms diff --git a/nucleus/packager/asadmin-recorder-package/pom.xml b/nucleus/packager/asadmin-recorder-package/pom.xml index a29134bee8b..4a03b050d57 100644 --- a/nucleus/packager/asadmin-recorder-package/pom.xml +++ b/nucleus/packager/asadmin-recorder-package/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 asadmin-recorder-package Nucleus Payara Asadmin Recorder Package diff --git a/nucleus/packager/external/antlr/pom.xml b/nucleus/packager/external/antlr/pom.xml index 4c9e11f7a60..e09ade2f4f3 100644 --- a/nucleus/packager/external/antlr/pom.xml +++ b/nucleus/packager/external/antlr/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 antlr-repackaged diff --git a/nucleus/packager/external/jmxremote_optional/pom.xml b/nucleus/packager/external/jmxremote_optional/pom.xml index 8bf1643b44d..876f77a06df 100644 --- a/nucleus/packager/external/jmxremote_optional/pom.xml +++ b/nucleus/packager/external/jmxremote_optional/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 jmxremote_optional-repackaged diff --git a/nucleus/packager/external/ldapbp/pom.xml b/nucleus/packager/external/ldapbp/pom.xml index 3510657c017..1b991a63074 100644 --- a/nucleus/packager/external/ldapbp/pom.xml +++ b/nucleus/packager/external/ldapbp/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 ldapbp-repackaged diff --git a/nucleus/packager/external/opentelemetry-repackaged/pom.xml b/nucleus/packager/external/opentelemetry-repackaged/pom.xml index 27ad530ad98..1184da16a16 100644 --- a/nucleus/packager/external/opentelemetry-repackaged/pom.xml +++ b/nucleus/packager/external/opentelemetry-repackaged/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5-SNAPSHOT + 7.2026.5 opentelemetry-repackaged diff --git a/nucleus/packager/external/opentracing-repackaged/pom.xml b/nucleus/packager/external/opentracing-repackaged/pom.xml index 7bf9460570d..906c123fb58 100644 --- a/nucleus/packager/external/opentracing-repackaged/pom.xml +++ b/nucleus/packager/external/opentracing-repackaged/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5-SNAPSHOT + 7.2026.5 opentracing-repackaged diff --git a/nucleus/packager/external/pom.xml b/nucleus/packager/external/pom.xml index 02662737756..92afc874cc3 100644 --- a/nucleus/packager/external/pom.xml +++ b/nucleus/packager/external/pom.xml @@ -52,7 +52,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 ../../pom.xml diff --git a/nucleus/packager/external/tiger-types/pom.xml b/nucleus/packager/external/tiger-types/pom.xml index 78de5ed3d98..075be706db3 100644 --- a/nucleus/packager/external/tiger-types/pom.xml +++ b/nucleus/packager/external/tiger-types/pom.xml @@ -37,7 +37,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5-SNAPSHOT + 7.2026.5 tiger-types diff --git a/nucleus/packager/external/trilead-ssh2/pom.xml b/nucleus/packager/external/trilead-ssh2/pom.xml index 9ad82f759d0..e4983668a2d 100644 --- a/nucleus/packager/external/trilead-ssh2/pom.xml +++ b/nucleus/packager/external/trilead-ssh2/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 diff --git a/nucleus/packager/external/vboxjws/pom.xml b/nucleus/packager/external/vboxjws/pom.xml index 40e69676120..4905876dfce 100644 --- a/nucleus/packager/external/vboxjws/pom.xml +++ b/nucleus/packager/external/vboxjws/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 vboxjws diff --git a/nucleus/packager/hazelcast-package/pom.xml b/nucleus/packager/hazelcast-package/pom.xml index ee89ca87190..dc19cb948bb 100644 --- a/nucleus/packager/hazelcast-package/pom.xml +++ b/nucleus/packager/hazelcast-package/pom.xml @@ -43,7 +43,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 hazelcast-package Nucleus Hazelcast Package diff --git a/nucleus/packager/healthcheck-package/pom.xml b/nucleus/packager/healthcheck-package/pom.xml index f4d34073500..ef867694e68 100644 --- a/nucleus/packager/healthcheck-package/pom.xml +++ b/nucleus/packager/healthcheck-package/pom.xml @@ -44,7 +44,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 healthcheck-package Nucleus HealthCheck Package diff --git a/nucleus/packager/notification-package/pom.xml b/nucleus/packager/notification-package/pom.xml index 710d95cc363..f199daa7102 100644 --- a/nucleus/packager/notification-package/pom.xml +++ b/nucleus/packager/notification-package/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 notification-package Nucleus Notification Package diff --git a/nucleus/packager/nucleus-cluster-l10n/pom.xml b/nucleus/packager/nucleus-cluster-l10n/pom.xml index d643b211f31..ca8c564c5d3 100644 --- a/nucleus/packager/nucleus-cluster-l10n/pom.xml +++ b/nucleus/packager/nucleus-cluster-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-cluster-l10n Nucleus Clustering l10n Package diff --git a/nucleus/packager/nucleus-cluster/pom.xml b/nucleus/packager/nucleus-cluster/pom.xml index de5e780465b..740294fe46c 100644 --- a/nucleus/packager/nucleus-cluster/pom.xml +++ b/nucleus/packager/nucleus-cluster/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-cluster Nucleus Clustering Package diff --git a/nucleus/packager/nucleus-common-l10n/pom.xml b/nucleus/packager/nucleus-common-l10n/pom.xml index 349d7817353..26fe91e2f33 100644 --- a/nucleus/packager/nucleus-common-l10n/pom.xml +++ b/nucleus/packager/nucleus-common-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-common-l10n Nucleus Commons Package l10n package diff --git a/nucleus/packager/nucleus-common/pom.xml b/nucleus/packager/nucleus-common/pom.xml index af740f057cd..06078227673 100644 --- a/nucleus/packager/nucleus-common/pom.xml +++ b/nucleus/packager/nucleus-common/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-common Nucleus Commons Package diff --git a/nucleus/packager/nucleus-corba-base/pom.xml b/nucleus/packager/nucleus-corba-base/pom.xml index 0e2bab9ecbb..a45e2eb04da 100644 --- a/nucleus/packager/nucleus-corba-base/pom.xml +++ b/nucleus/packager/nucleus-corba-base/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-corba-base Nucleus Base CORBA APIs Package diff --git a/nucleus/packager/nucleus-felix/pom.xml b/nucleus/packager/nucleus-felix/pom.xml index dd122a4a88f..90e61ac71b5 100644 --- a/nucleus/packager/nucleus-felix/pom.xml +++ b/nucleus/packager/nucleus-felix/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-felix Felix Nucleus Package diff --git a/nucleus/packager/nucleus-grizzly/pom.xml b/nucleus/packager/nucleus-grizzly/pom.xml index 1ce42e3b637..75e3b9e2f5c 100644 --- a/nucleus/packager/nucleus-grizzly/pom.xml +++ b/nucleus/packager/nucleus-grizzly/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-grizzly diff --git a/nucleus/packager/nucleus-hk2/pom.xml b/nucleus/packager/nucleus-hk2/pom.xml index 87f625c6644..c66c7a65de5 100644 --- a/nucleus/packager/nucleus-hk2/pom.xml +++ b/nucleus/packager/nucleus-hk2/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-hk2 diff --git a/nucleus/packager/nucleus-jersey/pom.xml b/nucleus/packager/nucleus-jersey/pom.xml index 767e655c512..43e8dd41222 100644 --- a/nucleus/packager/nucleus-jersey/pom.xml +++ b/nucleus/packager/nucleus-jersey/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-jersey diff --git a/nucleus/packager/nucleus-jmx/pom.xml b/nucleus/packager/nucleus-jmx/pom.xml index cc48a7acc5c..ebed443723c 100644 --- a/nucleus/packager/nucleus-jmx/pom.xml +++ b/nucleus/packager/nucleus-jmx/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-jmx Glassfish JMX Package diff --git a/nucleus/packager/nucleus-l10n/pom.xml b/nucleus/packager/nucleus-l10n/pom.xml index 6f8c91567fc..0df62ab4c36 100644 --- a/nucleus/packager/nucleus-l10n/pom.xml +++ b/nucleus/packager/nucleus-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-l10n Nucleus l10n Package diff --git a/nucleus/packager/nucleus-management-l10n/pom.xml b/nucleus/packager/nucleus-management-l10n/pom.xml index 59e900ff816..85f883e3968 100644 --- a/nucleus/packager/nucleus-management-l10n/pom.xml +++ b/nucleus/packager/nucleus-management-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-management-l10n Nucleus Management l10n Package diff --git a/nucleus/packager/nucleus-management/pom.xml b/nucleus/packager/nucleus-management/pom.xml index acc28fbf13f..8dc1c35fd6d 100644 --- a/nucleus/packager/nucleus-management/pom.xml +++ b/nucleus/packager/nucleus-management/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-management Nucleus Management Package diff --git a/nucleus/packager/nucleus-osgi/pom.xml b/nucleus/packager/nucleus-osgi/pom.xml index a10c65eb44a..119b3c8e35e 100644 --- a/nucleus/packager/nucleus-osgi/pom.xml +++ b/nucleus/packager/nucleus-osgi/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-osgi Glassfish OSGi Support Package diff --git a/nucleus/packager/nucleus/pom.xml b/nucleus/packager/nucleus/pom.xml index d90289ab151..45250bd16f6 100644 --- a/nucleus/packager/nucleus/pom.xml +++ b/nucleus/packager/nucleus/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus Nucleus Package diff --git a/nucleus/packager/payara-api-package/pom.xml b/nucleus/packager/payara-api-package/pom.xml index c564ae452b2..d5599e762b3 100644 --- a/nucleus/packager/payara-api-package/pom.xml +++ b/nucleus/packager/payara-api-package/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 payara-api-package Nucleus Payara API Package diff --git a/nucleus/packager/payara-executor-service-package/pom.xml b/nucleus/packager/payara-executor-service-package/pom.xml index 6efe46f88de..dec1385eaca 100644 --- a/nucleus/packager/payara-executor-service-package/pom.xml +++ b/nucleus/packager/payara-executor-service-package/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 payara-executor-service-package Nucleus Payara Executor Service Package diff --git a/nucleus/packager/phonehome-package/pom.xml b/nucleus/packager/phonehome-package/pom.xml index 36a5a9ccbc7..706c50d882f 100644 --- a/nucleus/packager/phonehome-package/pom.xml +++ b/nucleus/packager/phonehome-package/pom.xml @@ -23,7 +23,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 phonehome-package Nucleus Phonehome Package diff --git a/nucleus/packager/pom.xml b/nucleus/packager/pom.xml index 668843f3f81..dbba044a343 100644 --- a/nucleus/packager/pom.xml +++ b/nucleus/packager/pom.xml @@ -49,7 +49,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.packager diff --git a/nucleus/packager/requesttracing-package/pom.xml b/nucleus/packager/requesttracing-package/pom.xml index c5c481e6e22..82ddfb1d77a 100644 --- a/nucleus/packager/requesttracing-package/pom.xml +++ b/nucleus/packager/requesttracing-package/pom.xml @@ -22,7 +22,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5-SNAPSHOT + 7.2026.5 requesttracing-package Nucleus Request Tracing Package diff --git a/nucleus/payara-modules/asadmin-audit/pom.xml b/nucleus/payara-modules/asadmin-audit/pom.xml index 32bd9f07a3a..3b4c3f0c980 100644 --- a/nucleus/payara-modules/asadmin-audit/pom.xml +++ b/nucleus/payara-modules/asadmin-audit/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 asadmin-audit glassfish-jar diff --git a/nucleus/payara-modules/asadmin-recorder/pom.xml b/nucleus/payara-modules/asadmin-recorder/pom.xml index f81f9aefd56..7c106697a9f 100644 --- a/nucleus/payara-modules/asadmin-recorder/pom.xml +++ b/nucleus/payara-modules/asadmin-recorder/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 asadmin-recorder glassfish-jar diff --git a/nucleus/payara-modules/hazelcast-bootstrap/pom.xml b/nucleus/payara-modules/hazelcast-bootstrap/pom.xml index 77b4102a786..1e4993d8a4a 100644 --- a/nucleus/payara-modules/hazelcast-bootstrap/pom.xml +++ b/nucleus/payara-modules/hazelcast-bootstrap/pom.xml @@ -42,7 +42,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 hazelcast-bootstrap diff --git a/nucleus/payara-modules/healthcheck-core/pom.xml b/nucleus/payara-modules/healthcheck-core/pom.xml index 33e1ab7aab8..2dccdc5c274 100644 --- a/nucleus/payara-modules/healthcheck-core/pom.xml +++ b/nucleus/payara-modules/healthcheck-core/pom.xml @@ -44,7 +44,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 healthcheck-core glassfish-jar diff --git a/nucleus/payara-modules/healthcheck-cpool/pom.xml b/nucleus/payara-modules/healthcheck-cpool/pom.xml index 76fe0f70b0b..dffa768e21c 100644 --- a/nucleus/payara-modules/healthcheck-cpool/pom.xml +++ b/nucleus/payara-modules/healthcheck-cpool/pom.xml @@ -46,7 +46,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 healthcheck-cpool glassfish-jar diff --git a/nucleus/payara-modules/healthcheck-stuck/pom.xml b/nucleus/payara-modules/healthcheck-stuck/pom.xml index 6efdaff8009..eab406cfaf8 100644 --- a/nucleus/payara-modules/healthcheck-stuck/pom.xml +++ b/nucleus/payara-modules/healthcheck-stuck/pom.xml @@ -46,7 +46,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 healthcheck-stuck glassfish-jar diff --git a/nucleus/payara-modules/jsr107-repackaged/pom.xml b/nucleus/payara-modules/jsr107-repackaged/pom.xml index 615a4a09095..494cee32d64 100644 --- a/nucleus/payara-modules/jsr107-repackaged/pom.xml +++ b/nucleus/payara-modules/jsr107-repackaged/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 jsr107-repackaged Repackaged JSR 107 diff --git a/nucleus/payara-modules/notification-cdi-eventbus-core/pom.xml b/nucleus/payara-modules/notification-cdi-eventbus-core/pom.xml index 172fc008354..4d4dc761e34 100644 --- a/nucleus/payara-modules/notification-cdi-eventbus-core/pom.xml +++ b/nucleus/payara-modules/notification-cdi-eventbus-core/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 notification-cdi-eventbus-core glassfish-jar diff --git a/nucleus/payara-modules/notification-core/pom.xml b/nucleus/payara-modules/notification-core/pom.xml index 5b649fe6799..25446bb8264 100644 --- a/nucleus/payara-modules/notification-core/pom.xml +++ b/nucleus/payara-modules/notification-core/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 notification-core glassfish-jar diff --git a/nucleus/payara-modules/notification-eventbus-core/pom.xml b/nucleus/payara-modules/notification-eventbus-core/pom.xml index 6a686bddd75..a4d70301d86 100644 --- a/nucleus/payara-modules/notification-eventbus-core/pom.xml +++ b/nucleus/payara-modules/notification-eventbus-core/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 notification-eventbus-core glassfish-jar diff --git a/nucleus/payara-modules/nucleus-microprofile/config-service/pom.xml b/nucleus/payara-modules/nucleus-microprofile/config-service/pom.xml index 68a049ba57d..6a65100e669 100644 --- a/nucleus/payara-modules/nucleus-microprofile/config-service/pom.xml +++ b/nucleus/payara-modules/nucleus-microprofile/config-service/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules nucleus-microprofile - 7.2026.5-SNAPSHOT + 7.2026.5 microprofile-config-service diff --git a/nucleus/payara-modules/nucleus-microprofile/pom.xml b/nucleus/payara-modules/nucleus-microprofile/pom.xml index 8546e1c354a..acf789db9d9 100644 --- a/nucleus/payara-modules/nucleus-microprofile/pom.xml +++ b/nucleus/payara-modules/nucleus-microprofile/pom.xml @@ -43,7 +43,7 @@ holder. fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-microprofile diff --git a/nucleus/payara-modules/opentracing-adapter/pom.xml b/nucleus/payara-modules/opentracing-adapter/pom.xml index 69739af3270..4e9242dc938 100644 --- a/nucleus/payara-modules/opentracing-adapter/pom.xml +++ b/nucleus/payara-modules/opentracing-adapter/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 opentracing-adapter diff --git a/nucleus/payara-modules/payara-executor-service/pom.xml b/nucleus/payara-modules/payara-executor-service/pom.xml index 0fd7268114d..0e2416db910 100644 --- a/nucleus/payara-modules/payara-executor-service/pom.xml +++ b/nucleus/payara-modules/payara-executor-service/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 payara-executor-service glassfish-jar diff --git a/nucleus/payara-modules/phonehome-bootstrap/pom.xml b/nucleus/payara-modules/phonehome-bootstrap/pom.xml index 7cdaac313b9..a808c6a853a 100644 --- a/nucleus/payara-modules/phonehome-bootstrap/pom.xml +++ b/nucleus/payara-modules/phonehome-bootstrap/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 phonehome-bootstrap glassfish-jar diff --git a/nucleus/payara-modules/pom.xml b/nucleus/payara-modules/pom.xml index 2dd265b0cb6..6488ad23c24 100755 --- a/nucleus/payara-modules/pom.xml +++ b/nucleus/payara-modules/pom.xml @@ -45,7 +45,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.payara-modules diff --git a/nucleus/payara-modules/requesttracing-core/pom.xml b/nucleus/payara-modules/requesttracing-core/pom.xml index 5053251f7e6..124486fafed 100644 --- a/nucleus/payara-modules/requesttracing-core/pom.xml +++ b/nucleus/payara-modules/requesttracing-core/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 requesttracing-core glassfish-jar diff --git a/nucleus/payara-modules/service-exemplar/pom.xml b/nucleus/payara-modules/service-exemplar/pom.xml index e5692b55285..47547920521 100644 --- a/nucleus/payara-modules/service-exemplar/pom.xml +++ b/nucleus/payara-modules/service-exemplar/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5-SNAPSHOT + 7.2026.5 service-exemplar diff --git a/nucleus/pom.xml b/nucleus/pom.xml index 492f2513784..31329279cbe 100644 --- a/nucleus/pom.xml +++ b/nucleus/pom.xml @@ -48,7 +48,7 @@ fish.payara.server payara-aggregator - 7.2026.5-SNAPSHOT + 7.2026.5 payara-nucleus-parent diff --git a/nucleus/resources-l10n/pom.xml b/nucleus/resources-l10n/pom.xml index 38764964332..e2e54f6e8a0 100644 --- a/nucleus/resources-l10n/pom.xml +++ b/nucleus/resources-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 fish.payara.server.internal diff --git a/nucleus/resources/pom.xml b/nucleus/resources/pom.xml index 9b32e821b78..0b1c2aefbb2 100755 --- a/nucleus/resources/pom.xml +++ b/nucleus/resources/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.resourcebase.resources nucleus-resources diff --git a/nucleus/security/core-l10n/pom.xml b/nucleus/security/core-l10n/pom.xml index 6f8f480a68e..51d63e3c325 100644 --- a/nucleus/security/core-l10n/pom.xml +++ b/nucleus/security/core-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.security nucleus-security - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 security-l10n diff --git a/nucleus/security/core/pom.xml b/nucleus/security/core/pom.xml index d5a0dc5eadf..489864efdd3 100644 --- a/nucleus/security/core/pom.xml +++ b/nucleus/security/core/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.security nucleus-security - 7.2026.5-SNAPSHOT + 7.2026.5 security glassfish-jar diff --git a/nucleus/security/pom.xml b/nucleus/security/pom.xml index 3683c94aa40..43cd91598c9 100644 --- a/nucleus/security/pom.xml +++ b/nucleus/security/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.security nucleus-security diff --git a/nucleus/security/services-l10n/pom.xml b/nucleus/security/services-l10n/pom.xml index c1421f89578..9c2ea584cd8 100644 --- a/nucleus/security/services-l10n/pom.xml +++ b/nucleus/security/services-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.security nucleus-security - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 security-services-l10n diff --git a/nucleus/security/services/pom.xml b/nucleus/security/services/pom.xml index e9c4581bb2e..62b5c097feb 100644 --- a/nucleus/security/services/pom.xml +++ b/nucleus/security/services/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security nucleus-security - 7.2026.5-SNAPSHOT + 7.2026.5 security-services glassfish-jar diff --git a/nucleus/security/ssl-impl/pom.xml b/nucleus/security/ssl-impl/pom.xml index cd80460cf98..53ab2e1b5fe 100644 --- a/nucleus/security/ssl-impl/pom.xml +++ b/nucleus/security/ssl-impl/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security nucleus-security - 7.2026.5-SNAPSHOT + 7.2026.5 ssl-impl glassfish-jar diff --git a/nucleus/test-utils/pom.xml b/nucleus/test-utils/pom.xml index 1bc7cbbafb8..a773a30dd62 100755 --- a/nucleus/test-utils/pom.xml +++ b/nucleus/test-utils/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.test-utils diff --git a/nucleus/test-utils/utils-ng/pom.xml b/nucleus/test-utils/utils-ng/pom.xml index 87da823e38c..8389526d2b9 100644 --- a/nucleus/test-utils/utils-ng/pom.xml +++ b/nucleus/test-utils/utils-ng/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.test-utils test-utils - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 utils-ng diff --git a/nucleus/test-utils/utils/pom.xml b/nucleus/test-utils/utils/pom.xml index f751f97ddbc..fa59df6232f 100644 --- a/nucleus/test-utils/utils/pom.xml +++ b/nucleus/test-utils/utils/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.test-utils test-utils - 7.2026.5-SNAPSHOT + 7.2026.5 4.0.0 utils diff --git a/nucleus/tests/admin/pom.xml b/nucleus/tests/admin/pom.xml index 14148c0b4fd..2971f91f16e 100644 --- a/nucleus/tests/admin/pom.xml +++ b/nucleus/tests/admin/pom.xml @@ -80,7 +80,7 @@ of COPY_LIB map constant.) fish.payara.server.internal.tests nucleus-tests - 7.2026.5-SNAPSHOT + 7.2026.5 org.glassfish.tests nucleus-admin diff --git a/nucleus/tests/pom.xml b/nucleus/tests/pom.xml index cee04325a62..96e0cccc7fd 100755 --- a/nucleus/tests/pom.xml +++ b/nucleus/tests/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5-SNAPSHOT + 7.2026.5 fish.payara.server.internal.tests diff --git a/nucleus/tests/quicklook/pom.xml b/nucleus/tests/quicklook/pom.xml index e306c0fbbdf..9d1edd24cf0 100644 --- a/nucleus/tests/quicklook/pom.xml +++ b/nucleus/tests/quicklook/pom.xml @@ -71,7 +71,7 @@ utilities are in the NucleusTestUtils class. fish.payara.server.internal.tests nucleus-tests - 7.2026.5-SNAPSHOT + 7.2026.5 nucleus-quicklook diff --git a/pom.xml b/pom.xml index 26fd0985a6c..1ede1829b4c 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,7 @@ 4.0.0 fish.payara.server payara-aggregator - 7.2026.5-SNAPSHOT + 7.2026.5 pom Payara Project From 6cc0680e53726c58c0af2da6c10e898ac7d49399 Mon Sep 17 00:00:00 2001 From: Payara-CI Date: Tue, 5 May 2026 07:39:50 +0000 Subject: [PATCH 120/133] Increment version numbers for development --- api/payara-api/pom.xml | 2 +- api/payara-bom/pom.xml | 2 +- api/pom.xml | 2 +- appserver/admin/admin-core/pom.xml | 2 +- appserver/admin/backup-l10n/pom.xml | 2 +- appserver/admin/backup/pom.xml | 2 +- appserver/admin/cli-optional-l10n/pom.xml | 2 +- appserver/admin/cli-optional/pom.xml | 2 +- appserver/admin/cli/pom.xml | 2 +- appserver/admin/gf_template/pom.xml | 2 +- appserver/admin/gf_template_web/pom.xml | 2 +- appserver/admin/pom.xml | 2 +- .../admingui/cdieventbus-notifier-console-plugin-l10n/pom.xml | 2 +- .../admingui/cdieventbus-notifier-console-plugin/pom.xml | 2 +- appserver/admingui/cluster-l10n/pom.xml | 2 +- appserver/admingui/cluster/pom.xml | 2 +- appserver/admingui/common-l10n/pom.xml | 2 +- appserver/admingui/common/pom.xml | 2 +- appserver/admingui/concurrent-l10n/pom.xml | 2 +- appserver/admingui/concurrent/pom.xml | 2 +- appserver/admingui/corba-l10n/pom.xml | 2 +- appserver/admingui/corba/pom.xml | 2 +- appserver/admingui/core-l10n/pom.xml | 2 +- appserver/admingui/core/pom.xml | 2 +- appserver/admingui/dataprovider/pom.xml | 2 +- appserver/admingui/devtests/pom.xml | 2 +- appserver/admingui/dist-fragment/pom.xml | 2 +- appserver/admingui/ejb-l10n/pom.xml | 2 +- appserver/admingui/ejb-lite-l10n/pom.xml | 2 +- appserver/admingui/ejb-lite/pom.xml | 2 +- appserver/admingui/ejb/pom.xml | 2 +- .../admingui/eventbus-notifier-console-plugin-l10n/pom.xml | 2 +- appserver/admingui/eventbus-notifier-console-plugin/pom.xml | 2 +- appserver/admingui/faces-compat/pom.xml | 2 +- appserver/admingui/full-l10n/pom.xml | 2 +- appserver/admingui/full/pom.xml | 2 +- appserver/admingui/gf-admingui-connector/pom.xml | 2 +- .../admingui/healthcheck-service-console-plugin-l10n/pom.xml | 2 +- appserver/admingui/healthcheck-service-console-plugin/pom.xml | 2 +- appserver/admingui/jca-l10n/pom.xml | 2 +- appserver/admingui/jca/pom.xml | 2 +- appserver/admingui/jdbc-l10n/pom.xml | 2 +- appserver/admingui/jdbc/pom.xml | 2 +- appserver/admingui/jms-notifier-console-plugin-l10n/pom.xml | 2 +- appserver/admingui/jms-notifier-console-plugin/pom.xml | 2 +- appserver/admingui/jms-plugin-l10n/pom.xml | 2 +- appserver/admingui/jms-plugin/pom.xml | 2 +- appserver/admingui/jmx-monitoring-plugin-l10n/pom.xml | 2 +- appserver/admingui/jmx-monitoring-plugin/pom.xml | 2 +- appserver/admingui/jts-l10n/pom.xml | 2 +- appserver/admingui/jts/pom.xml | 2 +- appserver/admingui/microprofile-console-plugin-l10n/pom.xml | 2 +- appserver/admingui/microprofile-console-plugin/pom.xml | 2 +- appserver/admingui/payara-console-extras-l10n/pom.xml | 2 +- appserver/admingui/payara-console-extras/pom.xml | 2 +- appserver/admingui/payara-theme-l10n/pom.xml | 2 +- appserver/admingui/payara-theme/pom.xml | 2 +- appserver/admingui/plugin-service/pom.xml | 2 +- appserver/admingui/pom.xml | 2 +- appserver/admingui/reference-manual/pom.xml | 2 +- appserver/admingui/war/pom.xml | 2 +- appserver/admingui/web-l10n/pom.xml | 2 +- appserver/admingui/web/pom.xml | 2 +- appserver/admingui/webui-jsf-plugin-l10n/pom.xml | 2 +- appserver/admingui/webui-jsf-suntheme-plugin-l10n/pom.xml | 2 +- appserver/ant-tasks/pom.xml | 2 +- appserver/appclient/client/acc-config/pom.xml | 2 +- appserver/appclient/client/acc-l10n/pom.xml | 2 +- appserver/appclient/client/acc-standalone-l10n/pom.xml | 2 +- appserver/appclient/client/acc-standalone/pom.xml | 2 +- appserver/appclient/client/acc/pom.xml | 2 +- appserver/appclient/client/appclient-scripts/pom.xml | 2 +- appserver/appclient/client/pom.xml | 2 +- appserver/appclient/pom.xml | 2 +- appserver/appclient/server/connector/pom.xml | 2 +- appserver/appclient/server/core-l10n/pom.xml | 2 +- appserver/appclient/server/core/pom.xml | 2 +- appserver/appclient/server/pom.xml | 2 +- appserver/batch/batch-database/pom.xml | 2 +- appserver/batch/glassfish-batch-commands/pom.xml | 2 +- appserver/batch/glassfish-batch-connector/pom.xml | 2 +- appserver/batch/hazelcast-jbatch-store/pom.xml | 2 +- appserver/batch/jbatch-repackaged/pom.xml | 2 +- appserver/batch/pom.xml | 2 +- appserver/common/amx-javaee/pom.xml | 2 +- appserver/common/annotation-framework-l10n/pom.xml | 2 +- appserver/common/annotation-framework/pom.xml | 2 +- appserver/common/container-common-l10n/pom.xml | 2 +- appserver/common/container-common/pom.xml | 2 +- appserver/common/glassfish-ee-api/pom.xml | 2 +- appserver/common/glassfish-naming-l10n/pom.xml | 2 +- appserver/common/glassfish-naming/pom.xml | 2 +- appserver/common/pom.xml | 2 +- appserver/common/stats77-l10n/pom.xml | 2 +- appserver/common/stats77/pom.xml | 2 +- appserver/concurrent/concurrent-connector-l10n/pom.xml | 2 +- appserver/concurrent/concurrent-connector/pom.xml | 2 +- appserver/concurrent/concurrent-impl-l10n/pom.xml | 2 +- appserver/concurrent/concurrent-impl/pom.xml | 2 +- appserver/concurrent/pom.xml | 2 +- appserver/connectors/admin-l10n/pom.xml | 2 +- appserver/connectors/admin/pom.xml | 2 +- appserver/connectors/connectors-connector/pom.xml | 2 +- appserver/connectors/connectors-inbound-runtime-l10n/pom.xml | 2 +- appserver/connectors/connectors-inbound-runtime/pom.xml | 2 +- appserver/connectors/connectors-internal-api-l10n/pom.xml | 2 +- appserver/connectors/connectors-internal-api/pom.xml | 2 +- appserver/connectors/connectors-runtime-l10n/pom.xml | 2 +- appserver/connectors/connectors-runtime/pom.xml | 2 +- appserver/connectors/descriptors/pom.xml | 2 +- appserver/connectors/pom.xml | 2 +- appserver/connectors/work-management-l10n/pom.xml | 2 +- appserver/connectors/work-management/pom.xml | 2 +- appserver/core/api-exporter-fragment/pom.xml | 2 +- appserver/core/jakartaee-kernel/pom.xml | 2 +- appserver/core/pom.xml | 2 +- appserver/data/data-core/pom.xml | 2 +- appserver/data/pom.xml | 2 +- appserver/deployment/client-l10n/pom.xml | 2 +- appserver/deployment/client/pom.xml | 2 +- appserver/deployment/dol-l10n/pom.xml | 2 +- appserver/deployment/dol/pom.xml | 2 +- appserver/deployment/dtds/pom.xml | 2 +- appserver/deployment/javaee-core-l10n/pom.xml | 2 +- appserver/deployment/javaee-core/pom.xml | 2 +- appserver/deployment/javaee-full-l10n/pom.xml | 2 +- appserver/deployment/javaee-full/pom.xml | 2 +- appserver/deployment/jsr88-jar/pom.xml | 2 +- appserver/deployment/jsr88-jar/sun-as-jsr88-dm-frag/pom.xml | 2 +- appserver/deployment/jsr88-jar/sun-as-jsr88-dm/pom.xml | 2 +- appserver/deployment/pom.xml | 2 +- appserver/deployment/schemas/pom.xml | 2 +- appserver/distributions/payara-ml/pom.xml | 2 +- appserver/distributions/payara-web-ml/pom.xml | 2 +- appserver/distributions/payara-web/pom.xml | 2 +- appserver/distributions/payara/pom.xml | 2 +- appserver/distributions/pom.xml | 2 +- appserver/docker/pom.xml | 2 +- appserver/ejb/ejb-all/pom.xml | 2 +- appserver/ejb/ejb-client/pom.xml | 2 +- appserver/ejb/ejb-connector-l10n/pom.xml | 2 +- appserver/ejb/ejb-connector/pom.xml | 2 +- appserver/ejb/ejb-container-l10n/pom.xml | 2 +- appserver/ejb/ejb-container/pom.xml | 2 +- appserver/ejb/ejb-full-container/pom.xml | 2 +- appserver/ejb/ejb-http-remoting/admin/pom.xml | 2 +- appserver/ejb/ejb-http-remoting/client/pom.xml | 2 +- appserver/ejb/ejb-http-remoting/endpoint/pom.xml | 2 +- appserver/ejb/ejb-http-remoting/pom.xml | 2 +- appserver/ejb/ejb-internal-api/pom.xml | 2 +- appserver/ejb/ejb-opentracing/pom.xml | 2 +- appserver/ejb/ejb-timer-databases/pom.xml | 2 +- appserver/ejb/ejb-timer-service-app/pom.xml | 2 +- appserver/ejb/pom.xml | 2 +- appserver/extras/appserv-rt/dist-frag/pom.xml | 2 +- appserver/extras/appserv-rt/manifest-jar/pom.xml | 2 +- appserver/extras/appserv-rt/pom.xml | 2 +- appserver/extras/docker-images/micro/pom.xml | 2 +- appserver/extras/docker-images/pom.xml | 2 +- appserver/extras/docker-images/server-full/pom.xml | 2 +- appserver/extras/docker-images/server-node/pom.xml | 2 +- appserver/extras/docker-images/server-web/pom.xml | 2 +- appserver/extras/docker-images/tests/pom.xml | 2 +- appserver/extras/embedded/all/pom.xml | 2 +- appserver/extras/embedded/pom.xml | 2 +- .../embedded/shell/glassfish-embedded-shell-frag/pom.xml | 2 +- .../extras/embedded/shell/glassfish-embedded-shell/pom.xml | 2 +- .../shell/glassfish-embedded-static-shell-frag/pom.xml | 2 +- .../embedded/shell/glassfish-embedded-static-shell/pom.xml | 2 +- appserver/extras/embedded/shell/pom.xml | 2 +- appserver/extras/embedded/tests/embedded-vs-jersey/pom.xml | 2 +- appserver/extras/embedded/tests/pom.xml | 2 +- appserver/extras/embedded/web/pom.xml | 2 +- appserver/extras/javaee/dist-frag/pom.xml | 2 +- appserver/extras/javaee/manifest-jar/pom.xml | 2 +- appserver/extras/javaee/pom.xml | 2 +- appserver/extras/payara-micro/payara-micro-boot/pom.xml | 2 +- appserver/extras/payara-micro/payara-micro-core/pom.xml | 2 +- .../extras/payara-micro/payara-micro-distribution/pom.xml | 2 +- appserver/extras/payara-micro/pom.xml | 2 +- appserver/extras/pom.xml | 2 +- appserver/featuresets/glassfish/pom.xml | 2 +- appserver/featuresets/minnow-ml/pom.xml | 2 +- appserver/featuresets/minnow/pom.xml | 2 +- appserver/featuresets/payara-ml/pom.xml | 2 +- appserver/featuresets/payara-web-ml/pom.xml | 2 +- appserver/featuresets/payara-web/pom.xml | 2 +- appserver/featuresets/payara/pom.xml | 2 +- appserver/featuresets/pom.xml | 2 +- appserver/featuresets/web/pom.xml | 2 +- appserver/flashlight/btrace/pom.xml | 2 +- appserver/flashlight/client/pom.xml | 2 +- appserver/flashlight/pom.xml | 2 +- appserver/grizzly/glassfish-grizzly-extra-all/pom.xml | 2 +- appserver/grizzly/grizzly-container/pom.xml | 2 +- appserver/grizzly/pom.xml | 2 +- appserver/ha/ha-file-store/pom.xml | 2 +- appserver/ha/ha-hazelcast-store/pom.xml | 2 +- appserver/ha/pom.xml | 2 +- appserver/jdbc/admin-l10n/pom.xml | 2 +- appserver/jdbc/admin/pom.xml | 2 +- appserver/jdbc/jdbc-config-l10n/pom.xml | 2 +- appserver/jdbc/jdbc-config/pom.xml | 2 +- appserver/jdbc/jdbc-ra/jdbc-core-l10n/pom.xml | 2 +- appserver/jdbc/jdbc-ra/jdbc-core/pom.xml | 2 +- appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml | 2 +- appserver/jdbc/jdbc-ra/jdbc40/pom.xml | 2 +- appserver/jdbc/jdbc-ra/pom.xml | 2 +- appserver/jdbc/jdbc-runtime-l10n/pom.xml | 2 +- appserver/jdbc/jdbc-runtime/pom.xml | 2 +- appserver/jdbc/pom.xml | 2 +- appserver/jdbc/templates/pom.xml | 2 +- appserver/jms/admin-l10n/pom.xml | 2 +- appserver/jms/admin/pom.xml | 2 +- appserver/jms/gf-jms-connector-l10n/pom.xml | 2 +- appserver/jms/gf-jms-connector/pom.xml | 2 +- appserver/jms/gf-jms-injection-l10n/pom.xml | 2 +- appserver/jms/gf-jms-injection/pom.xml | 2 +- appserver/jms/jms-core-l10n/pom.xml | 2 +- appserver/jms/jms-core/pom.xml | 2 +- appserver/jms/jms-handlers/pom.xml | 2 +- appserver/jms/pom.xml | 2 +- appserver/orb/orb-connector-l10n/pom.xml | 2 +- appserver/orb/orb-connector/pom.xml | 2 +- appserver/orb/orb-enabler/pom.xml | 2 +- appserver/orb/orb-iiop/pom.xml | 2 +- appserver/orb/pom.xml | 2 +- appserver/osgi-platforms/felix-webconsole-extension/pom.xml | 2 +- .../osgi-platforms/glassfish-osgi-console-plugin-l10n/pom.xml | 2 +- .../osgi-platforms/glassfish-osgi-console-plugin/pom.xml | 2 +- appserver/osgi-platforms/pom.xml | 2 +- appserver/packager/JMX-Monitoring/pom.xml | 2 +- appserver/packager/appserver-base/pom.xml | 2 +- appserver/packager/appserver-core/pom.xml | 2 +- appserver/packager/asadmin-recorder/pom.xml | 2 +- appserver/packager/cdi-auth-roles/pom.xml | 2 +- appserver/packager/data/pom.xml | 2 +- appserver/packager/docker/pom.xml | 2 +- appserver/packager/environment-warning/pom.xml | 2 +- appserver/packager/external/ant/pom.xml | 2 +- appserver/packager/external/h2db/pom.xml | 2 +- appserver/packager/external/jakarta-data-api/pom.xml | 2 +- appserver/packager/external/jakarta-ee11-shim/pom.xml | 2 +- appserver/packager/external/jakarta-ee9-shim/pom.xml | 2 +- appserver/packager/external/jcip/pom.xml | 2 +- appserver/packager/external/jmsra/pom.xml | 2 +- appserver/packager/external/libpam4j/pom.xml | 2 +- appserver/packager/external/metro-xmlsec/pom.xml | 2 +- appserver/packager/external/pom.xml | 2 +- appserver/packager/felix/pom.xml | 2 +- appserver/packager/glassfish-ant-tasks/pom.xml | 2 +- appserver/packager/glassfish-appclient-l10n/pom.xml | 2 +- appserver/packager/glassfish-appclient/pom.xml | 2 +- appserver/packager/glassfish-cluster-l10n/pom.xml | 2 +- appserver/packager/glassfish-cluster/pom.xml | 2 +- appserver/packager/glassfish-common-full-l10n/pom.xml | 2 +- appserver/packager/glassfish-common-full/pom.xml | 2 +- appserver/packager/glassfish-common-l10n/pom.xml | 2 +- appserver/packager/glassfish-common-web-l10n/pom.xml | 2 +- appserver/packager/glassfish-common-web/pom.xml | 2 +- appserver/packager/glassfish-common/pom.xml | 2 +- appserver/packager/glassfish-corba-base/pom.xml | 2 +- appserver/packager/glassfish-corba/pom.xml | 2 +- appserver/packager/glassfish-ejb-l10n/pom.xml | 2 +- appserver/packager/glassfish-ejb-lite-l10n/pom.xml | 2 +- appserver/packager/glassfish-ejb-lite/pom.xml | 2 +- appserver/packager/glassfish-ejb/pom.xml | 2 +- appserver/packager/glassfish-entitybeans-container/pom.xml | 2 +- appserver/packager/glassfish-full-incorporation/pom.xml | 2 +- appserver/packager/glassfish-full-profile/pom.xml | 2 +- appserver/packager/glassfish-grizzly-full/pom.xml | 2 +- appserver/packager/glassfish-grizzly/pom.xml | 2 +- appserver/packager/glassfish-gui-l10n/pom.xml | 2 +- appserver/packager/glassfish-gui/pom.xml | 2 +- appserver/packager/glassfish-ha/pom.xml | 2 +- appserver/packager/glassfish-hk2/pom.xml | 2 +- appserver/packager/glassfish-javahelp/pom.xml | 2 +- appserver/packager/glassfish-jca-l10n/pom.xml | 2 +- appserver/packager/glassfish-jca/pom.xml | 2 +- appserver/packager/glassfish-jcdi/pom.xml | 2 +- appserver/packager/glassfish-jdbc-l10n/pom.xml | 2 +- appserver/packager/glassfish-jdbc/pom.xml | 2 +- appserver/packager/glassfish-jms-l10n/pom.xml | 2 +- appserver/packager/glassfish-jms/pom.xml | 2 +- appserver/packager/glassfish-jmx/pom.xml | 2 +- appserver/packager/glassfish-jpa-l10n/pom.xml | 2 +- appserver/packager/glassfish-jpa/pom.xml | 2 +- appserver/packager/glassfish-jsf/pom.xml | 2 +- appserver/packager/glassfish-jta-l10n/pom.xml | 2 +- appserver/packager/glassfish-jta/pom.xml | 2 +- appserver/packager/glassfish-jts-l10n/pom.xml | 2 +- appserver/packager/glassfish-jts/pom.xml | 2 +- appserver/packager/glassfish-management-l10n/pom.xml | 2 +- appserver/packager/glassfish-management/pom.xml | 2 +- appserver/packager/glassfish-nucleus-l10n/pom.xml | 2 +- appserver/packager/glassfish-nucleus/pom.xml | 2 +- appserver/packager/glassfish-osgi-feature-pack/pom.xml | 2 +- appserver/packager/glassfish-osgi-gui-l10n/pom.xml | 2 +- appserver/packager/glassfish-osgi-gui/pom.xml | 2 +- appserver/packager/glassfish-osgi-http/pom.xml | 2 +- appserver/packager/glassfish-osgi-incorporation/pom.xml | 2 +- appserver/packager/glassfish-osgi/pom.xml | 2 +- appserver/packager/glassfish-web-incorporation/pom.xml | 2 +- appserver/packager/glassfish-web-l10n/pom.xml | 2 +- appserver/packager/glassfish-web-profile/pom.xml | 2 +- appserver/packager/glassfish-web/pom.xml | 2 +- appserver/packager/h2db/pom.xml | 2 +- appserver/packager/hazelcast-l10n/pom.xml | 2 +- appserver/packager/hazelcast/pom.xml | 2 +- appserver/packager/healthcheck/pom.xml | 2 +- appserver/packager/jersey/pom.xml | 2 +- appserver/packager/json/pom.xml | 2 +- appserver/packager/legal/pom.xml | 2 +- appserver/packager/metro-l10n/pom.xml | 2 +- appserver/packager/metro/pom.xml | 2 +- appserver/packager/microprofile-package/pom.xml | 2 +- appserver/packager/mq/pom.xml | 2 +- appserver/packager/notification-jms/pom.xml | 2 +- appserver/packager/notification/pom.xml | 2 +- appserver/packager/opentracing-jaxws-package/pom.xml | 2 +- appserver/packager/payara-api/pom.xml | 2 +- appserver/packager/payara-executor-service/pom.xml | 2 +- appserver/packager/payara-micro/pom.xml | 2 +- appserver/packager/payara-mvc/pom.xml | 2 +- appserver/packager/payara-rest-endpoints/pom.xml | 2 +- appserver/packager/phonehome/pom.xml | 2 +- appserver/packager/pom.xml | 2 +- appserver/packager/requesttracing/pom.xml | 2 +- appserver/payara-appserver-modules/cdi-auth-roles/pom.xml | 2 +- .../payara-appserver-modules/environment-warning/pom.xml | 2 +- .../hazelcast-eclipselink-coordination/pom.xml | 2 +- .../payara-appserver-modules/hazelcast-ejb-timer/pom.xml | 2 +- .../payara-appserver-modules/healthcheck-checker/pom.xml | 2 +- .../payara-appserver-modules/healthcheck-metrics/pom.xml | 2 +- .../payara-appserver-modules/jaspic-servlet-utils/pom.xml | 2 +- .../payara-appserver-modules/jaxrs-client-tracing/pom.xml | 2 +- .../payara-appserver-modules/jmx-monitoring-service/pom.xml | 2 +- .../microprofile/config-extensions/pom.xml | 2 +- .../payara-appserver-modules/microprofile/config/pom.xml | 2 +- .../microprofile/fault-tolerance/pom.xml | 2 +- .../payara-appserver-modules/microprofile/healthcheck/pom.xml | 2 +- .../payara-appserver-modules/microprofile/jwt-auth/pom.xml | 2 +- .../payara-appserver-modules/microprofile/metrics/pom.xml | 2 +- .../microprofile/microprofile-common/pom.xml | 2 +- .../microprofile/microprofile-connector/pom.xml | 2 +- .../payara-appserver-modules/microprofile/openapi/pom.xml | 2 +- .../microprofile/opentracing-jaxws/pom.xml | 2 +- .../payara-appserver-modules/microprofile/opentracing/pom.xml | 2 +- appserver/payara-appserver-modules/microprofile/pom.xml | 2 +- .../microprofile/rest-client-ssl/pom.xml | 2 +- .../payara-appserver-modules/microprofile/rest-client/pom.xml | 2 +- .../payara-appserver-modules/microprofile/telemetry/pom.xml | 2 +- .../payara-appserver-modules/notification-jms-core/pom.xml | 2 +- appserver/payara-appserver-modules/payara-jsr107/pom.xml | 2 +- appserver/payara-appserver-modules/payara-micro-cdi/pom.xml | 2 +- .../payara-appserver-modules/payara-micro-service/pom.xml | 2 +- .../payara-appserver-modules/payara-rest-endpoints/pom.xml | 2 +- appserver/payara-appserver-modules/pom.xml | 2 +- appserver/persistence/common/pom.xml | 2 +- appserver/persistence/eclipselink-wrapper/pom.xml | 2 +- appserver/persistence/gf-jpa-connector/pom.xml | 2 +- appserver/persistence/jpa-container-l10n/pom.xml | 2 +- appserver/persistence/jpa-container/pom.xml | 2 +- appserver/persistence/oracle-jdbc-driver-packages/pom.xml | 2 +- appserver/persistence/pom.xml | 2 +- appserver/pom.xml | 2 +- appserver/resources/javamail/javamail-connector-l10n/pom.xml | 2 +- appserver/resources/javamail/javamail-connector/pom.xml | 2 +- appserver/resources/javamail/javamail-runtime/pom.xml | 2 +- appserver/resources/javamail/pom.xml | 2 +- appserver/resources/pom.xml | 2 +- appserver/resources/resources-connector-l10n/pom.xml | 2 +- appserver/resources/resources-connector/pom.xml | 2 +- appserver/resources/resources-runtime/pom.xml | 2 +- appserver/security/appclient.security/pom.xml | 2 +- appserver/security/core-ee-l10n/pom.xml | 2 +- appserver/security/core-ee/pom.xml | 2 +- appserver/security/ejb.security/pom.xml | 2 +- appserver/security/jacc.provider.inmemory/pom.xml | 2 +- appserver/security/pom.xml | 2 +- appserver/security/realm-stores/pom.xml | 2 +- appserver/security/security-all/pom.xml | 2 +- appserver/security/webintegration/pom.xml | 2 +- appserver/security/webservices.security-l10n/pom.xml | 2 +- appserver/security/webservices.security/pom.xml | 2 +- appserver/tests/fish372-tests/datagrid-tests/pom.xml | 2 +- appserver/tests/fish372-tests/pom.xml | 2 +- appserver/tests/functional/embeddedtest/pom.xml | 4 ++-- appserver/tests/functional/payara-application-xml/pom.xml | 2 +- appserver/tests/functional/payara-micro/pom.xml | 2 +- appserver/tests/payara-samples/classloader-data-api/pom.xml | 2 +- .../tests/payara-samples/ejb-invoker-secure-endpoint/pom.xml | 2 +- appserver/tests/payara-samples/micro-programmatic/pom.xml | 2 +- appserver/tests/payara-samples/pom.xml | 2 +- .../repackaged/http-matchers-repackaged/pom.xml | 2 +- appserver/tests/payara-samples/repackaged/pom.xml | 2 +- .../repackaged/smallrye-config-repackaged/pom.xml | 2 +- appserver/tests/payara-samples/samples/cleanboot/pom.xml | 2 +- .../samples/client-certificate-validator/pom.xml | 2 +- .../clustered-singleton/clustered-singleton-ejb/pom.xml | 2 +- .../clustered-singleton/clustered-singleton-test/pom.xml | 2 +- .../tests/payara-samples/samples/clustered-singleton/pom.xml | 2 +- appserver/tests/payara-samples/samples/concurrency/pom.xml | 2 +- .../tests/payara-samples/samples/corba-read-timeout/pom.xml | 2 +- .../custom-loginmodule-realm/loginmodule-realm-impl/pom.xml | 2 +- .../custom-loginmodule-realm/loginmodule-realm-test/pom.xml | 2 +- .../payara-samples/samples/custom-loginmodule-realm/pom.xml | 2 +- appserver/tests/payara-samples/samples/data/pom.xml | 2 +- appserver/tests/payara-samples/samples/dynamic-roles/pom.xml | 2 +- .../tests/payara-samples/samples/ejb-http-remoting/pom.xml | 2 +- appserver/tests/payara-samples/samples/formauth/pom.xml | 2 +- appserver/tests/payara-samples/samples/http/pom.xml | 2 +- appserver/tests/payara-samples/samples/jacc-per-app/pom.xml | 2 +- .../payara-samples/samples/jaxrs-rolesallowed-servlet/pom.xml | 2 +- .../tests/payara-samples/samples/jaxrs-rolesallowed/pom.xml | 2 +- appserver/tests/payara-samples/samples/jaxws-security/pom.xml | 2 +- appserver/tests/payara-samples/samples/jaxws-tracing/pom.xml | 2 +- .../samples/legacy-mode-empty-beans-xml/pom.xml | 2 +- appserver/tests/payara-samples/samples/logging/pom.xml | 2 +- .../tests/payara-samples/samples/microprofile-config/pom.xml | 2 +- .../samples/microprofile-endpoints/insecure/pom.xml | 2 +- .../payara-samples/samples/microprofile-endpoints/pom.xml | 2 +- .../samples/microprofile-endpoints/secure/pom.xml | 2 +- .../payara-samples/samples/microprofile-healthcheck/pom.xml | 2 +- .../samples/microprofile-jwt-error-cache/pom.xml | 2 +- .../tests/payara-samples/samples/microprofile-rc-ft/pom.xml | 2 +- .../payara-samples/samples/microprofile-rest-client/pom.xml | 2 +- .../tests/payara-samples/samples/multiple-keystores/pom.xml | 2 +- appserver/tests/payara-samples/samples/mvc/pom.xml | 2 +- appserver/tests/payara-samples/samples/oauth2/pom.xml | 2 +- appserver/tests/payara-samples/samples/openid/pom.xml | 2 +- appserver/tests/payara-samples/samples/opentelemetry/pom.xml | 2 +- .../samples/payara-expression-config-properties/pom.xml | 2 +- appserver/tests/payara-samples/samples/pom.xml | 2 +- .../payara-samples/samples/realm-identity-stores/pom.xml | 2 +- .../tests/payara-samples/samples/remote-ejb-tracing/pom.xml | 2 +- appserver/tests/payara-samples/samples/reproducers/pom.xml | 2 +- .../tests/payara-samples/samples/rest-management/pom.xml | 2 +- appserver/tests/payara-samples/samples/rolesPermitted/pom.xml | 2 +- .../samples/rolesallowed-unprotected-methods/pom.xml | 2 +- .../tests/payara-samples/samples/sfsb-passivation/pom.xml | 2 +- .../payara-samples/samples/use-bundled-jsf-primefaces/pom.xml | 2 +- .../tests/payara-samples/samples/versioned-deployment/pom.xml | 2 +- appserver/tests/payara-samples/test-domain-setup/pom.xml | 4 ++-- appserver/tests/payara-samples/test-utils/pom.xml | 2 +- appserver/tests/pom.xml | 2 +- appserver/tests/quicklook/admin/pom.xml | 2 +- appserver/tests/quicklook/pom.xml | 2 +- appserver/transaction/internal-api-l10n/pom.xml | 2 +- appserver/transaction/internal-api/pom.xml | 2 +- appserver/transaction/jta-l10n/pom.xml | 2 +- appserver/transaction/jta/pom.xml | 2 +- appserver/transaction/jts-l10n/pom.xml | 2 +- appserver/transaction/jts/pom.xml | 2 +- appserver/transaction/pom.xml | 2 +- appserver/web/admin-l10n/pom.xml | 2 +- appserver/web/admin/pom.xml | 2 +- appserver/web/cdi-api-fragment/pom.xml | 2 +- appserver/web/gf-web-connector/pom.xml | 2 +- appserver/web/gf-weld-connector/pom.xml | 2 +- appserver/web/gui-plugin-common-l10n/pom.xml | 2 +- appserver/web/gui-plugin-common/pom.xml | 2 +- appserver/web/jersey-mvc-connector/pom.xml | 2 +- appserver/web/jsf-connector/pom.xml | 2 +- appserver/web/jspcaching-connector/pom.xml | 2 +- appserver/web/jstl-connector/pom.xml | 2 +- appserver/web/pom.xml | 2 +- appserver/web/war-util-l10n/pom.xml | 2 +- appserver/web/war-util/pom.xml | 2 +- appserver/web/web-core-l10n/pom.xml | 2 +- appserver/web/web-core/pom.xml | 2 +- appserver/web/web-embed/api/pom.xml | 2 +- appserver/web/web-embed/pom.xml | 2 +- appserver/web/web-glue-l10n/pom.xml | 2 +- appserver/web/web-glue/pom.xml | 2 +- appserver/web/web-ha/pom.xml | 2 +- appserver/web/web-naming-l10n/pom.xml | 2 +- appserver/web/web-naming/pom.xml | 2 +- appserver/web/web-sse/pom.xml | 2 +- appserver/web/webtier-all/pom.xml | 2 +- appserver/web/weld-integration-fragment/pom.xml | 2 +- appserver/web/weld-integration-test-fragment/pom.xml | 2 +- appserver/web/weld-integration/pom.xml | 2 +- appserver/webservices/connector-l10n/pom.xml | 2 +- appserver/webservices/connector/pom.xml | 2 +- appserver/webservices/jsr109-impl-l10n/pom.xml | 2 +- appserver/webservices/jsr109-impl/pom.xml | 2 +- appserver/webservices/metro-fragments/pom.xml | 2 +- appserver/webservices/metro-glue/pom.xml | 2 +- appserver/webservices/pom.xml | 2 +- appserver/webservices/soap-tcp/pom.xml | 2 +- appserver/webservices/webservices-scripts/pom.xml | 2 +- nucleus/admin/cli-l10n/pom.xml | 2 +- nucleus/admin/cli/pom.xml | 2 +- nucleus/admin/config-api-l10n/pom.xml | 2 +- nucleus/admin/config-api/pom.xml | 2 +- nucleus/admin/launcher-l10n/pom.xml | 2 +- nucleus/admin/launcher/pom.xml | 2 +- nucleus/admin/monitor-l10n/pom.xml | 2 +- nucleus/admin/monitor/pom.xml | 2 +- nucleus/admin/pom.xml | 2 +- nucleus/admin/rest/gf-restadmin-connector/pom.xml | 2 +- nucleus/admin/rest/pom.xml | 2 +- nucleus/admin/rest/rest-client/pom.xml | 2 +- nucleus/admin/rest/rest-service-l10n/pom.xml | 2 +- nucleus/admin/rest/rest-service/pom.xml | 2 +- nucleus/admin/rest/rest-testing/pom.xml | 2 +- nucleus/admin/server-mgmt-l10n/pom.xml | 2 +- nucleus/admin/server-mgmt/pom.xml | 2 +- nucleus/admin/template/pom.xml | 2 +- nucleus/admin/util-l10n/pom.xml | 2 +- nucleus/admin/util/pom.xml | 2 +- nucleus/cluster/admin-l10n/pom.xml | 2 +- nucleus/cluster/admin/pom.xml | 2 +- nucleus/cluster/cli-l10n/pom.xml | 2 +- nucleus/cluster/cli/pom.xml | 2 +- nucleus/cluster/common-l10n/pom.xml | 2 +- nucleus/cluster/common/pom.xml | 2 +- nucleus/cluster/pom.xml | 2 +- nucleus/cluster/ssh-l10n/pom.xml | 2 +- nucleus/cluster/ssh/pom.xml | 2 +- nucleus/common/amx-core/pom.xml | 2 +- nucleus/common/common-util-l10n/pom.xml | 2 +- nucleus/common/common-util/pom.xml | 2 +- nucleus/common/glassfish-api-l10n/pom.xml | 2 +- nucleus/common/glassfish-api/pom.xml | 2 +- nucleus/common/internal-api-l10n/pom.xml | 2 +- nucleus/common/internal-api/pom.xml | 2 +- nucleus/common/mbeanserver-l10n/pom.xml | 2 +- nucleus/common/mbeanserver/pom.xml | 2 +- nucleus/common/pom.xml | 2 +- nucleus/common/scattered-archive-api/pom.xml | 2 +- nucleus/common/simple-glassfish-api/pom.xml | 2 +- nucleus/core/api-exporter/pom.xml | 2 +- nucleus/core/bootstrap/pom.xml | 2 +- nucleus/core/context-propagation/pom.xml | 2 +- nucleus/core/extra-jre-packages/pom.xml | 2 +- nucleus/core/javassist-packages/pom.xml | 2 +- nucleus/core/kernel-l10n/pom.xml | 2 +- nucleus/core/kernel/pom.xml | 2 +- nucleus/core/logging-l10n/pom.xml | 2 +- nucleus/core/logging/pom.xml | 2 +- nucleus/core/pom.xml | 2 +- nucleus/deployment/admin-l10n/pom.xml | 2 +- nucleus/deployment/admin/pom.xml | 2 +- nucleus/deployment/autodeploy-l10n/pom.xml | 2 +- nucleus/deployment/autodeploy/pom.xml | 2 +- nucleus/deployment/common-l10n/pom.xml | 2 +- nucleus/deployment/common/pom.xml | 2 +- nucleus/deployment/dtds/pom.xml | 2 +- nucleus/deployment/pom.xml | 2 +- nucleus/deployment/schemas/pom.xml | 2 +- nucleus/diagnostics/context/pom.xml | 2 +- nucleus/diagnostics/diagnostics-api/pom.xml | 2 +- nucleus/diagnostics/pom.xml | 2 +- nucleus/distributions/payara-minimal/pom.xml | 2 +- nucleus/distributions/pom.xml | 2 +- nucleus/flashlight/agent/pom.xml | 2 +- nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml | 2 +- nucleus/flashlight/framework-l10n/pom.xml | 2 +- nucleus/flashlight/framework/pom.xml | 2 +- nucleus/flashlight/pom.xml | 2 +- nucleus/grizzly/config/pom.xml | 2 +- nucleus/grizzly/nucleus-grizzly-all/pom.xml | 2 +- nucleus/grizzly/pom.xml | 2 +- nucleus/hk2/config-generator/pom.xml | 2 +- nucleus/hk2/config-types/pom.xml | 2 +- nucleus/hk2/hk2-config/pom.xml | 2 +- nucleus/hk2/pom.xml | 2 +- nucleus/osgi-platforms/felix/pom.xml | 2 +- nucleus/osgi-platforms/osgi-cli-interactive-l10n/pom.xml | 2 +- nucleus/osgi-platforms/osgi-cli-interactive/pom.xml | 2 +- nucleus/osgi-platforms/osgi-cli-remote-l10n/pom.xml | 2 +- nucleus/osgi-platforms/osgi-cli-remote/pom.xml | 2 +- nucleus/osgi-platforms/osgi-container/pom.xml | 2 +- nucleus/osgi-platforms/pom.xml | 2 +- nucleus/packager/asadmin-recorder-package/pom.xml | 2 +- nucleus/packager/external/antlr/pom.xml | 2 +- nucleus/packager/external/jmxremote_optional/pom.xml | 2 +- nucleus/packager/external/ldapbp/pom.xml | 2 +- nucleus/packager/external/opentelemetry-repackaged/pom.xml | 2 +- nucleus/packager/external/opentracing-repackaged/pom.xml | 2 +- nucleus/packager/external/pom.xml | 2 +- nucleus/packager/external/tiger-types/pom.xml | 2 +- nucleus/packager/external/trilead-ssh2/pom.xml | 2 +- nucleus/packager/external/vboxjws/pom.xml | 2 +- nucleus/packager/hazelcast-package/pom.xml | 2 +- nucleus/packager/healthcheck-package/pom.xml | 2 +- nucleus/packager/notification-package/pom.xml | 2 +- nucleus/packager/nucleus-cluster-l10n/pom.xml | 2 +- nucleus/packager/nucleus-cluster/pom.xml | 2 +- nucleus/packager/nucleus-common-l10n/pom.xml | 2 +- nucleus/packager/nucleus-common/pom.xml | 2 +- nucleus/packager/nucleus-corba-base/pom.xml | 2 +- nucleus/packager/nucleus-felix/pom.xml | 2 +- nucleus/packager/nucleus-grizzly/pom.xml | 2 +- nucleus/packager/nucleus-hk2/pom.xml | 2 +- nucleus/packager/nucleus-jersey/pom.xml | 2 +- nucleus/packager/nucleus-jmx/pom.xml | 2 +- nucleus/packager/nucleus-l10n/pom.xml | 2 +- nucleus/packager/nucleus-management-l10n/pom.xml | 2 +- nucleus/packager/nucleus-management/pom.xml | 2 +- nucleus/packager/nucleus-osgi/pom.xml | 2 +- nucleus/packager/nucleus/pom.xml | 2 +- nucleus/packager/payara-api-package/pom.xml | 2 +- nucleus/packager/payara-executor-service-package/pom.xml | 2 +- nucleus/packager/phonehome-package/pom.xml | 2 +- nucleus/packager/pom.xml | 2 +- nucleus/packager/requesttracing-package/pom.xml | 2 +- nucleus/payara-modules/asadmin-audit/pom.xml | 2 +- nucleus/payara-modules/asadmin-recorder/pom.xml | 2 +- nucleus/payara-modules/hazelcast-bootstrap/pom.xml | 2 +- nucleus/payara-modules/healthcheck-core/pom.xml | 2 +- nucleus/payara-modules/healthcheck-cpool/pom.xml | 2 +- nucleus/payara-modules/healthcheck-stuck/pom.xml | 2 +- nucleus/payara-modules/jsr107-repackaged/pom.xml | 2 +- nucleus/payara-modules/notification-cdi-eventbus-core/pom.xml | 2 +- nucleus/payara-modules/notification-core/pom.xml | 2 +- nucleus/payara-modules/notification-eventbus-core/pom.xml | 2 +- .../nucleus-microprofile/config-service/pom.xml | 2 +- nucleus/payara-modules/nucleus-microprofile/pom.xml | 2 +- nucleus/payara-modules/opentracing-adapter/pom.xml | 2 +- nucleus/payara-modules/payara-executor-service/pom.xml | 2 +- nucleus/payara-modules/phonehome-bootstrap/pom.xml | 2 +- nucleus/payara-modules/pom.xml | 2 +- nucleus/payara-modules/requesttracing-core/pom.xml | 2 +- nucleus/payara-modules/service-exemplar/pom.xml | 2 +- nucleus/pom.xml | 2 +- nucleus/resources-l10n/pom.xml | 2 +- nucleus/resources/pom.xml | 2 +- nucleus/security/core-l10n/pom.xml | 2 +- nucleus/security/core/pom.xml | 2 +- nucleus/security/pom.xml | 2 +- nucleus/security/services-l10n/pom.xml | 2 +- nucleus/security/services/pom.xml | 2 +- nucleus/security/ssl-impl/pom.xml | 2 +- nucleus/test-utils/pom.xml | 2 +- nucleus/test-utils/utils-ng/pom.xml | 2 +- nucleus/test-utils/utils/pom.xml | 2 +- nucleus/tests/admin/pom.xml | 2 +- nucleus/tests/pom.xml | 2 +- nucleus/tests/quicklook/pom.xml | 2 +- pom.xml | 2 +- 643 files changed, 645 insertions(+), 645 deletions(-) diff --git a/api/payara-api/pom.xml b/api/payara-api/pom.xml index 060cde59785..de6e6677075 100644 --- a/api/payara-api/pom.xml +++ b/api/payara-api/pom.xml @@ -45,7 +45,7 @@ fish.payara.api api-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.api payara-api diff --git a/api/payara-bom/pom.xml b/api/payara-bom/pom.xml index 745dfe1e14b..daeb9ebe03b 100644 --- a/api/payara-bom/pom.xml +++ b/api/payara-bom/pom.xml @@ -44,7 +44,7 @@ fish.payara.api api-parent - 7.2026.5 + 7.2026.6-SNAPSHOT payara-bom diff --git a/api/pom.xml b/api/pom.xml index 41d95144c88..477ef69870c 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -43,7 +43,7 @@ fish.payara.server payara-aggregator - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.api diff --git a/appserver/admin/admin-core/pom.xml b/appserver/admin/admin-core/pom.xml index 094b8780b66..dc222a640dd 100755 --- a/appserver/admin/admin-core/pom.xml +++ b/appserver/admin/admin-core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 admin-core diff --git a/appserver/admin/backup-l10n/pom.xml b/appserver/admin/backup-l10n/pom.xml index ec22ec9f2c9..48acf9ae142 100644 --- a/appserver/admin/backup-l10n/pom.xml +++ b/appserver/admin/backup-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 backup-l10n diff --git a/appserver/admin/backup/pom.xml b/appserver/admin/backup/pom.xml index 2979068e8fa..95d4c901245 100644 --- a/appserver/admin/backup/pom.xml +++ b/appserver/admin/backup/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 backup diff --git a/appserver/admin/cli-optional-l10n/pom.xml b/appserver/admin/cli-optional-l10n/pom.xml index 8f08a64575b..00ed3ae0b87 100755 --- a/appserver/admin/cli-optional-l10n/pom.xml +++ b/appserver/admin/cli-optional-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin admin - 7.2026.5 + 7.2026.6-SNAPSHOT cli-optional-l10n diff --git a/appserver/admin/cli-optional/pom.xml b/appserver/admin/cli-optional/pom.xml index e96b04f19c4..6eabfec2e3e 100755 --- a/appserver/admin/cli-optional/pom.xml +++ b/appserver/admin/cli-optional/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin admin - 7.2026.5 + 7.2026.6-SNAPSHOT cli-optional glassfish-jar diff --git a/appserver/admin/cli/pom.xml b/appserver/admin/cli/pom.xml index 4d2ae21117f..af66435056b 100755 --- a/appserver/admin/cli/pom.xml +++ b/appserver/admin/cli/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin admin - 7.2026.5 + 7.2026.6-SNAPSHOT appserver-cli glassfish-jar diff --git a/appserver/admin/gf_template/pom.xml b/appserver/admin/gf_template/pom.xml index a9757723091..82220aa8450 100644 --- a/appserver/admin/gf_template/pom.xml +++ b/appserver/admin/gf_template/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin admin - 7.2026.5 + 7.2026.6-SNAPSHOT appserver-domain diff --git a/appserver/admin/gf_template_web/pom.xml b/appserver/admin/gf_template_web/pom.xml index 451b79b7511..77918103e8e 100644 --- a/appserver/admin/gf_template_web/pom.xml +++ b/appserver/admin/gf_template_web/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.admin admin - 7.2026.5 + 7.2026.6-SNAPSHOT appserver-domain-web diff --git a/appserver/admin/pom.xml b/appserver/admin/pom.xml index f04efb779ce..3f65228731d 100755 --- a/appserver/admin/pom.xml +++ b/appserver/admin/pom.xml @@ -48,7 +48,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.admin admin diff --git a/appserver/admingui/cdieventbus-notifier-console-plugin-l10n/pom.xml b/appserver/admingui/cdieventbus-notifier-console-plugin-l10n/pom.xml index 938e22c3dd7..e860fafb99c 100644 --- a/appserver/admingui/cdieventbus-notifier-console-plugin-l10n/pom.xml +++ b/appserver/admingui/cdieventbus-notifier-console-plugin-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT cdieventbus-notifier-console-plugin-l10n diff --git a/appserver/admingui/cdieventbus-notifier-console-plugin/pom.xml b/appserver/admingui/cdieventbus-notifier-console-plugin/pom.xml index ee018985356..453615b8695 100644 --- a/appserver/admingui/cdieventbus-notifier-console-plugin/pom.xml +++ b/appserver/admingui/cdieventbus-notifier-console-plugin/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT cdieventbus-notifier-console-plugin glassfish-jar diff --git a/appserver/admingui/cluster-l10n/pom.xml b/appserver/admingui/cluster-l10n/pom.xml index 499c95b1bf5..dc399867c2b 100644 --- a/appserver/admingui/cluster-l10n/pom.xml +++ b/appserver/admingui/cluster-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-cluster-plugin-l10n diff --git a/appserver/admingui/cluster/pom.xml b/appserver/admingui/cluster/pom.xml index 9135efd773a..609c66fbc05 100644 --- a/appserver/admingui/cluster/pom.xml +++ b/appserver/admingui/cluster/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-cluster-plugin glassfish-jar diff --git a/appserver/admingui/common-l10n/pom.xml b/appserver/admingui/common-l10n/pom.xml index 4dcd3c9a637..ae9c2ca0924 100644 --- a/appserver/admingui/common-l10n/pom.xml +++ b/appserver/admingui/common-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-common-l10n diff --git a/appserver/admingui/common/pom.xml b/appserver/admingui/common/pom.xml index ab8cc8259a0..d28260a7d91 100644 --- a/appserver/admingui/common/pom.xml +++ b/appserver/admingui/common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-common glassfish-jar diff --git a/appserver/admingui/concurrent-l10n/pom.xml b/appserver/admingui/concurrent-l10n/pom.xml index 05dd0a4fe47..2e05ce99454 100644 --- a/appserver/admingui/concurrent-l10n/pom.xml +++ b/appserver/admingui/concurrent-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-concurrent-plugin-l10n diff --git a/appserver/admingui/concurrent/pom.xml b/appserver/admingui/concurrent/pom.xml index 80ab2f40b52..767417238ac 100644 --- a/appserver/admingui/concurrent/pom.xml +++ b/appserver/admingui/concurrent/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-concurrent-plugin glassfish-jar diff --git a/appserver/admingui/corba-l10n/pom.xml b/appserver/admingui/corba-l10n/pom.xml index ceb7996fd7f..eae877f8e53 100644 --- a/appserver/admingui/corba-l10n/pom.xml +++ b/appserver/admingui/corba-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-corba-plugin-l10n diff --git a/appserver/admingui/corba/pom.xml b/appserver/admingui/corba/pom.xml index 583cfdc54d2..a20d3ee5c3e 100644 --- a/appserver/admingui/corba/pom.xml +++ b/appserver/admingui/corba/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-corba-plugin glassfish-jar diff --git a/appserver/admingui/core-l10n/pom.xml b/appserver/admingui/core-l10n/pom.xml index 26a716104bd..730c300d46b 100644 --- a/appserver/admingui/core-l10n/pom.xml +++ b/appserver/admingui/core-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-core-l10n diff --git a/appserver/admingui/core/pom.xml b/appserver/admingui/core/pom.xml index b4760d39827..cad3577cc19 100644 --- a/appserver/admingui/core/pom.xml +++ b/appserver/admingui/core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-core glassfish-jar diff --git a/appserver/admingui/dataprovider/pom.xml b/appserver/admingui/dataprovider/pom.xml index 84470459eef..464986f21ed 100644 --- a/appserver/admingui/dataprovider/pom.xml +++ b/appserver/admingui/dataprovider/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT dataprovider DataProvider diff --git a/appserver/admingui/devtests/pom.xml b/appserver/admingui/devtests/pom.xml index b10fbe7defd..aa71b4c4b5e 100644 --- a/appserver/admingui/devtests/pom.xml +++ b/appserver/admingui/devtests/pom.xml @@ -49,7 +49,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-devtests diff --git a/appserver/admingui/dist-fragment/pom.xml b/appserver/admingui/dist-fragment/pom.xml index 978ce5fd531..8cf287753dc 100644 --- a/appserver/admingui/dist-fragment/pom.xml +++ b/appserver/admingui/dist-fragment/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT dist-fragment diff --git a/appserver/admingui/ejb-l10n/pom.xml b/appserver/admingui/ejb-l10n/pom.xml index a9ac29a0620..fd7309e5239 100644 --- a/appserver/admingui/ejb-l10n/pom.xml +++ b/appserver/admingui/ejb-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-ejb-plugin-l10n diff --git a/appserver/admingui/ejb-lite-l10n/pom.xml b/appserver/admingui/ejb-lite-l10n/pom.xml index 08b1a35184c..4b8bede2fcd 100644 --- a/appserver/admingui/ejb-lite-l10n/pom.xml +++ b/appserver/admingui/ejb-lite-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-ejb-lite-plugin-l10n diff --git a/appserver/admingui/ejb-lite/pom.xml b/appserver/admingui/ejb-lite/pom.xml index 26929f341e1..d19548d975e 100644 --- a/appserver/admingui/ejb-lite/pom.xml +++ b/appserver/admingui/ejb-lite/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-ejb-lite-plugin glassfish-jar diff --git a/appserver/admingui/ejb/pom.xml b/appserver/admingui/ejb/pom.xml index 7b33fba0f7a..50e84ff6027 100644 --- a/appserver/admingui/ejb/pom.xml +++ b/appserver/admingui/ejb/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-ejb-plugin glassfish-jar diff --git a/appserver/admingui/eventbus-notifier-console-plugin-l10n/pom.xml b/appserver/admingui/eventbus-notifier-console-plugin-l10n/pom.xml index 0b541c6e6b5..7c8bdcd664f 100644 --- a/appserver/admingui/eventbus-notifier-console-plugin-l10n/pom.xml +++ b/appserver/admingui/eventbus-notifier-console-plugin-l10n/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT eventbus-notifier-console-plugin-l10n diff --git a/appserver/admingui/eventbus-notifier-console-plugin/pom.xml b/appserver/admingui/eventbus-notifier-console-plugin/pom.xml index 25e046c8a37..78adcbfb248 100644 --- a/appserver/admingui/eventbus-notifier-console-plugin/pom.xml +++ b/appserver/admingui/eventbus-notifier-console-plugin/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT eventbus-notifier-console-plugin glassfish-jar diff --git a/appserver/admingui/faces-compat/pom.xml b/appserver/admingui/faces-compat/pom.xml index c28e9243ca5..11ccb5e9530 100644 --- a/appserver/admingui/faces-compat/pom.xml +++ b/appserver/admingui/faces-compat/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 faces-compat diff --git a/appserver/admingui/full-l10n/pom.xml b/appserver/admingui/full-l10n/pom.xml index d31f0e51208..4bcdc3c7770 100644 --- a/appserver/admingui/full-l10n/pom.xml +++ b/appserver/admingui/full-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-common-full-plugin-l10n diff --git a/appserver/admingui/full/pom.xml b/appserver/admingui/full/pom.xml index 8fbc3b4355d..87530d8f8fa 100644 --- a/appserver/admingui/full/pom.xml +++ b/appserver/admingui/full/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-common-full-plugin glassfish-jar diff --git a/appserver/admingui/gf-admingui-connector/pom.xml b/appserver/admingui/gf-admingui-connector/pom.xml index 5ea5db4d7dc..d565e481c90 100755 --- a/appserver/admingui/gf-admingui-connector/pom.xml +++ b/appserver/admingui/gf-admingui-connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT gf-admingui-connector glassfish-jar diff --git a/appserver/admingui/healthcheck-service-console-plugin-l10n/pom.xml b/appserver/admingui/healthcheck-service-console-plugin-l10n/pom.xml index 69d8c3f22af..dcd6233272e 100644 --- a/appserver/admingui/healthcheck-service-console-plugin-l10n/pom.xml +++ b/appserver/admingui/healthcheck-service-console-plugin-l10n/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT healthcheck-service-console-plugin-l10n diff --git a/appserver/admingui/healthcheck-service-console-plugin/pom.xml b/appserver/admingui/healthcheck-service-console-plugin/pom.xml index 25fca2fe10a..21064d4bb10 100644 --- a/appserver/admingui/healthcheck-service-console-plugin/pom.xml +++ b/appserver/admingui/healthcheck-service-console-plugin/pom.xml @@ -43,7 +43,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT healthcheck-service-console-plugin glassfish-jar diff --git a/appserver/admingui/jca-l10n/pom.xml b/appserver/admingui/jca-l10n/pom.xml index 287ad0325e0..e1f23a0299f 100644 --- a/appserver/admingui/jca-l10n/pom.xml +++ b/appserver/admingui/jca-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-jca-plugin-l10n diff --git a/appserver/admingui/jca/pom.xml b/appserver/admingui/jca/pom.xml index 879466c65ce..e8fcdf49534 100644 --- a/appserver/admingui/jca/pom.xml +++ b/appserver/admingui/jca/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-jca-plugin glassfish-jar diff --git a/appserver/admingui/jdbc-l10n/pom.xml b/appserver/admingui/jdbc-l10n/pom.xml index 3ed41d0c55e..c32f30fc23c 100644 --- a/appserver/admingui/jdbc-l10n/pom.xml +++ b/appserver/admingui/jdbc-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-jdbc-plugin-l10n diff --git a/appserver/admingui/jdbc/pom.xml b/appserver/admingui/jdbc/pom.xml index d33031c7da4..78c3396070a 100644 --- a/appserver/admingui/jdbc/pom.xml +++ b/appserver/admingui/jdbc/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-jdbc-plugin glassfish-jar diff --git a/appserver/admingui/jms-notifier-console-plugin-l10n/pom.xml b/appserver/admingui/jms-notifier-console-plugin-l10n/pom.xml index bff669931e6..57ea76ab4fb 100644 --- a/appserver/admingui/jms-notifier-console-plugin-l10n/pom.xml +++ b/appserver/admingui/jms-notifier-console-plugin-l10n/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT jms-notifier-console-plugin-l10n diff --git a/appserver/admingui/jms-notifier-console-plugin/pom.xml b/appserver/admingui/jms-notifier-console-plugin/pom.xml index 273cc821a76..298d5c07a49 100644 --- a/appserver/admingui/jms-notifier-console-plugin/pom.xml +++ b/appserver/admingui/jms-notifier-console-plugin/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT jms-notifier-console-plugin glassfish-jar diff --git a/appserver/admingui/jms-plugin-l10n/pom.xml b/appserver/admingui/jms-plugin-l10n/pom.xml index 6675a7ef299..70f899ac8f0 100644 --- a/appserver/admingui/jms-plugin-l10n/pom.xml +++ b/appserver/admingui/jms-plugin-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-jms-plugin-l10n diff --git a/appserver/admingui/jms-plugin/pom.xml b/appserver/admingui/jms-plugin/pom.xml index f05c78759d0..ef222f2a077 100644 --- a/appserver/admingui/jms-plugin/pom.xml +++ b/appserver/admingui/jms-plugin/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-jms-plugin glassfish-jar diff --git a/appserver/admingui/jmx-monitoring-plugin-l10n/pom.xml b/appserver/admingui/jmx-monitoring-plugin-l10n/pom.xml index 099fb92f092..83f6bd0c61a 100644 --- a/appserver/admingui/jmx-monitoring-plugin-l10n/pom.xml +++ b/appserver/admingui/jmx-monitoring-plugin-l10n/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT jmx-monitoring-plugin-l10n diff --git a/appserver/admingui/jmx-monitoring-plugin/pom.xml b/appserver/admingui/jmx-monitoring-plugin/pom.xml index aa1676be19c..760c6afaf1d 100644 --- a/appserver/admingui/jmx-monitoring-plugin/pom.xml +++ b/appserver/admingui/jmx-monitoring-plugin/pom.xml @@ -45,7 +45,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT jmx-monitoring-plugin diff --git a/appserver/admingui/jts-l10n/pom.xml b/appserver/admingui/jts-l10n/pom.xml index 87ef315c18b..7755568d3f7 100644 --- a/appserver/admingui/jts-l10n/pom.xml +++ b/appserver/admingui/jts-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-jts-plugin-l10n diff --git a/appserver/admingui/jts/pom.xml b/appserver/admingui/jts/pom.xml index b208d01948e..b50fa66559f 100644 --- a/appserver/admingui/jts/pom.xml +++ b/appserver/admingui/jts/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-jts-plugin glassfish-jar diff --git a/appserver/admingui/microprofile-console-plugin-l10n/pom.xml b/appserver/admingui/microprofile-console-plugin-l10n/pom.xml index 999938f898d..e57c3b1e283 100644 --- a/appserver/admingui/microprofile-console-plugin-l10n/pom.xml +++ b/appserver/admingui/microprofile-console-plugin-l10n/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-console-plugin-l10n diff --git a/appserver/admingui/microprofile-console-plugin/pom.xml b/appserver/admingui/microprofile-console-plugin/pom.xml index 4b297028e85..85199ee486a 100644 --- a/appserver/admingui/microprofile-console-plugin/pom.xml +++ b/appserver/admingui/microprofile-console-plugin/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-console-plugin glassfish-jar diff --git a/appserver/admingui/payara-console-extras-l10n/pom.xml b/appserver/admingui/payara-console-extras-l10n/pom.xml index fea91effdcb..1d80effacb9 100644 --- a/appserver/admingui/payara-console-extras-l10n/pom.xml +++ b/appserver/admingui/payara-console-extras-l10n/pom.xml @@ -21,7 +21,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT payara-console-extras-l10n glassfish-jar diff --git a/appserver/admingui/payara-console-extras/pom.xml b/appserver/admingui/payara-console-extras/pom.xml index b8a7bbd87b0..e7df0c314b8 100644 --- a/appserver/admingui/payara-console-extras/pom.xml +++ b/appserver/admingui/payara-console-extras/pom.xml @@ -44,7 +44,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT payara-console-extras glassfish-jar diff --git a/appserver/admingui/payara-theme-l10n/pom.xml b/appserver/admingui/payara-theme-l10n/pom.xml index 38c6d0fa947..af0670867e6 100644 --- a/appserver/admingui/payara-theme-l10n/pom.xml +++ b/appserver/admingui/payara-theme-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-payara-branding-plugin-l10n diff --git a/appserver/admingui/payara-theme/pom.xml b/appserver/admingui/payara-theme/pom.xml index afdd5695da3..c6ef3902a26 100644 --- a/appserver/admingui/payara-theme/pom.xml +++ b/appserver/admingui/payara-theme/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-payara-branding-plugin glassfish-jar diff --git a/appserver/admingui/plugin-service/pom.xml b/appserver/admingui/plugin-service/pom.xml index 288b50d0230..dc22da4db03 100644 --- a/appserver/admingui/plugin-service/pom.xml +++ b/appserver/admingui/plugin-service/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-plugin-service glassfish-jar diff --git a/appserver/admingui/pom.xml b/appserver/admingui/pom.xml index 1bd40bc14e5..8e0604a31ce 100644 --- a/appserver/admingui/pom.xml +++ b/appserver/admingui/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.admingui admingui diff --git a/appserver/admingui/reference-manual/pom.xml b/appserver/admingui/reference-manual/pom.xml index b53858b4654..04cf89e833b 100644 --- a/appserver/admingui/reference-manual/pom.xml +++ b/appserver/admingui/reference-manual/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-reference-manual-plugin diff --git a/appserver/admingui/war/pom.xml b/appserver/admingui/war/pom.xml index afa6d1312b1..9fa9058a2c9 100644 --- a/appserver/admingui/war/pom.xml +++ b/appserver/admingui/war/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT war war diff --git a/appserver/admingui/web-l10n/pom.xml b/appserver/admingui/web-l10n/pom.xml index 18d2e27b477..8bc04aa10c4 100644 --- a/appserver/admingui/web-l10n/pom.xml +++ b/appserver/admingui/web-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-web-plugin-l10n diff --git a/appserver/admingui/web/pom.xml b/appserver/admingui/web/pom.xml index 0d48b36a57b..4ed1aecc41f 100644 --- a/appserver/admingui/web/pom.xml +++ b/appserver/admingui/web/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT console-web-plugin glassfish-jar diff --git a/appserver/admingui/webui-jsf-plugin-l10n/pom.xml b/appserver/admingui/webui-jsf-plugin-l10n/pom.xml index 3fb8ab94856..e0e86cedae9 100644 --- a/appserver/admingui/webui-jsf-plugin-l10n/pom.xml +++ b/appserver/admingui/webui-jsf-plugin-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT webui-jsf-plugin-l10n Woodstock webuijsf localization diff --git a/appserver/admingui/webui-jsf-suntheme-plugin-l10n/pom.xml b/appserver/admingui/webui-jsf-suntheme-plugin-l10n/pom.xml index c904e746b29..b0f71ce005e 100644 --- a/appserver/admingui/webui-jsf-suntheme-plugin-l10n/pom.xml +++ b/appserver/admingui/webui-jsf-suntheme-plugin-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT webui-jsf-suntheme-plugin-l10n Woodstock webuijsf suntheme localization diff --git a/appserver/ant-tasks/pom.xml b/appserver/ant-tasks/pom.xml index 60687e5beb4..e55e70d2e21 100644 --- a/appserver/ant-tasks/pom.xml +++ b/appserver/ant-tasks/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.ant-tasks diff --git a/appserver/appclient/client/acc-config/pom.xml b/appserver/appclient/client/acc-config/pom.xml index 98e04433883..f1702d0041b 100644 --- a/appserver/appclient/client/acc-config/pom.xml +++ b/appserver/appclient/client/acc-config/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.appclient client - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 acc-config diff --git a/appserver/appclient/client/acc-l10n/pom.xml b/appserver/appclient/client/acc-l10n/pom.xml index 0318956c0fd..b050290588f 100644 --- a/appserver/appclient/client/acc-l10n/pom.xml +++ b/appserver/appclient/client/acc-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.appclient client - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 gf-client-module-l10n diff --git a/appserver/appclient/client/acc-standalone-l10n/pom.xml b/appserver/appclient/client/acc-standalone-l10n/pom.xml index f98ad9ab50e..d1d243aa282 100644 --- a/appserver/appclient/client/acc-standalone-l10n/pom.xml +++ b/appserver/appclient/client/acc-standalone-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.appclient client - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 gf-client-l10n diff --git a/appserver/appclient/client/acc-standalone/pom.xml b/appserver/appclient/client/acc-standalone/pom.xml index 91e718acaa9..cbc10b91436 100755 --- a/appserver/appclient/client/acc-standalone/pom.xml +++ b/appserver/appclient/client/acc-standalone/pom.xml @@ -61,7 +61,7 @@ fish.payara.server.appclient client - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 gf-client diff --git a/appserver/appclient/client/acc/pom.xml b/appserver/appclient/client/acc/pom.xml index 8391bcc1ad2..8fba45f54af 100755 --- a/appserver/appclient/client/acc/pom.xml +++ b/appserver/appclient/client/acc/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.appclient client - 7.2026.5 + 7.2026.6-SNAPSHOT diff --git a/appserver/appclient/client/appclient-scripts/pom.xml b/appserver/appclient/client/appclient-scripts/pom.xml index cd47f528d7c..8f818d37aed 100644 --- a/appserver/appclient/client/appclient-scripts/pom.xml +++ b/appserver/appclient/client/appclient-scripts/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.appclient client - 7.2026.5 + 7.2026.6-SNAPSHOT appclient-scripts diff --git a/appserver/appclient/client/pom.xml b/appserver/appclient/client/pom.xml index e5b96229c37..09332728880 100755 --- a/appserver/appclient/client/pom.xml +++ b/appserver/appclient/client/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.appclient appclient - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.appclient client diff --git a/appserver/appclient/pom.xml b/appserver/appclient/pom.xml index c67b8f69831..177dd2f5dcb 100755 --- a/appserver/appclient/pom.xml +++ b/appserver/appclient/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.appclient diff --git a/appserver/appclient/server/connector/pom.xml b/appserver/appclient/server/connector/pom.xml index c41f0cd4f65..670991a5fb6 100644 --- a/appserver/appclient/server/connector/pom.xml +++ b/appserver/appclient/server/connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.appclient server - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.appclient.server diff --git a/appserver/appclient/server/core-l10n/pom.xml b/appserver/appclient/server/core-l10n/pom.xml index 7d81294e7e6..65fc7e00d8c 100644 --- a/appserver/appclient/server/core-l10n/pom.xml +++ b/appserver/appclient/server/core-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.appclient server - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 fish.payara.server.internal.appclient.server diff --git a/appserver/appclient/server/core/pom.xml b/appserver/appclient/server/core/pom.xml index 399f1d7042f..b2fac0dfc5a 100644 --- a/appserver/appclient/server/core/pom.xml +++ b/appserver/appclient/server/core/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.appclient server - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.appclient.server diff --git a/appserver/appclient/server/pom.xml b/appserver/appclient/server/pom.xml index 86fc66ab798..047ead90818 100755 --- a/appserver/appclient/server/pom.xml +++ b/appserver/appclient/server/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.appclient appclient - 7.2026.5 + 7.2026.6-SNAPSHOT server pom diff --git a/appserver/batch/batch-database/pom.xml b/appserver/batch/batch-database/pom.xml index 4e75c62fc0f..173786d8362 100644 --- a/appserver/batch/batch-database/pom.xml +++ b/appserver/batch/batch-database/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.batch batch - 7.2026.5 + 7.2026.6-SNAPSHOT batch-databases diff --git a/appserver/batch/glassfish-batch-commands/pom.xml b/appserver/batch/glassfish-batch-commands/pom.xml index e19f23d4f27..a74ad0b12a2 100755 --- a/appserver/batch/glassfish-batch-commands/pom.xml +++ b/appserver/batch/glassfish-batch-commands/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.batch batch - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-batch-commands diff --git a/appserver/batch/glassfish-batch-connector/pom.xml b/appserver/batch/glassfish-batch-connector/pom.xml index 480d1ca6efc..1ea8fde79e5 100755 --- a/appserver/batch/glassfish-batch-connector/pom.xml +++ b/appserver/batch/glassfish-batch-connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.batch batch - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-batch-connector diff --git a/appserver/batch/hazelcast-jbatch-store/pom.xml b/appserver/batch/hazelcast-jbatch-store/pom.xml index 449451da71d..db04872761d 100755 --- a/appserver/batch/hazelcast-jbatch-store/pom.xml +++ b/appserver/batch/hazelcast-jbatch-store/pom.xml @@ -43,7 +43,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.batch batch - 7.2026.5 + 7.2026.6-SNAPSHOT hazelcast-jbatch-store diff --git a/appserver/batch/jbatch-repackaged/pom.xml b/appserver/batch/jbatch-repackaged/pom.xml index 0f80a8858a3..9268edde163 100644 --- a/appserver/batch/jbatch-repackaged/pom.xml +++ b/appserver/batch/jbatch-repackaged/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.batch batch - 7.2026.5 + 7.2026.6-SNAPSHOT payara-jbatch diff --git a/appserver/batch/pom.xml b/appserver/batch/pom.xml index 73ffb7a6356..3bc5e4545ee 100755 --- a/appserver/batch/pom.xml +++ b/appserver/batch/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.batch diff --git a/appserver/common/amx-javaee/pom.xml b/appserver/common/amx-javaee/pom.xml index 58cf2ed52dd..56e56737337 100755 --- a/appserver/common/amx-javaee/pom.xml +++ b/appserver/common/amx-javaee/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 amx-javaee diff --git a/appserver/common/annotation-framework-l10n/pom.xml b/appserver/common/annotation-framework-l10n/pom.xml index 90453bfc3d2..c9d374d813e 100755 --- a/appserver/common/annotation-framework-l10n/pom.xml +++ b/appserver/common/annotation-framework-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common common - 7.2026.5 + 7.2026.6-SNAPSHOT annotation-framework-l10n diff --git a/appserver/common/annotation-framework/pom.xml b/appserver/common/annotation-framework/pom.xml index e1b8357e430..e3a2a0c27f1 100755 --- a/appserver/common/annotation-framework/pom.xml +++ b/appserver/common/annotation-framework/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common common - 7.2026.5 + 7.2026.6-SNAPSHOT annotation-framework glassfish-jar diff --git a/appserver/common/container-common-l10n/pom.xml b/appserver/common/container-common-l10n/pom.xml index a438c25c5bc..b2dd716a097 100755 --- a/appserver/common/container-common-l10n/pom.xml +++ b/appserver/common/container-common-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 container-common-l10n diff --git a/appserver/common/container-common/pom.xml b/appserver/common/container-common/pom.xml index e4110f07708..e6e93dae3aa 100755 --- a/appserver/common/container-common/pom.xml +++ b/appserver/common/container-common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common common - 7.2026.5 + 7.2026.6-SNAPSHOT container-common diff --git a/appserver/common/glassfish-ee-api/pom.xml b/appserver/common/glassfish-ee-api/pom.xml index 9cbbd1fa67e..b78a9062c85 100644 --- a/appserver/common/glassfish-ee-api/pom.xml +++ b/appserver/common/glassfish-ee-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common common - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-ee-api diff --git a/appserver/common/glassfish-naming-l10n/pom.xml b/appserver/common/glassfish-naming-l10n/pom.xml index 8b9b2a28e61..515ae39436c 100755 --- a/appserver/common/glassfish-naming-l10n/pom.xml +++ b/appserver/common/glassfish-naming-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 glassfish-naming-l10n diff --git a/appserver/common/glassfish-naming/pom.xml b/appserver/common/glassfish-naming/pom.xml index 9eb34d9c7d4..6f86e8c42c3 100755 --- a/appserver/common/glassfish-naming/pom.xml +++ b/appserver/common/glassfish-naming/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/common/pom.xml b/appserver/common/pom.xml index aaaa2ae4f69..3d657b320f8 100755 --- a/appserver/common/pom.xml +++ b/appserver/common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.common common diff --git a/appserver/common/stats77-l10n/pom.xml b/appserver/common/stats77-l10n/pom.xml index bde809c6e0c..d4c5c98a84e 100644 --- a/appserver/common/stats77-l10n/pom.xml +++ b/appserver/common/stats77-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.common common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 stats77-l10n diff --git a/appserver/common/stats77/pom.xml b/appserver/common/stats77/pom.xml index f3a52e904e9..329bc98c031 100755 --- a/appserver/common/stats77/pom.xml +++ b/appserver/common/stats77/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/concurrent/concurrent-connector-l10n/pom.xml b/appserver/concurrent/concurrent-connector-l10n/pom.xml index 9eeef3b1a1a..2296995dfb7 100644 --- a/appserver/concurrent/concurrent-connector-l10n/pom.xml +++ b/appserver/concurrent/concurrent-connector-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.concurrent concurrent - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 concurrent-connector-l10n diff --git a/appserver/concurrent/concurrent-connector/pom.xml b/appserver/concurrent/concurrent-connector/pom.xml index 355f0dab161..e2c37f34d3f 100644 --- a/appserver/concurrent/concurrent-connector/pom.xml +++ b/appserver/concurrent/concurrent-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.concurrent concurrent - 7.2026.5 + 7.2026.6-SNAPSHOT concurrent-connector glassfish-jar diff --git a/appserver/concurrent/concurrent-impl-l10n/pom.xml b/appserver/concurrent/concurrent-impl-l10n/pom.xml index cfa1aa546f0..e413989aae5 100644 --- a/appserver/concurrent/concurrent-impl-l10n/pom.xml +++ b/appserver/concurrent/concurrent-impl-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.concurrent concurrent - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 concurrent-impl-l10n diff --git a/appserver/concurrent/concurrent-impl/pom.xml b/appserver/concurrent/concurrent-impl/pom.xml index 6e55c58f221..9a0bff6e50a 100644 --- a/appserver/concurrent/concurrent-impl/pom.xml +++ b/appserver/concurrent/concurrent-impl/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.concurrent concurrent - 7.2026.5 + 7.2026.6-SNAPSHOT concurrent-impl glassfish-jar diff --git a/appserver/concurrent/pom.xml b/appserver/concurrent/pom.xml index c7d93afa848..07323945f22 100755 --- a/appserver/concurrent/pom.xml +++ b/appserver/concurrent/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/connectors/admin-l10n/pom.xml b/appserver/connectors/admin-l10n/pom.xml index 8bcdb1859f1..69eff8ae744 100644 --- a/appserver/connectors/admin-l10n/pom.xml +++ b/appserver/connectors/admin-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT connectors-admin-l10n diff --git a/appserver/connectors/admin/pom.xml b/appserver/connectors/admin/pom.xml index 56b9ae7dd01..79a79775c29 100644 --- a/appserver/connectors/admin/pom.xml +++ b/appserver/connectors/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT connectors-admin glassfish-jar diff --git a/appserver/connectors/connectors-connector/pom.xml b/appserver/connectors/connectors-connector/pom.xml index c2ad31615df..2d02de1732d 100644 --- a/appserver/connectors/connectors-connector/pom.xml +++ b/appserver/connectors/connectors-connector/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 gf-connectors-connector diff --git a/appserver/connectors/connectors-inbound-runtime-l10n/pom.xml b/appserver/connectors/connectors-inbound-runtime-l10n/pom.xml index fa11b0cf816..b946c3dfaff 100644 --- a/appserver/connectors/connectors-inbound-runtime-l10n/pom.xml +++ b/appserver/connectors/connectors-inbound-runtime-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 connectors-inbound-runtime-l10n diff --git a/appserver/connectors/connectors-inbound-runtime/pom.xml b/appserver/connectors/connectors-inbound-runtime/pom.xml index b3bda833f60..c564dcc2eee 100644 --- a/appserver/connectors/connectors-inbound-runtime/pom.xml +++ b/appserver/connectors/connectors-inbound-runtime/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 connectors-inbound-runtime diff --git a/appserver/connectors/connectors-internal-api-l10n/pom.xml b/appserver/connectors/connectors-internal-api-l10n/pom.xml index 475a5d0a3ac..20f00671a05 100755 --- a/appserver/connectors/connectors-internal-api-l10n/pom.xml +++ b/appserver/connectors/connectors-internal-api-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 connectors-internal-api-l10n diff --git a/appserver/connectors/connectors-internal-api/pom.xml b/appserver/connectors/connectors-internal-api/pom.xml index f4f4004496e..e59f99b2fdf 100755 --- a/appserver/connectors/connectors-internal-api/pom.xml +++ b/appserver/connectors/connectors-internal-api/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/connectors/connectors-runtime-l10n/pom.xml b/appserver/connectors/connectors-runtime-l10n/pom.xml index a723cd4c57d..e0e1744dc17 100644 --- a/appserver/connectors/connectors-runtime-l10n/pom.xml +++ b/appserver/connectors/connectors-runtime-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 connectors-runtime-l10n diff --git a/appserver/connectors/connectors-runtime/pom.xml b/appserver/connectors/connectors-runtime/pom.xml index 8ea9f47d000..a935e48015a 100644 --- a/appserver/connectors/connectors-runtime/pom.xml +++ b/appserver/connectors/connectors-runtime/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 connectors-runtime diff --git a/appserver/connectors/descriptors/pom.xml b/appserver/connectors/descriptors/pom.xml index 3a8e86cdec1..0ef5b70c9a4 100644 --- a/appserver/connectors/descriptors/pom.xml +++ b/appserver/connectors/descriptors/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT descriptors distribution-fragment diff --git a/appserver/connectors/pom.xml b/appserver/connectors/pom.xml index 7cd7aa333d2..0447870c4a6 100644 --- a/appserver/connectors/pom.xml +++ b/appserver/connectors/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.connectors connectors diff --git a/appserver/connectors/work-management-l10n/pom.xml b/appserver/connectors/work-management-l10n/pom.xml index a32c8ad733b..59a6b938df4 100644 --- a/appserver/connectors/work-management-l10n/pom.xml +++ b/appserver/connectors/work-management-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 work-management-l10n diff --git a/appserver/connectors/work-management/pom.xml b/appserver/connectors/work-management/pom.xml index 79206490040..9469fe58ab9 100644 --- a/appserver/connectors/work-management/pom.xml +++ b/appserver/connectors/work-management/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.connectors connectors - 7.2026.5 + 7.2026.6-SNAPSHOT work-management diff --git a/appserver/core/api-exporter-fragment/pom.xml b/appserver/core/api-exporter-fragment/pom.xml index 151738e1136..efc9a8198b6 100755 --- a/appserver/core/api-exporter-fragment/pom.xml +++ b/appserver/core/api-exporter-fragment/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core core - 7.2026.5 + 7.2026.6-SNAPSHOT api-exporter-fragment GlassFish API Exporter Module Fragment diff --git a/appserver/core/jakartaee-kernel/pom.xml b/appserver/core/jakartaee-kernel/pom.xml index b48e2b228e2..5160cdba4df 100755 --- a/appserver/core/jakartaee-kernel/pom.xml +++ b/appserver/core/jakartaee-kernel/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core core - 7.2026.5 + 7.2026.6-SNAPSHOT jakartaee-kernel glassfish-jar diff --git a/appserver/core/pom.xml b/appserver/core/pom.xml index 2a752fa89dd..dc88ea060e9 100644 --- a/appserver/core/pom.xml +++ b/appserver/core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.core core diff --git a/appserver/data/data-core/pom.xml b/appserver/data/data-core/pom.xml index 29638b85332..ce8ee217558 100644 --- a/appserver/data/data-core/pom.xml +++ b/appserver/data/data-core/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.data data - 7.2026.5 + 7.2026.6-SNAPSHOT data-core diff --git a/appserver/data/pom.xml b/appserver/data/pom.xml index 624e048667b..1e5923d6639 100755 --- a/appserver/data/pom.xml +++ b/appserver/data/pom.xml @@ -45,7 +45,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.data data diff --git a/appserver/deployment/client-l10n/pom.xml b/appserver/deployment/client-l10n/pom.xml index b0c568231de..b064d2f6e2c 100644 --- a/appserver/deployment/client-l10n/pom.xml +++ b/appserver/deployment/client-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5 + 7.2026.6-SNAPSHOT deployment-client-l10n diff --git a/appserver/deployment/client/pom.xml b/appserver/deployment/client/pom.xml index 7f04ffb7355..c9d54cc3682 100644 --- a/appserver/deployment/client/pom.xml +++ b/appserver/deployment/client/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5 + 7.2026.6-SNAPSHOT deployment-client glassfish-jar diff --git a/appserver/deployment/dol-l10n/pom.xml b/appserver/deployment/dol-l10n/pom.xml index 218fbefeddd..5348f4ab093 100755 --- a/appserver/deployment/dol-l10n/pom.xml +++ b/appserver/deployment/dol-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5 + 7.2026.6-SNAPSHOT dol-l10n diff --git a/appserver/deployment/dol/pom.xml b/appserver/deployment/dol/pom.xml index 824901c4cd6..b46d4c6bd48 100755 --- a/appserver/deployment/dol/pom.xml +++ b/appserver/deployment/dol/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5 + 7.2026.6-SNAPSHOT dol diff --git a/appserver/deployment/dtds/pom.xml b/appserver/deployment/dtds/pom.xml index 34cd68b8be2..126048fb296 100644 --- a/appserver/deployment/dtds/pom.xml +++ b/appserver/deployment/dtds/pom.xml @@ -5,7 +5,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5 + 7.2026.6-SNAPSHOT dtds distribution-fragment diff --git a/appserver/deployment/javaee-core-l10n/pom.xml b/appserver/deployment/javaee-core-l10n/pom.xml index 3a3654151dd..36333307e16 100755 --- a/appserver/deployment/javaee-core-l10n/pom.xml +++ b/appserver/deployment/javaee-core-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 deployment-javaee-core-l10n diff --git a/appserver/deployment/javaee-core/pom.xml b/appserver/deployment/javaee-core/pom.xml index 87fd8c84a57..154f64da095 100755 --- a/appserver/deployment/javaee-core/pom.xml +++ b/appserver/deployment/javaee-core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/deployment/javaee-full-l10n/pom.xml b/appserver/deployment/javaee-full-l10n/pom.xml index 08e4d3ee11a..8b5e7504bad 100755 --- a/appserver/deployment/javaee-full-l10n/pom.xml +++ b/appserver/deployment/javaee-full-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 deployment-javaee-full-l10n diff --git a/appserver/deployment/javaee-full/pom.xml b/appserver/deployment/javaee-full/pom.xml index f5dbcbe0d8b..f104679c9aa 100755 --- a/appserver/deployment/javaee-full/pom.xml +++ b/appserver/deployment/javaee-full/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 deployment-javaee-full diff --git a/appserver/deployment/jsr88-jar/pom.xml b/appserver/deployment/jsr88-jar/pom.xml index 523e0aba2de..f85c9249191 100755 --- a/appserver/deployment/jsr88-jar/pom.xml +++ b/appserver/deployment/jsr88-jar/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT ../../pom.xml fish.payara.server.internal.deployment diff --git a/appserver/deployment/jsr88-jar/sun-as-jsr88-dm-frag/pom.xml b/appserver/deployment/jsr88-jar/sun-as-jsr88-dm-frag/pom.xml index 8da6b0c7b61..6a352841981 100644 --- a/appserver/deployment/jsr88-jar/sun-as-jsr88-dm-frag/pom.xml +++ b/appserver/deployment/jsr88-jar/sun-as-jsr88-dm-frag/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment jsr-88 - 7.2026.5 + 7.2026.6-SNAPSHOT sun-as-jsr88-dm-frag diff --git a/appserver/deployment/jsr88-jar/sun-as-jsr88-dm/pom.xml b/appserver/deployment/jsr88-jar/sun-as-jsr88-dm/pom.xml index 2a70b904a50..1883318305e 100644 --- a/appserver/deployment/jsr88-jar/sun-as-jsr88-dm/pom.xml +++ b/appserver/deployment/jsr88-jar/sun-as-jsr88-dm/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment jsr-88 - 7.2026.5 + 7.2026.6-SNAPSHOT sun-as-jsr88-dm JSR-88 implementation declaration JAR diff --git a/appserver/deployment/pom.xml b/appserver/deployment/pom.xml index a427c44cbe6..f5eb5df0fe7 100755 --- a/appserver/deployment/pom.xml +++ b/appserver/deployment/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.deployment deployment diff --git a/appserver/deployment/schemas/pom.xml b/appserver/deployment/schemas/pom.xml index 1d34b9cb088..e737339b350 100644 --- a/appserver/deployment/schemas/pom.xml +++ b/appserver/deployment/schemas/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment deployment - 7.2026.5 + 7.2026.6-SNAPSHOT schemas diff --git a/appserver/distributions/payara-ml/pom.xml b/appserver/distributions/payara-ml/pom.xml index fab695b73e3..73eaa58ae38 100644 --- a/appserver/distributions/payara-ml/pom.xml +++ b/appserver/distributions/payara-ml/pom.xml @@ -46,7 +46,7 @@ fish.payara.distributions distributions - 7.2026.5 + 7.2026.6-SNAPSHOT payara-ml Payara Multi-Language Distribution diff --git a/appserver/distributions/payara-web-ml/pom.xml b/appserver/distributions/payara-web-ml/pom.xml index aa9f1b3eb13..91a02025966 100644 --- a/appserver/distributions/payara-web-ml/pom.xml +++ b/appserver/distributions/payara-web-ml/pom.xml @@ -46,7 +46,7 @@ fish.payara.distributions distributions - 7.2026.5 + 7.2026.6-SNAPSHOT payara-web-ml Payara Web Multi-Language Distribution diff --git a/appserver/distributions/payara-web/pom.xml b/appserver/distributions/payara-web/pom.xml index b56f3aaa7a0..7ae4be2708f 100644 --- a/appserver/distributions/payara-web/pom.xml +++ b/appserver/distributions/payara-web/pom.xml @@ -47,7 +47,7 @@ fish.payara.distributions distributions - 7.2026.5 + 7.2026.6-SNAPSHOT payara-web Payara Web Distribution diff --git a/appserver/distributions/payara/pom.xml b/appserver/distributions/payara/pom.xml index 9d188a62b4b..477a129f970 100644 --- a/appserver/distributions/payara/pom.xml +++ b/appserver/distributions/payara/pom.xml @@ -47,7 +47,7 @@ fish.payara.distributions distributions - 7.2026.5 + 7.2026.6-SNAPSHOT payara diff --git a/appserver/distributions/pom.xml b/appserver/distributions/pom.xml index c453550fe7f..37ef8d12c9c 100644 --- a/appserver/distributions/pom.xml +++ b/appserver/distributions/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.distributions diff --git a/appserver/docker/pom.xml b/appserver/docker/pom.xml index 899cfc3d1fc..6c7f91fdc32 100644 --- a/appserver/docker/pom.xml +++ b/appserver/docker/pom.xml @@ -44,7 +44,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/ejb/ejb-all/pom.xml b/appserver/ejb/ejb-all/pom.xml index 4beee53d2fe..95614eaf44e 100755 --- a/appserver/ejb/ejb-all/pom.xml +++ b/appserver/ejb/ejb-all/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-all diff --git a/appserver/ejb/ejb-client/pom.xml b/appserver/ejb/ejb-client/pom.xml index cd310f47c96..06acaae2d3f 100755 --- a/appserver/ejb/ejb-client/pom.xml +++ b/appserver/ejb/ejb-client/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-client diff --git a/appserver/ejb/ejb-connector-l10n/pom.xml b/appserver/ejb/ejb-connector-l10n/pom.xml index 16b60e79538..476ca1d9706 100755 --- a/appserver/ejb/ejb-connector-l10n/pom.xml +++ b/appserver/ejb/ejb-connector-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT gf-ejb-connector-l10n diff --git a/appserver/ejb/ejb-connector/pom.xml b/appserver/ejb/ejb-connector/pom.xml index f852e8a890c..a7d2382bbbe 100755 --- a/appserver/ejb/ejb-connector/pom.xml +++ b/appserver/ejb/ejb-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT gf-ejb-connector glassfish-jar diff --git a/appserver/ejb/ejb-container-l10n/pom.xml b/appserver/ejb/ejb-container-l10n/pom.xml index a53ed7a520c..5a37189b0a5 100755 --- a/appserver/ejb/ejb-container-l10n/pom.xml +++ b/appserver/ejb/ejb-container-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-container-l10n diff --git a/appserver/ejb/ejb-container/pom.xml b/appserver/ejb/ejb-container/pom.xml index a34e9e03cf2..62ba1f995dc 100755 --- a/appserver/ejb/ejb-container/pom.xml +++ b/appserver/ejb/ejb-container/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-container diff --git a/appserver/ejb/ejb-full-container/pom.xml b/appserver/ejb/ejb-full-container/pom.xml index 535f5012b15..2bd92b3c000 100644 --- a/appserver/ejb/ejb-full-container/pom.xml +++ b/appserver/ejb/ejb-full-container/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-full-container diff --git a/appserver/ejb/ejb-http-remoting/admin/pom.xml b/appserver/ejb/ejb-http-remoting/admin/pom.xml index 03ed26086bb..ac1e62d50c5 100644 --- a/appserver/ejb/ejb-http-remoting/admin/pom.xml +++ b/appserver/ejb/ejb-http-remoting/admin/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.ejb ejb-http-remoting - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-http-admin diff --git a/appserver/ejb/ejb-http-remoting/client/pom.xml b/appserver/ejb/ejb-http-remoting/client/pom.xml index 28fc00e8a0e..f169c196a83 100644 --- a/appserver/ejb/ejb-http-remoting/client/pom.xml +++ b/appserver/ejb/ejb-http-remoting/client/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.ejb ejb-http-remoting - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.extras diff --git a/appserver/ejb/ejb-http-remoting/endpoint/pom.xml b/appserver/ejb/ejb-http-remoting/endpoint/pom.xml index 77f8bb3dfea..ba850ea1610 100644 --- a/appserver/ejb/ejb-http-remoting/endpoint/pom.xml +++ b/appserver/ejb/ejb-http-remoting/endpoint/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.ejb ejb-http-remoting - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-http-endpoint diff --git a/appserver/ejb/ejb-http-remoting/pom.xml b/appserver/ejb/ejb-http-remoting/pom.xml index e9ce7eae01d..633aef2fa93 100755 --- a/appserver/ejb/ejb-http-remoting/pom.xml +++ b/appserver/ejb/ejb-http-remoting/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-http-remoting diff --git a/appserver/ejb/ejb-internal-api/pom.xml b/appserver/ejb/ejb-internal-api/pom.xml index 221ed4ef693..bbbdb35e6d0 100755 --- a/appserver/ejb/ejb-internal-api/pom.xml +++ b/appserver/ejb/ejb-internal-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-internal-api diff --git a/appserver/ejb/ejb-opentracing/pom.xml b/appserver/ejb/ejb-opentracing/pom.xml index f7c455bfa67..8fd7b55e588 100644 --- a/appserver/ejb/ejb-opentracing/pom.xml +++ b/appserver/ejb/ejb-opentracing/pom.xml @@ -43,7 +43,7 @@ holder. fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-opentracing diff --git a/appserver/ejb/ejb-timer-databases/pom.xml b/appserver/ejb/ejb-timer-databases/pom.xml index 617f1bef626..bac93b5a885 100644 --- a/appserver/ejb/ejb-timer-databases/pom.xml +++ b/appserver/ejb/ejb-timer-databases/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-timer-databases diff --git a/appserver/ejb/ejb-timer-service-app/pom.xml b/appserver/ejb/ejb-timer-service-app/pom.xml index c190034373b..92f3e17ff39 100644 --- a/appserver/ejb/ejb-timer-service-app/pom.xml +++ b/appserver/ejb/ejb-timer-service-app/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.ejb ejb - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-timer-service-app diff --git a/appserver/ejb/pom.xml b/appserver/ejb/pom.xml index 5ba573273c5..3e9f108496c 100755 --- a/appserver/ejb/pom.xml +++ b/appserver/ejb/pom.xml @@ -45,7 +45,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.ejb diff --git a/appserver/extras/appserv-rt/dist-frag/pom.xml b/appserver/extras/appserv-rt/dist-frag/pom.xml index 2e570981bb3..9411eb4fcca 100644 --- a/appserver/extras/appserv-rt/dist-frag/pom.xml +++ b/appserver/extras/appserv-rt/dist-frag/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.extras appserv-rt-pom - 7.2026.5 + 7.2026.6-SNAPSHOT GlassFish appserv-rt distribution fragment appserv-rt-frag diff --git a/appserver/extras/appserv-rt/manifest-jar/pom.xml b/appserver/extras/appserv-rt/manifest-jar/pom.xml index 37eb970ce76..c45a4d75e40 100644 --- a/appserver/extras/appserv-rt/manifest-jar/pom.xml +++ b/appserver/extras/appserv-rt/manifest-jar/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.extras appserv-rt-pom - 7.2026.5 + 7.2026.6-SNAPSHOT GlassFish appserv-rt.jar diff --git a/appserver/extras/appserv-rt/pom.xml b/appserver/extras/appserv-rt/pom.xml index a0764f72bc5..221649a0731 100644 --- a/appserver/extras/appserv-rt/pom.xml +++ b/appserver/extras/appserv-rt/pom.xml @@ -46,7 +46,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.extras diff --git a/appserver/extras/docker-images/micro/pom.xml b/appserver/extras/docker-images/micro/pom.xml index 355a13867cc..9aca05b211d 100644 --- a/appserver/extras/docker-images/micro/pom.xml +++ b/appserver/extras/docker-images/micro/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras docker-images - 7.2026.5 + 7.2026.6-SNAPSHOT micro-docker-image pom diff --git a/appserver/extras/docker-images/pom.xml b/appserver/extras/docker-images/pom.xml index e165d1d5956..5b093463fd6 100644 --- a/appserver/extras/docker-images/pom.xml +++ b/appserver/extras/docker-images/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT docker-images pom diff --git a/appserver/extras/docker-images/server-full/pom.xml b/appserver/extras/docker-images/server-full/pom.xml index 84a44286251..0227b71e991 100644 --- a/appserver/extras/docker-images/server-full/pom.xml +++ b/appserver/extras/docker-images/server-full/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras docker-images - 7.2026.5 + 7.2026.6-SNAPSHOT server-full-docker-image pom diff --git a/appserver/extras/docker-images/server-node/pom.xml b/appserver/extras/docker-images/server-node/pom.xml index e3467cb9b13..a4855abe35c 100644 --- a/appserver/extras/docker-images/server-node/pom.xml +++ b/appserver/extras/docker-images/server-node/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras docker-images - 7.2026.5 + 7.2026.6-SNAPSHOT server-node-docker-image pom diff --git a/appserver/extras/docker-images/server-web/pom.xml b/appserver/extras/docker-images/server-web/pom.xml index 9b8cae5a5ba..f004f5fcffa 100644 --- a/appserver/extras/docker-images/server-web/pom.xml +++ b/appserver/extras/docker-images/server-web/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras docker-images - 7.2026.5 + 7.2026.6-SNAPSHOT server-web-docker-image pom diff --git a/appserver/extras/docker-images/tests/pom.xml b/appserver/extras/docker-images/tests/pom.xml index 9adce706105..01e69e37b3b 100644 --- a/appserver/extras/docker-images/tests/pom.xml +++ b/appserver/extras/docker-images/tests/pom.xml @@ -45,7 +45,7 @@ fish.payara.extras docker-images - 7.2026.5 + 7.2026.6-SNAPSHOT docker-images-tests jar diff --git a/appserver/extras/embedded/all/pom.xml b/appserver/extras/embedded/all/pom.xml index 0f071634016..0e7acf3cfbe 100644 --- a/appserver/extras/embedded/all/pom.xml +++ b/appserver/extras/embedded/all/pom.xml @@ -48,7 +48,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT ../../pom.xml diff --git a/appserver/extras/embedded/pom.xml b/appserver/extras/embedded/pom.xml index 4f29b83ae34..334107bbe4c 100644 --- a/appserver/extras/embedded/pom.xml +++ b/appserver/extras/embedded/pom.xml @@ -46,7 +46,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.extras diff --git a/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml index 89bced04de8..ee054a1f12e 100644 --- a/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml +++ b/appserver/extras/embedded/shell/glassfish-embedded-shell-frag/pom.xml @@ -46,7 +46,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT ../../../pom.xml diff --git a/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml index 4c928264f3d..f47b1d72214 100755 --- a/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml +++ b/appserver/extras/embedded/shell/glassfish-embedded-shell/pom.xml @@ -48,7 +48,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT ../../../pom.xml diff --git a/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml index e58c5007615..924619b08ed 100644 --- a/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml +++ b/appserver/extras/embedded/shell/glassfish-embedded-static-shell-frag/pom.xml @@ -46,7 +46,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT ../../../pom.xml diff --git a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml index 449d2475978..f02ea1a9141 100755 --- a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml +++ b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml @@ -47,7 +47,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT ../../../pom.xml diff --git a/appserver/extras/embedded/shell/pom.xml b/appserver/extras/embedded/shell/pom.xml index a6ea634721b..f9409434ec9 100755 --- a/appserver/extras/embedded/shell/pom.xml +++ b/appserver/extras/embedded/shell/pom.xml @@ -48,7 +48,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT ../../pom.xml diff --git a/appserver/extras/embedded/tests/embedded-vs-jersey/pom.xml b/appserver/extras/embedded/tests/embedded-vs-jersey/pom.xml index b340f363555..63b8d72590f 100644 --- a/appserver/extras/embedded/tests/embedded-vs-jersey/pom.xml +++ b/appserver/extras/embedded/tests/embedded-vs-jersey/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.extras embedded-tests - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.extras.embedded-tests diff --git a/appserver/extras/embedded/tests/pom.xml b/appserver/extras/embedded/tests/pom.xml index faef94b358d..7afd98b7774 100644 --- a/appserver/extras/embedded/tests/pom.xml +++ b/appserver/extras/embedded/tests/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.extras embedded - 7.2026.5 + 7.2026.6-SNAPSHOT embedded-tests diff --git a/appserver/extras/embedded/web/pom.xml b/appserver/extras/embedded/web/pom.xml index 916e7d3121e..983f7db3a0d 100644 --- a/appserver/extras/embedded/web/pom.xml +++ b/appserver/extras/embedded/web/pom.xml @@ -48,7 +48,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT ../../pom.xml diff --git a/appserver/extras/javaee/dist-frag/pom.xml b/appserver/extras/javaee/dist-frag/pom.xml index 1815e447296..bc89aaee452 100644 --- a/appserver/extras/javaee/dist-frag/pom.xml +++ b/appserver/extras/javaee/dist-frag/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.extras javaee-pom - 7.2026.5 + 7.2026.6-SNAPSHOT GlassFish javaee.jar distribution fragment javaee-frag diff --git a/appserver/extras/javaee/manifest-jar/pom.xml b/appserver/extras/javaee/manifest-jar/pom.xml index 940e2c7fb28..5f72322d830 100644 --- a/appserver/extras/javaee/manifest-jar/pom.xml +++ b/appserver/extras/javaee/manifest-jar/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.extras javaee-pom - 7.2026.5 + 7.2026.6-SNAPSHOT GlassFish javaee.jar diff --git a/appserver/extras/javaee/pom.xml b/appserver/extras/javaee/pom.xml index a0930778dc6..7fe121d1b7b 100644 --- a/appserver/extras/javaee/pom.xml +++ b/appserver/extras/javaee/pom.xml @@ -46,7 +46,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.extras diff --git a/appserver/extras/payara-micro/payara-micro-boot/pom.xml b/appserver/extras/payara-micro/payara-micro-boot/pom.xml index 074c3810553..92d0662e2a3 100644 --- a/appserver/extras/payara-micro/payara-micro-boot/pom.xml +++ b/appserver/extras/payara-micro/payara-micro-boot/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.extras payara-micro-parent - 7.2026.5 + 7.2026.6-SNAPSHOT payara-micro-boot glassfish-jar diff --git a/appserver/extras/payara-micro/payara-micro-core/pom.xml b/appserver/extras/payara-micro/payara-micro-core/pom.xml index 9db40fe7d16..2e97e9935a9 100644 --- a/appserver/extras/payara-micro/payara-micro-core/pom.xml +++ b/appserver/extras/payara-micro/payara-micro-core/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.extras payara-micro-parent - 7.2026.5 + 7.2026.6-SNAPSHOT payara-micro-core glassfish-jar diff --git a/appserver/extras/payara-micro/payara-micro-distribution/pom.xml b/appserver/extras/payara-micro/payara-micro-distribution/pom.xml index 9e309fb9aaf..e84e13a2efb 100644 --- a/appserver/extras/payara-micro/payara-micro-distribution/pom.xml +++ b/appserver/extras/payara-micro/payara-micro-distribution/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.extras payara-micro-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.extras payara-micro diff --git a/appserver/extras/payara-micro/pom.xml b/appserver/extras/payara-micro/pom.xml index 243f968e4c4..a56f85ada38 100644 --- a/appserver/extras/payara-micro/pom.xml +++ b/appserver/extras/payara-micro/pom.xml @@ -4,7 +4,7 @@ fish.payara.extras extras - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.extras payara-micro-parent diff --git a/appserver/extras/pom.xml b/appserver/extras/pom.xml index dba5ad91b69..638707945e8 100755 --- a/appserver/extras/pom.xml +++ b/appserver/extras/pom.xml @@ -48,7 +48,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.extras diff --git a/appserver/featuresets/glassfish/pom.xml b/appserver/featuresets/glassfish/pom.xml index 3a77b453c2d..91904f2952d 100644 --- a/appserver/featuresets/glassfish/pom.xml +++ b/appserver/featuresets/glassfish/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish Glassfish Featureset diff --git a/appserver/featuresets/minnow-ml/pom.xml b/appserver/featuresets/minnow-ml/pom.xml index b02edbb1875..1a27d66b5f9 100644 --- a/appserver/featuresets/minnow-ml/pom.xml +++ b/appserver/featuresets/minnow-ml/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5 + 7.2026.6-SNAPSHOT minnow-ml Glassfish Minnow Multi-Language Featureset diff --git a/appserver/featuresets/minnow/pom.xml b/appserver/featuresets/minnow/pom.xml index c7b9f405ecf..0678d22e843 100644 --- a/appserver/featuresets/minnow/pom.xml +++ b/appserver/featuresets/minnow/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5 + 7.2026.6-SNAPSHOT minnow Glassfish Minnow Featureset diff --git a/appserver/featuresets/payara-ml/pom.xml b/appserver/featuresets/payara-ml/pom.xml index 23d043c8a11..416a234fb83 100644 --- a/appserver/featuresets/payara-ml/pom.xml +++ b/appserver/featuresets/payara-ml/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5 + 7.2026.6-SNAPSHOT payara-ml-featureset Payara Multi-Language Featureset diff --git a/appserver/featuresets/payara-web-ml/pom.xml b/appserver/featuresets/payara-web-ml/pom.xml index 790e36c06f7..d5ac68f25e8 100644 --- a/appserver/featuresets/payara-web-ml/pom.xml +++ b/appserver/featuresets/payara-web-ml/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5 + 7.2026.6-SNAPSHOT payara-web-ml-featureset Payara Web Multi-Language Featureset diff --git a/appserver/featuresets/payara-web/pom.xml b/appserver/featuresets/payara-web/pom.xml index 8d880c8f024..84c226f4c01 100644 --- a/appserver/featuresets/payara-web/pom.xml +++ b/appserver/featuresets/payara-web/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5 + 7.2026.6-SNAPSHOT payara-web-featureset diff --git a/appserver/featuresets/payara/pom.xml b/appserver/featuresets/payara/pom.xml index a7a3f472db8..a423f9fc4d4 100644 --- a/appserver/featuresets/payara/pom.xml +++ b/appserver/featuresets/payara/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5 + 7.2026.6-SNAPSHOT payara-featureset diff --git a/appserver/featuresets/pom.xml b/appserver/featuresets/pom.xml index 2c82426bc6e..9e450ea63e5 100644 --- a/appserver/featuresets/pom.xml +++ b/appserver/featuresets/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT pom fish.payara.server.internal.featuresets diff --git a/appserver/featuresets/web/pom.xml b/appserver/featuresets/web/pom.xml index 9ee47b9e7e9..e4208ea5bf2 100644 --- a/appserver/featuresets/web/pom.xml +++ b/appserver/featuresets/web/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.featuresets featuresets - 7.2026.5 + 7.2026.6-SNAPSHOT web Glassfish Web Featureset diff --git a/appserver/flashlight/btrace/pom.xml b/appserver/flashlight/btrace/pom.xml index d0c078656eb..adb74d0ad60 100644 --- a/appserver/flashlight/btrace/pom.xml +++ b/appserver/flashlight/btrace/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.flashlight glassfish-flashlight - 7.2026.5 + 7.2026.6-SNAPSHOT btrace-jars btrace jar files diff --git a/appserver/flashlight/client/pom.xml b/appserver/flashlight/client/pom.xml index 544f713c90e..4ba5506b574 100755 --- a/appserver/flashlight/client/pom.xml +++ b/appserver/flashlight/client/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.flashlight glassfish-flashlight - 7.2026.5 + 7.2026.6-SNAPSHOT flashlight-client glassfish-jar diff --git a/appserver/flashlight/pom.xml b/appserver/flashlight/pom.xml index f4c87048d8c..93243d9f825 100755 --- a/appserver/flashlight/pom.xml +++ b/appserver/flashlight/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.flashlight glassfish-flashlight diff --git a/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml b/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml index 218862d026e..0a61683171a 100644 --- a/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml +++ b/appserver/grizzly/glassfish-grizzly-extra-all/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.grizzly glassfish-grizzly - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 glassfish-grizzly-extra-all diff --git a/appserver/grizzly/grizzly-container/pom.xml b/appserver/grizzly/grizzly-container/pom.xml index 490a7ef2544..b25ec34c3da 100755 --- a/appserver/grizzly/grizzly-container/pom.xml +++ b/appserver/grizzly/grizzly-container/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.grizzly glassfish-grizzly - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-grizzly-container diff --git a/appserver/grizzly/pom.xml b/appserver/grizzly/pom.xml index 4e354f2e34d..9cdf095bcc7 100755 --- a/appserver/grizzly/pom.xml +++ b/appserver/grizzly/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.grizzly glassfish-grizzly diff --git a/appserver/ha/ha-file-store/pom.xml b/appserver/ha/ha-file-store/pom.xml index 159824bc376..bcafe4a3103 100644 --- a/appserver/ha/ha-file-store/pom.xml +++ b/appserver/ha/ha-file-store/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.ha ha - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 ha-file-store diff --git a/appserver/ha/ha-hazelcast-store/pom.xml b/appserver/ha/ha-hazelcast-store/pom.xml index 0adae596311..a15e3d55682 100644 --- a/appserver/ha/ha-hazelcast-store/pom.xml +++ b/appserver/ha/ha-hazelcast-store/pom.xml @@ -42,7 +42,7 @@ fish.payara.server.internal.ha ha - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 ha-hazelcast-store diff --git a/appserver/ha/pom.xml b/appserver/ha/pom.xml index fe6c9f0f741..24ac7ef324f 100755 --- a/appserver/ha/pom.xml +++ b/appserver/ha/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.ha ha diff --git a/appserver/jdbc/admin-l10n/pom.xml b/appserver/jdbc/admin-l10n/pom.xml index 110f6d2ab63..72422180ae5 100755 --- a/appserver/jdbc/admin-l10n/pom.xml +++ b/appserver/jdbc/admin-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5 + 7.2026.6-SNAPSHOT jdbc-admin-l10n diff --git a/appserver/jdbc/admin/pom.xml b/appserver/jdbc/admin/pom.xml index bfa648db6d0..bd2dc053b9f 100644 --- a/appserver/jdbc/admin/pom.xml +++ b/appserver/jdbc/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5 + 7.2026.6-SNAPSHOT jdbc-admin glassfish-jar diff --git a/appserver/jdbc/jdbc-config-l10n/pom.xml b/appserver/jdbc/jdbc-config-l10n/pom.xml index bca4a91e9bd..5769e2a6d90 100644 --- a/appserver/jdbc/jdbc-config-l10n/pom.xml +++ b/appserver/jdbc/jdbc-config-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5 + 7.2026.6-SNAPSHOT jdbc-config-l10n diff --git a/appserver/jdbc/jdbc-config/pom.xml b/appserver/jdbc/jdbc-config/pom.xml index a22e70d25e4..b98c576fead 100644 --- a/appserver/jdbc/jdbc-config/pom.xml +++ b/appserver/jdbc/jdbc-config/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 jdbc-config diff --git a/appserver/jdbc/jdbc-ra/jdbc-core-l10n/pom.xml b/appserver/jdbc/jdbc-ra/jdbc-core-l10n/pom.xml index 5acdd4624ad..60664957ce9 100755 --- a/appserver/jdbc/jdbc-ra/jdbc-core-l10n/pom.xml +++ b/appserver/jdbc/jdbc-ra/jdbc-core-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc.jdbc-ra jdbc-ra - 7.2026.5 + 7.2026.6-SNAPSHOT jdbc-core-l10n diff --git a/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml b/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml index aa365cc21b1..6ce6d95c4f1 100644 --- a/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml +++ b/appserver/jdbc/jdbc-ra/jdbc-core/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc.jdbc-ra jdbc-ra - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 fish.payara.server.internal.jdbc.jdbc-ra.jdbc-core diff --git a/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml b/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml index f179156286c..05cdd1226a3 100644 --- a/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml +++ b/appserver/jdbc/jdbc-ra/jdbc-ra-distribution/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.jdbc.jdbc-ra jdbc-ra - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 fish.payara.server.internal.jdbc.jdbc-ra.jdbc-ra-distribution diff --git a/appserver/jdbc/jdbc-ra/jdbc40/pom.xml b/appserver/jdbc/jdbc-ra/jdbc40/pom.xml index b29540b1c35..c894a2e6b19 100644 --- a/appserver/jdbc/jdbc-ra/jdbc40/pom.xml +++ b/appserver/jdbc/jdbc-ra/jdbc40/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.jdbc.jdbc-ra jdbc-ra - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 fish.payara.server.internal.jdbc.jdbc-ra.jdbc40 diff --git a/appserver/jdbc/jdbc-ra/pom.xml b/appserver/jdbc/jdbc-ra/pom.xml index 73ce1a3a10e..c4854e39d09 100644 --- a/appserver/jdbc/jdbc-ra/pom.xml +++ b/appserver/jdbc/jdbc-ra/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT ../../pom.xml diff --git a/appserver/jdbc/jdbc-runtime-l10n/pom.xml b/appserver/jdbc/jdbc-runtime-l10n/pom.xml index 470581b479f..fa6fe1d009a 100644 --- a/appserver/jdbc/jdbc-runtime-l10n/pom.xml +++ b/appserver/jdbc/jdbc-runtime-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5 + 7.2026.6-SNAPSHOT jdbc-runtime-l10n diff --git a/appserver/jdbc/jdbc-runtime/pom.xml b/appserver/jdbc/jdbc-runtime/pom.xml index cd4cb33bf06..a6d6a33405a 100644 --- a/appserver/jdbc/jdbc-runtime/pom.xml +++ b/appserver/jdbc/jdbc-runtime/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5 + 7.2026.6-SNAPSHOT jdbc-runtime diff --git a/appserver/jdbc/pom.xml b/appserver/jdbc/pom.xml index d6b8072c163..2e8f8aabc04 100755 --- a/appserver/jdbc/pom.xml +++ b/appserver/jdbc/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/jdbc/templates/pom.xml b/appserver/jdbc/templates/pom.xml index 372506585dd..61f30c87762 100644 --- a/appserver/jdbc/templates/pom.xml +++ b/appserver/jdbc/templates/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.jdbc jdbc - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/jms/admin-l10n/pom.xml b/appserver/jms/admin-l10n/pom.xml index 1beb7fc2f63..72a733d205f 100755 --- a/appserver/jms/admin-l10n/pom.xml +++ b/appserver/jms/admin-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jms jms - 7.2026.5 + 7.2026.6-SNAPSHOT jms-admin-l10n diff --git a/appserver/jms/admin/pom.xml b/appserver/jms/admin/pom.xml index 568c20ef73b..5154754885f 100644 --- a/appserver/jms/admin/pom.xml +++ b/appserver/jms/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jms jms - 7.2026.5 + 7.2026.6-SNAPSHOT jms-admin glassfish-jar diff --git a/appserver/jms/gf-jms-connector-l10n/pom.xml b/appserver/jms/gf-jms-connector-l10n/pom.xml index dfb0250d7a6..817d35ff44b 100644 --- a/appserver/jms/gf-jms-connector-l10n/pom.xml +++ b/appserver/jms/gf-jms-connector-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jms jms - 7.2026.5 + 7.2026.6-SNAPSHOT gf-jms-connector-l10n diff --git a/appserver/jms/gf-jms-connector/pom.xml b/appserver/jms/gf-jms-connector/pom.xml index 3944d9066e8..6d9ce3437b9 100644 --- a/appserver/jms/gf-jms-connector/pom.xml +++ b/appserver/jms/gf-jms-connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.jms jms - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 gf-jms-connector diff --git a/appserver/jms/gf-jms-injection-l10n/pom.xml b/appserver/jms/gf-jms-injection-l10n/pom.xml index 378e80f3d57..6198aa72db7 100644 --- a/appserver/jms/gf-jms-injection-l10n/pom.xml +++ b/appserver/jms/gf-jms-injection-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jms jms - 7.2026.5 + 7.2026.6-SNAPSHOT gf-jms-injection-l10n diff --git a/appserver/jms/gf-jms-injection/pom.xml b/appserver/jms/gf-jms-injection/pom.xml index b96db8e6369..0a85b9c33c2 100644 --- a/appserver/jms/gf-jms-injection/pom.xml +++ b/appserver/jms/gf-jms-injection/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.jms jms - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/jms/jms-core-l10n/pom.xml b/appserver/jms/jms-core-l10n/pom.xml index 57ca461c575..9dff10b6fb8 100755 --- a/appserver/jms/jms-core-l10n/pom.xml +++ b/appserver/jms/jms-core-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.jms jms - 7.2026.5 + 7.2026.6-SNAPSHOT jms-core-l10n diff --git a/appserver/jms/jms-core/pom.xml b/appserver/jms/jms-core/pom.xml index 9ab61415b15..cb2135dd517 100644 --- a/appserver/jms/jms-core/pom.xml +++ b/appserver/jms/jms-core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.jms jms - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 jms-core diff --git a/appserver/jms/jms-handlers/pom.xml b/appserver/jms/jms-handlers/pom.xml index c88cd4d7300..10eaa5467d0 100644 --- a/appserver/jms/jms-handlers/pom.xml +++ b/appserver/jms/jms-handlers/pom.xml @@ -43,7 +43,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.jms jms - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 jms-handlers diff --git a/appserver/jms/pom.xml b/appserver/jms/pom.xml index 90b9a687768..2faa0cdd792 100644 --- a/appserver/jms/pom.xml +++ b/appserver/jms/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.jms jms diff --git a/appserver/orb/orb-connector-l10n/pom.xml b/appserver/orb/orb-connector-l10n/pom.xml index c375044da70..aeba04e6760 100755 --- a/appserver/orb/orb-connector-l10n/pom.xml +++ b/appserver/orb/orb-connector-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.orb orb - 7.2026.5 + 7.2026.6-SNAPSHOT orb-connector-l10n diff --git a/appserver/orb/orb-connector/pom.xml b/appserver/orb/orb-connector/pom.xml index f2a99e90e69..a66011de8fa 100755 --- a/appserver/orb/orb-connector/pom.xml +++ b/appserver/orb/orb-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.orb orb - 7.2026.5 + 7.2026.6-SNAPSHOT orb-connector glassfish-jar diff --git a/appserver/orb/orb-enabler/pom.xml b/appserver/orb/orb-enabler/pom.xml index 1481f828094..850fec6fbee 100755 --- a/appserver/orb/orb-enabler/pom.xml +++ b/appserver/orb/orb-enabler/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.orb orb - 7.2026.5 + 7.2026.6-SNAPSHOT orb-enabler glassfish-jar diff --git a/appserver/orb/orb-iiop/pom.xml b/appserver/orb/orb-iiop/pom.xml index 14d18d0668d..72a5dac2b40 100755 --- a/appserver/orb/orb-iiop/pom.xml +++ b/appserver/orb/orb-iiop/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.orb orb - 7.2026.5 + 7.2026.6-SNAPSHOT orb-iiop glassfish-jar diff --git a/appserver/orb/pom.xml b/appserver/orb/pom.xml index deec84db851..d836af8c7fb 100755 --- a/appserver/orb/pom.xml +++ b/appserver/orb/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.orb orb diff --git a/appserver/osgi-platforms/felix-webconsole-extension/pom.xml b/appserver/osgi-platforms/felix-webconsole-extension/pom.xml index d6f40c8fe9d..43a2e6fba15 100644 --- a/appserver/osgi-platforms/felix-webconsole-extension/pom.xml +++ b/appserver/osgi-platforms/felix-webconsole-extension/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.osgi-platforms osgi-console-extensions - 7.2026.5 + 7.2026.6-SNAPSHOT felix-webconsole-extension glassfish-jar diff --git a/appserver/osgi-platforms/glassfish-osgi-console-plugin-l10n/pom.xml b/appserver/osgi-platforms/glassfish-osgi-console-plugin-l10n/pom.xml index 1a94b8e7f4c..37a5c689015 100755 --- a/appserver/osgi-platforms/glassfish-osgi-console-plugin-l10n/pom.xml +++ b/appserver/osgi-platforms/glassfish-osgi-console-plugin-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT ../../admingui/pom.xml diff --git a/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml b/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml index af5ca925fb9..a4daadf5768 100644 --- a/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml +++ b/appserver/osgi-platforms/glassfish-osgi-console-plugin/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admingui admingui - 7.2026.5 + 7.2026.6-SNAPSHOT ../../admingui/pom.xml fish.payara.server.internal.osgi-platforms diff --git a/appserver/osgi-platforms/pom.xml b/appserver/osgi-platforms/pom.xml index 15ec447f3f3..5258779d350 100644 --- a/appserver/osgi-platforms/pom.xml +++ b/appserver/osgi-platforms/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT pom fish.payara.server.internal.osgi-platforms diff --git a/appserver/packager/JMX-Monitoring/pom.xml b/appserver/packager/JMX-Monitoring/pom.xml index 020fcadc862..fab5abb8a77 100644 --- a/appserver/packager/JMX-Monitoring/pom.xml +++ b/appserver/packager/JMX-Monitoring/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT jmx-monitoring-package distribution-fragment diff --git a/appserver/packager/appserver-base/pom.xml b/appserver/packager/appserver-base/pom.xml index 29654a5592a..15b3c073e31 100644 --- a/appserver/packager/appserver-base/pom.xml +++ b/appserver/packager/appserver-base/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 appserver-base diff --git a/appserver/packager/appserver-core/pom.xml b/appserver/packager/appserver-core/pom.xml index aa779d7abed..4a3c27acba4 100644 --- a/appserver/packager/appserver-core/pom.xml +++ b/appserver/packager/appserver-core/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT appserver-core Payara Appserver Core Modules diff --git a/appserver/packager/asadmin-recorder/pom.xml b/appserver/packager/asadmin-recorder/pom.xml index fa72df22e9c..864ac0359b0 100644 --- a/appserver/packager/asadmin-recorder/pom.xml +++ b/appserver/packager/asadmin-recorder/pom.xml @@ -19,7 +19,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT asadmin-recorder Payara Asadmin Recorder Package diff --git a/appserver/packager/cdi-auth-roles/pom.xml b/appserver/packager/cdi-auth-roles/pom.xml index 7c7ec8c942a..c3c2e45f848 100644 --- a/appserver/packager/cdi-auth-roles/pom.xml +++ b/appserver/packager/cdi-auth-roles/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT cdi-auth-roles Payara CDI Auth Roles Package diff --git a/appserver/packager/data/pom.xml b/appserver/packager/data/pom.xml index 08bd1422b3c..d6e85e2edda 100644 --- a/appserver/packager/data/pom.xml +++ b/appserver/packager/data/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT data diff --git a/appserver/packager/docker/pom.xml b/appserver/packager/docker/pom.xml index ece1264aeb6..7111246f418 100644 --- a/appserver/packager/docker/pom.xml +++ b/appserver/packager/docker/pom.xml @@ -5,7 +5,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/packager/environment-warning/pom.xml b/appserver/packager/environment-warning/pom.xml index b6a19284154..0df7ec08ad0 100644 --- a/appserver/packager/environment-warning/pom.xml +++ b/appserver/packager/environment-warning/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT environment-warning Payara Environment Warning Package diff --git a/appserver/packager/external/ant/pom.xml b/appserver/packager/external/ant/pom.xml index b566a0c579a..4ce5b762ec0 100644 --- a/appserver/packager/external/ant/pom.xml +++ b/appserver/packager/external/ant/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager external - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 ant diff --git a/appserver/packager/external/h2db/pom.xml b/appserver/packager/external/h2db/pom.xml index 42532963a63..2b3536b9145 100644 --- a/appserver/packager/external/h2db/pom.xml +++ b/appserver/packager/external/h2db/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager external - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 h2db-repackaged diff --git a/appserver/packager/external/jakarta-data-api/pom.xml b/appserver/packager/external/jakarta-data-api/pom.xml index bc4395b5170..2c1668e7484 100755 --- a/appserver/packager/external/jakarta-data-api/pom.xml +++ b/appserver/packager/external/jakarta-data-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager external - 7.2026.5 + 7.2026.6-SNAPSHOT jakarta.data-api diff --git a/appserver/packager/external/jakarta-ee11-shim/pom.xml b/appserver/packager/external/jakarta-ee11-shim/pom.xml index 55ab5761d20..f43efa2c2f1 100644 --- a/appserver/packager/external/jakarta-ee11-shim/pom.xml +++ b/appserver/packager/external/jakarta-ee11-shim/pom.xml @@ -47,7 +47,7 @@ external fish.payara.server.internal.packager - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/packager/external/jakarta-ee9-shim/pom.xml b/appserver/packager/external/jakarta-ee9-shim/pom.xml index e5fc15b993e..47d30451a65 100644 --- a/appserver/packager/external/jakarta-ee9-shim/pom.xml +++ b/appserver/packager/external/jakarta-ee9-shim/pom.xml @@ -47,7 +47,7 @@ external fish.payara.server.internal.packager - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/packager/external/jcip/pom.xml b/appserver/packager/external/jcip/pom.xml index 5fd1783be09..cf5f22d48b3 100644 --- a/appserver/packager/external/jcip/pom.xml +++ b/appserver/packager/external/jcip/pom.xml @@ -45,7 +45,7 @@ holder. fish.payara.server.internal.packager external - 7.2026.5 + 7.2026.6-SNAPSHOT jcip-annotations-repackaged jcip-annotations repackaged diff --git a/appserver/packager/external/jmsra/pom.xml b/appserver/packager/external/jmsra/pom.xml index 3dd3a2121e1..e321bc00b2c 100644 --- a/appserver/packager/external/jmsra/pom.xml +++ b/appserver/packager/external/jmsra/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager external - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 jmsra diff --git a/appserver/packager/external/libpam4j/pom.xml b/appserver/packager/external/libpam4j/pom.xml index a72abffb54d..b0545a61b5b 100644 --- a/appserver/packager/external/libpam4j/pom.xml +++ b/appserver/packager/external/libpam4j/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager external - 7.2026.5 + 7.2026.6-SNAPSHOT libpam4j-repackaged diff --git a/appserver/packager/external/metro-xmlsec/pom.xml b/appserver/packager/external/metro-xmlsec/pom.xml index 4ada3f58a81..67a31fd9993 100755 --- a/appserver/packager/external/metro-xmlsec/pom.xml +++ b/appserver/packager/external/metro-xmlsec/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager external - 7.2026.5 + 7.2026.6-SNAPSHOT metro-xmlsec-repackaged diff --git a/appserver/packager/external/pom.xml b/appserver/packager/external/pom.xml index 8bc32c83c77..3592e37ff6f 100644 --- a/appserver/packager/external/pom.xml +++ b/appserver/packager/external/pom.xml @@ -52,7 +52,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT ../../pom.xml diff --git a/appserver/packager/felix/pom.xml b/appserver/packager/felix/pom.xml index 7ab98bfe52d..3571701336e 100644 --- a/appserver/packager/felix/pom.xml +++ b/appserver/packager/felix/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT felix Felix Package diff --git a/appserver/packager/glassfish-ant-tasks/pom.xml b/appserver/packager/glassfish-ant-tasks/pom.xml index 2b38633a0ee..743381cb1a9 100644 --- a/appserver/packager/glassfish-ant-tasks/pom.xml +++ b/appserver/packager/glassfish-ant-tasks/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-ant-tasks GlassFish Ant Tasks Package diff --git a/appserver/packager/glassfish-appclient-l10n/pom.xml b/appserver/packager/glassfish-appclient-l10n/pom.xml index 25f400b1946..2f4c0176a7f 100644 --- a/appserver/packager/glassfish-appclient-l10n/pom.xml +++ b/appserver/packager/glassfish-appclient-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-appclient-l10n Glassfish Application Client l10n Package diff --git a/appserver/packager/glassfish-appclient/pom.xml b/appserver/packager/glassfish-appclient/pom.xml index 27c9a6ad7d1..8e93b2be340 100644 --- a/appserver/packager/glassfish-appclient/pom.xml +++ b/appserver/packager/glassfish-appclient/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-appclient Glassfish Application Client Package diff --git a/appserver/packager/glassfish-cluster-l10n/pom.xml b/appserver/packager/glassfish-cluster-l10n/pom.xml index d655bde1281..66fb1f50dae 100644 --- a/appserver/packager/glassfish-cluster-l10n/pom.xml +++ b/appserver/packager/glassfish-cluster-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-cluster-l10n Glassfish cluster l10n Package diff --git a/appserver/packager/glassfish-cluster/pom.xml b/appserver/packager/glassfish-cluster/pom.xml index 36a99c84894..8b807c0ba21 100644 --- a/appserver/packager/glassfish-cluster/pom.xml +++ b/appserver/packager/glassfish-cluster/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-cluster Glassfish Clustering Package diff --git a/appserver/packager/glassfish-common-full-l10n/pom.xml b/appserver/packager/glassfish-common-full-l10n/pom.xml index 0ca7b52336f..20b595f40a0 100644 --- a/appserver/packager/glassfish-common-full-l10n/pom.xml +++ b/appserver/packager/glassfish-common-full-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-common-full-l10n Glassfish Commons for Full Distribution l10n diff --git a/appserver/packager/glassfish-common-full/pom.xml b/appserver/packager/glassfish-common-full/pom.xml index 6419173a866..0180333cc10 100644 --- a/appserver/packager/glassfish-common-full/pom.xml +++ b/appserver/packager/glassfish-common-full/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-common-full Glassfish Commons for Full Distribution diff --git a/appserver/packager/glassfish-common-l10n/pom.xml b/appserver/packager/glassfish-common-l10n/pom.xml index eb51cbe86b8..a5d3d478c04 100644 --- a/appserver/packager/glassfish-common-l10n/pom.xml +++ b/appserver/packager/glassfish-common-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-common-l10n Glassfish Commons l10n Package diff --git a/appserver/packager/glassfish-common-web-l10n/pom.xml b/appserver/packager/glassfish-common-web-l10n/pom.xml index e3181df76bc..7fb7b4bfd94 100644 --- a/appserver/packager/glassfish-common-web-l10n/pom.xml +++ b/appserver/packager/glassfish-common-web-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-common-web-l10n Glassfish Commons Web l10n Package diff --git a/appserver/packager/glassfish-common-web/pom.xml b/appserver/packager/glassfish-common-web/pom.xml index dfec0ecf48d..9e4bad7e88d 100644 --- a/appserver/packager/glassfish-common-web/pom.xml +++ b/appserver/packager/glassfish-common-web/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-common-web Glassfish Commons for Web Profile Distribution diff --git a/appserver/packager/glassfish-common/pom.xml b/appserver/packager/glassfish-common/pom.xml index ec31d6b7684..8f9468d5f8d 100644 --- a/appserver/packager/glassfish-common/pom.xml +++ b/appserver/packager/glassfish-common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-common Glassfish Commons Package diff --git a/appserver/packager/glassfish-corba-base/pom.xml b/appserver/packager/glassfish-corba-base/pom.xml index bcfa2ead1fc..8577cb28df0 100644 --- a/appserver/packager/glassfish-corba-base/pom.xml +++ b/appserver/packager/glassfish-corba-base/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-corba-base Base CORBA APIs Package diff --git a/appserver/packager/glassfish-corba/pom.xml b/appserver/packager/glassfish-corba/pom.xml index dca6ef0983c..4d5c64f72c9 100644 --- a/appserver/packager/glassfish-corba/pom.xml +++ b/appserver/packager/glassfish-corba/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-corba Corba Package diff --git a/appserver/packager/glassfish-ejb-l10n/pom.xml b/appserver/packager/glassfish-ejb-l10n/pom.xml index 47670a0fda1..b303748e0c4 100644 --- a/appserver/packager/glassfish-ejb-l10n/pom.xml +++ b/appserver/packager/glassfish-ejb-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-ejb-l10n Glassfish EJB l10n Package diff --git a/appserver/packager/glassfish-ejb-lite-l10n/pom.xml b/appserver/packager/glassfish-ejb-lite-l10n/pom.xml index ff021d7f7ff..c6d076b8584 100644 --- a/appserver/packager/glassfish-ejb-lite-l10n/pom.xml +++ b/appserver/packager/glassfish-ejb-lite-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-ejb-lite-l10n Glassfish EJB Lite Container l10n Package diff --git a/appserver/packager/glassfish-ejb-lite/pom.xml b/appserver/packager/glassfish-ejb-lite/pom.xml index e7677982cfa..64f712bdb6c 100644 --- a/appserver/packager/glassfish-ejb-lite/pom.xml +++ b/appserver/packager/glassfish-ejb-lite/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-ejb-lite Glassfish EJB Lite Container Package diff --git a/appserver/packager/glassfish-ejb/pom.xml b/appserver/packager/glassfish-ejb/pom.xml index ae733088593..3610ac26a06 100644 --- a/appserver/packager/glassfish-ejb/pom.xml +++ b/appserver/packager/glassfish-ejb/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-ejb diff --git a/appserver/packager/glassfish-entitybeans-container/pom.xml b/appserver/packager/glassfish-entitybeans-container/pom.xml index fd6168566d8..8e731ce0a55 100644 --- a/appserver/packager/glassfish-entitybeans-container/pom.xml +++ b/appserver/packager/glassfish-entitybeans-container/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-entitybeans-container Glassfish EntityBeans Container Package diff --git a/appserver/packager/glassfish-full-incorporation/pom.xml b/appserver/packager/glassfish-full-incorporation/pom.xml index e9c328029a8..cea0b46ffd1 100644 --- a/appserver/packager/glassfish-full-incorporation/pom.xml +++ b/appserver/packager/glassfish-full-incorporation/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-full-incorporation Glassfish Full Profile Incorporation Package diff --git a/appserver/packager/glassfish-full-profile/pom.xml b/appserver/packager/glassfish-full-profile/pom.xml index a8e100aa39a..5e16b4b8cc6 100644 --- a/appserver/packager/glassfish-full-profile/pom.xml +++ b/appserver/packager/glassfish-full-profile/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-full-profile Glassfish Full Profile Metapackage diff --git a/appserver/packager/glassfish-grizzly-full/pom.xml b/appserver/packager/glassfish-grizzly-full/pom.xml index 4b25c1ce502..e1bdc5ba9f9 100644 --- a/appserver/packager/glassfish-grizzly-full/pom.xml +++ b/appserver/packager/glassfish-grizzly-full/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-grizzly-full Glassfish Grizzly Package diff --git a/appserver/packager/glassfish-grizzly/pom.xml b/appserver/packager/glassfish-grizzly/pom.xml index 9b1cc89fcc2..fb1104ec03f 100644 --- a/appserver/packager/glassfish-grizzly/pom.xml +++ b/appserver/packager/glassfish-grizzly/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-grizzly Glassfish Grizzly Package diff --git a/appserver/packager/glassfish-gui-l10n/pom.xml b/appserver/packager/glassfish-gui-l10n/pom.xml index 902087798b8..8345888bac1 100644 --- a/appserver/packager/glassfish-gui-l10n/pom.xml +++ b/appserver/packager/glassfish-gui-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-gui-l10n Glassfish Admin GUI Localization Package diff --git a/appserver/packager/glassfish-gui/pom.xml b/appserver/packager/glassfish-gui/pom.xml index c2a61c2839f..74ceb57e7b2 100644 --- a/appserver/packager/glassfish-gui/pom.xml +++ b/appserver/packager/glassfish-gui/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-gui Glassfish Admin GUI Package diff --git a/appserver/packager/glassfish-ha/pom.xml b/appserver/packager/glassfish-ha/pom.xml index 9818d540ae6..b8e5929c15a 100644 --- a/appserver/packager/glassfish-ha/pom.xml +++ b/appserver/packager/glassfish-ha/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-ha Glassfish HA Package diff --git a/appserver/packager/glassfish-hk2/pom.xml b/appserver/packager/glassfish-hk2/pom.xml index d16bb20c603..b3cbdadf335 100644 --- a/appserver/packager/glassfish-hk2/pom.xml +++ b/appserver/packager/glassfish-hk2/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-hk2 GlassFish HK2 Package diff --git a/appserver/packager/glassfish-javahelp/pom.xml b/appserver/packager/glassfish-javahelp/pom.xml index cdb8fb08f48..9092636eb22 100644 --- a/appserver/packager/glassfish-javahelp/pom.xml +++ b/appserver/packager/glassfish-javahelp/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-javahelp Glassfish JavaHelp Package diff --git a/appserver/packager/glassfish-jca-l10n/pom.xml b/appserver/packager/glassfish-jca-l10n/pom.xml index 2b5d19bb82b..ecd39e22c32 100644 --- a/appserver/packager/glassfish-jca-l10n/pom.xml +++ b/appserver/packager/glassfish-jca-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jca-l10n Glassfish Connector l10n Package diff --git a/appserver/packager/glassfish-jca/pom.xml b/appserver/packager/glassfish-jca/pom.xml index 1617a5bb306..b2215618de4 100644 --- a/appserver/packager/glassfish-jca/pom.xml +++ b/appserver/packager/glassfish-jca/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jca Glassfish Connector Package diff --git a/appserver/packager/glassfish-jcdi/pom.xml b/appserver/packager/glassfish-jcdi/pom.xml index a5c454930c4..c86ebe40b33 100644 --- a/appserver/packager/glassfish-jcdi/pom.xml +++ b/appserver/packager/glassfish-jcdi/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jcdi diff --git a/appserver/packager/glassfish-jdbc-l10n/pom.xml b/appserver/packager/glassfish-jdbc-l10n/pom.xml index 4a5e741ffe1..4120222b0fd 100644 --- a/appserver/packager/glassfish-jdbc-l10n/pom.xml +++ b/appserver/packager/glassfish-jdbc-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jdbc-l10n Glassfish JDBC l10n Package diff --git a/appserver/packager/glassfish-jdbc/pom.xml b/appserver/packager/glassfish-jdbc/pom.xml index 54da475d9f6..591fad99c1e 100644 --- a/appserver/packager/glassfish-jdbc/pom.xml +++ b/appserver/packager/glassfish-jdbc/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jdbc Glassfish JDBC Package diff --git a/appserver/packager/glassfish-jms-l10n/pom.xml b/appserver/packager/glassfish-jms-l10n/pom.xml index 420e5ba70c6..bfe6e7a59a1 100644 --- a/appserver/packager/glassfish-jms-l10n/pom.xml +++ b/appserver/packager/glassfish-jms-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jms-l10n Glassfish Java Message Service l10n diff --git a/appserver/packager/glassfish-jms/pom.xml b/appserver/packager/glassfish-jms/pom.xml index 713e8e2a16e..79140f0b38d 100644 --- a/appserver/packager/glassfish-jms/pom.xml +++ b/appserver/packager/glassfish-jms/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jms Glassfish Java Message Service diff --git a/appserver/packager/glassfish-jmx/pom.xml b/appserver/packager/glassfish-jmx/pom.xml index 15771bfd2a2..12be91f038a 100644 --- a/appserver/packager/glassfish-jmx/pom.xml +++ b/appserver/packager/glassfish-jmx/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jmx Glassfish JMX Package diff --git a/appserver/packager/glassfish-jpa-l10n/pom.xml b/appserver/packager/glassfish-jpa-l10n/pom.xml index 60ac8d123a8..6465f4ce94c 100644 --- a/appserver/packager/glassfish-jpa-l10n/pom.xml +++ b/appserver/packager/glassfish-jpa-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jpa-l10n Glassfish JPA l10n Package diff --git a/appserver/packager/glassfish-jpa/pom.xml b/appserver/packager/glassfish-jpa/pom.xml index d40327b35a6..263bb1da9e1 100644 --- a/appserver/packager/glassfish-jpa/pom.xml +++ b/appserver/packager/glassfish-jpa/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jpa Glassfish JPA Package diff --git a/appserver/packager/glassfish-jsf/pom.xml b/appserver/packager/glassfish-jsf/pom.xml index 71cf064afc5..46a8867d4e3 100644 --- a/appserver/packager/glassfish-jsf/pom.xml +++ b/appserver/packager/glassfish-jsf/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jsf Glassfish JSF Package diff --git a/appserver/packager/glassfish-jta-l10n/pom.xml b/appserver/packager/glassfish-jta-l10n/pom.xml index c44aa283156..99baf4feeb8 100644 --- a/appserver/packager/glassfish-jta-l10n/pom.xml +++ b/appserver/packager/glassfish-jta-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jta-l10n Glassfish Transaction Package l10n diff --git a/appserver/packager/glassfish-jta/pom.xml b/appserver/packager/glassfish-jta/pom.xml index 259fe411b21..7d14b0578b7 100644 --- a/appserver/packager/glassfish-jta/pom.xml +++ b/appserver/packager/glassfish-jta/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jta Glassfish Transaction Package diff --git a/appserver/packager/glassfish-jts-l10n/pom.xml b/appserver/packager/glassfish-jts-l10n/pom.xml index c1a84a4bded..540690da73b 100644 --- a/appserver/packager/glassfish-jts-l10n/pom.xml +++ b/appserver/packager/glassfish-jts-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jts-l10n Glassfish Java Transaction Service l10n diff --git a/appserver/packager/glassfish-jts/pom.xml b/appserver/packager/glassfish-jts/pom.xml index 5679becf332..2f8bdd76b65 100644 --- a/appserver/packager/glassfish-jts/pom.xml +++ b/appserver/packager/glassfish-jts/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-jts Glassfish Java Transaction Service diff --git a/appserver/packager/glassfish-management-l10n/pom.xml b/appserver/packager/glassfish-management-l10n/pom.xml index 13b68391c8a..26bcc0a0a98 100644 --- a/appserver/packager/glassfish-management-l10n/pom.xml +++ b/appserver/packager/glassfish-management-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-management-l10n Glassfish Management Package l10n Package diff --git a/appserver/packager/glassfish-management/pom.xml b/appserver/packager/glassfish-management/pom.xml index 9cf17fe8702..82197b33280 100644 --- a/appserver/packager/glassfish-management/pom.xml +++ b/appserver/packager/glassfish-management/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-management Glassfish Management Package diff --git a/appserver/packager/glassfish-nucleus-l10n/pom.xml b/appserver/packager/glassfish-nucleus-l10n/pom.xml index 7cc2756b7e1..faac17ec47e 100644 --- a/appserver/packager/glassfish-nucleus-l10n/pom.xml +++ b/appserver/packager/glassfish-nucleus-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-nucleus-l10n Glassfish Nucleus l10n Package diff --git a/appserver/packager/glassfish-nucleus/pom.xml b/appserver/packager/glassfish-nucleus/pom.xml index a57cf72c25c..8eeb7b4779b 100644 --- a/appserver/packager/glassfish-nucleus/pom.xml +++ b/appserver/packager/glassfish-nucleus/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-nucleus Glassfish Nucleus Package diff --git a/appserver/packager/glassfish-osgi-feature-pack/pom.xml b/appserver/packager/glassfish-osgi-feature-pack/pom.xml index 81e2b9e8ed6..3eb6da73262 100644 --- a/appserver/packager/glassfish-osgi-feature-pack/pom.xml +++ b/appserver/packager/glassfish-osgi-feature-pack/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-osgi-feature-pack Glassfish OSGi Feature Pack Metapackage diff --git a/appserver/packager/glassfish-osgi-gui-l10n/pom.xml b/appserver/packager/glassfish-osgi-gui-l10n/pom.xml index 2709ab02775..1990fc810f0 100644 --- a/appserver/packager/glassfish-osgi-gui-l10n/pom.xml +++ b/appserver/packager/glassfish-osgi-gui-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-osgi-gui-l10n Glassfish OSGi Management console l10n Package diff --git a/appserver/packager/glassfish-osgi-gui/pom.xml b/appserver/packager/glassfish-osgi-gui/pom.xml index 4c9ffeb2be2..a870f2b45e8 100644 --- a/appserver/packager/glassfish-osgi-gui/pom.xml +++ b/appserver/packager/glassfish-osgi-gui/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-osgi-gui Glassfish OSGi Management console package diff --git a/appserver/packager/glassfish-osgi-http/pom.xml b/appserver/packager/glassfish-osgi-http/pom.xml index 81dd1447489..9f434a63da1 100644 --- a/appserver/packager/glassfish-osgi-http/pom.xml +++ b/appserver/packager/glassfish-osgi-http/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-osgi-http Glassfish OSGi HTTP Service package diff --git a/appserver/packager/glassfish-osgi-incorporation/pom.xml b/appserver/packager/glassfish-osgi-incorporation/pom.xml index 9f42f464bc1..d840f608f93 100644 --- a/appserver/packager/glassfish-osgi-incorporation/pom.xml +++ b/appserver/packager/glassfish-osgi-incorporation/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-osgi-incorporation Glassfish OSGi Feature Pack Incorporation Package diff --git a/appserver/packager/glassfish-osgi/pom.xml b/appserver/packager/glassfish-osgi/pom.xml index ed90ba8890b..ca1fcc4ffa8 100644 --- a/appserver/packager/glassfish-osgi/pom.xml +++ b/appserver/packager/glassfish-osgi/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-osgi Glassfish OSGi Support Package diff --git a/appserver/packager/glassfish-web-incorporation/pom.xml b/appserver/packager/glassfish-web-incorporation/pom.xml index 469e75bf885..348a35c9a8f 100644 --- a/appserver/packager/glassfish-web-incorporation/pom.xml +++ b/appserver/packager/glassfish-web-incorporation/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-web-incorporation Glassfish Web Profile Incorporation Package diff --git a/appserver/packager/glassfish-web-l10n/pom.xml b/appserver/packager/glassfish-web-l10n/pom.xml index 57d2471e250..f4f47178eb7 100644 --- a/appserver/packager/glassfish-web-l10n/pom.xml +++ b/appserver/packager/glassfish-web-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-web-l10n Glassfish Web Container l10n Package diff --git a/appserver/packager/glassfish-web-profile/pom.xml b/appserver/packager/glassfish-web-profile/pom.xml index 94aa5a7640f..3aa03d937c2 100644 --- a/appserver/packager/glassfish-web-profile/pom.xml +++ b/appserver/packager/glassfish-web-profile/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-web-profile Glassfish Web Profile Metapackage diff --git a/appserver/packager/glassfish-web/pom.xml b/appserver/packager/glassfish-web/pom.xml index 702a9311e5c..3d5649579ea 100644 --- a/appserver/packager/glassfish-web/pom.xml +++ b/appserver/packager/glassfish-web/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-web diff --git a/appserver/packager/h2db/pom.xml b/appserver/packager/h2db/pom.xml index 502ef910d06..5a2da490c12 100644 --- a/appserver/packager/h2db/pom.xml +++ b/appserver/packager/h2db/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT h2db H2 DB Package diff --git a/appserver/packager/hazelcast-l10n/pom.xml b/appserver/packager/hazelcast-l10n/pom.xml index 1d4291c242d..292144e12df 100644 --- a/appserver/packager/hazelcast-l10n/pom.xml +++ b/appserver/packager/hazelcast-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT hazelcast-l10n Hazelcast Localization Package diff --git a/appserver/packager/hazelcast/pom.xml b/appserver/packager/hazelcast/pom.xml index c202b35804c..60d364faa8b 100644 --- a/appserver/packager/hazelcast/pom.xml +++ b/appserver/packager/hazelcast/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT hazelcast Hazelcast Package diff --git a/appserver/packager/healthcheck/pom.xml b/appserver/packager/healthcheck/pom.xml index 8c61a991105..9ea20263de8 100644 --- a/appserver/packager/healthcheck/pom.xml +++ b/appserver/packager/healthcheck/pom.xml @@ -19,7 +19,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT healthcheck Healthcheck Package diff --git a/appserver/packager/jersey/pom.xml b/appserver/packager/jersey/pom.xml index cbea02ebfd7..8b37100f1e8 100644 --- a/appserver/packager/jersey/pom.xml +++ b/appserver/packager/jersey/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT jersey diff --git a/appserver/packager/json/pom.xml b/appserver/packager/json/pom.xml index a1e1431ff96..a69bb627727 100644 --- a/appserver/packager/json/pom.xml +++ b/appserver/packager/json/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT json JSON Package diff --git a/appserver/packager/legal/pom.xml b/appserver/packager/legal/pom.xml index 85384542b2f..1c3062ae1f3 100644 --- a/appserver/packager/legal/pom.xml +++ b/appserver/packager/legal/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 legal-fragment diff --git a/appserver/packager/metro-l10n/pom.xml b/appserver/packager/metro-l10n/pom.xml index ad3366bea6e..af48749812c 100644 --- a/appserver/packager/metro-l10n/pom.xml +++ b/appserver/packager/metro-l10n/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT metro-l10n Metro l10n Package diff --git a/appserver/packager/metro/pom.xml b/appserver/packager/metro/pom.xml index 99a64e67781..a0d2779f0ba 100644 --- a/appserver/packager/metro/pom.xml +++ b/appserver/packager/metro/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT metro Metro Package diff --git a/appserver/packager/microprofile-package/pom.xml b/appserver/packager/microprofile-package/pom.xml index 8c8dc1a6cb1..d6df6183736 100644 --- a/appserver/packager/microprofile-package/pom.xml +++ b/appserver/packager/microprofile-package/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-package diff --git a/appserver/packager/mq/pom.xml b/appserver/packager/mq/pom.xml index 19853545e04..3f3d4c8ab49 100644 --- a/appserver/packager/mq/pom.xml +++ b/appserver/packager/mq/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT mq MQ Package diff --git a/appserver/packager/notification-jms/pom.xml b/appserver/packager/notification-jms/pom.xml index 436dbece30f..efe13c313bd 100644 --- a/appserver/packager/notification-jms/pom.xml +++ b/appserver/packager/notification-jms/pom.xml @@ -19,7 +19,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT notification-jms JMS Notification Package diff --git a/appserver/packager/notification/pom.xml b/appserver/packager/notification/pom.xml index e382b002412..67143ee29d8 100644 --- a/appserver/packager/notification/pom.xml +++ b/appserver/packager/notification/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT notification Notification Package diff --git a/appserver/packager/opentracing-jaxws-package/pom.xml b/appserver/packager/opentracing-jaxws-package/pom.xml index 00b4cde1017..b2a8b5a0cc3 100644 --- a/appserver/packager/opentracing-jaxws-package/pom.xml +++ b/appserver/packager/opentracing-jaxws-package/pom.xml @@ -5,7 +5,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/packager/payara-api/pom.xml b/appserver/packager/payara-api/pom.xml index c1fca23b69c..83848a0ccd9 100644 --- a/appserver/packager/payara-api/pom.xml +++ b/appserver/packager/payara-api/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT payara-api diff --git a/appserver/packager/payara-executor-service/pom.xml b/appserver/packager/payara-executor-service/pom.xml index da7da426e03..b101832509e 100644 --- a/appserver/packager/payara-executor-service/pom.xml +++ b/appserver/packager/payara-executor-service/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT payara-executor-service Payara Executor Service Package diff --git a/appserver/packager/payara-micro/pom.xml b/appserver/packager/payara-micro/pom.xml index 4d86420fc02..d0fefbb9180 100644 --- a/appserver/packager/payara-micro/pom.xml +++ b/appserver/packager/payara-micro/pom.xml @@ -19,7 +19,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT payara-micro-package Payara Micro Package diff --git a/appserver/packager/payara-mvc/pom.xml b/appserver/packager/payara-mvc/pom.xml index ef8aaacfef3..61c6f20699c 100644 --- a/appserver/packager/payara-mvc/pom.xml +++ b/appserver/packager/payara-mvc/pom.xml @@ -6,7 +6,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT payara-mvc diff --git a/appserver/packager/payara-rest-endpoints/pom.xml b/appserver/packager/payara-rest-endpoints/pom.xml index 6ed90eac63e..d5d0be3ab4e 100644 --- a/appserver/packager/payara-rest-endpoints/pom.xml +++ b/appserver/packager/payara-rest-endpoints/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT payara-rest-endpoints Payara REST Endpoint information diff --git a/appserver/packager/phonehome/pom.xml b/appserver/packager/phonehome/pom.xml index 2773d978157..e896d49d288 100644 --- a/appserver/packager/phonehome/pom.xml +++ b/appserver/packager/phonehome/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT phonehome diff --git a/appserver/packager/pom.xml b/appserver/packager/pom.xml index 449187b26fc..6bf8ee866fa 100644 --- a/appserver/packager/pom.xml +++ b/appserver/packager/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.packager diff --git a/appserver/packager/requesttracing/pom.xml b/appserver/packager/requesttracing/pom.xml index 1cc3145281d..e1132b634b5 100644 --- a/appserver/packager/requesttracing/pom.xml +++ b/appserver/packager/requesttracing/pom.xml @@ -19,7 +19,7 @@ fish.payara.server.internal.packager packages - 7.2026.5 + 7.2026.6-SNAPSHOT requesttracing Request Tracing Package diff --git a/appserver/payara-appserver-modules/cdi-auth-roles/pom.xml b/appserver/payara-appserver-modules/cdi-auth-roles/pom.xml index 270a2e0dbc6..4c15bcd5369 100644 --- a/appserver/payara-appserver-modules/cdi-auth-roles/pom.xml +++ b/appserver/payara-appserver-modules/cdi-auth-roles/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT cdi-auth-roles diff --git a/appserver/payara-appserver-modules/environment-warning/pom.xml b/appserver/payara-appserver-modules/environment-warning/pom.xml index de18068023f..605c787090b 100644 --- a/appserver/payara-appserver-modules/environment-warning/pom.xml +++ b/appserver/payara-appserver-modules/environment-warning/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT environment-warning glassfish-jar diff --git a/appserver/payara-appserver-modules/hazelcast-eclipselink-coordination/pom.xml b/appserver/payara-appserver-modules/hazelcast-eclipselink-coordination/pom.xml index 0fabcda102f..fb359db0350 100644 --- a/appserver/payara-appserver-modules/hazelcast-eclipselink-coordination/pom.xml +++ b/appserver/payara-appserver-modules/hazelcast-eclipselink-coordination/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT hazelcast-eclipselink-coordination glassfish-jar diff --git a/appserver/payara-appserver-modules/hazelcast-ejb-timer/pom.xml b/appserver/payara-appserver-modules/hazelcast-ejb-timer/pom.xml index 1af3cf46b6e..e114018f73a 100644 --- a/appserver/payara-appserver-modules/hazelcast-ejb-timer/pom.xml +++ b/appserver/payara-appserver-modules/hazelcast-ejb-timer/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT hazelcast-ejb-timer glassfish-jar diff --git a/appserver/payara-appserver-modules/healthcheck-checker/pom.xml b/appserver/payara-appserver-modules/healthcheck-checker/pom.xml index 186e1add613..b11010fe0dd 100644 --- a/appserver/payara-appserver-modules/healthcheck-checker/pom.xml +++ b/appserver/payara-appserver-modules/healthcheck-checker/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT healthcheck-checker glassfish-jar diff --git a/appserver/payara-appserver-modules/healthcheck-metrics/pom.xml b/appserver/payara-appserver-modules/healthcheck-metrics/pom.xml index acce1cb319f..6912f87e8f4 100644 --- a/appserver/payara-appserver-modules/healthcheck-metrics/pom.xml +++ b/appserver/payara-appserver-modules/healthcheck-metrics/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT healthcheck-metrics glassfish-jar diff --git a/appserver/payara-appserver-modules/jaspic-servlet-utils/pom.xml b/appserver/payara-appserver-modules/jaspic-servlet-utils/pom.xml index 7f2b168e521..d1c4c21313b 100644 --- a/appserver/payara-appserver-modules/jaspic-servlet-utils/pom.xml +++ b/appserver/payara-appserver-modules/jaspic-servlet-utils/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT jaspic-servlet-utils glassfish-jar diff --git a/appserver/payara-appserver-modules/jaxrs-client-tracing/pom.xml b/appserver/payara-appserver-modules/jaxrs-client-tracing/pom.xml index b98f9ca1e0c..ed47f89eb5b 100644 --- a/appserver/payara-appserver-modules/jaxrs-client-tracing/pom.xml +++ b/appserver/payara-appserver-modules/jaxrs-client-tracing/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT jaxrs-client-tracing diff --git a/appserver/payara-appserver-modules/jmx-monitoring-service/pom.xml b/appserver/payara-appserver-modules/jmx-monitoring-service/pom.xml index 56092dacd36..99b95b79fa3 100644 --- a/appserver/payara-appserver-modules/jmx-monitoring-service/pom.xml +++ b/appserver/payara-appserver-modules/jmx-monitoring-service/pom.xml @@ -43,7 +43,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT jmx-monitoring glassfish-jar diff --git a/appserver/payara-appserver-modules/microprofile/config-extensions/pom.xml b/appserver/payara-appserver-modules/microprofile/config-extensions/pom.xml index f229ab43de5..8d998ca3612 100644 --- a/appserver/payara-appserver-modules/microprofile/config-extensions/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/config-extensions/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-config-extensions diff --git a/appserver/payara-appserver-modules/microprofile/config/pom.xml b/appserver/payara-appserver-modules/microprofile/config/pom.xml index 129ed4aedc0..024313fde54 100644 --- a/appserver/payara-appserver-modules/microprofile/config/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/config/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.payara-appserver-modules diff --git a/appserver/payara-appserver-modules/microprofile/fault-tolerance/pom.xml b/appserver/payara-appserver-modules/microprofile/fault-tolerance/pom.xml index b7d4767ad06..361cc4548f3 100644 --- a/appserver/payara-appserver-modules/microprofile/fault-tolerance/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/fault-tolerance/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.payara-appserver-modules microprofile-fault-tolerance diff --git a/appserver/payara-appserver-modules/microprofile/healthcheck/pom.xml b/appserver/payara-appserver-modules/microprofile/healthcheck/pom.xml index b1c33975eb2..41075a8fe23 100644 --- a/appserver/payara-appserver-modules/microprofile/healthcheck/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/healthcheck/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.payara-appserver-modules microprofile-healthcheck diff --git a/appserver/payara-appserver-modules/microprofile/jwt-auth/pom.xml b/appserver/payara-appserver-modules/microprofile/jwt-auth/pom.xml index 4c9334fd559..3030650e24a 100644 --- a/appserver/payara-appserver-modules/microprofile/jwt-auth/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/jwt-auth/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.payara-appserver-modules diff --git a/appserver/payara-appserver-modules/microprofile/metrics/pom.xml b/appserver/payara-appserver-modules/microprofile/metrics/pom.xml index 71ad011c7a3..001b885a890 100644 --- a/appserver/payara-appserver-modules/microprofile/metrics/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/metrics/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.payara-appserver-modules microprofile-metrics diff --git a/appserver/payara-appserver-modules/microprofile/microprofile-common/pom.xml b/appserver/payara-appserver-modules/microprofile/microprofile-common/pom.xml index 0bef0b6077a..6f3cb9a1558 100644 --- a/appserver/payara-appserver-modules/microprofile/microprofile-common/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/microprofile-common/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.payara-appserver-modules microprofile-common diff --git a/appserver/payara-appserver-modules/microprofile/microprofile-connector/pom.xml b/appserver/payara-appserver-modules/microprofile/microprofile-connector/pom.xml index 06ba992dfbf..9cb0cc12740 100644 --- a/appserver/payara-appserver-modules/microprofile/microprofile-connector/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/microprofile-connector/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-connector diff --git a/appserver/payara-appserver-modules/microprofile/openapi/pom.xml b/appserver/payara-appserver-modules/microprofile/openapi/pom.xml index 7978e94f363..cd45048ac05 100644 --- a/appserver/payara-appserver-modules/microprofile/openapi/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/openapi/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.payara-appserver-modules diff --git a/appserver/payara-appserver-modules/microprofile/opentracing-jaxws/pom.xml b/appserver/payara-appserver-modules/microprofile/opentracing-jaxws/pom.xml index fd1cfefc30b..8bf185646a3 100644 --- a/appserver/payara-appserver-modules/microprofile/opentracing-jaxws/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/opentracing-jaxws/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT opentracing-jaxws diff --git a/appserver/payara-appserver-modules/microprofile/opentracing/pom.xml b/appserver/payara-appserver-modules/microprofile/opentracing/pom.xml index 100562dd13d..fac13b859a8 100644 --- a/appserver/payara-appserver-modules/microprofile/opentracing/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/opentracing/pom.xml @@ -43,7 +43,7 @@ holder. fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-opentracing diff --git a/appserver/payara-appserver-modules/microprofile/pom.xml b/appserver/payara-appserver-modules/microprofile/pom.xml index cf8c416c804..d4a5c6e93e0 100644 --- a/appserver/payara-appserver-modules/microprofile/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/pom.xml @@ -43,7 +43,7 @@ holder. fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.payara-appserver-modules diff --git a/appserver/payara-appserver-modules/microprofile/rest-client-ssl/pom.xml b/appserver/payara-appserver-modules/microprofile/rest-client-ssl/pom.xml index 04dfe50954b..3b1c5ba2759 100644 --- a/appserver/payara-appserver-modules/microprofile/rest-client-ssl/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/rest-client-ssl/pom.xml @@ -45,7 +45,7 @@ holder. fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT rest-client-ssl diff --git a/appserver/payara-appserver-modules/microprofile/rest-client/pom.xml b/appserver/payara-appserver-modules/microprofile/rest-client/pom.xml index dab91e3cf74..18104547b16 100644 --- a/appserver/payara-appserver-modules/microprofile/rest-client/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/rest-client/pom.xml @@ -45,7 +45,7 @@ holder. fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-rest-client diff --git a/appserver/payara-appserver-modules/microprofile/telemetry/pom.xml b/appserver/payara-appserver-modules/microprofile/telemetry/pom.xml index 5c98af921ab..85dbda4e985 100644 --- a/appserver/payara-appserver-modules/microprofile/telemetry/pom.xml +++ b/appserver/payara-appserver-modules/microprofile/telemetry/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.payara-appserver-modules microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT diff --git a/appserver/payara-appserver-modules/notification-jms-core/pom.xml b/appserver/payara-appserver-modules/notification-jms-core/pom.xml index abb12a36a24..3f101e6a3e6 100644 --- a/appserver/payara-appserver-modules/notification-jms-core/pom.xml +++ b/appserver/payara-appserver-modules/notification-jms-core/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT notification-jms-core glassfish-jar diff --git a/appserver/payara-appserver-modules/payara-jsr107/pom.xml b/appserver/payara-appserver-modules/payara-jsr107/pom.xml index 196226d55f7..4c31f7bdc48 100644 --- a/appserver/payara-appserver-modules/payara-jsr107/pom.xml +++ b/appserver/payara-appserver-modules/payara-jsr107/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT payara-jsr107 glassfish-jar diff --git a/appserver/payara-appserver-modules/payara-micro-cdi/pom.xml b/appserver/payara-appserver-modules/payara-micro-cdi/pom.xml index 840ce6551a5..e8108937c16 100644 --- a/appserver/payara-appserver-modules/payara-micro-cdi/pom.xml +++ b/appserver/payara-appserver-modules/payara-micro-cdi/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT payara-micro-cdi glassfish-jar diff --git a/appserver/payara-appserver-modules/payara-micro-service/pom.xml b/appserver/payara-appserver-modules/payara-micro-service/pom.xml index 48fe791ae72..c189af2ffc0 100644 --- a/appserver/payara-appserver-modules/payara-micro-service/pom.xml +++ b/appserver/payara-appserver-modules/payara-micro-service/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT payara-micro-service diff --git a/appserver/payara-appserver-modules/payara-rest-endpoints/pom.xml b/appserver/payara-appserver-modules/payara-rest-endpoints/pom.xml index ba0ed065b89..defbb2220d0 100644 --- a/appserver/payara-appserver-modules/payara-rest-endpoints/pom.xml +++ b/appserver/payara-appserver-modules/payara-rest-endpoints/pom.xml @@ -44,7 +44,7 @@ holder. fish.payara.server.internal.payara-appserver-modules payara-appserver-modules - 7.2026.5 + 7.2026.6-SNAPSHOT payara-rest-endpoints diff --git a/appserver/payara-appserver-modules/pom.xml b/appserver/payara-appserver-modules/pom.xml index 78bef8e8def..85450cd5244 100644 --- a/appserver/payara-appserver-modules/pom.xml +++ b/appserver/payara-appserver-modules/pom.xml @@ -43,7 +43,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.payara-appserver-modules payara-appserver-modules diff --git a/appserver/persistence/common/pom.xml b/appserver/persistence/common/pom.xml index 2cd772ca0e6..4f4ba147ba8 100644 --- a/appserver/persistence/common/pom.xml +++ b/appserver/persistence/common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5 + 7.2026.6-SNAPSHOT persistence-common glassfish-jar diff --git a/appserver/persistence/eclipselink-wrapper/pom.xml b/appserver/persistence/eclipselink-wrapper/pom.xml index c381006906f..310687119c2 100644 --- a/appserver/persistence/eclipselink-wrapper/pom.xml +++ b/appserver/persistence/eclipselink-wrapper/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5 + 7.2026.6-SNAPSHOT eclipselink-wrapper pom diff --git a/appserver/persistence/gf-jpa-connector/pom.xml b/appserver/persistence/gf-jpa-connector/pom.xml index 55ee2e6ee24..f3e272423c4 100644 --- a/appserver/persistence/gf-jpa-connector/pom.xml +++ b/appserver/persistence/gf-jpa-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5 + 7.2026.6-SNAPSHOT gf-jpa-connector diff --git a/appserver/persistence/jpa-container-l10n/pom.xml b/appserver/persistence/jpa-container-l10n/pom.xml index 084f579317b..7fff8d45725 100755 --- a/appserver/persistence/jpa-container-l10n/pom.xml +++ b/appserver/persistence/jpa-container-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5 + 7.2026.6-SNAPSHOT jpa-container-l10n diff --git a/appserver/persistence/jpa-container/pom.xml b/appserver/persistence/jpa-container/pom.xml index b3c6ef6c8b8..ccc870ce5e6 100644 --- a/appserver/persistence/jpa-container/pom.xml +++ b/appserver/persistence/jpa-container/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5 + 7.2026.6-SNAPSHOT jpa-container glassfish-jar diff --git a/appserver/persistence/oracle-jdbc-driver-packages/pom.xml b/appserver/persistence/oracle-jdbc-driver-packages/pom.xml index 2e6669d6732..369d8658add 100755 --- a/appserver/persistence/oracle-jdbc-driver-packages/pom.xml +++ b/appserver/persistence/oracle-jdbc-driver-packages/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.persistence persistence - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-oracle-jdbc-driver-packages GlassFish Oracle JDBC Packages diff --git a/appserver/persistence/pom.xml b/appserver/persistence/pom.xml index 1f241444032..809f6cf67f5 100644 --- a/appserver/persistence/pom.xml +++ b/appserver/persistence/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.persistence persistence diff --git a/appserver/pom.xml b/appserver/pom.xml index e6699474e9d..44c49d8a87e 100644 --- a/appserver/pom.xml +++ b/appserver/pom.xml @@ -49,7 +49,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT ../nucleus/pom.xml diff --git a/appserver/resources/javamail/javamail-connector-l10n/pom.xml b/appserver/resources/javamail/javamail-connector-l10n/pom.xml index 4fea2b726f1..7a95ec30e66 100755 --- a/appserver/resources/javamail/javamail-connector-l10n/pom.xml +++ b/appserver/resources/javamail/javamail-connector-l10n/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.resources javamail - 7.2026.5 + 7.2026.6-SNAPSHOT javamail-connector-l10n diff --git a/appserver/resources/javamail/javamail-connector/pom.xml b/appserver/resources/javamail/javamail-connector/pom.xml index 038db5f4d08..c7881d91214 100644 --- a/appserver/resources/javamail/javamail-connector/pom.xml +++ b/appserver/resources/javamail/javamail-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.resources javamail - 7.2026.5 + 7.2026.6-SNAPSHOT javamail-connector diff --git a/appserver/resources/javamail/javamail-runtime/pom.xml b/appserver/resources/javamail/javamail-runtime/pom.xml index be44a74730c..da630780705 100644 --- a/appserver/resources/javamail/javamail-runtime/pom.xml +++ b/appserver/resources/javamail/javamail-runtime/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.resources javamail - 7.2026.5 + 7.2026.6-SNAPSHOT javamail-runtime diff --git a/appserver/resources/javamail/pom.xml b/appserver/resources/javamail/pom.xml index 5d8cbd573f1..a11995d02ba 100644 --- a/appserver/resources/javamail/pom.xml +++ b/appserver/resources/javamail/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.resources resources - 7.2026.5 + 7.2026.6-SNAPSHOT javamail diff --git a/appserver/resources/pom.xml b/appserver/resources/pom.xml index 90b0fafad0b..38d148d3aeb 100644 --- a/appserver/resources/pom.xml +++ b/appserver/resources/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.resources resources diff --git a/appserver/resources/resources-connector-l10n/pom.xml b/appserver/resources/resources-connector-l10n/pom.xml index 371971f4d4c..061035e0347 100755 --- a/appserver/resources/resources-connector-l10n/pom.xml +++ b/appserver/resources/resources-connector-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.resources resources - 7.2026.5 + 7.2026.6-SNAPSHOT resources-connector-l10n diff --git a/appserver/resources/resources-connector/pom.xml b/appserver/resources/resources-connector/pom.xml index 63d4e7355f6..96b8ba8dbc3 100755 --- a/appserver/resources/resources-connector/pom.xml +++ b/appserver/resources/resources-connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.resources resources - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 resources-connector diff --git a/appserver/resources/resources-runtime/pom.xml b/appserver/resources/resources-runtime/pom.xml index 9d8ba870c5f..767b9fdb7b9 100755 --- a/appserver/resources/resources-runtime/pom.xml +++ b/appserver/resources/resources-runtime/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.resources resources - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 resources-runtime diff --git a/appserver/security/appclient.security/pom.xml b/appserver/security/appclient.security/pom.xml index 1cde61bf825..2c259318902 100644 --- a/appserver/security/appclient.security/pom.xml +++ b/appserver/security/appclient.security/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5 + 7.2026.6-SNAPSHOT appclient.security glassfish-jar diff --git a/appserver/security/core-ee-l10n/pom.xml b/appserver/security/core-ee-l10n/pom.xml index d30349357a8..4137221963d 100755 --- a/appserver/security/core-ee-l10n/pom.xml +++ b/appserver/security/core-ee-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5 + 7.2026.6-SNAPSHOT security-ee-l10n diff --git a/appserver/security/core-ee/pom.xml b/appserver/security/core-ee/pom.xml index 39069f1328d..2898242ae16 100644 --- a/appserver/security/core-ee/pom.xml +++ b/appserver/security/core-ee/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.security security-ee diff --git a/appserver/security/ejb.security/pom.xml b/appserver/security/ejb.security/pom.xml index 89fb40afe79..af2f07fcb16 100644 --- a/appserver/security/ejb.security/pom.xml +++ b/appserver/security/ejb.security/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5 + 7.2026.6-SNAPSHOT ejb.security glassfish-jar diff --git a/appserver/security/jacc.provider.inmemory/pom.xml b/appserver/security/jacc.provider.inmemory/pom.xml index 58450124e96..32b4cdf0e2c 100644 --- a/appserver/security/jacc.provider.inmemory/pom.xml +++ b/appserver/security/jacc.provider.inmemory/pom.xml @@ -49,7 +49,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5 + 7.2026.6-SNAPSHOT jacc.provider.inmemory diff --git a/appserver/security/pom.xml b/appserver/security/pom.xml index 7726a9776ce..312b789851c 100644 --- a/appserver/security/pom.xml +++ b/appserver/security/pom.xml @@ -49,7 +49,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.security diff --git a/appserver/security/realm-stores/pom.xml b/appserver/security/realm-stores/pom.xml index cd431c980b1..afa5637ee3b 100644 --- a/appserver/security/realm-stores/pom.xml +++ b/appserver/security/realm-stores/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5 + 7.2026.6-SNAPSHOT realm-stores diff --git a/appserver/security/security-all/pom.xml b/appserver/security/security-all/pom.xml index 55196fd975a..7463a2c55ad 100644 --- a/appserver/security/security-all/pom.xml +++ b/appserver/security/security-all/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5 + 7.2026.6-SNAPSHOT security-all pom diff --git a/appserver/security/webintegration/pom.xml b/appserver/security/webintegration/pom.xml index b646d2c2772..548f98c9c48 100644 --- a/appserver/security/webintegration/pom.xml +++ b/appserver/security/webintegration/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.security diff --git a/appserver/security/webservices.security-l10n/pom.xml b/appserver/security/webservices.security-l10n/pom.xml index b428a40e872..15340d203f7 100755 --- a/appserver/security/webservices.security-l10n/pom.xml +++ b/appserver/security/webservices.security-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5 + 7.2026.6-SNAPSHOT webservices.security-l10n diff --git a/appserver/security/webservices.security/pom.xml b/appserver/security/webservices.security/pom.xml index 9894c10da5a..dfb7d3f1c47 100644 --- a/appserver/security/webservices.security/pom.xml +++ b/appserver/security/webservices.security/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security securitymodule - 7.2026.5 + 7.2026.6-SNAPSHOT webservices.security glassfish-jar diff --git a/appserver/tests/fish372-tests/datagrid-tests/pom.xml b/appserver/tests/fish372-tests/datagrid-tests/pom.xml index 2e1a7a9d387..5251cd03b3d 100644 --- a/appserver/tests/fish372-tests/datagrid-tests/pom.xml +++ b/appserver/tests/fish372-tests/datagrid-tests/pom.xml @@ -46,7 +46,7 @@ fish372-tests fish.payara.server - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 datagrid-tests diff --git a/appserver/tests/fish372-tests/pom.xml b/appserver/tests/fish372-tests/pom.xml index 4a8cdcf6be8..246e321378e 100644 --- a/appserver/tests/fish372-tests/pom.xml +++ b/appserver/tests/fish372-tests/pom.xml @@ -46,7 +46,7 @@ payara-parent fish.payara.server - 7.2026.5 + 7.2026.6-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/appserver/tests/functional/embeddedtest/pom.xml b/appserver/tests/functional/embeddedtest/pom.xml index 31a63be7a82..378169c3ae2 100644 --- a/appserver/tests/functional/embeddedtest/pom.xml +++ b/appserver/tests/functional/embeddedtest/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.tests payara-tests - 7.2026.5 + 7.2026.6-SNAPSHOT ../../pom.xml @@ -54,7 +54,7 @@ 4.0.0 payara-embedded-test jar - 7.2026.5 + 7.2026.6-SNAPSHOT all diff --git a/appserver/tests/functional/payara-application-xml/pom.xml b/appserver/tests/functional/payara-application-xml/pom.xml index dd3552622b8..00948753f1e 100644 --- a/appserver/tests/functional/payara-application-xml/pom.xml +++ b/appserver/tests/functional/payara-application-xml/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT ../../payara-samples/samples diff --git a/appserver/tests/functional/payara-micro/pom.xml b/appserver/tests/functional/payara-micro/pom.xml index f7e09b33f54..8cf7151d2e4 100644 --- a/appserver/tests/functional/payara-micro/pom.xml +++ b/appserver/tests/functional/payara-micro/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT ../../payara-samples/samples diff --git a/appserver/tests/payara-samples/classloader-data-api/pom.xml b/appserver/tests/payara-samples/classloader-data-api/pom.xml index b5dc05ce5bb..de25005a67b 100644 --- a/appserver/tests/payara-samples/classloader-data-api/pom.xml +++ b/appserver/tests/payara-samples/classloader-data-api/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.samples diff --git a/appserver/tests/payara-samples/ejb-invoker-secure-endpoint/pom.xml b/appserver/tests/payara-samples/ejb-invoker-secure-endpoint/pom.xml index a469033a107..e7cd6e09b1d 100644 --- a/appserver/tests/payara-samples/ejb-invoker-secure-endpoint/pom.xml +++ b/appserver/tests/payara-samples/ejb-invoker-secure-endpoint/pom.xml @@ -5,7 +5,7 @@ fish.payara.samples payara-samples - 7.2026.5 + 7.2026.6-SNAPSHOT ejb-invoker-secure-endpoint diff --git a/appserver/tests/payara-samples/micro-programmatic/pom.xml b/appserver/tests/payara-samples/micro-programmatic/pom.xml index 1f664365df0..be9c1e38540 100644 --- a/appserver/tests/payara-samples/micro-programmatic/pom.xml +++ b/appserver/tests/payara-samples/micro-programmatic/pom.xml @@ -7,7 +7,7 @@ fish.payara.samples payara-samples - 7.2026.5 + 7.2026.6-SNAPSHOT samples-micro-programmatic diff --git a/appserver/tests/payara-samples/pom.xml b/appserver/tests/payara-samples/pom.xml index 437da67dddd..4a675a8f002 100644 --- a/appserver/tests/payara-samples/pom.xml +++ b/appserver/tests/payara-samples/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.tests payara-tests - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.samples diff --git a/appserver/tests/payara-samples/repackaged/http-matchers-repackaged/pom.xml b/appserver/tests/payara-samples/repackaged/http-matchers-repackaged/pom.xml index d716f27acf3..7824730d4c7 100644 --- a/appserver/tests/payara-samples/repackaged/http-matchers-repackaged/pom.xml +++ b/appserver/tests/payara-samples/repackaged/http-matchers-repackaged/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.tests repackaged - 7.2026.5 + 7.2026.6-SNAPSHOT http-matchers-repackaged diff --git a/appserver/tests/payara-samples/repackaged/pom.xml b/appserver/tests/payara-samples/repackaged/pom.xml index 7ff4819735f..3d7a6cd099f 100644 --- a/appserver/tests/payara-samples/repackaged/pom.xml +++ b/appserver/tests/payara-samples/repackaged/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.tests diff --git a/appserver/tests/payara-samples/repackaged/smallrye-config-repackaged/pom.xml b/appserver/tests/payara-samples/repackaged/smallrye-config-repackaged/pom.xml index 1f538dde31e..643f3adb425 100644 --- a/appserver/tests/payara-samples/repackaged/smallrye-config-repackaged/pom.xml +++ b/appserver/tests/payara-samples/repackaged/smallrye-config-repackaged/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.tests repackaged - 7.2026.5 + 7.2026.6-SNAPSHOT smallrye-config-repackaged Payara Samples - Payara - smallrye-config repackaged as a module diff --git a/appserver/tests/payara-samples/samples/cleanboot/pom.xml b/appserver/tests/payara-samples/samples/cleanboot/pom.xml index 46e8d9f4881..12c03692d8d 100644 --- a/appserver/tests/payara-samples/samples/cleanboot/pom.xml +++ b/appserver/tests/payara-samples/samples/cleanboot/pom.xml @@ -36,7 +36,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT diff --git a/appserver/tests/payara-samples/samples/client-certificate-validator/pom.xml b/appserver/tests/payara-samples/samples/client-certificate-validator/pom.xml index 4e13b5f676f..7f78add4798 100644 --- a/appserver/tests/payara-samples/samples/client-certificate-validator/pom.xml +++ b/appserver/tests/payara-samples/samples/client-certificate-validator/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-ejb/pom.xml b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-ejb/pom.xml index 74542fff5df..e9feb95f9dd 100644 --- a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-ejb/pom.xml +++ b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-ejb/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples clustered-singleton-parent - 7.2026.5 + 7.2026.6-SNAPSHOT clustered-singleton-ejb diff --git a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/pom.xml b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/pom.xml index 97debdb0c21..d765278c076 100644 --- a/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/pom.xml +++ b/appserver/tests/payara-samples/samples/clustered-singleton/clustered-singleton-test/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples clustered-singleton-parent - 7.2026.5 + 7.2026.6-SNAPSHOT diff --git a/appserver/tests/payara-samples/samples/clustered-singleton/pom.xml b/appserver/tests/payara-samples/samples/clustered-singleton/pom.xml index 40a25a2aef3..1d60fe89b7f 100644 --- a/appserver/tests/payara-samples/samples/clustered-singleton/pom.xml +++ b/appserver/tests/payara-samples/samples/clustered-singleton/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT clustered-singleton-parent diff --git a/appserver/tests/payara-samples/samples/concurrency/pom.xml b/appserver/tests/payara-samples/samples/concurrency/pom.xml index 26149d07288..7c55b253286 100644 --- a/appserver/tests/payara-samples/samples/concurrency/pom.xml +++ b/appserver/tests/payara-samples/samples/concurrency/pom.xml @@ -45,7 +45,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5 + 7.2026.6-SNAPSHOT concurrency diff --git a/appserver/tests/payara-samples/samples/corba-read-timeout/pom.xml b/appserver/tests/payara-samples/samples/corba-read-timeout/pom.xml index 86563ecf057..f96db9e622f 100644 --- a/appserver/tests/payara-samples/samples/corba-read-timeout/pom.xml +++ b/appserver/tests/payara-samples/samples/corba-read-timeout/pom.xml @@ -44,7 +44,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-impl/pom.xml b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-impl/pom.xml index 3398ca376b5..ab88e782b97 100644 --- a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-impl/pom.xml +++ b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-impl/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples custom-loginmodule-realm - 7.2026.5 + 7.2026.6-SNAPSHOT loginmodule-realm-impl diff --git a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-test/pom.xml b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-test/pom.xml index 600106dd269..b5bd1eee9a3 100644 --- a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-test/pom.xml +++ b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/loginmodule-realm-test/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples custom-loginmodule-realm - 7.2026.5 + 7.2026.6-SNAPSHOT loginmodule-realm-test diff --git a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/pom.xml b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/pom.xml index 42faf70c0d2..e98516477bb 100644 --- a/appserver/tests/payara-samples/samples/custom-loginmodule-realm/pom.xml +++ b/appserver/tests/payara-samples/samples/custom-loginmodule-realm/pom.xml @@ -7,7 +7,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT custom-loginmodule-realm diff --git a/appserver/tests/payara-samples/samples/data/pom.xml b/appserver/tests/payara-samples/samples/data/pom.xml index eb9ce1e556d..2416894f73c 100644 --- a/appserver/tests/payara-samples/samples/data/pom.xml +++ b/appserver/tests/payara-samples/samples/data/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT data diff --git a/appserver/tests/payara-samples/samples/dynamic-roles/pom.xml b/appserver/tests/payara-samples/samples/dynamic-roles/pom.xml index 83e97cf4e0a..24e6b5b5637 100644 --- a/appserver/tests/payara-samples/samples/dynamic-roles/pom.xml +++ b/appserver/tests/payara-samples/samples/dynamic-roles/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT dynamic-roles diff --git a/appserver/tests/payara-samples/samples/ejb-http-remoting/pom.xml b/appserver/tests/payara-samples/samples/ejb-http-remoting/pom.xml index ba9a71cd06a..ea0eeeb19a6 100644 --- a/appserver/tests/payara-samples/samples/ejb-http-remoting/pom.xml +++ b/appserver/tests/payara-samples/samples/ejb-http-remoting/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT diff --git a/appserver/tests/payara-samples/samples/formauth/pom.xml b/appserver/tests/payara-samples/samples/formauth/pom.xml index a00ff740777..558c29f3e7b 100644 --- a/appserver/tests/payara-samples/samples/formauth/pom.xml +++ b/appserver/tests/payara-samples/samples/formauth/pom.xml @@ -32,7 +32,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT formauth diff --git a/appserver/tests/payara-samples/samples/http/pom.xml b/appserver/tests/payara-samples/samples/http/pom.xml index 66389c49f21..d99580d5728 100644 --- a/appserver/tests/payara-samples/samples/http/pom.xml +++ b/appserver/tests/payara-samples/samples/http/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT http diff --git a/appserver/tests/payara-samples/samples/jacc-per-app/pom.xml b/appserver/tests/payara-samples/samples/jacc-per-app/pom.xml index b86ab857f7c..8a6c479674c 100644 --- a/appserver/tests/payara-samples/samples/jacc-per-app/pom.xml +++ b/appserver/tests/payara-samples/samples/jacc-per-app/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT jacc-per-app diff --git a/appserver/tests/payara-samples/samples/jaxrs-rolesallowed-servlet/pom.xml b/appserver/tests/payara-samples/samples/jaxrs-rolesallowed-servlet/pom.xml index a258ea4ee4a..4a58f4aa61e 100644 --- a/appserver/tests/payara-samples/samples/jaxrs-rolesallowed-servlet/pom.xml +++ b/appserver/tests/payara-samples/samples/jaxrs-rolesallowed-servlet/pom.xml @@ -7,7 +7,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT jaxrs-rolesallowed-servlet diff --git a/appserver/tests/payara-samples/samples/jaxrs-rolesallowed/pom.xml b/appserver/tests/payara-samples/samples/jaxrs-rolesallowed/pom.xml index 1ac64b8af86..4049019e5e1 100644 --- a/appserver/tests/payara-samples/samples/jaxrs-rolesallowed/pom.xml +++ b/appserver/tests/payara-samples/samples/jaxrs-rolesallowed/pom.xml @@ -7,7 +7,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT jaxrs-rolesallowed-EE diff --git a/appserver/tests/payara-samples/samples/jaxws-security/pom.xml b/appserver/tests/payara-samples/samples/jaxws-security/pom.xml index 8da303a4785..1c1b4f1e2a6 100644 --- a/appserver/tests/payara-samples/samples/jaxws-security/pom.xml +++ b/appserver/tests/payara-samples/samples/jaxws-security/pom.xml @@ -5,7 +5,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT jaxws-security diff --git a/appserver/tests/payara-samples/samples/jaxws-tracing/pom.xml b/appserver/tests/payara-samples/samples/jaxws-tracing/pom.xml index 356072abe70..fbc048aae3e 100644 --- a/appserver/tests/payara-samples/samples/jaxws-tracing/pom.xml +++ b/appserver/tests/payara-samples/samples/jaxws-tracing/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT jaxws-tracing diff --git a/appserver/tests/payara-samples/samples/legacy-mode-empty-beans-xml/pom.xml b/appserver/tests/payara-samples/samples/legacy-mode-empty-beans-xml/pom.xml index dc8f825e27c..12f929c0652 100644 --- a/appserver/tests/payara-samples/samples/legacy-mode-empty-beans-xml/pom.xml +++ b/appserver/tests/payara-samples/samples/legacy-mode-empty-beans-xml/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT diff --git a/appserver/tests/payara-samples/samples/logging/pom.xml b/appserver/tests/payara-samples/samples/logging/pom.xml index 95db3f7b4bd..90562422031 100644 --- a/appserver/tests/payara-samples/samples/logging/pom.xml +++ b/appserver/tests/payara-samples/samples/logging/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/payara-samples/samples/microprofile-config/pom.xml b/appserver/tests/payara-samples/samples/microprofile-config/pom.xml index fee20943074..718cdf8d869 100644 --- a/appserver/tests/payara-samples/samples/microprofile-config/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-config/pom.xml @@ -44,7 +44,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/payara-samples/samples/microprofile-endpoints/insecure/pom.xml b/appserver/tests/payara-samples/samples/microprofile-endpoints/insecure/pom.xml index 12ba9aaeb5c..315b29df903 100644 --- a/appserver/tests/payara-samples/samples/microprofile-endpoints/insecure/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-endpoints/insecure/pom.xml @@ -32,7 +32,7 @@ fish.payara.samples microprofile-endpoints - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-insecure-endpoints diff --git a/appserver/tests/payara-samples/samples/microprofile-endpoints/pom.xml b/appserver/tests/payara-samples/samples/microprofile-endpoints/pom.xml index 5d837ea9cdd..8d2925a1894 100644 --- a/appserver/tests/payara-samples/samples/microprofile-endpoints/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-endpoints/pom.xml @@ -32,7 +32,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-endpoints diff --git a/appserver/tests/payara-samples/samples/microprofile-endpoints/secure/pom.xml b/appserver/tests/payara-samples/samples/microprofile-endpoints/secure/pom.xml index fedb0d2e09d..787a74f9c02 100644 --- a/appserver/tests/payara-samples/samples/microprofile-endpoints/secure/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-endpoints/secure/pom.xml @@ -32,7 +32,7 @@ fish.payara.samples microprofile-endpoints - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-secure-endpoints diff --git a/appserver/tests/payara-samples/samples/microprofile-healthcheck/pom.xml b/appserver/tests/payara-samples/samples/microprofile-healthcheck/pom.xml index 2b94e064930..82b3d9ca46f 100644 --- a/appserver/tests/payara-samples/samples/microprofile-healthcheck/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-healthcheck/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.samples.microprofile diff --git a/appserver/tests/payara-samples/samples/microprofile-jwt-error-cache/pom.xml b/appserver/tests/payara-samples/samples/microprofile-jwt-error-cache/pom.xml index 622efbacd4a..c49eb21ba43 100644 --- a/appserver/tests/payara-samples/samples/microprofile-jwt-error-cache/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-jwt-error-cache/pom.xml @@ -6,7 +6,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-jwt-error-cache diff --git a/appserver/tests/payara-samples/samples/microprofile-rc-ft/pom.xml b/appserver/tests/payara-samples/samples/microprofile-rc-ft/pom.xml index 4d9b70a0d05..ea06626239f 100644 --- a/appserver/tests/payara-samples/samples/microprofile-rc-ft/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-rc-ft/pom.xml @@ -44,7 +44,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/payara-samples/samples/microprofile-rest-client/pom.xml b/appserver/tests/payara-samples/samples/microprofile-rest-client/pom.xml index b1e53406ecb..3f95245c652 100644 --- a/appserver/tests/payara-samples/samples/microprofile-rest-client/pom.xml +++ b/appserver/tests/payara-samples/samples/microprofile-rest-client/pom.xml @@ -44,7 +44,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/payara-samples/samples/multiple-keystores/pom.xml b/appserver/tests/payara-samples/samples/multiple-keystores/pom.xml index e0ad3f6c466..8ce7cf0c4d0 100644 --- a/appserver/tests/payara-samples/samples/multiple-keystores/pom.xml +++ b/appserver/tests/payara-samples/samples/multiple-keystores/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT multiple-keystore diff --git a/appserver/tests/payara-samples/samples/mvc/pom.xml b/appserver/tests/payara-samples/samples/mvc/pom.xml index c114d618345..9965797d137 100644 --- a/appserver/tests/payara-samples/samples/mvc/pom.xml +++ b/appserver/tests/payara-samples/samples/mvc/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT mvc diff --git a/appserver/tests/payara-samples/samples/oauth2/pom.xml b/appserver/tests/payara-samples/samples/oauth2/pom.xml index e3db5c5ba85..5e582da4b2f 100644 --- a/appserver/tests/payara-samples/samples/oauth2/pom.xml +++ b/appserver/tests/payara-samples/samples/oauth2/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT oauth2 diff --git a/appserver/tests/payara-samples/samples/openid/pom.xml b/appserver/tests/payara-samples/samples/openid/pom.xml index d3ab9d5e980..7fd03ec3cf6 100644 --- a/appserver/tests/payara-samples/samples/openid/pom.xml +++ b/appserver/tests/payara-samples/samples/openid/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT openid diff --git a/appserver/tests/payara-samples/samples/opentelemetry/pom.xml b/appserver/tests/payara-samples/samples/opentelemetry/pom.xml index aa6999920c9..a2d307ddab9 100644 --- a/appserver/tests/payara-samples/samples/opentelemetry/pom.xml +++ b/appserver/tests/payara-samples/samples/opentelemetry/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT Payara Samples - OpenTelemetry diff --git a/appserver/tests/payara-samples/samples/payara-expression-config-properties/pom.xml b/appserver/tests/payara-samples/samples/payara-expression-config-properties/pom.xml index 19fd3832c8b..e78c09c0c5b 100644 --- a/appserver/tests/payara-samples/samples/payara-expression-config-properties/pom.xml +++ b/appserver/tests/payara-samples/samples/payara-expression-config-properties/pom.xml @@ -46,7 +46,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/payara-samples/samples/pom.xml b/appserver/tests/payara-samples/samples/pom.xml index 78f1a198ea4..50d0f0ae44f 100644 --- a/appserver/tests/payara-samples/samples/pom.xml +++ b/appserver/tests/payara-samples/samples/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples - 7.2026.5 + 7.2026.6-SNAPSHOT payara-samples-profiled-tests diff --git a/appserver/tests/payara-samples/samples/realm-identity-stores/pom.xml b/appserver/tests/payara-samples/samples/realm-identity-stores/pom.xml index ae6d0c4e7cd..d31d9d1e2bf 100644 --- a/appserver/tests/payara-samples/samples/realm-identity-stores/pom.xml +++ b/appserver/tests/payara-samples/samples/realm-identity-stores/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT realm-identity-stores diff --git a/appserver/tests/payara-samples/samples/remote-ejb-tracing/pom.xml b/appserver/tests/payara-samples/samples/remote-ejb-tracing/pom.xml index e07115c637d..42f24f73e50 100644 --- a/appserver/tests/payara-samples/samples/remote-ejb-tracing/pom.xml +++ b/appserver/tests/payara-samples/samples/remote-ejb-tracing/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT diff --git a/appserver/tests/payara-samples/samples/reproducers/pom.xml b/appserver/tests/payara-samples/samples/reproducers/pom.xml index 977ab43314a..89ca9c5dd46 100644 --- a/appserver/tests/payara-samples/samples/reproducers/pom.xml +++ b/appserver/tests/payara-samples/samples/reproducers/pom.xml @@ -45,7 +45,7 @@ payara-samples-profiled-tests fish.payara.samples - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/payara-samples/samples/rest-management/pom.xml b/appserver/tests/payara-samples/samples/rest-management/pom.xml index 35b3feff5c3..5c40d0c4e44 100644 --- a/appserver/tests/payara-samples/samples/rest-management/pom.xml +++ b/appserver/tests/payara-samples/samples/rest-management/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT rest-management diff --git a/appserver/tests/payara-samples/samples/rolesPermitted/pom.xml b/appserver/tests/payara-samples/samples/rolesPermitted/pom.xml index eec7f2d565d..6caa5e4e17b 100644 --- a/appserver/tests/payara-samples/samples/rolesPermitted/pom.xml +++ b/appserver/tests/payara-samples/samples/rolesPermitted/pom.xml @@ -43,7 +43,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT rolesPermitted diff --git a/appserver/tests/payara-samples/samples/rolesallowed-unprotected-methods/pom.xml b/appserver/tests/payara-samples/samples/rolesallowed-unprotected-methods/pom.xml index 14c9bfc464f..3b5d2a50cea 100644 --- a/appserver/tests/payara-samples/samples/rolesallowed-unprotected-methods/pom.xml +++ b/appserver/tests/payara-samples/samples/rolesallowed-unprotected-methods/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT diff --git a/appserver/tests/payara-samples/samples/sfsb-passivation/pom.xml b/appserver/tests/payara-samples/samples/sfsb-passivation/pom.xml index cd40f91d17d..fc85de4f9a8 100644 --- a/appserver/tests/payara-samples/samples/sfsb-passivation/pom.xml +++ b/appserver/tests/payara-samples/samples/sfsb-passivation/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT sfsb-passivation diff --git a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml index 93f6904bf7c..800d5f8705f 100644 --- a/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml +++ b/appserver/tests/payara-samples/samples/use-bundled-jsf-primefaces/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT use-bundled-jsf-primefaces diff --git a/appserver/tests/payara-samples/samples/versioned-deployment/pom.xml b/appserver/tests/payara-samples/samples/versioned-deployment/pom.xml index 439f17ee51d..a576f018e2a 100644 --- a/appserver/tests/payara-samples/samples/versioned-deployment/pom.xml +++ b/appserver/tests/payara-samples/samples/versioned-deployment/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples-profiled-tests - 7.2026.5 + 7.2026.6-SNAPSHOT versioned-deployment diff --git a/appserver/tests/payara-samples/test-domain-setup/pom.xml b/appserver/tests/payara-samples/test-domain-setup/pom.xml index 0abf8adad40..a92b3934a04 100644 --- a/appserver/tests/payara-samples/test-domain-setup/pom.xml +++ b/appserver/tests/payara-samples/test-domain-setup/pom.xml @@ -6,7 +6,7 @@ fish.payara.samples payara-samples - 7.2026.5 + 7.2026.6-SNAPSHOT test-domain-setup @@ -34,7 +34,7 @@ fish.payara.samples samples-test-utils - 7.2026.5 + 7.2026.6-SNAPSHOT org.jboss.arquillian.junit diff --git a/appserver/tests/payara-samples/test-utils/pom.xml b/appserver/tests/payara-samples/test-utils/pom.xml index 5700ab74f0f..d9790a3e1d7 100644 --- a/appserver/tests/payara-samples/test-utils/pom.xml +++ b/appserver/tests/payara-samples/test-utils/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples - 7.2026.5 + 7.2026.6-SNAPSHOT samples-test-utils diff --git a/appserver/tests/pom.xml b/appserver/tests/pom.xml index 05cf71296fc..15e25096a80 100755 --- a/appserver/tests/pom.xml +++ b/appserver/tests/pom.xml @@ -45,7 +45,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.tests diff --git a/appserver/tests/quicklook/admin/pom.xml b/appserver/tests/quicklook/admin/pom.xml index 292d2632f7b..641b8787ba2 100644 --- a/appserver/tests/quicklook/admin/pom.xml +++ b/appserver/tests/quicklook/admin/pom.xml @@ -50,7 +50,7 @@ quicklook org.glassfish.quicklook - 7.2026.5 + 7.2026.6-SNAPSHOT ../ Runs the tests on admin/asadmin code diff --git a/appserver/tests/quicklook/pom.xml b/appserver/tests/quicklook/pom.xml index 769e65b3301..c6ec3514430 100644 --- a/appserver/tests/quicklook/pom.xml +++ b/appserver/tests/quicklook/pom.xml @@ -49,7 +49,7 @@ fish.payara.server.internal.tests payara-tests - 7.2026.5 + 7.2026.6-SNAPSHOT org.glassfish.quicklook diff --git a/appserver/transaction/internal-api-l10n/pom.xml b/appserver/transaction/internal-api-l10n/pom.xml index 85b12594931..5e00bfa1ef8 100755 --- a/appserver/transaction/internal-api-l10n/pom.xml +++ b/appserver/transaction/internal-api-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5 + 7.2026.6-SNAPSHOT transaction-internal-api-l10n diff --git a/appserver/transaction/internal-api/pom.xml b/appserver/transaction/internal-api/pom.xml index 49cc760a2bf..252b9db5123 100644 --- a/appserver/transaction/internal-api/pom.xml +++ b/appserver/transaction/internal-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 transaction-internal-api diff --git a/appserver/transaction/jta-l10n/pom.xml b/appserver/transaction/jta-l10n/pom.xml index e997dd9d987..95c4ce0a468 100755 --- a/appserver/transaction/jta-l10n/pom.xml +++ b/appserver/transaction/jta-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5 + 7.2026.6-SNAPSHOT jta-l10n diff --git a/appserver/transaction/jta/pom.xml b/appserver/transaction/jta/pom.xml index 751094a9144..be444c88585 100644 --- a/appserver/transaction/jta/pom.xml +++ b/appserver/transaction/jta/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 jta diff --git a/appserver/transaction/jts-l10n/pom.xml b/appserver/transaction/jts-l10n/pom.xml index 122d78c3198..1c645bc0e49 100755 --- a/appserver/transaction/jts-l10n/pom.xml +++ b/appserver/transaction/jts-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5 + 7.2026.6-SNAPSHOT jts-l10n diff --git a/appserver/transaction/jts/pom.xml b/appserver/transaction/jts/pom.xml index e5908b4a693..2133e8392c2 100644 --- a/appserver/transaction/jts/pom.xml +++ b/appserver/transaction/jts/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.transaction transaction - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 jts diff --git a/appserver/transaction/pom.xml b/appserver/transaction/pom.xml index abf642682b8..7b5afec6a65 100644 --- a/appserver/transaction/pom.xml +++ b/appserver/transaction/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.transaction transaction diff --git a/appserver/web/admin-l10n/pom.xml b/appserver/web/admin-l10n/pom.xml index 5cdea1d3633..1b73489364f 100755 --- a/appserver/web/admin-l10n/pom.xml +++ b/appserver/web/admin-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT web-cli-l10n diff --git a/appserver/web/admin/pom.xml b/appserver/web/admin/pom.xml index ffec9974f33..b6883b42221 100644 --- a/appserver/web/admin/pom.xml +++ b/appserver/web/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT web-cli glassfish-jar diff --git a/appserver/web/cdi-api-fragment/pom.xml b/appserver/web/cdi-api-fragment/pom.xml index 294636755bb..8dfaa70217d 100644 --- a/appserver/web/cdi-api-fragment/pom.xml +++ b/appserver/web/cdi-api-fragment/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT cdi-api-fragment diff --git a/appserver/web/gf-web-connector/pom.xml b/appserver/web/gf-web-connector/pom.xml index fcaa37f2e2c..aa989e4dc3d 100755 --- a/appserver/web/gf-web-connector/pom.xml +++ b/appserver/web/gf-web-connector/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 gf-web-connector diff --git a/appserver/web/gf-weld-connector/pom.xml b/appserver/web/gf-weld-connector/pom.xml index 604a319f3fd..6fcb726b2a6 100644 --- a/appserver/web/gf-weld-connector/pom.xml +++ b/appserver/web/gf-weld-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT gf-weld-connector glassfish-jar diff --git a/appserver/web/gui-plugin-common-l10n/pom.xml b/appserver/web/gui-plugin-common-l10n/pom.xml index 9b79800129e..f71165e9e91 100755 --- a/appserver/web/gui-plugin-common-l10n/pom.xml +++ b/appserver/web/gui-plugin-common-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT web-gui-plugin-common-l10n diff --git a/appserver/web/gui-plugin-common/pom.xml b/appserver/web/gui-plugin-common/pom.xml index e482a848cf8..0b48a8b6cf4 100755 --- a/appserver/web/gui-plugin-common/pom.xml +++ b/appserver/web/gui-plugin-common/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 web-gui-plugin-common diff --git a/appserver/web/jersey-mvc-connector/pom.xml b/appserver/web/jersey-mvc-connector/pom.xml index 6e9a6119946..a3455e28f27 100644 --- a/appserver/web/jersey-mvc-connector/pom.xml +++ b/appserver/web/jersey-mvc-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT jersey-mvc-connector glassfish-jar diff --git a/appserver/web/jsf-connector/pom.xml b/appserver/web/jsf-connector/pom.xml index 090496fab80..d4fe28ac59c 100644 --- a/appserver/web/jsf-connector/pom.xml +++ b/appserver/web/jsf-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT jsf-connector glassfish-jar diff --git a/appserver/web/jspcaching-connector/pom.xml b/appserver/web/jspcaching-connector/pom.xml index 7cb05c9799b..8651abccc15 100644 --- a/appserver/web/jspcaching-connector/pom.xml +++ b/appserver/web/jspcaching-connector/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT jspcaching-connector glassfish-jar diff --git a/appserver/web/jstl-connector/pom.xml b/appserver/web/jstl-connector/pom.xml index 244d5472898..8edfaaa25c6 100644 --- a/appserver/web/jstl-connector/pom.xml +++ b/appserver/web/jstl-connector/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT jstl-connector diff --git a/appserver/web/pom.xml b/appserver/web/pom.xml index 482e0a0e146..1e6ef310c5c 100755 --- a/appserver/web/pom.xml +++ b/appserver/web/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.web web diff --git a/appserver/web/war-util-l10n/pom.xml b/appserver/web/war-util-l10n/pom.xml index 34feca610fc..e878719d9fb 100755 --- a/appserver/web/war-util-l10n/pom.xml +++ b/appserver/web/war-util-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT war-util-l10n diff --git a/appserver/web/war-util/pom.xml b/appserver/web/war-util/pom.xml index 8cae043e5d4..2c5790540df 100755 --- a/appserver/web/war-util/pom.xml +++ b/appserver/web/war-util/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 war-util diff --git a/appserver/web/web-core-l10n/pom.xml b/appserver/web/web-core-l10n/pom.xml index 7715ed731fe..288555ee02f 100755 --- a/appserver/web/web-core-l10n/pom.xml +++ b/appserver/web/web-core-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT web-core-l10n diff --git a/appserver/web/web-core/pom.xml b/appserver/web/web-core/pom.xml index 101e773207e..7f1f460d3c2 100755 --- a/appserver/web/web-core/pom.xml +++ b/appserver/web/web-core/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT web-core diff --git a/appserver/web/web-embed/api/pom.xml b/appserver/web/web-embed/api/pom.xml index 2df1d57ba23..dd80d4e3872 100755 --- a/appserver/web/web-embed/api/pom.xml +++ b/appserver/web/web-embed/api/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web-embed - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 fish.payara.server.internal.web diff --git a/appserver/web/web-embed/pom.xml b/appserver/web/web-embed/pom.xml index 1a6c9d32aa0..52f40ac32f6 100755 --- a/appserver/web/web-embed/pom.xml +++ b/appserver/web/web-embed/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT web-embed pom diff --git a/appserver/web/web-glue-l10n/pom.xml b/appserver/web/web-glue-l10n/pom.xml index 8b898c79dde..d7a0375299e 100755 --- a/appserver/web/web-glue-l10n/pom.xml +++ b/appserver/web/web-glue-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT web-glue-l10n diff --git a/appserver/web/web-glue/pom.xml b/appserver/web/web-glue/pom.xml index 3bd9a0eb128..6a87da678ab 100755 --- a/appserver/web/web-glue/pom.xml +++ b/appserver/web/web-glue/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT web-glue diff --git a/appserver/web/web-ha/pom.xml b/appserver/web/web-ha/pom.xml index 4077a2c7350..d5a420ba3eb 100755 --- a/appserver/web/web-ha/pom.xml +++ b/appserver/web/web-ha/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 web-ha diff --git a/appserver/web/web-naming-l10n/pom.xml b/appserver/web/web-naming-l10n/pom.xml index 13698a6d5d6..aa0a54296ce 100644 --- a/appserver/web/web-naming-l10n/pom.xml +++ b/appserver/web/web-naming-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 web-naming-l10n diff --git a/appserver/web/web-naming/pom.xml b/appserver/web/web-naming/pom.xml index 05a15cb7b4d..2d38920f6ff 100755 --- a/appserver/web/web-naming/pom.xml +++ b/appserver/web/web-naming/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT web-naming diff --git a/appserver/web/web-sse/pom.xml b/appserver/web/web-sse/pom.xml index 707980cdbf9..744e88f17a8 100755 --- a/appserver/web/web-sse/pom.xml +++ b/appserver/web/web-sse/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 web-sse diff --git a/appserver/web/webtier-all/pom.xml b/appserver/web/webtier-all/pom.xml index b39a890a14c..a02676dbd2e 100755 --- a/appserver/web/webtier-all/pom.xml +++ b/appserver/web/webtier-all/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 webtier-all diff --git a/appserver/web/weld-integration-fragment/pom.xml b/appserver/web/weld-integration-fragment/pom.xml index ba2be8bdc86..b7b2a6a22e8 100644 --- a/appserver/web/weld-integration-fragment/pom.xml +++ b/appserver/web/weld-integration-fragment/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT weld-integration-fragment diff --git a/appserver/web/weld-integration-test-fragment/pom.xml b/appserver/web/weld-integration-test-fragment/pom.xml index 1edba3f7c65..cceb663316e 100644 --- a/appserver/web/weld-integration-test-fragment/pom.xml +++ b/appserver/web/weld-integration-test-fragment/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT weld-integration-test-fragment Fragment bundle for Weld related testing diff --git a/appserver/web/weld-integration/pom.xml b/appserver/web/weld-integration/pom.xml index add4d32dabc..370409dc061 100644 --- a/appserver/web/weld-integration/pom.xml +++ b/appserver/web/weld-integration/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.web web - 7.2026.5 + 7.2026.6-SNAPSHOT weld-integration diff --git a/appserver/webservices/connector-l10n/pom.xml b/appserver/webservices/connector-l10n/pom.xml index 09df242f1e1..ece385f81f5 100644 --- a/appserver/webservices/connector-l10n/pom.xml +++ b/appserver/webservices/connector-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5 + 7.2026.6-SNAPSHOT webservices-connector-l10n diff --git a/appserver/webservices/connector/pom.xml b/appserver/webservices/connector/pom.xml index 061b33b2326..9a89cbb3386 100755 --- a/appserver/webservices/connector/pom.xml +++ b/appserver/webservices/connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 webservices-connector diff --git a/appserver/webservices/jsr109-impl-l10n/pom.xml b/appserver/webservices/jsr109-impl-l10n/pom.xml index 0046949ad03..b2c7022826a 100755 --- a/appserver/webservices/jsr109-impl-l10n/pom.xml +++ b/appserver/webservices/jsr109-impl-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5 + 7.2026.6-SNAPSHOT jsr109-impl-l10n diff --git a/appserver/webservices/jsr109-impl/pom.xml b/appserver/webservices/jsr109-impl/pom.xml index d59e1ac172d..0b2a4c0f619 100755 --- a/appserver/webservices/jsr109-impl/pom.xml +++ b/appserver/webservices/jsr109-impl/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5 + 7.2026.6-SNAPSHOT jsr109-impl glassfish-jar diff --git a/appserver/webservices/metro-fragments/pom.xml b/appserver/webservices/metro-fragments/pom.xml index bfc46b3129e..d6197aa11c6 100644 --- a/appserver/webservices/metro-fragments/pom.xml +++ b/appserver/webservices/metro-fragments/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5 + 7.2026.6-SNAPSHOT metro-fragments diff --git a/appserver/webservices/metro-glue/pom.xml b/appserver/webservices/metro-glue/pom.xml index b737f59fdcc..0e201b62e82 100644 --- a/appserver/webservices/metro-glue/pom.xml +++ b/appserver/webservices/metro-glue/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5 + 7.2026.6-SNAPSHOT metro-glue diff --git a/appserver/webservices/pom.xml b/appserver/webservices/pom.xml index 48a19777e1d..76e06690d68 100755 --- a/appserver/webservices/pom.xml +++ b/appserver/webservices/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.webservices webservices diff --git a/appserver/webservices/soap-tcp/pom.xml b/appserver/webservices/soap-tcp/pom.xml index d1235523cb8..ba6664ed92b 100755 --- a/appserver/webservices/soap-tcp/pom.xml +++ b/appserver/webservices/soap-tcp/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5 + 7.2026.6-SNAPSHOT soap-tcp glassfish-jar diff --git a/appserver/webservices/webservices-scripts/pom.xml b/appserver/webservices/webservices-scripts/pom.xml index b541baac21e..61dd2e95b17 100644 --- a/appserver/webservices/webservices-scripts/pom.xml +++ b/appserver/webservices/webservices-scripts/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.webservices webservices - 7.2026.5 + 7.2026.6-SNAPSHOT webservices-scripts diff --git a/nucleus/admin/cli-l10n/pom.xml b/nucleus/admin/cli-l10n/pom.xml index 17cf246b24d..f907aff88c7 100644 --- a/nucleus/admin/cli-l10n/pom.xml +++ b/nucleus/admin/cli-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 admin-cli-l10n diff --git a/nucleus/admin/cli/pom.xml b/nucleus/admin/cli/pom.xml index d200b80216b..856427923f3 100755 --- a/nucleus/admin/cli/pom.xml +++ b/nucleus/admin/cli/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT admin-cli glassfish-jar diff --git a/nucleus/admin/config-api-l10n/pom.xml b/nucleus/admin/config-api-l10n/pom.xml index 1fd696842c9..12c86491c99 100644 --- a/nucleus/admin/config-api-l10n/pom.xml +++ b/nucleus/admin/config-api-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 config-api-l10n diff --git a/nucleus/admin/config-api/pom.xml b/nucleus/admin/config-api/pom.xml index a78461cf5c4..35698dcf2a0 100644 --- a/nucleus/admin/config-api/pom.xml +++ b/nucleus/admin/config-api/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT config-api diff --git a/nucleus/admin/launcher-l10n/pom.xml b/nucleus/admin/launcher-l10n/pom.xml index 34b657ab728..4fb947272c4 100644 --- a/nucleus/admin/launcher-l10n/pom.xml +++ b/nucleus/admin/launcher-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 launcher-l10n diff --git a/nucleus/admin/launcher/pom.xml b/nucleus/admin/launcher/pom.xml index 9f09e07dee6..fc7f3e65755 100644 --- a/nucleus/admin/launcher/pom.xml +++ b/nucleus/admin/launcher/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/nucleus/admin/monitor-l10n/pom.xml b/nucleus/admin/monitor-l10n/pom.xml index 1d6dd59cf96..27348643476 100644 --- a/nucleus/admin/monitor-l10n/pom.xml +++ b/nucleus/admin/monitor-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 monitoring-core-l10n diff --git a/nucleus/admin/monitor/pom.xml b/nucleus/admin/monitor/pom.xml index 913445c7e13..0aed35cd45f 100755 --- a/nucleus/admin/monitor/pom.xml +++ b/nucleus/admin/monitor/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/nucleus/admin/pom.xml b/nucleus/admin/pom.xml index 0b360f1917d..bb13efbef8b 100755 --- a/nucleus/admin/pom.xml +++ b/nucleus/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.admin nucleus-admin diff --git a/nucleus/admin/rest/gf-restadmin-connector/pom.xml b/nucleus/admin/rest/gf-restadmin-connector/pom.xml index 6acc35401a3..1b7e305be2c 100644 --- a/nucleus/admin/rest/gf-restadmin-connector/pom.xml +++ b/nucleus/admin/rest/gf-restadmin-connector/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin rest-service-parent - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 gf-restadmin-connector diff --git a/nucleus/admin/rest/pom.xml b/nucleus/admin/rest/pom.xml index 7e05547384f..80e0e6650e5 100644 --- a/nucleus/admin/rest/pom.xml +++ b/nucleus/admin/rest/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 rest-service-parent diff --git a/nucleus/admin/rest/rest-client/pom.xml b/nucleus/admin/rest/rest-client/pom.xml index 251f170f617..1b5ce01e0cc 100644 --- a/nucleus/admin/rest/rest-client/pom.xml +++ b/nucleus/admin/rest/rest-client/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin rest-service-parent - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 rest-client diff --git a/nucleus/admin/rest/rest-service-l10n/pom.xml b/nucleus/admin/rest/rest-service-l10n/pom.xml index 0c7f17721b8..a0d86fb8c8b 100644 --- a/nucleus/admin/rest/rest-service-l10n/pom.xml +++ b/nucleus/admin/rest/rest-service-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin rest-service-parent - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 rest-service-l10n diff --git a/nucleus/admin/rest/rest-service/pom.xml b/nucleus/admin/rest/rest-service/pom.xml index 818a442fe5e..c4c762dbe5d 100644 --- a/nucleus/admin/rest/rest-service/pom.xml +++ b/nucleus/admin/rest/rest-service/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.admin rest-service-parent - 7.2026.5 + 7.2026.6-SNAPSHOT rest-service diff --git a/nucleus/admin/rest/rest-testing/pom.xml b/nucleus/admin/rest/rest-testing/pom.xml index 0f1722abb6f..514066a985b 100644 --- a/nucleus/admin/rest/rest-testing/pom.xml +++ b/nucleus/admin/rest/rest-testing/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin rest-service-parent - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 rest-testing diff --git a/nucleus/admin/server-mgmt-l10n/pom.xml b/nucleus/admin/server-mgmt-l10n/pom.xml index 3fb458806b7..8186c66de64 100644 --- a/nucleus/admin/server-mgmt-l10n/pom.xml +++ b/nucleus/admin/server-mgmt-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 server-mgmt-l10n diff --git a/nucleus/admin/server-mgmt/pom.xml b/nucleus/admin/server-mgmt/pom.xml index b1ba0f0dde9..f90ebaa2ecf 100644 --- a/nucleus/admin/server-mgmt/pom.xml +++ b/nucleus/admin/server-mgmt/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 server-mgmt diff --git a/nucleus/admin/template/pom.xml b/nucleus/admin/template/pom.xml index 5cc38b98ddb..1f45ac38441 100644 --- a/nucleus/admin/template/pom.xml +++ b/nucleus/admin/template/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-domain diff --git a/nucleus/admin/util-l10n/pom.xml b/nucleus/admin/util-l10n/pom.xml index 00e4865531c..a64601134fd 100644 --- a/nucleus/admin/util-l10n/pom.xml +++ b/nucleus/admin/util-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 admin-util-l10n diff --git a/nucleus/admin/util/pom.xml b/nucleus/admin/util/pom.xml index 169e56b636e..cbf74aaa7d8 100755 --- a/nucleus/admin/util/pom.xml +++ b/nucleus/admin/util/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.admin nucleus-admin - 7.2026.5 + 7.2026.6-SNAPSHOT admin-util diff --git a/nucleus/cluster/admin-l10n/pom.xml b/nucleus/cluster/admin-l10n/pom.xml index a001330ca10..e8aec2f8488 100644 --- a/nucleus/cluster/admin-l10n/pom.xml +++ b/nucleus/cluster/admin-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 cluster-admin-l10n diff --git a/nucleus/cluster/admin/pom.xml b/nucleus/cluster/admin/pom.xml index 5a411915090..3abf493cf34 100644 --- a/nucleus/cluster/admin/pom.xml +++ b/nucleus/cluster/admin/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5 + 7.2026.6-SNAPSHOT cluster-admin glassfish-jar diff --git a/nucleus/cluster/cli-l10n/pom.xml b/nucleus/cluster/cli-l10n/pom.xml index 47504eea7c0..c708a1b7130 100644 --- a/nucleus/cluster/cli-l10n/pom.xml +++ b/nucleus/cluster/cli-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 cluster-cli-l10n diff --git a/nucleus/cluster/cli/pom.xml b/nucleus/cluster/cli/pom.xml index 714b4c7b17a..e4a30a14c17 100755 --- a/nucleus/cluster/cli/pom.xml +++ b/nucleus/cluster/cli/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5 + 7.2026.6-SNAPSHOT cluster-cli glassfish-jar diff --git a/nucleus/cluster/common-l10n/pom.xml b/nucleus/cluster/common-l10n/pom.xml index 52d8bed3207..f29f00335cb 100644 --- a/nucleus/cluster/common-l10n/pom.xml +++ b/nucleus/cluster/common-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 cluster-common-l10n diff --git a/nucleus/cluster/common/pom.xml b/nucleus/cluster/common/pom.xml index c3a63d82ba6..fbb9fbc5cc4 100644 --- a/nucleus/cluster/common/pom.xml +++ b/nucleus/cluster/common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5 + 7.2026.6-SNAPSHOT cluster-common glassfish-jar diff --git a/nucleus/cluster/pom.xml b/nucleus/cluster/pom.xml index ec35b977805..baa5431d1b8 100755 --- a/nucleus/cluster/pom.xml +++ b/nucleus/cluster/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.cluster cluster diff --git a/nucleus/cluster/ssh-l10n/pom.xml b/nucleus/cluster/ssh-l10n/pom.xml index a577e9983a0..4caf6880454 100644 --- a/nucleus/cluster/ssh-l10n/pom.xml +++ b/nucleus/cluster/ssh-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 cluster-ssh-l10n diff --git a/nucleus/cluster/ssh/pom.xml b/nucleus/cluster/ssh/pom.xml index 7032c69504c..1e98fb6b4b0 100644 --- a/nucleus/cluster/ssh/pom.xml +++ b/nucleus/cluster/ssh/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.cluster cluster - 7.2026.5 + 7.2026.6-SNAPSHOT cluster-ssh glassfish-jar diff --git a/nucleus/common/amx-core/pom.xml b/nucleus/common/amx-core/pom.xml index 606184c3a2c..14c131a88ca 100755 --- a/nucleus/common/amx-core/pom.xml +++ b/nucleus/common/amx-core/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 amx-core diff --git a/nucleus/common/common-util-l10n/pom.xml b/nucleus/common/common-util-l10n/pom.xml index 02eaf9bf332..7b924eaabea 100644 --- a/nucleus/common/common-util-l10n/pom.xml +++ b/nucleus/common/common-util-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 common-util-l10n diff --git a/nucleus/common/common-util/pom.xml b/nucleus/common/common-util/pom.xml index 6d6a8da9344..600b1c81ed7 100755 --- a/nucleus/common/common-util/pom.xml +++ b/nucleus/common/common-util/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/nucleus/common/glassfish-api-l10n/pom.xml b/nucleus/common/glassfish-api-l10n/pom.xml index 8ba7a992886..a0ba267cf62 100644 --- a/nucleus/common/glassfish-api-l10n/pom.xml +++ b/nucleus/common/glassfish-api-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 glassfish-api-l10n diff --git a/nucleus/common/glassfish-api/pom.xml b/nucleus/common/glassfish-api/pom.xml index bba51529e75..c58ea680d6e 100644 --- a/nucleus/common/glassfish-api/pom.xml +++ b/nucleus/common/glassfish-api/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-api diff --git a/nucleus/common/internal-api-l10n/pom.xml b/nucleus/common/internal-api-l10n/pom.xml index 856ab57748c..6177f83aa12 100644 --- a/nucleus/common/internal-api-l10n/pom.xml +++ b/nucleus/common/internal-api-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 internal-api-l10n diff --git a/nucleus/common/internal-api/pom.xml b/nucleus/common/internal-api/pom.xml index b3b7fc527f1..2e990958b76 100644 --- a/nucleus/common/internal-api/pom.xml +++ b/nucleus/common/internal-api/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5 + 7.2026.6-SNAPSHOT internal-api diff --git a/nucleus/common/mbeanserver-l10n/pom.xml b/nucleus/common/mbeanserver-l10n/pom.xml index 933abf2a350..7ea4c54ac09 100644 --- a/nucleus/common/mbeanserver-l10n/pom.xml +++ b/nucleus/common/mbeanserver-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 glassfish-mbeanserver-l10n diff --git a/nucleus/common/mbeanserver/pom.xml b/nucleus/common/mbeanserver/pom.xml index ec335ebdba9..72b3e768202 100755 --- a/nucleus/common/mbeanserver/pom.xml +++ b/nucleus/common/mbeanserver/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/nucleus/common/pom.xml b/nucleus/common/pom.xml index 2c52ad4a7df..d06bb67a0b6 100755 --- a/nucleus/common/pom.xml +++ b/nucleus/common/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.common nucleus-common diff --git a/nucleus/common/scattered-archive-api/pom.xml b/nucleus/common/scattered-archive-api/pom.xml index 45813cf48c4..bf1b61943b1 100644 --- a/nucleus/common/scattered-archive-api/pom.xml +++ b/nucleus/common/scattered-archive-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5 + 7.2026.6-SNAPSHOT scattered-archive-api glassfish-jar diff --git a/nucleus/common/simple-glassfish-api/pom.xml b/nucleus/common/simple-glassfish-api/pom.xml index ea2eeb06e7c..f4a9fa8b277 100644 --- a/nucleus/common/simple-glassfish-api/pom.xml +++ b/nucleus/common/simple-glassfish-api/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.common nucleus-common - 7.2026.5 + 7.2026.6-SNAPSHOT simple-glassfish-api diff --git a/nucleus/core/api-exporter/pom.xml b/nucleus/core/api-exporter/pom.xml index 7c63cb45d58..e0ae4bf2688 100755 --- a/nucleus/core/api-exporter/pom.xml +++ b/nucleus/core/api-exporter/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5 + 7.2026.6-SNAPSHOT api-exporter diff --git a/nucleus/core/bootstrap/pom.xml b/nucleus/core/bootstrap/pom.xml index ff11fd42f0b..832806af4de 100755 --- a/nucleus/core/bootstrap/pom.xml +++ b/nucleus/core/bootstrap/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish diff --git a/nucleus/core/context-propagation/pom.xml b/nucleus/core/context-propagation/pom.xml index 71ad12ec69a..e816ab907ef 100644 --- a/nucleus/core/context-propagation/pom.xml +++ b/nucleus/core/context-propagation/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5 + 7.2026.6-SNAPSHOT context-propagation diff --git a/nucleus/core/extra-jre-packages/pom.xml b/nucleus/core/extra-jre-packages/pom.xml index bad974b7c5c..06b95ff6425 100755 --- a/nucleus/core/extra-jre-packages/pom.xml +++ b/nucleus/core/extra-jre-packages/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-extra-jre-packages GlassFish Extra JRE Packages diff --git a/nucleus/core/javassist-packages/pom.xml b/nucleus/core/javassist-packages/pom.xml index 93f7bff76ef..ae857abe208 100644 --- a/nucleus/core/javassist-packages/pom.xml +++ b/nucleus/core/javassist-packages/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5 + 7.2026.6-SNAPSHOT glassfish-javassist-packages GlassFish Javassist Packages diff --git a/nucleus/core/kernel-l10n/pom.xml b/nucleus/core/kernel-l10n/pom.xml index 332b1b39ee0..42b579678a6 100644 --- a/nucleus/core/kernel-l10n/pom.xml +++ b/nucleus/core/kernel-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 kernel-l10n diff --git a/nucleus/core/kernel/pom.xml b/nucleus/core/kernel/pom.xml index 2bd658b755d..e558910f124 100755 --- a/nucleus/core/kernel/pom.xml +++ b/nucleus/core/kernel/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5 + 7.2026.6-SNAPSHOT kernel diff --git a/nucleus/core/logging-l10n/pom.xml b/nucleus/core/logging-l10n/pom.xml index 8fa45517f8a..1d4382a141c 100644 --- a/nucleus/core/logging-l10n/pom.xml +++ b/nucleus/core/logging-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 logging-l10n diff --git a/nucleus/core/logging/pom.xml b/nucleus/core/logging/pom.xml index fa7e8d964d9..f113f10d04d 100755 --- a/nucleus/core/logging/pom.xml +++ b/nucleus/core/logging/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.core nucleus-core - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/nucleus/core/pom.xml b/nucleus/core/pom.xml index c65d7396624..6e67a38b668 100644 --- a/nucleus/core/pom.xml +++ b/nucleus/core/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.core nucleus-core diff --git a/nucleus/deployment/admin-l10n/pom.xml b/nucleus/deployment/admin-l10n/pom.xml index cab866eb992..66ebd241c23 100644 --- a/nucleus/deployment/admin-l10n/pom.xml +++ b/nucleus/deployment/admin-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 deployment-admin-l10n diff --git a/nucleus/deployment/admin/pom.xml b/nucleus/deployment/admin/pom.xml index d3e27e34255..679cadbf04b 100755 --- a/nucleus/deployment/admin/pom.xml +++ b/nucleus/deployment/admin/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 deployment-admin diff --git a/nucleus/deployment/autodeploy-l10n/pom.xml b/nucleus/deployment/autodeploy-l10n/pom.xml index 9dfda45cebe..3617227f6af 100644 --- a/nucleus/deployment/autodeploy-l10n/pom.xml +++ b/nucleus/deployment/autodeploy-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 deployment-autodeploy-l10n diff --git a/nucleus/deployment/autodeploy/pom.xml b/nucleus/deployment/autodeploy/pom.xml index 5185f3093c5..aa1e9ad22d6 100755 --- a/nucleus/deployment/autodeploy/pom.xml +++ b/nucleus/deployment/autodeploy/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 deployment-autodeploy diff --git a/nucleus/deployment/common-l10n/pom.xml b/nucleus/deployment/common-l10n/pom.xml index bb1769a08a1..15301c5f157 100644 --- a/nucleus/deployment/common-l10n/pom.xml +++ b/nucleus/deployment/common-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 deployment-common-l10n diff --git a/nucleus/deployment/common/pom.xml b/nucleus/deployment/common/pom.xml index 15ab372905a..36052b977e8 100755 --- a/nucleus/deployment/common/pom.xml +++ b/nucleus/deployment/common/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 deployment-common diff --git a/nucleus/deployment/dtds/pom.xml b/nucleus/deployment/dtds/pom.xml index 4c2090fc705..d8fd6fe7b8e 100644 --- a/nucleus/deployment/dtds/pom.xml +++ b/nucleus/deployment/dtds/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-dtds distribution-fragment diff --git a/nucleus/deployment/pom.xml b/nucleus/deployment/pom.xml index e17b2b7781c..f0d743e8475 100755 --- a/nucleus/deployment/pom.xml +++ b/nucleus/deployment/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.deployment nucleus-deployment diff --git a/nucleus/deployment/schemas/pom.xml b/nucleus/deployment/schemas/pom.xml index 1766a1cf785..4af3075edeb 100644 --- a/nucleus/deployment/schemas/pom.xml +++ b/nucleus/deployment/schemas/pom.xml @@ -4,7 +4,7 @@ fish.payara.server.internal.deployment nucleus-deployment - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-schemas distribution-fragment diff --git a/nucleus/diagnostics/context/pom.xml b/nucleus/diagnostics/context/pom.xml index 572f3259670..6111957372f 100644 --- a/nucleus/diagnostics/context/pom.xml +++ b/nucleus/diagnostics/context/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.diagnostics nucleus-diagnostics - 7.2026.5 + 7.2026.6-SNAPSHOT diagnostics-context diff --git a/nucleus/diagnostics/diagnostics-api/pom.xml b/nucleus/diagnostics/diagnostics-api/pom.xml index 659f8e076fb..772bdd3cd93 100755 --- a/nucleus/diagnostics/diagnostics-api/pom.xml +++ b/nucleus/diagnostics/diagnostics-api/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.diagnostics nucleus-diagnostics - 7.2026.5 + 7.2026.6-SNAPSHOT diagnostics-api diff --git a/nucleus/diagnostics/pom.xml b/nucleus/diagnostics/pom.xml index e7ca032eed8..e3695f7ddfa 100755 --- a/nucleus/diagnostics/pom.xml +++ b/nucleus/diagnostics/pom.xml @@ -32,7 +32,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.diagnostics diff --git a/nucleus/distributions/payara-minimal/pom.xml b/nucleus/distributions/payara-minimal/pom.xml index bbe8503080b..3de04fe98eb 100644 --- a/nucleus/distributions/payara-minimal/pom.xml +++ b/nucleus/distributions/payara-minimal/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.distributions nucleus-distributions - 7.2026.5 + 7.2026.6-SNAPSHOT payara-minimal Payara Minimal Distribution diff --git a/nucleus/distributions/pom.xml b/nucleus/distributions/pom.xml index 370ad532a97..10386332cb6 100644 --- a/nucleus/distributions/pom.xml +++ b/nucleus/distributions/pom.xml @@ -49,7 +49,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT pom fish.payara.server.internal.distributions diff --git a/nucleus/flashlight/agent/pom.xml b/nucleus/flashlight/agent/pom.xml index 5e3b9b0268c..4b465476a5c 100755 --- a/nucleus/flashlight/agent/pom.xml +++ b/nucleus/flashlight/agent/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.flashlight nucleus-flashlight - 7.2026.5 + 7.2026.6-SNAPSHOT flashlight-agent flashlight-agent diff --git a/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml b/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml index 9fb1b276de2..d4965aed408 100755 --- a/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml +++ b/nucleus/flashlight/flashlight-extra-jdk-packages/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.flashlight nucleus-flashlight - 7.2026.5 + 7.2026.6-SNAPSHOT flashlight-extra-jdk-packages GlassFish Flashlight Extra JDK Pkgs diff --git a/nucleus/flashlight/framework-l10n/pom.xml b/nucleus/flashlight/framework-l10n/pom.xml index 4e3d549930f..1f441d3f1d6 100644 --- a/nucleus/flashlight/framework-l10n/pom.xml +++ b/nucleus/flashlight/framework-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.flashlight nucleus-flashlight - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 flashlight-framework-l10n diff --git a/nucleus/flashlight/framework/pom.xml b/nucleus/flashlight/framework/pom.xml index 2e1b0112391..0d28f5419fa 100755 --- a/nucleus/flashlight/framework/pom.xml +++ b/nucleus/flashlight/framework/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.flashlight nucleus-flashlight - 7.2026.5 + 7.2026.6-SNAPSHOT flashlight-framework glassfish-jar diff --git a/nucleus/flashlight/pom.xml b/nucleus/flashlight/pom.xml index c145b8766bb..0f49218568f 100755 --- a/nucleus/flashlight/pom.xml +++ b/nucleus/flashlight/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.flashlight nucleus-flashlight diff --git a/nucleus/grizzly/config/pom.xml b/nucleus/grizzly/config/pom.xml index 88fbc93c1fc..13819b3632c 100644 --- a/nucleus/grizzly/config/pom.xml +++ b/nucleus/grizzly/config/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.grizzly nucleus-grizzly - 7.2026.5 + 7.2026.6-SNAPSHOT grizzly-config diff --git a/nucleus/grizzly/nucleus-grizzly-all/pom.xml b/nucleus/grizzly/nucleus-grizzly-all/pom.xml index 0eb0bcbafc3..a489e4be9a8 100644 --- a/nucleus/grizzly/nucleus-grizzly-all/pom.xml +++ b/nucleus/grizzly/nucleus-grizzly-all/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.grizzly nucleus-grizzly - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-grizzly-all diff --git a/nucleus/grizzly/pom.xml b/nucleus/grizzly/pom.xml index 21e3b8bdff1..ee0d2d31c6e 100644 --- a/nucleus/grizzly/pom.xml +++ b/nucleus/grizzly/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.grizzly nucleus-grizzly diff --git a/nucleus/hk2/config-generator/pom.xml b/nucleus/hk2/config-generator/pom.xml index 6f2b7d23c04..36cc8053e32 100644 --- a/nucleus/hk2/config-generator/pom.xml +++ b/nucleus/hk2/config-generator/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.hk2 glassfish-nucleus-hk2 - 7.2026.5 + 7.2026.6-SNAPSHOT config-generator maven-plugin diff --git a/nucleus/hk2/config-types/pom.xml b/nucleus/hk2/config-types/pom.xml index b0ae100522c..0505bdb1e4f 100644 --- a/nucleus/hk2/config-types/pom.xml +++ b/nucleus/hk2/config-types/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.hk2 glassfish-nucleus-hk2 - 7.2026.5 + 7.2026.6-SNAPSHOT config-types diff --git a/nucleus/hk2/hk2-config/pom.xml b/nucleus/hk2/hk2-config/pom.xml index 7488dd03529..21e5131dae6 100644 --- a/nucleus/hk2/hk2-config/pom.xml +++ b/nucleus/hk2/hk2-config/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.hk2 glassfish-nucleus-hk2 - 7.2026.5 + 7.2026.6-SNAPSHOT hk2-config diff --git a/nucleus/hk2/pom.xml b/nucleus/hk2/pom.xml index 7ce1b1461d4..274159a2c1d 100644 --- a/nucleus/hk2/pom.xml +++ b/nucleus/hk2/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.hk2 glassfish-nucleus-hk2 diff --git a/nucleus/osgi-platforms/felix/pom.xml b/nucleus/osgi-platforms/felix/pom.xml index 6cdd64b18f7..f98036e9f1b 100644 --- a/nucleus/osgi-platforms/felix/pom.xml +++ b/nucleus/osgi-platforms/felix/pom.xml @@ -66,7 +66,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5 + 7.2026.6-SNAPSHOT felix diff --git a/nucleus/osgi-platforms/osgi-cli-interactive-l10n/pom.xml b/nucleus/osgi-platforms/osgi-cli-interactive-l10n/pom.xml index 744d70b03d9..e824e56579d 100644 --- a/nucleus/osgi-platforms/osgi-cli-interactive-l10n/pom.xml +++ b/nucleus/osgi-platforms/osgi-cli-interactive-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml b/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml index cdd5c92f8b7..61a8a5c1f15 100644 --- a/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml +++ b/nucleus/osgi-platforms/osgi-cli-interactive/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5 + 7.2026.6-SNAPSHOT osgi-cli-interactive diff --git a/nucleus/osgi-platforms/osgi-cli-remote-l10n/pom.xml b/nucleus/osgi-platforms/osgi-cli-remote-l10n/pom.xml index 31c3b68d15b..b60742661bf 100644 --- a/nucleus/osgi-platforms/osgi-cli-remote-l10n/pom.xml +++ b/nucleus/osgi-platforms/osgi-cli-remote-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/nucleus/osgi-platforms/osgi-cli-remote/pom.xml b/nucleus/osgi-platforms/osgi-cli-remote/pom.xml index 27e8ce29c90..89bfd36e0e8 100644 --- a/nucleus/osgi-platforms/osgi-cli-remote/pom.xml +++ b/nucleus/osgi-platforms/osgi-cli-remote/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5 + 7.2026.6-SNAPSHOT osgi-cli-remote diff --git a/nucleus/osgi-platforms/osgi-container/pom.xml b/nucleus/osgi-platforms/osgi-container/pom.xml index b0a14a28c48..0787a16d9bf 100755 --- a/nucleus/osgi-platforms/osgi-container/pom.xml +++ b/nucleus/osgi-platforms/osgi-container/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.osgi-platforms osgi-platforms - 7.2026.5 + 7.2026.6-SNAPSHOT osgi-container diff --git a/nucleus/osgi-platforms/pom.xml b/nucleus/osgi-platforms/pom.xml index 891355c1ecd..9c667514b0c 100644 --- a/nucleus/osgi-platforms/pom.xml +++ b/nucleus/osgi-platforms/pom.xml @@ -51,7 +51,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT pom fish.payara.server.internal.osgi-platforms diff --git a/nucleus/packager/asadmin-recorder-package/pom.xml b/nucleus/packager/asadmin-recorder-package/pom.xml index 4a03b050d57..420cda1877e 100644 --- a/nucleus/packager/asadmin-recorder-package/pom.xml +++ b/nucleus/packager/asadmin-recorder-package/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT asadmin-recorder-package Nucleus Payara Asadmin Recorder Package diff --git a/nucleus/packager/external/antlr/pom.xml b/nucleus/packager/external/antlr/pom.xml index e09ade2f4f3..844281a37cc 100644 --- a/nucleus/packager/external/antlr/pom.xml +++ b/nucleus/packager/external/antlr/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 antlr-repackaged diff --git a/nucleus/packager/external/jmxremote_optional/pom.xml b/nucleus/packager/external/jmxremote_optional/pom.xml index 876f77a06df..a5abdb463d0 100644 --- a/nucleus/packager/external/jmxremote_optional/pom.xml +++ b/nucleus/packager/external/jmxremote_optional/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 jmxremote_optional-repackaged diff --git a/nucleus/packager/external/ldapbp/pom.xml b/nucleus/packager/external/ldapbp/pom.xml index 1b991a63074..105d72d591b 100644 --- a/nucleus/packager/external/ldapbp/pom.xml +++ b/nucleus/packager/external/ldapbp/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 ldapbp-repackaged diff --git a/nucleus/packager/external/opentelemetry-repackaged/pom.xml b/nucleus/packager/external/opentelemetry-repackaged/pom.xml index 1184da16a16..4e8098c4f86 100644 --- a/nucleus/packager/external/opentelemetry-repackaged/pom.xml +++ b/nucleus/packager/external/opentelemetry-repackaged/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5 + 7.2026.6-SNAPSHOT opentelemetry-repackaged diff --git a/nucleus/packager/external/opentracing-repackaged/pom.xml b/nucleus/packager/external/opentracing-repackaged/pom.xml index 906c123fb58..d8fdb88a3a0 100644 --- a/nucleus/packager/external/opentracing-repackaged/pom.xml +++ b/nucleus/packager/external/opentracing-repackaged/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5 + 7.2026.6-SNAPSHOT opentracing-repackaged diff --git a/nucleus/packager/external/pom.xml b/nucleus/packager/external/pom.xml index 92afc874cc3..6b70e82a009 100644 --- a/nucleus/packager/external/pom.xml +++ b/nucleus/packager/external/pom.xml @@ -52,7 +52,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT ../../pom.xml diff --git a/nucleus/packager/external/tiger-types/pom.xml b/nucleus/packager/external/tiger-types/pom.xml index 075be706db3..3c1f9ee858e 100644 --- a/nucleus/packager/external/tiger-types/pom.xml +++ b/nucleus/packager/external/tiger-types/pom.xml @@ -37,7 +37,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5 + 7.2026.6-SNAPSHOT tiger-types diff --git a/nucleus/packager/external/trilead-ssh2/pom.xml b/nucleus/packager/external/trilead-ssh2/pom.xml index e4983668a2d..f1dad64f791 100644 --- a/nucleus/packager/external/trilead-ssh2/pom.xml +++ b/nucleus/packager/external/trilead-ssh2/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/nucleus/packager/external/vboxjws/pom.xml b/nucleus/packager/external/vboxjws/pom.xml index 4905876dfce..3ddf692a089 100644 --- a/nucleus/packager/external/vboxjws/pom.xml +++ b/nucleus/packager/external/vboxjws/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-external - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 vboxjws diff --git a/nucleus/packager/hazelcast-package/pom.xml b/nucleus/packager/hazelcast-package/pom.xml index dc19cb948bb..c27c6867070 100644 --- a/nucleus/packager/hazelcast-package/pom.xml +++ b/nucleus/packager/hazelcast-package/pom.xml @@ -43,7 +43,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT hazelcast-package Nucleus Hazelcast Package diff --git a/nucleus/packager/healthcheck-package/pom.xml b/nucleus/packager/healthcheck-package/pom.xml index ef867694e68..53db50236db 100644 --- a/nucleus/packager/healthcheck-package/pom.xml +++ b/nucleus/packager/healthcheck-package/pom.xml @@ -44,7 +44,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT healthcheck-package Nucleus HealthCheck Package diff --git a/nucleus/packager/notification-package/pom.xml b/nucleus/packager/notification-package/pom.xml index f199daa7102..0cfac915865 100644 --- a/nucleus/packager/notification-package/pom.xml +++ b/nucleus/packager/notification-package/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT notification-package Nucleus Notification Package diff --git a/nucleus/packager/nucleus-cluster-l10n/pom.xml b/nucleus/packager/nucleus-cluster-l10n/pom.xml index ca8c564c5d3..e324b7648d7 100644 --- a/nucleus/packager/nucleus-cluster-l10n/pom.xml +++ b/nucleus/packager/nucleus-cluster-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-cluster-l10n Nucleus Clustering l10n Package diff --git a/nucleus/packager/nucleus-cluster/pom.xml b/nucleus/packager/nucleus-cluster/pom.xml index 740294fe46c..3f68b732021 100644 --- a/nucleus/packager/nucleus-cluster/pom.xml +++ b/nucleus/packager/nucleus-cluster/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-cluster Nucleus Clustering Package diff --git a/nucleus/packager/nucleus-common-l10n/pom.xml b/nucleus/packager/nucleus-common-l10n/pom.xml index 26fe91e2f33..8042db42ea5 100644 --- a/nucleus/packager/nucleus-common-l10n/pom.xml +++ b/nucleus/packager/nucleus-common-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-common-l10n Nucleus Commons Package l10n package diff --git a/nucleus/packager/nucleus-common/pom.xml b/nucleus/packager/nucleus-common/pom.xml index 06078227673..16c991d2451 100644 --- a/nucleus/packager/nucleus-common/pom.xml +++ b/nucleus/packager/nucleus-common/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-common Nucleus Commons Package diff --git a/nucleus/packager/nucleus-corba-base/pom.xml b/nucleus/packager/nucleus-corba-base/pom.xml index a45e2eb04da..81152ae95a7 100644 --- a/nucleus/packager/nucleus-corba-base/pom.xml +++ b/nucleus/packager/nucleus-corba-base/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-corba-base Nucleus Base CORBA APIs Package diff --git a/nucleus/packager/nucleus-felix/pom.xml b/nucleus/packager/nucleus-felix/pom.xml index 90e61ac71b5..9a9d9bf2bd9 100644 --- a/nucleus/packager/nucleus-felix/pom.xml +++ b/nucleus/packager/nucleus-felix/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-felix Felix Nucleus Package diff --git a/nucleus/packager/nucleus-grizzly/pom.xml b/nucleus/packager/nucleus-grizzly/pom.xml index 75e3b9e2f5c..4107c17f449 100644 --- a/nucleus/packager/nucleus-grizzly/pom.xml +++ b/nucleus/packager/nucleus-grizzly/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-grizzly diff --git a/nucleus/packager/nucleus-hk2/pom.xml b/nucleus/packager/nucleus-hk2/pom.xml index c66c7a65de5..5a51aac72a0 100644 --- a/nucleus/packager/nucleus-hk2/pom.xml +++ b/nucleus/packager/nucleus-hk2/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-hk2 diff --git a/nucleus/packager/nucleus-jersey/pom.xml b/nucleus/packager/nucleus-jersey/pom.xml index 43e8dd41222..41efcf2567d 100644 --- a/nucleus/packager/nucleus-jersey/pom.xml +++ b/nucleus/packager/nucleus-jersey/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-jersey diff --git a/nucleus/packager/nucleus-jmx/pom.xml b/nucleus/packager/nucleus-jmx/pom.xml index ebed443723c..cbf175ae7b1 100644 --- a/nucleus/packager/nucleus-jmx/pom.xml +++ b/nucleus/packager/nucleus-jmx/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-jmx Glassfish JMX Package diff --git a/nucleus/packager/nucleus-l10n/pom.xml b/nucleus/packager/nucleus-l10n/pom.xml index 0df62ab4c36..0834a8235c6 100644 --- a/nucleus/packager/nucleus-l10n/pom.xml +++ b/nucleus/packager/nucleus-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-l10n Nucleus l10n Package diff --git a/nucleus/packager/nucleus-management-l10n/pom.xml b/nucleus/packager/nucleus-management-l10n/pom.xml index 85f883e3968..179a2d2bee0 100644 --- a/nucleus/packager/nucleus-management-l10n/pom.xml +++ b/nucleus/packager/nucleus-management-l10n/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-management-l10n Nucleus Management l10n Package diff --git a/nucleus/packager/nucleus-management/pom.xml b/nucleus/packager/nucleus-management/pom.xml index 8dc1c35fd6d..cf9a1e21bb3 100644 --- a/nucleus/packager/nucleus-management/pom.xml +++ b/nucleus/packager/nucleus-management/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-management Nucleus Management Package diff --git a/nucleus/packager/nucleus-osgi/pom.xml b/nucleus/packager/nucleus-osgi/pom.xml index 119b3c8e35e..bd9b816bf13 100644 --- a/nucleus/packager/nucleus-osgi/pom.xml +++ b/nucleus/packager/nucleus-osgi/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-osgi Glassfish OSGi Support Package diff --git a/nucleus/packager/nucleus/pom.xml b/nucleus/packager/nucleus/pom.xml index 45250bd16f6..6f5f4644429 100644 --- a/nucleus/packager/nucleus/pom.xml +++ b/nucleus/packager/nucleus/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus Nucleus Package diff --git a/nucleus/packager/payara-api-package/pom.xml b/nucleus/packager/payara-api-package/pom.xml index d5599e762b3..649868c79a3 100644 --- a/nucleus/packager/payara-api-package/pom.xml +++ b/nucleus/packager/payara-api-package/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT payara-api-package Nucleus Payara API Package diff --git a/nucleus/packager/payara-executor-service-package/pom.xml b/nucleus/packager/payara-executor-service-package/pom.xml index dec1385eaca..6974d164c12 100644 --- a/nucleus/packager/payara-executor-service-package/pom.xml +++ b/nucleus/packager/payara-executor-service-package/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT payara-executor-service-package Nucleus Payara Executor Service Package diff --git a/nucleus/packager/phonehome-package/pom.xml b/nucleus/packager/phonehome-package/pom.xml index 706c50d882f..234e740b5b9 100644 --- a/nucleus/packager/phonehome-package/pom.xml +++ b/nucleus/packager/phonehome-package/pom.xml @@ -23,7 +23,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT phonehome-package Nucleus Phonehome Package diff --git a/nucleus/packager/pom.xml b/nucleus/packager/pom.xml index dbba044a343..c88dfaaa3b9 100644 --- a/nucleus/packager/pom.xml +++ b/nucleus/packager/pom.xml @@ -49,7 +49,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.packager diff --git a/nucleus/packager/requesttracing-package/pom.xml b/nucleus/packager/requesttracing-package/pom.xml index 82ddfb1d77a..07af9d44335 100644 --- a/nucleus/packager/requesttracing-package/pom.xml +++ b/nucleus/packager/requesttracing-package/pom.xml @@ -22,7 +22,7 @@ fish.payara.server.internal.packager nucleus-packages - 7.2026.5 + 7.2026.6-SNAPSHOT requesttracing-package Nucleus Request Tracing Package diff --git a/nucleus/payara-modules/asadmin-audit/pom.xml b/nucleus/payara-modules/asadmin-audit/pom.xml index 3b4c3f0c980..57602dfc2a6 100644 --- a/nucleus/payara-modules/asadmin-audit/pom.xml +++ b/nucleus/payara-modules/asadmin-audit/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT asadmin-audit glassfish-jar diff --git a/nucleus/payara-modules/asadmin-recorder/pom.xml b/nucleus/payara-modules/asadmin-recorder/pom.xml index 7c106697a9f..870b140b8b0 100644 --- a/nucleus/payara-modules/asadmin-recorder/pom.xml +++ b/nucleus/payara-modules/asadmin-recorder/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT asadmin-recorder glassfish-jar diff --git a/nucleus/payara-modules/hazelcast-bootstrap/pom.xml b/nucleus/payara-modules/hazelcast-bootstrap/pom.xml index 1e4993d8a4a..58f7011cd80 100644 --- a/nucleus/payara-modules/hazelcast-bootstrap/pom.xml +++ b/nucleus/payara-modules/hazelcast-bootstrap/pom.xml @@ -42,7 +42,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 hazelcast-bootstrap diff --git a/nucleus/payara-modules/healthcheck-core/pom.xml b/nucleus/payara-modules/healthcheck-core/pom.xml index 2dccdc5c274..a9efa74637c 100644 --- a/nucleus/payara-modules/healthcheck-core/pom.xml +++ b/nucleus/payara-modules/healthcheck-core/pom.xml @@ -44,7 +44,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT healthcheck-core glassfish-jar diff --git a/nucleus/payara-modules/healthcheck-cpool/pom.xml b/nucleus/payara-modules/healthcheck-cpool/pom.xml index dffa768e21c..63cf35162b9 100644 --- a/nucleus/payara-modules/healthcheck-cpool/pom.xml +++ b/nucleus/payara-modules/healthcheck-cpool/pom.xml @@ -46,7 +46,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT healthcheck-cpool glassfish-jar diff --git a/nucleus/payara-modules/healthcheck-stuck/pom.xml b/nucleus/payara-modules/healthcheck-stuck/pom.xml index eab406cfaf8..d38a91007f7 100644 --- a/nucleus/payara-modules/healthcheck-stuck/pom.xml +++ b/nucleus/payara-modules/healthcheck-stuck/pom.xml @@ -46,7 +46,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT healthcheck-stuck glassfish-jar diff --git a/nucleus/payara-modules/jsr107-repackaged/pom.xml b/nucleus/payara-modules/jsr107-repackaged/pom.xml index 494cee32d64..20ce914a81b 100644 --- a/nucleus/payara-modules/jsr107-repackaged/pom.xml +++ b/nucleus/payara-modules/jsr107-repackaged/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT jsr107-repackaged Repackaged JSR 107 diff --git a/nucleus/payara-modules/notification-cdi-eventbus-core/pom.xml b/nucleus/payara-modules/notification-cdi-eventbus-core/pom.xml index 4d4dc761e34..37661b3dfb2 100644 --- a/nucleus/payara-modules/notification-cdi-eventbus-core/pom.xml +++ b/nucleus/payara-modules/notification-cdi-eventbus-core/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT notification-cdi-eventbus-core glassfish-jar diff --git a/nucleus/payara-modules/notification-core/pom.xml b/nucleus/payara-modules/notification-core/pom.xml index 25446bb8264..aab77e93d77 100644 --- a/nucleus/payara-modules/notification-core/pom.xml +++ b/nucleus/payara-modules/notification-core/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT notification-core glassfish-jar diff --git a/nucleus/payara-modules/notification-eventbus-core/pom.xml b/nucleus/payara-modules/notification-eventbus-core/pom.xml index a4d70301d86..9d04ab29fc7 100644 --- a/nucleus/payara-modules/notification-eventbus-core/pom.xml +++ b/nucleus/payara-modules/notification-eventbus-core/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT notification-eventbus-core glassfish-jar diff --git a/nucleus/payara-modules/nucleus-microprofile/config-service/pom.xml b/nucleus/payara-modules/nucleus-microprofile/config-service/pom.xml index 6a65100e669..8134459d25d 100644 --- a/nucleus/payara-modules/nucleus-microprofile/config-service/pom.xml +++ b/nucleus/payara-modules/nucleus-microprofile/config-service/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules nucleus-microprofile - 7.2026.5 + 7.2026.6-SNAPSHOT microprofile-config-service diff --git a/nucleus/payara-modules/nucleus-microprofile/pom.xml b/nucleus/payara-modules/nucleus-microprofile/pom.xml index acf789db9d9..7f1c87b4d42 100644 --- a/nucleus/payara-modules/nucleus-microprofile/pom.xml +++ b/nucleus/payara-modules/nucleus-microprofile/pom.xml @@ -43,7 +43,7 @@ holder. fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-microprofile diff --git a/nucleus/payara-modules/opentracing-adapter/pom.xml b/nucleus/payara-modules/opentracing-adapter/pom.xml index 4e9242dc938..5e095528353 100644 --- a/nucleus/payara-modules/opentracing-adapter/pom.xml +++ b/nucleus/payara-modules/opentracing-adapter/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT opentracing-adapter diff --git a/nucleus/payara-modules/payara-executor-service/pom.xml b/nucleus/payara-modules/payara-executor-service/pom.xml index 0e2416db910..e352f61a0b6 100644 --- a/nucleus/payara-modules/payara-executor-service/pom.xml +++ b/nucleus/payara-modules/payara-executor-service/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT payara-executor-service glassfish-jar diff --git a/nucleus/payara-modules/phonehome-bootstrap/pom.xml b/nucleus/payara-modules/phonehome-bootstrap/pom.xml index a808c6a853a..ba549a48f20 100644 --- a/nucleus/payara-modules/phonehome-bootstrap/pom.xml +++ b/nucleus/payara-modules/phonehome-bootstrap/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT phonehome-bootstrap glassfish-jar diff --git a/nucleus/payara-modules/pom.xml b/nucleus/payara-modules/pom.xml index 6488ad23c24..d2587a7d028 100755 --- a/nucleus/payara-modules/pom.xml +++ b/nucleus/payara-modules/pom.xml @@ -45,7 +45,7 @@ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.payara-modules diff --git a/nucleus/payara-modules/requesttracing-core/pom.xml b/nucleus/payara-modules/requesttracing-core/pom.xml index 124486fafed..e3a76da0124 100644 --- a/nucleus/payara-modules/requesttracing-core/pom.xml +++ b/nucleus/payara-modules/requesttracing-core/pom.xml @@ -44,7 +44,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT requesttracing-core glassfish-jar diff --git a/nucleus/payara-modules/service-exemplar/pom.xml b/nucleus/payara-modules/service-exemplar/pom.xml index 47547920521..01aa1eb513c 100644 --- a/nucleus/payara-modules/service-exemplar/pom.xml +++ b/nucleus/payara-modules/service-exemplar/pom.xml @@ -43,7 +43,7 @@ fish.payara.server.internal.payara-modules payara-nucleus-modules - 7.2026.5 + 7.2026.6-SNAPSHOT service-exemplar diff --git a/nucleus/pom.xml b/nucleus/pom.xml index 31329279cbe..e4e85a9d0a2 100644 --- a/nucleus/pom.xml +++ b/nucleus/pom.xml @@ -48,7 +48,7 @@ fish.payara.server payara-aggregator - 7.2026.5 + 7.2026.6-SNAPSHOT payara-nucleus-parent diff --git a/nucleus/resources-l10n/pom.xml b/nucleus/resources-l10n/pom.xml index e2e54f6e8a0..07d91289922 100644 --- a/nucleus/resources-l10n/pom.xml +++ b/nucleus/resources-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 fish.payara.server.internal diff --git a/nucleus/resources/pom.xml b/nucleus/resources/pom.xml index 0b1c2aefbb2..307e60f895a 100755 --- a/nucleus/resources/pom.xml +++ b/nucleus/resources/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.resourcebase.resources nucleus-resources diff --git a/nucleus/security/core-l10n/pom.xml b/nucleus/security/core-l10n/pom.xml index 51d63e3c325..3c89c104097 100644 --- a/nucleus/security/core-l10n/pom.xml +++ b/nucleus/security/core-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.security nucleus-security - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 security-l10n diff --git a/nucleus/security/core/pom.xml b/nucleus/security/core/pom.xml index 489864efdd3..bc0d9abbc69 100644 --- a/nucleus/security/core/pom.xml +++ b/nucleus/security/core/pom.xml @@ -48,7 +48,7 @@ fish.payara.server.internal.security nucleus-security - 7.2026.5 + 7.2026.6-SNAPSHOT security glassfish-jar diff --git a/nucleus/security/pom.xml b/nucleus/security/pom.xml index 43cd91598c9..3d6fda6fcce 100644 --- a/nucleus/security/pom.xml +++ b/nucleus/security/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.security nucleus-security diff --git a/nucleus/security/services-l10n/pom.xml b/nucleus/security/services-l10n/pom.xml index 9c2ea584cd8..51457ef2909 100644 --- a/nucleus/security/services-l10n/pom.xml +++ b/nucleus/security/services-l10n/pom.xml @@ -45,7 +45,7 @@ fish.payara.server.internal.security nucleus-security - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 security-services-l10n diff --git a/nucleus/security/services/pom.xml b/nucleus/security/services/pom.xml index 62b5c097feb..47967d174c6 100644 --- a/nucleus/security/services/pom.xml +++ b/nucleus/security/services/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security nucleus-security - 7.2026.5 + 7.2026.6-SNAPSHOT security-services glassfish-jar diff --git a/nucleus/security/ssl-impl/pom.xml b/nucleus/security/ssl-impl/pom.xml index 53ab2e1b5fe..faa63e8ed53 100644 --- a/nucleus/security/ssl-impl/pom.xml +++ b/nucleus/security/ssl-impl/pom.xml @@ -47,7 +47,7 @@ fish.payara.server.internal.security nucleus-security - 7.2026.5 + 7.2026.6-SNAPSHOT ssl-impl glassfish-jar diff --git a/nucleus/test-utils/pom.xml b/nucleus/test-utils/pom.xml index a773a30dd62..80d2b2dfec7 100755 --- a/nucleus/test-utils/pom.xml +++ b/nucleus/test-utils/pom.xml @@ -47,7 +47,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.test-utils diff --git a/nucleus/test-utils/utils-ng/pom.xml b/nucleus/test-utils/utils-ng/pom.xml index 8389526d2b9..01aa4bcf7f1 100644 --- a/nucleus/test-utils/utils-ng/pom.xml +++ b/nucleus/test-utils/utils-ng/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.test-utils test-utils - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 utils-ng diff --git a/nucleus/test-utils/utils/pom.xml b/nucleus/test-utils/utils/pom.xml index fa59df6232f..9c450679620 100644 --- a/nucleus/test-utils/utils/pom.xml +++ b/nucleus/test-utils/utils/pom.xml @@ -46,7 +46,7 @@ fish.payara.server.internal.test-utils test-utils - 7.2026.5 + 7.2026.6-SNAPSHOT 4.0.0 utils diff --git a/nucleus/tests/admin/pom.xml b/nucleus/tests/admin/pom.xml index 2971f91f16e..c4adf03da47 100644 --- a/nucleus/tests/admin/pom.xml +++ b/nucleus/tests/admin/pom.xml @@ -80,7 +80,7 @@ of COPY_LIB map constant.) fish.payara.server.internal.tests nucleus-tests - 7.2026.5 + 7.2026.6-SNAPSHOT org.glassfish.tests nucleus-admin diff --git a/nucleus/tests/pom.xml b/nucleus/tests/pom.xml index 96e0cccc7fd..824b6ae3902 100755 --- a/nucleus/tests/pom.xml +++ b/nucleus/tests/pom.xml @@ -46,7 +46,7 @@ fish.payara.server payara-nucleus-parent - 7.2026.5 + 7.2026.6-SNAPSHOT fish.payara.server.internal.tests diff --git a/nucleus/tests/quicklook/pom.xml b/nucleus/tests/quicklook/pom.xml index 9d1edd24cf0..4701e47ad62 100644 --- a/nucleus/tests/quicklook/pom.xml +++ b/nucleus/tests/quicklook/pom.xml @@ -71,7 +71,7 @@ utilities are in the NucleusTestUtils class. fish.payara.server.internal.tests nucleus-tests - 7.2026.5 + 7.2026.6-SNAPSHOT nucleus-quicklook diff --git a/pom.xml b/pom.xml index 1ede1829b4c..15576f1a65a 100644 --- a/pom.xml +++ b/pom.xml @@ -46,7 +46,7 @@ 4.0.0 fish.payara.server payara-aggregator - 7.2026.5 + 7.2026.6-SNAPSHOT pom Payara Project From 2f03b9a2213b2db56a4358a4035b2bc36706a25e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 16:37:20 +0000 Subject: [PATCH 121/133] Bump org.glassfish.jaxb:codemodel from 4.0.7 to 4.0.8 Bumps org.glassfish.jaxb:codemodel from 4.0.7 to 4.0.8. --- updated-dependencies: - dependency-name: org.glassfish.jaxb:codemodel dependency-version: 4.0.8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- nucleus/hk2/config-generator/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nucleus/hk2/config-generator/pom.xml b/nucleus/hk2/config-generator/pom.xml index 36cc8053e32..64c30813863 100644 --- a/nucleus/hk2/config-generator/pom.xml +++ b/nucleus/hk2/config-generator/pom.xml @@ -98,7 +98,7 @@ org.glassfish.jaxb codemodel - 4.0.7 + 4.0.8 jakarta.annotation From fb7c2d32c97ee59c98eba82c14117b6c8372add4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 16:38:45 +0000 Subject: [PATCH 122/133] Bump payara.security-connectors.version from 4.0.0.Alpha3 to 4.0.0 Bumps `payara.security-connectors.version` from 4.0.0.Alpha3 to 4.0.0. Updates `fish.payara.security.connectors:security-connectors-api` from 4.0.0.Alpha3 to 4.0.0 - [Release notes](https://github.com/payara/ecosystem-security-connectors/releases) - [Changelog](https://github.com/payara/ecosystem-security-connectors/blob/master/CHANGELOG.md) - [Commits](https://github.com/payara/ecosystem-security-connectors/commits) Updates `fish.payara.security.connectors:security-connector-oidc-client` from 4.0.0.Alpha3 to 4.0.0 Updates `fish.payara.security.connectors:security-connector-oauth2-client` from 4.0.0.Alpha3 to 4.0.0 Updates `fish.payara.security.connectors:openid-standalone` from 4.0.0.Alpha3 to 4.0.0 - [Release notes](https://github.com/payara/ecosystem-security-connectors/releases) - [Changelog](https://github.com/payara/ecosystem-security-connectors/blob/master/CHANGELOG.md) - [Commits](https://github.com/payara/ecosystem-security-connectors/commits) --- updated-dependencies: - dependency-name: fish.payara.security.connectors:security-connectors-api dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: fish.payara.security.connectors:security-connector-oidc-client dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: fish.payara.security.connectors:security-connector-oauth2-client dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: fish.payara.security.connectors:openid-standalone dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 15576f1a65a..503021aeaf3 100644 --- a/pom.xml +++ b/pom.xml @@ -269,7 +269,7 @@ 3.1.0 1.0.1 ${project.build.outputDirectory} - 4.0.0.Alpha3 + 4.0.0 4.0.0-M3.payara-p2 8.0.0 8.1.0 From f1ee1edf53d173f304fec41dba8c3c9afaa5c569 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 16:39:34 +0000 Subject: [PATCH 123/133] Bump pfl.version from 5.1.0 to 5.1.1 Bumps `pfl.version` from 5.1.0 to 5.1.1. Updates `org.glassfish.pfl:pfl-basic` from 5.1.0 to 5.1.1 - [Release notes](https://github.com/eclipse-ee4j/orb-gmbal-pfl/releases) - [Commits](https://github.com/eclipse-ee4j/orb-gmbal-pfl/compare/5.1.0...5.1.1) Updates `org.glassfish.pfl:pfl-dynamic` from 5.1.0 to 5.1.1 - [Release notes](https://github.com/eclipse-ee4j/orb-gmbal-pfl/releases) - [Commits](https://github.com/eclipse-ee4j/orb-gmbal-pfl/compare/5.1.0...5.1.1) Updates `org.glassfish.pfl:pfl-basic-tools` from 5.1.0 to 5.1.1 - [Release notes](https://github.com/eclipse-ee4j/orb-gmbal-pfl/releases) - [Commits](https://github.com/eclipse-ee4j/orb-gmbal-pfl/compare/5.1.0...5.1.1) Updates `org.glassfish.pfl:pfl-tf` from 5.1.0 to 5.1.1 - [Release notes](https://github.com/eclipse-ee4j/orb-gmbal-pfl/releases) - [Commits](https://github.com/eclipse-ee4j/orb-gmbal-pfl/compare/5.1.0...5.1.1) Updates `org.glassfish.pfl:pfl-tf-tools` from 5.1.0 to 5.1.1 - [Release notes](https://github.com/eclipse-ee4j/orb-gmbal-pfl/releases) - [Commits](https://github.com/eclipse-ee4j/orb-gmbal-pfl/compare/5.1.0...5.1.1) --- updated-dependencies: - dependency-name: org.glassfish.pfl:pfl-basic dependency-version: 5.1.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.glassfish.pfl:pfl-dynamic dependency-version: 5.1.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.glassfish.pfl:pfl-basic-tools dependency-version: 5.1.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.glassfish.pfl:pfl-tf dependency-version: 5.1.1 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.glassfish.pfl:pfl-tf-tools dependency-version: 5.1.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- nucleus/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nucleus/pom.xml b/nucleus/pom.xml index 674140292fb..8913b8e792a 100644 --- a/nucleus/pom.xml +++ b/nucleus/pom.xml @@ -98,7 +98,7 @@ build-217-jenkins-16 - 5.1.0 + 5.1.1 4.1.1 2.7.7 From a914892554060acb8b6dc634c9b4d846d3525620 Mon Sep 17 00:00:00 2001 From: adrian Date: Wed, 20 May 2026 07:19:54 +0300 Subject: [PATCH 124/133] FISH-13275: bump version to latest snapshot --- .../client-certificate/client-certificate-base/pom.xml | 2 +- .../client-certificate-validation-disabled/pom.xml | 2 +- .../client-certificate-validation-enabled/pom.xml | 2 +- appserver/tests/functional/client-certificate/pom.xml | 2 +- appserver/tests/payara-samples/microprofile-config/pom.xml | 2 +- .../payara-samples/microprofile-endpoints/insecure/pom.xml | 2 +- .../tests/payara-samples/microprofile-endpoints/secure/pom.xml | 2 +- appserver/tests/payara-samples/multiple-keystores/pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/appserver/tests/functional/client-certificate/client-certificate-base/pom.xml b/appserver/tests/functional/client-certificate/client-certificate-base/pom.xml index 9efd36d6f8a..b422e3a7b4d 100644 --- a/appserver/tests/functional/client-certificate/client-certificate-base/pom.xml +++ b/appserver/tests/functional/client-certificate/client-certificate-base/pom.xml @@ -5,7 +5,7 @@ fish.payara.samples client-certificate - 7.2026.5-SNAPSHOT + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml b/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml index 0745bc11b2e..1f677bd7f46 100644 --- a/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml +++ b/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples client-certificate - 7.2026.5-SNAPSHOT + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml b/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml index eb5a347cde7..2d17540f24f 100644 --- a/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml +++ b/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples client-certificate - 7.2026.5-SNAPSHOT + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/functional/client-certificate/pom.xml b/appserver/tests/functional/client-certificate/pom.xml index a0ca77f6a49..5f9096108ca 100644 --- a/appserver/tests/functional/client-certificate/pom.xml +++ b/appserver/tests/functional/client-certificate/pom.xml @@ -48,7 +48,7 @@ fish.payara.samples payara-samples - 7.2026.5-SNAPSHOT + 7.2026.6-SNAPSHOT client-certificate diff --git a/appserver/tests/payara-samples/microprofile-config/pom.xml b/appserver/tests/payara-samples/microprofile-config/pom.xml index bb79f54b275..8f138fb10c4 100644 --- a/appserver/tests/payara-samples/microprofile-config/pom.xml +++ b/appserver/tests/payara-samples/microprofile-config/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples payara-samples - 7.2026.5-SNAPSHOT + 7.2026.6-SNAPSHOT 4.0.0 diff --git a/appserver/tests/payara-samples/microprofile-endpoints/insecure/pom.xml b/appserver/tests/payara-samples/microprofile-endpoints/insecure/pom.xml index cc98ac37100..31be6676b1b 100644 --- a/appserver/tests/payara-samples/microprofile-endpoints/insecure/pom.xml +++ b/appserver/tests/payara-samples/microprofile-endpoints/insecure/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples microprofile-endpoints - 7.2026.5-SNAPSHOT + 7.2026.6-SNAPSHOT microprofile-insecure-endpoints diff --git a/appserver/tests/payara-samples/microprofile-endpoints/secure/pom.xml b/appserver/tests/payara-samples/microprofile-endpoints/secure/pom.xml index a9288c865f6..ca2cca35e50 100644 --- a/appserver/tests/payara-samples/microprofile-endpoints/secure/pom.xml +++ b/appserver/tests/payara-samples/microprofile-endpoints/secure/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples microprofile-endpoints - 7.2026.5-SNAPSHOT + 7.2026.6-SNAPSHOT microprofile-secure-endpoints diff --git a/appserver/tests/payara-samples/multiple-keystores/pom.xml b/appserver/tests/payara-samples/multiple-keystores/pom.xml index d1c10dd6605..e0bbcd6e2ed 100644 --- a/appserver/tests/payara-samples/multiple-keystores/pom.xml +++ b/appserver/tests/payara-samples/multiple-keystores/pom.xml @@ -45,7 +45,7 @@ fish.payara.samples payara-samples - 7.2026.5-SNAPSHOT + 7.2026.6-SNAPSHOT multiple-keystore From d8fe406e01f55c8e66dcf17bd160bc6680094a5c Mon Sep 17 00:00:00 2001 From: adrian Date: Wed, 20 May 2026 08:46:54 +0300 Subject: [PATCH 125/133] FISH-13275: fixed payara-micro samples relativePath --- appserver/tests/functional/payara-micro/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/functional/payara-micro/pom.xml b/appserver/tests/functional/payara-micro/pom.xml index 01fc371b760..d936ef6d566 100644 --- a/appserver/tests/functional/payara-micro/pom.xml +++ b/appserver/tests/functional/payara-micro/pom.xml @@ -47,7 +47,7 @@ fish.payara.samples payara-samples 7.2026.6-SNAPSHOT - ../payara-samples + ../../payara-samples payara-micro From 16d6f7c26f89468cb1f120f2bb62b065205e1285 Mon Sep 17 00:00:00 2001 From: adrian Date: Wed, 20 May 2026 08:48:04 +0300 Subject: [PATCH 126/133] FISH-13275: fixed payara-application-xml samples relativePath --- appserver/tests/functional/payara-application-xml/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/functional/payara-application-xml/pom.xml b/appserver/tests/functional/payara-application-xml/pom.xml index 00948753f1e..ec03ebf00d5 100644 --- a/appserver/tests/functional/payara-application-xml/pom.xml +++ b/appserver/tests/functional/payara-application-xml/pom.xml @@ -46,7 +46,7 @@ fish.payara.samples payara-samples-profiled-tests 7.2026.6-SNAPSHOT - ../../payara-samples/samples + ../../payara-samples fish.payara.functional-tests From d4aec806e60d8f3f8f185bb28d4ee92dff0a71c5 Mon Sep 17 00:00:00 2001 From: adrian Date: Wed, 20 May 2026 09:47:56 +0300 Subject: [PATCH 127/133] FISH-13275: fixed artifactId in payara-application-xml module --- appserver/tests/functional/payara-application-xml/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appserver/tests/functional/payara-application-xml/pom.xml b/appserver/tests/functional/payara-application-xml/pom.xml index ec03ebf00d5..3c81fe00011 100644 --- a/appserver/tests/functional/payara-application-xml/pom.xml +++ b/appserver/tests/functional/payara-application-xml/pom.xml @@ -44,7 +44,7 @@ fish.payara.samples - payara-samples-profiled-tests + payara-samples 7.2026.6-SNAPSHOT ../../payara-samples From 984b5b818c370e8578255177a39fcbc335a4a852 Mon Sep 17 00:00:00 2001 From: adrian Date: Wed, 20 May 2026 10:27:05 +0300 Subject: [PATCH 128/133] FISH-13275: added back restart-domain command. fixed CustomLoginModuleRealmTest --- .../loginmodule/realm/custom/CustomLoginModuleRealmTest.java | 4 ++-- appserver/tests/payara-samples/ejb-http-remoting/pom.xml | 1 - appserver/tests/payara-samples/pom.xml | 2 ++ 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/appserver/tests/payara-samples/custom-loginmodule-realm/loginmodule-realm-test/src/test/java/fish/payara/samples/loginmodule/realm/custom/CustomLoginModuleRealmTest.java b/appserver/tests/payara-samples/custom-loginmodule-realm/loginmodule-realm-test/src/test/java/fish/payara/samples/loginmodule/realm/custom/CustomLoginModuleRealmTest.java index 1f5d24a173b..41d0f2b92ef 100644 --- a/appserver/tests/payara-samples/custom-loginmodule-realm/loginmodule-realm-test/src/test/java/fish/payara/samples/loginmodule/realm/custom/CustomLoginModuleRealmTest.java +++ b/appserver/tests/payara-samples/custom-loginmodule-realm/loginmodule-realm-test/src/test/java/fish/payara/samples/loginmodule/realm/custom/CustomLoginModuleRealmTest.java @@ -93,8 +93,8 @@ public static WebArchive createDeployment() throws MalformedURLException { @Test @InSequence(1) public void serverSetup() throws IOException { - Path serverPathToRealm = Paths.get("../tests/loginmodule-realm-impl.jar"); - serverPathToRealm.getParent().toFile().mkdir(); + Path serverPathToRealm = Paths.get(System.getProperty("com.sun.aas.productRoot"), "tests", "loginmodule-realm-impl.jar"); + Files.createDirectories(serverPathToRealm.getParent()); try (InputStream strm = getClass().getClassLoader().getResourceAsStream("loginmodule-realm-impl.jar")) { Files.copy(strm, serverPathToRealm, StandardCopyOption.REPLACE_EXISTING); } diff --git a/appserver/tests/payara-samples/ejb-http-remoting/pom.xml b/appserver/tests/payara-samples/ejb-http-remoting/pom.xml index a1806db3665..ee7d846a6d3 100644 --- a/appserver/tests/payara-samples/ejb-http-remoting/pom.xml +++ b/appserver/tests/payara-samples/ejb-http-remoting/pom.xml @@ -54,7 +54,6 @@ UTF-8 - ${payara.home}${file.separator}glassfish${file.separator}bin${file.separator}asadmin${script.extension} diff --git a/appserver/tests/payara-samples/pom.xml b/appserver/tests/payara-samples/pom.xml index 041957c4b74..b7db29876dd 100644 --- a/appserver/tests/payara-samples/pom.xml +++ b/appserver/tests/payara-samples/pom.xml @@ -61,6 +61,7 @@ false ${skipTests} ${skipConfig} + stop-domain ${project.version} false @@ -350,6 +351,7 @@ SERVER + restart-domain + restart-payara-for-config pre-integration-test @@ -270,7 +270,7 @@ ${skipServerRestart} ${payara.asadmin} - ${serverRestartCommand} + stop-domain ${payara.domain.name} diff --git a/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml b/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml index 2d17540f24f..b9cbb2e2f79 100644 --- a/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml +++ b/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml @@ -197,7 +197,7 @@ ${skipServerRestart} ${payara.asadmin} - ${serverRestartCommand} + restart-domain ${payara.domain.name} @@ -263,7 +263,7 @@ - + restart-payara-for-config pre-integration-test @@ -274,7 +274,7 @@ ${skipServerRestart} ${payara.asadmin} - ${serverRestartCommand} + stop-domain ${payara.domain.name} diff --git a/appserver/tests/payara-samples/pom.xml b/appserver/tests/payara-samples/pom.xml index b7db29876dd..023f5889254 100644 --- a/appserver/tests/payara-samples/pom.xml +++ b/appserver/tests/payara-samples/pom.xml @@ -61,7 +61,6 @@ false ${skipTests} ${skipConfig} - stop-domain ${project.version} false From 881d61cc526584f8ca2294ef8aa0fc5b28f42fe6 Mon Sep 17 00:00:00 2001 From: adrian Date: Wed, 20 May 2026 15:15:59 +0300 Subject: [PATCH 132/133] FISH-13275: remove mvn exec and use ant run in client-cert tests --- .../pom.xml | 228 +++++++++-------- .../pom.xml | 238 ++++++++++-------- .../functional/client-certificate/pom.xml | 30 +-- 3 files changed, 280 insertions(+), 216 deletions(-) diff --git a/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml b/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml index c8f3b5384ed..23a99abb6f0 100644 --- a/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml +++ b/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml @@ -64,45 +64,35 @@ - org.codehaus.mojo - exec-maven-plugin + org.apache.maven.plugins + maven-antrun-plugin generate-expired-certificate pre-integration-test - exec + run ${skipConfig} - keytool - - -genkeypair - -alias - client-certificate-validation-disabled - -keyalg - RSA - -keysize - 2048 - -sigalg - SHA256withRSA - -dname - CN=ExpiredClient - -validity - 1 - -keystore - ${project.build.directory}${file.separator}expired-keystore.p12 - -storetype - PKCS12 - -storepass - changeit - -keypass - changeit - -startdate - 2019/08/01 - -noprompt - + + + + + + + + + + + + + + + + + @@ -111,27 +101,22 @@ add-expired-certificate-to-server pre-integration-test - exec + run ${skipConfig} - keytool - - -importkeystore - -srckeystore - ${project.build.directory}${file.separator}expired-keystore.p12 - -srcstoretype - PKCS12 - -destkeystore - ${payara.home}${file.separator}glassfish${file.separator}domains${file.separator}${payara.domain.name}${file.separator}config${file.separator}cacerts.p12 - -deststoretype - PKCS12 - -srcstorepass - changeit - -deststorepass - changeit - -noprompt - + + + + + + + + + + + + @@ -145,40 +130,73 @@ - org.codehaus.mojo - exec-maven-plugin + org.apache.maven.plugins + maven-antrun-plugin + + enable-client-auth + pre-integration-test + + run + + + ${skipConfig} + + + + + + + + + + assign-certificate-realm-group + pre-integration-test + + run + + + ${skipConfig} + + + + + + + + disable-expiration-validation pre-integration-test - exec + run ${skipConfig} - ${payara.asadmin} - - set - configs.config.server-config.security-service.auth-realm.certificate.property.certificate-validation=false - + + + + + + - - + - restart-payara-for-config + restart-payara-after-config pre-integration-test - exec + run ${skipServerRestart} - ${payara.asadmin} - - restart-domain - ${payara.domain.name} - + + + + + + @@ -192,87 +210,89 @@ - org.codehaus.mojo - exec-maven-plugin + org.apache.maven.plugins + maven-antrun-plugin start-payara-server-for-config pre-integration-test - exec + run ${skipServerStart} - ${payara.asadmin} - - start-domain - ${payara.domain.name} - + + + + + + - - disable-expiration-validation pre-integration-test - exec + run ${skipConfig} - ${payara.asadmin} - - set - configs.config.server-config.security-service.auth-realm.certificate.property.certificate-validation=false - + + + + + + - enable-client-auth pre-integration-test - exec + run ${skipConfig} - ${payara.asadmin} - - set - configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.client-auth=want - + + + + + + + assign-certificate-realm-group pre-integration-test - exec + run ${skipConfig} - ${payara.asadmin} - - set - configs.config.server-config.security-service.auth-realm.certificate.property.assign-groups=myRole - + + + + + + - - + - restart-payara-for-config + stop-payara-after-config pre-integration-test - exec + run - ${skipServerRestart} - ${payara.asadmin} - - stop-domain - ${payara.domain.name} - + ${skipConfig} + + + + + + diff --git a/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml b/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml index b9cbb2e2f79..a4fc4db3f41 100644 --- a/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml +++ b/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml @@ -64,34 +64,35 @@ - org.codehaus.mojo - exec-maven-plugin + org.apache.maven.plugins + maven-antrun-plugin generate-expired-certificate pre-integration-test - exec + run ${skipConfig} - keytool - - -genkeypair - -aliasclient-certificate-validation-enabled-expired - -keyalgRSA - -keysize2048 - -sigalgSHA256withRSA - -dnameCN=PrintCertificateCommandTest, OU=Test Test\, Test, O=Payara Foundation, L=Pilsen, C=CZ, EMAILADDRESS=nobody@nowhere.space, UID=LDAP-Test - -validity1 - -keystore${project.build.directory}${file.separator}expired-keystore.jks - -storepasschangeit - -keypasschangeit - -startdate2019/08/01 - -extSAN=email:nobody@nowhere.space - -noprompt - + + + + + + + + + + + + + + + + + @@ -100,64 +101,69 @@ add-expired-certificate-to-server pre-integration-test - exec + run ${skipConfig} - keytool - - -importkeystore - -srckeystore${project.build.directory}${file.separator}expired-keystore.jks - -destkeystore${payara.home}${file.separator}glassfish${file.separator}domains${file.separator}${payara.domain.name}${file.separator}config${file.separator}cacerts.p12 - -srcstorepasschangeit - -deststorepasschangeit - -noprompt - + + + + + + + + + + + generate-valid-certificate pre-integration-test - exec + run ${skipConfig} - keytool - - -genkeypair - -aliasclient-certificate-validation-enabled-valid - -validity365 - -keystore${project.build.directory}${file.separator}valid-keystore.jks - -storepasschangeit - -keypasschangeit - -keyalgRSA - -keysize2048 - -dnameCN=ValidClient, OU=Test, O=Payara, L=Pilsen, C=CZ - + + + + + + + + + + + + + + add-valid-certificate-to-server pre-integration-test - exec + run ${skipConfig} - keytool - - -importkeystore - -srckeystore${project.build.directory}${file.separator}valid-keystore.jks - -srcstorepasschangeit - -destkeystore${payara.home}${file.separator}glassfish${file.separator}domains${file.separator}${payara.domain.name}${file.separator}config${file.separator}cacerts.p12 - -deststorepasschangeit - -noprompt - + + + + + + + + + + - + @@ -167,23 +173,56 @@ - org.codehaus.mojo - exec-maven-plugin + org.apache.maven.plugins + maven-antrun-plugin + + enable-client-auth + pre-integration-test + + run + + + ${skipConfig} + + + + + + + + + + assign-certificate-realm-group + pre-integration-test + + run + + + ${skipConfig} + + + + + + + + enable-expiration-validation pre-integration-test - exec + run ${skipConfig} - ${payara.asadmin} - - set - configs.config.server-config.security-service.auth-realm.certificate.property.certificate-validation=true - + + + + + + @@ -191,15 +230,16 @@ restart-payara-after-config pre-integration-test - exec + run - ${skipServerRestart} - ${payara.asadmin} - - restart-domain - ${payara.domain.name} - + ${skipConfig} + + + + + + @@ -213,70 +253,72 @@ - org.codehaus.mojo - exec-maven-plugin + org.apache.maven.plugins + maven-antrun-plugin start-payara-server-for-config pre-integration-test - exec + run - ${skipServerStart} - ${payara.asadmin} - - start-domain - ${payara.domain.name} - + ${skipConfig} + + + + + + - enable-client-auth pre-integration-test - exec + run ${skipConfig} - ${payara.asadmin} - - set - configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.client-auth=want - + + + + + + assign-certificate-realm-group pre-integration-test - exec + run ${skipConfig} - ${payara.asadmin} - - set - configs.config.server-config.security-service.auth-realm.certificate.property.assign-groups=myRole - + + + + + + - - + restart-payara-for-config pre-integration-test - exec + run ${skipServerRestart} - ${payara.asadmin} - - stop-domain - ${payara.domain.name} - + + + + + + diff --git a/appserver/tests/functional/client-certificate/pom.xml b/appserver/tests/functional/client-certificate/pom.xml index 5f9096108ca..364fa2757c6 100644 --- a/appserver/tests/functional/client-certificate/pom.xml +++ b/appserver/tests/functional/client-certificate/pom.xml @@ -121,37 +121,39 @@ - org.codehaus.mojo - exec-maven-plugin + org.apache.maven.plugins + maven-antrun-plugin enable-client-auth pre-integration-test - exec + run ${skipConfig} - ${payara.asadmin} - - set - configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.client-auth=want - + + + + + + assign-certificate-realm-group pre-integration-test - exec + run ${skipConfig} - ${payara.asadmin} - - set - configs.config.server-config.security-service.auth-realm.certificate.property.assign-groups=myRole - + + + + + + From 41509127cb89e030836879a8367a4e34b28dd458 Mon Sep 17 00:00:00 2001 From: adrian Date: Wed, 20 May 2026 15:46:07 +0300 Subject: [PATCH 133/133] FISH-13275: removed duplicated profiles --- .../pom.xml | 65 ------------------- .../pom.xml | 64 ------------------ 2 files changed, 129 deletions(-) diff --git a/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml b/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml index 23a99abb6f0..bf982937174 100644 --- a/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml +++ b/appserver/tests/functional/client-certificate/client-certificate-validation-disabled/pom.xml @@ -133,38 +133,6 @@ org.apache.maven.plugins maven-antrun-plugin - - enable-client-auth - pre-integration-test - - run - - - ${skipConfig} - - - - - - - - - - assign-certificate-realm-group - pre-integration-test - - run - - - ${skipConfig} - - - - - - - - disable-expiration-validation @@ -245,39 +213,6 @@ - - enable-client-auth - pre-integration-test - - run - - - ${skipConfig} - - - - - - - - - - - assign-certificate-realm-group - pre-integration-test - - run - - - ${skipConfig} - - - - - - - - stop-payara-after-config diff --git a/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml b/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml index a4fc4db3f41..bf89503e939 100644 --- a/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml +++ b/appserver/tests/functional/client-certificate/client-certificate-validation-enabled/pom.xml @@ -176,38 +176,6 @@ org.apache.maven.plugins maven-antrun-plugin - - enable-client-auth - pre-integration-test - - run - - - ${skipConfig} - - - - - - - - - - assign-certificate-realm-group - pre-integration-test - - run - - - ${skipConfig} - - - - - - - - enable-expiration-validation @@ -272,38 +240,6 @@ - - enable-client-auth - pre-integration-test - - run - - - ${skipConfig} - - - - - - - - - - assign-certificate-realm-group - pre-integration-test - - run - - - ${skipConfig} - - - - - - - - restart-payara-for-config